@a5c-ai/agent-catalog 0.1.0 → 5.0.1-staging.048a6d1f

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 (133) hide show
  1. package/dist/assets.d.ts +4 -0
  2. package/dist/assets.d.ts.map +1 -0
  3. package/dist/assets.js +76 -0
  4. package/dist/atlas-bridge.d.ts +28 -0
  5. package/dist/atlas-bridge.d.ts.map +1 -0
  6. package/dist/atlas-bridge.js +178 -0
  7. package/dist/cli.d.ts +168 -0
  8. package/dist/cli.d.ts.map +1 -0
  9. package/dist/cli.js +336 -0
  10. package/dist/data.d.ts +54 -0
  11. package/dist/data.d.ts.map +1 -0
  12. package/dist/data.js +829 -0
  13. package/dist/discovery-snapshot.json +319345 -0
  14. package/dist/discovery.d.ts +143 -0
  15. package/dist/discovery.d.ts.map +1 -0
  16. package/dist/discovery.js +728 -0
  17. package/dist/evidence-projection.d.ts +4 -0
  18. package/dist/evidence-projection.d.ts.map +1 -0
  19. package/dist/evidence-projection.js +34 -0
  20. package/dist/evidence.d.ts +13 -0
  21. package/dist/evidence.d.ts.map +1 -0
  22. package/dist/evidence.js +227 -0
  23. package/dist/graph.d.ts +20 -0
  24. package/dist/graph.d.ts.map +1 -0
  25. package/dist/graph.js +194 -0
  26. package/dist/index.d.ts +11 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.js +28 -0
  29. package/dist/models.d.ts +562 -0
  30. package/dist/models.d.ts.map +1 -0
  31. package/dist/models.js +2 -0
  32. package/dist/sdk.d.ts +48 -0
  33. package/dist/sdk.d.ts.map +1 -0
  34. package/dist/sdk.js +907 -0
  35. package/dist/transport-mux-cutover.d.ts +9 -0
  36. package/dist/transport-mux-cutover.d.ts.map +1 -0
  37. package/dist/transport-mux-cutover.js +157 -0
  38. package/dist/ui.d.ts +2 -0
  39. package/dist/ui.d.ts.map +1 -0
  40. package/dist/ui.js +8 -0
  41. package/evidence/ontology-evidence/claims/runtime-core.json +18935 -104
  42. package/evidence/ontology-evidence/evidence-sources/catalog-processes-and-packaging.json +88 -33
  43. package/evidence/ontology-evidence/evidence-sources/plugins-hooks-discovery.json +35 -77
  44. package/evidence/ontology-evidence/evidence-sources/runtime-core.json +709 -51
  45. package/evidence/ontology-evidence/evidence-sources/vendor-web.json +3173 -909
  46. package/evidence/ontology-evidence/manifest.json +6 -24
  47. package/package.json +4 -6
  48. package/graph/agent-catalog.graph.yaml +0 -43
  49. package/graph/edges/relations/agent-runtime/babysitter-agent.yaml +0 -31
  50. package/graph/edges/relations/agent-runtime/discovery-and-paths.yaml +0 -433
  51. package/graph/edges/relations/agent-runtime/session-and-lifecycle.yaml +0 -137
  52. package/graph/edges/relations/agent-runtime/transports-and-modalities.yaml +0 -387
  53. package/graph/edges/relations/capabilities/babysitter-agent-links.yaml +0 -46
  54. package/graph/edges/relations/capabilities/capability-vocabulary-links-agents.yaml +0 -478
  55. package/graph/edges/relations/capabilities/capability-vocabulary-links-providers.yaml +0 -40
  56. package/graph/edges/relations/capabilities/capability-vocabulary-links-transports.yaml +0 -70
  57. package/graph/edges/relations/capabilities/support-record-links-agents.yaml +0 -478
  58. package/graph/edges/relations/capabilities/support-record-links-providers.yaml +0 -40
  59. package/graph/edges/relations/capabilities/support-record-links-transports.yaml +0 -70
  60. package/graph/edges/relations/evolution.yaml +0 -16
  61. package/graph/edges/relations/hooks-and-plugins.yaml +0 -462
  62. package/graph/edges/relations/identity-babysitter-agent.yaml +0 -11
  63. package/graph/edges/relations/identity.yaml +0 -218
  64. package/graph/edges/relations/processes-and-packages.yaml +0 -71
  65. package/graph/edges/relations/provenance/babysitter-agent-and-claude-web.yaml +0 -102
  66. package/graph/edges/relations/provenance/catalog-core-agents.yaml +0 -370
  67. package/graph/edges/relations/provenance/catalog-core-models.yaml +0 -88
  68. package/graph/edges/relations/provenance/catalog-core-providers.yaml +0 -220
  69. package/graph/edges/relations/provenance/evidence-sources.yaml +0 -136
  70. package/graph/edges/relations/provenance/hooks-plugins-and-discovery-discovery.yaml +0 -124
  71. package/graph/edges/relations/provenance/hooks-plugins-and-discovery-hooks.yaml +0 -244
  72. package/graph/edges/relations/provenance/hooks-plugins-and-discovery-plugins.yaml +0 -166
  73. package/graph/edges/relations/provenance/processes-packages-and-paths.yaml +0 -490
  74. package/graph/edges/relations/provenance/runtime-and-capabilities-capability.yaml +0 -202
  75. package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-claude.yaml +0 -210
  76. package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-codex.yaml +0 -302
  77. package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-copilot.yaml +0 -170
  78. package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-cursor.yaml +0 -146
  79. package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-gemini.yaml +0 -143
  80. package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-omp.yaml +0 -76
  81. package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-openclaw.yaml +0 -112
  82. package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-opencode.yaml +0 -139
  83. package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-pi.yaml +0 -40
  84. package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-providers.yaml +0 -112
  85. package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-transports.yaml +0 -190
  86. package/graph/edges/relations/provenance/runtime-and-capabilities-modality.yaml +0 -88
  87. package/graph/edges/relations/provenance/runtime-and-capabilities-transport.yaml +0 -172
  88. package/graph/nodes/agents/babysitter-agent.yaml +0 -43
  89. package/graph/nodes/agents/products.yaml +0 -163
  90. package/graph/nodes/agents/versions.yaml +0 -282
  91. package/graph/nodes/capabilities/capabilities.yaml +0 -234
  92. package/graph/nodes/capabilities/modalities.yaml +0 -74
  93. package/graph/nodes/capabilities/supports/agents/babysitter-agent.yaml +0 -46
  94. package/graph/nodes/capabilities/supports/agents/claude.yaml +0 -166
  95. package/graph/nodes/capabilities/supports/agents/codex.yaml +0 -190
  96. package/graph/nodes/capabilities/supports/agents/copilot.yaml +0 -121
  97. package/graph/nodes/capabilities/supports/agents/cursor.yaml +0 -104
  98. package/graph/nodes/capabilities/supports/agents/gemini.yaml +0 -104
  99. package/graph/nodes/capabilities/supports/agents/omp.yaml +0 -74
  100. package/graph/nodes/capabilities/supports/agents/openclaw.yaml +0 -67
  101. package/graph/nodes/capabilities/supports/agents/opencode.yaml +0 -103
  102. package/graph/nodes/capabilities/supports/agents/pi.yaml +0 -65
  103. package/graph/nodes/capabilities/supports/provider-versions.yaml +0 -73
  104. package/graph/nodes/capabilities/supports/transport-runtimes.yaml +0 -122
  105. package/graph/nodes/evidence/babysitter-agent-and-claude-web.yaml +0 -83
  106. package/graph/nodes/evidence/claims.yaml +0 -315
  107. package/graph/nodes/evidence/claude-code-capability-claims.yaml +0 -170
  108. package/graph/nodes/evidence/claude-code-docs-core.yaml +0 -103
  109. package/graph/nodes/evidence/claude-code-docs-extensions.yaml +0 -114
  110. package/graph/nodes/evidence/codex-web.yaml +0 -155
  111. package/graph/nodes/evidence/copilot-web.yaml +0 -213
  112. package/graph/nodes/evidence/cursor-web.yaml +0 -191
  113. package/graph/nodes/evidence/evidence-sources.yaml +0 -206
  114. package/graph/nodes/evidence/gemini-cli-web.yaml +0 -177
  115. package/graph/nodes/evidence/omp-web.yaml +0 -129
  116. package/graph/nodes/evidence/opencode-web.yaml +0 -144
  117. package/graph/nodes/hooks-and-plugins/hook-mappings.yaml +0 -399
  118. package/graph/nodes/hooks-and-plugins/hook-surfaces.yaml +0 -160
  119. package/graph/nodes/hooks-and-plugins/plugin-artifacts.yaml +0 -229
  120. package/graph/nodes/hooks-and-plugins/plugin-targets.yaml +0 -330
  121. package/graph/nodes/models.yaml +0 -103
  122. package/graph/nodes/processes-and-packages/ci-surfaces.yaml +0 -45
  123. package/graph/nodes/processes-and-packages/packages.yaml +0 -89
  124. package/graph/nodes/processes-and-packages/processes.yaml +0 -44
  125. package/graph/nodes/providers/products.yaml +0 -102
  126. package/graph/nodes/providers/versions.yaml +0 -108
  127. package/graph/nodes/runtime-semantics/discovery-signals-hooks.yaml +0 -185
  128. package/graph/nodes/runtime-semantics/discovery-signals-host.yaml +0 -254
  129. package/graph/nodes/runtime-semantics/lifecycle-semantics.yaml +0 -151
  130. package/graph/nodes/runtime-semantics/paths.yaml +0 -289
  131. package/graph/nodes/runtime-semantics/session-semantics.yaml +0 -214
  132. package/graph/nodes/transports.yaml +0 -202
  133. package/graph/schema/ontology-schema.yaml +0 -529
