-
Notifications
You must be signed in to change notification settings - Fork 132
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Question: Documentation or Types for Desktop Agent implementation of App Directory #1382
Comments
Hi @Roaders, prior to FDC3 2.0 there was simply a
How a DA launches apps, using the details in the appD is largely left as an implementation detail. Regarding your assumptions:
If you are not seeing any of the comments quoted above in the appD spec, make sure you are clicking on the response elements, which pop open and provide the detail: Theres an issue open to create a better docs page using a docusaurus plugin: #1001 Although we should probably get into the docusaurus update first (to avoid having to repeat that): #1371 We could also add some content to the main overview on using the appD standard, which it currently lacks: https://fdc3.finos.org/docs/2.0/app-directory/overview I'd be happy to help improve this content if an issue is raised (or this converted into an issue to improve the docs). |
P.S. You are also correct that there are no generated or maintained TS types for appD records. The closest that we have is the As the security discussion group is looking to make greater use of the appD records for signing and encryption, it may be time to address this issue (in FDC3 2.3?) and add an explicit link to the appD record used for launch into either |
Thanks Kris It seems like a good idea to provide more guidance on how a desktop agent should handle the app directory record. Ideally we would not have different behavior between different vendor implementations with the same app directory records. I am fine waiting for this to happen until after #1371 has been handled. Would there be an objection to a PR adding types generated from the app directory schemas as we do for the browser types? |
To a certain extent there are differences in handling between agents baked into the concept of the I see no issue, and several benefits to, creating some client code for working with app directories! There are a couple of related issues worth mentioning:
(related as client code should come with tests against a reference implementation) @robmoffat also created an implementation for the FINOS appD, but has commented that it might not be an ideal ref implementation. Next, it might be worth thinking about the OpenAPI spec as a client for an appD can be generated directly from that, along with associated types I believe. E.g. with https://github.com/hey-api/openapi-ts We can ignore #1371 for generated types, it shouldn't affect doing that. I mentioned it earlier in regards to having a better docs page for the existing schema - but it doesn't stop us improving the docs in the schema itself, nor generating things from it! Hence, we can start by adding some comments based on the above clarifications to the OpenAPI spec then agree what we are going to do with that... I'm happy to add this to the next SWG agenda and come up with a plan? If its something you want to start in on go for it - otherwise I'm happy to help. |
Thanks for the as always detailed reply @kriswest . Yes, the For the types, yes I was planning on using some type generation magic to generate them automatically from the schemas. Can we use the same mechanism as we do for |
@Roaders there is a historical relationship between OpenAPI and JSON schema - they are partially compatible in OpenAPI 3.0 (which appD is still specified in), but I think fully compatible in 3.1. More details here: https://apisyouwonthate.com/blog/openapi-v3-1-and-json-schema/ If we separate the schemas for the records out, the OpenAPI schema can import them. At that point we can use the same quicktype tooling to generate types for the record schemas. Generators for OpenAPI are different in that they generate REST server skeletons and REST clients (in many languages) which (I presume) also come with types for the API messages (the records returned and other responses). Hence, we have a couple of possible routes. Lists of OpenAPI generators:
I guess the quesiton is, are full generated clients more useful or types for the AppD records for rolling your own client and handling code? |
Question Area
Question
We are close to implementing the app directory support for our Desktop Agent. I have been reading the docs but there does not seem to be any clear indication about how a Desktop Agent should handle app directory records - I am thinking specifically about how to open an app.
The only docs that I have found is the swagger. This is of some use but I was hoping for at least some Typescript
d.ts
files.Is it specified anywhere how a DA should open an app? I have made some assumptions:
url
supplied in thedetails
section is not used for opening the app but is just used for app identityAre these assumptions correct?
Thanks
The text was updated successfully, but these errors were encountered: