@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,261 +1,263 @@
1
- import { AgentSpec, AgentToolConfig } from "../spec/spec.js";
2
- import { ToolHandler } from "../types.js";
3
-
4
- //#region src/interop/types.d.ts
1
+ /**
2
+ * Types for the interop layer.
3
+ *
4
+ * The interop layer enables bidirectional integration between
5
+ * ContractSpec and external agent SDKs.
6
+ */
7
+ import type { AgentSpec, AgentToolConfig } from '../spec/spec';
8
+ import type { ToolHandler } from '../types';
5
9
  /**
6
10
  * Configuration for a spec consumer.
7
11
  */
8
- interface SpecConsumerConfig {
9
- /** Specs to consume */
10
- specs: AgentSpec[];
11
- /** Whether to include metadata in outputs */
12
- includeMetadata?: boolean;
13
- /** Base URL for linking */
14
- baseUrl?: string;
12
+ export interface SpecConsumerConfig {
13
+ /** Specs to consume */
14
+ specs: AgentSpec[];
15
+ /** Whether to include metadata in outputs */
16
+ includeMetadata?: boolean;
17
+ /** Base URL for linking */
18
+ baseUrl?: string;
15
19
  }
16
20
  /**
17
21
  * Options for markdown generation.
18
22
  */
19
- interface SpecMarkdownOptions {
20
- /** Include table of contents */
21
- includeToc?: boolean;
22
- /** Include examples */
23
- includeExamples?: boolean;
24
- /** Include tools section */
25
- includeTools?: boolean;
26
- /** Include constraints section */
27
- includeConstraints?: boolean;
28
- /** Custom header */
29
- customHeader?: string;
23
+ export interface SpecMarkdownOptions {
24
+ /** Include table of contents */
25
+ includeToc?: boolean;
26
+ /** Include examples */
27
+ includeExamples?: boolean;
28
+ /** Include tools section */
29
+ includeTools?: boolean;
30
+ /** Include constraints section */
31
+ includeConstraints?: boolean;
32
+ /** Custom header */
33
+ customHeader?: string;
30
34
  }
31
35
  /**
32
36
  * Options for prompt generation.
33
37
  */
34
- interface SpecPromptOptions {
35
- /** Include tools in prompt */
36
- includeTools?: boolean;
37
- /** Include examples in prompt */
38
- includeExamples?: boolean;
39
- /** Include constraints in prompt */
40
- includeConstraints?: boolean;
41
- /** Output format */
42
- format?: 'structured' | 'natural';
43
- /** Custom context to append */
44
- customContext?: string;
38
+ export interface SpecPromptOptions {
39
+ /** Include tools in prompt */
40
+ includeTools?: boolean;
41
+ /** Include examples in prompt */
42
+ includeExamples?: boolean;
43
+ /** Include constraints in prompt */
44
+ includeConstraints?: boolean;
45
+ /** Output format */
46
+ format?: 'structured' | 'natural';
47
+ /** Custom context to append */
48
+ customContext?: string;
45
49
  }
46
50
  /**
47
51
  * Result from querying a spec.
48
52
  */
49
- interface SpecQueryResult {
50
- /** Spec key */
51
- key: string;
52
- /** The spec itself */
53
- spec: AgentSpec;
54
- /** Markdown representation */
55
- markdown: string;
56
- /** Prompt representation */
57
- prompt: string;
53
+ export interface SpecQueryResult {
54
+ /** Spec key */
55
+ key: string;
56
+ /** The spec itself */
57
+ spec: AgentSpec;
58
+ /** Markdown representation */
59
+ markdown: string;
60
+ /** Prompt representation */
61
+ prompt: string;
58
62
  }
59
63
  /**
60
64
  * Options for listing specs.
61
65
  */
62
- interface SpecListOptions {
63
- /** Filter by stability */
64
- stability?: string;
65
- /** Filter by tags */
66
- tags?: string[];
66
+ export interface SpecListOptions {
67
+ /** Filter by stability */
68
+ stability?: string;
69
+ /** Filter by tags */
70
+ tags?: string[];
67
71
  }
68
72
  /**
69
73
  * Result from listing specs.
70
74
  */
71
- interface SpecListResult {
72
- /** Spec key */
73
- key: string;
74
- /** Spec name (from meta.name or meta.key) */
75
- name: string;
76
- /** Spec version */
77
- version: string;
78
- /** Description */
79
- description?: string;
80
- /** Stability */
81
- stability?: string;
82
- /** Tags */
83
- tags?: string[];
84
- /** Number of tools */
85
- toolCount: number;
75
+ export interface SpecListResult {
76
+ /** Spec key */
77
+ key: string;
78
+ /** Spec name (from meta.name or meta.key) */
79
+ name: string;
80
+ /** Spec version */
81
+ version: string;
82
+ /** Description */
83
+ description?: string;
84
+ /** Stability */
85
+ stability?: string;
86
+ /** Tags */
87
+ tags?: string[];
88
+ /** Number of tools */
89
+ toolCount: number;
86
90
  }
87
91
  /**
88
92
  * Interface for spec consumers.
89
93
  */
90
- interface SpecConsumer {
91
- getSpecMarkdown(specKey: string, options?: SpecMarkdownOptions): string;
92
- getSpecPrompt(specKey: string, options?: SpecPromptOptions): string;
93
- listSpecs(options?: SpecListOptions): SpecListResult[];
94
- querySpec(specKey: string): SpecQueryResult | undefined;
95
- hasSpec(specKey: string): boolean;
96
- getSpec(specKey: string): AgentSpec | undefined;
97
- getAllSpecs(): AgentSpec[];
98
- getSpecCount(): number;
99
- addSpec(spec: AgentSpec): void;
100
- removeSpec(specKey: string): boolean;
94
+ export interface SpecConsumer {
95
+ getSpecMarkdown(specKey: string, options?: SpecMarkdownOptions): string;
96
+ getSpecPrompt(specKey: string, options?: SpecPromptOptions): string;
97
+ listSpecs(options?: SpecListOptions): SpecListResult[];
98
+ querySpec(specKey: string): SpecQueryResult | undefined;
99
+ hasSpec(specKey: string): boolean;
100
+ getSpec(specKey: string): AgentSpec | undefined;
101
+ getAllSpecs(): AgentSpec[];
102
+ getSpecCount(): number;
103
+ addSpec(spec: AgentSpec): void;
104
+ removeSpec(specKey: string): boolean;
101
105
  }
102
106
  /**
103
107
  * Configuration for a tool consumer.
104
108
  */
105
- interface ToolConsumerConfig {
106
- /** Tools with optional handlers */
107
- tools: {
108
- config: AgentToolConfig;
109
- handler?: ToolHandler;
110
- }[];
109
+ export interface ToolConsumerConfig {
110
+ /** Tools with optional handlers */
111
+ tools: {
112
+ config: AgentToolConfig;
113
+ handler?: ToolHandler;
114
+ }[];
111
115
  }
112
116
  /**
113
117
  * Configuration for a tool server.
114
118
  */
115
- interface ToolServerConfig {
116
- /** Tools with optional handlers */
117
- tools: {
118
- config: AgentToolConfig;
119
- handler?: ToolHandler;
120
- }[];
121
- /** Server name */
122
- name?: string;
123
- /** Server version */
124
- version?: string;
125
- /** Port to run on */
126
- port?: number;
119
+ export interface ToolServerConfig {
120
+ /** Tools with optional handlers */
121
+ tools: {
122
+ config: AgentToolConfig;
123
+ handler?: ToolHandler;
124
+ }[];
125
+ /** Server name */
126
+ name?: string;
127
+ /** Server version */
128
+ version?: string;
129
+ /** Port to run on */
130
+ port?: number;
127
131
  }
128
132
  /**
129
133
  * Interface for tool servers.
130
134
  */
131
- interface ToolServer {
132
- start(): Promise<void>;
133
- stop(): Promise<void>;
134
- isRunning(): boolean;
135
- getTools(): AgentToolConfig[];
135
+ export interface ToolServer {
136
+ start(): Promise<void>;
137
+ stop(): Promise<void>;
138
+ isRunning(): boolean;
139
+ getTools(): AgentToolConfig[];
136
140
  }
137
141
  /**
138
142
  * Format for tool export.
139
143
  */
140
- type ToolExportFormat = 'claude-agent' | 'opencode' | 'mcp' | 'openai';
144
+ export type ToolExportFormat = 'claude-agent' | 'opencode' | 'mcp' | 'openai';
141
145
  /**
142
146
  * Interface for tool consumers.
143
147
  */
144
- interface ToolConsumer {
145
- createToolServer(config?: Partial<ToolServerConfig>): ToolServer;
146
- exportToolsForSDK(format: ToolExportFormat): unknown[];
147
- getTools(): AgentToolConfig[];
148
- getTool(name: string): AgentToolConfig | undefined;
149
- hasTool(name: string): boolean;
150
- addTool(config: AgentToolConfig, handler?: ToolHandler): void;
151
- removeTool(name: string): boolean;
152
- getToolCount(): number;
148
+ export interface ToolConsumer {
149
+ createToolServer(config?: Partial<ToolServerConfig>): ToolServer;
150
+ exportToolsForSDK(format: ToolExportFormat): unknown[];
151
+ getTools(): AgentToolConfig[];
152
+ getTool(name: string): AgentToolConfig | undefined;
153
+ hasTool(name: string): boolean;
154
+ addTool(config: AgentToolConfig, handler?: ToolHandler): void;
155
+ removeTool(name: string): boolean;
156
+ getToolCount(): number;
153
157
  }
154
158
  /**
155
159
  * Spec list entry for discovery.
156
160
  */
157
- interface SpecListEntry {
158
- /** Spec key */
159
- key: string;
160
- /** Spec version */
161
- version: string;
162
- /** Spec type */
163
- type: 'agent' | 'operation' | 'event' | 'presentation';
164
- /** Brief description */
165
- description?: string;
166
- /** Tags for categorization */
167
- tags?: string[];
161
+ export interface SpecListEntry {
162
+ /** Spec key */
163
+ key: string;
164
+ /** Spec version */
165
+ version: string;
166
+ /** Spec type */
167
+ type: 'agent' | 'operation' | 'event' | 'presentation';
168
+ /** Brief description */
169
+ description?: string;
170
+ /** Tags for categorization */
171
+ tags?: string[];
168
172
  }
169
173
  /**
170
174
  * Task type for implementation prompts.
171
175
  */
172
- type ImplementationTaskType = 'implement' | 'test' | 'review' | 'refactor' | 'document';
176
+ export type ImplementationTaskType = 'implement' | 'test' | 'review' | 'refactor' | 'document';
173
177
  /**
174
178
  * Options for generating implementation prompts.
175
179
  */
176
- interface ImplementationPromptOptions {
177
- /** Task type */
178
- taskType?: ImplementationTaskType;
179
- /** Target language/framework */
180
- targetLanguage?: string;
181
- /** Include examples in prompt */
182
- includeExamples?: boolean;
183
- /** Include test scenarios */
184
- includeTestScenarios?: boolean;
185
- /** Custom context to append */
186
- customContext?: string;
180
+ export interface ImplementationPromptOptions {
181
+ /** Task type */
182
+ taskType?: ImplementationTaskType;
183
+ /** Target language/framework */
184
+ targetLanguage?: string;
185
+ /** Include examples in prompt */
186
+ includeExamples?: boolean;
187
+ /** Include test scenarios */
188
+ includeTestScenarios?: boolean;
189
+ /** Custom context to append */
190
+ customContext?: string;
187
191
  }
188
192
  /**
189
193
  * Format options for spec export.
190
194
  */
191
- type SpecExportFormat = 'markdown' | 'json' | 'prompt' | 'context';
195
+ export type SpecExportFormat = 'markdown' | 'json' | 'prompt' | 'context';
192
196
  /**
193
197
  * Tool configuration for external consumption.
194
198
  */
195
- interface ExternalToolConfig {
196
- /** Tool name */
197
- name: string;
198
- /** Tool description */
199
- description: string;
200
- /** Input schema */
201
- inputSchema: Record<string, unknown>;
202
- /** Whether approval is required */
203
- requiresApproval: boolean;
204
- /** Tool category */
205
- category?: string;
199
+ export interface ExternalToolConfig {
200
+ /** Tool name */
201
+ name: string;
202
+ /** Tool description */
203
+ description: string;
204
+ /** Input schema */
205
+ inputSchema: Record<string, unknown>;
206
+ /** Whether approval is required */
207
+ requiresApproval: boolean;
208
+ /** Tool category */
209
+ category?: string;
206
210
  }
207
211
  /**
208
212
  * Tool handler with metadata.
209
213
  */
210
- interface ToolWithHandler {
211
- /** Tool configuration */
212
- config: AgentToolConfig;
213
- /** Tool handler function */
214
- handler: ToolHandler;
214
+ export interface ToolWithHandler {
215
+ /** Tool configuration */
216
+ config: AgentToolConfig;
217
+ /** Tool handler function */
218
+ handler: ToolHandler;
215
219
  }
216
220
  /**
217
221
  * Target SDK for tool export.
218
222
  */
219
- type ToolExportTarget = 'claude-agent' | 'opencode' | 'mcp';
223
+ export type ToolExportTarget = 'claude-agent' | 'opencode' | 'mcp';
220
224
  /**
221
225
  * MCP server configuration.
222
226
  */
223
- interface McpServerConfig {
224
- /** Server name */
225
- name: string;
226
- /** Server description */
227
- description?: string;
228
- /** Server version */
229
- version?: string;
230
- /** Tools to expose */
231
- tools: AgentToolConfig[];
232
- /** Tool handlers */
233
- handlers: Map<string, ToolHandler>;
227
+ export interface McpServerConfig {
228
+ /** Server name */
229
+ name: string;
230
+ /** Server description */
231
+ description?: string;
232
+ /** Server version */
233
+ version?: string;
234
+ /** Tools to expose */
235
+ tools: AgentToolConfig[];
236
+ /** Tool handlers */
237
+ handlers: Map<string, ToolHandler>;
234
238
  }
235
239
  /**
236
240
  * MCP tool definition for server.
237
241
  */
238
- interface McpToolDefinition {
239
- name: string;
240
- description: string;
241
- inputSchema: {
242
- type: 'object';
243
- properties?: Record<string, unknown>;
244
- required?: string[];
245
- };
242
+ export interface McpToolDefinition {
243
+ name: string;
244
+ description: string;
245
+ inputSchema: {
246
+ type: 'object';
247
+ properties?: Record<string, unknown>;
248
+ required?: string[];
249
+ };
246
250
  }
247
251
  /**
248
252
  * Provider type for UnifiedAgent.
249
253
  */
250
- type UnifiedAgentProvider = 'ai-sdk' | 'claude-agent-sdk' | 'opencode-sdk';
254
+ export type UnifiedAgentProvider = 'ai-sdk' | 'claude-agent-sdk' | 'opencode-sdk';
251
255
  /**
252
256
  * Unified agent status.
253
257
  */
254
- type UnifiedAgentStatus = 'idle' | 'initializing' | 'ready' | 'running' | 'completed' | 'failed';
258
+ export type UnifiedAgentStatus = 'idle' | 'initializing' | 'ready' | 'running' | 'completed' | 'failed';
255
259
  /**
256
260
  * Unified agent execution mode.
257
261
  */
258
- type ExecutionMode = 'generate' | 'stream';
259
- //#endregion
260
- export { ExecutionMode, ExternalToolConfig, ImplementationPromptOptions, ImplementationTaskType, McpServerConfig, McpToolDefinition, SpecConsumer, SpecConsumerConfig, SpecExportFormat, SpecListEntry, SpecListOptions, SpecListResult, SpecMarkdownOptions, SpecPromptOptions, SpecQueryResult, ToolConsumer, ToolConsumerConfig, ToolExportFormat, ToolExportTarget, ToolServer, ToolServerConfig, ToolWithHandler, UnifiedAgentProvider, UnifiedAgentStatus };
262
+ export type ExecutionMode = 'generate' | 'stream';
261
263
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","names":[],"sources":["../../src/interop/types.ts"],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/interop/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ // @bun
@@ -1,2 +1,2 @@
1
- import { createKnowledgeInjector, injectStaticKnowledge } from "./injector.js";
2
- export { createKnowledgeInjector, injectStaticKnowledge };
1
+ export * from './injector';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/knowledge/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -1,3 +1,67 @@
1
- import { createKnowledgeInjector, injectStaticKnowledge } from "./injector.js";
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;
2
14
 
3
- export { createKnowledgeInjector, injectStaticKnowledge };
15
+ // src/knowledge/injector.ts
16
+ async function injectStaticKnowledge(instructions, knowledgeRefs, retriever) {
17
+ if (!retriever)
18
+ return instructions;
19
+ const requiredRefs = knowledgeRefs.filter((ref) => ref.required);
20
+ if (requiredRefs.length === 0)
21
+ return instructions;
22
+ const blocks = [];
23
+ for (const ref of requiredRefs) {
24
+ if (!retriever.supportsSpace(ref.key)) {
25
+ console.warn(`Required knowledge space "${ref.key}" is not available`);
26
+ continue;
27
+ }
28
+ try {
29
+ const content = await retriever.getStatic(ref.key);
30
+ if (content) {
31
+ const header = ref.instructions ? `## ${ref.key}
32
+ ${ref.instructions}` : `## ${ref.key}`;
33
+ blocks.push(`${header}
34
+
35
+ ${content}`);
36
+ }
37
+ } catch (error) {
38
+ console.warn(`Failed to load required knowledge "${ref.key}":`, error);
39
+ }
40
+ }
41
+ if (blocks.length === 0)
42
+ return instructions;
43
+ return `${instructions}
44
+
45
+ ---
46
+
47
+ # Reference Knowledge
48
+
49
+ The following information is provided for your reference. Use it to inform your responses.
50
+
51
+ ${blocks.join(`
52
+
53
+ ---
54
+
55
+ `)}`;
56
+ }
57
+ function createKnowledgeInjector(retriever) {
58
+ return {
59
+ inject: (instructions, knowledgeRefs) => injectStaticKnowledge(instructions, knowledgeRefs, retriever),
60
+ hasSpace: (spaceKey) => retriever?.supportsSpace(spaceKey) ?? false,
61
+ listSpaces: () => retriever?.listSpaces() ?? []
62
+ };
63
+ }
64
+ export {
65
+ injectStaticKnowledge,
66
+ createKnowledgeInjector
67
+ };
@@ -1,7 +1,5 @@
1
- import { AgentKnowledgeRef } from "../spec/spec.js";
2
- import { KnowledgeRetriever } from "@contractspec/lib.knowledge/retriever";
3
-
4
- //#region src/knowledge/injector.d.ts
1
+ import type { KnowledgeRetriever } from '@contractspec/lib.knowledge/retriever';
2
+ import type { AgentKnowledgeRef } from '../spec/spec';
5
3
  /**
6
4
  * Inject static knowledge into agent instructions.
7
5
  *
@@ -14,24 +12,22 @@ import { KnowledgeRetriever } from "@contractspec/lib.knowledge/retriever";
14
12
  * @param retriever - Optional knowledge retriever
15
13
  * @returns Instructions with injected knowledge
16
14
  */
17
- declare function injectStaticKnowledge(instructions: string, knowledgeRefs: AgentKnowledgeRef[], retriever?: KnowledgeRetriever): Promise<string>;
15
+ export declare function injectStaticKnowledge(instructions: string, knowledgeRefs: AgentKnowledgeRef[], retriever?: KnowledgeRetriever): Promise<string>;
18
16
  /**
19
17
  * Create a knowledge injector instance for reuse.
20
18
  */
21
- declare function createKnowledgeInjector(retriever?: KnowledgeRetriever): {
22
- /**
23
- * Inject static knowledge into instructions.
24
- */
25
- inject: (instructions: string, knowledgeRefs: AgentKnowledgeRef[]) => Promise<string>;
26
- /**
27
- * Check if a knowledge space is available.
28
- */
29
- hasSpace: (spaceKey: string) => boolean;
30
- /**
31
- * List available knowledge spaces.
32
- */
33
- listSpaces: () => string[];
19
+ export declare function createKnowledgeInjector(retriever?: KnowledgeRetriever): {
20
+ /**
21
+ * Inject static knowledge into instructions.
22
+ */
23
+ inject: (instructions: string, knowledgeRefs: AgentKnowledgeRef[]) => Promise<string>;
24
+ /**
25
+ * Check if a knowledge space is available.
26
+ */
27
+ hasSpace: (spaceKey: string) => boolean;
28
+ /**
29
+ * List available knowledge spaces.
30
+ */
31
+ listSpaces: () => string[];
34
32
  };
35
- //#endregion
36
- export { createKnowledgeInjector, injectStaticKnowledge };
37
33
  //# sourceMappingURL=injector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"injector.d.ts","names":[],"sources":["../../src/knowledge/injector.ts"],"mappings":";;;;;;AAeA;;;;;;;;;;iBAAsB,qBAAA,CACpB,YAAA,UACA,aAAA,EAAe,iBAAA,IACf,SAAA,GAAY,kBAAA,GACX,OAAA;;;;iBA2Ca,uBAAA,CAAwB,SAAA,GAAY,kBAAA;EA3C1C;AA2CV;;iCAKiC,aAAA,EAAiB,iBAAA,OAAmB,OAAA;EALjB;;;;EAKiB"}
1
+ {"version":3,"file":"injector.d.ts","sourceRoot":"","sources":["../../src/knowledge/injector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD;;;;;;;;;;;GAWG;AACH,wBAAsB,qBAAqB,CACzC,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,iBAAiB,EAAE,EAClC,SAAS,CAAC,EAAE,kBAAkB,GAC7B,OAAO,CAAC,MAAM,CAAC,CAsCjB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,CAAC,EAAE,kBAAkB;IAElE;;OAEG;2BACoB,MAAM,iBAAiB,iBAAiB,EAAE;IAGjE;;OAEG;yBACkB,MAAM;IAE3B;;OAEG;;EAGN"}