@codeany/open-agent-sdk 0.2.1 → 0.2.2

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/.env.example +8 -0
  2. package/examples/01-simple-query.ts +43 -0
  3. package/examples/02-multi-tool.ts +44 -0
  4. package/examples/03-multi-turn.ts +39 -0
  5. package/examples/04-prompt-api.ts +29 -0
  6. package/examples/05-custom-system-prompt.ts +26 -0
  7. package/examples/06-mcp-server.ts +49 -0
  8. package/examples/07-custom-tools.ts +87 -0
  9. package/examples/08-official-api-compat.ts +38 -0
  10. package/examples/09-subagents.ts +48 -0
  11. package/examples/10-permissions.ts +40 -0
  12. package/examples/11-custom-mcp-tools.ts +101 -0
  13. package/examples/12-skills.ts +88 -0
  14. package/examples/13-hooks.ts +88 -0
  15. package/examples/14-openai-compat.ts +71 -0
  16. package/examples/web/index.html +365 -0
  17. package/examples/web/server.ts +157 -0
  18. package/package.json +1 -7
  19. package/src/engine.ts +3 -0
  20. package/tsconfig.json +19 -0
  21. package/dist/agent.d.ts +0 -113
  22. package/dist/agent.d.ts.map +0 -1
  23. package/dist/agent.js +0 -446
  24. package/dist/agent.js.map +0 -1
  25. package/dist/engine.d.ts +0 -62
  26. package/dist/engine.d.ts.map +0 -1
  27. package/dist/engine.js +0 -494
  28. package/dist/engine.js.map +0 -1
  29. package/dist/hooks.d.ts +0 -111
  30. package/dist/hooks.d.ts.map +0 -1
  31. package/dist/hooks.js +0 -179
  32. package/dist/hooks.js.map +0 -1
  33. package/dist/index.d.ts +0 -66
  34. package/dist/index.d.ts.map +0 -1
  35. package/dist/index.js +0 -133
  36. package/dist/index.js.map +0 -1
  37. package/dist/mcp/client.d.ts +0 -19
  38. package/dist/mcp/client.d.ts.map +0 -1
  39. package/dist/mcp/client.js +0 -126
  40. package/dist/mcp/client.js.map +0 -1
  41. package/dist/providers/anthropic.d.ts +0 -17
  42. package/dist/providers/anthropic.d.ts.map +0 -1
  43. package/dist/providers/anthropic.js +0 -47
  44. package/dist/providers/anthropic.js.map +0 -1
  45. package/dist/providers/index.d.ts +0 -20
  46. package/dist/providers/index.d.ts.map +0 -1
  47. package/dist/providers/index.js +0 -26
  48. package/dist/providers/index.js.map +0 -1
  49. package/dist/providers/openai.d.ts +0 -26
  50. package/dist/providers/openai.d.ts.map +0 -1
  51. package/dist/providers/openai.js +0 -212
  52. package/dist/providers/openai.js.map +0 -1
  53. package/dist/providers/types.d.ts +0 -84
  54. package/dist/providers/types.d.ts.map +0 -1
  55. package/dist/providers/types.js +0 -11
  56. package/dist/providers/types.js.map +0 -1
  57. package/dist/sdk-mcp-server.d.ts +0 -52
  58. package/dist/sdk-mcp-server.d.ts.map +0 -1
  59. package/dist/sdk-mcp-server.js +0 -57
  60. package/dist/sdk-mcp-server.js.map +0 -1
  61. package/dist/session.d.ts +0 -73
  62. package/dist/session.d.ts.map +0 -1
  63. package/dist/session.js +0 -159
  64. package/dist/session.js.map +0 -1
  65. package/dist/skills/bundled/commit.d.ts +0 -7
  66. package/dist/skills/bundled/commit.d.ts.map +0 -1
  67. package/dist/skills/bundled/commit.js +0 -35
  68. package/dist/skills/bundled/commit.js.map +0 -1
  69. package/dist/skills/bundled/debug.d.ts +0 -7
  70. package/dist/skills/bundled/debug.d.ts.map +0 -1
  71. package/dist/skills/bundled/debug.js +0 -46
  72. package/dist/skills/bundled/debug.js.map +0 -1
  73. package/dist/skills/bundled/index.d.ts +0 -11
  74. package/dist/skills/bundled/index.d.ts.map +0 -1
  75. package/dist/skills/bundled/index.js +0 -26
  76. package/dist/skills/bundled/index.js.map +0 -1
  77. package/dist/skills/bundled/review.d.ts +0 -7
  78. package/dist/skills/bundled/review.d.ts.map +0 -1
  79. package/dist/skills/bundled/review.js +0 -38
  80. package/dist/skills/bundled/review.js.map +0 -1
  81. package/dist/skills/bundled/simplify.d.ts +0 -8
  82. package/dist/skills/bundled/simplify.d.ts.map +0 -1
  83. package/dist/skills/bundled/simplify.js +0 -48
  84. package/dist/skills/bundled/simplify.js.map +0 -1
  85. package/dist/skills/bundled/test.d.ts +0 -7
  86. package/dist/skills/bundled/test.d.ts.map +0 -1
  87. package/dist/skills/bundled/test.js +0 -40
  88. package/dist/skills/bundled/test.js.map +0 -1
  89. package/dist/skills/index.d.ts +0 -7
  90. package/dist/skills/index.d.ts.map +0 -1
  91. package/dist/skills/index.js +0 -8
  92. package/dist/skills/index.js.map +0 -1
  93. package/dist/skills/registry.d.ts +0 -43
  94. package/dist/skills/registry.d.ts.map +0 -1
  95. package/dist/skills/registry.js +0 -111
  96. package/dist/skills/registry.js.map +0 -1
  97. package/dist/skills/types.d.ts +0 -83
  98. package/dist/skills/types.d.ts.map +0 -1
  99. package/dist/skills/types.js +0 -8
  100. package/dist/skills/types.js.map +0 -1
  101. package/dist/tool-helper.d.ts +0 -73
  102. package/dist/tool-helper.d.ts.map +0 -1
  103. package/dist/tool-helper.js +0 -86
  104. package/dist/tool-helper.js.map +0 -1
  105. package/dist/tools/agent-tool.d.ts +0 -17
  106. package/dist/tools/agent-tool.d.ts.map +0 -1
  107. package/dist/tools/agent-tool.js +0 -146
  108. package/dist/tools/agent-tool.js.map +0 -1
  109. package/dist/tools/ask-user.d.ts +0 -18
  110. package/dist/tools/ask-user.d.ts.map +0 -1
  111. package/dist/tools/ask-user.js +0 -72
  112. package/dist/tools/ask-user.js.map +0 -1
  113. package/dist/tools/bash.d.ts +0 -5
  114. package/dist/tools/bash.d.ts.map +0 -1
  115. package/dist/tools/bash.js +0 -67
  116. package/dist/tools/bash.js.map +0 -1
  117. package/dist/tools/config-tool.d.ts +0 -20
  118. package/dist/tools/config-tool.d.ts.map +0 -1
  119. package/dist/tools/config-tool.js +0 -83
  120. package/dist/tools/config-tool.js.map +0 -1
  121. package/dist/tools/cron-tools.d.ts +0 -33
  122. package/dist/tools/cron-tools.d.ts.map +0 -1
  123. package/dist/tools/cron-tools.js +0 -128
  124. package/dist/tools/cron-tools.js.map +0 -1
  125. package/dist/tools/edit.d.ts +0 -5
  126. package/dist/tools/edit.d.ts.map +0 -1
  127. package/dist/tools/edit.js +0 -70
  128. package/dist/tools/edit.js.map +0 -1
  129. package/dist/tools/glob.d.ts +0 -5
  130. package/dist/tools/glob.d.ts.map +0 -1
  131. package/dist/tools/glob.js +0 -75
  132. package/dist/tools/glob.js.map +0 -1
  133. package/dist/tools/grep.d.ts +0 -5
  134. package/dist/tools/grep.d.ts.map +0 -1
  135. package/dist/tools/grep.js +0 -168
  136. package/dist/tools/grep.js.map +0 -1
  137. package/dist/tools/index.d.ts +0 -45
  138. package/dist/tools/index.d.ts.map +0 -1
  139. package/dist/tools/index.js +0 -162
  140. package/dist/tools/index.js.map +0 -1
  141. package/dist/tools/lsp-tool.d.ts +0 -9
  142. package/dist/tools/lsp-tool.d.ts.map +0 -1
  143. package/dist/tools/lsp-tool.js +0 -137
  144. package/dist/tools/lsp-tool.js.map +0 -1
  145. package/dist/tools/mcp-resource-tools.d.ts +0 -14
  146. package/dist/tools/mcp-resource-tools.d.ts.map +0 -1
  147. package/dist/tools/mcp-resource-tools.js +0 -117
  148. package/dist/tools/mcp-resource-tools.js.map +0 -1
  149. package/dist/tools/notebook-edit.d.ts +0 -5
  150. package/dist/tools/notebook-edit.d.ts.map +0 -1
  151. package/dist/tools/notebook-edit.js +0 -85
  152. package/dist/tools/notebook-edit.js.map +0 -1
  153. package/dist/tools/plan-tools.d.ts +0 -12
  154. package/dist/tools/plan-tools.d.ts.map +0 -1
  155. package/dist/tools/plan-tools.js +0 -77
  156. package/dist/tools/plan-tools.js.map +0 -1
  157. package/dist/tools/read.d.ts +0 -5
  158. package/dist/tools/read.d.ts.map +0 -1
  159. package/dist/tools/read.js +0 -66
  160. package/dist/tools/read.js.map +0 -1
  161. package/dist/tools/send-message.d.ts +0 -31
  162. package/dist/tools/send-message.d.ts.map +0 -1
  163. package/dist/tools/send-message.js +0 -77
  164. package/dist/tools/send-message.js.map +0 -1
  165. package/dist/tools/skill-tool.d.ts +0 -9
  166. package/dist/tools/skill-tool.d.ts.map +0 -1
  167. package/dist/tools/skill-tool.js +0 -115
  168. package/dist/tools/skill-tool.js.map +0 -1
  169. package/dist/tools/task-tools.d.ts +0 -48
  170. package/dist/tools/task-tools.d.ts.map +0 -1
  171. package/dist/tools/task-tools.js +0 -242
  172. package/dist/tools/task-tools.js.map +0 -1
  173. package/dist/tools/team-tools.d.ts +0 -34
  174. package/dist/tools/team-tools.d.ts.map +0 -1
  175. package/dist/tools/team-tools.js +0 -103
  176. package/dist/tools/team-tools.js.map +0 -1
  177. package/dist/tools/todo-tool.d.ts +0 -22
  178. package/dist/tools/todo-tool.d.ts.map +0 -1
  179. package/dist/tools/todo-tool.js +0 -93
  180. package/dist/tools/todo-tool.js.map +0 -1
  181. package/dist/tools/tool-search.d.ts +0 -13
  182. package/dist/tools/tool-search.d.ts.map +0 -1
  183. package/dist/tools/tool-search.js +0 -76
  184. package/dist/tools/tool-search.js.map +0 -1
  185. package/dist/tools/types.d.ts +0 -29
  186. package/dist/tools/types.d.ts.map +0 -1
  187. package/dist/tools/types.js +0 -52
  188. package/dist/tools/types.js.map +0 -1
  189. package/dist/tools/web-fetch.d.ts +0 -5
  190. package/dist/tools/web-fetch.d.ts.map +0 -1
  191. package/dist/tools/web-fetch.js +0 -60
  192. package/dist/tools/web-fetch.js.map +0 -1
  193. package/dist/tools/web-search.d.ts +0 -5
  194. package/dist/tools/web-search.d.ts.map +0 -1
  195. package/dist/tools/web-search.js +0 -77
  196. package/dist/tools/web-search.js.map +0 -1
  197. package/dist/tools/worktree-tools.d.ts +0 -10
  198. package/dist/tools/worktree-tools.d.ts.map +0 -1
  199. package/dist/tools/worktree-tools.js +0 -130
  200. package/dist/tools/worktree-tools.js.map +0 -1
  201. package/dist/tools/write.d.ts +0 -5
  202. package/dist/tools/write.d.ts.map +0 -1
  203. package/dist/tools/write.js +0 -40
  204. package/dist/tools/write.js.map +0 -1
  205. package/dist/types.d.ts +0 -423
  206. package/dist/types.d.ts.map +0 -1
  207. package/dist/types.js +0 -5
  208. package/dist/types.js.map +0 -1
  209. package/dist/utils/compact.d.ts +0 -44
  210. package/dist/utils/compact.d.ts.map +0 -1
  211. package/dist/utils/compact.js +0 -162
  212. package/dist/utils/compact.js.map +0 -1
  213. package/dist/utils/context.d.ts +0 -35
  214. package/dist/utils/context.d.ts.map +0 -1
  215. package/dist/utils/context.js +0 -174
  216. package/dist/utils/context.js.map +0 -1
  217. package/dist/utils/fileCache.d.ts +0 -64
  218. package/dist/utils/fileCache.d.ts.map +0 -1
  219. package/dist/utils/fileCache.js +0 -117
  220. package/dist/utils/fileCache.js.map +0 -1
  221. package/dist/utils/messages.d.ts +0 -57
  222. package/dist/utils/messages.d.ts.map +0 -1
  223. package/dist/utils/messages.js +0 -152
  224. package/dist/utils/messages.js.map +0 -1
  225. package/dist/utils/retry.d.ts +0 -48
  226. package/dist/utils/retry.d.ts.map +0 -1
  227. package/dist/utils/retry.js +0 -111
  228. package/dist/utils/retry.js.map +0 -1
  229. package/dist/utils/tokens.d.ts +0 -57
  230. package/dist/utils/tokens.d.ts.map +0 -1
  231. package/dist/utils/tokens.js +0 -134
  232. package/dist/utils/tokens.js.map +0 -1
