@a5c-ai/agent-catalog 5.0.1-staging.c9bb2c61

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 (135) hide show
  1. package/README.md +117 -0
  2. package/dist/assets.d.ts +4 -0
  3. package/dist/assets.d.ts.map +1 -0
  4. package/dist/assets.js +76 -0
  5. package/dist/cli.d.ts +168 -0
  6. package/dist/cli.d.ts.map +1 -0
  7. package/dist/cli.js +336 -0
  8. package/dist/data.d.ts +54 -0
  9. package/dist/data.d.ts.map +1 -0
  10. package/dist/data.js +636 -0
  11. package/dist/discovery-snapshot.json +319345 -0
  12. package/dist/discovery.d.ts +143 -0
  13. package/dist/discovery.d.ts.map +1 -0
  14. package/dist/discovery.js +728 -0
  15. package/dist/evidence-projection.d.ts +4 -0
  16. package/dist/evidence-projection.d.ts.map +1 -0
  17. package/dist/evidence-projection.js +34 -0
  18. package/dist/evidence.d.ts +13 -0
  19. package/dist/evidence.d.ts.map +1 -0
  20. package/dist/evidence.js +227 -0
  21. package/dist/graph.d.ts +20 -0
  22. package/dist/graph.d.ts.map +1 -0
  23. package/dist/graph.js +194 -0
  24. package/dist/index.d.ts +11 -0
  25. package/dist/index.d.ts.map +1 -0
  26. package/dist/index.js +28 -0
  27. package/dist/models.d.ts +559 -0
  28. package/dist/models.d.ts.map +1 -0
  29. package/dist/models.js +2 -0
  30. package/dist/sdk.d.ts +48 -0
  31. package/dist/sdk.d.ts.map +1 -0
  32. package/dist/sdk.js +902 -0
  33. package/dist/transport-mux-cutover.d.ts +9 -0
  34. package/dist/transport-mux-cutover.d.ts.map +1 -0
  35. package/dist/transport-mux-cutover.js +158 -0
  36. package/dist/ui.d.ts +2 -0
  37. package/dist/ui.d.ts.map +1 -0
  38. package/dist/ui.js +8 -0
  39. package/docs/ontology-evidence.md +82 -0
  40. package/evidence/ontology-evidence/claims/catalog-processes-and-packaging.json +89 -0
  41. package/evidence/ontology-evidence/claims/plugins-hooks-discovery.json +136 -0
  42. package/evidence/ontology-evidence/claims/runtime-core.json +113 -0
  43. package/evidence/ontology-evidence/claims/vendor-web.json +977 -0
  44. package/evidence/ontology-evidence/evidence-sources/catalog-processes-and-packaging.json +48 -0
  45. package/evidence/ontology-evidence/evidence-sources/plugins-hooks-discovery.json +88 -0
  46. package/evidence/ontology-evidence/evidence-sources/runtime-core.json +78 -0
  47. package/evidence/ontology-evidence/evidence-sources/vendor-web.json +918 -0
  48. package/evidence/ontology-evidence/manifest.json +56 -0
  49. package/graph/agent-catalog.graph.yaml +43 -0
  50. package/graph/edges/relations/agent-runtime/babysitter-agent.yaml +31 -0
  51. package/graph/edges/relations/agent-runtime/discovery-and-paths.yaml +433 -0
  52. package/graph/edges/relations/agent-runtime/session-and-lifecycle.yaml +137 -0
  53. package/graph/edges/relations/agent-runtime/transports-and-modalities.yaml +387 -0
  54. package/graph/edges/relations/capabilities/babysitter-agent-links.yaml +46 -0
  55. package/graph/edges/relations/capabilities/capability-vocabulary-links-agents.yaml +478 -0
  56. package/graph/edges/relations/capabilities/capability-vocabulary-links-providers.yaml +40 -0
  57. package/graph/edges/relations/capabilities/capability-vocabulary-links-transports.yaml +70 -0
  58. package/graph/edges/relations/capabilities/support-record-links-agents.yaml +478 -0
  59. package/graph/edges/relations/capabilities/support-record-links-providers.yaml +40 -0
  60. package/graph/edges/relations/capabilities/support-record-links-transports.yaml +70 -0
  61. package/graph/edges/relations/evolution.yaml +16 -0
  62. package/graph/edges/relations/hooks-and-plugins.yaml +462 -0
  63. package/graph/edges/relations/identity-babysitter-agent.yaml +11 -0
  64. package/graph/edges/relations/identity.yaml +218 -0
  65. package/graph/edges/relations/processes-and-packages.yaml +71 -0
  66. package/graph/edges/relations/provenance/babysitter-agent-and-claude-web.yaml +102 -0
  67. package/graph/edges/relations/provenance/catalog-core-agents.yaml +370 -0
  68. package/graph/edges/relations/provenance/catalog-core-models.yaml +88 -0
  69. package/graph/edges/relations/provenance/catalog-core-providers.yaml +220 -0
  70. package/graph/edges/relations/provenance/evidence-sources.yaml +136 -0
  71. package/graph/edges/relations/provenance/hooks-plugins-and-discovery-discovery.yaml +124 -0
  72. package/graph/edges/relations/provenance/hooks-plugins-and-discovery-hooks.yaml +244 -0
  73. package/graph/edges/relations/provenance/hooks-plugins-and-discovery-plugins.yaml +166 -0
  74. package/graph/edges/relations/provenance/processes-packages-and-paths.yaml +490 -0
  75. package/graph/edges/relations/provenance/runtime-and-capabilities-capability.yaml +202 -0
  76. package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-claude.yaml +210 -0
  77. package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-codex.yaml +302 -0
  78. package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-copilot.yaml +170 -0
  79. package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-cursor.yaml +146 -0
  80. package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-gemini.yaml +143 -0
  81. package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-omp.yaml +76 -0
  82. package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-openclaw.yaml +112 -0
  83. package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-opencode.yaml +139 -0
  84. package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-pi.yaml +40 -0
  85. package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-providers.yaml +112 -0
  86. package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-transports.yaml +190 -0
  87. package/graph/edges/relations/provenance/runtime-and-capabilities-modality.yaml +88 -0
  88. package/graph/edges/relations/provenance/runtime-and-capabilities-transport.yaml +172 -0
  89. package/graph/nodes/agents/babysitter-agent.yaml +43 -0
  90. package/graph/nodes/agents/products.yaml +163 -0
  91. package/graph/nodes/agents/versions.yaml +282 -0
  92. package/graph/nodes/capabilities/capabilities.yaml +234 -0
  93. package/graph/nodes/capabilities/modalities.yaml +74 -0
  94. package/graph/nodes/capabilities/supports/agents/babysitter-agent.yaml +46 -0
  95. package/graph/nodes/capabilities/supports/agents/claude.yaml +166 -0
  96. package/graph/nodes/capabilities/supports/agents/codex.yaml +190 -0
  97. package/graph/nodes/capabilities/supports/agents/copilot.yaml +121 -0
  98. package/graph/nodes/capabilities/supports/agents/cursor.yaml +104 -0
  99. package/graph/nodes/capabilities/supports/agents/gemini.yaml +104 -0
  100. package/graph/nodes/capabilities/supports/agents/omp.yaml +74 -0
  101. package/graph/nodes/capabilities/supports/agents/openclaw.yaml +67 -0
  102. package/graph/nodes/capabilities/supports/agents/opencode.yaml +103 -0
  103. package/graph/nodes/capabilities/supports/agents/pi.yaml +65 -0
  104. package/graph/nodes/capabilities/supports/provider-versions.yaml +73 -0
  105. package/graph/nodes/capabilities/supports/transport-runtimes.yaml +122 -0
  106. package/graph/nodes/evidence/babysitter-agent-and-claude-web.yaml +83 -0
  107. package/graph/nodes/evidence/claims.yaml +315 -0
  108. package/graph/nodes/evidence/claude-code-capability-claims.yaml +170 -0
  109. package/graph/nodes/evidence/claude-code-docs-core.yaml +103 -0
  110. package/graph/nodes/evidence/claude-code-docs-extensions.yaml +114 -0
  111. package/graph/nodes/evidence/codex-web.yaml +155 -0
  112. package/graph/nodes/evidence/copilot-web.yaml +213 -0
  113. package/graph/nodes/evidence/cursor-web.yaml +191 -0
  114. package/graph/nodes/evidence/evidence-sources.yaml +206 -0
  115. package/graph/nodes/evidence/gemini-cli-web.yaml +177 -0
  116. package/graph/nodes/evidence/omp-web.yaml +129 -0
  117. package/graph/nodes/evidence/opencode-web.yaml +144 -0
  118. package/graph/nodes/hooks-and-plugins/hook-mappings.yaml +399 -0
  119. package/graph/nodes/hooks-and-plugins/hook-surfaces.yaml +160 -0
  120. package/graph/nodes/hooks-and-plugins/plugin-artifacts.yaml +229 -0
  121. package/graph/nodes/hooks-and-plugins/plugin-targets.yaml +330 -0
  122. package/graph/nodes/models.yaml +103 -0
  123. package/graph/nodes/processes-and-packages/ci-surfaces.yaml +45 -0
  124. package/graph/nodes/processes-and-packages/packages.yaml +89 -0
  125. package/graph/nodes/processes-and-packages/processes.yaml +44 -0
  126. package/graph/nodes/providers/products.yaml +102 -0
  127. package/graph/nodes/providers/versions.yaml +108 -0
  128. package/graph/nodes/runtime-semantics/discovery-signals-hooks.yaml +185 -0
  129. package/graph/nodes/runtime-semantics/discovery-signals-host.yaml +254 -0
  130. package/graph/nodes/runtime-semantics/lifecycle-semantics.yaml +151 -0
  131. package/graph/nodes/runtime-semantics/paths.yaml +289 -0
  132. package/graph/nodes/runtime-semantics/session-semantics.yaml +214 -0
  133. package/graph/nodes/transports.yaml +202 -0
  134. package/graph/schema/ontology-schema.yaml +529 -0
  135. package/package.json +65 -0
