@a5c-ai/agent-catalog 5.0.1-staging.8daf86d80 → 5.0.1-staging.8edab9f02

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/atlas-bridge.d.ts.map +1 -1
  2. package/dist/atlas-bridge.js +4 -0
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +15 -3
  5. package/dist/data.d.ts.map +1 -1
  6. package/dist/data.js +222 -15
  7. package/dist/discovery-snapshot.json +86727 -22562
  8. package/dist/index.d.ts +0 -3
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +0 -5
  11. package/dist/models.d.ts +27 -0
  12. package/dist/models.d.ts.map +1 -1
  13. package/dist/sdk.d.ts +18 -2
  14. package/dist/sdk.d.ts.map +1 -1
  15. package/dist/sdk.js +237 -14
  16. package/package.json +6 -13
  17. package/dist/assets.d.ts +0 -4
  18. package/dist/assets.d.ts.map +0 -1
  19. package/dist/assets.js +0 -76
  20. package/dist/evidence-projection.d.ts +0 -4
  21. package/dist/evidence-projection.d.ts.map +0 -1
  22. package/dist/evidence-projection.js +0 -34
  23. package/dist/evidence.d.ts +0 -13
  24. package/dist/evidence.d.ts.map +0 -1
  25. package/dist/evidence.js +0 -227
  26. package/dist/graph.d.ts +0 -20
  27. package/dist/graph.d.ts.map +0 -1
  28. package/dist/graph.js +0 -194
  29. package/evidence/ontology-evidence/claims/catalog-processes-and-packaging.json +0 -89
  30. package/evidence/ontology-evidence/claims/plugins-hooks-discovery.json +0 -136
  31. package/evidence/ontology-evidence/claims/runtime-core.json +0 -18944
  32. package/evidence/ontology-evidence/claims/vendor-web.json +0 -977
  33. package/evidence/ontology-evidence/evidence-sources/catalog-processes-and-packaging.json +0 -103
  34. package/evidence/ontology-evidence/evidence-sources/plugins-hooks-discovery.json +0 -46
  35. package/evidence/ontology-evidence/evidence-sources/runtime-core.json +0 -736
  36. package/evidence/ontology-evidence/evidence-sources/vendor-web.json +0 -3206
  37. package/evidence/ontology-evidence/manifest.json +0 -38
