@a5c-ai/agent-catalog 5.0.1-staging.8daf86d80 → 5.0.1-staging.917895b63
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.
- package/dist/atlas-bridge.d.ts.map +1 -1
- package/dist/atlas-bridge.js +4 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +15 -3
- package/dist/data.d.ts.map +1 -1
- package/dist/data.js +222 -15
- package/dist/discovery-snapshot.json +86727 -22562
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -5
- package/dist/models.d.ts +27 -0
- package/dist/models.d.ts.map +1 -1
- package/dist/sdk.d.ts +18 -2
- package/dist/sdk.d.ts.map +1 -1
- package/dist/sdk.js +237 -14
- package/package.json +6 -13
- package/dist/assets.d.ts +0 -4
- package/dist/assets.d.ts.map +0 -1
- package/dist/assets.js +0 -76
- package/dist/evidence-projection.d.ts +0 -4
- package/dist/evidence-projection.d.ts.map +0 -1
- package/dist/evidence-projection.js +0 -34
- package/dist/evidence.d.ts +0 -13
- package/dist/evidence.d.ts.map +0 -1
- package/dist/evidence.js +0 -227
- package/dist/graph.d.ts +0 -20
- package/dist/graph.d.ts.map +0 -1
- package/dist/graph.js +0 -194
- package/evidence/ontology-evidence/claims/catalog-processes-and-packaging.json +0 -89
- package/evidence/ontology-evidence/claims/plugins-hooks-discovery.json +0 -136
- package/evidence/ontology-evidence/claims/runtime-core.json +0 -18944
- package/evidence/ontology-evidence/claims/vendor-web.json +0 -977
- package/evidence/ontology-evidence/evidence-sources/catalog-processes-and-packaging.json +0 -103
- package/evidence/ontology-evidence/evidence-sources/plugins-hooks-discovery.json +0 -46
- package/evidence/ontology-evidence/evidence-sources/runtime-core.json +0 -736
- package/evidence/ontology-evidence/evidence-sources/vendor-web.json +0 -3206
- 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,
|
|
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"}
|
package/dist/atlas-bridge.js
CHANGED
|
@@ -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":"
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
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
|
-
|
|
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 = (
|
|
298
|
-
.filter((edge) => edge.
|
|
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,
|
package/dist/data.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"
|
|
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
|
-
|
|
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:
|
|
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
|
-
|
|
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
|
-
|
|
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) =>
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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:
|
|
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
|
-
|
|
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 =
|
|
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)(
|
|
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")
|