steroids-cli 0.17.1 → 0.18.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/README.md +8 -0
  2. package/dist/commands/loop-phases-coder-decision.d.ts.map +1 -1
  3. package/dist/commands/loop-phases-coder-decision.js +2 -1
  4. package/dist/commands/loop-phases-coder-decision.js.map +1 -1
  5. package/dist/commands/loop-phases-helpers.d.ts.map +1 -1
  6. package/dist/commands/loop-phases-helpers.js.map +1 -1
  7. package/dist/commands/loop-phases-reviewer.d.ts.map +1 -1
  8. package/dist/commands/loop-phases-reviewer.js +18 -39
  9. package/dist/commands/loop-phases-reviewer.js.map +1 -1
  10. package/dist/commands/monitor-respond.d.ts.map +1 -1
  11. package/dist/commands/monitor-respond.js +15 -2
  12. package/dist/commands/monitor-respond.js.map +1 -1
  13. package/dist/commands/monitor.d.ts +1 -1
  14. package/dist/commands/monitor.d.ts.map +1 -1
  15. package/dist/commands/monitor.js +41 -6
  16. package/dist/commands/monitor.js.map +1 -1
  17. package/dist/commands/reviewer-preflight.d.ts.map +1 -1
  18. package/dist/commands/reviewer-preflight.js +8 -64
  19. package/dist/commands/reviewer-preflight.js.map +1 -1
  20. package/dist/commands/sections-delete.d.ts.map +1 -1
  21. package/dist/commands/sections-delete.js +16 -1
  22. package/dist/commands/sections-delete.js.map +1 -1
  23. package/dist/commands/task-runtime-cleanup.d.ts +13 -0
  24. package/dist/commands/task-runtime-cleanup.d.ts.map +1 -0
  25. package/dist/commands/task-runtime-cleanup.js +134 -0
  26. package/dist/commands/task-runtime-cleanup.js.map +1 -0
  27. package/dist/commands/tasks-reset.d.ts.map +1 -1
  28. package/dist/commands/tasks-reset.js +20 -52
  29. package/dist/commands/tasks-reset.js.map +1 -1
  30. package/dist/commands/tasks.d.ts.map +1 -1
  31. package/dist/commands/tasks.js +10 -68
  32. package/dist/commands/tasks.js.map +1 -1
  33. package/dist/commands/web.d.ts +1 -0
  34. package/dist/commands/web.d.ts.map +1 -1
  35. package/dist/commands/web.js +6 -1
  36. package/dist/commands/web.js.map +1 -1
  37. package/dist/database/queries.d.ts.map +1 -1
  38. package/dist/database/queries.js +3 -0
  39. package/dist/database/queries.js.map +1 -1
  40. package/dist/git/section-pr.d.ts +4 -3
  41. package/dist/git/section-pr.d.ts.map +1 -1
  42. package/dist/git/section-pr.js +8 -15
  43. package/dist/git/section-pr.js.map +1 -1
  44. package/dist/intake/reviewer-approval.d.ts +5 -1
  45. package/dist/intake/reviewer-approval.d.ts.map +1 -1
  46. package/dist/intake/reviewer-approval.js +90 -15
  47. package/dist/intake/reviewer-approval.js.map +1 -1
  48. package/dist/monitor/investigator-agent.d.ts +2 -1
  49. package/dist/monitor/investigator-agent.d.ts.map +1 -1
  50. package/dist/monitor/investigator-agent.js +26 -6
  51. package/dist/monitor/investigator-agent.js.map +1 -1
  52. package/dist/monitor/investigator-prompt.d.ts +2 -1
  53. package/dist/monitor/investigator-prompt.d.ts.map +1 -1
  54. package/dist/monitor/investigator-prompt.js +110 -69
  55. package/dist/monitor/investigator-prompt.js.map +1 -1
  56. package/dist/monitor/loop.d.ts.map +1 -1
  57. package/dist/monitor/loop.js +63 -7
  58. package/dist/monitor/loop.js.map +1 -1
  59. package/dist/monitor/response-mode.d.ts +38 -0
  60. package/dist/monitor/response-mode.d.ts.map +1 -0
  61. package/dist/monitor/response-mode.js +189 -0
  62. package/dist/monitor/response-mode.js.map +1 -0
  63. package/dist/orchestrator/approval-effects-replay.d.ts +17 -0
  64. package/dist/orchestrator/approval-effects-replay.d.ts.map +1 -0
  65. package/dist/orchestrator/approval-effects-replay.js +55 -0
  66. package/dist/orchestrator/approval-effects-replay.js.map +1 -0
  67. package/dist/orchestrator/automated-approval-effects.d.ts +26 -0
  68. package/dist/orchestrator/automated-approval-effects.d.ts.map +1 -0
  69. package/dist/orchestrator/automated-approval-effects.js +294 -0
  70. package/dist/orchestrator/automated-approval-effects.js.map +1 -0
  71. package/dist/orchestrator/merge-queue-completion.d.ts +12 -0
  72. package/dist/orchestrator/merge-queue-completion.d.ts.map +1 -0
  73. package/dist/orchestrator/merge-queue-completion.js +33 -0
  74. package/dist/orchestrator/merge-queue-completion.js.map +1 -0
  75. package/dist/orchestrator/merge-queue.d.ts +8 -1
  76. package/dist/orchestrator/merge-queue.d.ts.map +1 -1
  77. package/dist/orchestrator/merge-queue.js +48 -13
  78. package/dist/orchestrator/merge-queue.js.map +1 -1
  79. package/dist/orchestrator/reviewer-approval-outcome.d.ts +26 -0
  80. package/dist/orchestrator/reviewer-approval-outcome.d.ts.map +1 -0
  81. package/dist/orchestrator/reviewer-approval-outcome.js +52 -0
  82. package/dist/orchestrator/reviewer-approval-outcome.js.map +1 -0
  83. package/dist/orchestrator/reviewer-policy.d.ts +12 -0
  84. package/dist/orchestrator/reviewer-policy.d.ts.map +1 -0
  85. package/dist/orchestrator/reviewer-policy.js +53 -0
  86. package/dist/orchestrator/reviewer-policy.js.map +1 -0
  87. package/dist/orchestrator/reviewer.d.ts +4 -19
  88. package/dist/orchestrator/reviewer.d.ts.map +1 -1
  89. package/dist/orchestrator/reviewer.js +14 -63
  90. package/dist/orchestrator/reviewer.js.map +1 -1
  91. package/dist/orchestrator/section-completion.d.ts +9 -0
  92. package/dist/orchestrator/section-completion.d.ts.map +1 -0
  93. package/dist/orchestrator/section-completion.js +22 -0
  94. package/dist/orchestrator/section-completion.js.map +1 -0
  95. package/dist/orchestrator/submission-context.d.ts +30 -0
  96. package/dist/orchestrator/submission-context.d.ts.map +1 -0
  97. package/dist/orchestrator/submission-context.js +124 -0
  98. package/dist/orchestrator/submission-context.js.map +1 -0
  99. package/dist/runners/global-db-connection.d.ts.map +1 -1
  100. package/dist/runners/global-db-connection.js +21 -0
  101. package/dist/runners/global-db-connection.js.map +1 -1
  102. package/dist/runners/global-db-schema-migrations-v21.d.ts +3 -2
  103. package/dist/runners/global-db-schema-migrations-v21.d.ts.map +1 -1
  104. package/dist/runners/global-db-schema-migrations-v21.js +8 -3
  105. package/dist/runners/global-db-schema-migrations-v21.js.map +1 -1
  106. package/dist/runners/global-db-schema.d.ts +2 -1
  107. package/dist/runners/global-db-schema.d.ts.map +1 -1
  108. package/dist/runners/global-db-schema.js +6 -1
  109. package/dist/runners/global-db-schema.js.map +1 -1
  110. package/dist/runners/wakeup-project.d.ts.map +1 -1
  111. package/dist/runners/wakeup-project.js +9 -1
  112. package/dist/runners/wakeup-project.js.map +1 -1
  113. package/dist/runners/wakeup-sanitise-recovery.d.ts +1 -1
  114. package/dist/runners/wakeup-sanitise-recovery.d.ts.map +1 -1
  115. package/dist/runners/wakeup-sanitise-recovery.js +26 -15
  116. package/dist/runners/wakeup-sanitise-recovery.js.map +1 -1
  117. package/dist/runners/wakeup-sanitise.d.ts +1 -1
  118. package/dist/runners/wakeup-sanitise.d.ts.map +1 -1
  119. package/dist/runners/wakeup-sanitise.js +5 -5
  120. package/dist/runners/wakeup-sanitise.js.map +1 -1
  121. package/package.json +28 -2
