orcastrator 0.2.17 → 0.2.18

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 (96) hide show
  1. package/README.md +119 -32
  2. package/dist/agents/claude/session.d.ts +10 -0
  3. package/dist/agents/claude/session.d.ts.map +1 -0
  4. package/dist/agents/codex/index.d.ts +3 -0
  5. package/dist/agents/codex/index.d.ts.map +1 -0
  6. package/dist/agents/codex/session.d.ts +29 -0
  7. package/dist/agents/codex/session.d.ts.map +1 -0
  8. package/dist/cli/commands/answer.d.ts +7 -0
  9. package/dist/cli/commands/answer.d.ts.map +1 -0
  10. package/dist/cli/commands/cancel.d.ts +9 -0
  11. package/dist/cli/commands/cancel.d.ts.map +1 -0
  12. package/dist/cli/commands/help.d.ts +3 -0
  13. package/dist/cli/commands/help.d.ts.map +1 -0
  14. package/dist/cli/commands/list.d.ts +10 -0
  15. package/dist/cli/commands/list.d.ts.map +1 -0
  16. package/dist/cli/commands/plan.d.ts +14 -0
  17. package/dist/cli/commands/plan.d.ts.map +1 -0
  18. package/dist/cli/commands/pr/create.d.ts +5 -0
  19. package/dist/cli/commands/pr/create.d.ts.map +1 -0
  20. package/dist/cli/commands/pr/draft.d.ts +5 -0
  21. package/dist/cli/commands/pr/draft.d.ts.map +1 -0
  22. package/dist/cli/commands/pr/index.d.ts +3 -0
  23. package/dist/cli/commands/pr/index.d.ts.map +1 -0
  24. package/dist/cli/commands/pr/publish.d.ts +5 -0
  25. package/dist/cli/commands/pr/publish.d.ts.map +1 -0
  26. package/dist/cli/commands/pr/shared.d.ts +14 -0
  27. package/dist/cli/commands/pr/shared.d.ts.map +1 -0
  28. package/dist/cli/commands/pr/status.d.ts +5 -0
  29. package/dist/cli/commands/pr/status.d.ts.map +1 -0
  30. package/dist/cli/commands/pr-finalize.d.ts +8 -0
  31. package/dist/cli/commands/pr-finalize.d.ts.map +1 -0
  32. package/dist/cli/commands/resume.d.ts +14 -0
  33. package/dist/cli/commands/resume.d.ts.map +1 -0
  34. package/dist/cli/commands/run-command.test-harness.d.ts +18 -0
  35. package/dist/cli/commands/run-command.test-harness.d.ts.map +1 -0
  36. package/dist/cli/commands/run.d.ts +24 -0
  37. package/dist/cli/commands/run.d.ts.map +1 -0
  38. package/dist/cli/commands/setup.d.ts +27 -0
  39. package/dist/cli/commands/setup.d.ts.map +1 -0
  40. package/dist/cli/commands/setup.js +3 -43
  41. package/dist/cli/commands/skills.d.ts +7 -0
  42. package/dist/cli/commands/skills.d.ts.map +1 -0
  43. package/dist/cli/commands/status.d.ts +9 -0
  44. package/dist/cli/commands/status.d.ts.map +1 -0
  45. package/dist/cli/index.d.ts +3 -0
  46. package/dist/cli/index.d.ts.map +1 -0
  47. package/dist/core/codex-config.d.ts +20 -0
  48. package/dist/core/codex-config.d.ts.map +1 -0
  49. package/dist/core/config-loader.d.ts +6 -0
  50. package/dist/core/config-loader.d.ts.map +1 -0
  51. package/dist/core/dependency-graph.d.ts +4 -0
  52. package/dist/core/dependency-graph.d.ts.map +1 -0
  53. package/dist/core/planner.d.ts +14 -0
  54. package/dist/core/planner.d.ts.map +1 -0
  55. package/dist/core/planner.js +6 -0
  56. package/dist/core/retry-policy.d.ts +3 -0
  57. package/dist/core/retry-policy.d.ts.map +1 -0
  58. package/dist/core/task-graph-review.d.ts +48 -0
  59. package/dist/core/task-graph-review.d.ts.map +1 -0
  60. package/dist/core/task-runner.d.ts +16 -0
  61. package/dist/core/task-runner.d.ts.map +1 -0
  62. package/dist/hooks/adapters/openclaw.d.ts +7 -0
  63. package/dist/hooks/adapters/openclaw.d.ts.map +1 -0
  64. package/dist/hooks/adapters/stdout.d.ts +5 -0
  65. package/dist/hooks/adapters/stdout.d.ts.map +1 -0
  66. package/dist/hooks/dispatcher.d.ts +14 -0
  67. package/dist/hooks/dispatcher.d.ts.map +1 -0
  68. package/dist/hooks/types.d.ts +11 -0
  69. package/dist/hooks/types.d.ts.map +1 -0
  70. package/dist/index.d.ts +3 -0
  71. package/dist/index.d.ts.map +1 -0
  72. package/dist/index.js +1 -0
  73. package/dist/state/schema.d.ts +74 -0
  74. package/dist/state/schema.d.ts.map +1 -0
  75. package/dist/state/store.d.ts +14 -0
  76. package/dist/state/store.d.ts.map +1 -0
  77. package/dist/types/effort.d.ts +7 -0
  78. package/dist/types/effort.d.ts.map +1 -0
  79. package/dist/types/index.d.ts +191 -0
  80. package/dist/types/index.d.ts.map +1 -0
  81. package/dist/utils/agent-json.d.ts +2 -0
  82. package/dist/utils/agent-json.d.ts.map +1 -0
  83. package/dist/utils/gh.d.ts +8 -0
  84. package/dist/utils/gh.d.ts.map +1 -0
  85. package/dist/utils/ids.d.ts +2 -0
  86. package/dist/utils/ids.d.ts.map +1 -0
  87. package/dist/utils/last-run.d.ts +4 -0
  88. package/dist/utils/last-run.d.ts.map +1 -0
  89. package/dist/utils/logger.d.ts +7 -0
  90. package/dist/utils/logger.d.ts.map +1 -0
  91. package/dist/utils/select-run.d.ts +3 -0
  92. package/dist/utils/select-run.d.ts.map +1 -0
  93. package/dist/utils/skill-loader.d.ts +16 -0
  94. package/dist/utils/skill-loader.d.ts.map +1 -0
  95. package/package.json +23 -3
  96. package/dist/types/config-typing.typecheck.js +0 -32
