@madebywild/agent-harness-framework 0.9.1

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 (185) hide show
  1. package/dist/cli/adapters/commander.d.ts +14 -0
  2. package/dist/cli/adapters/commander.d.ts.map +1 -0
  3. package/dist/cli/adapters/commander.js +348 -0
  4. package/dist/cli/adapters/commander.js.map +1 -0
  5. package/dist/cli/adapters/interactive.d.ts +11 -0
  6. package/dist/cli/adapters/interactive.d.ts.map +1 -0
  7. package/dist/cli/adapters/interactive.js +375 -0
  8. package/dist/cli/adapters/interactive.js.map +1 -0
  9. package/dist/cli/command-registry.d.ts +27 -0
  10. package/dist/cli/command-registry.d.ts.map +1 -0
  11. package/dist/cli/command-registry.js +470 -0
  12. package/dist/cli/command-registry.js.map +1 -0
  13. package/dist/cli/contracts.d.ts +122 -0
  14. package/dist/cli/contracts.d.ts.map +1 -0
  15. package/dist/cli/contracts.js +2 -0
  16. package/dist/cli/contracts.js.map +1 -0
  17. package/dist/cli/handlers/apply.d.ts +3 -0
  18. package/dist/cli/handlers/apply.d.ts.map +1 -0
  19. package/dist/cli/handlers/apply.js +17 -0
  20. package/dist/cli/handlers/apply.js.map +1 -0
  21. package/dist/cli/handlers/doctor.d.ts +3 -0
  22. package/dist/cli/handlers/doctor.d.ts.map +1 -0
  23. package/dist/cli/handlers/doctor.js +16 -0
  24. package/dist/cli/handlers/doctor.js.map +1 -0
  25. package/dist/cli/handlers/entities.d.ts +22 -0
  26. package/dist/cli/handlers/entities.d.ts.map +1 -0
  27. package/dist/cli/handlers/entities.js +92 -0
  28. package/dist/cli/handlers/entities.js.map +1 -0
  29. package/dist/cli/handlers/init.d.ts +5 -0
  30. package/dist/cli/handlers/init.d.ts.map +1 -0
  31. package/dist/cli/handlers/init.js +17 -0
  32. package/dist/cli/handlers/init.js.map +1 -0
  33. package/dist/cli/handlers/migrate.d.ts +6 -0
  34. package/dist/cli/handlers/migrate.d.ts.map +1 -0
  35. package/dist/cli/handlers/migrate.js +22 -0
  36. package/dist/cli/handlers/migrate.js.map +1 -0
  37. package/dist/cli/handlers/plan.d.ts +5 -0
  38. package/dist/cli/handlers/plan.d.ts.map +1 -0
  39. package/dist/cli/handlers/plan.js +18 -0
  40. package/dist/cli/handlers/plan.js.map +1 -0
  41. package/dist/cli/handlers/provider.d.ts +8 -0
  42. package/dist/cli/handlers/provider.d.ts.map +1 -0
  43. package/dist/cli/handlers/provider.js +37 -0
  44. package/dist/cli/handlers/provider.js.map +1 -0
  45. package/dist/cli/handlers/registry.d.ts +27 -0
  46. package/dist/cli/handlers/registry.d.ts.map +1 -0
  47. package/dist/cli/handlers/registry.js +133 -0
  48. package/dist/cli/handlers/registry.js.map +1 -0
  49. package/dist/cli/handlers/validate.d.ts +3 -0
  50. package/dist/cli/handlers/validate.d.ts.map +1 -0
  51. package/dist/cli/handlers/validate.js +16 -0
  52. package/dist/cli/handlers/validate.js.map +1 -0
  53. package/dist/cli/handlers/watch.d.ts +6 -0
  54. package/dist/cli/handlers/watch.d.ts.map +1 -0
  55. package/dist/cli/handlers/watch.js +46 -0
  56. package/dist/cli/handlers/watch.js.map +1 -0
  57. package/dist/cli/main.d.ts +6 -0
  58. package/dist/cli/main.d.ts.map +1 -0
  59. package/dist/cli/main.js +90 -0
  60. package/dist/cli/main.js.map +1 -0
  61. package/dist/cli/renderers/json.d.ts +10 -0
  62. package/dist/cli/renderers/json.d.ts.map +1 -0
  63. package/dist/cli/renderers/json.js +17 -0
  64. package/dist/cli/renderers/json.js.map +1 -0
  65. package/dist/cli/renderers/text.d.ts +3 -0
  66. package/dist/cli/renderers/text.d.ts.map +1 -0
  67. package/dist/cli/renderers/text.js +155 -0
  68. package/dist/cli/renderers/text.js.map +1 -0
  69. package/dist/cli/utils/runtime.d.ts +26 -0
  70. package/dist/cli/utils/runtime.d.ts.map +1 -0
  71. package/dist/cli/utils/runtime.js +158 -0
  72. package/dist/cli/utils/runtime.js.map +1 -0
  73. package/dist/cli.d.ts +3 -0
  74. package/dist/cli.d.ts.map +1 -0
  75. package/dist/cli.js +14 -0
  76. package/dist/cli.js.map +1 -0
  77. package/dist/engine/entities.d.ts +33 -0
  78. package/dist/engine/entities.d.ts.map +1 -0
  79. package/dist/engine/entities.js +461 -0
  80. package/dist/engine/entities.js.map +1 -0
  81. package/dist/engine/state.d.ts +19 -0
  82. package/dist/engine/state.d.ts.map +1 -0
  83. package/dist/engine/state.js +70 -0
  84. package/dist/engine/state.js.map +1 -0
  85. package/dist/engine/utils.d.ts +28 -0
  86. package/dist/engine/utils.d.ts.map +1 -0
  87. package/dist/engine/utils.js +157 -0
  88. package/dist/engine/utils.js.map +1 -0
  89. package/dist/engine.d.ts +59 -0
  90. package/dist/engine.d.ts.map +1 -0
  91. package/dist/engine.js +398 -0
  92. package/dist/engine.js.map +1 -0
  93. package/dist/entity-registries.d.ts +40 -0
  94. package/dist/entity-registries.d.ts.map +1 -0
  95. package/dist/entity-registries.js +257 -0
  96. package/dist/entity-registries.js.map +1 -0
  97. package/dist/index.d.ts +19 -0
  98. package/dist/index.d.ts.map +1 -0
  99. package/dist/index.js +22 -0
  100. package/dist/index.js.map +1 -0
  101. package/dist/loader.d.ts +6 -0
  102. package/dist/loader.d.ts.map +1 -0
  103. package/dist/loader.js +552 -0
  104. package/dist/loader.js.map +1 -0
  105. package/dist/paths.d.ts +23 -0
  106. package/dist/paths.d.ts.map +1 -0
  107. package/dist/paths.js +40 -0
  108. package/dist/paths.js.map +1 -0
  109. package/dist/planner.d.ts +5 -0
  110. package/dist/planner.d.ts.map +1 -0
  111. package/dist/planner.js +316 -0
  112. package/dist/planner.js.map +1 -0
  113. package/dist/provider-adapters/claude.d.ts +4 -0
  114. package/dist/provider-adapters/claude.d.ts.map +1 -0
  115. package/dist/provider-adapters/claude.js +36 -0
  116. package/dist/provider-adapters/claude.js.map +1 -0
  117. package/dist/provider-adapters/codex.d.ts +4 -0
  118. package/dist/provider-adapters/codex.d.ts.map +1 -0
  119. package/dist/provider-adapters/codex.js +93 -0
  120. package/dist/provider-adapters/codex.js.map +1 -0
  121. package/dist/provider-adapters/constants.d.ts +21 -0
  122. package/dist/provider-adapters/constants.d.ts.map +1 -0
  123. package/dist/provider-adapters/constants.js +21 -0
  124. package/dist/provider-adapters/constants.js.map +1 -0
  125. package/dist/provider-adapters/copilot.d.ts +4 -0
  126. package/dist/provider-adapters/copilot.d.ts.map +1 -0
  127. package/dist/provider-adapters/copilot.js +37 -0
  128. package/dist/provider-adapters/copilot.js.map +1 -0
  129. package/dist/provider-adapters/create-adapter.d.ts +4 -0
  130. package/dist/provider-adapters/create-adapter.d.ts.map +1 -0
  131. package/dist/provider-adapters/create-adapter.js +67 -0
  132. package/dist/provider-adapters/create-adapter.js.map +1 -0
  133. package/dist/provider-adapters/mcp.d.ts +4 -0
  134. package/dist/provider-adapters/mcp.d.ts.map +1 -0
  135. package/dist/provider-adapters/mcp.js +40 -0
  136. package/dist/provider-adapters/mcp.js.map +1 -0
  137. package/dist/provider-adapters/registry.d.ts +4 -0
  138. package/dist/provider-adapters/registry.d.ts.map +1 -0
  139. package/dist/provider-adapters/registry.js +11 -0
  140. package/dist/provider-adapters/registry.js.map +1 -0
  141. package/dist/provider-adapters/renderers.d.ts +3 -0
  142. package/dist/provider-adapters/renderers.d.ts.map +1 -0
  143. package/dist/provider-adapters/renderers.js +10 -0
  144. package/dist/provider-adapters/renderers.js.map +1 -0
  145. package/dist/provider-adapters/subagents.d.ts +19 -0
  146. package/dist/provider-adapters/subagents.d.ts.map +1 -0
  147. package/dist/provider-adapters/subagents.js +58 -0
  148. package/dist/provider-adapters/subagents.js.map +1 -0
  149. package/dist/provider-adapters/types.d.ts +18 -0
  150. package/dist/provider-adapters/types.d.ts.map +1 -0
  151. package/dist/provider-adapters/types.js +2 -0
  152. package/dist/provider-adapters/types.js.map +1 -0
  153. package/dist/providers.d.ts +6 -0
  154. package/dist/providers.d.ts.map +1 -0
  155. package/dist/providers.js +15 -0
  156. package/dist/providers.js.map +1 -0
  157. package/dist/registry-validator.d.ts +3 -0
  158. package/dist/registry-validator.d.ts.map +1 -0
  159. package/dist/registry-validator.js +222 -0
  160. package/dist/registry-validator.js.map +1 -0
  161. package/dist/repository.d.ts +36 -0
  162. package/dist/repository.d.ts.map +1 -0
  163. package/dist/repository.js +314 -0
  164. package/dist/repository.js.map +1 -0
  165. package/dist/types.d.ts +190 -0
  166. package/dist/types.d.ts.map +1 -0
  167. package/dist/types.js +11 -0
  168. package/dist/types.js.map +1 -0
  169. package/dist/utils.d.ts +16 -0
  170. package/dist/utils.d.ts.map +1 -0
  171. package/dist/utils.js +115 -0
  172. package/dist/utils.js.map +1 -0
  173. package/dist/versioning/doctor.d.ts +6 -0
  174. package/dist/versioning/doctor.d.ts.map +1 -0
  175. package/dist/versioning/doctor.js +284 -0
  176. package/dist/versioning/doctor.js.map +1 -0
  177. package/dist/versioning/migrate.d.ts +9 -0
  178. package/dist/versioning/migrate.d.ts.map +1 -0
  179. package/dist/versioning/migrate.js +362 -0
  180. package/dist/versioning/migrate.js.map +1 -0
  181. package/dist/versioning/registry.d.ts +18 -0
  182. package/dist/versioning/registry.d.ts.map +1 -0
  183. package/dist/versioning/registry.js +63 -0
  184. package/dist/versioning/registry.js.map +1 -0
  185. package/package.json +52 -0
