Skip to content

FDC3 API Metadata#1728

Open
julianna-ciq wants to merge 39 commits intomainfrom
fdc3-api-metadata
Open

FDC3 API Metadata#1728
julianna-ciq wants to merge 39 commits intomainfrom
fdc3-api-metadata

Conversation

@julianna-ciq
Copy link
Copy Markdown
Contributor

@julianna-ciq julianna-ciq commented Jan 9, 2026

Describe your change

Add support for sending metadata to FDC3 API calls

Related Issue

resolves #1290

ToDo List to complete PR

  • Add metadata params to typescript sources in API @julianna-ciq
  • Add metadata params to DACP message schemas @julianna-ciq
  • Add handle of metadata params to agent-proxy implementation @julianna-ciq
  • Update types.ts for new handler arguments for metadata
  • Update ContextMetadata.ts to handle additional metadata
  • Add content to jsDocs about new metadata params in @julianna-ciq
    • DesktopAgent.ts
    • Channel.ts
    • Types.ts
    • Metadata.ts
  • Add Metadata reference to website/docs/api/ref/metadata
  • Fix EasyCLA status
  • Resolve conflicts @julianna-ciq
  • Migrate this PR to a FINOS repo branch for collaboration (merge into finos/fdc3-api-metadata and raise new PR @julianna-ciq
  • Copy content added to jsDocs (about metadata params) to website/docs/api/ref/* pages (DesktopAgent, Channel, Types, Metadata). @julianna-ciq
  • Review and improve metadata content already added in api/spec.md @kriswest
  • Add functional use case content on Metadata to website/docs/api/spec.md @kriswest
  • Add content to DACP overview on metadata in website/docs/api/specs/desktopAgentCommunicationProtocol.md @kriswest
  • Fix CI and website build failures @kriswest or @julianna-ciq
  • Intent Results need to be able to return metadata via a second function getResultMetadata . @kriswest
  • IntentHandlers need to optionally be able to return metadata. @kriswest
  • Update FDC3 reference implementation to support the metadata properties
  • Implement tests for metadata handling in fdc3-agent-proxy
  • Define conformance tests for metadata.
  • Implement new conformance tests
  • Add support to FDC3 workbench for rendering metadata
  • Add support to FDC3 workbench for passing metadata

Follow up work post acceptance of PR

  • Translate new metadata arguments to .NET specs (Raise new issue for @bingenito )
  • Translate new metadata arguments to golang specs (Raise new issue for @kemerava )

Contributor License Agreement

  • I acknowledge that a contributor license agreement is required and that I have one in place or will seek to put one in place ASAP.

Review Checklist

  • Issue: If a change was made to the FDC3 Standard, was an issue linked above?
  • CHANGELOG: Is a CHANGELOG.md entry included?
  • API changes: Does this PR include changes to any of the FDC3 APIs (DesktopAgent, Channel, PrivateChannel, Listener, Bridging)?
    • Docs & Sources: If yes, were both documentation (/docs) and sources updated?

      JSDoc comments on interfaces and types should be matched to the main documentation in /docs
    • Conformance tests: If yes, are conformance test definitions (/toolbox/fdc3-conformance) still correct and complete?

      Conformance test definitions should cover all required aspects of an FDC3 Desktop Agent implementation, which are usually marked with a MUST keyword, and optional features (SHOULD or MAY) where the format of those features is defined
    • Schemas: If yes, were changes applied to the Bridging and FDC3 for Web protocol schemas?

      The Web Connection protocol and Desktop Agent Communication Protocol schemas must be able to support all necessary aspects of the Desktop Agent API, while Bridging must support those aspects necessary for Desktop Agents to communicate with each other
      • If yes, was code generation (npm run build) run and the results checked in?

        Generated code will be found at /src/api/BrowserTypes.ts and/or /src/bridging/BridgingTypes.ts
  • Context types: Were new Context type schemas created or modified in this PR?
    • Were the field type conventions adhered to?
    • Was the BaseContext schema applied via allOf (as it is in existing types)?
    • Was a title and description provided for all properties defined in the schema?
    • Was at least one example provided?
    • Was code generation (npm run build) run and the results checked in?

      Generated code will be found at /src/context/ContextTypes.ts
  • Intents: Were new Intents created in this PR?

@julianna-ciq julianna-ciq requested a review from a team as a code owner January 9, 2026 14:50
@netlify
Copy link
Copy Markdown

netlify Bot commented Jan 9, 2026

Deploy Preview for fdc3 ready!

Name Link
🔨 Latest commit 6ee6aaa
🔍 Latest deploy log https://app.netlify.com/projects/fdc3/deploys/69f0a3e1fe7b440008e35731
😎 Deploy Preview https://deploy-preview-1728.preview-fdc3.finos.org
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@kriswest kriswest marked this pull request as draft January 9, 2026 14:50
@robmoffat

This comment was marked as outdated.

Comment thread Contributing_Guide.md Outdated
Comment thread packages/fdc3-standard/src/api/ContextMetadata.ts Outdated
Comment thread packages/fdc3-standard/src/api/DesktopAgent.ts Outdated
@kriswest kriswest added this to the 3.0 candidates milestone Mar 17, 2026
@kriswest kriswest removed this from the 3.0 candidates milestone Mar 26, 2026
@julianna-ciq
Copy link
Copy Markdown
Contributor Author

Updated some docs and jsdocs requests in this PR:
#1861

@linux-foundation-easycla
Copy link
Copy Markdown

linux-foundation-easycla Bot commented Apr 23, 2026

CLA Missing ID CLA Not Signed

@kriswest
Copy link
Copy Markdown
Contributor

@julianna-ciq some of the commits in this PR have your old Cosaic email address on them, see https://github.com/finos/FDC3/commit/08afab6b045d7e0f3e075a2c73515357ef0e00eb.patch

Thats causing easyCLA issues. Could you add that email back onto your github id? That will hopefully sort it out...

@kriswest kriswest force-pushed the fdc3-api-metadata branch from 375ab9e to 449db1b Compare April 23, 2026 16:01
@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Apr 23, 2026

Codecov Report

❌ Patch coverage is 97.37828% with 7 lines in your changes missing coverage. Please review.
✅ Project coverage is 95.67%. Comparing base (cc84068) to head (6ee6aaa).

Files with missing lines Patch % Lines
...-for-web/fdc3-web-impl/src/handlers/OpenHandler.ts 84.61% 4 Missing ⚠️
...agent-proxy/src/listeners/DefaultIntentListener.ts 88.00% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1728      +/-   ##
==========================================
+ Coverage   95.61%   95.67%   +0.05%     
==========================================
  Files          69       69              
  Lines        4680     4876     +196     
  Branches      772      734      -38     
==========================================
+ Hits         4475     4665     +190     
- Misses        205      211       +6     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@kriswest kriswest marked this pull request as ready for review April 24, 2026 20:50
Includes docs & specs, types, tests, ref implementation and conformance tests)
@kriswest kriswest force-pushed the fdc3-api-metadata branch from 5ecfb51 to cbe12d2 Compare April 27, 2026 22:57
@kriswest kriswest force-pushed the fdc3-api-metadata branch from cbe12d2 to 83c2d75 Compare April 27, 2026 23:16
@kriswest
Copy link
Copy Markdown
Contributor

@Yannick-Malins and @robmoffat this branch is ready for you to rebase the security branch against.Its complete apart from metadata support in FDC3 workbench (even has the reference implementation implementation, and conformance tests).

You'll need to be very careful when rebasing - if you've edited the same content then it may regress unless you carefully handle conflicts so be sure not to rush that. I'd suggest running all tests + the conformance tests on this branch before you start to satisfy yourselves that all is working and tehn repeat when you're done.

@kriswest
Copy link
Copy Markdown
Contributor

P.S. I'm hoping you guys can contribute to teh review of the metadata implementation as you attempt to apply the security changes over the top. Its not a small PR so you're input/confirmation/testing will be really important to getting that adopted (or refined where necesssary) @Yannick-Malins @robmoffat

@kriswest
Copy link
Copy Markdown
Contributor

@julianna-ciq You could also take a look at what I've changed over the last week + we need to sort your commits out that are failing EasyCLA

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add property to support analytics across apps

4 participants