package/dist/cli.js ADDED
@@ -0,0 +1,336 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.listCliRows = listCliRows;
4
+ exports.getCliCatalogSummary = getCliCatalogSummary;
5
+ exports.listCliGraphNodes = listCliGraphNodes;
6
+ exports.listCliGraphEdges = listCliGraphEdges;
7
+ exports.listCliNodeRelations = listCliNodeRelations;
8
+ exports.getCliNodeQuery = getCliNodeQuery;
9
+ exports.listCliEvidenceClaims = listCliEvidenceClaims;
10
+ exports.listCliEvidenceSources = listCliEvidenceSources;
11
+ exports.listCliCapabilitySupport = listCliCapabilitySupport;
12
+ exports.listCliAgentRelations = listCliAgentRelations;
13
+ exports.listCliPackageRelations = listCliPackageRelations;
14
+ exports.listCliProcessRelations = listCliProcessRelations;
15
+ const data_1 = require("./data");
16
+ const graph_1 = require("./graph");
17
+ const transport_mux_cutover_1 = require("./transport-mux-cutover");
18
+ function valueAsString(value) {
19
+ return typeof value === "string" ? value : "";
20
+ }
21
+ function stringArray(value) {
22
+ return Array.isArray(value) ? value.filter((entry) => typeof entry === "string") : [];
23
+ }
24
+ function uniqueStrings(values) {
25
+ return Array.from(new Set(values.filter(Boolean)));
26
+ }
27
+ function displayLabel(node) {
28
+ if (!node) {
29
+ return "";
30
+ }
31
+ const candidates = [
32
+ node.displayName,
33
+ node.label,
34
+ node.canonicalName,
35
+ node.packageName,
36
+ node.statement,
37
+ node.path,
38
+ node.sourcePathOrUrl,
39
+ node.agentId,
40
+ node.providerId,
41
+ node.modelId,
42
+ node.runtimeId,
43
+ node.modalityId,
44
+ node.hookId,
45
+ node.capabilityId,
46
+ node.processId,
47
+ node.packageId,
48
+ node.pathId,
49
+ node.targetId,
50
+ node.evidenceId,
51
+ node.claimId,
52
+ node.sessionSemanticsId,
53
+ node.lifecycleSemanticsId,
54
+ node.signalId,
55
+ node.mappingId,
56
+ node.artifactId,
57
+ node.id,
58
+ ];
59
+ return candidates.map(valueAsString).find(Boolean) ?? node.id;
60
+ }
61
+ function toCliGraphNodeRow(node) {
62
+ const { id, kind, evidenceRefs, ...attributes } = node;
63
+ return {
64
+ nodeId: id,
65
+ kind,
66
+ label: displayLabel(node),
67
+ evidenceIds: stringArray(evidenceRefs),
68
+ attributes,
69
+ };
70
+ }
71
+ function toCliGraphEdgeRow(edge) {
72
+ const fromNode = (0, graph_1.getNodeById)(edge.from);
73
+ const toNode = (0, graph_1.getNodeById)(edge.to);
74
+ const { id, relation, from, to, evidenceRefs, ...attributes } = edge;
75
+ return {
76
+ edgeId: id,
77
+ relation,
78
+ fromNodeId: from,
79
+ fromKind: fromNode?.kind,
80
+ fromLabel: displayLabel(fromNode),
81
+ toNodeId: to,
82
+ toKind: toNode?.kind,
83
+ toLabel: displayLabel(toNode),
84
+ versionRange: valueAsString(edge.versionRange) || undefined,
85
+ evidenceIds: stringArray(evidenceRefs),
86
+ attributes,
87
+ };
88
+ }
89
+ function claimNodesFor(nodeId) {
90
+ return (0, graph_1.listOutgoingTargets)(nodeId, "supported_by_claim").filter((node) => node.kind === "Claim");
91
+ }
92
+ function sourceNodesForClaim(claimNodeId) {
93
+ const claimNode = (0, graph_1.getNodeById)(claimNodeId);
94
+ const sourceNodes = (0, graph_1.listOutgoingTargets)(claimNodeId, "sourced_from").filter((node) => node.kind === "EvidenceSource");
95
+ if (sourceNodes.length > 0) {
96
+ return sourceNodes;
97
+ }
98
+ return stringArray(claimNode?.evidenceIds)
99
+ .map((evidenceId) => (0, graph_1.getNodeById)(`evidence:${evidenceId}`))
100
+ .filter((node) => node?.kind === "EvidenceSource");
101
+ }
102
+ function toCliEvidenceClaimRow(node) {
103
+ const sourceIds = sourceNodesForClaim(node.id).map((source) => valueAsString(source.evidenceId)).filter(Boolean);
104
+ const evidenceIds = stringArray(node.evidenceIds);
105
+ return {
106
+ claimId: valueAsString(node.claimId),
107
+ subjectKind: valueAsString(node.subjectKind),
108
+ subjectId: valueAsString(node.subjectId),
109
+ statement: valueAsString(node.statement),
110
+ confidence: valueAsString(node.confidence),
111
+ status: (0, transport_mux_cutover_1.effectiveTransportMuxClaimStatus)(valueAsString(node.status), evidenceIds),
112
+ evidenceIds,
113
+ sourceIds: uniqueStrings(sourceIds),
114
+ };
115
+ }
116
+ function claimsForEvidence(evidenceId) {
117
+ const directClaimIds = (0, graph_1.listGraphEdges)()
118
+ .filter((edge) => edge.relation === "sourced_from" && edge.to === `evidence:${evidenceId}`)
119
+ .map((edge) => {
120
+ const claimNode = (0, graph_1.getNodeById)(edge.from);
121
+ return valueAsString(claimNode?.claimId);
122
+ })
123
+ .filter(Boolean);
124
+ if (directClaimIds.length > 0) {
125
+ return uniqueStrings(directClaimIds);
126
+ }
127
+ return (0, graph_1.listGraphNodes)()
128
+ .filter((node) => node.kind === "Claim" && stringArray(node.evidenceIds).includes(evidenceId))
129
+ .map((node) => valueAsString(node.claimId))
130
+ .filter(Boolean);
131
+ }
132
+ function toCliEvidenceSourceRow(node) {
133
+ return {
134
+ evidenceId: valueAsString(node.evidenceId),
135
+ kind: valueAsString(node.kindLabel),
136
+ sourcePathOrUrl: valueAsString(node.sourcePathOrUrl),
137
+ locator: valueAsString(node.locator),
138
+ capturedAt: valueAsString(node.capturedAt),
139
+ trustLevel: valueAsString(node.trustLevel),
140
+ claimIds: claimsForEvidence(valueAsString(node.evidenceId)),
141
+ };
142
+ }
143
+ function capabilityLabel(capabilityId) {
144
+ return displayLabel((0, graph_1.getNodeById)(`capability:${capabilityId}`)) || capabilityId;
145
+ }
146
+ function nodeRelationRow(edge, direction, nodeId) {
147
+ const row = toCliGraphEdgeRow(edge);
148
+ const relatedNodeId = direction === "outgoing" ? edge.to : edge.from;
149
+ const relatedNode = (0, graph_1.getNodeById)(relatedNodeId);
150
+ return {
151
+ ...row,
152
+ direction,
153
+ relatedNodeId,
154
+ relatedNodeKind: relatedNode?.kind,
155
+ relatedLabel: displayLabel(relatedNode),
156
+ };
157
+ }
158
+ function listCliRows() {
159
+ return data_1.AGENT_CATALOG.agents.map((agent) => ({
160
+ agent: agent.displayName,
161
+ version: agent.versionRange,
162
+ providers: agent.providerIds.join(", "),
163
+ hooks: agent.hookIds.join(", "),
164
+ capabilities: agent.capabilityIds.join(", "),
165
+ }));
166
+ }
167
+ function getCliCatalogSummary() {
168
+ return {
169
+ schemaVersion: data_1.GRAPH_DOCUMENT.schemaVersion,
170
+ graphId: data_1.GRAPH_DOCUMENT.graphId,
171
+ totalAgents: data_1.AGENT_CATALOG.agents.length,
172
+ totalCapabilities: data_1.AGENT_CATALOG.capabilities.length,
173
+ totalModelProviders: data_1.AGENT_CATALOG.providers.length,
174
+ };
175
+ }
176
+ function listCliGraphNodes(kind) {
177
+ return (0, graph_1.listGraphNodes)()
178
+ .filter((node) => !kind || node.kind === kind)
179
+ .map(toCliGraphNodeRow);
180
+ }
181
+ function listCliGraphEdges(filter = {}) {
182
+ return (0, graph_1.listGraphEdges)()
183
+ .filter((edge) => !filter.relation || edge.relation === filter.relation)
184
+ .filter((edge) => !filter.fromNodeId || edge.from === filter.fromNodeId)
185
+ .filter((edge) => !filter.toNodeId || edge.to === filter.toNodeId)
186
+ .filter((edge) => !filter.nodeId || edge.from === filter.nodeId || edge.to === filter.nodeId)
187
+ .map(toCliGraphEdgeRow);
188
+ }
189
+ function listCliNodeRelations(filter) {
190
+ return (0, graph_1.listGraphEdges)()
191
+ .filter((edge) => !filter.relation || edge.relation === filter.relation)
192
+ .filter((edge) => {
193
+ if (filter.direction === "incoming") {
194
+ return edge.to === filter.nodeId;
195
+ }
196
+ if (filter.direction === "outgoing") {
197
+ return edge.from === filter.nodeId;
198
+ }
199
+ return edge.from === filter.nodeId || edge.to === filter.nodeId;
200
+ })
201
+ .map((edge) => nodeRelationRow(edge, edge.from === filter.nodeId ? "outgoing" : "incoming", filter.nodeId));
202
+ }
203
+ function getCliNodeQuery(nodeId) {
204
+ const node = (0, graph_1.getNodeById)(nodeId);
205
+ if (!node) {
206
+ return undefined;
207
+ }
208
+ return {
209
+ node: toCliGraphNodeRow(node),
210
+ outgoing: listCliNodeRelations({ nodeId, direction: "outgoing" }),
211
+ incoming: listCliNodeRelations({ nodeId, direction: "incoming" }),
212
+ claims: listCliEvidenceClaims({ nodeId }),
213
+ evidenceSources: listCliEvidenceSources({ nodeId }),
214
+ };
215
+ }
216
+ function listCliEvidenceClaims(filter = {}) {
217
+ const nodeIdFilter = filter.nodeId;
218
+ const claims = (nodeIdFilter ? claimNodesFor(nodeIdFilter) : (0, graph_1.listGraphNodes)().filter((node) => node.kind === "Claim")).map(toCliEvidenceClaimRow);
219
+ return claims
220
+ .filter((claim) => !filter.claimId || claim.claimId === filter.claimId)
221
+ .filter((claim) => !filter.subjectId || claim.subjectId === filter.subjectId)
222
+ .filter((claim) => !filter.subjectKind || claim.subjectKind === filter.subjectKind)
223
+ .filter((claim) => !filter.evidenceId || claim.sourceIds.includes(filter.evidenceId) || claim.evidenceIds.includes(filter.evidenceId));
224
+ }
225
+ function listCliEvidenceSources(filter = {}) {
226
+ const nodeIdFilter = filter.nodeId;
227
+ const sources = (nodeIdFilter
228
+ ? uniqueStrings(claimNodesFor(nodeIdFilter).flatMap((claim) => sourceNodesForClaim(claim.id).map((source) => source.id)))
229
+ .map((nodeId) => (0, graph_1.getNodeById)(nodeId))
230
+ .filter((node) => Boolean(node))
231
+ : (0, graph_1.listGraphNodes)().filter((node) => node.kind === "EvidenceSource")).map(toCliEvidenceSourceRow);
232
+ return sources
233
+ .filter((source) => !filter.evidenceId || source.evidenceId === filter.evidenceId)
234
+ .filter((source) => !filter.claimId || source.claimIds.includes(filter.claimId));
235
+ }
236
+ function listCliCapabilitySupport(filter = {}) {
237
+ return (0, graph_1.listGraphNodes)()
238
+ .filter((node) => node.kind === "CapabilitySupport")
239
+ .filter((node) => !filter.supportId || valueAsString(node.supportId) === filter.supportId)
240
+ .filter((node) => !filter.capabilityId || valueAsString(node.capabilityId) === filter.capabilityId)
241
+ .filter((node) => !filter.subjectKind || valueAsString(node.subjectKind) === filter.subjectKind)
242
+ .filter((node) => !filter.subjectId || valueAsString(node.subjectId) === filter.subjectId)
243
+ .filter((node) => !filter.subjectIdPrefix || valueAsString(node.subjectId).startsWith(filter.subjectIdPrefix))
244
+ .filter((node) => !filter.supportLevel || valueAsString(node.supportLevel) === filter.supportLevel)
245
+ .filter((node) => !filter.versionRange || valueAsString(node.versionRange) === filter.versionRange)
246
+ .map((node) => {
247
+ const claimRows = listCliEvidenceClaims({ nodeId: node.id });
248
+ const subjectNode = (0, graph_1.getNodeById)(valueAsString(node.subjectId));
249
+ const sourceIds = uniqueStrings(claimRows.flatMap((claim) => claim.sourceIds));
250
+ return {
251
+ supportId: valueAsString(node.supportId),
252
+ capabilityId: valueAsString(node.capabilityId),
253
+ capabilityLabel: capabilityLabel(valueAsString(node.capabilityId)),
254
+ supportLevel: valueAsString(node.supportLevel),
255
+ subjectKind: valueAsString(node.subjectKind),
256
+ subjectId: valueAsString(node.subjectId),
257
+ subjectLabel: displayLabel(subjectNode),
258
+ versionRange: valueAsString(node.versionRange),
259
+ notes: valueAsString(node.notes) || undefined,
260
+ claimIds: claimRows.map((claim) => claim.claimId),
261
+ sourceIds,
262
+ evidenceIds: uniqueStrings([...stringArray(node.evidenceRefs), ...claimRows.flatMap((claim) => claim.evidenceIds), ...sourceIds]),
263
+ };
264
+ });
265
+ }
266
+ function listCliAgentRelations(agentId) {
267
+ return (0, graph_1.listGraphNodes)()
268
+ .filter((node) => node.kind === "AgentVersion")
269
+ .filter((node) => !agentId || valueAsString(node.agentId) === agentId)
270
+ .map((node) => {
271
+ const matchingAgent = data_1.AGENT_CATALOG.agents.find((agent) => agent.agentId === valueAsString(node.agentId) && agent.versionRange === valueAsString(node.versionRange));
272
+ return {
273
+ nodeId: node.id,
274
+ agentId: valueAsString(node.agentId),
275
+ displayName: valueAsString(node.displayName),
276
+ versionRange: valueAsString(node.versionRange),
277
+ providerIds: matchingAgent?.providerIds ?? [],
278
+ modelIds: matchingAgent?.modelIds ?? [],
279
+ transportIds: matchingAgent?.transportIds ?? [],
280
+ modalityIds: matchingAgent?.modalityIds ?? [],
281
+ hookIds: matchingAgent?.hookIds ?? [],
282
+ pluginTargetIds: matchingAgent?.pluginTargetIds ?? [],
283
+ sessionNuanceIds: matchingAgent?.sessionNuanceIds ?? [],
284
+ lifecycleNuanceIds: matchingAgent?.lifecycleNuanceIds ?? [],
285
+ evidenceIds: uniqueStrings([...(matchingAgent?.evidenceIds ?? []), ...stringArray(node.evidenceRefs)]),
286
+ };
287
+ });
288
+ }
289
+ function listCliPackageRelations(packageId) {
290
+ return (0, graph_1.listGraphNodes)()
291
+ .filter((node) => node.kind === "PackageSurface")
292
+ .filter((node) => !packageId || valueAsString(node.packageId) === packageId)
293
+ .map((node) => {
294
+ const processes = (0, graph_1.listOutgoingTargets)(node.id, "surfaces_process");
295
+ const paths = (0, graph_1.listOutgoingTargets)(node.id, "references_path");
296
+ const ciSurfaces = (0, graph_1.listOutgoingTargets)(node.id, "validated_by_ci");
297
+ const graphIds = (0, graph_1.listGraphEdges)()
298
+ .filter((edge) => edge.from === node.id && edge.relation === "wraps_graph")
299
+ .map((edge) => edge.to);
300
+ return {
301
+ nodeId: node.id,
302
+ packageId: valueAsString(node.packageId),
303
+ packageName: valueAsString(node.packageName),
304
+ workspacePath: valueAsString(node.workspacePath),
305
+ moduleType: valueAsString(node.moduleType),
306
+ sourceOfTruthRole: valueAsString(node.sourceOfTruthRole),
307
+ surfaceKinds: stringArray(node.surfaceKinds),
308
+ processIds: processes.map((process) => valueAsString(process.processId)).filter(Boolean),
309
+ pathIds: paths.map((pathNode) => valueAsString(pathNode.pathId)).filter(Boolean),
310
+ paths: paths.map((pathNode) => valueAsString(pathNode.path)).filter(Boolean),
311
+ ciIds: ciSurfaces.map((ci) => valueAsString(ci.ciId)).filter(Boolean),
312
+ graphIds: uniqueStrings(graphIds),
313
+ evidenceIds: stringArray(node.evidenceRefs),
314
+ };
315
+ });
316
+ }
317
+ function listCliProcessRelations(processId) {
318
+ return (0, graph_1.listGraphNodes)()
319
+ .filter((node) => node.kind === "ProcessDescriptor")
320
+ .filter((node) => !processId || valueAsString(node.processId) === processId)
321
+ .map((node) => {
322
+ const paths = (0, graph_1.listOutgoingTargets)(node.id, "references_path");
323
+ return {
324
+ nodeId: node.id,
325
+ processId: valueAsString(node.processId),
326
+ displayName: valueAsString(node.displayName),
327
+ category: valueAsString(node.category),
328
+ ownerPackageId: valueAsString(node.ownerPackage),
329
+ pathIds: paths.map((pathNode) => valueAsString(pathNode.pathId)).filter(Boolean),
330
+ paths: paths.map((pathNode) => valueAsString(pathNode.path)).filter(Boolean),
331
+ inputs: stringArray(node.inputs),
332
+ outputs: stringArray(node.outputs),
333
+ evidenceIds: stringArray(node.evidenceRefs),
334
+ };
335
+ });
336
+ }
package/dist/data.d.ts ADDED
@@ -0,0 +1,54 @@
1
+ import type { AgentCatalog, AgentVersion, CatalogGraph, CapabilityAssertion, CapabilityDescriptor, ClaimRecord, EvidenceRecord, GraphDocument, HarnessFallbackMetadata, HarnessImageEntry, HostDetectionRule, HookDescriptor, HooksMuxDetectionRule, HostMetadataField, LifecycleNuance, ModelProviderVersion, ModelVersion, ModalityDescriptor, PluginTargetDescriptor, ProcessDescriptor, SessionNuance, TransportDescriptor, OntologySchema } from "./models";
2
+ interface AgentCatalogDataState {
3
+ graph: CatalogGraph;
4
+ graphDocument: GraphDocument;
5
+ ontologySchema: OntologySchema;
6
+ evidence: EvidenceRecord[];
7
+ claims: ClaimRecord[];
8
+ providers: ModelProviderVersion[];
9
+ models: ModelVersion[];
10
+ transports: TransportDescriptor[];
11
+ capabilities: CapabilityDescriptor[];
12
+ modalities: ModalityDescriptor[];
13
+ hooks: HookDescriptor[];
14
+ sessionNuances: SessionNuance[];
15
+ lifecycleNuances: LifecycleNuance[];
16
+ processes: ProcessDescriptor[];
17
+ hostDetectionRules: HostDetectionRule[];
18
+ agents: AgentVersion[];
19
+ hostSignalMap: Record<string, string[]>;
20
+ hostMetadataFields: Record<string, HostMetadataField[]>;
21
+ hooksMuxDetectionRules: HooksMuxDetectionRule[];
22
+ fallbackMetadata: Record<string, HarnessFallbackMetadata>;
23
+ harnessImages: HarnessImageEntry[];
24
+ pluginTargets: PluginTargetDescriptor[];
25
+ capabilityAssertions: CapabilityAssertion[];
26
+ agentCatalog: AgentCatalog;
27
+ }
28
+ export declare function clearAgentCatalogDataCache(): void;
29
+ export declare function getCatalogDataState(): AgentCatalogDataState;
30
+ export declare const GRAPH_DOCUMENT: GraphDocument;
31
+ export declare const ONTOLOGY_SCHEMA: OntologySchema;
32
+ export declare const EVIDENCE: EvidenceRecord[];
33
+ export declare const CLAIMS: ClaimRecord[];
34
+ export declare const PROVIDERS: ModelProviderVersion[];
35
+ export declare const MODELS: ModelVersion[];
36
+ export declare const TRANSPORTS: TransportDescriptor[];
37
+ export declare const CAPABILITIES: CapabilityDescriptor[];
38
+ export declare const MODALITIES: ModalityDescriptor[];
39
+ export declare const HOOKS: HookDescriptor[];
40
+ export declare const SESSION_NUANCES: SessionNuance[];
41
+ export declare const LIFECYCLE_NUANCES: LifecycleNuance[];
42
+ export declare const PROCESSES: ProcessDescriptor[];
43
+ export declare const HOST_DETECTION_RULES: HostDetectionRule[];
44
+ export declare const AGENTS: AgentVersion[];
45
+ export declare const HOST_SIGNAL_MAP: Record<string, string[]>;
46
+ export declare const HOST_METADATA_FIELDS: Record<string, HostMetadataField[]>;
47
+ export declare const HOOKS_MUX_DETECTION_RULES: HooksMuxDetectionRule[];
48
+ export declare const FALLBACK_METADATA: Record<string, HarnessFallbackMetadata>;
49
+ export declare const HARNESS_IMAGES: HarnessImageEntry[];
50
+ export declare const PLUGIN_TARGETS: PluginTargetDescriptor[];
51
+ export declare const CAPABILITY_ASSERTIONS: CapabilityAssertion[];
52
+ export declare const AGENT_CATALOG: AgentCatalog;
53
+ export {};
54
+ //# sourceMappingURL=data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"AAiBA,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;AA0hBlB,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,CAEjD;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"}