@@ -0,0 +1,4 @@
1
+ export declare function resolveCatalogAssetPath(relativeAssetPath: string): string;
2
+ export declare function resolveCatalogGraphAssetPath(...segments: string[]): string;
3
+ export declare function resolveCatalogEvidenceAssetPath(...segments: string[]): string;
4
+ //# sourceMappingURL=assets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../src/assets.ts"],"names":[],"mappings":"AA6DA,wBAAgB,uBAAuB,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAezE;AAED,wBAAgB,4BAA4B,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAE1E;AAED,wBAAgB,+BAA+B,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAE7E"}
package/dist/assets.js ADDED
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.resolveCatalogAssetPath = resolveCatalogAssetPath;
7
+ exports.resolveCatalogGraphAssetPath = resolveCatalogGraphAssetPath;
8
+ exports.resolveCatalogEvidenceAssetPath = resolveCatalogEvidenceAssetPath;
9
+ const node_fs_1 = __importDefault(require("node:fs"));
10
+ const node_path_1 = __importDefault(require("node:path"));
11
+ const PACKAGE_NAME = "@a5c-ai/agent-catalog";
12
+ const PACKAGE_ROOT = node_path_1.default.resolve(__dirname, "..");
13
+ const ALLOWED_ASSET_ROOTS = new Set(["graph", "evidence", "docs"]);
14
+ function normalizeAssetPath(relativeAssetPath) {
15
+ const normalized = relativeAssetPath.replace(/\\/g, "/").replace(/^\.\/+/, "");
16
+ if (!normalized || node_path_1.default.isAbsolute(normalized)) {
17
+ throw new Error(`Expected a relative asset path within ${PACKAGE_NAME}, got "${relativeAssetPath}".`);
18
+ }
19
+ const segments = normalized.split("/").filter(Boolean);
20
+ if (segments.length === 0 || segments.some((segment) => segment === "..")) {
21
+ throw new Error(`Asset path must stay within ${PACKAGE_NAME}, got "${relativeAssetPath}".`);
22
+ }
23
+ if (!ALLOWED_ASSET_ROOTS.has(segments[0])) {
24
+ throw new Error(`Asset path must start with one of ${[...ALLOWED_ASSET_ROOTS].join(", ")}; got "${relativeAssetPath}".`);
25
+ }
26
+ return segments.join("/");
27
+ }
28
+ function resolveExportedAssetPath(relativeAssetPath) {
29
+ try {
30
+ return require.resolve(`${PACKAGE_NAME}/${relativeAssetPath}`);
31
+ }
32
+ catch {
33
+ return undefined;
34
+ }
35
+ }
36
+ function resolvePackageRootCandidates() {
37
+ const candidates = new Set();
38
+ try {
39
+ candidates.add(node_path_1.default.dirname(require.resolve(`${PACKAGE_NAME}/package.json`)));
40
+ }
41
+ catch {
42
+ // Ignore packaged/bundled environments that do not expose package.json.
43
+ }
44
+ candidates.add(PACKAGE_ROOT);
45
+ let currentDir = process.cwd();
46
+ while (true) {
47
+ candidates.add(node_path_1.default.join(currentDir, "packages", "agent-catalog"));
48
+ candidates.add(node_path_1.default.join(currentDir, "agent-catalog"));
49
+ const parentDir = node_path_1.default.dirname(currentDir);
50
+ if (parentDir === currentDir) {
51
+ break;
52
+ }
53
+ currentDir = parentDir;
54
+ }
55
+ return [...candidates];
56
+ }
57
+ function resolveCatalogAssetPath(relativeAssetPath) {
58
+ const normalized = normalizeAssetPath(relativeAssetPath);
59
+ const exportedPath = resolveExportedAssetPath(normalized);
60
+ if (exportedPath && node_fs_1.default.existsSync(exportedPath)) {
61
+ return exportedPath;
62
+ }
63
+ for (const packageRoot of resolvePackageRootCandidates()) {
64
+ const localPath = node_path_1.default.join(packageRoot, normalized);
65
+ if (node_fs_1.default.existsSync(localPath)) {
66
+ return localPath;
67
+ }
68
+ }
69
+ throw new Error(`Asset "${relativeAssetPath}" is unavailable for ${PACKAGE_NAME}.`);
70
+ }
71
+ function resolveCatalogGraphAssetPath(...segments) {
72
+ return resolveCatalogAssetPath(node_path_1.default.posix.join("graph", ...segments.map((segment) => segment.replace(/\\/g, "/"))));
73
+ }
74
+ function resolveCatalogEvidenceAssetPath(...segments) {
75
+ return resolveCatalogAssetPath(node_path_1.default.posix.join("evidence", ...segments.map((segment) => segment.replace(/\\/g, "/"))));
76
+ }
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Atlas bridge for agent-catalog.
3
+ *
4
+ * Adapts the Atlas graph singleton (`@a5c-ai/atlas`) into the same query
5
+ * surface that `graph.ts` previously exposed. All data comes from Atlas —
6
+ * there is no fallback to local YAML files.
7
+ */
8
+ import type { CatalogGraph, GraphDocument, GraphEdge, GraphNode, GraphRelationship, OntologySchema } from "./models";
9
+ export declare function listGraphNodes(): GraphNode[];
10
+ export declare function listNodesByKind(kind: GraphNode["kind"]): GraphNode[];
11
+ export declare function getNodeById<TNode extends GraphNode = GraphNode>(nodeId: string): TNode | undefined;
12
+ export declare function listRelationshipsByRelation(relation: string): GraphRelationship[];
13
+ export declare function listGraphEdges(): GraphRelationship[];
14
+ export declare function listOutgoingTargets(nodeId: string, relation: string): GraphNode[];
15
+ export declare function listIncomingSources(nodeId: string, relation: string): GraphNode[];
16
+ export declare function listRelationshipsForNode(nodeId: string): GraphRelationship[];
17
+ export declare function getGraphDocument(): GraphDocument;
18
+ export declare function getOntologySchema(): OntologySchema;
19
+ export declare function getCatalogGraph(): CatalogGraph;
20
+ export declare function listEdgesForNode(catalog: {
21
+ graph: GraphEdge[];
22
+ }, nodeId: string): GraphEdge[];
23
+ export declare function listEdgesByRelation(catalog: {
24
+ graph: GraphEdge[];
25
+ }, relation: string): GraphEdge[];
26
+ export declare function assertGraphFileCoverage(): void;
27
+ export declare function clearAtlasBridgeCache(): void;
28
+ //# sourceMappingURL=atlas-bridge.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,178 @@
1
+ "use strict";
2
+ /**
3
+ * Atlas bridge for agent-catalog.
4
+ *
5
+ * Adapts the Atlas graph singleton (`@a5c-ai/atlas`) into the same query
6
+ * surface that `graph.ts` previously exposed. All data comes from Atlas —
7
+ * there is no fallback to local YAML files.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.listGraphNodes = listGraphNodes;
11
+ exports.listNodesByKind = listNodesByKind;
12
+ exports.getNodeById = getNodeById;
13
+ exports.listRelationshipsByRelation = listRelationshipsByRelation;
14
+ exports.listGraphEdges = listGraphEdges;
15
+ exports.listOutgoingTargets = listOutgoingTargets;
16
+ exports.listIncomingSources = listIncomingSources;
17
+ exports.listRelationshipsForNode = listRelationshipsForNode;
18
+ exports.getGraphDocument = getGraphDocument;
19
+ exports.getOntologySchema = getOntologySchema;
20
+ exports.getCatalogGraph = getCatalogGraph;
21
+ exports.listEdgesForNode = listEdgesForNode;
22
+ exports.listEdgesByRelation = listEdgesByRelation;
23
+ exports.assertGraphFileCoverage = assertGraphFileCoverage;
24
+ exports.clearAtlasBridgeCache = clearAtlasBridgeCache;
25
+ const atlas_1 = require("@a5c-ai/atlas");
26
+ // ---------------------------------------------------------------------------
27
+ // Record adaptation: Atlas `_kind` -> agent-catalog `kind`
28
+ // ---------------------------------------------------------------------------
29
+ const AGENT_CATALOG_KINDS = new Set([
30
+ "AgentProduct", "AgentVersion", "Capability", "CapabilitySupport",
31
+ "CiSurface", "Claim", "DiscoverySignal", "EvidenceSource",
32
+ "HookMapping", "HookSurface", "LifecycleSemantics", "Modality",
33
+ "ModelFamily", "ModelProviderProduct", "ModelProviderVersion", "ModelVersion",
34
+ "PackageSurface", "PathDescriptor", "PluginArtifact", "PluginTarget",
35
+ "ProcessDescriptor", "SessionSemantics", "TransportProtocol", "TransportRuntime",
36
+ ]);
37
+ function isAgentCatalogRecord(record) {
38
+ return AGENT_CATALOG_KINDS.has(record._kind);
39
+ }
40
+ function adaptRecord(record) {
41
+ const { _kind, _file, _cluster, ...rest } = record;
42
+ return { ...rest, kind: _kind };
43
+ }
44
+ function adaptEdge(edge, index) {
45
+ return {
46
+ id: `edge:${edge.from}->${edge.to}:${edge.kind}:${index}`,
47
+ relation: edge.kind,
48
+ from: edge.from,
49
+ to: edge.to,
50
+ ...(edge.attributes ?? {}),
51
+ };
52
+ }
53
+ // ---------------------------------------------------------------------------
54
+ // Cached projections
55
+ // ---------------------------------------------------------------------------
56
+ let cachedNodes;
57
+ let cachedEdges;
58
+ let cachedNodeIds;
59
+ function allNodes() {
60
+ if (!cachedNodes) {
61
+ cachedNodes = atlas_1.atlas.getAllRecords().filter(isAgentCatalogRecord).map(adaptRecord);
62
+ }
63
+ return cachedNodes;
64
+ }
65
+ function agentCatalogNodeIds() {
66
+ if (!cachedNodeIds) {
67
+ cachedNodeIds = new Set(allNodes().map((node) => node.id));
68
+ }
69
+ return cachedNodeIds;
70
+ }
71
+ function allEdges() {
72
+ if (!cachedEdges) {
73
+ const nodeIds = agentCatalogNodeIds();
74
+ cachedEdges = atlas_1.atlas
75
+ .getIndex()
76
+ .edges.filter((edge) => nodeIds.has(edge.from) && nodeIds.has(edge.to))
77
+ .map(adaptEdge);
78
+ }
79
+ return cachedEdges;
80
+ }
81
+ // ---------------------------------------------------------------------------
82
+ // Public API — drop-in replacements for graph.ts functions
83
+ // ---------------------------------------------------------------------------
84
+ function listGraphNodes() {
85
+ return [...allNodes()];
86
+ }
87
+ function listNodesByKind(kind) {
88
+ return atlas_1.atlas.getRecordsByKind(kind).filter(isAgentCatalogRecord).map(adaptRecord);
89
+ }
90
+ function getNodeById(nodeId) {
91
+ const record = atlas_1.atlas.getRecord(nodeId);
92
+ return record ? adaptRecord(record) : undefined;
93
+ }
94
+ function listRelationshipsByRelation(relation) {
95
+ return allEdges().filter((edge) => edge.relation === relation);
96
+ }
97
+ function listGraphEdges() {
98
+ return [...allEdges()];
99
+ }
100
+ function listOutgoingTargets(nodeId, relation) {
101
+ return atlas_1.atlas
102
+ .getOutgoing(nodeId)
103
+ .filter((edge) => edge.kind === relation)
104
+ .map((edge) => atlas_1.atlas.getRecord(edge.to))
105
+ .filter((record) => record !== undefined)
106
+ .map(adaptRecord);
107
+ }
108
+ function listIncomingSources(nodeId, relation) {
109
+ return atlas_1.atlas
110
+ .getIncoming(nodeId)
111
+ .filter((edge) => edge.kind === relation)
112
+ .map((edge) => atlas_1.atlas.getRecord(edge.from))
113
+ .filter((record) => record !== undefined)
114
+ .map(adaptRecord);
115
+ }
116
+ function listRelationshipsForNode(nodeId) {
117
+ return allEdges().filter((edge) => edge.from === nodeId || edge.to === nodeId);
118
+ }
119
+ // ---------------------------------------------------------------------------
120
+ // Synthetic graph document and schema
121
+ // ---------------------------------------------------------------------------
122
+ function getGraphDocument() {
123
+ return {
124
+ kind: "GraphDocument",
125
+ id: "graph:agent-catalog",
126
+ graphId: "graph:agent-catalog",
127
+ schemaVersion: "2026.04.agent-catalog-v2",
128
+ catalogVersion: "2026.04.agent-catalog-v2",
129
+ generatedAt: new Date().toISOString(),
130
+ owners: ["@a5c-ai"],
131
+ imports: [],
132
+ schemaPath: "schema/ontology-schema.yaml",
133
+ };
134
+ }
135
+ function getOntologySchema() {
136
+ const nodeKinds = {};
137
+ for (const [name, def] of Object.entries(atlas_1.atlas.getNodeKinds())) {
138
+ nodeKinds[name] = { requiredAttributes: ["id", "kind"], ...def };
139
+ }
140
+ const edgeKinds = {};
141
+ for (const [name, def] of Object.entries(atlas_1.atlas.getEdgeKinds())) {
142
+ edgeKinds[name] = { requiredAttributes: ["id", "relation", "from", "to"], ...def };
143
+ }
144
+ return {
145
+ kind: "OntologySchema",
146
+ id: "schema:agent-catalog-ontology",
147
+ nodeKinds,
148
+ edgeKinds,
149
+ };
150
+ }
151
+ function getCatalogGraph() {
152
+ return {
153
+ document: getGraphDocument(),
154
+ schema: getOntologySchema(),
155
+ nodes: allNodes(),
156
+ edges: allEdges(),
157
+ };
158
+ }
159
+ // ---------------------------------------------------------------------------
160
+ // Utility functions (previously in graph.ts)
161
+ // ---------------------------------------------------------------------------
162
+ function listEdgesForNode(catalog, nodeId) {
163
+ return catalog.graph.filter((edge) => edge.from === nodeId || edge.to === nodeId);
164
+ }
165
+ function listEdgesByRelation(catalog, relation) {
166
+ return catalog.graph.filter((edge) => edge.relation === relation);
167
+ }
168
+ function assertGraphFileCoverage() {
169
+ // No-op: validation handled by Atlas indexer at build time.
170
+ }
171
+ // ---------------------------------------------------------------------------
172
+ // Cache management
173
+ // ---------------------------------------------------------------------------
174
+ function clearAtlasBridgeCache() {
175
+ cachedNodes = undefined;
176
+ cachedEdges = undefined;
177
+ cachedNodeIds = undefined;
178
+ }
package/dist/cli.d.ts ADDED
@@ -0,0 +1,168 @@
1
+ import type { GraphNode } from "./models";
2
+ export interface CliCatalogRow {
3
+ agent: string;
4
+ version: string;
5
+ providers: string;
6
+ hooks: string;
7
+ capabilities: string;
8
+ }
9
+ export interface CliCatalogSummary {
10
+ schemaVersion: string;
11
+ graphId: string;
12
+ totalAgents: number;
13
+ totalCapabilities: number;
14
+ totalModelProviders: number;
15
+ }
16
+ export interface CliGraphNodeRow {
17
+ nodeId: string;
18
+ kind: GraphNode["kind"];
19
+ label: string;
20
+ evidenceIds: string[];
21
+ attributes: Record<string, unknown>;
22
+ }
23
+ export interface CliGraphEdgeRow {
24
+ edgeId: string;
25
+ relation: string;
26
+ fromNodeId: string;
27
+ fromKind?: GraphNode["kind"];
28
+ fromLabel: string;
29
+ toNodeId: string;
30
+ toKind?: GraphNode["kind"];
31
+ toLabel: string;
32
+ versionRange?: string;
33
+ evidenceIds: string[];
34
+ attributes: Record<string, unknown>;
35
+ }
36
+ export interface CliNodeRelationRow extends CliGraphEdgeRow {
37
+ direction: "incoming" | "outgoing";
38
+ relatedNodeId: string;
39
+ relatedNodeKind?: GraphNode["kind"];
40
+ relatedLabel: string;
41
+ }
42
+ export interface CliNodeQuery {
43
+ node: CliGraphNodeRow;
44
+ outgoing: CliNodeRelationRow[];
45
+ incoming: CliNodeRelationRow[];
46
+ claims: CliEvidenceClaimRow[];
47
+ evidenceSources: CliEvidenceSourceRow[];
48
+ }
49
+ export interface CliEvidenceClaimRow {
50
+ claimId: string;
51
+ subjectKind: string;
52
+ subjectId: string;
53
+ statement: string;
54
+ confidence: string;
55
+ status: string;
56
+ evidenceIds: string[];
57
+ sourceIds: string[];
58
+ }
59
+ export interface CliEvidenceSourceRow {
60
+ evidenceId: string;
61
+ kind: string;
62
+ sourcePathOrUrl: string;
63
+ locator: string;
64
+ capturedAt: string;
65
+ trustLevel: string;
66
+ claimIds: string[];
67
+ }
68
+ export interface CliCapabilitySupportRow {
69
+ supportId: string;
70
+ capabilityId: string;
71
+ capabilityLabel: string;
72
+ supportLevel: string;
73
+ subjectKind: string;
74
+ subjectId: string;
75
+ subjectLabel: string;
76
+ versionRange: string;
77
+ notes?: string;
78
+ claimIds: string[];
79
+ sourceIds: string[];
80
+ evidenceIds: string[];
81
+ }
82
+ export interface CliAgentRelationRow {
83
+ nodeId: string;
84
+ agentId: string;
85
+ displayName: string;
86
+ versionRange: string;
87
+ providerIds: string[];
88
+ modelIds: string[];
89
+ transportIds: string[];
90
+ modalityIds: string[];
91
+ hookIds: string[];
92
+ pluginTargetIds: string[];
93
+ sessionNuanceIds: string[];
94
+ lifecycleNuanceIds: string[];
95
+ evidenceIds: string[];
96
+ }
97
+ export interface CliPackageRelationRow {
98
+ nodeId: string;
99
+ packageId: string;
100
+ packageName: string;
101
+ workspacePath: string;
102
+ moduleType: string;
103
+ sourceOfTruthRole: string;
104
+ surfaceKinds: string[];
105
+ processIds: string[];
106
+ pathIds: string[];
107
+ paths: string[];
108
+ ciIds: string[];
109
+ graphIds: string[];
110
+ evidenceIds: string[];
111
+ }
112
+ export interface CliProcessRelationRow {
113
+ nodeId: string;
114
+ processId: string;
115
+ displayName: string;
116
+ category: string;
117
+ ownerPackageId: string;
118
+ pathIds: string[];
119
+ paths: string[];
120
+ inputs: string[];
121
+ outputs: string[];
122
+ evidenceIds: string[];
123
+ }
124
+ export interface CliGraphEdgeFilter {
125
+ relation?: string;
126
+ fromNodeId?: string;
127
+ toNodeId?: string;
128
+ nodeId?: string;
129
+ }
130
+ export interface CliNodeRelationFilter {
131
+ nodeId: string;
132
+ direction?: "incoming" | "outgoing" | "both";
133
+ relation?: string;
134
+ }
135
+ export interface CliEvidenceClaimFilter {
136
+ claimId?: string;
137
+ subjectId?: string;
138
+ subjectKind?: string;
139
+ nodeId?: string;
140
+ evidenceId?: string;
141
+ }
142
+ export interface CliEvidenceSourceFilter {
143
+ evidenceId?: string;
144
+ claimId?: string;
145
+ nodeId?: string;
146
+ }
147
+ export interface CliCapabilitySupportFilter {
148
+ supportId?: string;
149
+ capabilityId?: string;
150
+ subjectKind?: string;
151
+ subjectId?: string;
152
+ subjectIdPrefix?: string;
153
+ supportLevel?: string;
154
+ versionRange?: string;
155
+ }
156
+ export declare function listCliRows(): CliCatalogRow[];
157
+ export declare function getCliCatalogSummary(): CliCatalogSummary;
158
+ export declare function listCliGraphNodes(kind?: GraphNode["kind"]): CliGraphNodeRow[];
159
+ export declare function listCliGraphEdges(filter?: CliGraphEdgeFilter): CliGraphEdgeRow[];
160
+ export declare function listCliNodeRelations(filter: CliNodeRelationFilter): CliNodeRelationRow[];
161
+ export declare function getCliNodeQuery(nodeId: string): CliNodeQuery | undefined;
162
+ export declare function listCliEvidenceClaims(filter?: CliEvidenceClaimFilter): CliEvidenceClaimRow[];
163
+ export declare function listCliEvidenceSources(filter?: CliEvidenceSourceFilter): CliEvidenceSourceRow[];
164
+ export declare function listCliCapabilitySupport(filter?: CliCapabilitySupportFilter): CliCapabilitySupportRow[];
165
+ export declare function listCliAgentRelations(agentId?: string): CliAgentRelationRow[];
166
+ export declare function listCliPackageRelations(packageId?: string): CliPackageRelationRow[];
167
+ export declare function listCliProcessRelations(processId?: string): CliProcessRelationRow[];
168
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}