@moldea.ai/adapter-claude-agent-sdk 1.0.4 → 2.0.0
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/index.js +24 -17
- package/dist/inspection/handoffs.d.ts +2 -2
- package/dist/inspection/handoffs.d.ts.map +1 -1
- package/dist/inspection/inspection.d.ts.map +1 -1
- package/dist/inspection/session.d.ts +1 -1
- package/dist/inspection/session.d.ts.map +1 -1
- package/dist/inspection/types.d.ts +4 -3
- package/dist/inspection/types.d.ts.map +1 -1
- package/dist/package-discovery/index.d.ts +3 -2
- package/dist/package-discovery/index.d.ts.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -8,10 +8,10 @@ The package implements the official `claude-agent-sdk` runtime adapter for `@mol
|
|
|
8
8
|
|
|
9
9
|
## Supported target
|
|
10
10
|
|
|
11
|
-
Version `
|
|
11
|
+
Version `2.0.0` supports:
|
|
12
12
|
|
|
13
13
|
- Repository Format version `1`
|
|
14
|
-
- `@moldea.ai/core
|
|
14
|
+
- `@moldea.ai/core >=3.0.0 <4.0.0`
|
|
15
15
|
- TypeScript ESM source
|
|
16
16
|
- npm `@anthropic-ai/claude-agent-sdk >=0.3.234 <0.4.0`
|
|
17
17
|
- directly exported functions containing direct `query({ ... })` calls
|
package/dist/index.js
CHANGED
|
@@ -2,6 +2,7 @@ import { posix } from "node:path";
|
|
|
2
2
|
import { intersects, subset, validRange } from "semver";
|
|
3
3
|
import ts from "typescript";
|
|
4
4
|
import { parseRepositoryPath } from "@moldea.ai/repository";
|
|
5
|
+
import { readRuntimeAdapterFile } from "@moldea.ai/core/adapter";
|
|
5
6
|
//#region src/constants/index.ts
|
|
6
7
|
var CLAUDE_AGENT_SDK_ADAPTER_ID = "claude-agent-sdk";
|
|
7
8
|
var CLAUDE_AGENT_SDK_PACKAGE_NAME = "@anthropic-ai/claude-agent-sdk";
|
|
@@ -1773,9 +1774,9 @@ var resolveMapEntryName = async (session, inspected, entry) => {
|
|
|
1773
1774
|
const result = await resolveClaudeAgentSdkStaticString(session, inspected.analysis, keyExpression);
|
|
1774
1775
|
return result.kind === "supported" ? result.value : null;
|
|
1775
1776
|
};
|
|
1776
|
-
var
|
|
1777
|
-
|
|
1778
|
-
|
|
1777
|
+
var resolveMappedAgent = (context, target) => context.resolveAgent({
|
|
1778
|
+
path: target.path,
|
|
1779
|
+
symbol: target.symbol
|
|
1779
1780
|
});
|
|
1780
1781
|
var inspectRoutingDescription = async (session, sourceAgentId, target, targetAgent, runtimeName, diagnostics) => {
|
|
1781
1782
|
const canonicalDescription = targetAgent.handoffDescription?.value ?? targetAgent.description.value;
|
|
@@ -1796,6 +1797,7 @@ var inspectRoutingDescription = async (session, sourceAgentId, target, targetAge
|
|
|
1796
1797
|
};
|
|
1797
1798
|
/** Inspects active query-configured programmatic subagent registrations and routing metadata. */
|
|
1798
1799
|
var inspectClaudeAgentSdkHandoffs = async (context, session, inspected, evidence, diagnostics) => {
|
|
1800
|
+
const resolvedAgents = /* @__PURE__ */ new Map();
|
|
1799
1801
|
const collectionReferences = collectClaudeAgentSdkRelationshipIdentifiers(inspected.wrapper.contexts.flatMap((queryContext) => [
|
|
1800
1802
|
queryContext.tools,
|
|
1801
1803
|
queryContext.disallowedTools,
|
|
@@ -1819,8 +1821,8 @@ var inspectClaudeAgentSdkHandoffs = async (context, session, inspected, evidence
|
|
|
1819
1821
|
...unresolvedTarget,
|
|
1820
1822
|
definition: applyClaudeAgentSdkAgentMutations(unresolvedTarget.analysis, unresolvedTarget.definition, collectClaudeAgentSdkAgentDefinitionReferences(unresolvedTarget.analysis))
|
|
1821
1823
|
});
|
|
1822
|
-
const
|
|
1823
|
-
const mappedAgent =
|
|
1824
|
+
const resolution = resolveMappedAgent(context, target);
|
|
1825
|
+
const mappedAgent = resolution.kind === "matched" ? resolution.agent : void 0;
|
|
1824
1826
|
const safeRuntimeName = isClaudeAgentSdkMachineString(runtimeName) ? runtimeName : null;
|
|
1825
1827
|
const details = {
|
|
1826
1828
|
delegationAvailabilitySource: queryContext.tools.kind === "absent" ? "default-built-in-tools" : "explicit-built-in-tools",
|
|
@@ -1830,8 +1832,16 @@ var inspectClaudeAgentSdkHandoffs = async (context, session, inspected, evidence
|
|
|
1830
1832
|
...mappedAgent === void 0 ? {} : { targetAgentId: mappedAgent.id },
|
|
1831
1833
|
...safeRuntimeName === null ? {} : { targetRuntimeName: safeRuntimeName }
|
|
1832
1834
|
};
|
|
1833
|
-
if (
|
|
1834
|
-
else if (mappedAgent !== void 0)
|
|
1835
|
+
if (resolution.kind === "ambiguous") addClaudeAgentSdkDiagnostic(diagnostics, "CLAUDE_AGENT_SDK_HANDOFF_TARGET_AMBIGUOUS", inspected.analysis.path, inspected.agent.id, locateClaudeAgentSdkNode(inspected.analysis, entry.value), void 0, safeRuntimeName === null ? {} : { targetRuntimeName: safeRuntimeName });
|
|
1836
|
+
else if (mappedAgent !== void 0) {
|
|
1837
|
+
await inspectRoutingDescription(session, inspected.agent.id, target, mappedAgent, runtimeName, diagnostics);
|
|
1838
|
+
resolvedAgents.set(mappedAgent.id, Object.freeze({
|
|
1839
|
+
agent: mappedAgent,
|
|
1840
|
+
analysis: target.analysis,
|
|
1841
|
+
definition: target.definition,
|
|
1842
|
+
kind: "programmatic-agent-definition"
|
|
1843
|
+
}));
|
|
1844
|
+
}
|
|
1835
1845
|
evidence.push(createClaudeAgentSdkEvidence({
|
|
1836
1846
|
agentId: inspected.agent.id,
|
|
1837
1847
|
capabilityId: null,
|
|
@@ -1847,6 +1857,7 @@ var inspectClaudeAgentSdkHandoffs = async (context, session, inspected, evidence
|
|
|
1847
1857
|
}));
|
|
1848
1858
|
}
|
|
1849
1859
|
}
|
|
1860
|
+
return Object.freeze([...resolvedAgents.values()]);
|
|
1850
1861
|
};
|
|
1851
1862
|
//#endregion
|
|
1852
1863
|
//#region src/inspection/package-inspection.ts
|
|
@@ -2021,7 +2032,7 @@ var discoverClaudeAgentSdkPackage = async (repository, sourcePath, signal) => {
|
|
|
2021
2032
|
packageName: CLAUDE_AGENT_SDK_PACKAGE_NAME,
|
|
2022
2033
|
reader: {
|
|
2023
2034
|
getEntry: (path) => repository.getEntry(parseRepositoryPath(path), repositoryOptions),
|
|
2024
|
-
readFile: (path) => repository
|
|
2035
|
+
readFile: (path) => readRuntimeAdapterFile(repository, parseRepositoryPath(path), repositoryOptions)
|
|
2025
2036
|
},
|
|
2026
2037
|
...signal === void 0 ? {} : { signal },
|
|
2027
2038
|
sourcePath,
|
|
@@ -2047,7 +2058,7 @@ var createClaudeAgentSdkInspectionSession = (context) => createInspectionSession
|
|
|
2047
2058
|
analyzeSource: analyzeClaudeAgentSdkSource,
|
|
2048
2059
|
discoverPackage: (path, signal) => discoverClaudeAgentSdkPackage(context.repository, path, signal),
|
|
2049
2060
|
getEntry: (path, signal) => context.repository.getEntry(path, signal === void 0 ? void 0 : { signal }),
|
|
2050
|
-
readFile: (path, signal) => context.repository
|
|
2061
|
+
readFile: (path, signal) => readRuntimeAdapterFile(context.repository, path, signal === void 0 ? void 0 : { signal }),
|
|
2051
2062
|
...context.signal === void 0 ? {} : { signal: context.signal }
|
|
2052
2063
|
});
|
|
2053
2064
|
//#endregion
|
|
@@ -2430,17 +2441,13 @@ var inspectClaudeAgentSdk = async (context) => {
|
|
|
2430
2441
|
const session = createClaudeAgentSdkInspectionSession(context);
|
|
2431
2442
|
const evidence = [];
|
|
2432
2443
|
const diagnostics = [];
|
|
2433
|
-
const agents = [...context.agents].sort((left, right) => compareClaudeAgentSdkStrings(left.id, right.id));
|
|
2434
2444
|
const inspectedAgents = [];
|
|
2435
|
-
|
|
2436
|
-
|
|
2437
|
-
|
|
2438
|
-
if (inspected !== null) inspectedAgents.push(inspected);
|
|
2439
|
-
}
|
|
2440
|
-
for (const inspected of inspectedAgents) {
|
|
2445
|
+
const inspected = await inspectAgent(session, context.agent, evidence, diagnostics);
|
|
2446
|
+
if (inspected !== null) inspectedAgents.push(inspected);
|
|
2447
|
+
if (inspected !== null) {
|
|
2441
2448
|
context.signal?.throwIfAborted();
|
|
2442
2449
|
await inspectClaudeAgentSdkRelationships(session, inspected, evidence, diagnostics);
|
|
2443
|
-
if (inspected.kind === "query-wrapper") await inspectClaudeAgentSdkHandoffs(context, session, inspected, evidence, diagnostics);
|
|
2450
|
+
if (inspected.kind === "query-wrapper") inspectedAgents.push(...await inspectClaudeAgentSdkHandoffs(context, session, inspected, evidence, diagnostics));
|
|
2444
2451
|
}
|
|
2445
2452
|
await inspectClaudeAgentSdkTools(session, inspectedAgents, evidence, diagnostics);
|
|
2446
2453
|
context.signal?.throwIfAborted();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { IRuntimeAdapterEvidence } from '@moldea.ai/core';
|
|
2
2
|
import type { IAdapterDiagnostic, IRuntimeAdapterContext } from '@moldea.ai/core/adapter';
|
|
3
3
|
import type { IClaudeAgentSdkInspectionSession } from '../contracts/index.js';
|
|
4
|
-
import type { IClaudeAgentSdkInspectedQueryAgent } from './types.js';
|
|
4
|
+
import type { IClaudeAgentSdkInspectedDefinitionAgent, IClaudeAgentSdkInspectedQueryAgent } from './types.js';
|
|
5
5
|
/** Inspects active query-configured programmatic subagent registrations and routing metadata. */
|
|
6
|
-
export declare const inspectClaudeAgentSdkHandoffs: (context: IRuntimeAdapterContext, session: IClaudeAgentSdkInspectionSession, inspected: IClaudeAgentSdkInspectedQueryAgent, evidence: IRuntimeAdapterEvidence[], diagnostics: IAdapterDiagnostic[]) => Promise<
|
|
6
|
+
export declare const inspectClaudeAgentSdkHandoffs: (context: IRuntimeAdapterContext, session: IClaudeAgentSdkInspectionSession, inspected: IClaudeAgentSdkInspectedQueryAgent, evidence: IRuntimeAdapterEvidence[], diagnostics: IAdapterDiagnostic[]) => Promise<readonly IClaudeAgentSdkInspectedDefinitionAgent[]>;
|
|
7
7
|
//# sourceMappingURL=handoffs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handoffs.d.ts","sourceRoot":"","sources":["../../src/inspection/handoffs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"handoffs.d.ts","sourceRoot":"","sources":["../../src/inspection/handoffs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EAEvB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EACV,gCAAgC,EAGjC,MAAM,uBAAuB,CAAC;AAgB/B,OAAO,KAAK,EACV,uCAAuC,EACvC,kCAAkC,EACnC,MAAM,YAAY,CAAC;AA8FpB,iGAAiG;AACjG,eAAO,MAAM,6BAA6B,GACxC,SAAS,sBAAsB,EAC/B,SAAS,gCAAgC,EACzC,WAAW,kCAAkC,EAC7C,UAAU,uBAAuB,EAAE,EACnC,aAAa,kBAAkB,EAAE,KAChC,OAAO,CAAC,SAAS,uCAAuC,EAAE,CA0I5D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspection.d.ts","sourceRoot":"","sources":["../../src/inspection/inspection.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"inspection.d.ts","sourceRoot":"","sources":["../../src/inspection/inspection.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,yBAAyB,CAAC;AA6IjC;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,qBAAqB,GAChC,SAAS,sBAAsB,KAC9B,OAAO,CAAC,qBAAqB,CAoC/B,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type IRuntimeAdapterContext } from '@moldea.ai/core/adapter';
|
|
2
2
|
import type { IClaudeAgentSdkInspectionSession } from '../contracts/index.js';
|
|
3
3
|
/** Creates one operation-local Claude Agent SDK inspection session. */
|
|
4
4
|
export declare const createClaudeAgentSdkInspectionSession: (context: IRuntimeAdapterContext) => IClaudeAgentSdkInspectionSession;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/inspection/session.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/inspection/session.ts"],"names":[],"mappings":"AACA,OAAO,EAA0B,KAAK,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAE9F,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,uBAAuB,CAAC;AAI9E,uEAAuE;AACvE,eAAO,MAAM,qCAAqC,GAChD,SAAS,sBAAsB,KAC9B,gCAcC,CAAC"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import type { IIndexedAgent } from '@moldea.ai/core';
|
|
1
|
+
import type { IIndexedAgent } from '@moldea.ai/core/adapter';
|
|
2
2
|
import type { IClaudeAgentSdkAgentDefinition, IClaudeAgentSdkQueryWrapper, IClaudeAgentSdkSourceAnalysis } from '../contracts/index.js';
|
|
3
|
+
export type IClaudeAgentSdkScopedAgent = Pick<IIndexedAgent, 'declaration' | 'id'>;
|
|
3
4
|
export interface IClaudeAgentSdkInspectedQueryAgent {
|
|
4
|
-
readonly agent:
|
|
5
|
+
readonly agent: IClaudeAgentSdkScopedAgent;
|
|
5
6
|
readonly analysis: IClaudeAgentSdkSourceAnalysis;
|
|
6
7
|
readonly kind: 'query-wrapper';
|
|
7
8
|
readonly wrapper: IClaudeAgentSdkQueryWrapper;
|
|
8
9
|
}
|
|
9
10
|
export interface IClaudeAgentSdkInspectedDefinitionAgent {
|
|
10
|
-
readonly agent:
|
|
11
|
+
readonly agent: IClaudeAgentSdkScopedAgent;
|
|
11
12
|
readonly analysis: IClaudeAgentSdkSourceAnalysis;
|
|
12
13
|
readonly definition: IClaudeAgentSdkAgentDefinition;
|
|
13
14
|
readonly kind: 'programmatic-agent-definition';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/inspection/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/inspection/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,KAAK,EACV,8BAA8B,EAC9B,2BAA2B,EAC3B,6BAA6B,EAC9B,MAAM,uBAAuB,CAAC;AAG/B,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC,CAAC;AAEnF,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,KAAK,EAAE,0BAA0B,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,6BAA6B,CAAC;IACjD,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,2BAA2B,CAAC;CAC/C;AAGD,MAAM,WAAW,uCAAuC;IACtD,QAAQ,CAAC,KAAK,EAAE,0BAA0B,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,6BAA6B,CAAC;IACjD,QAAQ,CAAC,UAAU,EAAE,8BAA8B,CAAC;IACpD,QAAQ,CAAC,IAAI,EAAE,+BAA+B,CAAC;CAChD;AAED,MAAM,MAAM,6BAA6B,GACvC,uCAAuC,GAAG,kCAAkC,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { type IRuntimeAdapterRepository } from '@moldea.ai/core/adapter';
|
|
2
|
+
import type { IRepositoryPath } from '@moldea.ai/repository';
|
|
2
3
|
import type { IClaudeAgentSdkPackageDiscoveryResult } from '../contracts/index.js';
|
|
3
4
|
/**
|
|
4
5
|
* Creates nearest-to-root package-manifest candidates for one source path.
|
|
@@ -23,5 +24,5 @@ export declare const createPackageManifestCandidatePaths: (sourcePath: IReposito
|
|
|
23
24
|
* - RESOURCE_LIMIT_EXCEEDED: A repository reading resource limit was exceeded.
|
|
24
25
|
* - ABORTED: The repository operation was aborted.
|
|
25
26
|
*/
|
|
26
|
-
export declare const discoverClaudeAgentSdkPackage: (repository:
|
|
27
|
+
export declare const discoverClaudeAgentSdkPackage: (repository: IRuntimeAdapterRepository, sourcePath: IRepositoryPath, signal?: AbortSignal) => Promise<IClaudeAgentSdkPackageDiscoveryResult>;
|
|
27
28
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/package-discovery/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/package-discovery/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAA0B,KAAK,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACjG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAO7D,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,uBAAuB,CAAC;AAEnF;;;;GAIG;AACH,eAAO,MAAM,mCAAmC,GAC9C,YAAY,eAAe,KAC1B,SAAS,eAAe,EACgD,CAAC;AAE5E;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,6BAA6B,GACxC,YAAY,yBAAyB,EACrC,YAAY,eAAe,EAC3B,SAAS,WAAW,KACnB,OAAO,CAAC,qCAAqC,CA6B/C,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@moldea.ai/adapter-claude-agent-sdk",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "Deterministic runtime evidence and diagnostics for Claude Agent SDK query and subagent integrations.",
|
|
5
5
|
"homepage": "https://github.com/moldea-ai/packages/tree/main/projects/adapter-claude-agent-sdk#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -33,8 +33,8 @@
|
|
|
33
33
|
"node": ">=22.11.0"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@moldea.ai/core": "
|
|
37
|
-
"@moldea.ai/repository": "
|
|
36
|
+
"@moldea.ai/core": "3.0.0",
|
|
37
|
+
"@moldea.ai/repository": "2.0.0",
|
|
38
38
|
"semver": "7.8.5",
|
|
39
39
|
"typescript": "6.0.3"
|
|
40
40
|
},
|