@orion-agents/orion-code 0.1.5 → 0.1.7

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 (183) hide show
  1. package/README.md +64 -36
  2. package/README.zh-CN.md +64 -18
  3. package/dist/cli.js +7 -0
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/context-commands.d.ts.map +1 -1
  6. package/dist/commands/context-commands.js +2 -2
  7. package/dist/commands/context-commands.js.map +1 -1
  8. package/dist/commands/context-tool-command-handlers.d.ts.map +1 -1
  9. package/dist/commands/context-tool-command-handlers.js +37 -0
  10. package/dist/commands/context-tool-command-handlers.js.map +1 -1
  11. package/dist/commands/core-command-handlers.d.ts.map +1 -1
  12. package/dist/commands/core-command-handlers.js +1 -0
  13. package/dist/commands/core-command-handlers.js.map +1 -1
  14. package/dist/commands/model-command-handlers.d.ts +2 -3
  15. package/dist/commands/model-command-handlers.d.ts.map +1 -1
  16. package/dist/commands/model-command-handlers.js +0 -54
  17. package/dist/commands/model-command-handlers.js.map +1 -1
  18. package/dist/commands/model-commands.d.ts.map +1 -1
  19. package/dist/commands/model-commands.js +0 -22
  20. package/dist/commands/model-commands.js.map +1 -1
  21. package/dist/commands/registry.d.ts.map +1 -1
  22. package/dist/commands/registry.js +49 -10
  23. package/dist/commands/registry.js.map +1 -1
  24. package/dist/commands/system-commands.d.ts.map +1 -1
  25. package/dist/commands/system-commands.js +76 -2
  26. package/dist/commands/system-commands.js.map +1 -1
  27. package/dist/commands/target-command.d.ts +1 -1
  28. package/dist/commands/target-command.d.ts.map +1 -1
  29. package/dist/commands/target-command.js +19 -10
  30. package/dist/commands/target-command.js.map +1 -1
  31. package/dist/commands/types.d.ts +3 -2
  32. package/dist/commands/types.d.ts.map +1 -1
  33. package/dist/commands/types.js +2 -3
  34. package/dist/commands/types.js.map +1 -1
  35. package/dist/commands/workflow-command-handlers.d.ts +2 -1
  36. package/dist/commands/workflow-command-handlers.d.ts.map +1 -1
  37. package/dist/commands/workflow-command-handlers.js +26 -0
  38. package/dist/commands/workflow-command-handlers.js.map +1 -1
  39. package/dist/commands/workflow-commands.d.ts.map +1 -1
  40. package/dist/commands/workflow-commands.js +13 -2
  41. package/dist/commands/workflow-commands.js.map +1 -1
  42. package/dist/framework/agent-mode.d.ts +47 -0
  43. package/dist/framework/agent-mode.d.ts.map +1 -0
  44. package/dist/framework/agent-mode.js +152 -0
  45. package/dist/framework/agent-mode.js.map +1 -0
  46. package/dist/framework/prompt.d.ts +5 -0
  47. package/dist/framework/prompt.d.ts.map +1 -1
  48. package/dist/framework/prompt.js +45 -9
  49. package/dist/framework/prompt.js.map +1 -1
  50. package/dist/framework/tool-scheduler.d.ts +9 -8
  51. package/dist/framework/tool-scheduler.d.ts.map +1 -1
  52. package/dist/framework/tool-scheduler.js +36 -13
  53. package/dist/framework/tool-scheduler.js.map +1 -1
  54. package/dist/framework/tool-state.d.ts +2 -0
  55. package/dist/framework/tool-state.d.ts.map +1 -1
  56. package/dist/framework/tool-state.js +1 -0
  57. package/dist/framework/tool-state.js.map +1 -1
  58. package/dist/framework/tool.d.ts +9 -0
  59. package/dist/framework/tool.d.ts.map +1 -1
  60. package/dist/framework/tool.js.map +1 -1
  61. package/dist/harness/drift-guard.d.ts.map +1 -1
  62. package/dist/harness/drift-guard.js +9 -1
  63. package/dist/harness/drift-guard.js.map +1 -1
  64. package/dist/memory/validation.d.ts +3 -0
  65. package/dist/memory/validation.d.ts.map +1 -1
  66. package/dist/memory/validation.js +123 -10
  67. package/dist/memory/validation.js.map +1 -1
  68. package/dist/migration/migrate.d.ts.map +1 -1
  69. package/dist/migration/migrate.js +15 -7
  70. package/dist/migration/migrate.js.map +1 -1
  71. package/dist/runtime/agent-runtime-controller.d.ts +20 -1
  72. package/dist/runtime/agent-runtime-controller.d.ts.map +1 -1
  73. package/dist/runtime/agent-runtime-controller.js +196 -4
  74. package/dist/runtime/agent-runtime-controller.js.map +1 -1
  75. package/dist/runtime/agent-runtime-protocol.d.ts +31 -1
  76. package/dist/runtime/agent-runtime-protocol.d.ts.map +1 -1
  77. package/dist/runtime/agent-runtime-protocol.js +12 -0
  78. package/dist/runtime/agent-runtime-protocol.js.map +1 -1
  79. package/dist/runtime/chat-controller.d.ts +2 -0
  80. package/dist/runtime/chat-controller.d.ts.map +1 -1
  81. package/dist/runtime/chat-controller.js +15 -5
  82. package/dist/runtime/chat-controller.js.map +1 -1
  83. package/dist/runtime/goals/coordinator.d.ts.map +1 -1
  84. package/dist/runtime/goals/coordinator.js +26 -0
  85. package/dist/runtime/goals/coordinator.js.map +1 -1
  86. package/dist/runtime/goals/presentation.d.ts.map +1 -1
  87. package/dist/runtime/goals/presentation.js +4 -0
  88. package/dist/runtime/goals/presentation.js.map +1 -1
  89. package/dist/runtime/goals/prompt.d.ts.map +1 -1
  90. package/dist/runtime/goals/prompt.js +3 -2
  91. package/dist/runtime/goals/prompt.js.map +1 -1
  92. package/dist/runtime/goals/tools.d.ts +13 -0
  93. package/dist/runtime/goals/tools.d.ts.map +1 -1
  94. package/dist/runtime/goals/tools.js +66 -27
  95. package/dist/runtime/goals/tools.js.map +1 -1
  96. package/dist/runtime/goals/types.d.ts +13 -1
  97. package/dist/runtime/goals/types.d.ts.map +1 -1
  98. package/dist/runtime/goals/types.js +4 -0
  99. package/dist/runtime/goals/types.js.map +1 -1
  100. package/dist/runtime/loop-budget.d.ts +5 -0
  101. package/dist/runtime/loop-budget.d.ts.map +1 -1
  102. package/dist/runtime/loop-budget.js +18 -4
  103. package/dist/runtime/loop-budget.js.map +1 -1
  104. package/dist/runtime/ui-events.d.ts +13 -0
  105. package/dist/runtime/ui-events.d.ts.map +1 -1
  106. package/dist/services/config.d.ts.map +1 -1
  107. package/dist/services/config.js +29 -9
  108. package/dist/services/config.js.map +1 -1
  109. package/dist/services/global-config.d.ts +16 -0
  110. package/dist/services/global-config.d.ts.map +1 -1
  111. package/dist/services/global-config.js +125 -25
  112. package/dist/services/global-config.js.map +1 -1
  113. package/dist/services/goal-storage.d.ts.map +1 -1
  114. package/dist/services/goal-storage.js +5 -0
  115. package/dist/services/goal-storage.js.map +1 -1
  116. package/dist/services/session-storage.d.ts +6 -0
  117. package/dist/services/session-storage.d.ts.map +1 -1
  118. package/dist/services/session-storage.js +171 -52
  119. package/dist/services/session-storage.js.map +1 -1
  120. package/dist/services/yaml-config.d.ts.map +1 -1
  121. package/dist/services/yaml-config.js +2 -1
  122. package/dist/services/yaml-config.js.map +1 -1
  123. package/dist/terminal-ui/launch.d.ts.map +1 -1
  124. package/dist/terminal-ui/launch.js +3 -2
  125. package/dist/terminal-ui/launch.js.map +1 -1
  126. package/dist/tools/bash_security.d.ts.map +1 -1
  127. package/dist/tools/bash_security.js +12 -2
  128. package/dist/tools/bash_security.js.map +1 -1
  129. package/dist/tools/index.d.ts.map +1 -1
  130. package/dist/tools/index.js +84 -7
  131. package/dist/tools/index.js.map +1 -1
  132. package/dist/tools/plan.d.ts +2 -3
  133. package/dist/tools/plan.d.ts.map +1 -1
  134. package/dist/tools/plan.js +35 -34
  135. package/dist/tools/plan.js.map +1 -1
  136. package/dist/tools/sandbox.d.ts +2 -0
  137. package/dist/tools/sandbox.d.ts.map +1 -1
  138. package/dist/tools/sandbox.js +2 -1
  139. package/dist/tools/sandbox.js.map +1 -1
  140. package/dist/tui-core/input-parser.d.ts +1 -1
  141. package/dist/tui-core/input-parser.d.ts.map +1 -1
  142. package/dist/tui-core/input-parser.js +1 -0
  143. package/dist/tui-core/input-parser.js.map +1 -1
  144. package/dist/tui-core/style.d.ts +11 -0
  145. package/dist/tui-core/style.d.ts.map +1 -1
  146. package/dist/tui-core/style.js +68 -9
  147. package/dist/tui-core/style.js.map +1 -1
  148. package/dist/tui-ui/chrome-view-model.d.ts +19 -0
  149. package/dist/tui-ui/chrome-view-model.d.ts.map +1 -0
  150. package/dist/tui-ui/chrome-view-model.js +168 -0
  151. package/dist/tui-ui/chrome-view-model.js.map +1 -0
  152. package/dist/tui-ui/launch.d.ts.map +1 -1
  153. package/dist/tui-ui/launch.js +38 -2
  154. package/dist/tui-ui/launch.js.map +1 -1
  155. package/dist/tui-ui/layout.d.ts +5 -1
  156. package/dist/tui-ui/layout.d.ts.map +1 -1
  157. package/dist/tui-ui/layout.js +101 -65
  158. package/dist/tui-ui/layout.js.map +1 -1
  159. package/dist/tui-ui/pixel-mascot.d.ts +5 -0
  160. package/dist/tui-ui/pixel-mascot.d.ts.map +1 -0
  161. package/dist/tui-ui/pixel-mascot.js +33 -0
  162. package/dist/tui-ui/pixel-mascot.js.map +1 -0
  163. package/dist/tui-ui/runner.d.ts +25 -1
  164. package/dist/tui-ui/runner.d.ts.map +1 -1
  165. package/dist/tui-ui/runner.js +181 -0
  166. package/dist/tui-ui/runner.js.map +1 -1
  167. package/dist/tui-ui/state.d.ts +11 -1
  168. package/dist/tui-ui/state.d.ts.map +1 -1
  169. package/dist/tui-ui/state.js +8 -0
  170. package/dist/tui-ui/state.js.map +1 -1
  171. package/dist/tui-ui/terminal-image.d.ts +13 -3
  172. package/dist/tui-ui/terminal-image.d.ts.map +1 -1
  173. package/dist/tui-ui/terminal-image.js +25 -7
  174. package/dist/tui-ui/terminal-image.js.map +1 -1
  175. package/dist/tui-ui/theme-profile.d.ts +4 -0
  176. package/dist/tui-ui/theme-profile.d.ts.map +1 -1
  177. package/dist/tui-ui/theme-profile.js +21 -5
  178. package/dist/tui-ui/theme-profile.js.map +1 -1
  179. package/dist/tui-ui/theme.d.ts +5 -2
  180. package/dist/tui-ui/theme.d.ts.map +1 -1
  181. package/dist/tui-ui/theme.js +21 -1
  182. package/dist/tui-ui/theme.js.map +1 -1
  183. package/package.json +2 -2