package/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Orca
8
8
 
9
- Coordinated agent run harness. Breaks down a goal into a task graph, then executes it end-to-end via a persistent [Codex](https://github.com/ratley/codex-client) session with full context across tasks.
9
+ Coordinated agent run harness. Breaks down a task into a task graph, then executes it end-to-end via a persistent [Codex](https://github.com/ratley/codex-client) session with full context across tasks.
10
10
 
11
11
  ## Install
12
12
 
@@ -14,9 +14,9 @@ Coordinated agent run harness. Breaks down a goal into a task graph, then execut
14
14
  npm install -g orcastrator
15
15
  ```
16
16
 
17
- ## Run A Goal
17
+ ## Run A Task
18
18
 
19
- Start with a plain-language goal:
19
+ Start with a plain-language task:
20
20
 
21
21
  ```bash
22
22
  orca "add auth to the app"
@@ -45,6 +45,7 @@ After task execution, Orca can run deterministic validation commands, then ask C
45
45
  - `report_only`: report findings and stop
46
46
  - `fail`: mark run failed when findings exist
47
47
  - `review.execution.validator.auto` (default `true`): auto-detect validator commands from `package.json`
48
+ - Caveat: `ORCA_SKIP_VALIDATORS=1` forces this to `false` at runtime
48
49
  - `review.execution.validator.commands` (optional explicit command list)
49
50
  - `review.execution.prompt` (optional custom reviewer instruction)
50
51
 
@@ -96,7 +97,12 @@ orca pr create --run <run-id>
96
97
  orca pr publish --run <run-id>
97
98
  orca pr status --run <run-id>
98
99
 
99
- orca pr publish --config ./orca.config.js
100
+ orca pr publish --last
101
+ orca pr publish --config ./orca.config.js # accepted, currently unused by PR command resolution
102
+
103
+ # Non-TTY requires explicit run selection
104
+ orca pr publish --run <run-id>
105
+ orca pr publish --last
100
106
  ```
101
107
 
102
108
  ## Config
@@ -104,18 +110,41 @@ orca pr publish --config ./orca.config.js
104
110
  Orca auto-discovers config in this order:
105
111
 
106
112
  1. `~/.orca/config.js`
107
- 2. `./orca.config.js` or `./orca.config.ts`
113
+ 2. Project config: `./orca.config.ts` (preferred when both exist) or `./orca.config.js`
108
114
  3. `--config <path>` (if passed)
109
115
 
110
116
  Later entries override earlier ones.
111
117
 
112
118
  ```ts
113
119
  // orca.config.ts
114
- export default {
120
+ import { defineOrcaConfig } from "orcastrator";
121
+
122
+ export default defineOrcaConfig({
123
+ executor: "codex",
124
+ anthropicApiKey: process.env.ANTHROPIC_API_KEY,
125
+ openaiApiKey: process.env.OPENAI_API_KEY,
115
126
  runsDir: "./.orca/runs",
116
127
  sessionLogs: "./session-logs",
117
-
118
- // Function hooks are first-class and strongly typed per hook.
128
+ skills: ["./.orca/skills"],
129
+ maxRetries: 1,
130
+ claude: {
131
+ model: "claude-sonnet-4-20250514",
132
+ effort: "medium",
133
+ useV2Preview: true,
134
+ maxTurnsPerTask: 12,
135
+ allowTextJsonFallback: false
136
+ },
137
+ codex: {
138
+ enabled: true,
139
+ model: "gpt-5.3-codex",
140
+ effort: "medium",
141
+ command: "codex",
142
+ timeoutMs: 300000,
143
+ multiAgent: false,
144
+ perCwdExtraUserRoots: [
145
+ { cwd: process.cwd(), extraUserRoots: ["/tmp/shared-skills"] }
146
+ ]
147
+ },
119
148
  hooks: {
120
149
  onTaskComplete: async (event, context) => {
121
150
  console.log(`task done: ${event.taskId} (${event.taskName}) from pid ${context.pid}`);
@@ -124,39 +153,49 @@ export default {
124
153
  console.error(event.error);
125
154
  }
126
155
  },
127
-
128
- // Command hooks remain supported; payload is sent as stdin JSON.
129
156
  hookCommands: {
130
- onTaskComplete: "node -e 'let s=\"\";process.stdin.on(\"data\",d=>s+=d);process.stdin.on(\"end\",()=>{const p=JSON.parse(s);console.log(`task done: ${p.taskId}`);})'",
157
+ onTaskComplete: "node ./scripts/on-task-complete.mjs",
131
158
  onComplete: "echo run complete",
132
159
  onError: "echo run failed"
133
160
  },
134
- codex: {
135
- model: "gpt-5.3-codex", // override the codex model
136
- multiAgent: true, // enable codex multi-agent (see below)
137
- perCwdExtraUserRoots: [ // optional app-server skill roots per cwd (skills/list)
138
- { cwd: process.cwd(), extraUserRoots: ["/tmp/shared-skills"] }
139
- ]
161
+ pr: {
162
+ enabled: true,
163
+ requireConfirmation: true
140
164
  },
141
165
  review: {
166
+ // Deprecated compatibility aliases (prefer review.plan.*):
167
+ // enabled: true,
168
+ // onInvalid: "fail",
142
169
  plan: {
143
- enabled: true, // default true
144
- onInvalid: "fail" // or "warn_skip"
170
+ enabled: true,
171
+ onInvalid: "fail"
145
172
  },
146
173
  execution: {
147
- enabled: true, // default true
148
- maxCycles: 2, // default 2
149
- onFindings: "auto_fix", // "auto_fix" | "report_only" | "fail"
174
+ enabled: true,
175
+ maxCycles: 2,
176
+ onFindings: "auto_fix",
150
177
  validator: {
151
- auto: true, // default true
178
+ auto: true,
152
179
  // commands: ["npm run validate"]
153
180
  },
154
181
  // prompt: "Prefer minimal safe fixes"
155
182
  }
156
183
  }
157
- };
184
+ });
158
185
  ```
159
186
 
187
+ ### Config field reference (OrcaConfig)
188
+
189
+ Top-level: `executor`, `anthropicApiKey`, `openaiApiKey`, `runsDir`, `sessionLogs`, `skills`, `maxRetries`, `hooks`, `hookCommands`, `pr`, `review`, `claude`, `codex`.
190
+
191
+ - `pr.enabled`, `pr.requireConfirmation`
192
+ - `maxRetries` is part of `OrcaConfig`; current planner-generated task retries remain fixed in task graph contracts
193
+ - `claude.model`, `claude.effort`, `claude.useV2Preview`, `claude.maxTurnsPerTask`, `claude.allowTextJsonFallback`
194
+ - `codex.enabled`, `codex.model`, `codex.effort`, `codex.command`, `codex.timeoutMs`, `codex.multiAgent`, `codex.perCwdExtraUserRoots`
195
+ - `review.plan.enabled`, `review.plan.onInvalid`
196
+ - `review.execution.enabled`, `review.execution.maxCycles`, `review.execution.onFindings`, `review.execution.validator.auto`, `review.execution.validator.commands`, `review.execution.prompt`
197
+ - Deprecated compatibility aliases: `review.enabled`, `review.onInvalid` (still accepted; prefer `review.plan.*`)
198
+
160
199
  ### Multi-agent mode
161
200
 
162
201
  Codex supports experimental [multi-agent workflows](https://developers.openai.com/codex/multi-agent) where it can spawn parallel sub-agents for complex tasks.
@@ -184,7 +223,7 @@ Global:
184
223
 
185
224
  `orca` / `orca run`:
186
225
 
187
- - positional: `[goal]`
226
+ - positional: `[task]`
188
227
  - also works: `--task <text>`, `-p, --prompt <text>`
189
228
  - `--spec <path>`
190
229
  - `--plan <path>`
@@ -205,6 +244,8 @@ Global:
205
244
 
206
245
  - `--spec <path>`
207
246
  - `--config <path>`
247
+ - `--on-milestone <cmd>`
248
+ - `--on-error <cmd>`
208
249
 
209
250
  `orca status`:
210
251
 
@@ -241,10 +282,17 @@ Global:
241
282
 
242
283
  - `--run <run-id>`
243
284
  - `--last`
244
- - `--config <path>`
285
+ - `--config <path>` (accepted for compatibility; currently unused by PR command run resolution)
245
286
 
246
287
  `orca pr publish`:
247
288
 
289
+ - `--run <run-id>`
290
+ - `--last`
291
+ - `--config <path>` (accepted for compatibility; currently unused by PR command run resolution)
292
+ - If neither `--run` nor `--last` is provided: interactive run picker in TTY; non-TTY requires `--run` or `--last`
293
+
294
+ `orca skills`:
295
+
248
296
  - `--config <path>`
249
297
 
250
298
  `orca setup`:
@@ -272,7 +320,7 @@ Hook names:
272
320
  - `onInvalidPlan`
273
321
  - `onFindings`
274
322
  - `onComplete`
275
- - `onError`
323
+ - `onError` (fires on run failures and hook-dispatch failures)
276
324
 
277
325
  Run hooks from CLI with `--on-...` flags or from config via `hooks` / `hookCommands`.
278
326
  Unknown hook keys in config are rejected at load time with an explicit allowed-hook list.
@@ -283,10 +331,7 @@ Hook contract:
283
331
  - Command hooks (`--on-...` and `config.hookCommands`) receive the full event payload as JSON over stdin.
284
332
  - Orca no longer injects hook payload via `ORCA_*` env vars.
285
333
 
286
- Migration note:
287
- - If your hook commands previously read any `ORCA_*` hook env payload (`ORCA_HOOK_PAYLOAD_JSON`, `ORCA_MSG`, `ORCA_RUN_ID`, etc.), switch them to parse stdin JSON instead.
288
- - Existing CLI hook flags are preserved (`--on-milestone`, `--on-error`, etc.); only payload transport changed.
289
- - Smoke-test the hook contract (function + command + concurrency): `npm run smoke:hooks`.
334
+ Smoke-test the hook contract (function + command + concurrency): `npm run smoke:hooks`.
290
335
 
291
336
  ### Run ID Format
292
337
 
@@ -310,6 +355,8 @@ During planning, Orca automatically injects project instruction files when prese
310
355
 
311
356
  Files are discovered from the project root (nearest `.git` from the spec/task context) and injected in that order.
312
357
 
358
+ If both filenames resolve to the same underlying file (for example, `CLAUDE.md` symlinked to `AGENTS.md`), Orca injects that content only once and keeps the first entry in order (`AGENTS.md`).
359
+
313
360
  ### Project Skills
314
361
 
315
362
  Orca auto-loads skills in this precedence order (first matching skill name wins):
@@ -346,7 +393,7 @@ npm install
346
393
  Run local development and tests with Bun (faster runtime for this project):
347
394
 
348
395
  ```bash
349
- bun run src/cli/index.ts "your goal here"
396
+ bun run src/cli/index.ts "your task here"
350
397
  bun test src
351
398
  npm run test:postexec-json
352
399
  ```
@@ -369,6 +416,46 @@ This runs, in order:
369
416
 
370
417
  `npm run build` remains `tsc` because the native preview compiler is used here as a fast typecheck gate; production JS emission stays on stable `typescript` for predictable package output.
371
418
 
419
+ ## GitHub release tracking (tags only)
420
+
421
+ Orca includes a lightweight GitHub Actions workflow at `.github/workflows/release.yml`:
422
+
423
+ - Trigger: push a tag matching `v*` (workflow only releases SemVer tags like `v0.4.0` or `v0.4.0-rc.1`)
424
+ - Behavior: create or update the matching GitHub Release
425
+ - Notes: auto-generated by GitHub (`generate_release_notes: true`)
426
+
427
+ This workflow is for release tracking/changelogs only. It does not publish to npm.
428
+
429
+ ## npm publish automation (GitHub Actions)
430
+
431
+ Orca includes a publish workflow at `.github/workflows/publish.yml`.
432
+
433
+ - Primary trigger: push a tag matching `v*` (for example `v1.2.3` or `v1.2.3-rc.1`)
434
+ - Optional fallback: manual `workflow_dispatch`
435
+ - Required secret: `NPM_TOKEN`
436
+ - Behavior: checkout → Node setup (npm registry auth) → safety checks → `npm ci` → `npm run validate` → publish if version is not already on npm
437
+
438
+ Safety checks enforced before publish:
439
+
440
+ 1. Tag must be SemVer-like (`vX.Y.Z` with optional prerelease/build metadata)
441
+ 2. Release commit must be reachable from the repository default branch
442
+ 3. `package.json` version must match the tag version (without the leading `v`)
443
+ 4. If the version already exists on npm, publish is skipped as a safe no-op
444
+
445
+ ### Safe setup
446
+
447
+ 1. In GitHub, open **Settings → Secrets and variables → Actions** for this repository.
448
+ 2. Add a repository secret named `NPM_TOKEN`.
449
+ - Create this token in npm as a granular automation/publish token scoped only to `orcastrator`.
450
+ 3. Use least privilege, avoid reusing broad account tokens, and rotate the token periodically.
451
+
452
+ ### Safe run flow
453
+
454
+ 1. Bump `package.json` to the intended release version.
455
+ 2. Create and push a matching tag, for example: `git tag v1.2.3 && git push origin v1.2.3`.
456
+ 3. Verify the package on npm after the workflow completes.
457
+ 4. If needed, run the same workflow manually from **Actions → npm Publish → Run workflow** as a fallback (use an existing tag so the workflow publishes that exact tagged commit).
458
+
372
459
  ## Package manager + lockfile policy
373
460
 
374
461
  Orca uses a mixed runtime/tooling model on purpose:
@@ -0,0 +1,10 @@
1
+ import type { OrcaConfig, PlanResult, Task, TaskExecutionResult, TaskGraphReviewResult } from "../../types/index.js";
2
+ export type { PlanResult, TaskExecutionResult };
3
+ export declare function parseTaskArray(raw: string): Task[];
4
+ export declare function parseTaskExecution(raw: string): TaskExecutionResult;
5
+ export declare function parseStructuredPlanPayload(payload: unknown): Task[];
6
+ export declare function parseStructuredTaskExecutionPayload(payload: unknown, rawResponse?: string): TaskExecutionResult;
7
+ export declare function planSpec(spec: string, systemContext: string, config?: OrcaConfig): Promise<PlanResult>;
8
+ export declare function reviewTaskGraph(tasks: Task[], systemContext: string, config?: OrcaConfig): Promise<TaskGraphReviewResult>;
9
+ export declare function executeTask(task: Task, runId: string, config?: OrcaConfig, systemContext?: string): Promise<TaskExecutionResult>;
10
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/agents/claude/session.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,IAAI,EACJ,mBAAmB,EAEnB,qBAAqB,EACtB,MAAM,sBAAsB,CAAC;AAO9B,YAAY,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC;AAoOhD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,CAQlD;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAYnE;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,EAAE,CAOnE;AAED,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,SAAK,GAAG,mBAAmB,CAW3G;AA4FD,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CA4B5G;AAED,wBAAsB,eAAe,CACnC,KAAK,EAAE,IAAI,EAAE,EACb,aAAa,EAAE,MAAM,EACrB,MAAM,CAAC,EAAE,UAAU,GAClB,OAAO,CAAC,qBAAqB,CAAC,CAiBhC;AAED,wBAAsB,WAAW,CAC/B,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,UAAU,EACnB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,mBAAmB,CAAC,CAwB9B"}
@@ -0,0 +1,3 @@
1
+ export { createCodexSession, planSpec, executeTask, } from "./session.js";
2
+ export type { PlanResult, TaskExecutionResult, } from "./session.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agents/codex/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,QAAQ,EACR,WAAW,GACZ,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,UAAU,EACV,mBAAmB,GACpB,MAAM,cAAc,CAAC"}
@@ -0,0 +1,29 @@
1
+ import type { OrcaConfig, PlanResult, Task, TaskExecutionResult, TaskGraphReviewResult } from "../../types/index.js";
2
+ export type { PlanResult, TaskExecutionResult };
3
+ /**
4
+ * Create a persistent Codex session. The thread persists across calls —
5
+ * planSpec and executeTask share context within the same session.
6
+ */
7
+ export interface ConsultationResult {
8
+ issues: string[];
9
+ ok: boolean;
10
+ }
11
+ export declare function createCodexSession(cwd: string, config?: OrcaConfig): Promise<{
12
+ planSpec: (spec: string, systemContext: string) => Promise<PlanResult>;
13
+ reviewTaskGraph: (tasks: Task[], systemContext: string) => Promise<TaskGraphReviewResult>;
14
+ executeTask: (task: Task, runId: string, systemContext?: string) => Promise<TaskExecutionResult>;
15
+ consultTaskGraph: (tasks: Task[]) => Promise<ConsultationResult>;
16
+ reviewChanges: (threadId?: string) => Promise<string>;
17
+ runPrompt: (prompt: string) => Promise<string>;
18
+ disconnect: () => Promise<void>;
19
+ threadId: string;
20
+ }>;
21
+ /**
22
+ * Stateless wrappers that match the Claude adapter interface.
23
+ * Each call creates a new client + thread (no persistence).
24
+ * Use createCodexSession() for persistent threads.
25
+ */
26
+ export declare function planSpec(spec: string, systemContext: string, config?: OrcaConfig): Promise<PlanResult>;
27
+ export declare function reviewTaskGraph(tasks: Task[], systemContext: string, config?: OrcaConfig): Promise<TaskGraphReviewResult>;
28
+ export declare function executeTask(task: Task, runId: string, config?: OrcaConfig, systemContext?: string): Promise<TaskExecutionResult>;
29
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/agents/codex/session.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,IAAI,EACJ,mBAAmB,EAEnB,qBAAqB,EACtB,MAAM,sBAAsB,CAAC;AAK9B,YAAY,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC;AA8XhD;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,EAAE,EAAE,OAAO,CAAC;CACb;AAED,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,UAAU,GAClB,OAAO,CAAC;IACT,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IACvE,eAAe,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC1F,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACjG,gBAAgB,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACjE,aAAa,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACtD,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/C,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,CAoLD;AAED;;;;GAIG;AACH,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EACrB,MAAM,CAAC,EAAE,UAAU,GAClB,OAAO,CAAC,UAAU,CAAC,CAQrB;AAED,wBAAsB,eAAe,CACnC,KAAK,EAAE,IAAI,EAAE,EACb,aAAa,EAAE,MAAM,EACrB,MAAM,CAAC,EAAE,UAAU,GAClB,OAAO,CAAC,qBAAqB,CAAC,CAQhC;AAED,wBAAsB,WAAW,CAC/B,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,UAAU,EACnB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,mBAAmB,CAAC,CAQ9B"}
@@ -0,0 +1,7 @@
1
+ import type { Command } from "commander";
2
+ export interface AnswerCommandOptions {
3
+ run?: string;
4
+ }
5
+ export declare function answerCommandHandler(positionalRunId: string | undefined, answerArg: string | undefined, options: AnswerCommandOptions): Promise<void>;
6
+ export declare function registerAnswerCommand(program: Command): void;
7
+ //# sourceMappingURL=answer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"answer.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/answer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,MAAM,WAAW,oBAAoB;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAgCD,wBAAsB,oBAAoB,CACxC,eAAe,EAAE,MAAM,GAAG,SAAS,EACnC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAqCf;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAa5D"}
@@ -0,0 +1,9 @@
1
+ import type { Command } from "commander";
2
+ export interface CancelCommandOptions {
3
+ run?: string;
4
+ last?: boolean;
5
+ config?: string;
6
+ }
7
+ export declare function cancelCommandHandler(options: CancelCommandOptions): Promise<void>;
8
+ export declare function registerCancelCommand(program: Command): void;
9
+ //# sourceMappingURL=cancel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cancel.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/cancel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,MAAM,WAAW,oBAAoB;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAmBD,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyDvF;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAQ5D"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerHelpCommand(program: Command): void;
3
+ //# sourceMappingURL=help.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/help.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsGzC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqB1D"}
@@ -0,0 +1,10 @@
1
+ import type { Command } from "commander";
2
+ import type { RunStatus } from "../../types/index.js";
3
+ export interface ListCommandOptions {
4
+ config?: string;
5
+ }
6
+ export declare function formatRunSummaryTable(runs: RunStatus[]): string;
7
+ export declare function listRuns(): Promise<RunStatus[]>;
8
+ export declare function listCommandHandler(_options: ListCommandOptions): Promise<void>;
9
+ export declare function registerListCommand(program: Command): void;
10
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAiCD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,CAI/D;AAED,wBAAsB,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAGrD;AAED,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CASpF;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAM1D"}
@@ -0,0 +1,14 @@
1
+ import type { Command } from "commander";
2
+ export interface PlanCommandOptions {
3
+ spec: string;
4
+ config?: string;
5
+ onMilestone?: string;
6
+ onError?: string;
7
+ }
8
+ export declare function planCommand(options: {
9
+ spec: string;
10
+ config?: string;
11
+ }): Promise<void>;
12
+ export declare function planCommandHandler(options: PlanCommandOptions): Promise<void>;
13
+ export declare function registerPlanCommand(program: Command): void;
14
+ //# sourceMappingURL=plan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/plan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUzC,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsB3F;AAED,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAKnF;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAS1D"}
@@ -0,0 +1,5 @@
1
+ import type { Command } from "commander";
2
+ import { type PrCommandOptions } from "./shared.js";
3
+ export declare function prCreateCommandHandler(options: PrCommandOptions): Promise<void>;
4
+ export declare function registerPrCreateCommand(program: Command): void;
5
+ //# sourceMappingURL=create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/pr/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,EACL,KAAK,gBAAgB,EAOtB,MAAM,aAAa,CAAC;AAUrB,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6CrF;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAQ9D"}
@@ -0,0 +1,5 @@
1
+ import type { Command } from "commander";
2
+ import { type PrCommandOptions } from "./shared.js";
3
+ export declare function prDraftCommandHandler(options: PrCommandOptions): Promise<void>;
4
+ export declare function registerPrDraftCommand(program: Command): void;
5
+ //# sourceMappingURL=draft.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"draft.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/pr/draft.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,EACL,KAAK,gBAAgB,EAOtB,MAAM,aAAa,CAAC;AAUrB,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6CpF;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAQ7D"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerPrCommand(program: Command): void;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/pr/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUzC,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8DxD"}
@@ -0,0 +1,5 @@
1
+ import type { Command } from "commander";
2
+ import { type PrCommandOptions } from "./shared.js";
3
+ export declare function prPublishCommandHandler(options: PrCommandOptions): Promise<void>;
4
+ export declare function registerPrPublishCommand(program: Command): void;
5
+ //# sourceMappingURL=publish.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/pr/publish.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,EACL,KAAK,gBAAgB,EAKtB,MAAM,aAAa,CAAC;AAErB,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuCtF;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAQ/D"}
@@ -0,0 +1,14 @@
1
+ import { RunStore } from "../../../state/store.js";
2
+ import type { RunStatus } from "../../../types/index.js";
3
+ export interface PrCommandOptions {
4
+ run?: string;
5
+ last?: boolean;
6
+ config?: string;
7
+ }
8
+ export declare function createStore(): RunStore;
9
+ export declare function buildPrTitle(run: RunStatus): string;
10
+ export declare function buildPrBody(run: RunStatus): string;
11
+ export declare function loadRunOrExit(options: PrCommandOptions): Promise<RunStatus | null>;
12
+ export declare function printGhMissingAndExit(): void;
13
+ export declare function resolveRunIdOrExit(options: PrCommandOptions, commandName: "draft" | "create" | "publish" | "status"): Promise<string | null>;
14
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/pr/shared.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAIzD,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,WAAW,IAAI,QAAQ,CAGtC;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAInD;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAmBlD;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAiBxF;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAG5C;AAED,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,gBAAgB,EACzB,WAAW,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GACrD,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAgCxB"}
@@ -0,0 +1,5 @@
1
+ import type { Command } from "commander";
2
+ import { type PrCommandOptions } from "./shared.js";
3
+ export declare function prStatusCommandHandler(options: PrCommandOptions): Promise<void>;
4
+ export declare function registerPrStatusCommand(program: Command): void;
5
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/pr/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,EAAE,KAAK,gBAAgB,EAA4D,MAAM,aAAa,CAAC;AA2B9G,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmDrF;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAQ9D"}
@@ -0,0 +1,8 @@
1
+ import type { Command } from "commander";
2
+ export interface PrFinalizeCommandOptions {
3
+ run: string;
4
+ config?: string;
5
+ }
6
+ export declare function prFinalizeCommandHandler(_options: PrFinalizeCommandOptions): Promise<void>;
7
+ export declare function registerPrFinalizeCommand(program: Command): void;
8
+ //# sourceMappingURL=pr-finalize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pr-finalize.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/pr-finalize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,wBAAwB,CAAC,QAAQ,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhG;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAOhE"}
@@ -0,0 +1,14 @@
1
+ import { type Command } from "commander";
2
+ import { type ClaudeEffort, type CodexEffort } from "../../types/effort.js";
3
+ export interface ResumeCommandOptions {
4
+ run?: string;
5
+ last?: boolean;
6
+ config?: string;
7
+ codexOnly?: boolean;
8
+ claudeOnly?: boolean;
9
+ codexEffort?: CodexEffort;
10
+ claudeEffort?: ClaudeEffort;
11
+ }
12
+ export declare function resumeCommandHandler(options: ResumeCommandOptions): Promise<void>;
13
+ export declare function registerResumeCommand(program: Command): void;
14
+ //# sourceMappingURL=resume.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resume.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/resume.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAM/D,OAAO,EAAuC,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGjH,MAAM,WAAW,oBAAoB;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AA4DD,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuEvF;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmB5D"}
@@ -0,0 +1,18 @@
1
+ import { mock } from "bun:test";
2
+ type RunModule = typeof import("./run.js");
3
+ export type RunCommandTestHarness = {
4
+ getTempDir: () => string;
5
+ loadRunModule: () => Promise<{
6
+ runModule: RunModule;
7
+ runPlannerMock: ReturnType<typeof mock>;
8
+ runTaskRunnerMock: ReturnType<typeof mock>;
9
+ createCodexSessionMock: ReturnType<typeof mock>;
10
+ ensureCodexMultiAgentMock: ReturnType<typeof mock>;
11
+ hookDispatchMock: ReturnType<typeof mock>;
12
+ InvalidPlanErrorCtor: new (stage: "planner" | "review", message: string) => Error;
13
+ }>;
14
+ parseRun: (runModule: RunModule, argv: string[]) => Promise<void>;
15
+ };
16
+ export declare function createRunCommandTestHarness(tempPrefix: string): RunCommandTestHarness;
17
+ export {};
18
+ //# sourceMappingURL=run-command.test-harness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-command.test-harness.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/run-command.test-harness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,IAAI,EAAE,MAAM,UAAU,CAAC;AAMvD,KAAK,SAAS,GAAG,cAAc,UAAU,CAAC,CAAC;AAE3C,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,EAAE,MAAM,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,OAAO,CAAC;QAC3B,SAAS,EAAE,SAAS,CAAC;QACrB,cAAc,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC;QACxC,iBAAiB,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC;QAC3C,sBAAsB,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC;QAChD,yBAAyB,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC;QACnD,gBAAgB,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC;QAC1C,oBAAoB,EAAE,KAAK,KAAK,EAAE,SAAS,GAAG,QAAQ,EAAE,OAAO,EAAE,MAAM,KAAK,KAAK,CAAC;KACnF,CAAC,CAAC;IACH,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnE,CAAC;AAEF,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,MAAM,GAAG,qBAAqB,CA0IrF"}
@@ -0,0 +1,24 @@
1
+ import { type Command } from "commander";
2
+ import { type ClaudeEffort, type CodexEffort } from "../../types/effort.js";
3
+ export interface RunCommandOptions {
4
+ spec?: string;
5
+ plan?: string;
6
+ task?: string;
7
+ prompt?: string;
8
+ goal?: string;
9
+ config?: string;
10
+ codexOnly?: boolean;
11
+ claudeOnly?: boolean;
12
+ codexEffort?: CodexEffort;
13
+ claudeEffort?: ClaudeEffort;
14
+ onMilestone?: string;
15
+ onTaskComplete?: string;
16
+ onTaskFail?: string;
17
+ onInvalidPlan?: string;
18
+ onFindings?: string;
19
+ onComplete?: string;
20
+ onError?: string;
21
+ }
22
+ export declare function runCommandHandler(options: RunCommandOptions): Promise<void>;
23
+ export declare function registerRunCommand(program: Command): void;
24
+ //# sourceMappingURL=run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/run.ts"],"names":[],"mappings":"AAQA,OAAO,EAAwB,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAa/D,OAAO,EAAuC,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AA4BjH,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA0PD,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiRjF;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkEzD"}
@@ -0,0 +1,27 @@
1
+ import type { Command } from "commander";
2
+ export interface SetupCommandOptions {
3
+ anthropicKey?: string;
4
+ openaiKey?: string;
5
+ check?: boolean;
6
+ global?: boolean;
7
+ project?: boolean;
8
+ projectConfigTemplate?: boolean;
9
+ skipProjectConfig?: boolean;
10
+ }
11
+ type PackageManager = "brew" | "apt" | "winget";
12
+ type ApiKeyConfig = {
13
+ anthropicApiKey?: string;
14
+ openaiApiKey?: string;
15
+ };
16
+ type ResolveApiKeyOptions = {
17
+ openclawConfigPath?: string;
18
+ homedir?: string;
19
+ };
20
+ export declare function resolveApiKey(flagValue: string | undefined, envVarName: string, openclawConfigPathOrOptions?: string | ResolveApiKeyOptions, maybeOptions?: ResolveApiKeyOptions): string | undefined;
21
+ export declare function detectPackageManager(exists?: (command: string) => boolean): PackageManager | null;
22
+ export declare function buildConfigModule({ anthropicApiKey, openaiApiKey }: ApiKeyConfig): string;
23
+ export declare function buildProjectConfigTemplate(): string;
24
+ export declare function setupCommandHandler(options: SetupCommandOptions): Promise<void>;
25
+ export declare function registerSetupCommand(program: Command): void;
26
+ export {};
27
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/setup.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,KAAK,cAAc,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEhD,KAAK,YAAY,GAAG;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AA8DF,KAAK,oBAAoB,GAAG;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,UAAU,EAAE,MAAM,EAClB,2BAA2B,CAAC,EAAE,MAAM,GAAG,oBAAoB,EAC3D,YAAY,CAAC,EAAE,oBAAoB,GAClC,MAAM,GAAG,SAAS,CA6BpB;AAqJD,wBAAgB,oBAAoB,CAClC,MAAM,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAuB,GACnD,cAAc,GAAG,IAAI,CAcvB;AAED,wBAAgB,iBAAiB,CAAC,EAAE,eAAe,EAAE,YAAY,EAAE,EAAE,YAAY,GAAG,MAAM,CAazF;AAMD,wBAAgB,0BAA0B,IAAI,MAAM,CA6DnD;AAoND,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkJrF;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAc3D"}