@contractspec/lib.ai-agent 1.57.0 → 1.59.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/dist/agent/agent-factory.d.ts +67 -71
- package/dist/agent/agent-factory.d.ts.map +1 -1
- package/dist/agent/agent-factory.js +658 -100
- package/dist/agent/agent.test.d.ts +2 -0
- package/dist/agent/agent.test.d.ts.map +1 -0
- package/dist/agent/contract-spec-agent.d.ts +48 -52
- package/dist/agent/contract-spec-agent.d.ts.map +1 -1
- package/dist/agent/contract-spec-agent.js +605 -146
- package/dist/agent/index.d.ts +4 -4
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +2102 -4
- package/dist/agent/json-runner.d.ts +15 -19
- package/dist/agent/json-runner.d.ts.map +1 -1
- package/dist/agent/json-runner.js +672 -57
- package/dist/agent/json-runner.test.d.ts +2 -0
- package/dist/agent/json-runner.test.d.ts.map +1 -0
- package/dist/agent/unified-agent.d.ts +132 -109
- package/dist/agent/unified-agent.d.ts.map +1 -1
- package/dist/agent/unified-agent.js +2011 -293
- package/dist/approval/index.d.ts +3 -2
- package/dist/approval/index.d.ts.map +1 -0
- package/dist/approval/index.js +128 -2
- package/dist/approval/workflow.d.ts +106 -110
- package/dist/approval/workflow.d.ts.map +1 -1
- package/dist/approval/workflow.js +126 -157
- package/dist/exporters/claude-agent-exporter.d.ts +50 -48
- package/dist/exporters/claude-agent-exporter.d.ts.map +1 -1
- package/dist/exporters/claude-agent-exporter.js +258 -203
- package/dist/exporters/index.d.ts +28 -4
- package/dist/exporters/index.d.ts.map +1 -0
- package/dist/exporters/index.js +737 -3
- package/dist/exporters/opencode-exporter.d.ts +47 -45
- package/dist/exporters/opencode-exporter.d.ts.map +1 -1
- package/dist/exporters/opencode-exporter.js +507 -191
- package/dist/exporters/types.d.ts +171 -169
- package/dist/exporters/types.d.ts.map +1 -1
- package/dist/exporters/types.js +1 -0
- package/dist/index.d.ts +15 -39
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3337 -32
- package/dist/interop/index.d.ts +48 -4
- package/dist/interop/index.d.ts.map +1 -0
- package/dist/interop/index.js +709 -3
- package/dist/interop/spec-consumer.d.ts +57 -53
- package/dist/interop/spec-consumer.d.ts.map +1 -1
- package/dist/interop/spec-consumer.js +302 -282
- package/dist/interop/tool-consumer.d.ts +57 -53
- package/dist/interop/tool-consumer.d.ts.map +1 -1
- package/dist/interop/tool-consumer.js +412 -213
- package/dist/interop/types.d.ts +173 -171
- package/dist/interop/types.d.ts.map +1 -1
- package/dist/interop/types.js +1 -0
- package/dist/knowledge/index.d.ts +2 -2
- package/dist/knowledge/index.d.ts.map +1 -0
- package/dist/knowledge/index.js +66 -2
- package/dist/knowledge/injector.d.ts +16 -20
- package/dist/knowledge/injector.d.ts.map +1 -1
- package/dist/knowledge/injector.js +56 -47
- package/dist/memory/in-memory.d.ts +15 -19
- package/dist/memory/in-memory.d.ts.map +1 -1
- package/dist/memory/in-memory.js +152 -46
- package/dist/memory/index.d.ts +3 -3
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +155 -3
- package/dist/memory/manager.d.ts +32 -36
- package/dist/memory/manager.d.ts.map +1 -1
- package/dist/memory/manager.js +96 -70
- package/dist/memory/memory.test.d.ts +2 -0
- package/dist/memory/memory.test.d.ts.map +1 -0
- package/dist/node/agent/agent-factory.js +661 -0
- package/dist/node/agent/contract-spec-agent.js +607 -0
- package/dist/node/agent/index.js +2103 -0
- package/dist/node/agent/json-runner.js +684 -0
- package/dist/node/agent/unified-agent.js +2019 -0
- package/dist/node/approval/index.js +129 -0
- package/dist/node/approval/workflow.js +129 -0
- package/dist/node/exporters/claude-agent-exporter.js +265 -0
- package/dist/node/exporters/index.js +738 -0
- package/dist/node/exporters/opencode-exporter.js +516 -0
- package/dist/node/exporters/types.js +0 -0
- package/dist/node/index.js +3337 -0
- package/dist/node/interop/index.js +710 -0
- package/dist/node/interop/spec-consumer.js +307 -0
- package/dist/node/interop/tool-consumer.js +419 -0
- package/dist/node/interop/types.js +0 -0
- package/dist/node/knowledge/index.js +67 -0
- package/dist/node/knowledge/injector.js +67 -0
- package/dist/node/memory/in-memory.js +154 -0
- package/dist/node/memory/index.js +156 -0
- package/dist/node/memory/manager.js +105 -0
- package/dist/node/providers/claude-agent-sdk/adapter.js +624 -0
- package/dist/node/providers/claude-agent-sdk/index.js +673 -0
- package/dist/node/providers/claude-agent-sdk/session-bridge.js +149 -0
- package/dist/node/providers/claude-agent-sdk/tool-bridge.js +118 -0
- package/dist/node/providers/index.js +1261 -0
- package/dist/node/providers/opencode-sdk/adapter.js +669 -0
- package/dist/node/providers/opencode-sdk/agent-bridge.js +299 -0
- package/dist/node/providers/opencode-sdk/index.js +703 -0
- package/dist/node/providers/opencode-sdk/tool-bridge.js +141 -0
- package/dist/node/providers/registry.js +89 -0
- package/dist/node/providers/types.js +56 -0
- package/dist/node/schema/index.js +195 -0
- package/dist/node/schema/json-schema-to-zod.js +152 -0
- package/dist/node/schema/schema-output.js +190 -0
- package/dist/node/session/index.js +90 -0
- package/dist/node/session/store.js +90 -0
- package/dist/node/spec/index.js +85 -0
- package/dist/node/spec/registry.js +56 -0
- package/dist/node/spec/spec.js +44 -0
- package/dist/node/telemetry/adapter.js +85 -0
- package/dist/node/telemetry/index.js +86 -0
- package/dist/node/tools/index.js +345 -0
- package/dist/node/tools/knowledge-tool.js +74 -0
- package/dist/node/tools/mcp-client.js +47 -0
- package/dist/node/tools/mcp-server.js +205 -0
- package/dist/node/tools/tool-adapter.js +197 -0
- package/dist/node/types.js +0 -0
- package/dist/providers/claude-agent-sdk/adapter.d.ts +60 -52
- package/dist/providers/claude-agent-sdk/adapter.d.ts.map +1 -1
- package/dist/providers/claude-agent-sdk/adapter.js +622 -304
- package/dist/providers/claude-agent-sdk/index.d.ts +22 -4
- package/dist/providers/claude-agent-sdk/index.d.ts.map +1 -0
- package/dist/providers/claude-agent-sdk/index.js +672 -4
- package/dist/providers/claude-agent-sdk/session-bridge.d.ts +43 -40
- package/dist/providers/claude-agent-sdk/session-bridge.d.ts.map +1 -1
- package/dist/providers/claude-agent-sdk/session-bridge.js +121 -130
- package/dist/providers/claude-agent-sdk/tool-bridge.d.ts +63 -60
- package/dist/providers/claude-agent-sdk/tool-bridge.d.ts.map +1 -1
- package/dist/providers/claude-agent-sdk/tool-bridge.js +104 -108
- package/dist/providers/index.d.ts +28 -7
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +1261 -8
- package/dist/providers/opencode-sdk/adapter.d.ts +56 -48
- package/dist/providers/opencode-sdk/adapter.d.ts.map +1 -1
- package/dist/providers/opencode-sdk/adapter.js +667 -274
- package/dist/providers/opencode-sdk/agent-bridge.d.ts +62 -57
- package/dist/providers/opencode-sdk/agent-bridge.d.ts.map +1 -1
- package/dist/providers/opencode-sdk/agent-bridge.js +289 -155
- package/dist/providers/opencode-sdk/index.d.ts +22 -4
- package/dist/providers/opencode-sdk/index.d.ts.map +1 -0
- package/dist/providers/opencode-sdk/index.js +702 -4
- package/dist/providers/opencode-sdk/tool-bridge.d.ts +41 -42
- package/dist/providers/opencode-sdk/tool-bridge.d.ts.map +1 -1
- package/dist/providers/opencode-sdk/tool-bridge.js +121 -107
- package/dist/providers/registry.d.ts +10 -11
- package/dist/providers/registry.d.ts.map +1 -1
- package/dist/providers/registry.js +86 -49
- package/dist/providers/types.d.ts +169 -166
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/providers/types.js +54 -42
- package/dist/schema/index.d.ts +3 -3
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +194 -3
- package/dist/schema/json-schema-to-zod.d.ts +23 -26
- package/dist/schema/json-schema-to-zod.d.ts.map +1 -1
- package/dist/schema/json-schema-to-zod.js +138 -110
- package/dist/schema/schema-output.d.ts +29 -32
- package/dist/schema/schema-output.d.ts.map +1 -1
- package/dist/schema/schema-output.js +178 -53
- package/dist/session/index.d.ts +2 -2
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +89 -2
- package/dist/session/store.d.ts +51 -55
- package/dist/session/store.d.ts.map +1 -1
- package/dist/session/store.js +85 -74
- package/dist/spec/index.d.ts +3 -3
- package/dist/spec/index.d.ts.map +1 -0
- package/dist/spec/index.js +84 -3
- package/dist/spec/registry.d.ts +32 -36
- package/dist/spec/registry.d.ts.map +1 -1
- package/dist/spec/registry.js +51 -60
- package/dist/spec/spec.d.ts +80 -84
- package/dist/spec/spec.d.ts.map +1 -1
- package/dist/spec/spec.js +40 -26
- package/dist/telemetry/adapter.d.ts +33 -37
- package/dist/telemetry/adapter.d.ts.map +1 -1
- package/dist/telemetry/adapter.js +78 -96
- package/dist/telemetry/index.d.ts +2 -2
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +85 -2
- package/dist/tools/index.d.ts +5 -5
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +344 -5
- package/dist/tools/knowledge-tool.d.ts +4 -8
- package/dist/tools/knowledge-tool.d.ts.map +1 -1
- package/dist/tools/knowledge-tool.js +68 -48
- package/dist/tools/mcp-client.d.ts +17 -21
- package/dist/tools/mcp-client.d.ts.map +1 -1
- package/dist/tools/mcp-client.js +42 -53
- package/dist/tools/mcp-server.d.ts +14 -18
- package/dist/tools/mcp-server.d.ts.map +1 -1
- package/dist/tools/mcp-server.js +200 -64
- package/dist/tools/tool-adapter.d.ts +7 -11
- package/dist/tools/tool-adapter.d.ts.map +1 -1
- package/dist/tools/tool-adapter.js +187 -70
- package/dist/tools/tools.test.d.ts +2 -0
- package/dist/tools/tools.test.d.ts.map +1 -0
- package/dist/types.d.ts +108 -111
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -0
- package/package.json +448 -90
- package/dist/_virtual/_rolldown/runtime.js +0 -8
- package/dist/agent/agent-factory.js.map +0 -1
- package/dist/agent/contract-spec-agent.js.map +0 -1
- package/dist/agent/json-runner.js.map +0 -1
- package/dist/agent/unified-agent.js.map +0 -1
- package/dist/approval/workflow.js.map +0 -1
- package/dist/exporters/claude-agent-exporter.js.map +0 -1
- package/dist/exporters/opencode-exporter.js.map +0 -1
- package/dist/interop/spec-consumer.js.map +0 -1
- package/dist/interop/tool-consumer.js.map +0 -1
- package/dist/knowledge/injector.js.map +0 -1
- package/dist/memory/in-memory.js.map +0 -1
- package/dist/memory/manager.js.map +0 -1
- package/dist/providers/claude-agent-sdk/adapter.js.map +0 -1
- package/dist/providers/claude-agent-sdk/session-bridge.js.map +0 -1
- package/dist/providers/claude-agent-sdk/tool-bridge.js.map +0 -1
- package/dist/providers/opencode-sdk/adapter.js.map +0 -1
- package/dist/providers/opencode-sdk/agent-bridge.js.map +0 -1
- package/dist/providers/opencode-sdk/tool-bridge.js.map +0 -1
- package/dist/providers/registry.js.map +0 -1
- package/dist/providers/types.js.map +0 -1
- package/dist/schema/json-schema-to-zod.js.map +0 -1
- package/dist/schema/schema-output.js.map +0 -1
- package/dist/session/store.js.map +0 -1
- package/dist/spec/registry.js.map +0 -1
- package/dist/spec/spec.js.map +0 -1
- package/dist/telemetry/adapter.js.map +0 -1
- package/dist/tools/knowledge-tool.js.map +0 -1
- package/dist/tools/mcp-client.js.map +0 -1
- package/dist/tools/mcp-server.js.map +0 -1
- package/dist/tools/tool-adapter.js.map +0 -1
|
@@ -1,100 +1,103 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Session bridge for mapping between ContractSpec and Claude Agent SDK sessions.
|
|
3
|
+
*
|
|
4
|
+
* Handles session state synchronization, message history conversion,
|
|
5
|
+
* and context preservation across the two systems.
|
|
6
|
+
*/
|
|
7
|
+
import type { AgentSessionState } from '../../types';
|
|
8
|
+
import type { AgentCallOptions } from '../../types';
|
|
4
9
|
/**
|
|
5
10
|
* Claude Agent SDK content block (text or tool use).
|
|
6
11
|
*/
|
|
7
|
-
interface ClaudeAgentContentBlock {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
export interface ClaudeAgentContentBlock {
|
|
13
|
+
type: 'text' | 'tool_use' | 'tool_result';
|
|
14
|
+
text?: string;
|
|
15
|
+
id?: string;
|
|
16
|
+
name?: string;
|
|
17
|
+
input?: unknown;
|
|
18
|
+
tool_use_id?: string;
|
|
19
|
+
content?: string | ClaudeAgentContentBlock[];
|
|
20
|
+
is_error?: boolean;
|
|
16
21
|
}
|
|
17
22
|
/**
|
|
18
23
|
* Claude Agent SDK message format.
|
|
19
24
|
*/
|
|
20
|
-
interface ClaudeAgentMessage {
|
|
21
|
-
|
|
22
|
-
|
|
25
|
+
export interface ClaudeAgentMessage {
|
|
26
|
+
role: 'user' | 'assistant';
|
|
27
|
+
content: string | ClaudeAgentContentBlock[];
|
|
23
28
|
}
|
|
24
29
|
/**
|
|
25
30
|
* Claude Agent SDK session state.
|
|
26
31
|
*/
|
|
27
|
-
interface ClaudeAgentSession {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
32
|
+
export interface ClaudeAgentSession {
|
|
33
|
+
sessionId?: string;
|
|
34
|
+
messages: ClaudeAgentMessage[];
|
|
35
|
+
metadata?: Record<string, unknown>;
|
|
31
36
|
}
|
|
32
37
|
/**
|
|
33
38
|
* Claude Agent SDK session state (alias).
|
|
34
39
|
*/
|
|
35
|
-
type ClaudeAgentSessionState = ClaudeAgentSession;
|
|
40
|
+
export type ClaudeAgentSessionState = ClaudeAgentSession;
|
|
36
41
|
/**
|
|
37
42
|
* Convert ContractSpec session to Claude Agent SDK session.
|
|
38
43
|
*/
|
|
39
|
-
declare function toClaudeAgentSession(state: AgentSessionState): ClaudeAgentSession;
|
|
44
|
+
export declare function toClaudeAgentSession(state: AgentSessionState): ClaudeAgentSession;
|
|
40
45
|
/**
|
|
41
46
|
* Create a new Claude Agent session from call options.
|
|
42
47
|
*/
|
|
43
|
-
declare function createClaudeAgentSession(options?: AgentCallOptions): ClaudeAgentSession;
|
|
48
|
+
export declare function createClaudeAgentSession(options?: AgentCallOptions): ClaudeAgentSession;
|
|
44
49
|
/**
|
|
45
50
|
* Create an empty Claude Agent session.
|
|
46
51
|
*/
|
|
47
|
-
declare function createEmptyClaudeSession(): ClaudeAgentSession;
|
|
52
|
+
export declare function createEmptyClaudeSession(): ClaudeAgentSession;
|
|
48
53
|
/**
|
|
49
54
|
* Build Claude Agent context metadata from call options.
|
|
50
55
|
*/
|
|
51
|
-
declare function buildClaudeAgentContext(options?: AgentCallOptions): Record<string, unknown>;
|
|
56
|
+
export declare function buildClaudeAgentContext(options?: AgentCallOptions): Record<string, unknown>;
|
|
52
57
|
/**
|
|
53
58
|
* Append a user message to the session.
|
|
54
59
|
*/
|
|
55
|
-
declare function appendUserMessage(session: ClaudeAgentSession, content: string): ClaudeAgentSession;
|
|
60
|
+
export declare function appendUserMessage(session: ClaudeAgentSession, content: string): ClaudeAgentSession;
|
|
56
61
|
/**
|
|
57
62
|
* Append an assistant message to the session.
|
|
58
63
|
*/
|
|
59
|
-
declare function appendAssistantMessage(session: ClaudeAgentSession, content: string | ClaudeAgentContentBlock[]): ClaudeAgentSession;
|
|
64
|
+
export declare function appendAssistantMessage(session: ClaudeAgentSession, content: string | ClaudeAgentContentBlock[]): ClaudeAgentSession;
|
|
60
65
|
/**
|
|
61
66
|
* Clear the session history.
|
|
62
67
|
*/
|
|
63
|
-
declare function clearSession(session: ClaudeAgentSession): ClaudeAgentSession;
|
|
68
|
+
export declare function clearSession(session: ClaudeAgentSession): ClaudeAgentSession;
|
|
64
69
|
/**
|
|
65
70
|
* Get the last N messages from the session.
|
|
66
71
|
*/
|
|
67
|
-
declare function getRecentMessages(session: ClaudeAgentSession, count: number): ClaudeAgentMessage[];
|
|
72
|
+
export declare function getRecentMessages(session: ClaudeAgentSession, count: number): ClaudeAgentMessage[];
|
|
68
73
|
/**
|
|
69
74
|
* Extract tool calls from a message content.
|
|
70
75
|
*/
|
|
71
|
-
declare function extractToolUseBlocks(content: string | ClaudeAgentContentBlock[]): ClaudeAgentContentBlock[];
|
|
76
|
+
export declare function extractToolUseBlocks(content: string | ClaudeAgentContentBlock[]): ClaudeAgentContentBlock[];
|
|
72
77
|
/**
|
|
73
78
|
* Create a tool result block.
|
|
74
79
|
*/
|
|
75
|
-
declare function createToolResultBlock(toolUseId: string, result: unknown, isError?: boolean): ClaudeAgentContentBlock;
|
|
80
|
+
export declare function createToolResultBlock(toolUseId: string, result: unknown, isError?: boolean): ClaudeAgentContentBlock;
|
|
76
81
|
/**
|
|
77
82
|
* Update session metadata.
|
|
78
83
|
*/
|
|
79
|
-
declare function updateSessionMetadata(session: ClaudeAgentSession, metadata: Record<string, unknown>): ClaudeAgentSession;
|
|
84
|
+
export declare function updateSessionMetadata(session: ClaudeAgentSession, metadata: Record<string, unknown>): ClaudeAgentSession;
|
|
80
85
|
/**
|
|
81
86
|
* Get session message count.
|
|
82
87
|
*/
|
|
83
|
-
declare function getMessageCount(session: ClaudeAgentSession): number;
|
|
88
|
+
export declare function getMessageCount(session: ClaudeAgentSession): number;
|
|
84
89
|
/**
|
|
85
90
|
* Get the total token estimate for the session.
|
|
86
91
|
* This is a rough estimate based on character count.
|
|
87
92
|
*/
|
|
88
|
-
declare function estimateTokens(session: ClaudeAgentSession): number;
|
|
93
|
+
export declare function estimateTokens(session: ClaudeAgentSession): number;
|
|
89
94
|
/**
|
|
90
95
|
* Summarize the session for logging.
|
|
91
96
|
*/
|
|
92
|
-
declare function summarizeSession(session: ClaudeAgentSession): {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
+
export declare function summarizeSession(session: ClaudeAgentSession): {
|
|
98
|
+
messageCount: number;
|
|
99
|
+
userMessages: number;
|
|
100
|
+
assistantMessages: number;
|
|
101
|
+
estimatedTokens: number;
|
|
97
102
|
};
|
|
98
|
-
//#endregion
|
|
99
|
-
export { ClaudeAgentContentBlock, ClaudeAgentMessage, ClaudeAgentSession, ClaudeAgentSessionState, appendAssistantMessage, appendUserMessage, buildClaudeAgentContext, clearSession, createClaudeAgentSession, createEmptyClaudeSession, createToolResultBlock, estimateTokens, extractToolUseBlocks, getMessageCount, getRecentMessages, summarizeSession, toClaudeAgentSession, updateSessionMetadata };
|
|
100
103
|
//# sourceMappingURL=session-bridge.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-bridge.d.ts","
|
|
1
|
+
{"version":3,"file":"session-bridge.d.ts","sourceRoot":"","sources":["../../../src/providers/claude-agent-sdk/session-bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,158 +1,149 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
// @bun
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __export = (target, all) => {
|
|
4
|
+
for (var name in all)
|
|
5
|
+
__defProp(target, name, {
|
|
6
|
+
get: all[name],
|
|
7
|
+
enumerable: true,
|
|
8
|
+
configurable: true,
|
|
9
|
+
set: (newValue) => all[name] = () => newValue
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
13
|
+
var __require = import.meta.require;
|
|
14
|
+
|
|
15
|
+
// src/providers/claude-agent-sdk/session-bridge.ts
|
|
5
16
|
function toClaudeAgentSession(state) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
const messages = [];
|
|
18
|
+
for (const msg of state.messages) {
|
|
19
|
+
if (msg.role === "user" || msg.role === "assistant") {
|
|
20
|
+
const content = typeof msg.content === "string" ? msg.content : JSON.stringify(msg.content);
|
|
21
|
+
messages.push({
|
|
22
|
+
role: msg.role,
|
|
23
|
+
content
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
sessionId: state.sessionId,
|
|
29
|
+
messages,
|
|
30
|
+
metadata: {
|
|
31
|
+
agentId: state.agentId,
|
|
32
|
+
tenantId: state.tenantId,
|
|
33
|
+
actorId: state.actorId
|
|
34
|
+
}
|
|
35
|
+
};
|
|
23
36
|
}
|
|
24
|
-
/**
|
|
25
|
-
* Create a new Claude Agent session from call options.
|
|
26
|
-
*/
|
|
27
37
|
function createClaudeAgentSession(options) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
38
|
+
return {
|
|
39
|
+
sessionId: options?.sessionId,
|
|
40
|
+
messages: [],
|
|
41
|
+
metadata: {
|
|
42
|
+
tenantId: options?.tenantId,
|
|
43
|
+
actorId: options?.actorId,
|
|
44
|
+
...options?.metadata
|
|
45
|
+
}
|
|
46
|
+
};
|
|
37
47
|
}
|
|
38
|
-
/**
|
|
39
|
-
* Create an empty Claude Agent session.
|
|
40
|
-
*/
|
|
41
48
|
function createEmptyClaudeSession() {
|
|
42
|
-
|
|
49
|
+
return createClaudeAgentSession();
|
|
43
50
|
}
|
|
44
|
-
/**
|
|
45
|
-
* Build Claude Agent context metadata from call options.
|
|
46
|
-
*/
|
|
47
51
|
function buildClaudeAgentContext(options) {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
return {
|
|
53
|
+
tenantId: options?.tenantId,
|
|
54
|
+
actorId: options?.actorId,
|
|
55
|
+
sessionId: options?.sessionId,
|
|
56
|
+
...options?.metadata
|
|
57
|
+
};
|
|
54
58
|
}
|
|
55
|
-
/**
|
|
56
|
-
* Append a user message to the session.
|
|
57
|
-
*/
|
|
58
59
|
function appendUserMessage(session, content) {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
content
|
|
64
|
-
}]
|
|
65
|
-
};
|
|
60
|
+
return {
|
|
61
|
+
...session,
|
|
62
|
+
messages: [...session.messages, { role: "user", content }]
|
|
63
|
+
};
|
|
66
64
|
}
|
|
67
|
-
/**
|
|
68
|
-
* Append an assistant message to the session.
|
|
69
|
-
*/
|
|
70
65
|
function appendAssistantMessage(session, content) {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
content
|
|
76
|
-
}]
|
|
77
|
-
};
|
|
66
|
+
return {
|
|
67
|
+
...session,
|
|
68
|
+
messages: [...session.messages, { role: "assistant", content }]
|
|
69
|
+
};
|
|
78
70
|
}
|
|
79
|
-
/**
|
|
80
|
-
* Clear the session history.
|
|
81
|
-
*/
|
|
82
71
|
function clearSession(session) {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
72
|
+
return {
|
|
73
|
+
...session,
|
|
74
|
+
messages: []
|
|
75
|
+
};
|
|
87
76
|
}
|
|
88
|
-
/**
|
|
89
|
-
* Get the last N messages from the session.
|
|
90
|
-
*/
|
|
91
77
|
function getRecentMessages(session, count) {
|
|
92
|
-
|
|
78
|
+
return session.messages.slice(-count);
|
|
93
79
|
}
|
|
94
|
-
/**
|
|
95
|
-
* Extract tool calls from a message content.
|
|
96
|
-
*/
|
|
97
80
|
function extractToolUseBlocks(content) {
|
|
98
|
-
|
|
99
|
-
|
|
81
|
+
if (typeof content === "string") {
|
|
82
|
+
return [];
|
|
83
|
+
}
|
|
84
|
+
return content.filter((block) => block.type === "tool_use");
|
|
100
85
|
}
|
|
101
|
-
/**
|
|
102
|
-
* Create a tool result block.
|
|
103
|
-
*/
|
|
104
86
|
function createToolResultBlock(toolUseId, result, isError = false) {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
87
|
+
return {
|
|
88
|
+
type: "tool_result",
|
|
89
|
+
tool_use_id: toolUseId,
|
|
90
|
+
content: typeof result === "string" ? result : JSON.stringify(result),
|
|
91
|
+
is_error: isError
|
|
92
|
+
};
|
|
111
93
|
}
|
|
112
|
-
/**
|
|
113
|
-
* Update session metadata.
|
|
114
|
-
*/
|
|
115
94
|
function updateSessionMetadata(session, metadata) {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
95
|
+
return {
|
|
96
|
+
...session,
|
|
97
|
+
metadata: {
|
|
98
|
+
...session.metadata,
|
|
99
|
+
...metadata
|
|
100
|
+
}
|
|
101
|
+
};
|
|
123
102
|
}
|
|
124
|
-
/**
|
|
125
|
-
* Get session message count.
|
|
126
|
-
*/
|
|
127
103
|
function getMessageCount(session) {
|
|
128
|
-
|
|
104
|
+
return session.messages.length;
|
|
129
105
|
}
|
|
130
|
-
/**
|
|
131
|
-
* Get the total token estimate for the session.
|
|
132
|
-
* This is a rough estimate based on character count.
|
|
133
|
-
*/
|
|
134
106
|
function estimateTokens(session) {
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
107
|
+
let chars = 0;
|
|
108
|
+
for (const msg of session.messages) {
|
|
109
|
+
if (typeof msg.content === "string") {
|
|
110
|
+
chars += msg.content.length;
|
|
111
|
+
} else {
|
|
112
|
+
chars += JSON.stringify(msg.content).length;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
return Math.ceil(chars / 4);
|
|
139
116
|
}
|
|
140
|
-
/**
|
|
141
|
-
* Summarize the session for logging.
|
|
142
|
-
*/
|
|
143
117
|
function summarizeSession(session) {
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
118
|
+
let userMessages = 0;
|
|
119
|
+
let assistantMessages = 0;
|
|
120
|
+
for (const msg of session.messages) {
|
|
121
|
+
if (msg.role === "user") {
|
|
122
|
+
userMessages++;
|
|
123
|
+
} else {
|
|
124
|
+
assistantMessages++;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
return {
|
|
128
|
+
messageCount: session.messages.length,
|
|
129
|
+
userMessages,
|
|
130
|
+
assistantMessages,
|
|
131
|
+
estimatedTokens: estimateTokens(session)
|
|
132
|
+
};
|
|
154
133
|
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
134
|
+
export {
|
|
135
|
+
updateSessionMetadata,
|
|
136
|
+
toClaudeAgentSession,
|
|
137
|
+
summarizeSession,
|
|
138
|
+
getRecentMessages,
|
|
139
|
+
getMessageCount,
|
|
140
|
+
extractToolUseBlocks,
|
|
141
|
+
estimateTokens,
|
|
142
|
+
createToolResultBlock,
|
|
143
|
+
createEmptyClaudeSession,
|
|
144
|
+
createClaudeAgentSession,
|
|
145
|
+
clearSession,
|
|
146
|
+
buildClaudeAgentContext,
|
|
147
|
+
appendUserMessage,
|
|
148
|
+
appendAssistantMessage
|
|
149
|
+
};
|
|
@@ -1,51 +1,56 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Tool bridge for converting between ContractSpec and Claude Agent SDK tool formats.
|
|
3
|
+
*
|
|
4
|
+
* Provides bidirectional conversion:
|
|
5
|
+
* - ContractSpec AgentToolConfig → Claude Agent SDK tool
|
|
6
|
+
* - Claude Agent SDK tool → ContractSpec AgentToolConfig
|
|
7
|
+
*/
|
|
8
|
+
import type { AgentToolConfig } from '../../spec/spec';
|
|
9
|
+
import type { ToolHandler, ToolExecutionContext } from '../../types';
|
|
10
|
+
import type { ExternalToolDefinition } from '../types';
|
|
6
11
|
/**
|
|
7
12
|
* Claude Agent SDK tool definition.
|
|
8
13
|
* Based on Anthropic's tool format.
|
|
9
14
|
*/
|
|
10
|
-
interface ClaudeAgentTool {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
15
|
+
export interface ClaudeAgentTool {
|
|
16
|
+
/** Tool name */
|
|
17
|
+
name: string;
|
|
18
|
+
/** Tool description */
|
|
19
|
+
description: string;
|
|
20
|
+
/** Input schema in JSON Schema format */
|
|
21
|
+
input_schema: {
|
|
22
|
+
type: 'object';
|
|
23
|
+
properties?: Record<string, unknown>;
|
|
24
|
+
required?: string[];
|
|
25
|
+
additionalProperties?: boolean;
|
|
26
|
+
};
|
|
27
|
+
/** Whether tool requires confirmation before execution */
|
|
28
|
+
requires_confirmation?: boolean;
|
|
29
|
+
/** Tool category for organization */
|
|
30
|
+
category?: string;
|
|
26
31
|
}
|
|
27
32
|
/**
|
|
28
33
|
* Claude Agent SDK tool result.
|
|
29
34
|
*/
|
|
30
|
-
interface ClaudeAgentToolResult {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
export interface ClaudeAgentToolResult {
|
|
36
|
+
/** Tool call ID this result corresponds to */
|
|
37
|
+
tool_use_id: string;
|
|
38
|
+
/** Result content */
|
|
39
|
+
content: string | ClaudeAgentToolResultContent[];
|
|
40
|
+
/** Whether the tool execution failed */
|
|
41
|
+
is_error?: boolean;
|
|
37
42
|
}
|
|
38
43
|
/**
|
|
39
44
|
* Claude Agent SDK tool result content block.
|
|
40
45
|
*/
|
|
41
|
-
interface ClaudeAgentToolResultContent {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
46
|
+
export interface ClaudeAgentToolResultContent {
|
|
47
|
+
type: 'text' | 'image';
|
|
48
|
+
text?: string;
|
|
49
|
+
source?: {
|
|
50
|
+
type: 'base64';
|
|
51
|
+
media_type: string;
|
|
52
|
+
data: string;
|
|
53
|
+
};
|
|
49
54
|
}
|
|
50
55
|
/**
|
|
51
56
|
* Convert a ContractSpec AgentToolConfig to Claude Agent SDK tool format.
|
|
@@ -55,14 +60,14 @@ interface ClaudeAgentToolResultContent {
|
|
|
55
60
|
* @param context - Partial execution context to inject
|
|
56
61
|
* @returns Claude Agent SDK tool definition with execute function
|
|
57
62
|
*/
|
|
58
|
-
declare function specToolToClaudeAgentTool(tool: AgentToolConfig, handler: ToolHandler, context: Partial<ToolExecutionContext>): ClaudeAgentTool & {
|
|
59
|
-
|
|
63
|
+
export declare function specToolToClaudeAgentTool(tool: AgentToolConfig, handler: ToolHandler, context: Partial<ToolExecutionContext>): ClaudeAgentTool & {
|
|
64
|
+
execute: (input: unknown) => Promise<unknown>;
|
|
60
65
|
};
|
|
61
66
|
/**
|
|
62
67
|
* Convert multiple ContractSpec tools to Claude Agent SDK format.
|
|
63
68
|
*/
|
|
64
|
-
declare function specToolsToClaudeAgentTools(tools: AgentToolConfig[], handlers: Map<string, ToolHandler>, context: Partial<ToolExecutionContext>): (ClaudeAgentTool & {
|
|
65
|
-
|
|
69
|
+
export declare function specToolsToClaudeAgentTools(tools: AgentToolConfig[], handlers: Map<string, ToolHandler>, context: Partial<ToolExecutionContext>): (ClaudeAgentTool & {
|
|
70
|
+
execute: (input: unknown) => Promise<unknown>;
|
|
66
71
|
})[];
|
|
67
72
|
/**
|
|
68
73
|
* Convert a Claude Agent SDK tool to ContractSpec AgentToolConfig.
|
|
@@ -72,38 +77,36 @@ declare function specToolsToClaudeAgentTools(tools: AgentToolConfig[], handlers:
|
|
|
72
77
|
* @param execute - Optional execute function to wrap
|
|
73
78
|
* @returns ContractSpec tool config and optional handler
|
|
74
79
|
*/
|
|
75
|
-
declare function claudeAgentToolToSpecTool(claudeTool: ClaudeAgentTool, execute?: (input: unknown) => Promise<unknown>): {
|
|
76
|
-
|
|
77
|
-
|
|
80
|
+
export declare function claudeAgentToolToSpecTool(claudeTool: ClaudeAgentTool, execute?: (input: unknown) => Promise<unknown>): {
|
|
81
|
+
config: AgentToolConfig;
|
|
82
|
+
handler?: ToolHandler;
|
|
78
83
|
};
|
|
79
84
|
/**
|
|
80
85
|
* Convert multiple Claude Agent SDK tools to ContractSpec format.
|
|
81
86
|
*/
|
|
82
|
-
declare function claudeAgentToolsToSpecTools(claudeTools: (ClaudeAgentTool & {
|
|
83
|
-
|
|
87
|
+
export declare function claudeAgentToolsToSpecTools(claudeTools: (ClaudeAgentTool & {
|
|
88
|
+
execute?: (input: unknown) => Promise<unknown>;
|
|
84
89
|
})[]): {
|
|
85
|
-
|
|
86
|
-
|
|
90
|
+
configs: AgentToolConfig[];
|
|
91
|
+
handlers: Map<string, ToolHandler>;
|
|
87
92
|
};
|
|
88
93
|
/**
|
|
89
94
|
* Convert ContractSpec tool to ExternalToolDefinition format.
|
|
90
95
|
*/
|
|
91
|
-
declare function specToolToExternalTool(tool: AgentToolConfig, handler?: ToolHandler, context?: Partial<ToolExecutionContext>): ExternalToolDefinition;
|
|
96
|
+
export declare function specToolToExternalTool(tool: AgentToolConfig, handler?: ToolHandler, context?: Partial<ToolExecutionContext>): ExternalToolDefinition;
|
|
92
97
|
/**
|
|
93
98
|
* Extract tool call info from Claude Agent SDK response.
|
|
94
99
|
*/
|
|
95
|
-
declare function extractToolCalls(response: {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
100
|
+
export declare function extractToolCalls(response: {
|
|
101
|
+
content?: {
|
|
102
|
+
type: string;
|
|
103
|
+
id?: string;
|
|
104
|
+
name?: string;
|
|
105
|
+
input?: unknown;
|
|
106
|
+
}[];
|
|
102
107
|
}): {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
108
|
+
toolCallId: string;
|
|
109
|
+
toolName: string;
|
|
110
|
+
args: unknown;
|
|
106
111
|
}[];
|
|
107
|
-
//#endregion
|
|
108
|
-
export { ClaudeAgentTool, ClaudeAgentToolResult, ClaudeAgentToolResultContent, claudeAgentToolToSpecTool, claudeAgentToolsToSpecTools, extractToolCalls, specToolToClaudeAgentTool, specToolToExternalTool, specToolsToClaudeAgentTools };
|
|
109
112
|
//# sourceMappingURL=tool-bridge.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-bridge.d.ts","
|
|
1
|
+
{"version":3,"file":"tool-bridge.d.ts","sourceRoot":"","sources":["../../../src/providers/claude-agent-sdk/tool-bridge.ts"],"names":[],"mappings":"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"}
|