# 2021-05-12 Interop TS Implementation 2:30PM EDT ## Agenda * Github workflow * self assignment to Issues and PRs * Working time commitments * stable weekly schedules if available * Test suite * potential for reusing snippets from the primer * Dependencies * N3Store or `@rdfjs/dataset` * [uuid](https://github.com/uuidjs/uuid) or [randomUUID](https://github.com/uuidjs/randomUUID) (we could also use dependency injection, [eg. node v15.6.0 has randomUUID build in](https://nodejs.org/dist/latest-v15.x/docs/api/crypto.html#crypto_crypto_randomuuid_options), node v16 will become LTS in the end of October) * turtle parser or jsonld parser (jsonld we could use internally to avoid low level RDFJS) * higher level RDF/JS eg [clownface](https://zazuko.github.io/clownface/#/), [RDFfine](https://github.com/tpluscode/rdfine/tree/master/packages/core#readme) * dependency injection container eg. [TSyringe](https://github.com/Microsoft/tsyringe) * Discussing existing code * `getRdfResource` could come from [partial application](https://en.wikipedia.org/wiki/Partial_application) and have fetch already bound. * reason for `applicationProfile` - it should be available in app WebID Document * `createRegistration` - is it intended for AuthZ Agent ? currently it seems to be used by the application * should application be able to unregister itself or user should initiate it from AuthZ Agent * difference between [RDFJS.Store](https://rdf.js.org/stream-spec/#store-interface) and [RDFJS.DatasetCore](https://rdf.js.org/dataset-spec/#datasetcore-interface) * Next to implement * integrate solid-oidc lib or use mock for now * Can we defer for couple of weeks * publishing packages to npm * ts compiler TS target version and module type * can we assume that dependents of this lib will either use nodejs >= current LTS or have their own build system for a web browser? * application registration(s) discovery, we start with application knowing IRI(s) of it's registration(s) * we don't need to start with Registry Sets and Registries, we can go directly into Application Registration -> Access Receipt -> Data Grant (normal, referenced, remote, referenced remote) -> Data Registration (normal, remote) -> Data Instance