Skip to content
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

Missing desktopAgent from ImplementationMetadata #1057

Closed
tpina opened this issue Sep 5, 2023 · 2 comments · Fixed by #1177
Closed

Missing desktopAgent from ImplementationMetadata #1057

tpina opened this issue Sep 5, 2023 · 2 comments · Fixed by #1177
Labels
api FDC3 API Working Group bug Something isn't working Desktop Agent Bridging Desktop Agent Bridging Discussion Group
Milestone

Comments

@tpina
Copy link
Contributor

tpina commented Sep 5, 2023

Minor Issue

Bridging API should've extended the ImplementationMetadata element to include an optional desktopAgent field to be used by a Desktop Agent Bridge

Area of Issue

[ ] App Directory
[x] API
[ ] Context Data
[ ] Intents
[ ] Use Cases
[ ] Other

Issue Description:

The API Bridging Spec on the Connected Agents Update section in the message format snippet for the allAgents field mentions that:

        /** Desktop Agent Bridge implementation metadata of all connected agents. 
         *  Note that this object is extended to include a `desktopAgent` field 
         *  with the name assigned by the DAB. */
        allAgents: ImplementationMetadata[]

The baseImplementationMetadata.schema.json file does not contain the above mentioned extended field.

Additional Context:

Without the addition of this field, to comply with the bridging spec, a custom type must be used.

@tpina tpina added the bug Something isn't working label Sep 5, 2023
@kriswest kriswest added the Desktop Agent Bridging Desktop Agent Bridging Discussion Group label Sep 5, 2023
@kriswest kriswest added this to the 2.2 candidates milestone Sep 5, 2023
@kriswest
Copy link
Contributor

kriswest commented Sep 5, 2023

The desktopAgent field is a member of the AppIdentifier, but not yet ImplementationMetadata. As a workaround, in the FDC3 2.1 version a Desktop Agent can provide its assigned name to an app via the appIdentifier field, e.g. (await fdc3.getInfo()).appMetadata.desktopAgent. But I agree this is odd and it should be included in the ImplementationMetadata - ensuring that the format of that object doesn't change whether it is used through the FDC3 API or bridging API.

@kriswest
Copy link
Contributor

Actually I think there are two issues here:

  1. AppMetadata is required in ImplementationMetadata, where its not needed/relevant in the bridging connection step 6 (which relates to a DA only and not a specific app). This is the actual difference between ImplementationMetadata and BaseImplementationMetadata
  2. It would be useful for it to include the name of the Desktop Agent assigned by the bridge, which is currently missing.

We shouldn't make AppMetadata optional in ImplementationMetadata where it is used in the FDC3 API and called by apps. Hence, we should probably create two different types derived from the base, one that includes AppMetadata for the API usage, the other a desktopAgentName field.

These types are currently fairly separate (manual TypeScript definition vs. JSON Schema definition) but with work on the Browser communication protocol they may be more closely linked in future. I'll have a poke at the schema definitions and make sure the regular version is preserved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api FDC3 API Working Group bug Something isn't working Desktop Agent Bridging Desktop Agent Bridging Discussion Group
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants