@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.
Files changed (232) hide show
  1. package/dist/agent/agent-factory.d.ts +67 -71
  2. package/dist/agent/agent-factory.d.ts.map +1 -1
  3. package/dist/agent/agent-factory.js +658 -100
  4. package/dist/agent/agent.test.d.ts +2 -0
  5. package/dist/agent/agent.test.d.ts.map +1 -0
  6. package/dist/agent/contract-spec-agent.d.ts +48 -52
  7. package/dist/agent/contract-spec-agent.d.ts.map +1 -1
  8. package/dist/agent/contract-spec-agent.js +605 -146
  9. package/dist/agent/index.d.ts +4 -4
  10. package/dist/agent/index.d.ts.map +1 -0
  11. package/dist/agent/index.js +2102 -4
  12. package/dist/agent/json-runner.d.ts +15 -19
  13. package/dist/agent/json-runner.d.ts.map +1 -1
  14. package/dist/agent/json-runner.js +672 -57
  15. package/dist/agent/json-runner.test.d.ts +2 -0
  16. package/dist/agent/json-runner.test.d.ts.map +1 -0
  17. package/dist/agent/unified-agent.d.ts +132 -109
  18. package/dist/agent/unified-agent.d.ts.map +1 -1
  19. package/dist/agent/unified-agent.js +2011 -293
  20. package/dist/approval/index.d.ts +3 -2
  21. package/dist/approval/index.d.ts.map +1 -0
  22. package/dist/approval/index.js +128 -2
  23. package/dist/approval/workflow.d.ts +106 -110
  24. package/dist/approval/workflow.d.ts.map +1 -1
  25. package/dist/approval/workflow.js +126 -157
  26. package/dist/exporters/claude-agent-exporter.d.ts +50 -48
  27. package/dist/exporters/claude-agent-exporter.d.ts.map +1 -1
  28. package/dist/exporters/claude-agent-exporter.js +258 -203
  29. package/dist/exporters/index.d.ts +28 -4
  30. package/dist/exporters/index.d.ts.map +1 -0
  31. package/dist/exporters/index.js +737 -3
  32. package/dist/exporters/opencode-exporter.d.ts +47 -45
  33. package/dist/exporters/opencode-exporter.d.ts.map +1 -1
  34. package/dist/exporters/opencode-exporter.js +507 -191
  35. package/dist/exporters/types.d.ts +171 -169
  36. package/dist/exporters/types.d.ts.map +1 -1
  37. package/dist/exporters/types.js +1 -0
  38. package/dist/index.d.ts +15 -39
  39. package/dist/index.d.ts.map +1 -0
  40. package/dist/index.js +3337 -32
  41. package/dist/interop/index.d.ts +48 -4
  42. package/dist/interop/index.d.ts.map +1 -0
  43. package/dist/interop/index.js +709 -3
  44. package/dist/interop/spec-consumer.d.ts +57 -53
  45. package/dist/interop/spec-consumer.d.ts.map +1 -1
  46. package/dist/interop/spec-consumer.js +302 -282
  47. package/dist/interop/tool-consumer.d.ts +57 -53
  48. package/dist/interop/tool-consumer.d.ts.map +1 -1
  49. package/dist/interop/tool-consumer.js +412 -213
  50. package/dist/interop/types.d.ts +173 -171
  51. package/dist/interop/types.d.ts.map +1 -1
  52. package/dist/interop/types.js +1 -0
  53. package/dist/knowledge/index.d.ts +2 -2
  54. package/dist/knowledge/index.d.ts.map +1 -0
  55. package/dist/knowledge/index.js +66 -2
  56. package/dist/knowledge/injector.d.ts +16 -20
  57. package/dist/knowledge/injector.d.ts.map +1 -1
  58. package/dist/knowledge/injector.js +56 -47
  59. package/dist/memory/in-memory.d.ts +15 -19
  60. package/dist/memory/in-memory.d.ts.map +1 -1
  61. package/dist/memory/in-memory.js +152 -46
  62. package/dist/memory/index.d.ts +3 -3
  63. package/dist/memory/index.d.ts.map +1 -0
  64. package/dist/memory/index.js +155 -3
  65. package/dist/memory/manager.d.ts +32 -36
  66. package/dist/memory/manager.d.ts.map +1 -1
  67. package/dist/memory/manager.js +96 -70
  68. package/dist/memory/memory.test.d.ts +2 -0
  69. package/dist/memory/memory.test.d.ts.map +1 -0
  70. package/dist/node/agent/agent-factory.js +661 -0
  71. package/dist/node/agent/contract-spec-agent.js +607 -0
  72. package/dist/node/agent/index.js +2103 -0
  73. package/dist/node/agent/json-runner.js +684 -0
  74. package/dist/node/agent/unified-agent.js +2019 -0
  75. package/dist/node/approval/index.js +129 -0
  76. package/dist/node/approval/workflow.js +129 -0
  77. package/dist/node/exporters/claude-agent-exporter.js +265 -0
  78. package/dist/node/exporters/index.js +738 -0
  79. package/dist/node/exporters/opencode-exporter.js +516 -0
  80. package/dist/node/exporters/types.js +0 -0
  81. package/dist/node/index.js +3337 -0
  82. package/dist/node/interop/index.js +710 -0
  83. package/dist/node/interop/spec-consumer.js +307 -0
  84. package/dist/node/interop/tool-consumer.js +419 -0
  85. package/dist/node/interop/types.js +0 -0
  86. package/dist/node/knowledge/index.js +67 -0
  87. package/dist/node/knowledge/injector.js +67 -0
  88. package/dist/node/memory/in-memory.js +154 -0
  89. package/dist/node/memory/index.js +156 -0
  90. package/dist/node/memory/manager.js +105 -0
  91. package/dist/node/providers/claude-agent-sdk/adapter.js +624 -0
  92. package/dist/node/providers/claude-agent-sdk/index.js +673 -0
  93. package/dist/node/providers/claude-agent-sdk/session-bridge.js +149 -0
  94. package/dist/node/providers/claude-agent-sdk/tool-bridge.js +118 -0
  95. package/dist/node/providers/index.js +1261 -0
  96. package/dist/node/providers/opencode-sdk/adapter.js +669 -0
  97. package/dist/node/providers/opencode-sdk/agent-bridge.js +299 -0
  98. package/dist/node/providers/opencode-sdk/index.js +703 -0
  99. package/dist/node/providers/opencode-sdk/tool-bridge.js +141 -0
  100. package/dist/node/providers/registry.js +89 -0
  101. package/dist/node/providers/types.js +56 -0
  102. package/dist/node/schema/index.js +195 -0
  103. package/dist/node/schema/json-schema-to-zod.js +152 -0
  104. package/dist/node/schema/schema-output.js +190 -0
  105. package/dist/node/session/index.js +90 -0
  106. package/dist/node/session/store.js +90 -0
  107. package/dist/node/spec/index.js +85 -0
  108. package/dist/node/spec/registry.js +56 -0
  109. package/dist/node/spec/spec.js +44 -0
  110. package/dist/node/telemetry/adapter.js +85 -0
  111. package/dist/node/telemetry/index.js +86 -0
  112. package/dist/node/tools/index.js +345 -0
  113. package/dist/node/tools/knowledge-tool.js +74 -0
  114. package/dist/node/tools/mcp-client.js +47 -0
  115. package/dist/node/tools/mcp-server.js +205 -0
  116. package/dist/node/tools/tool-adapter.js +197 -0
  117. package/dist/node/types.js +0 -0
  118. package/dist/providers/claude-agent-sdk/adapter.d.ts +60 -52
  119. package/dist/providers/claude-agent-sdk/adapter.d.ts.map +1 -1
  120. package/dist/providers/claude-agent-sdk/adapter.js +622 -304
  121. package/dist/providers/claude-agent-sdk/index.d.ts +22 -4
  122. package/dist/providers/claude-agent-sdk/index.d.ts.map +1 -0
  123. package/dist/providers/claude-agent-sdk/index.js +672 -4
  124. package/dist/providers/claude-agent-sdk/session-bridge.d.ts +43 -40
  125. package/dist/providers/claude-agent-sdk/session-bridge.d.ts.map +1 -1
  126. package/dist/providers/claude-agent-sdk/session-bridge.js +121 -130
  127. package/dist/providers/claude-agent-sdk/tool-bridge.d.ts +63 -60
  128. package/dist/providers/claude-agent-sdk/tool-bridge.d.ts.map +1 -1
  129. package/dist/providers/claude-agent-sdk/tool-bridge.js +104 -108
  130. package/dist/providers/index.d.ts +28 -7
  131. package/dist/providers/index.d.ts.map +1 -0
  132. package/dist/providers/index.js +1261 -8
  133. package/dist/providers/opencode-sdk/adapter.d.ts +56 -48
  134. package/dist/providers/opencode-sdk/adapter.d.ts.map +1 -1
  135. package/dist/providers/opencode-sdk/adapter.js +667 -274
  136. package/dist/providers/opencode-sdk/agent-bridge.d.ts +62 -57
  137. package/dist/providers/opencode-sdk/agent-bridge.d.ts.map +1 -1
  138. package/dist/providers/opencode-sdk/agent-bridge.js +289 -155
  139. package/dist/providers/opencode-sdk/index.d.ts +22 -4
  140. package/dist/providers/opencode-sdk/index.d.ts.map +1 -0
  141. package/dist/providers/opencode-sdk/index.js +702 -4
  142. package/dist/providers/opencode-sdk/tool-bridge.d.ts +41 -42
  143. package/dist/providers/opencode-sdk/tool-bridge.d.ts.map +1 -1
  144. package/dist/providers/opencode-sdk/tool-bridge.js +121 -107
  145. package/dist/providers/registry.d.ts +10 -11
  146. package/dist/providers/registry.d.ts.map +1 -1
  147. package/dist/providers/registry.js +86 -49
  148. package/dist/providers/types.d.ts +169 -166
  149. package/dist/providers/types.d.ts.map +1 -1
  150. package/dist/providers/types.js +54 -42
  151. package/dist/schema/index.d.ts +3 -3
  152. package/dist/schema/index.d.ts.map +1 -0
  153. package/dist/schema/index.js +194 -3
  154. package/dist/schema/json-schema-to-zod.d.ts +23 -26
  155. package/dist/schema/json-schema-to-zod.d.ts.map +1 -1
  156. package/dist/schema/json-schema-to-zod.js +138 -110
  157. package/dist/schema/schema-output.d.ts +29 -32
  158. package/dist/schema/schema-output.d.ts.map +1 -1
  159. package/dist/schema/schema-output.js +178 -53
  160. package/dist/session/index.d.ts +2 -2
  161. package/dist/session/index.d.ts.map +1 -0
  162. package/dist/session/index.js +89 -2
  163. package/dist/session/store.d.ts +51 -55
  164. package/dist/session/store.d.ts.map +1 -1
  165. package/dist/session/store.js +85 -74
  166. package/dist/spec/index.d.ts +3 -3
  167. package/dist/spec/index.d.ts.map +1 -0
  168. package/dist/spec/index.js +84 -3
  169. package/dist/spec/registry.d.ts +32 -36
  170. package/dist/spec/registry.d.ts.map +1 -1
  171. package/dist/spec/registry.js +51 -60
  172. package/dist/spec/spec.d.ts +80 -84
  173. package/dist/spec/spec.d.ts.map +1 -1
  174. package/dist/spec/spec.js +40 -26
  175. package/dist/telemetry/adapter.d.ts +33 -37
  176. package/dist/telemetry/adapter.d.ts.map +1 -1
  177. package/dist/telemetry/adapter.js +78 -96
  178. package/dist/telemetry/index.d.ts +2 -2
  179. package/dist/telemetry/index.d.ts.map +1 -0
  180. package/dist/telemetry/index.js +85 -2
  181. package/dist/tools/index.d.ts +5 -5
  182. package/dist/tools/index.d.ts.map +1 -0
  183. package/dist/tools/index.js +344 -5
  184. package/dist/tools/knowledge-tool.d.ts +4 -8
  185. package/dist/tools/knowledge-tool.d.ts.map +1 -1
  186. package/dist/tools/knowledge-tool.js +68 -48
  187. package/dist/tools/mcp-client.d.ts +17 -21
  188. package/dist/tools/mcp-client.d.ts.map +1 -1
  189. package/dist/tools/mcp-client.js +42 -53
  190. package/dist/tools/mcp-server.d.ts +14 -18
  191. package/dist/tools/mcp-server.d.ts.map +1 -1
  192. package/dist/tools/mcp-server.js +200 -64
  193. package/dist/tools/tool-adapter.d.ts +7 -11
  194. package/dist/tools/tool-adapter.d.ts.map +1 -1
  195. package/dist/tools/tool-adapter.js +187 -70
  196. package/dist/tools/tools.test.d.ts +2 -0
  197. package/dist/tools/tools.test.d.ts.map +1 -0
  198. package/dist/types.d.ts +108 -111
  199. package/dist/types.d.ts.map +1 -1
  200. package/dist/types.js +1 -0
  201. package/package.json +448 -90
  202. package/dist/_virtual/_rolldown/runtime.js +0 -8
  203. package/dist/agent/agent-factory.js.map +0 -1
  204. package/dist/agent/contract-spec-agent.js.map +0 -1
  205. package/dist/agent/json-runner.js.map +0 -1
  206. package/dist/agent/unified-agent.js.map +0 -1
  207. package/dist/approval/workflow.js.map +0 -1
  208. package/dist/exporters/claude-agent-exporter.js.map +0 -1
  209. package/dist/exporters/opencode-exporter.js.map +0 -1
  210. package/dist/interop/spec-consumer.js.map +0 -1
  211. package/dist/interop/tool-consumer.js.map +0 -1
  212. package/dist/knowledge/injector.js.map +0 -1
  213. package/dist/memory/in-memory.js.map +0 -1
  214. package/dist/memory/manager.js.map +0 -1
  215. package/dist/providers/claude-agent-sdk/adapter.js.map +0 -1
  216. package/dist/providers/claude-agent-sdk/session-bridge.js.map +0 -1
  217. package/dist/providers/claude-agent-sdk/tool-bridge.js.map +0 -1
  218. package/dist/providers/opencode-sdk/adapter.js.map +0 -1
  219. package/dist/providers/opencode-sdk/agent-bridge.js.map +0 -1
  220. package/dist/providers/opencode-sdk/tool-bridge.js.map +0 -1
  221. package/dist/providers/registry.js.map +0 -1
  222. package/dist/providers/types.js.map +0 -1
  223. package/dist/schema/json-schema-to-zod.js.map +0 -1
  224. package/dist/schema/schema-output.js.map +0 -1
  225. package/dist/session/store.js.map +0 -1
  226. package/dist/spec/registry.js.map +0 -1
  227. package/dist/spec/spec.js.map +0 -1
  228. package/dist/telemetry/adapter.js.map +0 -1
  229. package/dist/tools/knowledge-tool.js.map +0 -1
  230. package/dist/tools/mcp-client.js.map +0 -1
  231. package/dist/tools/mcp-server.js.map +0 -1
  232. package/dist/tools/tool-adapter.js.map +0 -1
