@dmrlzz/davecode 0.5.3 → 0.7.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 (87) hide show
  1. package/README.md +1 -0
  2. package/dist/{ChatApp-IF5D7XNH.js → ChatApp-C23NVTME.js} +6 -6
  3. package/dist/{account-KBXJ5KR7.js → account-GG7UFSNY.js} +3 -3
  4. package/dist/{accounts-XUJNDCFH.js → accounts-IPOGUMHF.js} +5 -5
  5. package/dist/{budget-PHV4NRUS.js → budget-7QJGPYPF.js} +4 -4
  6. package/dist/{chat-HGTX76DU.js → chat-3K2KXS3E.js} +8 -8
  7. package/dist/{chunk-FZJNOG2T.js → chunk-3BTE76UD.js} +2 -2
  8. package/dist/{chunk-FPSLYBLU.js → chunk-4FE2YV5U.js} +2 -2
  9. package/dist/{chunk-YSD6W27K.js → chunk-FKGZERYB.js} +283 -5
  10. package/dist/chunk-FKGZERYB.js.map +1 -0
  11. package/dist/{chunk-AFCQURO5.js → chunk-JBX6J74G.js} +3 -3
  12. package/dist/{chunk-EBV5A33R.js → chunk-KEURMO75.js} +4 -4
  13. package/dist/{chunk-DFQW3MRD.js → chunk-LK2K73DC.js} +2 -2
  14. package/dist/{chunk-ING5HCIO.js → chunk-NBQIMB43.js} +3430 -1063
  15. package/dist/chunk-NBQIMB43.js.map +1 -0
  16. package/dist/{goal-ETZWLVKO.js → chunk-PGZPSJS7.js} +8 -8
  17. package/dist/chunk-PGZPSJS7.js.map +1 -0
  18. package/dist/{chunk-ZVNX7CSO.js → chunk-U42YONUN.js} +3 -3
  19. package/dist/{config-DG2E4VDW.js → config-BFEQFGAR.js} +3 -3
  20. package/dist/dashboard/assets/Accounts-CUMFzGls.js +1 -0
  21. package/dist/dashboard/assets/{Callout-1E8Wsl9W.js → Callout-DDtTG_BA.js} +1 -1
  22. package/dist/dashboard/assets/Goals-CBGiTkcP.js +1 -0
  23. package/dist/dashboard/assets/{Library-DZxBVUo_.js → Library-CKWa3h0E.js} +1 -1
  24. package/dist/dashboard/assets/{Panes-C-TJekjs.js → Panes-ziAz-CZa.js} +4 -4
  25. package/dist/dashboard/assets/RoutesPage-D2iW-KhM.js +4 -0
  26. package/dist/dashboard/assets/Runner-4e79FB1J.js +1 -0
  27. package/dist/dashboard/assets/Settings-CSae84S0.js +1 -0
  28. package/dist/dashboard/assets/Tasks-CnbZ5PvX.js +2 -0
  29. package/dist/dashboard/assets/Traffic-B12xKOUm.js +1 -0
  30. package/dist/dashboard/assets/Workspace-CMPHlw4f.js +1 -0
  31. package/dist/dashboard/assets/chevron-down-DT349Fth.js +1 -0
  32. package/dist/dashboard/assets/external-link-DCIUScea.js +1 -0
  33. package/dist/dashboard/assets/format-C7Q-B9fI.js +112 -0
  34. package/dist/dashboard/assets/index-4RIBvhr9.css +2 -0
  35. package/dist/dashboard/assets/index-z8TlFwRe.js +50 -0
  36. package/dist/dashboard/assets/task-errors-3F3vbQ7k.js +1 -0
  37. package/dist/dashboard/assets/x-UBQsC1rW.js +1 -0
  38. package/dist/dashboard/index.html +4 -3
  39. package/dist/{dist-IPMBGFJD.js → dist-VTC5E7Z5.js} +48 -2
  40. package/dist/{doctor-5APOWJ5D.js → doctor-JLFYQ3EP.js} +3 -3
  41. package/dist/goal-JM7QYTL2.js +26 -0
  42. package/dist/index.js +64 -31
  43. package/dist/index.js.map +1 -1
  44. package/dist/{init-YDLNA3GD.js → init-6K4EGMTV.js} +3 -3
  45. package/dist/orchestrate-QC5P6IUZ.js +382 -0
  46. package/dist/orchestrate-QC5P6IUZ.js.map +1 -0
  47. package/dist/{run-I6N7TLHV.js → run-ABQNQ722.js} +3 -3
  48. package/dist/runtime.js +6 -2
  49. package/dist/{start-ECLELJGJ.js → start-MSO7TGBX.js} +3 -3
  50. package/dist/{status-QQPP67I4.js → status-U6C4LUCM.js} +4 -4
  51. package/dist/status-U6C4LUCM.js.map +1 -0
  52. package/dist/{tasks-RNMC2XFN.js → tasks-HEVT67YM.js} +4 -4
  53. package/package.json +4 -4
  54. package/dist/chunk-ING5HCIO.js.map +0 -1
  55. package/dist/chunk-YSD6W27K.js.map +0 -1
  56. package/dist/dashboard/assets/Accounts-DXiGsutB.js +0 -1
  57. package/dist/dashboard/assets/Badge-DUGKlx3Z.js +0 -55
  58. package/dist/dashboard/assets/Goals-kL4VAxw3.js +0 -1
  59. package/dist/dashboard/assets/RoutesPage-DWYm9tW8.js +0 -4
  60. package/dist/dashboard/assets/Runner-CmHBjECR.js +0 -1
  61. package/dist/dashboard/assets/Settings-BANphxva.js +0 -1
  62. package/dist/dashboard/assets/Tasks-cSx1PKyQ.js +0 -2
  63. package/dist/dashboard/assets/Traffic-DEAuM6jq.js +0 -1
  64. package/dist/dashboard/assets/Workspace-BQFjc1jH.js +0 -1
  65. package/dist/dashboard/assets/index-B8kld9xo.js +0 -104
  66. package/dist/dashboard/assets/index-BEmBgsbP.css +0 -2
  67. package/dist/dashboard/assets/task-errors-r-WYZ_S3.js +0 -1
  68. package/dist/goal-ETZWLVKO.js.map +0 -1
  69. /package/dist/{ChatApp-IF5D7XNH.js.map → ChatApp-C23NVTME.js.map} +0 -0
  70. /package/dist/{account-KBXJ5KR7.js.map → account-GG7UFSNY.js.map} +0 -0
  71. /package/dist/{accounts-XUJNDCFH.js.map → accounts-IPOGUMHF.js.map} +0 -0
  72. /package/dist/{budget-PHV4NRUS.js.map → budget-7QJGPYPF.js.map} +0 -0
  73. /package/dist/{chat-HGTX76DU.js.map → chat-3K2KXS3E.js.map} +0 -0
  74. /package/dist/{chunk-FZJNOG2T.js.map → chunk-3BTE76UD.js.map} +0 -0
  75. /package/dist/{chunk-FPSLYBLU.js.map → chunk-4FE2YV5U.js.map} +0 -0
  76. /package/dist/{chunk-AFCQURO5.js.map → chunk-JBX6J74G.js.map} +0 -0
  77. /package/dist/{chunk-EBV5A33R.js.map → chunk-KEURMO75.js.map} +0 -0
  78. /package/dist/{chunk-DFQW3MRD.js.map → chunk-LK2K73DC.js.map} +0 -0
  79. /package/dist/{chunk-ZVNX7CSO.js.map → chunk-U42YONUN.js.map} +0 -0
  80. /package/dist/{config-DG2E4VDW.js.map → config-BFEQFGAR.js.map} +0 -0
  81. /package/dist/{dist-IPMBGFJD.js.map → dist-VTC5E7Z5.js.map} +0 -0
  82. /package/dist/{doctor-5APOWJ5D.js.map → doctor-JLFYQ3EP.js.map} +0 -0
  83. /package/dist/{status-QQPP67I4.js.map → goal-JM7QYTL2.js.map} +0 -0
  84. /package/dist/{init-YDLNA3GD.js.map → init-6K4EGMTV.js.map} +0 -0
  85. /package/dist/{run-I6N7TLHV.js.map → run-ABQNQ722.js.map} +0 -0
  86. /package/dist/{start-ECLELJGJ.js.map → start-MSO7TGBX.js.map} +0 -0
  87. /package/dist/{tasks-RNMC2XFN.js.map → tasks-HEVT67YM.js.map} +0 -0
