@a5c-ai/agent-catalog 5.0.1-staging.f672fe79b → 5.0.1-staging.f6da8cd208d2
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/README.md +2 -2
- package/dist/atlas-bridge.js +2 -2
- package/dist/data.d.ts.map +1 -1
- package/dist/data.js +115 -0
- package/dist/discovery-snapshot.json +11688 -11664
- package/dist/models.d.ts +132 -1
- package/dist/models.d.ts.map +1 -1
- package/dist/sdk.d.ts +68 -1
- package/dist/sdk.d.ts.map +1 -1
- package/dist/sdk.js +291 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
`@a5c-ai/agent-catalog` is a public package for the shared agent ontology, discovery catalog, packaged evidence shards, and graph-backed helper APIs used across the Babysitter toolchain.
|
|
4
4
|
|
|
5
|
-
The package is published through the central `
|
|
5
|
+
The package is published through the central `publish.yml` and `publish-packages-from-tag.yml` workflows. `main` publishes production releases, and `staging` publishes prerelease builds with the `staging` dist-tag.
|
|
6
6
|
|
|
7
7
|
## What ships
|
|
8
8
|
|
|
@@ -79,7 +79,7 @@ When graph structure or evidence claims change, update the YAML inputs first, th
|
|
|
79
79
|
|
|
80
80
|
- The package must stay publishable: it ships with `publishConfig.access = public`, includes this README in `files`, and is owned by the central publish workflows.
|
|
81
81
|
- `npm run ci:test --workspace=@a5c-ai/agent-catalog` is the release-equivalent contract for this workspace. It covers build output, graph validation, evidence freshness, package contract tests, and the publish lifecycle policy check.
|
|
82
|
-
- `
|
|
82
|
+
- `publish.yml` and `publish-packages-from-tag.yml` version, pack, and publish this package alongside the SDK, hooks-mux, agent-mux, and plugin compiler surfaces that consume it.
|
|
83
83
|
|
|
84
84
|
## Downstream compatibility
|
|
85
85
|
|
package/dist/atlas-bridge.js
CHANGED
|
@@ -27,12 +27,12 @@ const atlas_1 = require("@a5c-ai/atlas");
|
|
|
27
27
|
// Record adaptation: Atlas `_kind` -> agent-catalog `kind`
|
|
28
28
|
// ---------------------------------------------------------------------------
|
|
29
29
|
const AGENT_CATALOG_KINDS = new Set([
|
|
30
|
-
"AgentProduct", "AgentVersion", "Capability", "CapabilitySupport",
|
|
30
|
+
"AdapterModel", "AgentProduct", "AgentVersion", "Capability", "CapabilitySupport",
|
|
31
31
|
"CiSurface", "Claim", "DiscoverySignal", "EvidenceSource",
|
|
32
32
|
"HookMapping", "HookSurface", "LifecycleSemantics", "Modality",
|
|
33
33
|
"ModelFamily", "ModelProviderProduct", "ModelProviderVersion", "ModelVersion",
|
|
34
34
|
"PackageSurface", "PathDescriptor", "PluginArtifact", "PluginTarget",
|
|
35
|
-
"ProcessDescriptor", "SessionSemantics", "TransportProtocol", "TransportRuntime",
|
|
35
|
+
"ProcessDescriptor", "ProviderTranslation", "SessionSemantics", "TransportProtocol", "TransportRuntime",
|
|
36
36
|
]);
|
|
37
37
|
function isAgentCatalogRecord(record) {
|
|
38
38
|
return AGENT_CATALOG_KINDS.has(record._kind);
|
package/dist/data.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"AAiDA,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,
|
|
1
|
+
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"AAiDA,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EAEZ,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EAIpB,WAAW,EAEX,cAAc,EAEd,aAAa,EAKb,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,EAEb,mBAAmB,EACnB,cAAc,EACf,MAAM,UAAU,CAAC;AAq3BlB,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
|
@@ -121,6 +121,7 @@ function toTransportDescriptor(node) {
|
|
|
121
121
|
persistentSession: Boolean(node.persistentSession),
|
|
122
122
|
stdinInjection: Boolean(node.stdinInjection),
|
|
123
123
|
blockingStopHook: Boolean(node.blockingStopHook),
|
|
124
|
+
codecCapabilities: parseCodecCapabilities(node.codecCapabilities),
|
|
124
125
|
evidenceIds: nodeEvidenceIds(node),
|
|
125
126
|
};
|
|
126
127
|
}
|
|
@@ -318,6 +319,110 @@ function agentLifecycleNuanceIds(agentNodeId) {
|
|
|
318
319
|
.map((node) => valueAsString(node.lifecycleSemanticsId))
|
|
319
320
|
.filter(Boolean);
|
|
320
321
|
}
|
|
322
|
+
function toHookSupportLevel(value) {
|
|
323
|
+
const normalized = valueAsString(value);
|
|
324
|
+
if (normalized === 'native' || normalized === 'emulated')
|
|
325
|
+
return normalized;
|
|
326
|
+
return 'unsupported';
|
|
327
|
+
}
|
|
328
|
+
function parseHookSupportMap(value) {
|
|
329
|
+
const obj = (value && typeof value === 'object') ? value : {};
|
|
330
|
+
return {
|
|
331
|
+
sessionStart: toHookSupportLevel(obj.sessionStart),
|
|
332
|
+
stop: toHookSupportLevel(obj.stop),
|
|
333
|
+
userPromptSubmit: toHookSupportLevel(obj.userPromptSubmit),
|
|
334
|
+
preToolUse: toHookSupportLevel(obj.preToolUse),
|
|
335
|
+
sessionEnd: toHookSupportLevel(obj.sessionEnd),
|
|
336
|
+
};
|
|
337
|
+
}
|
|
338
|
+
function parsePartialHookSupportMap(value) {
|
|
339
|
+
const obj = (value && typeof value === 'object') ? value : {};
|
|
340
|
+
const result = {};
|
|
341
|
+
if (obj.sessionStart != null)
|
|
342
|
+
result.sessionStart = toHookSupportLevel(obj.sessionStart);
|
|
343
|
+
if (obj.stop != null)
|
|
344
|
+
result.stop = toHookSupportLevel(obj.stop);
|
|
345
|
+
if (obj.userPromptSubmit != null)
|
|
346
|
+
result.userPromptSubmit = toHookSupportLevel(obj.userPromptSubmit);
|
|
347
|
+
if (obj.preToolUse != null)
|
|
348
|
+
result.preToolUse = toHookSupportLevel(obj.preToolUse);
|
|
349
|
+
if (obj.sessionEnd != null)
|
|
350
|
+
result.sessionEnd = toHookSupportLevel(obj.sessionEnd);
|
|
351
|
+
return result;
|
|
352
|
+
}
|
|
353
|
+
function parseHookSupport(value) {
|
|
354
|
+
if (!value || typeof value !== 'object')
|
|
355
|
+
return undefined;
|
|
356
|
+
const obj = value;
|
|
357
|
+
if (!obj.interactive || typeof obj.interactive !== 'object')
|
|
358
|
+
return undefined;
|
|
359
|
+
return {
|
|
360
|
+
interactive: parseHookSupportMap(obj.interactive),
|
|
361
|
+
nonInteractive: parsePartialHookSupportMap(obj.nonInteractive),
|
|
362
|
+
};
|
|
363
|
+
}
|
|
364
|
+
function parseBridgeCapabilities(value) {
|
|
365
|
+
if (!value || typeof value !== 'object')
|
|
366
|
+
return undefined;
|
|
367
|
+
const obj = value;
|
|
368
|
+
return {
|
|
369
|
+
interactiveBridge: Boolean(obj.interactiveBridge),
|
|
370
|
+
sessionResume: Boolean(obj.sessionResume),
|
|
371
|
+
positionalPrompt: Boolean(obj.positionalPrompt),
|
|
372
|
+
};
|
|
373
|
+
}
|
|
374
|
+
function parseAdapterMetadata(value) {
|
|
375
|
+
if (!value || typeof value !== 'object')
|
|
376
|
+
return undefined;
|
|
377
|
+
const obj = value;
|
|
378
|
+
return {
|
|
379
|
+
installCommands: Array.isArray(obj.installCommands) ? obj.installCommands.map((c) => {
|
|
380
|
+
const cmd = c;
|
|
381
|
+
return { type: valueAsString(cmd.type), command: valueAsString(cmd.command) };
|
|
382
|
+
}) : undefined,
|
|
383
|
+
authMethods: Array.isArray(obj.authMethods) ? obj.authMethods.map((m) => {
|
|
384
|
+
const method = m;
|
|
385
|
+
return {
|
|
386
|
+
type: valueAsString(method.type),
|
|
387
|
+
name: valueAsString(method.name),
|
|
388
|
+
envVars: Array.isArray(method.envVars) ? method.envVars.map(String) : undefined,
|
|
389
|
+
};
|
|
390
|
+
}) : undefined,
|
|
391
|
+
authFiles: Array.isArray(obj.authFiles) ? obj.authFiles.map(String) : undefined,
|
|
392
|
+
hostEnvSignals: Array.isArray(obj.hostEnvSignals) ? obj.hostEnvSignals.map(String) : undefined,
|
|
393
|
+
sessionDir: valueAsString(obj.sessionDir) || undefined,
|
|
394
|
+
sessionPersistence: (['file', 'sqlite', 'none'].includes(valueAsString(obj.sessionPersistence)) ? valueAsString(obj.sessionPersistence) : undefined),
|
|
395
|
+
automationEnv: obj.automationEnv && typeof obj.automationEnv === 'object' ? Object.fromEntries(Object.entries(obj.automationEnv).map(([k, v]) => [k, String(v)])) : undefined,
|
|
396
|
+
approvalModes: Array.isArray(obj.approvalModes) ? obj.approvalModes.map(String) : undefined,
|
|
397
|
+
capabilityFlags: obj.capabilityFlags && typeof obj.capabilityFlags === 'object' ? obj.capabilityFlags : undefined,
|
|
398
|
+
runtimeHooks: obj.runtimeHooks && typeof obj.runtimeHooks === 'object' ? obj.runtimeHooks : undefined,
|
|
399
|
+
configSchema: obj.configSchema && typeof obj.configSchema === 'object' ? {
|
|
400
|
+
configFormat: valueAsString(obj.configSchema.configFormat) || undefined,
|
|
401
|
+
configFilePaths: Array.isArray(obj.configSchema.configFilePaths) ? obj.configSchema.configFilePaths.map(String) : undefined,
|
|
402
|
+
projectConfigFilePaths: Array.isArray(obj.configSchema.projectConfigFilePaths) ? obj.configSchema.projectConfigFilePaths.map(String) : undefined,
|
|
403
|
+
} : undefined,
|
|
404
|
+
displayName: valueAsString(obj.displayName) || undefined,
|
|
405
|
+
defaultModelId: valueAsString(obj.defaultModelId) || undefined,
|
|
406
|
+
};
|
|
407
|
+
}
|
|
408
|
+
function parseToolSchemaFormat(value) {
|
|
409
|
+
const normalized = valueAsString(value);
|
|
410
|
+
if (normalized === "openai" || normalized === "anthropic" || normalized === "google")
|
|
411
|
+
return normalized;
|
|
412
|
+
return "none";
|
|
413
|
+
}
|
|
414
|
+
function parseCodecCapabilities(value) {
|
|
415
|
+
if (!value || typeof value !== 'object')
|
|
416
|
+
return undefined;
|
|
417
|
+
const obj = value;
|
|
418
|
+
return {
|
|
419
|
+
supportsTools: obj.supportsTools === true || obj.supportsTools === "true",
|
|
420
|
+
supportsStreaming: obj.supportsStreaming === true || obj.supportsStreaming === "true",
|
|
421
|
+
supportsTokenCounting: obj.supportsTokenCounting === true || obj.supportsTokenCounting === "true",
|
|
422
|
+
costTracking: obj.costTracking === true || obj.costTracking === "true",
|
|
423
|
+
toolSchemaFormat: parseToolSchemaFormat(obj.toolSchemaFormat),
|
|
424
|
+
};
|
|
425
|
+
}
|
|
321
426
|
function toAgentVersion(node) {
|
|
322
427
|
return {
|
|
323
428
|
agentId: valueAsString(node.agentId),
|
|
@@ -341,6 +446,15 @@ function toAgentVersion(node) {
|
|
|
341
446
|
sessionNuanceIds: agentSessionNuanceIds(node.id),
|
|
342
447
|
lifecycleNuanceIds: agentLifecycleNuanceIds(node.id),
|
|
343
448
|
evidenceIds: nodeEvidenceIds(node),
|
|
449
|
+
interactiveSignals: node.interactiveSignals != null ? {
|
|
450
|
+
turnCompletePattern: valueAsString(node.interactiveSignals?.turnCompletePattern) || undefined,
|
|
451
|
+
exitOnNonInteractive: node.interactiveSignals?.exitOnNonInteractive === true ? true : undefined,
|
|
452
|
+
nonInteractiveMode: valueAsString(node.interactiveSignals?.nonInteractiveMode) || undefined,
|
|
453
|
+
interactiveMode: valueAsString(node.interactiveSignals?.interactiveMode),
|
|
454
|
+
} : undefined,
|
|
455
|
+
hookSupport: parseHookSupport(node.hookSupport),
|
|
456
|
+
bridgeCapabilities: parseBridgeCapabilities(node.bridgeCapabilities),
|
|
457
|
+
adapterMetadata: parseAdapterMetadata(node.adapterMetadata),
|
|
344
458
|
};
|
|
345
459
|
}
|
|
346
460
|
function evidenceIdFromNode(node) {
|
|
@@ -619,6 +733,7 @@ const BABYSITTER_PLUGIN_TARGETS = new Set([
|
|
|
619
733
|
"plugin-target:claude-code", "plugin-target:codex", "plugin-target:cursor",
|
|
620
734
|
"plugin-target:gemini-cli", "plugin-target:copilot-cli", "plugin-target:pi",
|
|
621
735
|
"plugin-target:omp", "plugin-target:opencode", "plugin-target:openclaw",
|
|
736
|
+
"plugin-target:hermes",
|
|
622
737
|
]);
|
|
623
738
|
// Atlas uses different IDs for some targets
|
|
624
739
|
const TARGET_ID_ALIASES = {
|