@@ -1,100 +1,103 @@
1
- import { AgentCallOptions, AgentSessionState } from "../../types.js";
2
-
3
- //#region src/providers/claude-agent-sdk/session-bridge.d.ts
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
- type: 'text' | 'tool_use' | 'tool_result';
9
- text?: string;
10
- id?: string;
11
- name?: string;
12
- input?: unknown;
13
- tool_use_id?: string;
14
- content?: string | ClaudeAgentContentBlock[];
15
- is_error?: boolean;
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
- role: 'user' | 'assistant';
22
- content: string | ClaudeAgentContentBlock[];
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
- sessionId?: string;
29
- messages: ClaudeAgentMessage[];
30
- metadata?: Record<string, unknown>;
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
- messageCount: number;
94
- userMessages: number;
95
- assistantMessages: number;
96
- estimatedTokens: number;
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","names":[],"sources":["../../../src/providers/claude-agent-sdk/session-bridge.ts"],"mappings":";;;;;;UAgBiB,uBAAA;EACf,IAAA;EACA,IAAA;EACA,EAAA;EACA,IAAA;EACA,KAAA;EACA,WAAA;EACA,OAAA,YAAmB,uBAAA;EACnB,QAAA;AAAA;;;;UAMe,kBAAA;EACf,IAAA;EACA,OAAA,WAAkB,uBAAA;AAAA;;;;UAMH,kBAAA;EACf,SAAA;EACA,QAAA,EAAU,kBAAA;EACV,QAAA,GAAW,MAAA;AAAA;;;AAUb;KAAY,uBAAA,GAA0B,kBAAA;;;;iBAKtB,oBAAA,CACd,KAAA,EAAO,iBAAA,GACN,kBAAA;;;;iBA8Ba,wBAAA,CACd,OAAA,GAAU,gBAAA,GACT,kBAAA;;;;iBAea,wBAAA,CAAA,GAA4B,kBAAA;AAjB5C;;;AAAA,iBAwBgB,uBAAA,CACd,OAAA,GAAU,gBAAA,GACT,MAAA;;;;iBAYa,iBAAA,CACd,OAAA,EAAS,kBAAA,EACT,OAAA,WACC,kBAAA;;AAxBH;;iBAkCgB,sBAAA,CACd,OAAA,EAAS,kBAAA,EACT,OAAA,WAAkB,uBAAA,KACjB,kBAAA;;;AA9BH;iBAwCgB,YAAA,CAAa,OAAA,EAAS,kBAAA,GAAqB,kBAAA;;;;iBAU3C,iBAAA,CACd,OAAA,EAAS,kBAAA,EACT,KAAA,WACC,kBAAA;;;;iBAOa,oBAAA,CACd,OAAA,WAAkB,uBAAA,KACjB,uBAAA;;;;iBAUa,qBAAA,CACd,SAAA,UACA,MAAA,WACA,OAAA,aACC,uBAAA;;;;iBAgBa,qBAAA,CACd,OAAA,EAAS,kBAAA,EACT,QAAA,EAAU,MAAA,oBACT,kBAAA;;AApEH;;iBAiFgB,eAAA,CAAgB,OAAA,EAAS,kBAAA;;;;;iBAQzB,cAAA,CAAe,OAAA,EAAS,kBAAA;;;;iBAgBxB,gBAAA,CAAiB,OAAA,EAAS,kBAAA;EACxC,YAAA;EACA,YAAA;EACA,iBAAA;EACA,eAAA;AAAA"}
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
- //#region src/providers/claude-agent-sdk/session-bridge.ts
2
- /**
3
- * Convert ContractSpec session to Claude Agent SDK session.
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
- const messages = [];
7
- for (const msg of state.messages) if (msg.role === "user" || msg.role === "assistant") {
8
- const content = typeof msg.content === "string" ? msg.content : JSON.stringify(msg.content);
9
- messages.push({
10
- role: msg.role,
11
- content
12
- });
13
- }
14
- return {
15
- sessionId: state.sessionId,
16
- messages,
17
- metadata: {
18
- agentId: state.agentId,
19
- tenantId: state.tenantId,
20
- actorId: state.actorId
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
- return {
29
- sessionId: options?.sessionId,
30
- messages: [],
31
- metadata: {
32
- tenantId: options?.tenantId,
33
- actorId: options?.actorId,
34
- ...options?.metadata
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
- return createClaudeAgentSession();
49
+ return createClaudeAgentSession();
43
50
  }
44
- /**
45
- * Build Claude Agent context metadata from call options.
46
- */
47
51
  function buildClaudeAgentContext(options) {
48
- return {
49
- tenantId: options?.tenantId,
50
- actorId: options?.actorId,
51
- sessionId: options?.sessionId,
52
- ...options?.metadata
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
- return {
60
- ...session,
61
- messages: [...session.messages, {
62
- role: "user",
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
- return {
72
- ...session,
73
- messages: [...session.messages, {
74
- role: "assistant",
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
- return {
84
- ...session,
85
- messages: []
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
- return session.messages.slice(-count);
78
+ return session.messages.slice(-count);
93
79
  }
94
- /**
95
- * Extract tool calls from a message content.
96
- */
97
80
  function extractToolUseBlocks(content) {
98
- if (typeof content === "string") return [];
99
- return content.filter((block) => block.type === "tool_use");
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
- return {
106
- type: "tool_result",
107
- tool_use_id: toolUseId,
108
- content: typeof result === "string" ? result : JSON.stringify(result),
109
- is_error: isError
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
- return {
117
- ...session,
118
- metadata: {
119
- ...session.metadata,
120
- ...metadata
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
- return session.messages.length;
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
- let chars = 0;
136
- for (const msg of session.messages) if (typeof msg.content === "string") chars += msg.content.length;
137
- else chars += JSON.stringify(msg.content).length;
138
- return Math.ceil(chars / 4);
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
- let userMessages = 0;
145
- let assistantMessages = 0;
146
- for (const msg of session.messages) if (msg.role === "user") userMessages++;
147
- else assistantMessages++;
148
- return {
149
- messageCount: session.messages.length,
150
- userMessages,
151
- assistantMessages,
152
- estimatedTokens: estimateTokens(session)
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
- //#endregion
157
- export { appendAssistantMessage, appendUserMessage, buildClaudeAgentContext, clearSession, createClaudeAgentSession, createEmptyClaudeSession, createToolResultBlock, estimateTokens, extractToolUseBlocks, getMessageCount, getRecentMessages, summarizeSession, toClaudeAgentSession, updateSessionMetadata };
158
- //# sourceMappingURL=session-bridge.js.map
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
- import { AgentToolConfig } from "../../spec/spec.js";
2
- import { ToolExecutionContext, ToolHandler } from "../../types.js";
3
- import { ExternalToolDefinition } from "../types.js";
4
-
5
- //#region src/providers/claude-agent-sdk/tool-bridge.d.ts
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
- /** Tool name */
12
- name: string;
13
- /** Tool description */
14
- description: string;
15
- /** Input schema in JSON Schema format */
16
- input_schema: {
17
- type: 'object';
18
- properties?: Record<string, unknown>;
19
- required?: string[];
20
- additionalProperties?: boolean;
21
- };
22
- /** Whether tool requires confirmation before execution */
23
- requires_confirmation?: boolean;
24
- /** Tool category for organization */
25
- category?: string;
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
- /** Tool call ID this result corresponds to */
32
- tool_use_id: string;
33
- /** Result content */
34
- content: string | ClaudeAgentToolResultContent[];
35
- /** Whether the tool execution failed */
36
- is_error?: boolean;
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
- type: 'text' | 'image';
43
- text?: string;
44
- source?: {
45
- type: 'base64';
46
- media_type: string;
47
- data: string;
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
- execute: (input: unknown) => Promise<unknown>;
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
- execute: (input: unknown) => Promise<unknown>;
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
- config: AgentToolConfig;
77
- handler?: ToolHandler;
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
- execute?: (input: unknown) => Promise<unknown>;
87
+ export declare function claudeAgentToolsToSpecTools(claudeTools: (ClaudeAgentTool & {
88
+ execute?: (input: unknown) => Promise<unknown>;
84
89
  })[]): {
85
- configs: AgentToolConfig[];
86
- handlers: Map<string, ToolHandler>;
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
- content?: {
97
- type: string;
98
- id?: string;
99
- name?: string;
100
- input?: unknown;
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
- toolCallId: string;
104
- toolName: string;
105
- args: unknown;
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","names":[],"sources":["../../../src/providers/claude-agent-sdk/tool-bridge.ts"],"mappings":";;;;;;;;;UAoBiB,eAAA;EASb;EAPF,IAAA;EAWA;EATA,WAAA;EAWQ;EATR,YAAA;IACE,IAAA;IACA,UAAA,GAAa,MAAA;IACb,QAAA;IACA,oBAAA;EAAA;EAeF;EAZA,qBAAA;EAcA;EAZA,QAAA;AAAA;AAkBF;;;AAAA,UAZiB,qBAAA;EAaf;EAXA,WAAA;EAaA;EAXA,OAAA,WAAkB,4BAAA;EAahB;EAXF,QAAA;AAAA;;AA4BF;;UAtBiB,4BAAA;EACf,IAAA;EACA,IAAA;EACA,MAAA;IACE,IAAA;IACA,UAAA;IACA,IAAA;EAAA;AAAA;;;;;;;;;iBAgBY,yBAAA,CACd,IAAA,EAAM,eAAA,EACN,OAAA,EAAS,WAAA,EACT,OAAA,EAAS,OAAA,CAAQ,oBAAA,IAChB,eAAA;EAAoB,OAAA,GAAU,KAAA,cAAmB,OAAA;AAAA;;;AAuBpD;iBAAgB,2BAAA,CACd,KAAA,EAAO,eAAA,IACP,QAAA,EAAU,GAAA,SAAY,WAAA,GACtB,OAAA,EAAS,OAAA,CAAQ,oBAAA,KACf,eAAA;EAAoB,OAAA,GAAU,KAAA,cAAmB,OAAA;AAAA;;;;;;;;;iBAwBrC,yBAAA,CACd,UAAA,EAAY,eAAA,EACZ,OAAA,IAAW,KAAA,cAAmB,OAAA;EAE9B,MAAA,EAAQ,eAAA;EACR,OAAA,GAAU,WAAA;AAAA;;;;iBAoBI,2BAAA,CACd,WAAA,GAAc,eAAA;EACZ,OAAA,IAAW,KAAA,cAAmB,OAAA;AAAA;EAGhC,OAAA,EAAS,eAAA;EACT,QAAA,EAAU,GAAA,SAAY,WAAA;AAAA;;AA/BxB;;iBAyDgB,sBAAA,CACd,IAAA,EAAM,eAAA,EACN,OAAA,GAAU,WAAA,EACV,OAAA,GAAU,OAAA,CAAQ,oBAAA,IACjB,sBAAA;;;;iBAuDa,gBAAA,CAAiB,QAAA;EAC/B,OAAA;IACE,IAAA;IACA,EAAA;IACA,IAAA;IACA,KAAA;EAAA;AAAA;EAGF,UAAA;EACA,QAAA;EACA,IAAA;AAAA"}
1
+ {"version":3,"file":"tool-bridge.d.ts","sourceRoot":"","sources":["../../../src/providers/claude-agent-sdk/tool-bridge.ts"],"names":[],"mappings":"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"}