@herdctl/core 1.3.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/dist/config/__tests__/agent.test.js +12 -12
  2. package/dist/config/__tests__/agent.test.js.map +1 -1
  3. package/dist/config/__tests__/loader.test.js +201 -4
  4. package/dist/config/__tests__/loader.test.js.map +1 -1
  5. package/dist/config/__tests__/merge.test.js +29 -4
  6. package/dist/config/__tests__/merge.test.js.map +1 -1
  7. package/dist/config/__tests__/parser.test.js +13 -13
  8. package/dist/config/__tests__/parser.test.js.map +1 -1
  9. package/dist/config/__tests__/schema.test.js +10 -10
  10. package/dist/config/__tests__/schema.test.js.map +1 -1
  11. package/dist/config/index.d.ts +1 -1
  12. package/dist/config/index.d.ts.map +1 -1
  13. package/dist/config/index.js +2 -2
  14. package/dist/config/index.js.map +1 -1
  15. package/dist/config/loader.d.ts.map +1 -1
  16. package/dist/config/loader.js +71 -0
  17. package/dist/config/loader.js.map +1 -1
  18. package/dist/config/merge.d.ts +4 -1
  19. package/dist/config/merge.d.ts.map +1 -1
  20. package/dist/config/merge.js +16 -0
  21. package/dist/config/merge.js.map +1 -1
  22. package/dist/config/schema.d.ts +906 -89
  23. package/dist/config/schema.d.ts.map +1 -1
  24. package/dist/config/schema.js +109 -7
  25. package/dist/config/schema.js.map +1 -1
  26. package/dist/fleet-manager/__tests__/coverage.test.js +25 -24
  27. package/dist/fleet-manager/__tests__/coverage.test.js.map +1 -1
  28. package/dist/fleet-manager/__tests__/discord-manager.test.js +9 -2
  29. package/dist/fleet-manager/__tests__/discord-manager.test.js.map +1 -1
  30. package/dist/fleet-manager/__tests__/integration.test.js +27 -0
  31. package/dist/fleet-manager/__tests__/integration.test.js.map +1 -1
  32. package/dist/fleet-manager/__tests__/job-control.test.js +66 -0
  33. package/dist/fleet-manager/__tests__/job-control.test.js.map +1 -1
  34. package/dist/fleet-manager/__tests__/status-queries.test.js +12 -11
  35. package/dist/fleet-manager/__tests__/status-queries.test.js.map +1 -1
  36. package/dist/fleet-manager/config-reload.js +9 -9
  37. package/dist/fleet-manager/config-reload.js.map +1 -1
  38. package/dist/fleet-manager/discord-manager.d.ts.map +1 -1
  39. package/dist/fleet-manager/discord-manager.js +27 -4
  40. package/dist/fleet-manager/discord-manager.js.map +1 -1
  41. package/dist/fleet-manager/fleet-manager.d.ts +11 -0
  42. package/dist/fleet-manager/fleet-manager.d.ts.map +1 -1
  43. package/dist/fleet-manager/fleet-manager.js +27 -0
  44. package/dist/fleet-manager/fleet-manager.js.map +1 -1
  45. package/dist/fleet-manager/job-control.d.ts +1 -1
  46. package/dist/fleet-manager/job-control.d.ts.map +1 -1
  47. package/dist/fleet-manager/job-control.js +36 -14
  48. package/dist/fleet-manager/job-control.js.map +1 -1
  49. package/dist/fleet-manager/schedule-executor.d.ts +1 -1
  50. package/dist/fleet-manager/schedule-executor.d.ts.map +1 -1
  51. package/dist/fleet-manager/schedule-executor.js +11 -14
  52. package/dist/fleet-manager/schedule-executor.js.map +1 -1
  53. package/dist/fleet-manager/status-queries.js +7 -7
  54. package/dist/fleet-manager/status-queries.js.map +1 -1
  55. package/dist/fleet-manager/types.d.ts +10 -2
  56. package/dist/fleet-manager/types.d.ts.map +1 -1
  57. package/dist/fleet-manager/working-directory-helper.d.ts +29 -0
  58. package/dist/fleet-manager/working-directory-helper.d.ts.map +1 -0
  59. package/dist/fleet-manager/working-directory-helper.js +36 -0
  60. package/dist/fleet-manager/working-directory-helper.js.map +1 -0
  61. package/dist/index.d.ts +2 -1
  62. package/dist/index.d.ts.map +1 -1
  63. package/dist/index.js +4 -1
  64. package/dist/index.js.map +1 -1
  65. package/dist/runner/__tests__/job-executor.test.js +449 -118
  66. package/dist/runner/__tests__/job-executor.test.js.map +1 -1
  67. package/dist/runner/__tests__/sdk-adapter.test.js +147 -23
  68. package/dist/runner/__tests__/sdk-adapter.test.js.map +1 -1
  69. package/dist/runner/index.d.ts +2 -0
  70. package/dist/runner/index.d.ts.map +1 -1
  71. package/dist/runner/index.js +1 -0
  72. package/dist/runner/index.js.map +1 -1
  73. package/dist/runner/job-executor.d.ts +12 -8
  74. package/dist/runner/job-executor.d.ts.map +1 -1
  75. package/dist/runner/job-executor.js +257 -126
  76. package/dist/runner/job-executor.js.map +1 -1
  77. package/dist/runner/runtime/__tests__/cli-session-path.test.d.ts +2 -0
  78. package/dist/runner/runtime/__tests__/cli-session-path.test.d.ts.map +1 -0
  79. package/dist/runner/runtime/__tests__/cli-session-path.test.js +150 -0
  80. package/dist/runner/runtime/__tests__/cli-session-path.test.js.map +1 -0
  81. package/dist/runner/runtime/__tests__/docker-config.test.d.ts +2 -0
  82. package/dist/runner/runtime/__tests__/docker-config.test.d.ts.map +1 -0
  83. package/dist/runner/runtime/__tests__/docker-config.test.js +352 -0
  84. package/dist/runner/runtime/__tests__/docker-config.test.js.map +1 -0
  85. package/dist/runner/runtime/__tests__/docker-security.test.d.ts +2 -0
  86. package/dist/runner/runtime/__tests__/docker-security.test.d.ts.map +1 -0
  87. package/dist/runner/runtime/__tests__/docker-security.test.js +384 -0
  88. package/dist/runner/runtime/__tests__/docker-security.test.js.map +1 -0
  89. package/dist/runner/runtime/__tests__/factory.test.d.ts +2 -0
  90. package/dist/runner/runtime/__tests__/factory.test.d.ts.map +1 -0
  91. package/dist/runner/runtime/__tests__/factory.test.js +149 -0
  92. package/dist/runner/runtime/__tests__/factory.test.js.map +1 -0
  93. package/dist/runner/runtime/__tests__/integration.test.d.ts +2 -0
  94. package/dist/runner/runtime/__tests__/integration.test.d.ts.map +1 -0
  95. package/dist/runner/runtime/__tests__/integration.test.js +274 -0
  96. package/dist/runner/runtime/__tests__/integration.test.js.map +1 -0
  97. package/dist/runner/runtime/cli-runtime.d.ts +107 -0
  98. package/dist/runner/runtime/cli-runtime.d.ts.map +1 -0
  99. package/dist/runner/runtime/cli-runtime.js +335 -0
  100. package/dist/runner/runtime/cli-runtime.js.map +1 -0
  101. package/dist/runner/runtime/cli-session-path.d.ts +108 -0
  102. package/dist/runner/runtime/cli-session-path.d.ts.map +1 -0
  103. package/dist/runner/runtime/cli-session-path.js +173 -0
  104. package/dist/runner/runtime/cli-session-path.js.map +1 -0
  105. package/dist/runner/runtime/cli-session-watcher.d.ts +55 -0
  106. package/dist/runner/runtime/cli-session-watcher.d.ts.map +1 -0
  107. package/dist/runner/runtime/cli-session-watcher.js +187 -0
  108. package/dist/runner/runtime/cli-session-watcher.js.map +1 -0
  109. package/dist/runner/runtime/container-manager.d.ts +76 -0
  110. package/dist/runner/runtime/container-manager.d.ts.map +1 -0
  111. package/dist/runner/runtime/container-manager.js +229 -0
  112. package/dist/runner/runtime/container-manager.js.map +1 -0
  113. package/dist/runner/runtime/container-runner.d.ts +62 -0
  114. package/dist/runner/runtime/container-runner.d.ts.map +1 -0
  115. package/dist/runner/runtime/container-runner.js +235 -0
  116. package/dist/runner/runtime/container-runner.js.map +1 -0
  117. package/dist/runner/runtime/docker-config.d.ts +100 -0
  118. package/dist/runner/runtime/docker-config.d.ts.map +1 -0
  119. package/dist/runner/runtime/docker-config.js +98 -0
  120. package/dist/runner/runtime/docker-config.js.map +1 -0
  121. package/dist/runner/runtime/factory.d.ts +63 -0
  122. package/dist/runner/runtime/factory.d.ts.map +1 -0
  123. package/dist/runner/runtime/factory.js +68 -0
  124. package/dist/runner/runtime/factory.js.map +1 -0
  125. package/dist/runner/runtime/index.d.ts +20 -0
  126. package/dist/runner/runtime/index.d.ts.map +1 -0
  127. package/dist/runner/runtime/index.js +21 -0
  128. package/dist/runner/runtime/index.js.map +1 -0
  129. package/dist/runner/runtime/interface.d.ts +59 -0
  130. package/dist/runner/runtime/interface.d.ts.map +1 -0
  131. package/dist/runner/runtime/interface.js +12 -0
  132. package/dist/runner/runtime/interface.js.map +1 -0
  133. package/dist/runner/runtime/sdk-runtime.d.ts +46 -0
  134. package/dist/runner/runtime/sdk-runtime.d.ts.map +1 -0
  135. package/dist/runner/runtime/sdk-runtime.js +63 -0
  136. package/dist/runner/runtime/sdk-runtime.js.map +1 -0
  137. package/dist/runner/sdk-adapter.d.ts +4 -0
  138. package/dist/runner/sdk-adapter.d.ts.map +1 -1
  139. package/dist/runner/sdk-adapter.js +35 -16
  140. package/dist/runner/sdk-adapter.js.map +1 -1
  141. package/dist/runner/types.d.ts +12 -6
  142. package/dist/runner/types.d.ts.map +1 -1
  143. package/dist/scheduler/__tests__/schedule-runner.test.js +61 -50
  144. package/dist/scheduler/__tests__/schedule-runner.test.js.map +1 -1
  145. package/dist/scheduler/schedule-runner.d.ts +1 -4
  146. package/dist/scheduler/schedule-runner.d.ts.map +1 -1
  147. package/dist/scheduler/schedule-runner.js +40 -8
  148. package/dist/scheduler/schedule-runner.js.map +1 -1
  149. package/dist/state/__tests__/session-schema.test.js +4 -0
  150. package/dist/state/__tests__/session-schema.test.js.map +1 -1
  151. package/dist/state/__tests__/session-validation.test.d.ts +2 -0
  152. package/dist/state/__tests__/session-validation.test.d.ts.map +1 -0
  153. package/dist/state/__tests__/session-validation.test.js +446 -0
  154. package/dist/state/__tests__/session-validation.test.js.map +1 -0
  155. package/dist/state/__tests__/session.test.js +68 -0
  156. package/dist/state/__tests__/session.test.js.map +1 -1
  157. package/dist/state/__tests__/working-directory-validation.test.d.ts +5 -0
  158. package/dist/state/__tests__/working-directory-validation.test.d.ts.map +1 -0
  159. package/dist/state/__tests__/working-directory-validation.test.js +101 -0
  160. package/dist/state/__tests__/working-directory-validation.test.js.map +1 -0
  161. package/dist/state/index.d.ts +2 -0
  162. package/dist/state/index.d.ts.map +1 -1
  163. package/dist/state/index.js +4 -0
  164. package/dist/state/index.js.map +1 -1
  165. package/dist/state/schemas/session-info.d.ts +32 -0
  166. package/dist/state/schemas/session-info.d.ts.map +1 -1
  167. package/dist/state/schemas/session-info.js +22 -0
  168. package/dist/state/schemas/session-info.js.map +1 -1
  169. package/dist/state/session-validation.d.ts +202 -0
  170. package/dist/state/session-validation.d.ts.map +1 -0
  171. package/dist/state/session-validation.js +407 -0
  172. package/dist/state/session-validation.js.map +1 -0
  173. package/dist/state/session.d.ts +23 -3
  174. package/dist/state/session.d.ts.map +1 -1
  175. package/dist/state/session.js +41 -6
  176. package/dist/state/session.js.map +1 -1
  177. package/dist/state/working-directory-validation.d.ts +52 -0
  178. package/dist/state/working-directory-validation.d.ts.map +1 -0
  179. package/dist/state/working-directory-validation.js +81 -0
  180. package/dist/state/working-directory-validation.js.map +1 -0
  181. package/package.json +7 -2
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Runtime interface for executing Claude agents
3
+ *
4
+ * This interface defines the contract for runtime implementations (SDK, CLI, etc.)
5
+ * that can execute Claude agents. All runtimes must provide an execute() method
6
+ * that returns an AsyncIterable of SDK messages.
7
+ *
8
+ * The interface enables runtime abstraction, allowing the JobExecutor to work with
9
+ * any backend (Claude Agent SDK, Claude CLI, etc.) through a unified interface.
10
+ */
11
+ import type { SDKMessage } from "../types.js";
12
+ import type { ResolvedAgent } from "../../config/index.js";
13
+ /**
14
+ * Options for executing a runtime
15
+ */
16
+ export interface RuntimeExecuteOptions {
17
+ /** The prompt to execute */
18
+ prompt: string;
19
+ /** Resolved agent configuration */
20
+ agent: ResolvedAgent;
21
+ /** Optional session ID to resume */
22
+ resume?: string;
23
+ /** Whether to fork the session */
24
+ fork?: boolean;
25
+ /** AbortController for cancellation support */
26
+ abortController?: AbortController;
27
+ }
28
+ /**
29
+ * Runtime interface for executing Claude agents
30
+ *
31
+ * Implementations of this interface wrap different execution backends
32
+ * (SDK, CLI, etc.) and provide a unified streaming message interface.
33
+ *
34
+ * The execute() method returns an AsyncIterable<SDKMessage> to support
35
+ * streaming execution with real-time message processing.
36
+ *
37
+ * @example
38
+ * ```typescript
39
+ * const runtime = new SDKRuntime();
40
+ * const messages = runtime.execute({
41
+ * prompt: "Fix the bug in auth.ts",
42
+ * agent: resolvedAgent,
43
+ * });
44
+ *
45
+ * for await (const message of messages) {
46
+ * console.log(message.type, message.content);
47
+ * }
48
+ * ```
49
+ */
50
+ export interface RuntimeInterface {
51
+ /**
52
+ * Execute an agent with the given prompt and options
53
+ *
54
+ * @param options - Execution options including prompt, agent config, and session info
55
+ * @returns AsyncIterable of SDK messages for real-time streaming
56
+ */
57
+ execute(options: RuntimeExecuteOptions): AsyncIterable<SDKMessage>;
58
+ }
59
+ //# sourceMappingURL=interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/runner/runtime/interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC;IAEf,mCAAmC;IACnC,KAAK,EAAE,aAAa,CAAC;IAErB,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,kCAAkC;IAClC,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,+CAA+C;IAC/C,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;CACpE"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Runtime interface for executing Claude agents
3
+ *
4
+ * This interface defines the contract for runtime implementations (SDK, CLI, etc.)
5
+ * that can execute Claude agents. All runtimes must provide an execute() method
6
+ * that returns an AsyncIterable of SDK messages.
7
+ *
8
+ * The interface enables runtime abstraction, allowing the JobExecutor to work with
9
+ * any backend (Claude Agent SDK, Claude CLI, etc.) through a unified interface.
10
+ */
11
+ export {};
12
+ //# sourceMappingURL=interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../src/runner/runtime/interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * SDK Runtime implementation
3
+ *
4
+ * Wraps the Claude Agent SDK behind the RuntimeInterface, providing
5
+ * a unified execution interface for the SDK backend.
6
+ *
7
+ * This adapter delegates to the SDK's query() function and converts
8
+ * agent configuration to SDK options using the existing toSDKOptions adapter.
9
+ */
10
+ import type { RuntimeInterface, RuntimeExecuteOptions } from "./interface.js";
11
+ import type { SDKMessage } from "../types.js";
12
+ /**
13
+ * SDK runtime implementation
14
+ *
15
+ * This runtime uses the Claude Agent SDK to execute agents. It wraps the SDK's
16
+ * query() function and provides the standard RuntimeInterface.
17
+ *
18
+ * The SDKRuntime is the default runtime when no runtime type is specified in
19
+ * agent configuration.
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * const runtime = new SDKRuntime();
24
+ * const messages = runtime.execute({
25
+ * prompt: "Fix the bug in auth.ts",
26
+ * agent: resolvedAgent,
27
+ * });
28
+ *
29
+ * for await (const message of messages) {
30
+ * console.log(message.type, message.content);
31
+ * }
32
+ * ```
33
+ */
34
+ export declare class SDKRuntime implements RuntimeInterface {
35
+ /**
36
+ * Execute an agent using the Claude Agent SDK
37
+ *
38
+ * Converts agent configuration to SDK options and delegates to the SDK's
39
+ * query() function. Yields each message from the SDK stream.
40
+ *
41
+ * @param options - Execution options including prompt, agent, and session info
42
+ * @returns AsyncIterable of SDK messages
43
+ */
44
+ execute(options: RuntimeExecuteOptions): AsyncIterable<SDKMessage>;
45
+ }
46
+ //# sourceMappingURL=sdk-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-runtime.d.ts","sourceRoot":"","sources":["../../../src/runner/runtime/sdk-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,UAAW,YAAW,gBAAgB;IACjD;;;;;;;;OAQG;IACI,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,aAAa,CAAC,UAAU,CAAC;CAoB1E"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * SDK Runtime implementation
3
+ *
4
+ * Wraps the Claude Agent SDK behind the RuntimeInterface, providing
5
+ * a unified execution interface for the SDK backend.
6
+ *
7
+ * This adapter delegates to the SDK's query() function and converts
8
+ * agent configuration to SDK options using the existing toSDKOptions adapter.
9
+ */
10
+ import { query } from "@anthropic-ai/claude-agent-sdk";
11
+ import { toSDKOptions } from "../sdk-adapter.js";
12
+ /**
13
+ * SDK runtime implementation
14
+ *
15
+ * This runtime uses the Claude Agent SDK to execute agents. It wraps the SDK's
16
+ * query() function and provides the standard RuntimeInterface.
17
+ *
18
+ * The SDKRuntime is the default runtime when no runtime type is specified in
19
+ * agent configuration.
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * const runtime = new SDKRuntime();
24
+ * const messages = runtime.execute({
25
+ * prompt: "Fix the bug in auth.ts",
26
+ * agent: resolvedAgent,
27
+ * });
28
+ *
29
+ * for await (const message of messages) {
30
+ * console.log(message.type, message.content);
31
+ * }
32
+ * ```
33
+ */
34
+ export class SDKRuntime {
35
+ /**
36
+ * Execute an agent using the Claude Agent SDK
37
+ *
38
+ * Converts agent configuration to SDK options and delegates to the SDK's
39
+ * query() function. Yields each message from the SDK stream.
40
+ *
41
+ * @param options - Execution options including prompt, agent, and session info
42
+ * @returns AsyncIterable of SDK messages
43
+ */
44
+ async *execute(options) {
45
+ // Convert agent configuration to SDK options
46
+ const sdkOptions = toSDKOptions(options.agent, {
47
+ resume: options.resume,
48
+ fork: options.fork,
49
+ });
50
+ // Execute via SDK query()
51
+ // Note: SDK does not currently support AbortController for cancellation
52
+ // This is tracked for future enhancement when SDK adds support
53
+ const messages = query({
54
+ prompt: options.prompt,
55
+ options: sdkOptions,
56
+ });
57
+ // Stream messages from SDK
58
+ for await (const message of messages) {
59
+ yield message;
60
+ }
61
+ }
62
+ }
63
+ //# sourceMappingURL=sdk-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-runtime.js","sourceRoot":"","sources":["../../../src/runner/runtime/sdk-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAIjD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,UAAU;IACrB;;;;;;;;OAQG;IACH,KAAK,CAAC,CAAC,OAAO,CAAC,OAA8B;QAC3C,6CAA6C;QAC7C,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE;YAC7C,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC,CAAC;QAEH,0BAA0B;QAC1B,wEAAwE;QACxE,+DAA+D;QAC/D,MAAM,QAAQ,GAAG,KAAK,CAAC;YACrB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,UAAqC;SAC/C,CAAC,CAAC;QAEH,2BAA2B;QAC3B,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YACrC,MAAM,OAAqB,CAAC;QAC9B,CAAC;IACH,CAAC;CACF"}
@@ -23,6 +23,10 @@ export declare function transformMcpServers(mcpServers: Record<string, McpServer
23
23
  /**
24
24
  * Build the system prompt configuration for SDK
25
25
  *
26
+ * The SDK accepts either:
27
+ * - A plain string for custom prompts
28
+ * - An object with type: 'preset' for using Claude Code's default prompt
29
+ *
26
30
  * @param agent - Resolved agent configuration
27
31
  * @returns System prompt configuration for SDK
28
32
  */
@@ -1 +1 @@
1
- {"version":3,"file":"sdk-adapter.d.ts","sourceRoot":"","sources":["../../src/runner/sdk-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,eAAe,EAChB,MAAM,YAAY,CAAC;AA2BpB;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,kBAAkB,CAuBxE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,SAAS,GAChD,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAYpC;AAMD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,eAAe,CAcvE;AAMD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,2BAA2B;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,aAAa,EACpB,OAAO,GAAE,kBAAuB,GAC/B,eAAe,CA+DjB"}
1
+ {"version":3,"file":"sdk-adapter.d.ts","sourceRoot":"","sources":["../../src/runner/sdk-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,eAAe,EAChB,MAAM,YAAY,CAAC;AA2BpB;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,kBAAkB,CAuBxE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,SAAS,GAChD,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAYpC;AAMD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,eAAe,CAWvE;AAMD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,2BAA2B;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,aAAa,EACpB,OAAO,GAAE,kBAAuB,GAC/B,eAAe,CAwFjB"}
@@ -71,21 +71,22 @@ export function transformMcpServers(mcpServers) {
71
71
  /**
72
72
  * Build the system prompt configuration for SDK
73
73
  *
74
+ * The SDK accepts either:
75
+ * - A plain string for custom prompts
76
+ * - An object with type: 'preset' for using Claude Code's default prompt
77
+ *
74
78
  * @param agent - Resolved agent configuration
75
79
  * @returns System prompt configuration for SDK
76
80
  */
77
81
  export function buildSystemPrompt(agent) {
78
- // If agent has a custom system prompt, use it
82
+ // If agent has a custom system prompt, return it as a plain string
79
83
  if (agent.system_prompt) {
80
- return {
81
- type: "custom",
82
- content: agent.system_prompt,
83
- };
84
+ return agent.system_prompt;
84
85
  }
85
86
  // Default to claude_code preset
86
87
  return {
87
88
  type: "preset",
88
- preset: DEFAULT_PRESET,
89
+ preset: "claude_code",
89
90
  };
90
91
  }
91
92
  /**
@@ -122,18 +123,29 @@ export function toSDKOptions(agent, options = {}) {
122
123
  if (agent.permissions?.denied_tools?.length) {
123
124
  result.deniedTools = agent.permissions.denied_tools;
124
125
  }
126
+ // Bash permissions - transform to Bash() patterns
127
+ // Transform allowed_commands into Bash(command *) patterns
128
+ if (agent.permissions?.bash?.allowed_commands?.length) {
129
+ const bashPatterns = agent.permissions.bash.allowed_commands.map((cmd) => `Bash(${cmd} *)`);
130
+ result.allowedTools = [...(result.allowedTools || []), ...bashPatterns];
131
+ }
132
+ // Transform denied_patterns into Bash(pattern) patterns
133
+ if (agent.permissions?.bash?.denied_patterns?.length) {
134
+ const bashDeniedPatterns = agent.permissions.bash.denied_patterns.map((pattern) => `Bash(${pattern})`);
135
+ result.deniedTools = [...(result.deniedTools || []), ...bashDeniedPatterns];
136
+ }
125
137
  // System prompt
126
138
  result.systemPrompt = buildSystemPrompt(agent);
127
139
  // Setting sources for proper settings discovery
128
- // Can be explicitly configured via setting_sources, or defaults based on workspace:
129
- // - With workspace: ["project"] - inherit CLAUDE.md, skills, commands from workspace
130
- // - Without workspace: [] - don't load settings from wherever herdctl is running
131
- const workspace = agent.workspace;
140
+ // Can be explicitly configured via setting_sources, or defaults based on working_directory:
141
+ // - With working_directory: ["project"] - inherit CLAUDE.md, skills, commands from working directory
142
+ // - Without working_directory: [] - don't load settings from wherever herdctl is running
143
+ const working_directory = agent.working_directory;
132
144
  if (agent.setting_sources !== undefined) {
133
145
  // Explicit configuration takes precedence
134
146
  result.settingSources = [...agent.setting_sources];
135
147
  }
136
- else if (workspace) {
148
+ else if (working_directory) {
137
149
  // Default for project-embedded agents
138
150
  result.settingSources = ["project"];
139
151
  }
@@ -155,11 +167,18 @@ export function toSDKOptions(agent, options = {}) {
155
167
  if (options.fork) {
156
168
  result.forkSession = true;
157
169
  }
158
- // Working directory (from workspace config)
159
- // Note: workspace variable already declared above for settingSources
160
- if (workspace) {
161
- // workspace can be a string path or an object with root property
162
- result.cwd = typeof workspace === "string" ? workspace : workspace.root;
170
+ // Working directory (from working_directory config)
171
+ // Note: working_directory variable already declared above for settingSources
172
+ if (working_directory) {
173
+ // working_directory can be a string path or an object with root property
174
+ result.cwd =
175
+ typeof working_directory === "string"
176
+ ? working_directory
177
+ : working_directory.root;
178
+ }
179
+ // Model selection
180
+ if (agent.model) {
181
+ result.model = agent.model;
163
182
  }
164
183
  return result;
165
184
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sdk-adapter.js","sourceRoot":"","sources":["../../src/runner/sdk-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdk-adapter.js","sourceRoot":"","sources":["../../src/runner/sdk-adapter.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,8 @@ export interface RunnerOptions {
27
27
  forkedFrom?: string;
28
28
  /** When true, job output is also written to .herdctl/jobs/{jobId}/output.log (default: false) */
29
29
  outputToFile?: boolean;
30
+ /** AbortController for canceling the execution */
31
+ abortController?: AbortController;
30
32
  }
31
33
  /**
32
34
  * SDK message types (as received from Claude Agent SDK)
@@ -121,13 +123,15 @@ export interface SDKMcpServerConfig {
121
123
  }
122
124
  /**
123
125
  * System prompt configuration for SDK
126
+ *
127
+ * The SDK accepts either:
128
+ * - A plain string for custom prompts
129
+ * - An object with type: 'preset' for using Claude Code's default prompt
124
130
  */
125
- export type SDKSystemPrompt = {
131
+ export type SDKSystemPrompt = string | {
126
132
  type: "preset";
127
- preset: string;
128
- } | {
129
- type: "custom";
130
- content: string;
133
+ preset: "claude_code";
134
+ append?: string;
131
135
  };
132
136
  /**
133
137
  * SDK query options (matching Claude Agent SDK types)
@@ -135,7 +139,7 @@ export type SDKSystemPrompt = {
135
139
  export interface SDKQueryOptions {
136
140
  allowedTools?: string[];
137
141
  deniedTools?: string[];
138
- permissionMode?: "default" | "acceptEdits" | "bypassPermissions" | "plan";
142
+ permissionMode?: "default" | "acceptEdits" | "bypassPermissions" | "plan" | "delegate" | "dontAsk";
139
143
  systemPrompt?: SDKSystemPrompt;
140
144
  settingSources?: string[];
141
145
  mcpServers?: Record<string, SDKMcpServerConfig>;
@@ -145,6 +149,8 @@ export interface SDKQueryOptions {
145
149
  maxTurns?: number;
146
150
  /** Current working directory for the session */
147
151
  cwd?: string;
152
+ /** Model to use for the session */
153
+ model?: string;
148
154
  }
149
155
  /**
150
156
  * Result of processing an SDK message
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/runner/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/runner/types.ts"],"names":[],"mappings":"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"}