@@ -0,0 +1 @@
1
+ import{n as e}from"./cn-BwE4cei0.js";import{Xt as t,Yt as n}from"./format-C7Q-B9fI.js";var r={name:`pencil`,size:24,node:[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]};r.node;var i=e(r);function a(e){if(!t(e))return n(e);switch(e.code){case`brain_read_only`:return`This gateway exposes the project brain read-only, so the task graph cannot be edited here.`;case`no_brain`:return`No project is loaded. Start the gateway inside an initialised project (davecode init).`;case`cycle`:return e.cycle?`That would create a dependency cycle: ${e.cycle.join(` → `)}.`:e.message;case`has_dependents`:return e.dependents?.length?`Other tasks still depend on it: ${e.dependents.join(`, `)}. Remove those dependencies first.`:e.message;case`task_in_progress`:return`The task is in progress. Reopen it before deleting it.`;case`duplicate_id`:return`A task with this id already exists.`;case`invalid_transition`:return`The task cannot move to that status from its current one. ${e.message}`;case`config_invalid`:return`The global config file is not valid, so it was left untouched. ${e.message}`;default:return n(e)}}export{i as n,a as t};
@@ -0,0 +1 @@
1
+ import{n as e}from"./cn-BwE4cei0.js";var t={name:`check`,size:24,node:[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]};t.node;var n=e(t),r={name:`x`,size:24,node:[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]};r.node;var i=e(r);export{n,i as t};
@@ -20,10 +20,11 @@
20
20
  document.documentElement.dataset.theme = storedTheme;
