@a5c-ai/agent-catalog 5.0.1-staging.e80a53359 → 5.0.1-staging.eaefc7aec

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.
@@ -1 +1 @@
1
- {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"AAiDA,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EAIpB,WAAW,EACX,cAAc,EAEd,aAAa,EAGb,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EAGlB,sBAAsB,EACtB,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,cAAc,EACf,MAAM,UAAU,CAAC;AA0xBlB,UAAU,qBAAqB;IAC7B,KAAK,EAAE,YAAY,CAAC;IACpB,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,SAAS,EAAE,oBAAoB,EAAE,CAAC;IAClC,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACxC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACxD,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;IAChD,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IAC1D,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnC,aAAa,EAAE,sBAAsB,EAAE,CAAC;IACxC,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;IAC5C,YAAY,EAAE,YAAY,CAAC;CAC5B;AA2FD,wBAAgB,0BAA0B,IAAI,IAAI,CAGjD;AAED,wBAAgB,mBAAmB,IAAI,qBAAqB,CAK3D;AAoDD,eAAO,MAAM,cAAc,eAA8D,CAAC;AAC1F,eAAO,MAAM,eAAe,gBAA+D,CAAC;AAC5F,eAAO,MAAM,QAAQ,kBAAwD,CAAC;AAC9E,eAAO,MAAM,MAAM,eAAsD,CAAC;AAC1E,eAAO,MAAM,SAAS,wBAAyD,CAAC;AAChF,eAAO,MAAM,MAAM,gBAAsD,CAAC;AAC1E,eAAO,MAAM,UAAU,uBAA0D,CAAC;AAClF,eAAO,MAAM,YAAY,wBAA4D,CAAC;AACtF,eAAO,MAAM,UAAU,sBAA0D,CAAC;AAClF,eAAO,MAAM,KAAK,kBAAqD,CAAC;AACxE,eAAO,MAAM,eAAe,iBAA8D,CAAC;AAC3F,eAAO,MAAM,iBAAiB,mBAAgE,CAAC;AAC/F,eAAO,MAAM,SAAS,qBAAyD,CAAC;AAChF,eAAO,MAAM,oBAAoB,qBAAkE,CAAC;AACpG,eAAO,MAAM,MAAM,gBAAsD,CAAC;AAC1E,eAAO,MAAM,eAAe,0BAA8D,CAAC;AAC3F,eAAO,MAAM,oBAAoB,qCAAmE,CAAC;AACrG,eAAO,MAAM,yBAAyB,yBAAsE,CAAC;AAC7G,eAAO,MAAM,iBAAiB,yCAAiE,CAAC;AAChG,eAAO,MAAM,cAAc,qBAA6D,CAAC;AACzF,eAAO,MAAM,cAAc,0BAA6D,CAAC;AACzF,eAAO,MAAM,qBAAqB,uBAAoE,CAAC;AACvG,eAAO,MAAM,aAAa,cAA6D,CAAC"}
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;AAk1BlB,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
  }
@@ -265,21 +266,14 @@ function agentPluginTargetIds(agentNodeId) {
265
266
  .map((node) => valueAsString(node.targetId))
266
267
  .filter(Boolean);
267
268
  }