@@ -3,6 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.createSystemCommands = createSystemCommands;
5
5
  const core_command_handlers_1 = require("./core-command-handlers");
6
+ const global_config_1 = require("../services/global-config");
7
+ const TUI_THEMES = ['orion-pixel', 'classic', 'high-contrast', 'auto'];
6
8
  function createSystemCommands(getVisibleCommands) {
7
9
  return [
8
10
  {
@@ -41,12 +43,84 @@ function createSystemCommands(getVisibleCommands) {
41
43
  return { success: true };
42
44
  },
43
45
  },
46
+ {
47
+ name: 'theme',
48
+ description: 'Choose the TUI theme',
49
+ argumentHint: '[orion-pixel|classic|high-contrast|auto]',
50
+ category: 'system',
51
+ priority: 31,
52
+ type: 'builtin',
53
+ execution: 'renderer-local',
54
+ risk: 'state-write',
55
+ rendererScope: ['tui'],
56
+ execute: (_ctx, args) => {
57
+ const requested = args.trim();
58
+ const current = (0, global_config_1.loadGlobalConfig)().ui?.theme ?? 'orion-pixel';
59
+ if (!requested)
60
+ return { success: true, output: `Theme: ${current}` };
61
+ if (!TUI_THEMES.includes(requested)) {
62
+ return { success: false, error: `Theme must be one of: ${TUI_THEMES.join(', ')}` };
63
+ }
64
+ const config = (0, global_config_1.loadGlobalConfig)();
65
+ (0, global_config_1.updateGlobalConfig)({ ui: { ...config.ui, theme: requested } });
66
+ return { success: true, output: `Theme set to ${requested}; restart TUI to apply.` };
67
+ },
68
+ },
69
+ {
70
+ name: 'keymap',
71
+ description: 'Show TUI keyboard actions and custom bindings',
72
+ category: 'system',
73
+ priority: 32,
74
+ type: 'builtin',
75
+ execution: 'renderer-local',
76
+ risk: 'read-only',
77
+ rendererScope: ['tui'],
78
+ execute: () => ({
79
+ success: true,
80
+ output: 'Enter send/steer · Tab queue while working · Esc stop · Ctrl+R history · Ctrl+E editor · Ctrl+O tools · Ctrl+L redraw · Ctrl+D exit',
81
+ }),
82
+ },
83
+ {
84
+ name: 'statusline',
85
+ description: 'Show the ordered TUI status components',
86
+ category: 'system',
87
+ priority: 33,
88
+ type: 'builtin',
89
+ execution: 'renderer-local',
90
+ risk: 'read-only',
91
+ rendererScope: ['tui'],
92
+ execute: () => ({
93
+ success: true,
94
+ output: `Status line: ${((0, global_config_1.loadGlobalConfig)().ui?.statusLine ?? [
95
+ 'mode',
96
+ 'goal',
97
+ 'model',
98
+ 'effort',
99
+ 'context',
100
+ 'permission',
101
+ 'queue',
102
+ 'activity',
103
+ ]).join(', ')}`,
104
+ }),
105
+ },
106
+ {
107
+ name: 'queue',
108
+ description: 'Show or clear queued follow-up messages',
109
+ argumentHint: '[clear]',
110
+ category: 'system',
111
+ priority: 34,
112
+ type: 'builtin',
113
+ execution: 'renderer-local',
114
+ risk: 'state-write',
115
+ rendererScope: ['tui'],
116
+ execute: () => ({ success: true }),
117
+ },
44
118
  {
45
119
  name: 'tool-output',
46
120
  description: 'Set the TUI tool output presentation mode',
47
121
  argumentHint: '[adaptive|collapsed|full]',
48
122
  category: 'system',
49
- priority: 32,
123
+ priority: 35,
50
124
  type: 'builtin',
51
125
  execution: 'renderer-local',
52
126
  risk: 'read-only',
@@ -57,7 +131,7 @@ function createSystemCommands(getVisibleCommands) {
57
131
  name: 'redraw',
58
132
  description: 'Redraw the TUI-owned live region',
59
133
  category: 'system',
60
- priority: 34,
134
+ priority: 36,
61
135
  type: 'builtin',
62
136
  execution: 'renderer-local',
63
137
  risk: 'read-only',
@@ -1 +1 @@
1
- {"version":3,"file":"system-commands.js","sourceRoot":"","sources":["../../src/commands/system-commands.ts"],"names":[],"mappings":";AAAA,4EAA4E;;AAK5E,oDAgFC;AAlFD,mEAA2E;AAE3E,SAAgB,oBAAoB,CAClC,kBAA+E;IAE/E,OAAO;QACL;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,CAAC,GAAG,CAAC;YACd,WAAW,EAAE,yBAAyB;YACtC,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,SAAS;YACpB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CACrB,IAAA,gCAAQ,EACN,GAAG,EACH,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,EAClC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,OAAO,CACtC;SACJ;QACD;YACE,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,CAAC,GAAG,CAAC;YACd,WAAW,EAAE,6BAA6B;YAC1C,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,SAAS;YACpB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,IAAA,kCAAU,EAAC,GAAG,CAAC;SAChC;QACD;YACE,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,sDAAsD;YACnE,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,gBAAgB;YAC3B,IAAI,EAAE,WAAW;YACjB,aAAa,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC;YAClC,OAAO,EAAE,GAAG,CAAC,EAAE;gBACb,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC;gBAClB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC3B,CAAC;SACF;QACD;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,2CAA2C;YACxD,YAAY,EAAE,2BAA2B;YACzC,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,gBAAgB;YAC3B,IAAI,EAAE,WAAW;YACjB,aAAa,EAAE,CAAC,KAAK,CAAC;YACtB,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;SACnC;QACD;YACE,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,kCAAkC;YAC/C,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,gBAAgB;YAC3B,IAAI,EAAE,WAAW;YACjB,aAAa,EAAE,CAAC,KAAK,CAAC;YACtB,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;SACnC;QACD;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC;YACtB,WAAW,EAAE,mBAAmB;YAChC,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,SAAS;YACpB,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,IAAA,kCAAU,EAAC,GAAG,CAAC;SAChC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"system-commands.js","sourceRoot":"","sources":["../../src/commands/system-commands.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * v0.2.24 — /target command handler.
3
3
  *
4
- * Parses /target (and /goal alias) syntax, validates input, and returns
4
+ * Parses /goal (and the deprecated /target alias) syntax, validates input, and returns
5
5
  * structured GoalControlInput for AgentRuntimeController to process.
6
6
  */
7
7
  import type { GoalControlInput } from '../runtime/goals/types';
@@ -1 +1 @@
1
- {"version":3,"file":"target-command.d.ts","sourceRoot":"","sources":["../../src/commands/target-command.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAO/D,MAAM,MAAM,iBAAiB,GACzB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,gBAAgB,CAAA;CAAE,GACrC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAMjC,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,CAkItE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAGtD"}
1
+ {"version":3,"file":"target-command.d.ts","sourceRoot":"","sources":["../../src/commands/target-command.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAO/D,MAAM,MAAM,iBAAiB,GACzB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,gBAAgB,CAAA;CAAE,GACrC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAMjC,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,CA0ItE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAGtD"}
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * v0.2.24 — /target command handler.
4
4
  *
5
- * Parses /target (and /goal alias) syntax, validates input, and returns
5
+ * Parses /goal (and the deprecated /target alias) syntax, validates input, and returns
6
6
  * structured GoalControlInput for AgentRuntimeController to process.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -37,6 +37,12 @@ function parseTargetCommand(rawInput) {
37
37
  if (rest === 'resume') {
38
38
  return { ok: true, input: { type: 'goal_control', action: 'resume' } };
39
39
  }
40
+ if (rest === 'exit') {
41
+ return {
42
+ ok: true,
43
+ input: { type: 'goal_control', action: 'clear', payload: { confirmed: true } },
44
+ };
45
+ }
40
46
  if (rest.startsWith('confirm ')) {
41
47
  const criterionId = rest.slice(8).trim();
42
48
  if (!criterionId || /\s/u.test(criterionId)) {
@@ -91,10 +97,6 @@ function parseTargetCommand(rawInput) {
91
97
  input: { type: 'goal_control', action: 'set_budget', payload: { tokenBudget: budget } },
92
98
  };
93
99
  }
94
- if (rest === 'clear' || rest === 'clear --yes') {
95
- const confirmed = rest === 'clear --yes';
96
- return { ok: true, input: { type: 'goal_control', action: 'clear', payload: { confirmed } } };
97
- }
98
100
  // Reserved sub-commands must never fall through to `create`.
99
101
  //
100
102
  // Every branch above requires a trailing space, so a forgotten argument
@@ -108,16 +110,23 @@ function parseTargetCommand(rawInput) {
108
110
  edit: `${cmdPrefix} edit <objective>`,
109
111
  replace: `${cmdPrefix} replace <objective>`,
110
112
  budget: `${cmdPrefix} budget <tokens>|off`,
113
+ exit: `${cmdPrefix} exit`,
111
114
  };
112
115
  const bareSubcommandUsage = RESERVED_SUBCOMMAND_USAGE[rest.toLowerCase()];
113
116
  if (bareSubcommandUsage) {
114
117
  return { ok: false, error: `Usage: ${bareSubcommandUsage}` };
115
118
  }
116
- // `/target clear -y` / `--force`: a mistyped flag, not an objective. Only
117
- // flag-looking arguments are rejected so a natural-language objective such
118
- // as "clear the build cache" still creates a goal.
119
- if (/^clear\s+-/u.test(rest)) {
120
- return { ok: false, error: `Usage: ${cmdPrefix} clear [--yes]` };
119
+ if (/^exit\s+/u.test(rest)) {
120
+ return { ok: false, error: `Usage: ${cmdPrefix} exit` };
121
+ }
122
+ // The old destructive clear syntax is intentionally not supported. Keep a
123
+ // targeted error so it cannot fall through and create a Goal accidentally;
124
+ // natural-language objectives such as "clear the build cache" still work.
125
+ if (rest === 'clear' || /^clear\s+-/u.test(rest)) {
126
+ return {
127
+ ok: false,
128
+ error: `${cmdPrefix} clear was removed. Use /goal exit to stop execution and remove the Goal.`,
129
+ };
121
130
  }
122
131
  // Default: treat as create with objective
123
132
  if (rest.length > types_1.GOAL_INVARIANTS.maxObjectiveChars) {
@@ -1 +1 @@
1
- {"version":3,"file":"target-command.js","sourceRoot":"","sources":["../../src/commands/target-command.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAiBH,gDAkIC;AAMD,0CAGC;AAzJD,kDAAyD;AAUzD,+EAA+E;AAC/E,SAAS;AACT,+EAA+E;AAE/E,SAAgB,kBAAkB,CAAC,QAAgB;IACjD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAE9B,iCAAiC;IACjC,IACE,KAAK,KAAK,SAAS;QACnB,KAAK,KAAK,OAAO;QACjB,KAAK,KAAK,gBAAgB;QAC1B,KAAK,KAAK,cAAc,EACxB,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;IACvE,CAAC;IAED,2BAA2B;IAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;IACpE,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IAElD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;IACvE,CAAC;IAED,eAAe;IACf,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;IACvE,CAAC;IACD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC;IACxE,CAAC;IACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;IACzE,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACzC,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,uCAAuC,EAAE,CAAC;QACvE,CAAC;QACD,OAAO;YACL,EAAE,EAAE,IAAI;YACR,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,EAAE;SAC7E,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,4BAA4B,EAAE,CAAC;QAC1E,IAAI,SAAS,CAAC,MAAM,GAAG,uBAAe,CAAC,iBAAiB,EAAE,CAAC;YACzD,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,uBAAuB,SAAS,CAAC,MAAM,eAAe,uBAAe,CAAC,iBAAiB,IAAI;aACnG,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IAC/F,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,4BAA4B,EAAE,CAAC;QAC1E,IAAI,SAAS,CAAC,MAAM,GAAG,uBAAe,CAAC,iBAAiB,EAAE,CAAC;YACzD,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,uBAAuB,SAAS,CAAC,MAAM,eAAe,uBAAe,CAAC,iBAAiB,IAAI;aACnG,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IAClG,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACvC,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YACxB,OAAO;gBACL,EAAE,EAAE,IAAI;gBACR,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE;aACtF,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,uBAAe,CAAC,cAAc,EAAE,CAAC;YACzE,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,oDAAoD,uBAAe,CAAC,cAAc,IAAI;aAC9F,CAAC;QACJ,CAAC;QACD,OAAO;YACL,EAAE,EAAE,IAAI;YACR,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE;SACxF,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QAC/C,MAAM,SAAS,GAAG,IAAI,KAAK,aAAa,CAAC;QACzC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IAChG,CAAC;IAED,6DAA6D;IAC7D,EAAE;IACF,wEAAwE;IACxE,6EAA6E;IAC7E,2EAA2E;IAC3E,4EAA4E;IAC5E,2EAA2E;IAC3E,iBAAiB;IACjB,MAAM,yBAAyB,GAA2B;QACxD,OAAO,EAAE,GAAG,SAAS,yBAAyB;QAC9C,IAAI,EAAE,GAAG,SAAS,mBAAmB;QACrC,OAAO,EAAE,GAAG,SAAS,sBAAsB;QAC3C,MAAM,EAAE,GAAG,SAAS,sBAAsB;KAC3C,CAAC;IACF,MAAM,mBAAmB,GAAG,yBAAyB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1E,IAAI,mBAAmB,EAAE,CAAC;QACxB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,mBAAmB,EAAE,EAAE,CAAC;IAC/D,CAAC;IAED,0EAA0E;IAC1E,2EAA2E;IAC3E,mDAAmD;IACnD,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,SAAS,gBAAgB,EAAE,CAAC;IACnE,CAAC;IAED,0CAA0C;IAC1C,IAAI,IAAI,CAAC,MAAM,GAAG,uBAAe,CAAC,iBAAiB,EAAE,CAAC;QACpD,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,uBAAuB,IAAI,CAAC,MAAM,eAAe,uBAAe,CAAC,iBAAiB,IAAI;SAC9F,CAAC;IACJ,CAAC;IACD,OAAO;QACL,EAAE,EAAE,IAAI;QACR,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;KAChF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,eAAe,CAAC,KAAa;IAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;IAClC,OAAO,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"target-command.js","sourceRoot":"","sources":["../../src/commands/target-command.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,8 @@ export interface CommandContext {
46
46
  uiRenderer?: CommandUiRenderer;
47
47
  /** Renderer adapter capabilities. Business commands should prefer these over renderer-name checks. */
48
48
  uiCapabilities?: UiRendererCapabilities;
49
+ /** Shared BUILD / PLAN / AUTO lifecycle owned by the runtime controller. */
50
+ agentModeLifecycle?: import('../framework/agent-mode').AgentModeLifecycleController;
49
51
  }
50
52
  /** 命令执行结果 */
51
53
  export interface CommandResult {
@@ -79,12 +81,11 @@ export type CommandCategory = 'workflow' | 'session' | 'context' | 'tools' | 'mo
79
81
  export type PermissionMode = 'default' | 'acceptEdits' | 'plan' | 'auto';
80
82
  /** Agent working mode. This is deliberately independent from tool confirmation policy. */
81
83
  export type AgentMode = 'interactive' | 'plan' | 'auto';
82
- export declare const AGENT_MODES: AgentMode[];
83
84
  /** Permission mode cycle order */
84
85
  export declare const PERMISSION_MODES: PermissionMode[];
85
86
  /** Get next permission mode in cycle order */
86
87
  export declare function getNextPermissionMode(current: PermissionMode): PermissionMode;
87
- /** Get mode display text */
88
+ /** Get the legacy renderer label for the current Agent mode. */
88
89
  export declare function getModeDisplayText(mode: AgentMode): string;
89
90
  /** Command execution classification. */
90
91
  export type CommandExecution = 'builtin' | 'agent-workflow' | 'renderer-local';
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/commands/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/commands/types.ts"],"names":[],"mappings":"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"}
@@ -6,10 +6,9 @@
6
6
  * 非 `/` 前缀的输入直接作为 chat 消息处理。
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.DEFAULT_COMMAND_RISK = exports.ALL_RENDERER_SCOPES = exports.PERMISSION_MODES = exports.AGENT_MODES = void 0;
9
+ exports.DEFAULT_COMMAND_RISK = exports.ALL_RENDERER_SCOPES = exports.PERMISSION_MODES = void 0;
10
10
  exports.getNextPermissionMode = getNextPermissionMode;
11
11
  exports.getModeDisplayText = getModeDisplayText;
12
- exports.AGENT_MODES = ['interactive', 'plan', 'auto'];
13
12
  /** Permission mode cycle order */
14
13
  exports.PERMISSION_MODES = ['default', 'acceptEdits', 'plan', 'auto'];
15
14
  /** Get next permission mode in cycle order */
@@ -17,7 +16,7 @@ function getNextPermissionMode(current) {
17
16
  const idx = exports.PERMISSION_MODES.indexOf(current);
18
17
  return exports.PERMISSION_MODES[(idx + 1) % exports.PERMISSION_MODES.length];
19
18
  }
20
- /** Get mode display text */
19
+ /** Get the legacy renderer label for the current Agent mode. */
21
20
  function getModeDisplayText(mode) {
22
21
  switch (mode) {
23
22
  case 'plan':
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/commands/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AA8GH,sDAGC;AAGD,gDASC;AArBY,QAAA,WAAW,GAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAExE,kCAAkC;AACrB,QAAA,gBAAgB,GAAqB,CAAC,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE7F,8CAA8C;AAC9C,SAAgB,qBAAqB,CAAC,OAAuB;IAC3D,MAAM,GAAG,GAAG,wBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,OAAO,wBAAgB,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,wBAAgB,CAAC,MAAM,CAAC,CAAC;AAC/D,CAAC;AAED,4BAA4B;AAC5B,SAAgB,kBAAkB,CAAC,IAAe;IAChD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM;YACT,OAAO,cAAc,CAAC;QACxB,KAAK,MAAM;YACT,OAAO,WAAW,CAAC;QACrB;YACE,OAAO,kBAAkB,CAAC;IAC9B,CAAC;AACH,CAAC;AA6HD,2DAA2D;AAC9C,QAAA,mBAAmB,GAAwB,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AAE5F,sEAAsE;AACzD,QAAA,oBAAoB,GAAgB,aAAa,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/commands/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AA8GH,sDAGC;AAGD,gDASC;AAnBD,kCAAkC;AACrB,QAAA,gBAAgB,GAAqB,CAAC,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE7F,8CAA8C;AAC9C,SAAgB,qBAAqB,CAAC,OAAuB;IAC3D,MAAM,GAAG,GAAG,wBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,OAAO,wBAAgB,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,wBAAgB,CAAC,MAAM,CAAC,CAAC;AAC/D,CAAC;AAED,gEAAgE;AAChE,SAAgB,kBAAkB,CAAC,IAAe;IAChD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM;YACT,OAAO,cAAc,CAAC;QACxB,KAAK,MAAM;YACT,OAAO,WAAW,CAAC;QACrB;YACE,OAAO,kBAAkB,CAAC;IAC9B,CAAC;AACH,CAAC;AA6HD,2DAA2D;AAC9C,QAAA,mBAAmB,GAAwB,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AAE5F,sEAAsE;AACzD,QAAA,oBAAoB,GAAgB,aAAa,CAAC"}
@@ -1,7 +1,8 @@
1
1
  /** Handler implementations for the workflow-command-handlers boundary. */
2
2
  import { type CommandContext, type CommandResult } from './types';
3
+ declare function handlePlan(ctx: CommandContext, args: string): CommandResult;
3
4
  declare function handleDiff(ctx: CommandContext, args: string): CommandResult;
4
5
  declare function handleCommitPlan(ctx: CommandContext, args: string): CommandResult;
5
6
  declare function continueAsSlashChat(name: string, args: string): CommandResult;
6
- export { handleDiff, handleCommitPlan, continueAsSlashChat };
7
+ export { handlePlan, handleDiff, handleCommitPlan, continueAsSlashChat };
7
8
  //# sourceMappingURL=workflow-command-handlers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-command-handlers.d.ts","sourceRoot":"","sources":["../../src/commands/workflow-command-handlers.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAE1E,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAIlE,iBAAS,UAAU,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,CAQpE;AAED,iBAAS,gBAAgB,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,CAK1E;AAED,iBAAS,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,CAOtE;AAED,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"workflow-command-handlers.d.ts","sourceRoot":"","sources":["../../src/commands/workflow-command-handlers.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAE1E,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAMlE,iBAAS,UAAU,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,CAwBpE;AAED,iBAAS,UAAU,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,CAQpE;AAED,iBAAS,gBAAgB,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,CAK1E;AAED,iBAAS,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,CAOtE;AAED,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,CAAC"}
@@ -1,11 +1,37 @@
1
1
  "use strict";
2
2
  /** Handler implementations for the workflow-command-handlers boundary. */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.handlePlan = handlePlan;
4
5
  exports.handleDiff = handleDiff;
5
6
  exports.handleCommitPlan = handleCommitPlan;
6
7
  exports.continueAsSlashChat = continueAsSlashChat;
7
8
  const workspace_diff_1 = require("../services/workspace-diff");
8
9
  const commit_plan_1 = require("../services/commit-plan");
10
+ const tool_state_1 = require("../framework/tool-state");
11
+ const agent_mode_1 = require("../framework/agent-mode");
12
+ function handlePlan(ctx, args) {
13
+ const task = args.trim();
14
+ const state = (0, tool_state_1.getToolState)();
15
+ const snapshot = ctx.store.getSnapshot();
16
+ if (!state.planMode || snapshot.agentMode !== 'plan') {
17
+ if (ctx.agentModeLifecycle)
18
+ ctx.agentModeLifecycle.setMode('plan');
19
+ else
20
+ (0, agent_mode_1.setAgentMode)(ctx.store, 'plan');
21
+ }
22
+ if (!task) {
23
+ return {
24
+ success: true,
25
+ output: 'Plan mode started. Send the task to explore read-only; Orion will save the plan, exit Plan, and execute it in the next logical request.',
26
+ };
27
+ }
28
+ return {
29
+ success: true,
30
+ output: 'Plan mode started. Orion will plan read-only, then execute the saved plan.',
31
+ continueAsChat: true,
32
+ chatInput: task,
33
+ };
34
+ }
9
35
  function handleDiff(ctx, args) {
10
36
  const maxFilesMatch = args.match(/--max-files(?:=|\s+)(\d+)/);
11
37
  const maxFiles = maxFilesMatch ? Number(maxFilesMatch[1]) : 40;
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-command-handlers.js","sourceRoot":"","sources":["../../src/commands/workflow-command-handlers.ts"],"names":[],"mappings":";AAAA,0EAA0E;;AAgCjE,gCAAU;AAAE,4CAAgB;AAAE,kDAAmB;AA7B1D,+DAAuF;AACvF,yDAA6E;AAE7E,SAAS,UAAU,CAAC,GAAmB,EAAE,IAAY;IACnD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,MAAM,MAAM,GAAG,IAAA,qCAAoB,EAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChE,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,SAAS;QACzB,MAAM,EAAE,IAAA,oCAAmB,EAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC;KAClD,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAmB,EAAE,IAAY;IACzD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,MAAM,IAAI,GAAG,IAAA,8BAAgB,EAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1D,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAA,8BAAgB,EAAC,IAAI,CAAC,EAAE,CAAC;AAC1E,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY,EAAE,IAAY;IACrD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,OAAO;QACL,OAAO,EAAE,IAAI;QACb,cAAc,EAAE,IAAI;QACpB,SAAS,EAAE,IAAI,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;KACrD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"workflow-command-handlers.js","sourceRoot":"","sources":["../../src/commands/workflow-command-handlers.ts"],"names":[],"mappings":";AAAA,0EAA0E;;AA4DjE,gCAAU;AAAE,gCAAU;AAAE,4CAAgB;AAAE,kDAAmB;AAzDtE,+DAAuF;AACvF,yDAA6E;AAC7E,wDAAuD;AACvD,wDAAuD;AAEvD,SAAS,UAAU,CAAC,GAAmB,EAAE,IAAY;IACnD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IACzB,MAAM,KAAK,GAAG,IAAA,yBAAY,GAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IAEzC,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,QAAQ,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;QACrD,IAAI,GAAG,CAAC,kBAAkB;YAAE,GAAG,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;;YAC9D,IAAA,yBAAY,EAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,OAAO,EAAE,IAAI;YACb,MAAM,EACJ,yIAAyI;SAC5I,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,4EAA4E;QACpF,cAAc,EAAE,IAAI;QACpB,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,GAAmB,EAAE,IAAY;IACnD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,MAAM,MAAM,GAAG,IAAA,qCAAoB,EAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChE,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,SAAS;QACzB,MAAM,EAAE,IAAA,oCAAmB,EAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC;KAClD,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAmB,EAAE,IAAY;IACzD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,MAAM,IAAI,GAAG,IAAA,8BAAgB,EAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1D,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAA,8BAAgB,EAAC,IAAI,CAAC,EAAE,CAAC;AAC1E,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY,EAAE,IAAY;IACrD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,OAAO;QACL,OAAO,EAAE,IAAI;QACb,cAAc,EAAE,IAAI;QACpB,SAAS,EAAE,IAAI,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;KACrD,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-commands.d.ts","sourceRoot":"","sources":["../../src/commands/workflow-commands.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAE5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAI5C,eAAO,MAAM,iBAAiB,EAAE,YAAY,EAqH3C,CAAC"}
1
+ {"version":3,"file":"workflow-commands.d.ts","sourceRoot":"","sources":["../../src/commands/workflow-commands.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAE5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAS5C,eAAO,MAAM,iBAAiB,EAAE,YAAY,EAgI3C,CAAC"}
@@ -18,8 +18,8 @@ exports.WORKFLOW_COMMANDS = [
18
18
  },
19
19
  },
20
20
  ],
21
- description: 'Create, view, pause, resume, or clear a persistent goal target',
22
- argumentHint: '[objective | pause | resume | clear --yes | status | edit <text> | replace <text> | confirm <criterion-id> | budget <tokens>]',
21
+ description: 'Create, view, pause, resume, or exit a persistent goal target',
22
+ argumentHint: '[objective | pause | resume | exit | status | edit <text> | replace <text> | confirm <criterion-id> | budget <tokens>]',
23
23
  category: 'workflow',
24
24
  priority: 3,
25
25
  type: 'builtin',
@@ -30,6 +30,17 @@ exports.WORKFLOW_COMMANDS = [
30
30
  error: '/goal must be routed through the shared AgentRuntimeController.',
31
31
  }),
32
32
  },
33
+ {
34
+ name: 'plan',
35
+ description: 'Explore a task read-only, save a decision-complete plan, then exit automatically',
36
+ argumentHint: '[task description]',
37
+ category: 'workflow',
38
+ priority: 4,
39
+ type: 'builtin',
40
+ execution: 'builtin',
41
+ risk: 'state-write',
42
+ execute: (ctx, args) => (0, workflow_command_handlers_1.handlePlan)(ctx, args),
43
+ },
33
44
  {
34
45
  name: 'diff',
35
46
  description: 'Summarize current git workspace changes and touched files',
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-commands.js","sourceRoot":"","sources":["../../src/commands/workflow-commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-commands.js","sourceRoot":"","sources":["../../src/commands/workflow-commands.ts"],"names":[],"mappings":";AAAA,4EAA4E;;;AAG5E,2EAKqC;AACrC,mFAA8D;AAEjD,QAAA,iBAAiB,GAAmB;IAC/C;QACE,IAAI,EAAE,MAAM;QACZ,oBAAoB,EAAE;YACpB;gBACE,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE;oBACT,MAAM,EAAE,YAAY;oBACpB,KAAK,EAAE,QAAQ;oBACf,QAAQ,EAAE,QAAQ;oBAClB,WAAW,EAAE,OAAO;iBACrB;aACF;SACF;QACD,WAAW,EAAE,+DAA+D;QAC5E,YAAY,EACV,wHAAwH;QAC1H,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,CAAC;QACX,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,SAAS;QACpB,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YACd,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,iEAAiE;SACzE,CAAC;KACH;IACD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,kFAAkF;QAC/F,YAAY,EAAE,oBAAoB;QAClC,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,CAAC;QACX,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,SAAS;QACpB,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAA,sCAAU,EAAC,GAAG,EAAE,IAAI,CAAC;KAC9C;IACD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,2DAA2D;QACxE,YAAY,EAAE,iBAAiB;QAC/B,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,CAAC;QACX,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,SAAS;QACpB,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAA,sCAAU,EAAC,GAAG,EAAE,IAAI,CAAC;KAC9C;IACD;QACE,IAAI,EAAE,aAAa;QACnB,oBAAoB,EAAE;YACpB;gBACE,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE;oBACT,MAAM,EAAE,YAAY;oBACpB,KAAK,EAAE,QAAQ;oBACf,QAAQ,EAAE,QAAQ;oBAClB,WAAW,EAAE,cAAc;iBAC5B;aACF;SACF;QACD,WAAW,EAAE,0EAA0E;QACvF,YAAY,EAAE,iBAAiB;QAC/B,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,CAAC;QACX,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,SAAS;QACpB,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAA,4CAAgB,EAAC,GAAG,EAAE,IAAI,CAAC;KACpD;IACD;QACE,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,8CAA8C;QAC3D,YAAY,EAAE,SAAS;QACvB,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,gBAAgB;QAC3B,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAA,+CAAmB,EAAC,QAAQ,EAAE,IAAI,CAAC;KAC7D;IACD;QACE,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,oEAAoE;QACjF,YAAY,EAAE,+BAA+B;QAC7C,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,gBAAgB;QAC3B,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAA,+CAAmB,EAAC,UAAU,EAAE,IAAI,CAAC;KAC/D;IACD;QACE,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,CAAC,OAAO,CAAC;QAClB,WAAW,EAAE,gDAAgD;QAC7D,YAAY,EAAE,SAAS;QACvB,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,gBAAgB;QAC3B,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAA,+CAAmB,EAAC,UAAU,EAAE,IAAI,CAAC;KAC/D;IACD;QACE,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,CAAC,OAAO,CAAC;QAClB,WAAW,EAAE,6CAA6C;QAC1D,YAAY,EAAE,SAAS;QACvB,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,gBAAgB;QAC3B,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAA,+CAAmB,EAAC,UAAU,EAAE,IAAI,CAAC;KAC/D;IACD;QACE,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,CAAC,MAAM,CAAC;QACjB,WAAW,EAAE,+BAA+B;QAC5C,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,SAAS;QACpB,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,IAAA,2CAAW,EAAC,GAAG,CAAC;KACjC;CACF,CAAC"}
@@ -0,0 +1,47 @@
1
+ import type { AgentMode } from '../commands/types';
2
+ import type { Store } from './store';
3
+ import type { ToolContext } from './tool';
4
+ /** Stable cycle used by the product TUI. `interactive` is displayed as BUILD. */
5
+ export declare const AGENT_MODE_CYCLE: readonly AgentMode[];
6
+ export interface AgentModeSnapshot {
7
+ baseMode: AgentMode;
8
+ pendingBaseMode: AgentMode | null;
9
+ }
10
+ export type AgentModeListener = (snapshot: AgentModeSnapshot) => void;
11
+ export declare function createPlanModeChangeHandler(store: Store, lifecycle?: AgentModeLifecycleController): NonNullable<ToolContext['onPlanModeChange']>;
12
+ export declare function nextAgentMode(mode: AgentMode): AgentMode;
13
+ /**
14
+ * Single owner for BUILD / PLAN / AUTO lifecycle state.
15
+ *
16
+ * Commands, keyboard shortcuts and the plan completion tool all transition
17
+ * through this controller so Store and tool-state cannot drift apart.
18
+ */
19
+ export declare class AgentModeLifecycleController {
20
+ private readonly store;
21
+ private pendingBaseMode;
22
+ private completedPlanRevision;
23
+ private lastCompletedPlan;
24
+ private fallbackBaseMode;
25
+ private readonly listeners;
26
+ constructor(store: Store);
27
+ snapshot(): AgentModeSnapshot;
28
+ subscribe(listener: AgentModeListener): () => void;
29
+ /** Cycle immediately while idle, or stage the change for the next request. */
30
+ cycle(options: {
31
+ defer: boolean;
32
+ }): AgentModeSnapshot;
33
+ /** Apply an explicit command-driven transition and supersede any pending shortcut. */
34
+ setMode(mode: AgentMode): AgentModeSnapshot;
35
+ /** Restore the pre-plan mode after saving the decision-complete plan. */
36
+ completePlan(plan: string, returnMode: Exclude<AgentMode, 'plan'>): AgentModeSnapshot;
37
+ completionRevision(): number;
38
+ completedPlanSince(revision: number): string | null;
39
+ /** Apply a busy-turn shortcut at the logical-request boundary. */
40
+ applyPending(): AgentModeSnapshot;
41
+ private apply;
42
+ private currentMode;
43
+ private notify;
44
+ }
45
+ /** Fallback for command-only callers that do not run through AgentRuntimeController. */
46
+ export declare function setAgentMode(store: Store, mode: AgentMode): AgentModeSnapshot;
47
+ //# sourceMappingURL=agent-mode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-mode.d.ts","sourceRoot":"","sources":["../../src/framework/agent-mode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAG1C,iFAAiF;AACjF,eAAO,MAAM,gBAAgB,EAAE,SAAS,SAAS,EAAoC,CAAC;AAEtF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,SAAS,CAAC;IACpB,eAAe,EAAE,SAAS,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAEtE,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,KAAK,EACZ,SAAS,CAAC,EAAE,4BAA4B,GACvC,WAAW,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAc9C;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,CAGxD;AAED;;;;;GAKG;AACH,qBAAa,4BAA4B;IAO3B,OAAO,CAAC,QAAQ,CAAC,KAAK;IANlC,OAAO,CAAC,eAAe,CAA0B;IACjD,OAAO,CAAC,qBAAqB,CAAK;IAClC,OAAO,CAAC,iBAAiB,CAAuB;IAChD,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgC;gBAE7B,KAAK,EAAE,KAAK;IAEzC,QAAQ,IAAI,iBAAiB;IAO7B,SAAS,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,IAAI;IAKlD,8EAA8E;IAC9E,KAAK,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,GAAG,iBAAiB;IAWrD,sFAAsF;IACtF,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,iBAAiB;IAM3C,yEAAyE;IACzE,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,iBAAiB;IAoBrF,kBAAkB,IAAI,MAAM;IAI5B,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAInD,kEAAkE;IAClE,YAAY,IAAI,iBAAiB;IAQjC,OAAO,CAAC,KAAK;IAoCb,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,MAAM;CAKf;AAED,wFAAwF;AACxF,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,GAAG,iBAAiB,CAE7E"}
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AgentModeLifecycleController = exports.AGENT_MODE_CYCLE = void 0;
4
+ exports.createPlanModeChangeHandler = createPlanModeChangeHandler;
5
+ exports.nextAgentMode = nextAgentMode;
6
+ exports.setAgentMode = setAgentMode;
7
+ const tool_state_1 = require("./tool-state");
8
+ /** Stable cycle used by the product TUI. `interactive` is displayed as BUILD. */
9
+ exports.AGENT_MODE_CYCLE = ['interactive', 'plan', 'auto'];
10
+ function createPlanModeChangeHandler(store, lifecycle) {
11
+ return transition => {
12
+ if (!transition.active && transition.currentPlan && lifecycle) {
13
+ return lifecycle.completePlan(transition.currentPlan, transition.returnMode).baseMode;
14
+ }
15
+ store.setState({
16
+ agentMode: transition.active ? 'plan' : transition.returnMode,
17
+ planMode: transition.active,
18
+ currentPlan: transition.currentPlan,
19
+ });
20
+ return transition.returnMode;
21
+ };
22
+ }
23
+ function nextAgentMode(mode) {
24
+ const index = exports.AGENT_MODE_CYCLE.indexOf(mode);
25
+ return exports.AGENT_MODE_CYCLE[(index + 1) % exports.AGENT_MODE_CYCLE.length];
26
+ }
27
+ /**
28
+ * Single owner for BUILD / PLAN / AUTO lifecycle state.
29
+ *
30
+ * Commands, keyboard shortcuts and the plan completion tool all transition
31
+ * through this controller so Store and tool-state cannot drift apart.
32
+ */
33
+ class AgentModeLifecycleController {
34
+ constructor(store) {
35
+ this.store = store;
36
+ this.pendingBaseMode = null;
37
+ this.completedPlanRevision = 0;
38
+ this.lastCompletedPlan = null;
39
+ this.fallbackBaseMode = 'interactive';
40
+ this.listeners = new Set();
41
+ }
42
+ snapshot() {
43
+ return {
44
+ baseMode: this.currentMode(),
45
+ pendingBaseMode: this.pendingBaseMode,
46
+ };
47
+ }
48
+ subscribe(listener) {
49
+ this.listeners.add(listener);
50
+ return () => this.listeners.delete(listener);
51
+ }
52
+ /** Cycle immediately while idle, or stage the change for the next request. */
53
+ cycle(options) {
54
+ const current = this.currentMode();
55
+ const origin = this.pendingBaseMode ?? current;
56
+ const next = nextAgentMode(origin);
57
+ if (options.defer) {
58
+ this.pendingBaseMode = next === current ? null : next;
59
+ return this.notify();
60
+ }
61
+ return this.setMode(next);
62
+ }
63
+ /** Apply an explicit command-driven transition and supersede any pending shortcut. */
64
+ setMode(mode) {
65
+ this.pendingBaseMode = null;
66
+ this.apply(mode);
67
+ return this.notify();
68
+ }
69
+ /** Restore the pre-plan mode after saving the decision-complete plan. */
70
+ completePlan(plan, returnMode) {
71
+ const savedPlan = plan.trim();
72
+ const executionMode = this.pendingBaseMode && this.pendingBaseMode !== 'plan' ? this.pendingBaseMode : returnMode;
73
+ this.pendingBaseMode = null;
74
+ this.completedPlanRevision += 1;
75
+ this.lastCompletedPlan = savedPlan;
76
+ (0, tool_state_1.setToolState)({
77
+ planMode: false,
78
+ currentPlan: savedPlan,
79
+ planReturnMode: executionMode === 'auto' ? 'auto' : 'interactive',
80
+ });
81
+ this.store.setState({
82
+ agentMode: executionMode,
83
+ planMode: false,
84
+ currentPlan: savedPlan,
85
+ });
86
+ return this.notify();
87
+ }
88
+ completionRevision() {
89
+ return this.completedPlanRevision;
90
+ }
91
+ completedPlanSince(revision) {
92
+ return this.completedPlanRevision > revision ? this.lastCompletedPlan : null;
93
+ }
94
+ /** Apply a busy-turn shortcut at the logical-request boundary. */
95
+ applyPending() {
96
+ const pending = this.pendingBaseMode;
97
+ if (!pending)
98
+ return this.snapshot();
99
+ this.pendingBaseMode = null;
100
+ this.apply(pending);
101
+ return this.notify();
102
+ }
103
+ apply(mode) {
104
+ this.fallbackBaseMode = mode;
105
+ if (typeof this.store.getSnapshot !== 'function' || typeof this.store.setState !== 'function') {
106
+ return;
107
+ }
108
+ const snapshot = this.store.getSnapshot();
109
+ const toolState = (0, tool_state_1.getToolState)();
110
+ if (mode === 'plan') {
111
+ const returnMode = snapshot.agentMode === 'auto'
112
+ ? 'auto'
113
+ : snapshot.agentMode === 'interactive'
114
+ ? 'interactive'
115
+ : (toolState.planReturnMode ?? 'interactive');
116
+ (0, tool_state_1.setToolState)({
117
+ planMode: true,
118
+ currentPlan: null,
119
+ planReturnMode: returnMode,
120
+ });
121
+ this.store.setState({ agentMode: 'plan', planMode: true, currentPlan: null });
122
+ return;
123
+ }
124
+ (0, tool_state_1.setToolState)({
125
+ planMode: false,
126
+ currentPlan: snapshot.agentMode === 'plan' ? null : snapshot.currentPlan,
127
+ planReturnMode: mode,
128
+ });
129
+ this.store.setState({
130
+ agentMode: mode,
131
+ planMode: false,
132
+ currentPlan: snapshot.agentMode === 'plan' ? null : snapshot.currentPlan,
133
+ });
134
+ }
135
+ currentMode() {
136
+ if (typeof this.store.getSnapshot !== 'function')
137
+ return this.fallbackBaseMode;
138
+ return this.store.getSnapshot().agentMode ?? this.fallbackBaseMode;
139
+ }
140
+ notify() {
141
+ const snapshot = this.snapshot();
142
+ for (const listener of this.listeners)
143
+ listener(snapshot);
144
+ return snapshot;
145
+ }
146
+ }
147
+ exports.AgentModeLifecycleController = AgentModeLifecycleController;
148
+ /** Fallback for command-only callers that do not run through AgentRuntimeController. */
149
+ function setAgentMode(store, mode) {
150
+ return new AgentModeLifecycleController(store).setMode(mode);
151
+ }
152
+ //# sourceMappingURL=agent-mode.js.map