@@ -4,15 +4,113 @@
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.buildFirstResponderPrompt = buildFirstResponderPrompt;
7
+ const response_mode_js_1 = require("./response-mode.js");
7
8
  const PRESET_INSTRUCTIONS = {
8
- stop_on_error: 'If you find any critical anomaly, emit a stop_all_runners action immediately. Do not attempt repairs.',
9
- investigate_and_stop: 'Diagnose the root cause. If the situation is dangerous, stop all runners. Otherwise, report only.',
9
+ monitor_only: 'This mode is observation-only. Do not request any actions. Provide diagnosis only.',
10
+ triage_only: 'Diagnose the root cause. Investigate with read-only queries when needed. Do not request mutating actions.',
10
11
  fix_and_monitor: 'Attempt to fix issues by resetting stuck tasks, adding missing dependencies, providing feedback to coders, or killing zombie runners. Only stop all runners as a last resort.',
12
+ custom: 'Follow the custom instructions below while staying within the host-enforced action policy.',
13
+ stop_on_error: 'Legacy mode: if the situation is dangerous, stop all runners immediately. Do not attempt other repairs.',
14
+ investigate_and_stop: 'Legacy mode: diagnose the root cause. If the situation is dangerous, stop all runners. Otherwise, report only.',
11
15
  };