21
21
  }
22
22
  </script>
23
- <script type="module" crossorigin src="./assets/index-B8kld9xo.js"></script>
23
+ <script type="module" crossorigin src="./assets/index-z8TlFwRe.js"></script>
24
24
  <link rel="modulepreload" crossorigin href="./assets/cn-BwE4cei0.js">
25
- <link rel="modulepreload" crossorigin href="./assets/Badge-DUGKlx3Z.js">
26
- <link rel="stylesheet" crossorigin href="./assets/index-BEmBgsbP.css">
25
+ <link rel="modulepreload" crossorigin href="./assets/format-C7Q-B9fI.js">
26
+ <link rel="modulepreload" crossorigin href="./assets/x-UBQsC1rW.js">
27
+ <link rel="stylesheet" crossorigin href="./assets/index-4RIBvhr9.css">
27
28
  </head>
28
29
  <body>
29
30
  <div id="root"></div>
@@ -12,9 +12,11 @@ import {
12
12
  BRAND_MARK_SVG,
13
13
  BudgetService,
14
14
  BuiltinExecutor,
15
+ CHANGES_LIMITS,
15
16
  CLAUDE_CLI_INSTRUCTIONS,
16
17
  CLI_LOGINS,
17
18
  CONTEXT_TRUNCATION_MARKER,
19
+ ChangesError,
18
20
  ChromiumProfileManager,
19
21
  ChromiumUnavailableError,
20
22
  CircuitBreaker,
@@ -57,13 +59,18 @@ import {
57
59
  LockTimeoutError,
58
60
  LoginError,
59
61
  LoginService,
62
+ MAIN_WORKSPACE_ID,
60
63
  MIGRATIONS,
61
64
  MeteredExecutor,
62
65
  MissingBrainError,
63
66
  NoneJudge,
64
67
  OAUTH_PROVIDERS,
68
+ ORCHESTRATOR_AGENTS,
69
+ ORCHESTRATOR_LIMITS,
65
70
  OpenAICompatibleProvider,
66
71
  OpenAIProvider,
72
+ OrchestratorError,
73
+ PANE_BRANCH_PREFIX,
67
74
  PROJECT_SETTABLE_KEYS,
68
75
  PROVIDER_KINDS,
69
76
  PathEscapeError,
@@ -92,6 +99,7 @@ import {
92
99
  VERSION,
93
100
  Validator,
94
101
  WINDOW_MS,
102
+ WORKSPACE_ID_PATTERN,
95
103
  WorkspaceLock,
96
104
  WorkspaceTools,
97
105
  acceptanceOf,
@@ -116,12 +124,17 @@ import {
116
124
  connectionMethod,
117
125
  countTextTokens,
118
126
  createAccountControl,
127
+ createChangesService,
128
+ createCliAgentRunner,
119
129
  createEngine,
120
130
  createExecutor,
131
+ createGitWorkspace,
121
132
  createGoalService,
122
133
  createJudge,
134
+ createOrchestratorService,
123
135
  createProviders,
124
136
  createRunner,
137
+ createWorkspaceSchema,
125
138
  davecodeHome,
126
139
  deepMerge,
127
140
  defaultModelFor,
@@ -132,6 +145,7 @@ import {
132
145
  errorKindFromStatus,
133
146
  estimateTokens2,
134
147
  extractJsonObject,
148
+ fallbackSuggestion,
135
149
  filterProjectLayer,
136
150
  findCycles,
137
151
  findProjectRoot,
@@ -153,11 +167,15 @@ import {
153
167
  loginEnv,
154
168
  loginFromEnv,
155
169
  mergeApiConfig,
170
+ mergeSchema,
156
171
  migrate,
157
172
  newId2,
158
173
  nextTask,
159
174
  openDatabase,
160
175
  outboundAction,
176
+ paneWorkspacePath,
177
+ paneWorktreesDir,
178
+ parseAgentSuggestion,
161
179
  parseModel,
162
180
  parseRetryAfter,
163
181
  parseTaskGraph,
@@ -166,6 +184,7 @@ import {
166
184
  projectPaths,
167
185
  readyGoalTasks,
168
186
  readyTasks,
187
+ removeSchema,
169
188
  removeTask,
170
189
  repairPrompt,
171
190
  reportedFraction,
@@ -181,9 +200,12 @@ import {
181
200
  seedGeminiHome,
182
201
  selectClaudeAccount,
183
202
  setTaskStatus,
203
+ shipSchema,
184
204
  spawnProbe,
185
205
  splitCommand,
186
206
  startAccountLogin,
207
+ startRunSchema,
208
+ suggestSchema,
187
209
  summarize,
188
210
  summarizeValidation,
189
211
  taskGraphSchema,
@@ -194,8 +216,9 @@ import {
194
216
  updateTask,
195
217
  validateTaskGraph,
196
218
  withFileLock,
219
+ workspaceIdSchema,
197
220
  writeGlobalRouting
198
- } from "./chunk-ING5HCIO.js";
221
+ } from "./chunk-NBQIMB43.js";
199
222
  export {
200
223
  ACCOUNT_SERVICE,
201
224
  API_CONFIG_KEYS,
@@ -210,9 +233,11 @@ export {
210
233
  BRAND_MARK_SVG,
211
234
  BudgetService,
212
235
  BuiltinExecutor,
236
+ CHANGES_LIMITS,
213
237
  CLAUDE_CLI_INSTRUCTIONS,
214
238
  CLI_LOGINS,
215
239
  CONTEXT_TRUNCATION_MARKER,
240
+ ChangesError,
216
241
  ChromiumProfileManager,
217
242
  ChromiumUnavailableError,
218
243
  CircuitBreaker,
@@ -255,13 +280,18 @@ export {
255
280
  LockTimeoutError,
256
281
  LoginError,
257
282
  LoginService,
283
+ MAIN_WORKSPACE_ID,
258
284
  MIGRATIONS,
259
285
  MeteredExecutor,
260
286
  MissingBrainError,
261
287
  NoneJudge,
262
288
  OAUTH_PROVIDERS,
289
+ ORCHESTRATOR_AGENTS,
290
+ ORCHESTRATOR_LIMITS,
263
291
  OpenAICompatibleProvider,
264
292
  OpenAIProvider,
293
+ OrchestratorError,
294
+ PANE_BRANCH_PREFIX,
265
295
  PROJECT_SETTABLE_KEYS,
266
296
  PROVIDER_KINDS,
267
297
  PathEscapeError,
@@ -290,6 +320,7 @@ export {
290
320
  VERSION,
291
321
  Validator,
292
322
  WINDOW_MS,
323
+ WORKSPACE_ID_PATTERN,
293
324
  WorkspaceLock,
294
325
  WorkspaceTools,
295
326
  acceptanceOf,
@@ -314,12 +345,17 @@ export {
314
345
  connectionMethod,
315
346
  countTextTokens,
316
347
  createAccountControl,
348
+ createChangesService,
349
+ createCliAgentRunner,
317
350
  createEngine,
318
351
  createExecutor,
352
+ createGitWorkspace,
319
353
  createGoalService,
320
354
  createJudge,
355
+ createOrchestratorService,
321
356
  createProviders,
322
357
  createRunner,
358
+ createWorkspaceSchema,
323
359
  davecodeHome,
324
360
  deepMerge,
325
361
  defaultModelFor,
@@ -330,6 +366,7 @@ export {
330
366
  errorKindFromStatus,
331
367
  estimateTokens2 as estimateTokens,
332
368
  extractJsonObject,
369
+ fallbackSuggestion,
333
370
  filterProjectLayer,
334
371
  findCycles,
335
372
  findProjectRoot,
@@ -351,11 +388,15 @@ export {
351
388
  loginEnv,
352
389
  loginFromEnv,
353
390
  mergeApiConfig,
391
+ mergeSchema,
354
392
  migrate,
355
393
  newId2 as newId,
356
394
  nextTask,
357
395
  openDatabase,
358
396
  outboundAction,
397
+ paneWorkspacePath,
398
+ paneWorktreesDir,
399
+ parseAgentSuggestion,
359
400
  parseModel,
360
401
  parseRetryAfter,
361
402
  parseTaskGraph,
@@ -364,6 +405,7 @@ export {
364
405
  projectPaths,
365
406
  readyGoalTasks,
366
407
  readyTasks,
408
+ removeSchema,
367
409
  removeTask,
368
410
  repairPrompt,
369
411
  reportedFraction,
@@ -379,9 +421,12 @@ export {
379
421
  seedGeminiHome,
380
422
  selectClaudeAccount,
381
423
  setTaskStatus,
424
+ shipSchema,
382
425
  spawnProbe,
383
426
  splitCommand,
384
427
  startAccountLogin,
428
+ startRunSchema,
429
+ suggestSchema,
385
430
  summarize,
386
431
  summarizeValidation,
387
432
  taskGraphSchema,
@@ -392,6 +437,7 @@ export {
392
437
  updateTask,
393
438
  validateTaskGraph,
394
439
  withFileLock,
440
+ workspaceIdSchema,
395
441
  writeGlobalRouting
396
442
  };
397
- //# sourceMappingURL=dist-IPMBGFJD.js.map
443
+ //# sourceMappingURL=dist-VTC5E7Z5.js.map
@@ -10,7 +10,7 @@ import {
10
10
  detectProjectRoot,
11
11
  resolveDashboardDir,
12
12
  which
13
- } from "./chunk-YSD6W27K.js";
13
+ } from "./chunk-FKGZERYB.js";
14
14
  import {
15
15
  EXIT
16
16
  } from "./chunk-7XVXEO7U.js";
@@ -18,7 +18,7 @@ import "./chunk-732GIHRQ.js";
18
18
  import {
19
19
  loadConfig,
20
20
  openDatabase
21
- } from "./chunk-ING5HCIO.js";
21
+ } from "./chunk-NBQIMB43.js";
22
22
  import "./chunk-MC7RIPL7.js";
23
23
 
24
24
  // src/commands/doctor.ts
@@ -277,4 +277,4 @@ export {
277
277
  renderDoctor,
278
278
  runDoctor
279
279
  };
280
- //# sourceMappingURL=doctor-5APOWJ5D.js.map
280
+ //# sourceMappingURL=doctor-JLFYQ3EP.js.map
@@ -0,0 +1,26 @@
1
+ import {
2
+ describeGoal,
3
+ goalCommand,
4
+ goalExitCode,
5
+ goalsCancel,
6
+ goalsList,
7
+ goalsShow,
8
+ interruptSignal
9
+ } from "./chunk-PGZPSJS7.js";
10
+ import "./chunk-SF5ZEAP4.js";
11
+ import "./chunk-QA3O6RA2.js";
12
+ import "./chunk-FKGZERYB.js";
13
+ import "./chunk-7XVXEO7U.js";
14
+ import "./chunk-732GIHRQ.js";
15
+ import "./chunk-NBQIMB43.js";
16
+ import "./chunk-MC7RIPL7.js";
17
+ export {
18
+ describeGoal,
19
+ goalCommand,
20
+ goalExitCode,
21
+ goalsCancel,
22
+ goalsList,
23
+ goalsShow,
24
+ interruptSignal
25
+ };
26
+ //# sourceMappingURL=goal-JM7QYTL2.js.map
package/dist/index.js CHANGED
@@ -36,12 +36,12 @@ Docs: https://github.com/DMRLZZ/DaveCode#readme`
36
36
  run(async (ctx) => {
37
37
  const globals = program.opts();
38
38
  if (globals.version) {
39
- const { VERSION } = await import("./dist-IPMBGFJD.js");
39
+ const { VERSION } = await import("./dist-VTC5E7Z5.js");
40
40
  ctx.out(`davecode ${VERSION}`);
41
41
  return EXIT.ok;
42
42
  }
43
43
  if (ctx.interactive) {
44
- const { chatCommand } = await import("./chat-HGTX76DU.js");
44
+ const { chatCommand } = await import("./chat-3K2KXS3E.js");
45
45
  return chatCommand(ctx, {});
46
46
  }
47
47
  program.outputHelp();
@@ -74,43 +74,43 @@ function collect(value, previous = []) {
74
74
  function registerCommands(program, run) {
75
75
  program.command("app").description("start your local workspace in a Chrome or Edge app window").addOption(new Option("-p, --port <port>", "port to listen on").argParser(parsePort)).option("--project <dir>", "repository to open").action(
76
76
  run(async (ctx, opts) => {
77
- const { startCommand } = await import("./start-ECLELJGJ.js");
77
+ const { startCommand } = await import("./start-MSO7TGBX.js");
78
78
  return startCommand(ctx, { ...opts, host: "127.0.0.1", app: true });
79
79
  })
80
80
  );
81
81
  program.command("start").description("start the gateway (OpenAI-compatible /v1, dashboard API and web dashboard)").addOption(new Option("-p, --port <port>", "port to listen on").argParser(parsePort)).option("--host <host>", "interface to bind (default 127.0.0.1)").option("--no-dashboard", "do not serve the web dashboard").option("--project <dir>", "repository whose project brain to serve (default: detected)").option("--verbose", "print gateway request logs").option("-q, --quiet", "do not print the live activity log").action(
82
82
  run(async (ctx, opts) => {
83
- const { startCommand } = await import("./start-ECLELJGJ.js");
83
+ const { startCommand } = await import("./start-MSO7TGBX.js");
84
84
  return startCommand(ctx, opts);
85
85
  })
86
86
  );
87
87
  program.command("status").description("gateway health, accounts and 1m/5h/24h quota usage").action(
88
88
  run(async (ctx) => {
89
- const { statusCommand } = await import("./status-QQPP67I4.js");
89
+ const { statusCommand } = await import("./status-U6C4LUCM.js");
90
90
  return statusCommand(ctx);
91
91
  })
92
92
  );
93
93
  program.command("chat").description("chat TUI (also what bare `davecode` opens in a terminal)").option("-m, --model <id>", "model or route, e.g. davecode/auto or anthropic/claude-sonnet-5-5").option("--project <dir>", "repository whose brain an in-process gateway serves").action(
94
94
  run(async (ctx, opts) => {
95
- const { chatCommand } = await import("./chat-HGTX76DU.js");
95
+ const { chatCommand } = await import("./chat-3K2KXS3E.js");
96
96
  return chatCommand(ctx, opts);
97
97
  })
98
98
  );
99
99
  program.command("login").description("sign in to your DaveCode account in the browser").action(
100
100
  run(async (ctx) => {
101
- const { loginCommand } = await import("./account-KBXJ5KR7.js");
101
+ const { loginCommand } = await import("./account-GG7UFSNY.js");
102
102
  return loginCommand(ctx);
103
103
  })
104
104
  );
105
105
  program.command("logout").description("sign out of your DaveCode account").action(
106
106
  run(async (ctx) => {
107
- const { logoutCommand } = await import("./account-KBXJ5KR7.js");
107
+ const { logoutCommand } = await import("./account-GG7UFSNY.js");
108
108
  return logoutCommand(ctx);
109
109
  })
110
110
  );
111
111
  program.command("account").description("show the signed-in DaveCode account").action(
112
112
  run(async (ctx) => {
113
- const { accountCommand } = await import("./account-KBXJ5KR7.js");
113
+ const { accountCommand } = await import("./account-GG7UFSNY.js");
114
114
  return accountCommand(ctx);
115
115
  })
116
116
  );
@@ -118,13 +118,13 @@ function registerCommands(program, run) {
118
118
  registerProject(program, run);
119
119
  program.command("budget").description("plans, renewals and remaining quota per account (what agents are told)").option("--context", "print only the summary injected into agent prompts").option("--local", "read the local database even if a gateway is running").action(
120
120
  run(async (ctx, opts) => {
121
- const { budgetCommand } = await import("./budget-PHV4NRUS.js");
121
+ const { budgetCommand } = await import("./budget-7QJGPYPF.js");
122
122
  return budgetCommand(ctx, opts);
123
123
  })
124
124
  );
125
125
  program.command("doctor").description("check the environment and print fixes").action(
126
126
  run(async (ctx) => {
127
- const { doctorCommand } = await import("./doctor-5APOWJ5D.js");
127
+ const { doctorCommand } = await import("./doctor-JLFYQ3EP.js");
128
128
  return doctorCommand(ctx);
129
129
  })
130
130
  );
@@ -138,11 +138,44 @@ Exit codes with --once: 0 success or nothing to do, 1 failed or error, 130 stopp
138
138
  Ctrl+C stops safely: partial work stays on the task branch and the task goes back to PENDING.`
139
139
  ).action(
140
140
  run(async (ctx, opts) => {
141
- const { runCommand } = await import("./run-I6N7TLHV.js");
141
+ const { runCommand } = await import("./run-ABQNQ722.js");
142
142
  return runCommand(ctx, opts);
143
143
  })
144
144
  );
145
145
  registerGoals(program, run);
146
+ registerOrchestrate(program, run);
147
+ }
148
+ function registerOrchestrate(program, run) {
149
+ program.command("orchestrate [objective...]").description(
150
+ "split an objective across Claude Code, Codex and Antigravity, each in its own git worktree"
151
+ ).option("--agents <list>", "agents allowed to work, comma-separated: claude,codex,agy").option("--planner <agent>", "agent that splits the objective (default: claude, then codex)").addOption(
152
+ new Option("--max-tasks <n>", "most subtasks in the plan (1-8, default 5)").argParser(
153
+ (value) => {
154
+ const n = parseInteger(value);
155
+ if (n < 1) throw new InvalidArgumentError("expected a positive integer");
156
+ return n;
157
+ }
158
+ )
159
+ ).option("--apply", "merge the results into your branch when the run is done").option("--list", "recent runs of this repository").option("--apply-run <id>", "merge a finished run into the branch it started from").option("--project <dir>", "repository to work on (default: detected)").addHelpText(
160
+ "after",
161
+ `
162
+ Each agent uses the CLI you already signed in to (claude, codex, agy) and works in its own
163
+ git worktree. Results are merged into the branch davecode/run-<id>; your working tree is not
164
+ touched until you apply, and nothing is ever pushed. Ctrl+C cancels the run.
165
+ Exit codes: 0 the run is done (and applied with --apply), 1 otherwise.
166
+
167
+ Examples:
168
+ davecode orchestrate "Add a /health endpoint with tests" --agents claude,codex
169
+ davecode orchestrate --list
170
+ davecode orchestrate --apply-run <id>`
171
+ ).action(
172
+ run(
173
+ async (ctx, words, opts) => {
174
+ const { orchestrateCommand } = await import("./orchestrate-QC5P6IUZ.js");
175
+ return orchestrateCommand(ctx, words, opts);
176
+ }
177
+ )
178
+ );
146
179
  }
147
180
  function registerGoals(program, run) {
148
181
  const limit = (flag, description) => new Option(flag, description).argParser((value) => {
@@ -166,26 +199,26 @@ Examples:
166
199
  davecode goal "Add a /health endpoint with tests" --max-rounds 2`
167
200
  ).action(
168
201
  run(async (ctx, words, opts) => {
169
- const { goalCommand } = await import("./goal-ETZWLVKO.js");
202
+ const { goalCommand } = await import("./goal-JM7QYTL2.js");
170
203
  return goalCommand(ctx, words, opts);
171
204
  })
172
205
  );
173
206
  const goals = program.command("goals").description("goals of this repository");
174
207
  goals.command("list", { isDefault: true }).alias("ls").description("goals, newest first").option("--project <dir>", "repository (default: detected)").action(
175
208
  run(async (ctx, opts) => {
176
- const { goalsList } = await import("./goal-ETZWLVKO.js");
209
+ const { goalsList } = await import("./goal-JM7QYTL2.js");
177
210
  return goalsList(ctx, opts);
178
211
  })
179
212
  );
180
213
  goals.command("show <id>").description("tasks, artifacts and summary of a goal").option("--project <dir>", "repository (default: detected)").action(
181
214
  run(async (ctx, id, opts) => {
182
- const { goalsShow } = await import("./goal-ETZWLVKO.js");
215
+ const { goalsShow } = await import("./goal-JM7QYTL2.js");
183
216
  return goalsShow(ctx, id, opts);
184
217
  })
185
218
  );
186
219
  goals.command("cancel <id>").description("cancel a running goal").option("--project <dir>", "repository (default: detected)").action(
187
220
  run(async (ctx, id, opts) => {
188
- const { goalsCancel } = await import("./goal-ETZWLVKO.js");
221
+ const { goalsCancel } = await import("./goal-JM7QYTL2.js");
189
222
  return goalsCancel(ctx, id, opts);
190
223
  })
191
224
  );
@@ -193,20 +226,20 @@ Examples:
193
226
  function registerProject(program, run) {
194
227
  program.command("init").description("scaffold the project brain (.davecode/) in this repository").option("--name <name>", "project name used in STATE.md and ARCHITECTURE.md").option("--config", "write a starter .davecode/config.json without asking").option("--no-config", "do not write .davecode/config.json").action(
195
228
  run(async (ctx, opts) => {
196
- const { initCommand } = await import("./init-YDLNA3GD.js");
229
+ const { initCommand } = await import("./init-6K4EGMTV.js");
197
230
  return initCommand(ctx, opts);
198
231
  })
199
232
  );
200
233
  const tasks = program.command("tasks").description("show and edit the task graph");
201
234
  tasks.command("list", { isDefault: true }).alias("ls").description("task tree with status and blocked reasons").action(
202
235
  run(async (ctx) => {
203
- const { tasksList } = await import("./tasks-RNMC2XFN.js");
236
+ const { tasksList } = await import("./tasks-HEVT67YM.js");
204
237
  return tasksList(ctx);
205
238
  })
206
239
  );
207
240
  tasks.command("next").description("the task the runner would pick next").action(
208
241
  run(async (ctx) => {
209
- const { tasksNext } = await import("./tasks-RNMC2XFN.js");
242
+ const { tasksNext } = await import("./tasks-HEVT67YM.js");
210
243
  return tasksNext(ctx);
211
244
  })
212
245
  );
@@ -217,33 +250,33 @@ function registerProject(program, run) {
217
250
  ).action(
218
251
  run(
219
252
  async (ctx, id, title, opts) => {
220
- const { tasksAdd } = await import("./tasks-RNMC2XFN.js");
253
+ const { tasksAdd } = await import("./tasks-HEVT67YM.js");
221
254
  return tasksAdd(ctx, id, title, opts);
222
255
  }
223
256
  )
224
257
  );
225
258
  tasks.command("status <id> <status>").description("move a task to PENDING | IN_PROGRESS | SUCCESS | FAILED").option("--notes <text>", "note stored on the task").action(
226
259
  run(async (ctx, id, status, opts) => {
227
- const { tasksStatus } = await import("./tasks-RNMC2XFN.js");
260
+ const { tasksStatus } = await import("./tasks-HEVT67YM.js");
228
261
  return tasksStatus(ctx, id, status, opts);
229
262
  })
230
263
  );
231
264
  const config = program.command("config").description("show the resolved configuration");
232
265
  config.command("show", { isDefault: true }).description("resolved config as JSON (secrets redacted)").action(
233
266
  run(async (ctx) => {
234
- const { configShow } = await import("./config-DG2E4VDW.js");
267
+ const { configShow } = await import("./config-BFEQFGAR.js");
235
268
  return configShow(ctx);
236
269
  })
237
270
  );
238
271
  config.command("path").description("where config, state and brains live").action(
239
272
  run(async (ctx) => {
240
- const { configPath } = await import("./config-DG2E4VDW.js");
273
+ const { configPath } = await import("./config-BFEQFGAR.js");
241
274
  return configPath(ctx);
242
275
  })
243
276
  );
244
277
  config.command("get <key>").description("one value by dotted key, e.g. server.port").action(
245
278
  run(async (ctx, key) => {
246
- const { configGet } = await import("./config-DG2E4VDW.js");
279
+ const { configGet } = await import("./config-BFEQFGAR.js");
247
280
  return configGet(ctx, key);
248
281
  })
249
282
  );
@@ -267,7 +300,7 @@ Examples:
267
300
  davecode accounts add --provider claude-cli --label "Claude Pro" --yes`
268
301
  ).action(
269
302
  run(async (ctx, opts) => {
270
- const { accountsAdd } = await import("./accounts-XUJNDCFH.js");
303
+ const { accountsAdd } = await import("./accounts-IPOGUMHF.js");
271
304
  return accountsAdd(ctx, opts);
272
305
  })
273
306
  );
@@ -276,7 +309,7 @@ function registerAccounts(program, run) {
276
309
  const accounts = program.command("accounts").description("manage provider accounts");
277
310
  accounts.command("list", { isDefault: true }).alias("ls").description("list accounts").option("--local", "read the local database even if a gateway is running").action(
278
311
  run(async (ctx, opts) => {
279
- const { accountsList } = await import("./accounts-XUJNDCFH.js");
312
+ const { accountsList } = await import("./accounts-IPOGUMHF.js");
280
313
  return accountsList(ctx, opts);
281
314
  })
282
315
  );
@@ -286,7 +319,7 @@ function registerAccounts(program, run) {
286
319
  );
287
320
  accounts.command("remove <id>").alias("rm").description("remove an account, its secret and its sandbox").option("-y, --yes", "do not ask for confirmation").option("--local", "write to the local database even if a gateway is running").action(
288
321
  run(async (ctx, id, opts) => {
289
- const { accountsRemove } = await import("./accounts-XUJNDCFH.js");
322
+ const { accountsRemove } = await import("./accounts-IPOGUMHF.js");
290
323
  return accountsRemove(ctx, id, opts);
291
324
  })
292
325
  );
@@ -296,7 +329,7 @@ function registerAccounts(program, run) {
296
329
  ]) {
297
330
  accounts.command(`${name} <id>`).description(`${name} an account${enabled ? " (also clears error and cooldown state)" : ""}`).option("--local", "write to the local database even if a gateway is running").action(
298
331
  run(async (ctx, id, opts) => {
299
- const { accountsSetEnabled } = await import("./accounts-XUJNDCFH.js");
332
+ const { accountsSetEnabled } = await import("./accounts-IPOGUMHF.js");
300
333
  return accountsSetEnabled(ctx, id, enabled, opts);
301
334
  })
302
335
  );
@@ -308,7 +341,7 @@ Entered by hand: DaveCode never reads billing pages. Example:
308
341
  davecode accounts plan acc_123 --plan "Claude Pro" --price 20 --renews 2026-11-01`
309
342
  ).action(
310
343
  run(async (ctx, id, opts) => {
311
- const { accountsPlan } = await import("./accounts-XUJNDCFH.js");
344
+ const { accountsPlan } = await import("./accounts-IPOGUMHF.js");
312
345
  return accountsPlan(ctx, id, opts);
313
346
  })
314
347
  );
@@ -324,7 +357,7 @@ Extra arguments after -- replace the default ones (e.g. -- login --device-auth f
324
357
  ).action(
325
358
  run(
326
359
  async (ctx, id, args, opts) => {
327
- const { accountsLogin } = await import("./accounts-XUJNDCFH.js");
360
+ const { accountsLogin } = await import("./accounts-IPOGUMHF.js");
328
361
  return accountsLogin(ctx, id, args, opts);
329
362
  }
330
363
  )
@@ -338,7 +371,7 @@ connected, start the vendor's own sign-in. Example:
338
371
  davecode accounts connect acc_123 --check`
339
372
  ).action(
340
373
  run(async (ctx, id, opts) => {
341
- const { accountsConnect } = await import("./accounts-XUJNDCFH.js");
374
+ const { accountsConnect } = await import("./accounts-IPOGUMHF.js");
342
375
  return accountsConnect(ctx, id, opts);
343
376
  })
344
377
  );