@@ -1,52 +0,0 @@
1
- /**
2
- * In-Process MCP Server
3
- *
4
- * createSdkMcpServer() creates an in-process MCP server from tool() definitions.
5
- * Compatible with open-agent-sdk's createSdkMcpServer().
6
- *
7
- * Usage:
8
- * import { tool, createSdkMcpServer } from 'open-agent-sdk'
9
- * import { z } from 'zod'
10
- *
11
- * const weatherTool = tool('get_weather', 'Get weather', { city: z.string() },
12
- * async ({ city }) => ({ content: [{ type: 'text', text: `22°C in ${city}` }] })
13
- * )
14
- *
15
- * const server = createSdkMcpServer({
16
- * name: 'weather',
17
- * tools: [weatherTool],
18
- * })
19
- *
20
- * // Use as MCP server config:
21
- * const agent = createAgent({
22
- * mcpServers: { weather: server },
23
- * })
24
- */
25
- import type { SdkMcpToolDefinition } from './tool-helper.js';
26
- import type { ToolDefinition } from './types.js';
27
- /**
28
- * SDK MCP server config that includes the in-process server instance.
29
- */
30
- export interface McpSdkServerConfig {
31
- type: 'sdk';
32
- name: string;
33
- version: string;
34
- tools: ToolDefinition[];
35
- _sdkTools: SdkMcpToolDefinition<any>[];
36
- }
37
- /**
38
- * Create an in-process MCP server from tool definitions.
39
- *
40
- * The server runs in the same process as the agent, avoiding
41
- * subprocess overhead. Tools are directly callable.
42
- */
43
- export declare function createSdkMcpServer(options: {
44
- name: string;
45
- version?: string;
46
- tools?: SdkMcpToolDefinition<any>[];
47
- }): McpSdkServerConfig;
48
- /**
49
- * Check if a server config is an in-process SDK server.
50
- */
51
- export declare function isSdkServerConfig(config: any): config is McpSdkServerConfig;
52
- //# sourceMappingURL=sdk-mcp-server.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sdk-mcp-server.d.ts","sourceRoot":"","sources":["../src/sdk-mcp-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAE5D,OAAO,KAAK,EAAE,cAAc,EAAmB,MAAM,YAAY,CAAA;AAEjE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,KAAK,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,cAAc,EAAE,CAAA;IACvB,SAAS,EAAE,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAA;CACvC;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE;IAC1C,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAA;CACpC,GAAG,kBAAkB,CAoBrB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,kBAAkB,CAE3E"}
@@ -1,57 +0,0 @@
1
- /**
2
- * In-Process MCP Server
3
- *
4
- * createSdkMcpServer() creates an in-process MCP server from tool() definitions.
5
- * Compatible with open-agent-sdk's createSdkMcpServer().
6
- *
7
- * Usage:
8
- * import { tool, createSdkMcpServer } from 'open-agent-sdk'
9
- * import { z } from 'zod'
10
- *
11
- * const weatherTool = tool('get_weather', 'Get weather', { city: z.string() },
12
- * async ({ city }) => ({ content: [{ type: 'text', text: `22°C in ${city}` }] })
13
- * )
14
- *
15
- * const server = createSdkMcpServer({
16
- * name: 'weather',
17
- * tools: [weatherTool],
18
- * })
19
- *
20
- * // Use as MCP server config:
21
- * const agent = createAgent({
22
- * mcpServers: { weather: server },
23
- * })
24
- */
25
- import { sdkToolToToolDefinition } from './tool-helper.js';
26
- /**
27
- * Create an in-process MCP server from tool definitions.
28
- *
29
- * The server runs in the same process as the agent, avoiding
30
- * subprocess overhead. Tools are directly callable.
31
- */
32
- export function createSdkMcpServer(options) {
33
- const sdkTools = options.tools || [];
34
- // Convert SDK tools to engine-compatible tool definitions
35
- // Prefix tool names with mcp__{server_name}__ for namespace isolation
36
- const toolDefinitions = sdkTools.map((sdkTool) => {
37
- const toolDef = sdkToolToToolDefinition(sdkTool);
38
- return {
39
- ...toolDef,
40
- name: `mcp__${options.name}__${sdkTool.name}`,
41
- };
42
- });
43
- return {
44
- type: 'sdk',
45
- name: options.name,
46
- version: options.version || '1.0.0',
47
- tools: toolDefinitions,
48
- _sdkTools: sdkTools,
49
- };
50
- }
51
- /**
52
- * Check if a server config is an in-process SDK server.
53
- */
54
- export function isSdkServerConfig(config) {
55
- return config?.type === 'sdk' && Array.isArray(config.tools);
56
- }
57
- //# sourceMappingURL=sdk-mcp-server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sdk-mcp-server.js","sourceRoot":"","sources":["../src/sdk-mcp-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAc1D;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAIlC;IACC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAA;IAEpC,0DAA0D;IAC1D,sEAAsE;IACtE,MAAM,eAAe,GAAqB,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACjE,MAAM,OAAO,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAA;QAChD,OAAO;YACL,GAAG,OAAO;YACV,IAAI,EAAE,QAAQ,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE;SAC9C,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,OAAO;QACL,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,OAAO;QACnC,KAAK,EAAE,eAAe;QACtB,SAAS,EAAE,QAAQ;KACpB,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAW;IAC3C,OAAO,MAAM,EAAE,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC9D,CAAC"}
package/dist/session.d.ts DELETED
@@ -1,73 +0,0 @@
1
- /**
2
- * Session Storage & Management
3
- *
4
- * Persists conversation transcripts to disk for resumption.
5
- * Manages session lifecycle (create, resume, list, fork).
6
- */
7
- import type { NormalizedMessageParam } from './providers/types.js';
8
- /**
9
- * Session metadata.
10
- */
11
- export interface SessionMetadata {
12
- id: string;
13
- cwd: string;
14
- model: string;
15
- createdAt: string;
16
- updatedAt: string;
17
- messageCount: number;
18
- summary?: string;
19
- }
20
- /**
21
- * Session data on disk.
22
- */
23
- export interface SessionData {
24
- metadata: SessionMetadata;
25
- messages: NormalizedMessageParam[];
26
- }
27
- /**
28
- * Save session to disk.
29
- */
30
- export declare function saveSession(sessionId: string, messages: NormalizedMessageParam[], metadata: Partial<SessionMetadata>): Promise<void>;
31
- /**
32
- * Load session from disk.
33
- */
34
- export declare function loadSession(sessionId: string): Promise<SessionData | null>;
35
- /**
36
- * List all sessions.
37
- */
38
- export declare function listSessions(): Promise<SessionMetadata[]>;
39
- /**
40
- * Fork a session (create a copy with a new ID).
41
- */
42
- export declare function forkSession(sourceSessionId: string, newSessionId?: string): Promise<string | null>;
43
- /**
44
- * Get session messages.
45
- */
46
- export declare function getSessionMessages(sessionId: string): Promise<NormalizedMessageParam[]>;
47
- /**
48
- * Append a message to a session transcript.
49
- */
50
- export declare function appendToSession(sessionId: string, message: NormalizedMessageParam): Promise<void>;
51
- /**
52
- * Delete a session.
53
- */
54
- export declare function deleteSession(sessionId: string): Promise<boolean>;
55
- /**
56
- * Get info about a specific session.
57
- */
58
- export declare function getSessionInfo(sessionId: string, options?: {
59
- dir?: string;
60
- }): Promise<SessionMetadata | null>;
61
- /**
62
- * Rename a session.
63
- */
64
- export declare function renameSession(sessionId: string, title: string, options?: {
65
- dir?: string;
66
- }): Promise<void>;
67
- /**
68
- * Tag a session.
69
- */
70
- export declare function tagSession(sessionId: string, tag: string | null, options?: {
71
- dir?: string;
72
- }): Promise<void>;
73
- //# sourceMappingURL=session.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAElE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,eAAe,CAAA;IACzB,QAAQ,EAAE,sBAAsB,EAAE,CAAA;CACnC;AAiBD;;GAEG;AACH,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,sBAAsB,EAAE,EAClC,QAAQ,EAAE,OAAO,CAAC,eAAe,CAAC,GACjC,OAAO,CAAC,IAAI,CAAC,CAsBf;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAQhF;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAwB/D;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,eAAe,EAAE,MAAM,EACvB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAcxB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAGnC;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,IAAI,CAAC,CASf;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQvE;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GACzB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAGjC;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GACzB,OAAO,CAAC,IAAI,CAAC,CAQf;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,OAAO,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GACzB,OAAO,CAAC,IAAI,CAAC,CAQf"}
package/dist/session.js DELETED
@@ -1,159 +0,0 @@
1
- /**
2
- * Session Storage & Management
3
- *
4
- * Persists conversation transcripts to disk for resumption.
5
- * Manages session lifecycle (create, resume, list, fork).
6
- */
7
- import { readFile, writeFile, mkdir, readdir } from 'fs/promises';
8
- import { join } from 'path';
9
- /**
10
- * Get the sessions directory path.
11
- */
12
- function getSessionsDir() {
13
- const home = process.env.HOME || process.env.USERPROFILE || '/tmp';
14
- return join(home, '.open-agent-sdk', 'sessions');
15
- }
16
- /**
17
- * Get the path for a specific session.
18
- */
19
- function getSessionPath(sessionId) {
20
- return join(getSessionsDir(), sessionId);
21
- }
22
- /**
23
- * Save session to disk.
24
- */
25
- export async function saveSession(sessionId, messages, metadata) {
26
- const dir = getSessionPath(sessionId);
27
- await mkdir(dir, { recursive: true });
28
- const data = {
29
- metadata: {
30
- id: sessionId,
31
- cwd: metadata.cwd || process.cwd(),
32
- model: metadata.model || 'claude-sonnet-4-6',
33
- createdAt: metadata.createdAt || new Date().toISOString(),
34
- updatedAt: new Date().toISOString(),
35
- messageCount: messages.length,
36
- summary: metadata.summary,
37
- },
38
- messages,
39
- };
40
- await writeFile(join(dir, 'transcript.json'), JSON.stringify(data, null, 2), 'utf-8');
41
- }
42
- /**
43
- * Load session from disk.
44
- */
45
- export async function loadSession(sessionId) {
46
- try {
47
- const filePath = join(getSessionPath(sessionId), 'transcript.json');
48
- const content = await readFile(filePath, 'utf-8');
49
- return JSON.parse(content);
50
- }
51
- catch {
52
- return null;
53
- }
54
- }
55
- /**
56
- * List all sessions.
57
- */
58
- export async function listSessions() {
59
- try {
60
- const dir = getSessionsDir();
61
- const entries = await readdir(dir);
62
- const sessions = [];
63
- for (const entry of entries) {
64
- try {
65
- const data = await loadSession(entry);
66
- if (data?.metadata) {
67
- sessions.push(data.metadata);
68
- }
69
- }
70
- catch {
71
- // Skip invalid sessions
72
- }
73
- }
74
- // Sort by updatedAt descending
75
- sessions.sort((a, b) => b.updatedAt.localeCompare(a.updatedAt));
76
- return sessions;
77
- }
78
- catch {
79
- return [];
80
- }
81
- }
82
- /**
83
- * Fork a session (create a copy with a new ID).
84
- */
85
- export async function forkSession(sourceSessionId, newSessionId) {
86
- const data = await loadSession(sourceSessionId);
87
- if (!data)
88
- return null;
89
- const forkId = newSessionId || crypto.randomUUID();
90
- await saveSession(forkId, data.messages, {
91
- ...data.metadata,
92
- id: forkId,
93
- createdAt: new Date().toISOString(),
94
- summary: `Forked from session ${sourceSessionId}`,
95
- });
96
- return forkId;
97
- }
98
- /**
99
- * Get session messages.
100
- */
101
- export async function getSessionMessages(sessionId) {
102
- const data = await loadSession(sessionId);
103
- return data?.messages || [];
104
- }
105
- /**
106
- * Append a message to a session transcript.
107
- */
108
- export async function appendToSession(sessionId, message) {
109
- const data = await loadSession(sessionId);
110
- if (!data)
111
- return;
112
- data.messages.push(message);
113
- data.metadata.updatedAt = new Date().toISOString();
114
- data.metadata.messageCount = data.messages.length;
115
- await saveSession(sessionId, data.messages, data.metadata);
116
- }
117
- /**
118
- * Delete a session.
119
- */
120
- export async function deleteSession(sessionId) {
121
- try {
122
- const { rm } = await import('fs/promises');
123
- await rm(getSessionPath(sessionId), { recursive: true, force: true });
124
- return true;
125
- }
126
- catch {
127
- return false;
128
- }
129
- }
130
- /**
131
- * Get info about a specific session.
132
- */
133
- export async function getSessionInfo(sessionId, options) {
134
- const data = await loadSession(sessionId);
135
- return data?.metadata || null;
136
- }
137
- /**
138
- * Rename a session.
139
- */
140
- export async function renameSession(sessionId, title, options) {
141
- const data = await loadSession(sessionId);
142
- if (!data)
143
- return;
144
- data.metadata.summary = title;
145
- data.metadata.updatedAt = new Date().toISOString();
146
- await saveSession(sessionId, data.messages, data.metadata);
147
- }
148
- /**
149
- * Tag a session.
150
- */
151
- export async function tagSession(sessionId, tag, options) {
152
- const data = await loadSession(sessionId);
153
- if (!data)
154
- return;
155
- data.metadata.tag = tag;
156
- data.metadata.updatedAt = new Date().toISOString();
157
- await saveSession(sessionId, data.messages, data.metadata);
158
- }
159
- //# sourceMappingURL=session.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Bundled Skill: commit
3
- *
4
- * Create a git commit with a well-crafted message based on staged changes.
5
- */
6
- export declare function registerCommitSkill(): void;
7
- //# sourceMappingURL=commit.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["../../../src/skills/bundled/commit.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAkBH,wBAAgB,mBAAmB,IAAI,IAAI,CAe1C"}
@@ -1,35 +0,0 @@
1
- /**
2
- * Bundled Skill: commit
3
- *
4
- * Create a git commit with a well-crafted message based on staged changes.
5
- */
6
- import { registerSkill } from '../registry.js';
7
- const COMMIT_PROMPT = `Create a git commit for the current changes. Follow these steps:
8
-
9
- 1. Run \`git status\` and \`git diff --cached\` to understand what's staged
10
- 2. If nothing is staged, run \`git diff\` to see unstaged changes and suggest what to stage
11
- 3. Analyze the changes and draft a concise commit message that:
12
- - Uses imperative mood ("Add feature" not "Added feature")
13
- - Summarizes the "why" not just the "what"
14
- - Keeps the first line under 72 characters
15
- - Adds a body with details if the change is complex
16
- 4. Create the commit
17
-
18
- Do NOT push to remote unless explicitly asked.`;
19
- export function registerCommitSkill() {
20
- registerSkill({
21
- name: 'commit',
22
- description: 'Create a git commit with a well-crafted message based on staged changes.',
23
- aliases: ['ci'],
24
- allowedTools: ['Bash', 'Read', 'Glob', 'Grep'],
25
- userInvocable: true,
26
- async getPrompt(args) {
27
- let prompt = COMMIT_PROMPT;
28
- if (args.trim()) {
29
- prompt += `\n\nAdditional instructions: ${args}`;
30
- }
31
- return [{ type: 'text', text: prompt }];
32
- },
33
- });
34
- }
35
- //# sourceMappingURL=commit.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commit.js","sourceRoot":"","sources":["../../../src/skills/bundled/commit.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAG9C,MAAM,aAAa,GAAG;;;;;;;;;;;+CAWyB,CAAA;AAE/C,MAAM,UAAU,mBAAmB;IACjC,aAAa,CAAC;QACZ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,0EAA0E;QACvF,OAAO,EAAE,CAAC,IAAI,CAAC;QACf,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QAC9C,aAAa,EAAE,IAAI;QACnB,KAAK,CAAC,SAAS,CAAC,IAAI;YAClB,IAAI,MAAM,GAAG,aAAa,CAAA;YAC1B,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBAChB,MAAM,IAAI,gCAAgC,IAAI,EAAE,CAAA;YAClD,CAAC;YACD,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;QACzC,CAAC;KACF,CAAC,CAAA;AACJ,CAAC"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Bundled Skill: debug
3
- *
4
- * Systematic debugging of an issue using structured investigation.
5
- */
6
- export declare function registerDebugSkill(): void;
7
- //# sourceMappingURL=debug.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../../src/skills/bundled/debug.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA2BH,wBAAgB,kBAAkB,IAAI,IAAI,CAgBzC"}
@@ -1,46 +0,0 @@
1
- /**
2
- * Bundled Skill: debug
3
- *
4
- * Systematic debugging of an issue using structured investigation.
5
- */
6
- import { registerSkill } from '../registry.js';
7
- const DEBUG_PROMPT = `Debug the described issue using a systematic approach:
8
-
9
- 1. **Reproduce**: Understand and reproduce the issue
10
- - Read relevant error messages or logs
11
- - Identify the failing component
12
-
13
- 2. **Investigate**: Trace the root cause
14
- - Read the relevant source code
15
- - Add logging or use debugging tools if needed
16
- - Check recent changes that might have introduced the issue (\`git log --oneline -20\`)
17
-
18
- 3. **Hypothesize**: Form a theory about the cause
19
- - State your hypothesis clearly before attempting a fix
20
-
21
- 4. **Fix**: Implement the minimal fix
22
- - Make the smallest change that resolves the issue
23
- - Don't refactor unrelated code
24
-
25
- 5. **Verify**: Confirm the fix works
26
- - Run relevant tests
27
- - Check for regressions`;
28
- export function registerDebugSkill() {
29
- registerSkill({
30
- name: 'debug',
31
- description: 'Systematic debugging of an issue using structured investigation.',
32
- aliases: ['investigate', 'diagnose'],
33
- userInvocable: true,
34
- async getPrompt(args) {
35
- let prompt = DEBUG_PROMPT;
36
- if (args.trim()) {
37
- prompt += `\n\n## Issue Description\n${args}`;
38
- }
39
- else {
40
- prompt += `\n\nAsk the user to describe the issue they're experiencing.`;
41
- }
42
- return [{ type: 'text', text: prompt }];
43
- },
44
- });
45
- }
46
- //# sourceMappingURL=debug.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../src/skills/bundled/debug.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAG9C,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;2BAoBM,CAAA;AAE3B,MAAM,UAAU,kBAAkB;IAChC,aAAa,CAAC;QACZ,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,kEAAkE;QAC/E,OAAO,EAAE,CAAC,aAAa,EAAE,UAAU,CAAC;QACpC,aAAa,EAAE,IAAI;QACnB,KAAK,CAAC,SAAS,CAAC,IAAI;YAClB,IAAI,MAAM,GAAG,YAAY,CAAA;YACzB,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBAChB,MAAM,IAAI,6BAA6B,IAAI,EAAE,CAAA;YAC/C,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,8DAA8D,CAAA;YAC1E,CAAC;YACD,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;QACzC,CAAC;KACF,CAAC,CAAA;AACJ,CAAC"}
@@ -1,11 +0,0 @@
1
- /**
2
- * Bundled Skills Initialization
3
- *
4
- * Registers all built-in skills at SDK startup.
5
- */
6
- /**
7
- * Initialize all bundled skills.
8
- * Safe to call multiple times (idempotent).
9
- */
10
- export declare function initBundledSkills(): void;
11
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/skills/bundled/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CASxC"}
@@ -1,26 +0,0 @@
1
- /**
2
- * Bundled Skills Initialization
3
- *
4
- * Registers all built-in skills at SDK startup.
5
- */
6
- import { registerSimplifySkill } from './simplify.js';
7
- import { registerCommitSkill } from './commit.js';
8
- import { registerReviewSkill } from './review.js';
9
- import { registerDebugSkill } from './debug.js';
10
- import { registerTestSkill } from './test.js';
11
- let initialized = false;
12
- /**
13
- * Initialize all bundled skills.
14
- * Safe to call multiple times (idempotent).
15
- */
16
- export function initBundledSkills() {
17
- if (initialized)
18
- return;
19
- initialized = true;
20
- registerSimplifySkill();
21
- registerCommitSkill();
22
- registerReviewSkill();
23
- registerDebugSkill();
24
- registerTestSkill();
25
- }
26
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/skills/bundled/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAE7C,IAAI,WAAW,GAAG,KAAK,CAAA;AAEvB;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,IAAI,WAAW;QAAE,OAAM;IACvB,WAAW,GAAG,IAAI,CAAA;IAElB,qBAAqB,EAAE,CAAA;IACvB,mBAAmB,EAAE,CAAA;IACrB,mBAAmB,EAAE,CAAA;IACrB,kBAAkB,EAAE,CAAA;IACpB,iBAAiB,EAAE,CAAA;AACrB,CAAC"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Bundled Skill: review
3
- *
4
- * Review code changes (PR or local diff) for issues and improvements.
5
- */
6
- export declare function registerReviewSkill(): void;
7
- //# sourceMappingURL=review.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../../src/skills/bundled/review.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAqBH,wBAAgB,mBAAmB,IAAI,IAAI,CAe1C"}
@@ -1,38 +0,0 @@
1
- /**
2
- * Bundled Skill: review
3
- *
4
- * Review code changes (PR or local diff) for issues and improvements.
5
- */
6
- import { registerSkill } from '../registry.js';
7
- const REVIEW_PROMPT = `Review the current code changes for potential issues. Follow these steps:
8
-
9
- 1. Run \`git diff\` to see uncommitted changes, or \`git diff main...HEAD\` for branch changes
10
- 2. For each changed file, analyze:
11
- - **Correctness**: Logic errors, edge cases, off-by-one errors
12
- - **Security**: Injection vulnerabilities, auth issues, data exposure
13
- - **Performance**: N+1 queries, unnecessary allocations, blocking I/O
14
- - **Style**: Naming, consistency with surrounding code, readability
15
- - **Testing**: Are the changes adequately tested?
16
- 3. Provide a summary with:
17
- - Critical issues (must fix)
18
- - Suggestions (nice to have)
19
- - Questions (need clarification)
20
-
21
- Be specific: reference file names, line numbers, and suggest fixes.`;
22
- export function registerReviewSkill() {
23
- registerSkill({
24
- name: 'review',
25
- description: 'Review code changes for correctness, security, performance, and style issues.',
26
- aliases: ['review-pr', 'cr'],
27
- allowedTools: ['Bash', 'Read', 'Glob', 'Grep'],
28
- userInvocable: true,
29
- async getPrompt(args) {
30
- let prompt = REVIEW_PROMPT;
31
- if (args.trim()) {
32
- prompt += `\n\nFocus area: ${args}`;
33
- }
34
- return [{ type: 'text', text: prompt }];
35
- },
36
- });
37
- }
38
- //# sourceMappingURL=review.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"review.js","sourceRoot":"","sources":["../../../src/skills/bundled/review.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAG9C,MAAM,aAAa,GAAG;;;;;;;;;;;;;;oEAc8C,CAAA;AAEpE,MAAM,UAAU,mBAAmB;IACjC,aAAa,CAAC;QACZ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,+EAA+E;QAC5F,OAAO,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;QAC5B,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QAC9C,aAAa,EAAE,IAAI;QACnB,KAAK,CAAC,SAAS,CAAC,IAAI;YAClB,IAAI,MAAM,GAAG,aAAa,CAAA;YAC1B,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBAChB,MAAM,IAAI,mBAAmB,IAAI,EAAE,CAAA;YACrC,CAAC;YACD,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;QACzC,CAAC;KACF,CAAC,CAAA;AACJ,CAAC"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Bundled Skill: simplify
3
- *
4
- * Reviews changed code for reuse opportunities, code quality issues,
5
- * and efficiency improvements, then fixes any issues found.
6
- */
7
- export declare function registerSimplifySkill(): void;
8
- //# sourceMappingURL=simplify.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"simplify.d.ts","sourceRoot":"","sources":["../../../src/skills/bundled/simplify.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgCH,wBAAgB,qBAAqB,IAAI,IAAI,CAa5C"}
@@ -1,48 +0,0 @@
1
- /**
2
- * Bundled Skill: simplify
3
- *
4
- * Reviews changed code for reuse opportunities, code quality issues,
5
- * and efficiency improvements, then fixes any issues found.
6
- */
7
- import { registerSkill } from '../registry.js';
8
- const SIMPLIFY_PROMPT = `Review the recently changed code for three categories of improvements. Launch 3 parallel Agent sub-tasks:
9
-
10
- ## Task 1: Reuse Analysis
11
- Look for:
12
- - Duplicated code that could be consolidated
13
- - Existing utilities or helpers that could replace new code
14
- - Patterns that should be extracted into shared functions
15
- - Re-implementations of functionality that already exists elsewhere
16
-
17
- ## Task 2: Code Quality
18
- Look for:
19
- - Overly complex logic that could be simplified
20
- - Poor naming or unclear intent
21
- - Missing edge case handling
22
- - Unnecessary abstractions or over-engineering
23
- - Dead code or unused imports
24
-
25
- ## Task 3: Efficiency
26
- Look for:
27
- - Unnecessary allocations or copies
28
- - N+1 query patterns or redundant I/O
29
- - Blocking operations that could be async
30
- - Inefficient data structures for the access pattern
31
- - Unnecessary re-computation
32
-
33
- After all three analyses complete, fix any issues found. Prioritize by impact.`;
34
- export function registerSimplifySkill() {
35
- registerSkill({
36
- name: 'simplify',
37
- description: 'Review changed code for reuse, quality, and efficiency, then fix any issues found.',
38
- userInvocable: true,
39
- async getPrompt(args) {
40
- let prompt = SIMPLIFY_PROMPT;
41
- if (args.trim()) {
42
- prompt += `\n\n## Additional Focus\n${args}`;
43
- }
44
- return [{ type: 'text', text: prompt }];
45
- },
46
- });
47
- }
48
- //# sourceMappingURL=simplify.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"simplify.js","sourceRoot":"","sources":["../../../src/skills/bundled/simplify.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAG9C,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;+EAyBuD,CAAA;AAE/E,MAAM,UAAU,qBAAqB;IACnC,aAAa,CAAC;QACZ,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,oFAAoF;QACjG,aAAa,EAAE,IAAI;QACnB,KAAK,CAAC,SAAS,CAAC,IAAI;YAClB,IAAI,MAAM,GAAG,eAAe,CAAA;YAC5B,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBAChB,MAAM,IAAI,4BAA4B,IAAI,EAAE,CAAA;YAC9C,CAAC;YACD,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;QACzC,CAAC;KACF,CAAC,CAAA;AACJ,CAAC"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Bundled Skill: test
3
- *
4
- * Run tests and analyze failures.
5
- */
6
- export declare function registerTestSkill(): void;
7
- //# sourceMappingURL=test.d.ts.map