16
+ const ACTION_DOCS = [
17
+ {
18
+ action: 'query_db',
19
+ text: `**Investigation & Debugging:**
20
+
21
+ - { "action": "query_db", "projectPath": "<path>", "sql": "<SELECT ...>", "reason": "<why>" }
22
+ Run a READ-ONLY SQL query against a project's database to investigate issues.
23
+ Only SELECT statements are allowed.
24
+ Tables available: tasks, sections, section_dependencies, task_invocations, task_feedback, task_rejections.`,
25
+ },
26
+ {
27
+ action: 'reset_task',
28
+ text: `**Task Fixes:**
29
+
30
+ - { "action": "reset_task", "projectPath": "<path>", "taskId": "<id>", "reason": "<why>" }
31
+ Reset a stuck or failed task so it can run again.`,
32
+ },
33
+ {
34
+ action: 'update_task',
35
+ text: `- { "action": "update_task", "projectPath": "<path>", "taskId": "<id>", "fields": { ... }, "reason": "<why>" }
36
+ Update specific task fields. Allowed fields: status, failure_count, rejection_count, merge_failure_count, conflict_count, blocked_reason, description, merge_phase, approved_sha, rebase_attempts.`,
37
+ },
38
+ {
39
+ action: 'add_task_feedback',
40
+ text: `- { "action": "add_task_feedback", "projectPath": "<path>", "taskId": "<id>", "feedback": "<guidance>", "reason": "<why>" }
41
+ Add feedback that future coder or reviewer attempts will see.`,
42
+ },
43
+ {
44
+ action: 'add_dependency',
45
+ text: `**Dependency & Ordering Fixes:**
46
+
47
+ - { "action": "add_dependency", "projectPath": "<path>", "sectionId": "<id>", "dependsOnSectionId": "<id>", "reason": "<why>" }
48
+ Add a section dependency so work runs in the correct order.`,
49
+ },
50
+ {
51
+ action: 'reset_project',
52
+ text: `**Project & Runner Controls:**
53
+
54
+ - { "action": "reset_project", "projectPath": "<path>", "reason": "<why>" }
55
+ Reset all blocked or failed tasks in a project to pending.`,
56
+ },
57
+ {
58
+ action: 'kill_runner',
59
+ text: `- { "action": "kill_runner", "runnerId": "<pid>", "reason": "<why>" }
60
+ Send SIGTERM to a specific runner process by PID.`,
61
+ },
62
+ {
63
+ action: 'stop_all_runners',
64
+ text: `- { "action": "stop_all_runners", "reason": "<why>" }
65
+ Stop every active runner. Use only when the system is in a dangerous state.`,
66
+ },
67
+ {
68
+ action: 'trigger_wakeup',
69
+ text: `- { "action": "trigger_wakeup", "reason": "<why>" }
70
+ Trigger the wakeup cycle to restart runners and recover from idle states.`,
71
+ },
72
+ {
73
+ action: 'release_merge_lock',
74
+ text: `**Merge Queue:**
75
+
76
+ - { "action": "release_merge_lock", "projectPath": "<path>", "diagnosis": "<why>" }
77
+ Force-release a stale merge lock for a project.`,
78
+ },
79
+ {
80
+ action: 'reset_merge_phase',
81
+ text: `- { "action": "reset_merge_phase", "projectPath": "<path>", "taskId": "<id>", "diagnosis": "<why>" }
82
+ Reset a stuck merge_pending task back to the queued phase.`,
83
+ },
84
+ {
85
+ action: 'suppress_anomaly',
86
+ text: `**Suppression:**
87
+
88
+ - { "action": "suppress_anomaly", "projectPath": "<path>", "anomalyType": "<type>", "duration_hours": <number>, "reason": "<why>" }
89
+ Suppress a known false positive anomaly for the specified project and type (max 168 hours).`,
90
+ },
91
+ {
92
+ action: 'report_only',
93
+ text: `**Report:**
94
+
95
+ - { "action": "report_only", "diagnosis": "<summary>" }
96
+ No action taken, just report findings.`,
97
+ },
98
+ ];
99
+ function buildAllowedActionsSection(preset) {
100
+ const policy = (0, response_mode_js_1.getMonitorResponsePolicy)(preset);
101
+ if (policy.allowedActions.size === 0) {
102
+ return `No actions are allowed in this mode. Return an empty "actions" array.`;
103
+ }
104
+ return ACTION_DOCS
105
+ .filter((doc) => policy.allowedActions.has(doc.action))
106
+ .map((doc) => doc.text)
107
+ .join('\n\n');
108
+ }
12
109
  function buildFirstResponderPrompt(scanResult, preset, customPrompt, remediationContext) {
110
+ const policy = (0, response_mode_js_1.getMonitorResponsePolicy)(preset);
13
111
  const presetText = preset === 'custom' && customPrompt
14
112
  ? customPrompt
15
- : PRESET_INSTRUCTIONS[preset] ?? PRESET_INSTRUCTIONS.investigate_and_stop;
113
+ : PRESET_INSTRUCTIONS[preset];
16
114
  const anomalyList = scanResult.anomalies.length === 0
17
115
  ? 'No anomalies detected.'
18
116
  : scanResult.anomalies.map((a, i) => `${i + 1}. [${a.severity.toUpperCase()}] ${a.type} — ${a.details}\n` +
@@ -42,6 +140,12 @@ ${presetText}
42
140
 
43
141
  ## Instructions
44
142
 
143
+ Selected response mode: ${policy.label}
144
+ Host policy:
145
+ - Auto-dispatch allowed: ${policy.autoDispatch ? 'yes' : 'no'}
146
+ - Mutating actions allowed: ${policy.allowedActions.has('reset_task') ? 'yes' : 'no'}
147
+ - Fallback repair injection allowed: ${policy.allowFallbackRepairInjection ? 'yes' : 'no'}
148
+
45
149
  Analyze the anomalies above and respond with a JSON object matching this schema:
46
150
 
47
151
  {
@@ -55,71 +159,7 @@ Analyze the anomalies above and respond with a JSON object matching this schema:
55
159
 
56
160
  ### Allowed Actions
57
161
 
58
- **Investigation & Debugging:**
59
-
60
- - { "action": "query_db", "projectPath": "<path>", "sql": "<SELECT ...>", "reason": "<why>" }
61
- Run a READ-ONLY SQL query against a project's database to investigate issues.
62
- Use this to inspect task states, dependencies, invocation history, section ordering, etc.
63
- Only SELECT statements are allowed. Results are returned for your analysis.
64
- Tables available: tasks, sections, section_dependencies, task_invocations, task_feedback, task_rejections.
65
- Example: SELECT id, title, status, failure_count, rejection_count, section_id FROM tasks WHERE status NOT IN ('completed', 'skipped')
66
-
67
- **Task Fixes:**
68
-
69
- - { "action": "reset_task", "projectPath": "<path>", "taskId": "<id>", "reason": "<why>" }
70
- Resets a stuck/failed task to pending (clears failure and rejection counts).
71
-
72
- - { "action": "update_task", "projectPath": "<path>", "taskId": "<id>", "fields": { ... }, "reason": "<why>" }
73
- Update specific task fields. Allowed fields: status, failure_count, rejection_count, merge_failure_count, conflict_count, blocked_reason, description, merge_phase, approved_sha, rebase_attempts.
74
- Valid statuses: pending, in_progress, review, merge_pending, completed, failed, skipped, disputed, blocked_conflict, blocked_error.
75
- Use this for surgical fixes — e.g., changing status from blocked_error to pending, clearing a blocked_reason, updating a description to be clearer.
76
-
77
- - { "action": "add_task_feedback", "projectPath": "<path>", "taskId": "<id>", "feedback": "<guidance>", "reason": "<why>" }
78
- Add human-style feedback notes to a task. Next time a coder or reviewer works on this task, they will see your feedback.
79
- Use this to guide future attempts — e.g., "The previous approach failed because X. Try Y instead." or "This task depends on task Z being completed first — check that Z's output file exists before proceeding."
80
-
81
- **Dependency & Ordering Fixes:**
82
-
83
- - { "action": "add_dependency", "projectPath": "<path>", "sectionId": "<id>", "dependsOnSectionId": "<id>", "reason": "<why>" }
84
- Add a section dependency so sectionId won't run until dependsOnSectionId completes.
85
- Use when tasks are failing because they run before a prerequisite section is done.
86
- Circular dependencies are automatically rejected.
87
-
88
- **Project & Runner Controls:**
89
-
90
- - { "action": "reset_project", "projectPath": "<path>", "reason": "<why>" }
91
- Resets ALL blocked/failed/skipped tasks in a project to pending and re-enables the project.
92
- Use when a project has multiple blocked tasks that need bulk recovery.
93
-
94
- - { "action": "kill_runner", "runnerId": "<pid>", "reason": "<why>" }
95
- Sends SIGTERM to a specific runner process by PID.
96
-
97
- - { "action": "stop_all_runners", "reason": "<why>" }
98
- Stops every active runner. Use only when the system is in a dangerous state.
99
-
100
- - { "action": "trigger_wakeup", "reason": "<why>" }
101
- Triggers the wakeup cycle to restart runners and recover from idle states.
102
-
103
- **Merge Queue:**
104
-
105
- - { "action": "release_merge_lock", "projectPath": "<path>", "diagnosis": "<why>" }
106
- Force-release a stale merge lock for a project. Use when a merge_pending task is stuck because the merge lock was not released after a crash.
107
-
108
- - { "action": "reset_merge_phase", "projectPath": "<path>", "taskId": "<id>", "diagnosis": "<why>" }
109
- Reset a merge_pending task's merge_phase to 'queued' and clear rebase_attempts. Use when a task is stuck in rebasing/rebase_review phase.
110
-
111
- **Suppression:**
112
-
113
- - { "action": "suppress_anomaly", "projectPath": "<path>", "anomalyType": "<type>", "duration_hours": <number>, "reason": "<why>" }
114
- Suppress a known false positive anomaly for the specified project and type (max 168 hours = 1 week).
115
- The scanner will skip matching anomalies until the suppression expires.
116
- Use when you have confirmed an anomaly is a false positive (e.g., idle_project when runners are actually active via parallel sessions).
117
- Valid anomaly types: orphaned_task, hanging_invocation, zombie_runner, dead_runner, db_inconsistency, credit_exhaustion, failed_task, skipped_task, idle_project, high_invocations, repeated_failures, blocked_task, stale_merge_lock, stuck_merge_phase, disputed_task.
118
-
119
- **Report:**
120
-
121
- - { "action": "report_only", "diagnosis": "<summary>" }
122
- No action taken, just report findings. Use when anomalies are informational only.
162
+ ${buildAllowedActionsSection(preset)}
123
163
 
124
164
  ## Guidelines
125
165
 
@@ -131,7 +171,8 @@ Analyze the anomalies above and respond with a JSON object matching this schema:
131
171
  - NEVER modify the steroids CLI source code — your job is to fix project-level task/runner issues.
132
172
  - Respond with valid JSON only — no markdown fences, no commentary outside the JSON.
133
173
  - If no action is needed, use a single report_only action.
134
- - Blocking issues (blocked_task, idle_project, orphaned_task) MUST be acted upon do NOT use report_only for these.
174
+ - If this mode does not allow a desired action, do not request it.
175
+ - Blocking issues still require a useful diagnosis even when this mode forbids repair.
135
176
  - Document everything. Your actions will be reviewed. Explain your reasoning.`;
136
177
  }
137
178
  //# sourceMappingURL=investigator-prompt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"investigator-prompt.js","sourceRoot":"","sources":["../../src/monitor/investigator-prompt.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAUH,8DAsIC;AA5ID,MAAM,mBAAmB,GAA2B;IAClD,aAAa,EAAE,uGAAuG;IACtH,oBAAoB,EAAE,mGAAmG;IACzH,eAAe,EAAE,+KAA+K;CACjM,CAAC;AAEF,SAAgB,yBAAyB,CACvC,UAAsB,EACtB,MAAc,EACd,YAA2B,EAC3B,kBAA2B;IAE3B,MAAM,UAAU,GAAG,MAAM,KAAK,QAAQ,IAAI,YAAY;QACpD,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,mBAAmB,CAAC,oBAAoB,CAAC;IAE5E,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;QACnD,CAAC,CAAC,wBAAwB;QAC1B,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAClC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,OAAO,IAAI;YACpE,eAAe,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW,KAAK;YACnD,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACnF,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAChD,eAAe,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAC3C,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEjB,MAAM,kBAAkB,GAAG,kBAAkB;QAC3C,CAAC,CAAC,+BAA+B,kBAAkB,IAAI;QACvD,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO;;;;;kBAKS,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;oBAC1C,UAAU,CAAC,YAAY;WAChC,UAAU,CAAC,OAAO;;;;EAI3B,WAAW;EACX,kBAAkB;;;EAGlB,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8EA8FkE,CAAC;AAC/E,CAAC"}
1
+ {"version":3,"file":"investigator-prompt.js","sourceRoot":"","sources":["../../src/monitor/investigator-prompt.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/monitor/loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAqBH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,GAAG,iBAAiB,GAAG,4BAA4B,GAAG,SAAS,GAAG,OAAO,CAAC;IAC1F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAmRD;;;GAGG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAmDlD;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAkE3I"}
1
+ {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/monitor/loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA0BH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,GAAG,iBAAiB,GAAG,4BAA4B,GAAG,SAAS,GAAG,OAAO,CAAC;IAC1F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAmSD;;;GAGG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAgElD;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA8F3I"}
@@ -15,6 +15,7 @@ const node_child_process_1 = require("node:child_process");
15
15
  const global_db_connection_js_1 = require("../runners/global-db-connection.js");
16
16
  const entrypoint_js_1 = require("../cli/entrypoint.js");
17
17
  const scanner_js_1 = require("./scanner.js");
18
+ const response_mode_js_1 = require("./response-mode.js");
18
19
  const rules_js_1 = require("./rules.js");
19
20
  // ── Helpers ──────────────────────────────────────────────────────────────────
20
21
  function safeJsonParse(str, fallback) {
@@ -136,6 +137,15 @@ function createRunRow(scanResult, escalationReason, firstResponderNeeded, outcom
136
137
  close();
137
138
  }
138
139
  }
140
+ function updateRunError(runId, error) {
141
+ const { db, close } = (0, global_db_connection_js_1.openGlobalDatabase)();
142
+ try {
143
+ db.prepare("UPDATE monitor_runs SET outcome = 'error', error = ?, completed_at = ? WHERE id = ?").run(error, Date.now(), runId);
144
+ }
145
+ finally {
146
+ close();
147
+ }
148
+ }
139
149
  function pruneOldRuns(maxRows) {
140
150
  const { db, close } = (0, global_db_connection_js_1.openGlobalDatabase)();
141
151
  try {
@@ -150,12 +160,18 @@ function pruneOldRuns(maxRows) {
150
160
  function spawnFirstResponder(runId, preset) {
151
161
  const entrypoint = (0, entrypoint_js_1.resolveCliEntrypoint)();
152
162
  if (!entrypoint)
153
- return;
163
+ return 'CLI entrypoint not found';
154
164
  const args = [entrypoint, 'monitor', 'respond', '--run-id', String(runId)];
155
165
  if (preset)
156
166
  args.push('--preset', preset);
157
- const child = (0, node_child_process_1.spawn)(process.execPath, args, { detached: true, stdio: 'ignore' });
158
- child.unref();
167
+ try {
168
+ const child = (0, node_child_process_1.spawn)(process.execPath, args, { detached: true, stdio: 'ignore' });
169
+ child.unref();
170
+ return null;
171
+ }
172
+ catch (err) {
173
+ return err instanceof Error ? err.message : 'Failed to spawn first responder';
174
+ }
159
175
  }
160
176
  /**
161
177
  * Compute anomaly fingerprint for a project: sorted anomaly types joined.
@@ -274,9 +290,19 @@ async function monitorCheck() {
274
290
  // Apply rules
275
291
  const rules = safeJsonParse(config.escalation_rules, { min_severity: 'warning' });
276
292
  const decision = (0, rules_js_1.shouldEscalate)(scanResult.anomalies, rules);
293
+ const requestedPreset = config.response_preset;
294
+ const presetValidationError = (0, response_mode_js_1.validateResponsePreset)(requestedPreset, config.custom_prompt);
295
+ if (presetValidationError && decision.escalate) {
296
+ const runId = createRunRow(scanResult, decision.reason, false, 'error');
297
+ updateRunError(runId, presetValidationError);
298
+ pruneOldRuns(500);
299
+ return;
300
+ }
301
+ const responsePreset = (0, response_mode_js_1.resolveStoredMonitorResponsePreset)(requestedPreset);
302
+ const policy = (0, response_mode_js_1.getMonitorResponsePolicy)(responsePreset);
277
303
  // Determine if FR dispatch is needed
278
304
  const agents = safeJsonParse(config.first_responder_agents, []);
279
- let needsFirstResponder = decision.escalate && agents.length > 0;
305
+ let needsFirstResponder = decision.escalate && policy.autoDispatch && agents.length > 0;
280
306
  // M4: Cooldown — don't dispatch FR too soon after the last one completed (scan still records)
281
307
  if (needsFirstResponder && Date.now() - getLastFRCompletedAt() < FR_COOLDOWN_MS) {
282
308
  needsFirstResponder = false;
@@ -298,7 +324,10 @@ async function monitorCheck() {
298
324
  if (needsFirstResponder) {
299
325
  // Only record attempts for uncapped projects
300
326
  recordRemediationAttempts(scanResult, uncappedProjects);
301
- spawnFirstResponder(runId);
327
+ const dispatchError = spawnFirstResponder(runId, responsePreset);
328
+ if (dispatchError) {
329
+ updateRunError(runId, dispatchError);
330
+ }
302
331
  }
303
332
  }
304
333
  /**
@@ -315,8 +344,26 @@ async function runMonitorCycle(options) {
315
344
  }
316
345
  const rules = safeJsonParse(config?.escalation_rules ?? null, { min_severity: 'warning' });
317
346
  const decision = (0, rules_js_1.shouldEscalate)(scanResult.anomalies, rules);
347
+ const requestedPreset = options?.preset ?? config?.response_preset ?? 'triage_only';
348
+ const presetValidationError = (0, response_mode_js_1.validateResponsePreset)(requestedPreset, config?.custom_prompt ?? null);
349
+ if (presetValidationError) {
350
+ const runId = createRunRow(scanResult, decision.reason, false, 'error');
351
+ updateRunError(runId, presetValidationError);
352
+ pruneOldRuns(500);
353
+ return {
354
+ outcome: 'error',
355
+ runId,
356
+ anomalyCount: scanResult.anomalies.length,
357
+ error: presetValidationError,
358
+ };
359
+ }
360
+ const responsePreset = (0, response_mode_js_1.resolveStoredMonitorResponsePreset)(requestedPreset);
361
+ const policy = (0, response_mode_js_1.getMonitorResponsePolicy)(responsePreset);
318
362
  const agents = safeJsonParse(config?.first_responder_agents ?? null, []);
319
- let needsFirstResponder = !!(decision.escalate || options?.forceDispatch) && agents.length > 0 && scanResult.anomalies.length > 0;
363
+ let needsFirstResponder = policy.autoDispatch &&
364
+ !!(decision.escalate || options?.forceDispatch) &&
365
+ agents.length > 0 &&
366
+ scanResult.anomalies.length > 0;
320
367
  // M4: Cooldown — skip FR dispatch if too soon after last completion (unless forceDispatch)
321
368
  if (needsFirstResponder && !options?.forceDispatch && Date.now() - getLastFRCompletedAt() < FR_COOLDOWN_MS) {
322
369
  needsFirstResponder = false;
@@ -337,7 +384,16 @@ async function runMonitorCycle(options) {
337
384
  pruneOldRuns(500);
338
385
  if (needsFirstResponder) {
339
386
  recordRemediationAttempts(scanResult, uncappedProjects);
340
- spawnFirstResponder(runId, options?.preset);
387
+ const dispatchError = spawnFirstResponder(runId, responsePreset);
388
+ if (dispatchError) {
389
+ updateRunError(runId, dispatchError);
390
+ return {
391
+ outcome: 'error',
392
+ runId,
393
+ anomalyCount: scanResult.anomalies.length,
394
+ error: dispatchError,
395
+ };
396
+ }
341
397
  return {
342
398
  outcome: 'first_responder_dispatched',
343
399
  runId,
@@ -1 +1 @@
1
- {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/monitor/loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/monitor/loop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Shared monitor response-mode contract.
3
+ *
4
+ * The monitor stores `response_preset` in config, but the runtime must treat
5
+ * that value as a host-enforced policy, not just prompt text.
6
+ */
7
+ export declare const MONITOR_RESPONSE_MODES: readonly ["monitor_only", "triage_only", "fix_and_monitor", "custom"];
8
+ export declare const LEGACY_MONITOR_RESPONSE_PRESETS: readonly ["stop_on_error", "investigate_and_stop"];
9
+ export type MonitorResponseMode = typeof MONITOR_RESPONSE_MODES[number];
10
+ export type LegacyMonitorResponsePreset = typeof LEGACY_MONITOR_RESPONSE_PRESETS[number];
11
+ export type StoredMonitorResponsePreset = MonitorResponseMode | LegacyMonitorResponsePreset;
12
+ export type FirstResponderActionName = 'reset_task' | 'reset_project' | 'kill_runner' | 'stop_all_runners' | 'trigger_wakeup' | 'query_db' | 'update_task' | 'add_dependency' | 'add_task_feedback' | 'suppress_anomaly' | 'release_merge_lock' | 'reset_merge_phase' | 'report_only';
13
+ export interface MonitorResponseOption {
14
+ value: MonitorResponseMode;
15
+ label: string;
16
+ description: string;
17
+ }
18
+ export interface MonitorResponsePolicy {
19
+ preset: StoredMonitorResponsePreset;
20
+ label: string;
21
+ description: string;
22
+ autoDispatch: boolean;
23
+ allowedActions: ReadonlySet<FirstResponderActionName>;
24
+ allowFallbackRepairInjection: boolean;
25
+ requiresCustomPrompt: boolean;
26
+ deprecated: boolean;
27
+ }
28
+ export declare const MONITOR_RESPONSE_OPTIONS: readonly MonitorResponseOption[];
29
+ export declare function isMonitorResponseMode(value: string | null | undefined): value is MonitorResponseMode;
30
+ export declare function isLegacyMonitorResponsePreset(value: string | null | undefined): value is LegacyMonitorResponsePreset;
31
+ export declare function isStoredMonitorResponsePreset(value: string | null | undefined): value is StoredMonitorResponsePreset;
32
+ export declare function resolveStoredMonitorResponsePreset(value: string | null | undefined): StoredMonitorResponsePreset;
33
+ export declare function getCanonicalResponseMode(value: string | null | undefined): MonitorResponseMode;
34
+ export declare function requiresManualInvestigationOverride(value: string | null | undefined): boolean;
35
+ export declare function validateResponsePreset(value: string | null | undefined, customPrompt: string | null | undefined): string | null;
36
+ export declare function formatResponsePresetLabel(value: string | null | undefined): string;
37
+ export declare function getMonitorResponsePolicy(value: string | null | undefined): MonitorResponsePolicy;
38
+ //# sourceMappingURL=response-mode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-mode.d.ts","sourceRoot":"","sources":["../../src/monitor/response-mode.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,sBAAsB,uEAKzB,CAAC;AAEX,eAAO,MAAM,+BAA+B,oDAGlC,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,OAAO,sBAAsB,CAAC,MAAM,CAAC,CAAC;AACxE,MAAM,MAAM,2BAA2B,GAAG,OAAO,+BAA+B,CAAC,MAAM,CAAC,CAAC;AACzF,MAAM,MAAM,2BAA2B,GAAG,mBAAmB,GAAG,2BAA2B,CAAC;AAE5F,MAAM,MAAM,wBAAwB,GAChC,YAAY,GACZ,eAAe,GACf,aAAa,GACb,kBAAkB,GAClB,gBAAgB,GAChB,UAAU,GACV,aAAa,GACb,gBAAgB,GAChB,mBAAmB,GACnB,kBAAkB,GAClB,oBAAoB,GACpB,mBAAmB,GACnB,aAAa,CAAC;AAElB,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,mBAAmB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,2BAA2B,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,WAAW,CAAC,wBAAwB,CAAC,CAAC;IACtD,4BAA4B,EAAE,OAAO,CAAC;IACtC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,UAAU,EAAE,OAAO,CAAC;CACrB;AAkCD,eAAO,MAAM,wBAAwB,EAAE,SAAS,qBAAqB,EAqB3D,CAAC;AAEX,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,IAAI,mBAAmB,CAEpG;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,IAAI,2BAA2B,CAEpH;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,IAAI,2BAA2B,CAEpH;AAED,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC/B,2BAA2B,CAK7B;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC/B,mBAAmB,CAMrB;AAED,wBAAgB,mCAAmC,CACjD,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC/B,OAAO,CAET;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAChC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACtC,MAAM,GAAG,IAAI,CAQf;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC/B,MAAM,CAIR;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC/B,qBAAqB,CAsEvB"}
@@ -0,0 +1,189 @@
1
+ "use strict";
2
+ /**
3
+ * Shared monitor response-mode contract.
4
+ *
5
+ * The monitor stores `response_preset` in config, but the runtime must treat
6
+ * that value as a host-enforced policy, not just prompt text.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.MONITOR_RESPONSE_OPTIONS = exports.LEGACY_MONITOR_RESPONSE_PRESETS = exports.MONITOR_RESPONSE_MODES = void 0;
10
+ exports.isMonitorResponseMode = isMonitorResponseMode;
11
+ exports.isLegacyMonitorResponsePreset = isLegacyMonitorResponsePreset;
12
+ exports.isStoredMonitorResponsePreset = isStoredMonitorResponsePreset;
13
+ exports.resolveStoredMonitorResponsePreset = resolveStoredMonitorResponsePreset;
14
+ exports.getCanonicalResponseMode = getCanonicalResponseMode;
15
+ exports.requiresManualInvestigationOverride = requiresManualInvestigationOverride;
16
+ exports.validateResponsePreset = validateResponsePreset;
17
+ exports.formatResponsePresetLabel = formatResponsePresetLabel;
18
+ exports.getMonitorResponsePolicy = getMonitorResponsePolicy;
19
+ exports.MONITOR_RESPONSE_MODES = [
20
+ 'monitor_only',
21
+ 'triage_only',
22
+ 'fix_and_monitor',
23
+ 'custom',
24
+ ];
25
+ exports.LEGACY_MONITOR_RESPONSE_PRESETS = [
26
+ 'stop_on_error',
27
+ 'investigate_and_stop',
28
+ ];
29
+ const ALL_ACTIONS = new Set([
30
+ 'reset_task',
31
+ 'reset_project',
32
+ 'kill_runner',
33
+ 'stop_all_runners',
34
+ 'trigger_wakeup',
35
+ 'query_db',
36
+ 'update_task',
37
+ 'add_dependency',
38
+ 'add_task_feedback',
39
+ 'suppress_anomaly',
40
+ 'release_merge_lock',
41
+ 'reset_merge_phase',
42
+ 'report_only',
43
+ ]);
44
+ const TRIAGE_ACTIONS = new Set([
45
+ 'query_db',
46
+ 'report_only',
47
+ ]);
48
+ const STOP_ON_ERROR_ACTIONS = new Set([
49
+ 'stop_all_runners',
50
+ 'report_only',
51
+ ]);
52
+ const INVESTIGATE_AND_STOP_ACTIONS = new Set([
53
+ 'query_db',
54
+ 'report_only',
55
+ 'stop_all_runners',
56
+ ]);
57
+ exports.MONITOR_RESPONSE_OPTIONS = [
58
+ {
59
+ value: 'monitor_only',
60
+ label: 'Just Monitor',
61
+ description: 'Detect and record anomalies only. Never dispatch a first responder automatically.',
62
+ },
63
+ {
64
+ value: 'triage_only',
65
+ label: 'Triage Only',
66
+ description: 'Investigate and identify the problem, but do not mutate project or runner state.',
67
+ },
68
+ {
69
+ value: 'fix_and_monitor',
70
+ label: 'Fix And Monitor',
71
+ description: 'Attempt safe corrective actions, then keep monitoring.',
72
+ },
73
+ {
74
+ value: 'custom',
75
+ label: 'Custom',
76
+ description: 'Use custom instructions, still constrained by host-side action validation.',
77
+ },
78
+ ];
79
+ function isMonitorResponseMode(value) {
80
+ return typeof value === 'string' && exports.MONITOR_RESPONSE_MODES.includes(value);
81
+ }
82
+ function isLegacyMonitorResponsePreset(value) {
83
+ return typeof value === 'string' && exports.LEGACY_MONITOR_RESPONSE_PRESETS.includes(value);
84
+ }
85
+ function isStoredMonitorResponsePreset(value) {
86
+ return isMonitorResponseMode(value) || isLegacyMonitorResponsePreset(value);
87
+ }
88
+ function resolveStoredMonitorResponsePreset(value) {
89
+ if (isStoredMonitorResponsePreset(value)) {
90
+ return value;
91
+ }
92
+ return 'triage_only';
93
+ }
94
+ function getCanonicalResponseMode(value) {
95
+ const preset = resolveStoredMonitorResponsePreset(value);
96
+ if (preset === 'stop_on_error' || preset === 'investigate_and_stop') {
97
+ return 'triage_only';
98
+ }
99
+ return preset;
100
+ }
101
+ function requiresManualInvestigationOverride(value) {
102
+ return getCanonicalResponseMode(value) === 'monitor_only';
103
+ }
104
+ function validateResponsePreset(value, customPrompt) {
105
+ if (!isStoredMonitorResponsePreset(value)) {
106
+ return `Invalid response preset "${String(value)}"`;
107
+ }
108
+ if (value === 'custom' && !customPrompt?.trim()) {
109
+ return 'Custom response mode requires a non-empty custom prompt';
110
+ }
111
+ return null;
112
+ }
113
+ function formatResponsePresetLabel(value) {
114
+ const preset = resolveStoredMonitorResponsePreset(value);
115
+ const policy = getMonitorResponsePolicy(preset);
116
+ return policy.deprecated ? `${policy.label} (legacy)` : policy.label;
117
+ }
118
+ function getMonitorResponsePolicy(value) {
119
+ const preset = resolveStoredMonitorResponsePreset(value);
120
+ switch (preset) {
121
+ case 'monitor_only':
122
+ return {
123
+ preset,
124
+ label: 'Just Monitor',
125
+ description: 'Detect and record anomalies only. Do not auto-dispatch a first responder.',
126
+ autoDispatch: false,
127
+ allowedActions: new Set(),
128
+ allowFallbackRepairInjection: false,
129
+ requiresCustomPrompt: false,
130
+ deprecated: false,
131
+ };
132
+ case 'triage_only':
133
+ return {
134
+ preset,
135
+ label: 'Triage Only',
136
+ description: 'Investigate and identify the problem without mutating project or runner state.',
137
+ autoDispatch: true,
138
+ allowedActions: TRIAGE_ACTIONS,
139
+ allowFallbackRepairInjection: false,
140
+ requiresCustomPrompt: false,
141
+ deprecated: false,
142
+ };
143
+ case 'fix_and_monitor':
144
+ return {
145
+ preset,
146
+ label: 'Fix And Monitor',
147
+ description: 'Investigate issues, apply allowed corrective actions, and continue monitoring.',
148
+ autoDispatch: true,
149
+ allowedActions: ALL_ACTIONS,
150
+ allowFallbackRepairInjection: true,
151
+ requiresCustomPrompt: false,
152
+ deprecated: false,
153
+ };
154
+ case 'custom':
155
+ return {
156
+ preset,
157
+ label: 'Custom',
158
+ description: 'Use custom instructions while staying inside the host-side action allowlist.',
159
+ autoDispatch: true,
160
+ allowedActions: ALL_ACTIONS,
161
+ allowFallbackRepairInjection: false,
162
+ requiresCustomPrompt: true,
163
+ deprecated: false,
164
+ };
165
+ case 'stop_on_error':
166
+ return {
167
+ preset,
168
+ label: 'Stop On Error',
169
+ description: 'Legacy mode: stop all runners on dangerous anomalies and report the result.',
170
+ autoDispatch: true,
171
+ allowedActions: STOP_ON_ERROR_ACTIONS,
172
+ allowFallbackRepairInjection: false,
173
+ requiresCustomPrompt: false,
174
+ deprecated: true,
175
+ };
176
+ case 'investigate_and_stop':
177
+ return {
178
+ preset,
179
+ label: 'Investigate And Stop',
180
+ description: 'Legacy mode: diagnose the problem and stop runners only if necessary.',
181
+ autoDispatch: true,
182
+ allowedActions: INVESTIGATE_AND_STOP_ACTIONS,
183
+ allowFallbackRepairInjection: false,
184
+ requiresCustomPrompt: false,
185
+ deprecated: true,
186
+ };
187
+ }
188
+ }
189
+ //# sourceMappingURL=response-mode.js.map