# 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