@@ -0,0 +1,14 @@
1
+ import type { CliResolvedContext, CommandInput, CommandOutput } from "../contracts.js";
2
+ interface CommanderAdapterApi {
3
+ execute: (input: CommandInput, context: CliResolvedContext) => Promise<CommandOutput>;
4
+ renderOutput: (output: CommandOutput, durationMs: number, json: boolean, context: CliResolvedContext) => void;
5
+ runInteractive: (context: CliResolvedContext) => Promise<{
6
+ exitCode: number;
7
+ }>;
8
+ }
9
+ interface CommanderRunResult {
10
+ exitCode: number;
11
+ }
12
+ export declare function runCommanderAdapter(argv: readonly string[], baseContext: CliResolvedContext, api: CommanderAdapterApi): Promise<CommanderRunResult>;
13
+ export {};
14
+ //# sourceMappingURL=commander.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commander.d.ts","sourceRoot":"","sources":["../../../src/cli/adapters/commander.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAMvF,UAAU,mBAAmB;IAC3B,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IACtF,YAAY,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC9G,cAAc,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChF;AAED,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAgDD,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,WAAW,EAAE,kBAAkB,EAC/B,GAAG,EAAE,mBAAmB,GACvB,OAAO,CAAC,kBAAkB,CAAC,CAic7B"}
@@ -0,0 +1,348 @@
1
+ import { createRequire } from "node:module";
2
+ import { providerIdSchema } from "@madebywild/agent-harness-manifest";
3
+ import { Command, CommanderError } from "commander";
4
+ import { CLI_ENTITY_TYPES } from "../../types.js";
5
+ import { ensureInteractiveFeasible } from "../utils/runtime.js";
6
+ const require = createRequire(import.meta.url);
7
+ const packageJson = require("../../../package.json");
8
+ function withInvocationContext(base, cwd) {
9
+ return {
10
+ ...base,
11
+ cwd,
12
+ };
13
+ }
14
+ function resolveInvocationJson(program, options) {
15
+ const globals = program.opts();
16
+ return Boolean(options?.json ?? globals.json);
17
+ }
18
+ function resolveInvocationCwd(program, base) {
19
+ const globals = program.opts();
20
+ return globals.cwd || base.cwd;
21
+ }
22
+ function addJsonOption(command) {
23
+ return command.option("--json", "emit machine-readable JSON");
24
+ }
25
+ async function executeWithRendering(input, context, json, api) {
26
+ const startedAt = context.now();
27
+ const output = await api.execute(input, context);
28
+ const durationMs = context.now() - startedAt;
29
+ api.renderOutput(output, durationMs, json, context);
30
+ if (output.runtime) {
31
+ await output.runtime.blockUntilExit;
32
+ }
33
+ return output.exitCode;
34
+ }
35
+ export async function runCommanderAdapter(argv, baseContext, api) {
36
+ const program = new Command();
37
+ let exitCode = 0;
38
+ program.exitOverride();
39
+ const runCommand = async (input, options) => {
40
+ const cwd = resolveInvocationCwd(program, baseContext);
41
+ const json = resolveInvocationJson(program, options);
42
+ const commandContext = withInvocationContext(baseContext, cwd);
43
+ const commandExitCode = await executeWithRendering(input, commandContext, json, api);
44
+ if (commandExitCode !== 0) {
45
+ exitCode = commandExitCode;
46
+ }
47
+ };
48
+ program
49
+ .name("harness")
50
+ .description("Unified .harness source-of-truth manager for AI agent provider configs")
51
+ .version(packageJson.version ?? "0.0.0")
52
+ .option("--cwd <path>", "working directory", baseContext.cwd)
53
+ .option("--interactive", "force interactive mode when available")
54
+ .option("--no-interactive", "disable interactive mode")
55
+ .option("--json", "emit machine-readable JSON");
56
+ addJsonOption(program
57
+ .command("init")
58
+ .description("Initialize .harness structure and state files")
59
+ .option("--force", "overwrite an existing .harness workspace", false)
60
+ .action(async (options) => {
61
+ await runCommand({
62
+ command: "init",
63
+ options: {
64
+ force: options.force,
65
+ },
66
+ }, options);
67
+ }));
68
+ const providerCommand = program.command("provider").description("Enable or disable providers");
69
+ addJsonOption(providerCommand
70
+ .command("enable")
71
+ .argument("<provider>", `provider id (${providerIdSchema.options.join(", ")})`)
72
+ .description("Enable a provider")
73
+ .action(async (provider, options) => {
74
+ await runCommand({
75
+ command: "provider.enable",
76
+ args: {
77
+ provider,
78
+ },
79
+ }, options);
80
+ }));
81
+ addJsonOption(providerCommand
82
+ .command("disable")
83
+ .argument("<provider>", `provider id (${providerIdSchema.options.join(", ")})`)
84
+ .description("Disable a provider")
85
+ .action(async (provider, options) => {
86
+ await runCommand({
87
+ command: "provider.disable",
88
+ args: {
89
+ provider,
90
+ },
91
+ }, options);
92
+ }));
93
+ const registryCommand = program.command("registry").description("Manage registries and pull imported entities");
94
+ addJsonOption(registryCommand
95
+ .command("list")
96
+ .description("List configured registries")
97
+ .action(async (options) => {
98
+ await runCommand({ command: "registry.list" }, options);
99
+ }));
100
+ addJsonOption(registryCommand
101
+ .command("validate")
102
+ .description("Validate a git registry repository structure and metadata")
103
+ .option("--path <dir>", "registry repository path")
104
+ .option("--root <relative>", "registry root path inside repository", ".")
105
+ .action(async (options) => {
106
+ await runCommand({
107
+ command: "registry.validate",
108
+ options: {
109
+ path: options.path,
110
+ root: options.root,
111
+ },
112
+ }, options);
113
+ }));
114
+ addJsonOption(registryCommand
115
+ .command("add")
116
+ .description("Add a git registry")
117
+ .argument("<name>", "registry id")
118
+ .requiredOption("--git-url <url>", "git remote url")
119
+ .option("--ref <ref>", "git branch/tag/ref to track", "main")
120
+ .option("--root <path>", "root path inside the git repository")
121
+ .option("--token-env <name>", "environment variable name containing registry token")
122
+ .action(async (name, options) => {
123
+ await runCommand({
124
+ command: "registry.add",
125
+ args: {
126
+ name,
127
+ },
128
+ options: {
129
+ gitUrl: options.gitUrl,
130
+ ref: options.ref,
131
+ root: options.root,
132
+ tokenEnv: options.tokenEnv,
133
+ },
134
+ }, options);
135
+ }));
136
+ addJsonOption(registryCommand
137
+ .command("remove")
138
+ .description("Remove a configured registry")
139
+ .argument("<name>", "registry id")
140
+ .action(async (name, options) => {
141
+ await runCommand({
142
+ command: "registry.remove",
143
+ args: {
144
+ name,
145
+ },
146
+ }, options);
147
+ }));
148
+ const registryDefaultCommand = registryCommand.command("default").description("Manage default registry");
149
+ addJsonOption(registryDefaultCommand
150
+ .command("show")
151
+ .description("Show the current default registry")
152
+ .action(async (options) => {
153
+ await runCommand({ command: "registry.default.show" }, options);
154
+ }));
155
+ addJsonOption(registryDefaultCommand
156
+ .command("set")
157
+ .description("Set the default registry")
158
+ .argument("<name>", "registry id")
159
+ .action(async (name, options) => {
160
+ await runCommand({
161
+ command: "registry.default.set",
162
+ args: {
163
+ name,
164
+ },
165
+ }, options);
166
+ }));
167
+ addJsonOption(registryCommand
168
+ .command("pull")
169
+ .description("Refresh imported entities from configured registries")
170
+ .argument("[entity-type]", CLI_ENTITY_TYPES.join("|"))
171
+ .argument("[id]", "entity id; use 'system' for prompt")
172
+ .option("--registry <registry>", "limit pull to one registry")
173
+ .option("--force", "overwrite locally modified imported sources", false)
174
+ .action(async (entityType, id, options) => {
175
+ await runCommand({
176
+ command: "registry.pull",
177
+ args: {
178
+ entityType,
179
+ id,
180
+ },
181
+ options: {
182
+ registry: options.registry,
183
+ force: options.force,
184
+ },
185
+ }, options);
186
+ }));
187
+ const addCommand = program.command("add").description("Add source entities under .harness/src");
188
+ addJsonOption(addCommand
189
+ .command("prompt")
190
+ .description("Create the v1 system prompt entity")
191
+ .option("--registry <registry>", "registry id (defaults to configured default/local)")
192
+ .action(async (options) => {
193
+ await runCommand({
194
+ command: "add.prompt",
195
+ options: {
196
+ registry: options.registry,
197
+ },
198
+ }, options);
199
+ }));
200
+ addJsonOption(addCommand
201
+ .command("skill")
202
+ .description("Create a skill entity")
203
+ .argument("<skill-id>", "skill id")
204
+ .option("--registry <registry>", "registry id (defaults to configured default/local)")
205
+ .action(async (skillId, options) => {
206
+ await runCommand({
207
+ command: "add.skill",
208
+ args: {
209
+ skillId,
210
+ },
211
+ options: {
212
+ registry: options.registry,
213
+ },
214
+ }, options);
215
+ }));
216
+ addJsonOption(addCommand
217
+ .command("mcp")
218
+ .description("Create an MCP config entity")
219
+ .argument("<config-id>", "MCP config id")
220
+ .option("--registry <registry>", "registry id (defaults to configured default/local)")
221
+ .action(async (configId, options) => {
222
+ await runCommand({
223
+ command: "add.mcp",
224
+ args: {
225
+ configId,
226
+ },
227
+ options: {
228
+ registry: options.registry,
229
+ },
230
+ }, options);
231
+ }));
232
+ addJsonOption(addCommand
233
+ .command("subagent")
234
+ .description("Create a subagent entity")
235
+ .argument("<subagent-id>", "subagent id")
236
+ .option("--registry <registry>", "registry id (defaults to configured default/local)")
237
+ .action(async (subagentId, options) => {
238
+ await runCommand({
239
+ command: "add.subagent",
240
+ args: {
241
+ subagentId,
242
+ },
243
+ options: {
244
+ registry: options.registry,
245
+ },
246
+ }, options);
247
+ }));
248
+ addJsonOption(program
249
+ .command("remove")
250
+ .description("Remove an existing entity")
251
+ .argument("<entity-type>", CLI_ENTITY_TYPES.join("|"))
252
+ .argument("<id>", "entity id; use 'system' for prompt")
253
+ .option("--no-delete-source", "keep scaffolded source files (advanced; may trigger ownership diagnostics)")
254
+ .action(async (entityType, id, options) => {
255
+ await runCommand({
256
+ command: "remove",
257
+ args: {
258
+ entityType,
259
+ id,
260
+ },
261
+ options: {
262
+ deleteSource: options.deleteSource,
263
+ },
264
+ }, options);
265
+ }));
266
+ addJsonOption(program
267
+ .command("validate")
268
+ .description("Validate manifest, ownership, and generation constraints")
269
+ .action(async (options) => {
270
+ await runCommand({ command: "validate" }, options);
271
+ }));
272
+ addJsonOption(program
273
+ .command("doctor")
274
+ .description("Inspect workspace schema version health")
275
+ .action(async (options) => {
276
+ await runCommand({ command: "doctor" }, options);
277
+ }));
278
+ addJsonOption(program
279
+ .command("migrate")
280
+ .description("Migrate workspace schema to latest supported version")
281
+ .option("--to <target>", "migration target (latest)", "latest")
282
+ .option("--dry-run", "preview migration actions without writing files", false)
283
+ .action(async (options) => {
284
+ await runCommand({
285
+ command: "migrate",
286
+ options: {
287
+ to: options.to,
288
+ dryRun: options.dryRun,
289
+ },
290
+ }, options);
291
+ }));
292
+ addJsonOption(program
293
+ .command("plan")
294
+ .description("Show planned create/update/delete operations")
295
+ .action(async (options) => {
296
+ await runCommand({ command: "plan" }, options);
297
+ }));
298
+ addJsonOption(program
299
+ .command("apply")
300
+ .description("Apply planned operations and write managed outputs")
301
+ .action(async (options) => {
302
+ await runCommand({ command: "apply" }, options);
303
+ }));
304
+ addJsonOption(program
305
+ .command("watch")
306
+ .description("Watch source files and apply on changes")
307
+ .option("--debounce <ms>", "debounce window in milliseconds", "250")
308
+ .action(async (options) => {
309
+ const json = resolveInvocationJson(program, options);
310
+ await runCommand({
311
+ command: "watch",
312
+ options: {
313
+ debounceMs: options.debounce,
314
+ json,
315
+ },
316
+ }, options);
317
+ }));
318
+ addJsonOption(program
319
+ .command("ui")
320
+ .description("Launch interactive prompt mode")
321
+ .action(async () => {
322
+ const cwd = resolveInvocationCwd(program, baseContext);
323
+ const invocationContext = withInvocationContext(baseContext, cwd);
324
+ ensureInteractiveFeasible({
325
+ isTty: invocationContext.isTty,
326
+ isCi: invocationContext.isCi,
327
+ });
328
+ const result = await api.runInteractive(invocationContext);
329
+ if (result.exitCode !== 0) {
330
+ exitCode = result.exitCode;
331
+ }
332
+ }));
333
+ program.action(async (options) => {
334
+ await runCommand({ command: "default.plan" }, options);
335
+ });
336
+ // Commander parseAsync expects argv in [node, script, ...args] form.
337
+ try {
338
+ await program.parseAsync(["harness", "harness", ...argv]);
339
+ }
340
+ catch (error) {
341
+ if (error instanceof CommanderError) {
342
+ return { exitCode: error.exitCode };
343
+ }
344
+ throw error;
345
+ }
346
+ return { exitCode };
347
+ }
348
+ //# sourceMappingURL=commander.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commander.js","sourceRoot":"","sources":["../../../src/cli/adapters/commander.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { CliResolvedContext, CommandInput, CommandOutput } from "../contracts.js";
2
+ export interface InteractiveExecutionApi {
3
+ execute: (input: CommandInput) => Promise<CommandOutput>;
4
+ renderOutput: (output: CommandOutput, durationMs: number, json: boolean) => void;
5
+ }
6
+ interface InteractiveRunResult {
7
+ exitCode: number;
8
+ }
9
+ export declare function runInteractiveAdapter(context: CliResolvedContext, api: InteractiveExecutionApi): Promise<InteractiveRunResult>;
10
+ export {};
11
+ //# sourceMappingURL=interactive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../../../src/cli/adapters/interactive.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAa,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAElG,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IACzD,YAAY,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CAClF;AAED,UAAU,oBAAoB;IAC5B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAwVD,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,kBAAkB,EAC3B,GAAG,EAAE,uBAAuB,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CAsE/B"}