@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.
- package/dist/assets.d.ts +4 -0
- package/dist/assets.d.ts.map +1 -0
- package/dist/assets.js +76 -0
- package/dist/atlas-bridge.d.ts +28 -0
- package/dist/atlas-bridge.d.ts.map +1 -0
- package/dist/atlas-bridge.js +178 -0
- package/dist/cli.d.ts +168 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +336 -0
- package/dist/data.d.ts +54 -0
- package/dist/data.d.ts.map +1 -0
- package/dist/data.js +829 -0
- package/dist/discovery-snapshot.json +319345 -0
- package/dist/discovery.d.ts +143 -0
- package/dist/discovery.d.ts.map +1 -0
- package/dist/discovery.js +728 -0
- package/dist/evidence-projection.d.ts +4 -0
- package/dist/evidence-projection.d.ts.map +1 -0
- package/dist/evidence-projection.js +34 -0
- package/dist/evidence.d.ts +13 -0
- package/dist/evidence.d.ts.map +1 -0
- package/dist/evidence.js +227 -0
- package/dist/graph.d.ts +20 -0
- package/dist/graph.d.ts.map +1 -0
- package/dist/graph.js +194 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -0
- package/dist/models.d.ts +562 -0
- package/dist/models.d.ts.map +1 -0
- package/dist/models.js +2 -0
- package/dist/sdk.d.ts +48 -0
- package/dist/sdk.d.ts.map +1 -0
- package/dist/sdk.js +907 -0
- package/dist/transport-mux-cutover.d.ts +9 -0
- package/dist/transport-mux-cutover.d.ts.map +1 -0
- package/dist/transport-mux-cutover.js +157 -0
- package/dist/ui.d.ts +2 -0
- package/dist/ui.d.ts.map +1 -0
- package/dist/ui.js +8 -0
- package/evidence/ontology-evidence/claims/runtime-core.json +18935 -104
- package/evidence/ontology-evidence/evidence-sources/catalog-processes-and-packaging.json +88 -33
- package/evidence/ontology-evidence/evidence-sources/plugins-hooks-discovery.json +35 -77
- package/evidence/ontology-evidence/evidence-sources/runtime-core.json +709 -51
- package/evidence/ontology-evidence/evidence-sources/vendor-web.json +3173 -909
- package/evidence/ontology-evidence/manifest.json +6 -24
- package/package.json +4 -6
- package/graph/agent-catalog.graph.yaml +0 -43
- package/graph/edges/relations/agent-runtime/babysitter-agent.yaml +0 -31
- package/graph/edges/relations/agent-runtime/discovery-and-paths.yaml +0 -433
- package/graph/edges/relations/agent-runtime/session-and-lifecycle.yaml +0 -137
- package/graph/edges/relations/agent-runtime/transports-and-modalities.yaml +0 -387
- package/graph/edges/relations/capabilities/babysitter-agent-links.yaml +0 -46
- package/graph/edges/relations/capabilities/capability-vocabulary-links-agents.yaml +0 -478
- package/graph/edges/relations/capabilities/capability-vocabulary-links-providers.yaml +0 -40
- package/graph/edges/relations/capabilities/capability-vocabulary-links-transports.yaml +0 -70
- package/graph/edges/relations/capabilities/support-record-links-agents.yaml +0 -478
- package/graph/edges/relations/capabilities/support-record-links-providers.yaml +0 -40
- package/graph/edges/relations/capabilities/support-record-links-transports.yaml +0 -70
- package/graph/edges/relations/evolution.yaml +0 -16
- package/graph/edges/relations/hooks-and-plugins.yaml +0 -462
- package/graph/edges/relations/identity-babysitter-agent.yaml +0 -11
- package/graph/edges/relations/identity.yaml +0 -218
- package/graph/edges/relations/processes-and-packages.yaml +0 -71
- package/graph/edges/relations/provenance/babysitter-agent-and-claude-web.yaml +0 -102
- package/graph/edges/relations/provenance/catalog-core-agents.yaml +0 -370
- package/graph/edges/relations/provenance/catalog-core-models.yaml +0 -88
- package/graph/edges/relations/provenance/catalog-core-providers.yaml +0 -220
- package/graph/edges/relations/provenance/evidence-sources.yaml +0 -136
- package/graph/edges/relations/provenance/hooks-plugins-and-discovery-discovery.yaml +0 -124
- package/graph/edges/relations/provenance/hooks-plugins-and-discovery-hooks.yaml +0 -244
- package/graph/edges/relations/provenance/hooks-plugins-and-discovery-plugins.yaml +0 -166
- package/graph/edges/relations/provenance/processes-packages-and-paths.yaml +0 -490
- package/graph/edges/relations/provenance/runtime-and-capabilities-capability.yaml +0 -202
- package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-claude.yaml +0 -210
- package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-codex.yaml +0 -302
- package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-copilot.yaml +0 -170
- package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-cursor.yaml +0 -146
- package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-gemini.yaml +0 -143
- package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-omp.yaml +0 -76
- package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-openclaw.yaml +0 -112
- package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-opencode.yaml +0 -139
- package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-pi.yaml +0 -40
- package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-providers.yaml +0 -112
- package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-transports.yaml +0 -190
- package/graph/edges/relations/provenance/runtime-and-capabilities-modality.yaml +0 -88
- package/graph/edges/relations/provenance/runtime-and-capabilities-transport.yaml +0 -172
- package/graph/nodes/agents/babysitter-agent.yaml +0 -43
- package/graph/nodes/agents/products.yaml +0 -163
- package/graph/nodes/agents/versions.yaml +0 -282
- package/graph/nodes/capabilities/capabilities.yaml +0 -234
- package/graph/nodes/capabilities/modalities.yaml +0 -74
- package/graph/nodes/capabilities/supports/agents/babysitter-agent.yaml +0 -46
- package/graph/nodes/capabilities/supports/agents/claude.yaml +0 -166
- package/graph/nodes/capabilities/supports/agents/codex.yaml +0 -190
- package/graph/nodes/capabilities/supports/agents/copilot.yaml +0 -121
- package/graph/nodes/capabilities/supports/agents/cursor.yaml +0 -104
- package/graph/nodes/capabilities/supports/agents/gemini.yaml +0 -104
- package/graph/nodes/capabilities/supports/agents/omp.yaml +0 -74
- package/graph/nodes/capabilities/supports/agents/openclaw.yaml +0 -67
- package/graph/nodes/capabilities/supports/agents/opencode.yaml +0 -103
- package/graph/nodes/capabilities/supports/agents/pi.yaml +0 -65
- package/graph/nodes/capabilities/supports/provider-versions.yaml +0 -73
- package/graph/nodes/capabilities/supports/transport-runtimes.yaml +0 -122
- package/graph/nodes/evidence/babysitter-agent-and-claude-web.yaml +0 -83
- package/graph/nodes/evidence/claims.yaml +0 -315
- package/graph/nodes/evidence/claude-code-capability-claims.yaml +0 -170
- package/graph/nodes/evidence/claude-code-docs-core.yaml +0 -103
- package/graph/nodes/evidence/claude-code-docs-extensions.yaml +0 -114
- package/graph/nodes/evidence/codex-web.yaml +0 -155
- package/graph/nodes/evidence/copilot-web.yaml +0 -213
- package/graph/nodes/evidence/cursor-web.yaml +0 -191
- package/graph/nodes/evidence/evidence-sources.yaml +0 -206
- package/graph/nodes/evidence/gemini-cli-web.yaml +0 -177
- package/graph/nodes/evidence/omp-web.yaml +0 -129
- package/graph/nodes/evidence/opencode-web.yaml +0 -144
- package/graph/nodes/hooks-and-plugins/hook-mappings.yaml +0 -399
- package/graph/nodes/hooks-and-plugins/hook-surfaces.yaml +0 -160
- package/graph/nodes/hooks-and-plugins/plugin-artifacts.yaml +0 -229
- package/graph/nodes/hooks-and-plugins/plugin-targets.yaml +0 -330
- package/graph/nodes/models.yaml +0 -103
- package/graph/nodes/processes-and-packages/ci-surfaces.yaml +0 -45
- package/graph/nodes/processes-and-packages/packages.yaml +0 -89
- package/graph/nodes/processes-and-packages/processes.yaml +0 -44
- package/graph/nodes/providers/products.yaml +0 -102
- package/graph/nodes/providers/versions.yaml +0 -108
- package/graph/nodes/runtime-semantics/discovery-signals-hooks.yaml +0 -185
- package/graph/nodes/runtime-semantics/discovery-signals-host.yaml +0 -254
- package/graph/nodes/runtime-semantics/lifecycle-semantics.yaml +0 -151
- package/graph/nodes/runtime-semantics/paths.yaml +0 -289
- package/graph/nodes/runtime-semantics/session-semantics.yaml +0 -214
- package/graph/nodes/transports.yaml +0 -202
- package/graph/schema/ontology-schema.yaml +0 -529
package/dist/assets.d.ts
ADDED
|
@@ -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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"}
|