268
- function matchesAgentId(nodeAgentId, targetAgentId, targetAliases) {
269
+ function matchesAgentId(nodeAgentId, targetAgentId) {
269
270
  if (nodeAgentId === targetAgentId)
270
271
  return true;
271
272
  // Handle "agent:codex" matching "codex"
272
- const nodeSlug = nodeAgentId.startsWith("agent:") ? nodeAgentId.slice("agent:".length) : nodeAgentId;
273
- const targetSlug = targetAgentId.startsWith("agent:") ? targetAgentId.slice("agent:".length) : targetAgentId;
274
- if (nodeSlug === targetSlug)
273
+ if (nodeAgentId.startsWith("agent:") && nodeAgentId.slice("agent:".length) === targetAgentId)
274
+ return true;
275
+ if (targetAgentId.startsWith("agent:") && targetAgentId.slice("agent:".length) === nodeAgentId)
275
276
  return true;
276
- // Handle host renames via aliases (e.g. agentId "gemini" with alias "gemini-cli")
277
- if (targetAliases) {
278
- for (const alias of targetAliases) {
279
- if (nodeSlug === alias)
280
- return true;
281
- }
282
- }
283
277
  return false;
284
278
  }
285
279
  function agentSessionNuanceIds(agentNodeId) {
@@ -288,14 +282,13 @@ function agentSessionNuanceIds(agentNodeId) {
288
282
  .filter(Boolean);
289
283
  if (edgeBased.length > 0)
290
284
  return edgeBased;
291
- // Fallback: find SessionSemantics nodes whose agentId matches (including aliases)
285
+ // Fallback: find SessionSemantics nodes whose agentId matches
292
286
  const agentNode = (0, atlas_bridge_1.getNodeById)(agentNodeId);
293
287
  const agentId = valueAsString(agentNode?.agentId);
294
288
  if (!agentId)
295
289
  return [];
296
- const aliases = stringArray(agentNode?.aliases);
297
290
  return (0, atlas_bridge_1.listNodesByKind)("SessionSemantics")
298
- .filter((node) => matchesAgentId(valueAsString(node.agentId), agentId, aliases))
291
+ .filter((node) => matchesAgentId(valueAsString(node.agentId), agentId))
299
292
  .map((node) => valueAsString(node.sessionSemanticsId))
300
293
  .filter(Boolean);
301
294
  }
@@ -305,16 +298,15 @@ function agentLifecycleNuanceIds(agentNodeId) {
305
298
  .filter(Boolean);
306
299
  if (edgeBased.length > 0)
307
300
  return edgeBased;
308
- // Fallback: find LifecycleSemantics nodes whose agentId and versionRange match (including aliases)
301
+ // Fallback: find LifecycleSemantics nodes whose agentId and versionRange match
309
302
  const agentNode = (0, atlas_bridge_1.getNodeById)(agentNodeId);
310
303
  const agentId = valueAsString(agentNode?.agentId);
311
304
  const agentVersionRange = valueAsString(agentNode?.versionRange);
312
305
  if (!agentId)
313
306
  return [];
314
- const aliases = stringArray(agentNode?.aliases);
315
307
  return (0, atlas_bridge_1.listNodesByKind)("LifecycleSemantics")
316
308
  .filter((node) => {
317
- if (!matchesAgentId(valueAsString(node.agentId), agentId, aliases))
309
+ if (!matchesAgentId(valueAsString(node.agentId), agentId))
318
310
  return false;
319
311
  // If agent has a specific version range, match lifecycle nodes with same or broader range
320
312
  if (agentVersionRange) {
@@ -327,6 +319,76 @@ function agentLifecycleNuanceIds(agentNodeId) {
327
319
  .map((node) => valueAsString(node.lifecycleSemanticsId))
328
320
  .filter(Boolean);
329
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 parseToolSchemaFormat(value) {
375
+ const normalized = valueAsString(value);
376
+ if (normalized === "openai" || normalized === "anthropic" || normalized === "google")
377
+ return normalized;
378
+ return "none";
379
+ }
380
+ function parseCodecCapabilities(value) {
381
+ if (!value || typeof value !== 'object')
382
+ return undefined;
383
+ const obj = value;
384
+ return {
385
+ supportsTools: obj.supportsTools === true || obj.supportsTools === "true",
386
+ supportsStreaming: obj.supportsStreaming === true || obj.supportsStreaming === "true",
387
+ supportsTokenCounting: obj.supportsTokenCounting === true || obj.supportsTokenCounting === "true",
388
+ costTracking: obj.costTracking === true || obj.costTracking === "true",
389
+ toolSchemaFormat: parseToolSchemaFormat(obj.toolSchemaFormat),
390
+ };
391
+ }
330
392
  function toAgentVersion(node) {
331
393
  return {
332
394
  agentId: valueAsString(node.agentId),
@@ -350,6 +412,14 @@ function toAgentVersion(node) {
350
412
  sessionNuanceIds: agentSessionNuanceIds(node.id),
351
413
  lifecycleNuanceIds: agentLifecycleNuanceIds(node.id),
352
414
  evidenceIds: nodeEvidenceIds(node),
415
+ interactiveSignals: node.interactiveSignals != null ? {
416
+ turnCompletePattern: valueAsString(node.interactiveSignals?.turnCompletePattern) || undefined,
417
+ exitOnNonInteractive: node.interactiveSignals?.exitOnNonInteractive === true ? true : undefined,
418
+ nonInteractiveMode: valueAsString(node.interactiveSignals?.nonInteractiveMode) || undefined,
419
+ interactiveMode: valueAsString(node.interactiveSignals?.interactiveMode),
420
+ } : undefined,
421
+ hookSupport: parseHookSupport(node.hookSupport),
422
+ bridgeCapabilities: parseBridgeCapabilities(node.bridgeCapabilities),
353
423
  };
354
424
  }
355
425
  function evidenceIdFromNode(node) {
@@ -418,25 +488,16 @@ function synthesizeClaimsFromEvidenceRefs(node) {
418
488
  });
419
489
  }
420
490
  if (webIds.length > 0) {
421
- // Look for existing Claim nodes matching web evidence IDs
422
- // Prefer claims whose claimId contains the support node's capability ID
423
- const capabilityId = valueAsString(node.capabilityId);
424
- const allWebClaims = (0, atlas_bridge_1.listNodesByKind)("Claim").filter((claimNode) => {
491
+ // Look for an existing Claim node matching a web evidence ID
492
+ const matchedWebClaim = (0, atlas_bridge_1.listNodesByKind)("Claim").find((claimNode) => {
425
493
  const claimEvidenceIds = stringArray(claimNode.evidenceIds);
426
494
  return claimEvidenceIds.some((id) => webIds.includes(id)) && valueAsString(claimNode.provenanceKind) !== "repo-observation";
427
495
  });
428
- // Sort: prefer claims whose claimId contains the capabilityId (more specific)
429
- const sortedWebClaims = [...allWebClaims].sort((a, b) => {
430
- const aSpecific = valueAsString(a.claimId).includes(capabilityId) ? 1 : 0;
431
- const bSpecific = valueAsString(b.claimId).includes(capabilityId) ? 1 : 0;
432
- return bSpecific - aSpecific;
433
- });
434
- const matchedWebClaim = sortedWebClaims[0];
435
496
  if (matchedWebClaim) {
436
497
  const claim = toClaimRecord(matchedWebClaim);
437
- // Ensure partial/inferred vendor claims always have unresolved gaps
498
+ // Ensure partial vendor claims always have unresolved gaps
438
499
  if (claim.evidenceStrength !== "corroborated" && claim.unresolvedGaps.length === 0) {
439
- claim.unresolvedGaps = [`Vendor evidence for ${capabilityId} has not been fully corroborated.`];
500
+ claim.unresolvedGaps = [`Vendor evidence for ${valueAsString(node.capabilityId)} has not been fully corroborated.`];
440
501
  }
441
502
  claims.push(claim);
442
503
  }
@@ -637,6 +698,7 @@ const BABYSITTER_PLUGIN_TARGETS = new Set([
637
698
  "plugin-target:claude-code", "plugin-target:codex", "plugin-target:cursor",
638
699
  "plugin-target:gemini-cli", "plugin-target:copilot-cli", "plugin-target:pi",
639
700
  "plugin-target:omp", "plugin-target:opencode", "plugin-target:openclaw",
701
+ "plugin-target:hermes",
640
702
  ]);
641
703
  // Atlas uses different IDs for some targets
642
704
  const TARGET_ID_ALIASES = {