@@ -1 +1 @@
1
- {"version":3,"file":"atlas-bridge.d.ts","sourceRoot":"","sources":["../src/atlas-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,cAAc,EACf,MAAM,UAAU,CAAC;AAuElB,wBAAgB,cAAc,IAAI,SAAS,EAAE,CAE5C;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,EAAE,CAEpE;AAED,wBAAgB,WAAW,CAAC,KAAK,SAAS,SAAS,GAAG,SAAS,EAC7D,MAAM,EAAE,MAAM,GACb,KAAK,GAAG,SAAS,CAGnB;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,MAAM,GACf,iBAAiB,EAAE,CAErB;AAED,wBAAgB,cAAc,IAAI,iBAAiB,EAAE,CAEpD;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,SAAS,EAAE,CAOb;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,SAAS,EAAE,CAOb;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAI5E;AAMD,wBAAgB,gBAAgB,IAAI,aAAa,CAYhD;AAED,wBAAgB,iBAAiB,IAAI,cAAc,CAelD;AAED,wBAAgB,eAAe,IAAI,YAAY,CAO9C;AAMD,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE;IAAE,KAAK,EAAE,SAAS,EAAE,CAAA;CAAE,EAC/B,MAAM,EAAE,MAAM,GACb,SAAS,EAAE,CAIb;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE;IAAE,KAAK,EAAE,SAAS,EAAE,CAAA;CAAE,EAC/B,QAAQ,EAAE,MAAM,GACf,SAAS,EAAE,CAEb;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C;AAMD,wBAAgB,qBAAqB,IAAI,IAAI,CAI5C"}
1
+ {"version":3,"file":"atlas-bridge.d.ts","sourceRoot":"","sources":["../src/atlas-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,cAAc,EACf,MAAM,UAAU,CAAC;AAuElB,wBAAgB,cAAc,IAAI,SAAS,EAAE,CAE5C;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,EAAE,CAEpE;AAED,wBAAgB,WAAW,CAAC,KAAK,SAAS,SAAS,GAAG,SAAS,EAC7D,MAAM,EAAE,MAAM,GACb,KAAK,GAAG,SAAS,CAGnB;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,MAAM,GACf,iBAAiB,EAAE,CAErB;AAED,wBAAgB,cAAc,IAAI,iBAAiB,EAAE,CAEpD;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,SAAS,EAAE,CAOb;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,SAAS,EAAE,CAOb;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAI5E;AAMD,wBAAgB,gBAAgB,IAAI,aAAa,CAYhD;AAED,wBAAgB,iBAAiB,IAAI,cAAc,CAmBlD;AAED,wBAAgB,eAAe,IAAI,YAAY,CAO9C;AAMD,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE;IAAE,KAAK,EAAE,SAAS,EAAE,CAAA;CAAE,EAC/B,MAAM,EAAE,MAAM,GACb,SAAS,EAAE,CAIb;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE;IAAE,KAAK,EAAE,SAAS,EAAE,CAAA;CAAE,EAC/B,QAAQ,EAAE,MAAM,GACf,SAAS,EAAE,CAEb;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C;AAMD,wBAAgB,qBAAqB,IAAI,IAAI,CAI5C"}
@@ -144,8 +144,12 @@ function getOntologySchema() {
144
144
  return {
145
145
  kind: "OntologySchema",
146
146
  id: "schema:agent-catalog-ontology",
147
+ schemaId: "schema:agent-catalog-ontology",
148
+ version: "2026.04.agent-catalog-v2",
147
149
  nodeKinds,
148
150
  edgeKinds,
151
+ versionScopingRules: [],
152
+ deprecationRules: [],
149
153
  };
150
154
  }
151
155
  function getCatalogGraph() {
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAqB,MAAM,UAAU,CAAC;AAE7D,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IACzD,SAAS,EAAE,UAAU,GAAG,UAAU,CAAC;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACpC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,eAAe,CAAC;IACtB,QAAQ,EAAE,kBAAkB,EAAE,CAAC;IAC/B,QAAQ,EAAE,kBAAkB,EAAE,CAAC;IAC/B,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC9B,eAAe,EAAE,oBAAoB,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,0BAA0B;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AA2KD,wBAAgB,WAAW,IAAI,aAAa,EAAE,CAQ7C;AAED,wBAAgB,oBAAoB,IAAI,iBAAiB,CAQxD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,eAAe,EAAE,CAI7E;AAED,wBAAgB,iBAAiB,CAAC,MAAM,GAAE,kBAAuB,GAAG,eAAe,EAAE,CAOpF;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,qBAAqB,GAAG,kBAAkB,EAAE,CAaxF;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAaxE;AAED,wBAAgB,qBAAqB,CAAC,MAAM,GAAE,sBAA2B,GAAG,mBAAmB,EAAE,CAWhG;AAED,wBAAgB,sBAAsB,CAAC,MAAM,GAAE,uBAA4B,GAAG,oBAAoB,EAAE,CAanG;AAED,wBAAgB,wBAAwB,CAAC,MAAM,GAAE,0BAA+B,GAAG,uBAAuB,EAAE,CA6B3G;AAED,wBAAgB,qBAAqB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAyB7E;AAED,wBAAgB,uBAAuB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,qBAAqB,EAAE,CA2BnF;AAED,wBAAgB,uBAAuB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,qBAAqB,EAAE,CAmBnF"}
package/dist/cli.js CHANGED
@@ -12,6 +12,7 @@ exports.listCliCapabilitySupport = listCliCapabilitySupport;
12
12
  exports.listCliAgentRelations = listCliAgentRelations;
13
13
  exports.listCliPackageRelations = listCliPackageRelations;
14
14
  exports.listCliProcessRelations = listCliProcessRelations;
15
+ const atlas_1 = require("@a5c-ai/atlas");
15
16
  const data_1 = require("./data");
16
17
  const atlas_bridge_1 = require("./atlas-bridge");
17
18
  const transport_mux_cutover_1 = require("./transport-mux-cutover");
@@ -87,7 +88,18 @@ function toCliGraphEdgeRow(edge) {
87
88
  };
88
89
  }
89
90
  function claimNodesFor(nodeId) {
90
- return (0, atlas_bridge_1.listOutgoingTargets)(nodeId, "supported_by_claim").filter((node) => node.kind === "Claim");
91
+ const edgeBased = (0, atlas_bridge_1.listOutgoingTargets)(nodeId, "supported_by_claim").filter((node) => node.kind === "Claim");
92
+ if (edgeBased.length > 0)
93
+ return edgeBased;
94
+ // Fallback: find Claim nodes whose evidenceIds overlap with the node's evidenceRefs
95
+ const node = (0, atlas_bridge_1.getNodeById)(nodeId);
96
+ if (!node)
97
+ return [];
98
+ const evidenceIds = stringArray(node.evidenceRefs);
99
+ if (evidenceIds.length === 0)
100
+ return [];
101
+ return (0, atlas_bridge_1.listGraphNodes)()
102
+ .filter((candidate) => candidate.kind === "Claim" && stringArray(candidate.evidenceIds).some((id) => evidenceIds.includes(id)));
91
103
  }
92
104
  function sourceNodesForClaim(claimNodeId) {
93
105
  const claimNode = (0, atlas_bridge_1.getNodeById)(claimNodeId);
@@ -294,8 +306,8 @@ function listCliPackageRelations(packageId) {
294
306
  const processes = (0, atlas_bridge_1.listOutgoingTargets)(node.id, "surfaces_process");
295
307
  const paths = (0, atlas_bridge_1.listOutgoingTargets)(node.id, "references_path");
296
308
  const ciSurfaces = (0, atlas_bridge_1.listOutgoingTargets)(node.id, "validated_by_ci");
297
- const graphIds = (0, atlas_bridge_1.listGraphEdges)()
298
- .filter((edge) => edge.from === node.id && edge.relation === "wraps_graph")
309
+ const graphIds = atlas_1.atlas.getOutgoing(node.id)
310
+ .filter((edge) => edge.kind === "wraps_graph")
299
311
  .map((edge) => edge.to);
300
312
  return {
301
313
  nodeId: node.id,
@@ -1 +1 @@
1
- {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EAIpB,WAAW,EACX,cAAc,EAEd,aAAa,EAEb,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EAGlB,sBAAsB,EACtB,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,cAAc,EACf,MAAM,UAAU,CAAC;AA8lBlB,UAAU,qBAAqB;IAC7B,KAAK,EAAE,YAAY,CAAC;IACpB,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,SAAS,EAAE,oBAAoB,EAAE,CAAC;IAClC,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACxC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACxD,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;IAChD,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IAC1D,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnC,aAAa,EAAE,sBAAsB,EAAE,CAAC;IACxC,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;IAC5C,YAAY,EAAE,YAAY,CAAC;CAC5B;AA2FD,wBAAgB,0BAA0B,IAAI,IAAI,CAGjD;AAED,wBAAgB,mBAAmB,IAAI,qBAAqB,CAK3D;AAoDD,eAAO,MAAM,cAAc,eAA8D,CAAC;AAC1F,eAAO,MAAM,eAAe,gBAA+D,CAAC;AAC5F,eAAO,MAAM,QAAQ,kBAAwD,CAAC;AAC9E,eAAO,MAAM,MAAM,eAAsD,CAAC;AAC1E,eAAO,MAAM,SAAS,wBAAyD,CAAC;AAChF,eAAO,MAAM,MAAM,gBAAsD,CAAC;AAC1E,eAAO,MAAM,UAAU,uBAA0D,CAAC;AAClF,eAAO,MAAM,YAAY,wBAA4D,CAAC;AACtF,eAAO,MAAM,UAAU,sBAA0D,CAAC;AAClF,eAAO,MAAM,KAAK,kBAAqD,CAAC;AACxE,eAAO,MAAM,eAAe,iBAA8D,CAAC;AAC3F,eAAO,MAAM,iBAAiB,mBAAgE,CAAC;AAC/F,eAAO,MAAM,SAAS,qBAAyD,CAAC;AAChF,eAAO,MAAM,oBAAoB,qBAAkE,CAAC;AACpG,eAAO,MAAM,MAAM,gBAAsD,CAAC;AAC1E,eAAO,MAAM,eAAe,0BAA8D,CAAC;AAC3F,eAAO,MAAM,oBAAoB,qCAAmE,CAAC;AACrG,eAAO,MAAM,yBAAyB,yBAAsE,CAAC;AAC7G,eAAO,MAAM,iBAAiB,yCAAiE,CAAC;AAChG,eAAO,MAAM,cAAc,qBAA6D,CAAC;AACzF,eAAO,MAAM,cAAc,0BAA6D,CAAC;AACzF,eAAO,MAAM,qBAAqB,uBAAoE,CAAC;AACvG,eAAO,MAAM,aAAa,cAA6D,CAAC"}
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"AAiDA,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EAIpB,WAAW,EACX,cAAc,EAEd,aAAa,EAGb,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EAGlB,sBAAsB,EACtB,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,cAAc,EACf,MAAM,UAAU,CAAC;AA0xBlB,UAAU,qBAAqB;IAC7B,KAAK,EAAE,YAAY,CAAC;IACpB,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,SAAS,EAAE,oBAAoB,EAAE,CAAC;IAClC,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACxC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACxD,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;IAChD,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IAC1D,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnC,aAAa,EAAE,sBAAsB,EAAE,CAAC;IACxC,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;IAC5C,YAAY,EAAE,YAAY,CAAC;CAC5B;AA2FD,wBAAgB,0BAA0B,IAAI,IAAI,CAGjD;AAED,wBAAgB,mBAAmB,IAAI,qBAAqB,CAK3D;AAoDD,eAAO,MAAM,cAAc,eAA8D,CAAC;AAC1F,eAAO,MAAM,eAAe,gBAA+D,CAAC;AAC5F,eAAO,MAAM,QAAQ,kBAAwD,CAAC;AAC9E,eAAO,MAAM,MAAM,eAAsD,CAAC;AAC1E,eAAO,MAAM,SAAS,wBAAyD,CAAC;AAChF,eAAO,MAAM,MAAM,gBAAsD,CAAC;AAC1E,eAAO,MAAM,UAAU,uBAA0D,CAAC;AAClF,eAAO,MAAM,YAAY,wBAA4D,CAAC;AACtF,eAAO,MAAM,UAAU,sBAA0D,CAAC;AAClF,eAAO,MAAM,KAAK,kBAAqD,CAAC;AACxE,eAAO,MAAM,eAAe,iBAA8D,CAAC;AAC3F,eAAO,MAAM,iBAAiB,mBAAgE,CAAC;AAC/F,eAAO,MAAM,SAAS,qBAAyD,CAAC;AAChF,eAAO,MAAM,oBAAoB,qBAAkE,CAAC;AACpG,eAAO,MAAM,MAAM,gBAAsD,CAAC;AAC1E,eAAO,MAAM,eAAe,0BAA8D,CAAC;AAC3F,eAAO,MAAM,oBAAoB,qCAAmE,CAAC;AACrG,eAAO,MAAM,yBAAyB,yBAAsE,CAAC;AAC7G,eAAO,MAAM,iBAAiB,yCAAiE,CAAC;AAChG,eAAO,MAAM,cAAc,qBAA6D,CAAC;AACzF,eAAO,MAAM,cAAc,0BAA6D,CAAC;AACzF,eAAO,MAAM,qBAAqB,uBAAoE,CAAC;AACvG,eAAO,MAAM,aAAa,cAA6D,CAAC"}
package/dist/data.js CHANGED
@@ -4,7 +4,33 @@ exports.AGENT_CATALOG = exports.CAPABILITY_ASSERTIONS = exports.PLUGIN_TARGETS =
4
4
  exports.clearAgentCatalogDataCache = clearAgentCatalogDataCache;
5
5
  exports.getCatalogDataState = getCatalogDataState;
6
6
  const atlas_bridge_1 = require("./atlas-bridge");
7
- const evidence_projection_1 = require("./evidence-projection");
7
+ // Evidence projection — inlined from deleted evidence-projection.ts
8
+ function evidenceIdFromNodeId(nodeId) {
9
+ return nodeId.startsWith("evidence:") ? nodeId.slice("evidence:".length) : nodeId;
10
+ }
11
+ function buildClaimsByEvidence(claimNodes, evidenceNodes, relationships) {
12
+ const claimsByGraphId = new Map(Array.from(claimNodes, (node) => [String(node.id), node]));
13
+ const evidenceByGraphId = new Map(Array.from(evidenceNodes, (node) => [String(node.id), node]));
14
+ const claimsByEvidence = new Map();
15
+ for (const rel of relationships) {
16
+ if (rel.relation !== "sourced_from")
17
+ continue;
18
+ const claimNode = claimsByGraphId.get(rel.from);
19
+ const evidenceNode = evidenceByGraphId.get(rel.to);
20
+ if (!claimNode || !evidenceNode)
21
+ continue;
22
+ const evidenceId = valueAsString(evidenceNode.evidenceId) || evidenceIdFromNodeId(String(evidenceNode.id));
23
+ const bucket = claimsByEvidence.get(evidenceId);
24
+ if (bucket)
25
+ bucket.push(claimNode);
26
+ else
27
+ claimsByEvidence.set(evidenceId, [claimNode]);
28
+ }
29
+ return claimsByEvidence;
30
+ }
31
+ function getEvidenceClaimStatement(evidenceId, claimsByEvidence) {
32
+ return valueAsString(claimsByEvidence.get(evidenceId)?.[0]?.statement);
33
+ }
8
34
  const transport_mux_cutover_1 = require("./transport-mux-cutover");
9
35
  const FALLBACK_SESSION_DIR = ".a5c/runs";
10
36
  function valueAsString(value) {
@@ -88,7 +114,7 @@ function toModelVersion(node) {
88
114
  }
89
115
  function toTransportDescriptor(node) {
90
116
  return {
91
- transportId: valueAsString(node.runtimeId),
117
+ transportId: transportRuntimeId(node),
92
118
  label: valueAsString(node.label),
93
119
  status: (0, transport_mux_cutover_1.effectiveTransportMuxClaimStatus)(valueAsString(node.status), nodeEvidenceIds(node)),
94
120
  interactive: Boolean(node.persistentSession) || Boolean(node.stdinInjection),
@@ -100,7 +126,7 @@ function toTransportDescriptor(node) {
100
126
  }
101
127
  function toCapabilityDescriptor(node) {
102
128
  return {
103
- capabilityId: valueAsString(node.capabilityId),
129
+ capabilityId: valueAsString(node.capabilityId) || String(node.id).replace(/^capability:/, ""),
104
130
  namespace: valueAsString(node.namespace),
105
131
  label: valueAsString(node.label),
106
132
  description: valueAsString(node.description),
@@ -173,19 +199,49 @@ function toProcessDescriptor(node) {
173
199
  };
174
200
  }
175
201
  function agentCapabilityIds(agentNodeId) {
176
- return (0, atlas_bridge_1.listOutgoingTargets)(agentNodeId, "supports_capability")
202
+ // First try graph edges
203
+ const edgeBased = (0, atlas_bridge_1.listOutgoingTargets)(agentNodeId, "supports_capability")
177
204
  .map((supportNode) => valueAsString(supportNode.capabilityId) || valueAsString((0, atlas_bridge_1.listOutgoingTargets)(supportNode.id, "for_capability")[0]?.capabilityId))
178
205
  .filter(Boolean);
206
+ if (edgeBased.length > 0)
207
+ return edgeBased;
208
+ // Fallback: find CapabilitySupport nodes whose subjectId matches
209
+ return Array.from(new Set((0, atlas_bridge_1.listNodesByKind)("CapabilitySupport")
210
+ .filter((node) => valueAsString(node.subjectId) === agentNodeId)
211
+ .map((node) => valueAsString(node.capabilityId))
212
+ .filter(Boolean)));
179
213
  }
180
214
  function agentHookIds(agentNodeId) {
181
- return (0, atlas_bridge_1.listOutgoingTargets)(agentNodeId, "emits_hook")
215
+ const edgeBased = (0, atlas_bridge_1.listOutgoingTargets)(agentNodeId, "emits_hook")
182
216
  .map((mapping) => valueAsString(mapping.hookId))
183
217
  .filter(Boolean);
218
+ if (edgeBased.length > 0)
219
+ return edgeBased;
220
+ // Fallback: derive from agent's plugin targets and their hook mappings
221
+ const targetIds = agentPluginTargetIds(agentNodeId);
222
+ const hookFamilies = new Set();
223
+ for (const node of (0, atlas_bridge_1.listNodesByKind)("PluginTarget")) {
224
+ const targetId = pluginTargetId(node.id);
225
+ if (targetIds.includes(targetId)) {
226
+ const adapterName = valueAsString(node.adapterName);
227
+ if (adapterName)
228
+ hookFamilies.add(adapterName);
229
+ if (targetId !== adapterName)
230
+ hookFamilies.add(targetId);
231
+ }
232
+ }
233
+ return Array.from(new Set((0, atlas_bridge_1.listNodesByKind)("HookMapping")
234
+ .filter((mapping) => hookFamilies.has(valueAsString(mapping.adapterFamily)))
235
+ .map((mapping) => valueAsString(mapping.hookId))
236
+ .filter(Boolean)));
237
+ }
238
+ function transportRuntimeId(node) {
239
+ return valueAsString(node.runtimeId) || valueAsString(node.runtimeKind) || String(node.id).replace(/^transport-runtime:/, "");
184
240
  }
185
241
  function agentTransportIds(agentNodeId) {
186
242
  return (0, atlas_bridge_1.listOutgoingTargets)(agentNodeId, "uses_transport")
187
243
  .filter((node) => node.kind === "TransportRuntime")
188
- .map((node) => valueAsString(node.runtimeId))
244
+ .map((node) => transportRuntimeId(node))
189
245
  .filter(Boolean);
190
246
  }
191
247
  function agentModalityIds(agentNodeId) {
@@ -209,13 +265,65 @@ function agentPluginTargetIds(agentNodeId) {
209
265
  .map((node) => valueAsString(node.targetId))
210
266
  .filter(Boolean);
211
267
  }
268
+ function matchesAgentId(nodeAgentId, targetAgentId, targetAliases) {
269
+ if (nodeAgentId === targetAgentId)
270
+ return true;
271
+ // Handle "agent:codex" matching "codex"
272
+ const nodeSlug = nodeAgentId.startsWith("agent:") ? nodeAgentId.slice("agent:".length) : nodeAgentId;
273
+ const targetSlug = targetAgentId.startsWith("agent:") ? targetAgentId.slice("agent:".length) : targetAgentId;
274
+ if (nodeSlug === targetSlug)
275
+ return true;
276
+ // Handle host renames via aliases (e.g. agentId "gemini" with alias "gemini-cli")
277
+ if (targetAliases) {
278
+ for (const alias of targetAliases) {
279
+ if (nodeSlug === alias)
280
+ return true;
281
+ }
282
+ }
283
+ return false;
284
+ }
212
285
  function agentSessionNuanceIds(agentNodeId) {
213
- return (0, atlas_bridge_1.listOutgoingTargets)(agentNodeId, "uses_session_semantics")
286
+ const edgeBased = (0, atlas_bridge_1.listOutgoingTargets)(agentNodeId, "uses_session_semantics")
287
+ .map((node) => valueAsString(node.sessionSemanticsId))
288
+ .filter(Boolean);
289
+ if (edgeBased.length > 0)
290
+ return edgeBased;
291
+ // Fallback: find SessionSemantics nodes whose agentId matches (including aliases)
292
+ const agentNode = (0, atlas_bridge_1.getNodeById)(agentNodeId);
293
+ const agentId = valueAsString(agentNode?.agentId);
294
+ if (!agentId)
295
+ return [];
296
+ const aliases = stringArray(agentNode?.aliases);
297
+ return (0, atlas_bridge_1.listNodesByKind)("SessionSemantics")
298
+ .filter((node) => matchesAgentId(valueAsString(node.agentId), agentId, aliases))
214
299
  .map((node) => valueAsString(node.sessionSemanticsId))
215
300
  .filter(Boolean);
216
301
  }
217
302
  function agentLifecycleNuanceIds(agentNodeId) {
218
- return (0, atlas_bridge_1.listOutgoingTargets)(agentNodeId, "uses_lifecycle_semantics")
303
+ const edgeBased = (0, atlas_bridge_1.listOutgoingTargets)(agentNodeId, "uses_lifecycle_semantics")
304
+ .map((node) => valueAsString(node.lifecycleSemanticsId))
305
+ .filter(Boolean);
306
+ if (edgeBased.length > 0)
307
+ return edgeBased;
308
+ // Fallback: find LifecycleSemantics nodes whose agentId and versionRange match (including aliases)
309
+ const agentNode = (0, atlas_bridge_1.getNodeById)(agentNodeId);
310
+ const agentId = valueAsString(agentNode?.agentId);
311
+ const agentVersionRange = valueAsString(agentNode?.versionRange);
312
+ if (!agentId)
313
+ return [];
314
+ const aliases = stringArray(agentNode?.aliases);
315
+ return (0, atlas_bridge_1.listNodesByKind)("LifecycleSemantics")
316
+ .filter((node) => {
317
+ if (!matchesAgentId(valueAsString(node.agentId), agentId, aliases))
318
+ return false;
319
+ // If agent has a specific version range, match lifecycle nodes with same or broader range
320
+ if (agentVersionRange) {
321
+ const lcRange = valueAsString(node.versionRange);
322
+ if (lcRange && lcRange !== agentVersionRange)
323
+ return false;
324
+ }
325
+ return true;
326
+ })
219
327
  .map((node) => valueAsString(node.lifecycleSemanticsId))
220
328
  .filter(Boolean);
221
329
  }
@@ -244,17 +352,24 @@ function toAgentVersion(node) {
244
352
  evidenceIds: nodeEvidenceIds(node),
245
353
  };
246
354
  }
355
+ function evidenceIdFromNode(node) {
356
+ const explicit = valueAsString(node.evidenceId);
357
+ if (explicit)
358
+ return explicit;
359
+ return evidenceIdFromNodeId(String(node.id));
360
+ }
247
361
  function toEvidenceRecord(node, evidenceClaims) {
362
+ const evidenceId = evidenceIdFromNode(node);
248
363
  const freshnessWindowDays = typeof node.freshnessWindowDays === "number" && Number.isFinite(node.freshnessWindowDays)
249
364
  ? node.freshnessWindowDays
250
365
  : undefined;
251
366
  return {
252
- evidenceId: valueAsString(node.evidenceId),
367
+ evidenceId,
253
368
  kind: valueAsString(node.kindLabel) === "web" ? "web" : "repo",
254
- sourcePathOrUrl: valueAsString(node.sourcePathOrUrl),
369
+ sourcePathOrUrl: valueAsString(node.sourcePathOrUrl) || valueAsString(node.filePath),
255
370
  excerptLocator: valueAsString(node.locator),
256
- claim: (0, evidence_projection_1.getEvidenceClaimStatement)(valueAsString(node.evidenceId), evidenceClaims),
257
- capturedAt: valueAsString(node.capturedAt),
371
+ claim: getEvidenceClaimStatement(evidenceId, evidenceClaims),
372
+ capturedAt: valueAsString(node.capturedAt) || valueAsString(node.observedAt),
258
373
  trustLevel: valueAsString(node.trustLevel),
259
374
  reviewOwner: valueAsString(node.reviewOwner),
260
375
  reviewedAt: valueAsString(node.reviewedAt),
@@ -276,13 +391,83 @@ function toClaimRecord(node) {
276
391
  unresolvedGaps: (0, transport_mux_cutover_1.effectiveTransportMuxUnresolvedGaps)(stringArray(node.unresolvedGaps), evidenceIds),
277
392
  };
278
393
  }
394
+ function synthesizeClaimsFromEvidenceRefs(node) {
395
+ const evidenceIds = nodeEvidenceIds(node);
396
+ if (evidenceIds.length === 0)
397
+ return [];
398
+ const repoIds = evidenceIds.filter((id) => id.startsWith("repo-"));
399
+ const webIds = evidenceIds.filter((id) => id.startsWith("web-"));
400
+ const claims = [];
401
+ if (repoIds.length > 0) {
402
+ // Look for an existing Claim node matching a repo evidence ID
403
+ const matchedRepoClaim = (0, atlas_bridge_1.listNodesByKind)("Claim").find((claimNode) => {
404
+ const claimEvidenceIds = stringArray(claimNode.evidenceIds);
405
+ return claimEvidenceIds.some((id) => repoIds.includes(id)) && valueAsString(claimNode.provenanceKind) === "repo-observation";
406
+ });
407
+ claims.push(matchedRepoClaim ? toClaimRecord(matchedRepoClaim) : {
408
+ claimId: repoIds[0],
409
+ statement: `Repo evidence supports capability: ${valueAsString(node.capabilityId)} for ${valueAsString(node.subjectId)}`,
410
+ subjectKind: valueAsString(node.subjectKind),
411
+ subjectId: valueAsString(node.subjectId),
412
+ confidence: "high",
413
+ status: "current",
414
+ provenanceKind: "repo-observation",
415
+ evidenceStrength: repoIds.length >= 2 ? "corroborated" : "partial",
416
+ evidenceIds: repoIds,
417
+ unresolvedGaps: [],
418
+ });
419
+ }
420
+ if (webIds.length > 0) {
421
+ // Look for existing Claim nodes matching web evidence IDs
422
+ // Prefer claims whose claimId contains the support node's capability ID
423
+ const capabilityId = valueAsString(node.capabilityId);
424
+ const allWebClaims = (0, atlas_bridge_1.listNodesByKind)("Claim").filter((claimNode) => {
425
+ const claimEvidenceIds = stringArray(claimNode.evidenceIds);
426
+ return claimEvidenceIds.some((id) => webIds.includes(id)) && valueAsString(claimNode.provenanceKind) !== "repo-observation";
427
+ });
428
+ // Sort: prefer claims whose claimId contains the capabilityId (more specific)
429
+ const sortedWebClaims = [...allWebClaims].sort((a, b) => {
430
+ const aSpecific = valueAsString(a.claimId).includes(capabilityId) ? 1 : 0;
431
+ const bSpecific = valueAsString(b.claimId).includes(capabilityId) ? 1 : 0;
432
+ return bSpecific - aSpecific;
433
+ });
434
+ const matchedWebClaim = sortedWebClaims[0];
435
+ if (matchedWebClaim) {
436
+ const claim = toClaimRecord(matchedWebClaim);
437
+ // Ensure partial/inferred vendor claims always have unresolved gaps
438
+ if (claim.evidenceStrength !== "corroborated" && claim.unresolvedGaps.length === 0) {
439
+ claim.unresolvedGaps = [`Vendor evidence for ${capabilityId} has not been fully corroborated.`];
440
+ }
441
+ claims.push(claim);
442
+ }
443
+ else {
444
+ claims.push({
445
+ claimId: webIds[0],
446
+ statement: `Vendor documentation supports capability: ${valueAsString(node.capabilityId)} for ${valueAsString(node.subjectId)}`,
447
+ subjectKind: valueAsString(node.subjectKind),
448
+ subjectId: valueAsString(node.subjectId),
449
+ confidence: webIds.length >= 2 ? "high" : "medium",
450
+ status: "current",
451
+ provenanceKind: "vendor-documentation",
452
+ evidenceStrength: webIds.length >= 2 ? "corroborated" : "partial",
453
+ evidenceIds: webIds,
454
+ unresolvedGaps: webIds.length >= 2 ? [] : [`Only ${webIds.length} web evidence source(s) found for this capability.`],
455
+ });
456
+ }
457
+ }
458
+ return claims;
459
+ }
279
460
  function buildCapabilityAssertions() {
280
461
  return (0, atlas_bridge_1.listNodesByKind)("CapabilitySupport")
281
462
  .filter((node) => (0, transport_mux_cutover_1.shouldSurfaceCapabilitySupport)(valueAsString(node.subjectKind), valueAsString(node.subjectId), nodeEvidenceIds(node)))
282
463
  .map((node) => {
283
- const supportingClaims = (0, atlas_bridge_1.listOutgoingTargets)(node.id, "supported_by_claim")
464
+ let supportingClaims = (0, atlas_bridge_1.listOutgoingTargets)(node.id, "supported_by_claim")
284
465
  .filter((claim) => claim.kind === "Claim")
285
466
  .map(toClaimRecord);
467
+ // Fall back to synthesized claims when no explicit claim edges exist
468
+ if (supportingClaims.length === 0) {
469
+ supportingClaims = synthesizeClaimsFromEvidenceRefs(node);
470
+ }
286
471
  const vendorClaims = supportingClaims.filter((claim) => claim.provenanceKind !== "repo-observation");
287
472
  const primaryClaims = vendorClaims.length > 0 ? vendorClaims : supportingClaims;
288
473
  const evidenceStrength = primaryClaims.reduce((strongest, claim) => evidenceStrengthRank(claim.evidenceStrength) > evidenceStrengthRank(strongest)
@@ -540,6 +725,28 @@ function buildPluginTargetDescriptors(_hooks) {
540
725
  externalPackageName: node.externalPackageName === null ? null : valueAsString(node.externalPackageName) || undefined,
541
726
  generatedSourceDir: valueAsString(node.generatedSourceDir) || undefined,
542
727
  requiredSurfaceFile: node.requiredSurfaceFile === null ? null : valueAsString(node.requiredSurfaceFile) || undefined,
728
+ promptCapabilities: stringArray(node.promptCapabilities),
729
+ loopControlTerm: valueAsString(node.loopControlTerm) || undefined,
730
+ hookDriven: node.hookDriven === true || node.hookDriven === "true" ? true : node.hookDriven === false || node.hookDriven === "false" ? false : undefined,
731
+ interactiveToolName: typeof node.interactiveToolName === "string" ? node.interactiveToolName : undefined,
732
+ sessionEnvVarsDescription: valueAsString(node.sessionEnvVarsDescription) || undefined,
733
+ hasIntentFidelityChecks: node.hasIntentFidelityChecks === true || node.hasIntentFidelityChecks === "true" ? true : false,
734
+ hasNonNegotiables: node.hasNonNegotiables === true || node.hasNonNegotiables === "true" ? true : false,
735
+ cliSetupMode: valueAsString(node.cliSetupMode) || undefined,
736
+ defaultStepCount: typeof node.defaultStepCount === "number" ? node.defaultStepCount : undefined,
737
+ skillSystemLabel: valueAsString(node.skillSystemLabel) || undefined,
738
+ defaultTransportId: valueAsString(node.defaultTransportId) || undefined,
739
+ hooksMuxFamily: valueAsString(node.hooksMuxFamily) || undefined,
740
+ sessionIdQuality: valueAsString(node.sessionIdQuality) || undefined,
741
+ supportsOrderedFanout: node.supportsOrderedFanout === true || node.supportsOrderedFanout === "true" ? true : node.supportsOrderedFanout === false || node.supportsOrderedFanout === "false" ? false : undefined,
742
+ supportsNativeAdditionalContext: node.supportsNativeAdditionalContext === true || node.supportsNativeAdditionalContext === "true" ? true : node.supportsNativeAdditionalContext === false || node.supportsNativeAdditionalContext === "false" ? false : undefined,
743
+ supportsBlock: node.supportsBlock === true || node.supportsBlock === "true" ? true : node.supportsBlock === false || node.supportsBlock === "false" ? false : undefined,
744
+ supportsAsk: node.supportsAsk === true || node.supportsAsk === "true" ? true : node.supportsAsk === false || node.supportsAsk === "false" ? false : undefined,
745
+ supportsToolInputMutation: node.supportsToolInputMutation === true || node.supportsToolInputMutation === "true" ? true : node.supportsToolInputMutation === false || node.supportsToolInputMutation === "false" ? false : undefined,
746
+ supportsToolResultMutation: node.supportsToolResultMutation === true || node.supportsToolResultMutation === "true" ? true : node.supportsToolResultMutation === false || node.supportsToolResultMutation === "false" ? false : undefined,
747
+ supportsPersistedEnv: node.supportsPersistedEnv === true || node.supportsPersistedEnv === "true" ? true : node.supportsPersistedEnv === false || node.supportsPersistedEnv === "false" ? false : undefined,
748
+ envPersistenceMode: valueAsString(node.envPersistenceMode) || undefined,
749
+ toolInterceptionScope: valueAsString(node.toolInterceptionScope) || undefined,
543
750
  supportedHooks: supportedHooksForTarget(targetId),
544
751
  evidenceIds: [],
545
752
  };
@@ -552,13 +759,13 @@ function buildDataState() {
552
759
  const ontologySchema = (0, atlas_bridge_1.getOntologySchema)();
553
760
  const evidenceNodes = (0, atlas_bridge_1.listNodesByKind)("EvidenceSource");
554
761
  const claimNodes = (0, atlas_bridge_1.listNodesByKind)("Claim");
555
- const evidenceClaims = (0, evidence_projection_1.buildClaimsByEvidence)(claimNodes, evidenceNodes, (0, atlas_bridge_1.listRelationshipsByRelation)("sourced_from"));
762
+ const evidenceClaims = buildClaimsByEvidence(claimNodes, evidenceNodes, (0, atlas_bridge_1.listRelationshipsByRelation)("sourced_from"));
556
763
  const evidence = evidenceNodes.map((node) => toEvidenceRecord(node, evidenceClaims));
557
764
  const claims = claimNodes.map(toClaimRecord);
558
765
  const providers = (0, atlas_bridge_1.listNodesByKind)("ModelProviderVersion").map(toModelProviderVersion);
559
766
  const models = (0, atlas_bridge_1.listNodesByKind)("ModelVersion").map(toModelVersion);
560
767
  const transports = (0, atlas_bridge_1.listNodesByKind)("TransportRuntime")
561
- .filter((node) => (0, transport_mux_cutover_1.shouldSurfaceTransportRuntime)(valueAsString(node.runtimeId)))
768
+ .filter((node) => (0, transport_mux_cutover_1.shouldSurfaceTransportRuntime)(transportRuntimeId(node)))
562
769
  .map(toTransportDescriptor);
563
770
  const capabilities = (0, atlas_bridge_1.listNodesByKind)("Capability").map(toCapabilityDescriptor);
564
771
  const modalities = (0, atlas_bridge_1.listNodesByKind)("Modality")