@proletariat/cli 0.3.105 → 0.3.109

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 (227) hide show
  1. package/dist/commands/agent/cleanup.js +13 -1
  2. package/dist/commands/agent/cleanup.js.map +1 -1
  3. package/dist/commands/claude/index.js +2 -2
  4. package/dist/commands/claude/index.js.map +1 -1
  5. package/dist/commands/feedback/list.js +4 -9
  6. package/dist/commands/feedback/list.js.map +1 -1
  7. package/dist/commands/feedback/submit.js +4 -9
  8. package/dist/commands/feedback/submit.js.map +1 -1
  9. package/dist/commands/feedback/view.js +4 -9
  10. package/dist/commands/feedback/view.js.map +1 -1
  11. package/dist/commands/gc.d.ts +1 -0
  12. package/dist/commands/gc.js +34 -1
  13. package/dist/commands/gc.js.map +1 -1
  14. package/dist/commands/notify/connect.d.ts +34 -0
  15. package/dist/commands/notify/connect.js +166 -0
  16. package/dist/commands/notify/connect.js.map +1 -0
  17. package/dist/commands/notify/disconnect.d.ts +16 -0
  18. package/dist/commands/notify/disconnect.js +45 -0
  19. package/dist/commands/notify/disconnect.js.map +1 -0
  20. package/dist/commands/notify/list.d.ts +15 -0
  21. package/dist/commands/notify/list.js +101 -0
  22. package/dist/commands/notify/list.js.map +1 -0
  23. package/dist/commands/notify/rules/add.d.ts +26 -0
  24. package/dist/commands/notify/rules/add.js +95 -0
  25. package/dist/commands/notify/rules/add.js.map +1 -0
  26. package/dist/commands/notify/rules/list.d.ts +14 -0
  27. package/dist/commands/notify/rules/list.js +82 -0
  28. package/dist/commands/notify/rules/list.js.map +1 -0
  29. package/dist/commands/notify/rules/remove.d.ts +16 -0
  30. package/dist/commands/notify/rules/remove.js +44 -0
  31. package/dist/commands/notify/rules/remove.js.map +1 -0
  32. package/dist/commands/notify/test.d.ts +16 -0
  33. package/dist/commands/notify/test.js +63 -0
  34. package/dist/commands/notify/test.js.map +1 -0
  35. package/dist/commands/orchestrate/index.js +11 -6
  36. package/dist/commands/orchestrate/index.js.map +1 -1
  37. package/dist/commands/orchestrate/machine.d.ts +29 -0
  38. package/dist/commands/orchestrate/machine.js +230 -0
  39. package/dist/commands/orchestrate/machine.js.map +1 -0
  40. package/dist/commands/pr/checks.js +4 -8
  41. package/dist/commands/pr/checks.js.map +1 -1
  42. package/dist/commands/pr/close.js +4 -8
  43. package/dist/commands/pr/close.js.map +1 -1
  44. package/dist/commands/pr/create.js +4 -8
  45. package/dist/commands/pr/create.js.map +1 -1
  46. package/dist/commands/pr/index.js +1 -1
  47. package/dist/commands/pr/index.js.map +1 -1
  48. package/dist/commands/pr/link.js +4 -8
  49. package/dist/commands/pr/link.js.map +1 -1
  50. package/dist/commands/pr/list.js +5 -9
  51. package/dist/commands/pr/list.js.map +1 -1
  52. package/dist/commands/pr/merge.d.ts +5 -0
  53. package/dist/commands/pr/merge.js +35 -11
  54. package/dist/commands/pr/merge.js.map +1 -1
  55. package/dist/commands/pr/status.js +5 -4
  56. package/dist/commands/pr/status.js.map +1 -1
  57. package/dist/commands/qa/index.js +2 -2
  58. package/dist/commands/qa/index.js.map +1 -1
  59. package/dist/commands/repo/create.js +4 -8
  60. package/dist/commands/repo/create.js.map +1 -1
  61. package/dist/commands/session/list.js +81 -41
  62. package/dist/commands/session/list.js.map +1 -1
  63. package/dist/commands/session/poke.d.ts +1 -11
  64. package/dist/commands/session/poke.js +20 -78
  65. package/dist/commands/session/poke.js.map +1 -1
  66. package/dist/commands/session/prune.js +3 -0
  67. package/dist/commands/session/prune.js.map +1 -1
  68. package/dist/commands/ticket/move.d.ts +12 -0
  69. package/dist/commands/ticket/move.js +75 -2
  70. package/dist/commands/ticket/move.js.map +1 -1
  71. package/dist/commands/work/drop.js +2 -2
  72. package/dist/commands/work/drop.js.map +1 -1
  73. package/dist/commands/work/ready.js +3 -3
  74. package/dist/commands/work/ready.js.map +1 -1
  75. package/dist/commands/work/rebase.js +4 -8
  76. package/dist/commands/work/rebase.js.map +1 -1
  77. package/dist/commands/work/run.d.ts +58 -0
  78. package/dist/commands/work/run.js +411 -0
  79. package/dist/commands/work/run.js.map +1 -0
  80. package/dist/commands/work/ship.d.ts +6 -0
  81. package/dist/commands/work/ship.js +93 -51
  82. package/dist/commands/work/ship.js.map +1 -1
  83. package/dist/commands/work/start.d.ts +1 -0
  84. package/dist/commands/work/start.js +126 -13
  85. package/dist/commands/work/start.js.map +1 -1
  86. package/dist/lib/agents/commands.d.ts +6 -0
  87. package/dist/lib/agents/commands.js +55 -2
  88. package/dist/lib/agents/commands.js.map +1 -1
  89. package/dist/lib/database/credential-store.js +2 -3
  90. package/dist/lib/database/credential-store.js.map +1 -1
  91. package/dist/lib/database/db-safety.d.ts +25 -0
  92. package/dist/lib/database/db-safety.js +35 -0
  93. package/dist/lib/database/db-safety.js.map +1 -1
  94. package/dist/lib/database/driver.js +6 -12
  95. package/dist/lib/database/driver.js.map +1 -1
  96. package/dist/lib/database/drizzle-schema.d.ts +3 -3
  97. package/dist/lib/database/drizzle.js +3 -3
  98. package/dist/lib/database/drizzle.js.map +1 -1
  99. package/dist/lib/database/index.d.ts +1 -1
  100. package/dist/lib/database/index.js +1 -1
  101. package/dist/lib/database/index.js.map +1 -1
  102. package/dist/lib/database/migrations/0021_notification_system.d.ts +2 -0
  103. package/dist/lib/database/migrations/0021_notification_system.js +39 -0
  104. package/dist/lib/database/migrations/0021_notification_system.js.map +1 -0
  105. package/dist/lib/database/migrations/0022_hook_mode_tiers.d.ts +11 -0
  106. package/dist/lib/database/migrations/0022_hook_mode_tiers.js +53 -0
  107. package/dist/lib/database/migrations/0022_hook_mode_tiers.js.map +1 -0
  108. package/dist/lib/database/migrations/index.js +4 -0
  109. package/dist/lib/database/migrations/index.js.map +1 -1
  110. package/dist/lib/database/pmo-bootstrap.js +6 -2
  111. package/dist/lib/database/pmo-bootstrap.js.map +1 -1
  112. package/dist/lib/database/workspace.js +5 -13
  113. package/dist/lib/database/workspace.js.map +1 -1
  114. package/dist/lib/events/emitting-runner.js +10 -0
  115. package/dist/lib/events/emitting-runner.js.map +1 -1
  116. package/dist/lib/execution/cc-version.d.ts +62 -0
  117. package/dist/lib/execution/cc-version.js +103 -0
  118. package/dist/lib/execution/cc-version.js.map +1 -0
  119. package/dist/lib/execution/devcontainer.js +2 -1
  120. package/dist/lib/execution/devcontainer.js.map +1 -1
  121. package/dist/lib/execution/runners/devcontainer.js +4 -1
  122. package/dist/lib/execution/runners/devcontainer.js.map +1 -1
  123. package/dist/lib/execution/runners/docker-management.js +10 -46
  124. package/dist/lib/execution/runners/docker-management.js.map +1 -1
  125. package/dist/lib/execution/runners/orchestrator.js +13 -39
  126. package/dist/lib/execution/runners/orchestrator.js.map +1 -1
  127. package/dist/lib/execution/session-utils.d.ts +88 -1
  128. package/dist/lib/execution/session-utils.js +120 -46
  129. package/dist/lib/execution/session-utils.js.map +1 -1
  130. package/dist/lib/execution/storage.js +20 -2
  131. package/dist/lib/execution/storage.js.map +1 -1
  132. package/dist/lib/flags/resolver.d.ts +8 -1
  133. package/dist/lib/flags/resolver.js +35 -2
  134. package/dist/lib/flags/resolver.js.map +1 -1
  135. package/dist/lib/gc/cascade.d.ts +99 -0
  136. package/dist/lib/gc/cascade.js +357 -0
  137. package/dist/lib/gc/cascade.js.map +1 -0
  138. package/dist/lib/gc/config.d.ts +69 -0
  139. package/dist/lib/gc/config.js +134 -0
  140. package/dist/lib/gc/config.js.map +1 -0
  141. package/dist/lib/gc/index.d.ts +36 -0
  142. package/dist/lib/gc/index.js +209 -1
  143. package/dist/lib/gc/index.js.map +1 -1
  144. package/dist/lib/init/index.js +10 -1
  145. package/dist/lib/init/index.js.map +1 -1
  146. package/dist/lib/machine-db.d.ts +144 -0
  147. package/dist/lib/machine-db.js +338 -0
  148. package/dist/lib/machine-db.js.map +1 -0
  149. package/dist/lib/machine-orchestrator.d.ts +35 -0
  150. package/dist/lib/machine-orchestrator.js +139 -0
  151. package/dist/lib/machine-orchestrator.js.map +1 -0
  152. package/dist/lib/notifications/dispatcher.d.ts +29 -0
  153. package/dist/lib/notifications/dispatcher.js +281 -0
  154. package/dist/lib/notifications/dispatcher.js.map +1 -0
  155. package/dist/lib/notifications/index.d.ts +13 -0
  156. package/dist/lib/notifications/index.js +18 -0
  157. package/dist/lib/notifications/index.js.map +1 -0
  158. package/dist/lib/notifications/manager.d.ts +46 -0
  159. package/dist/lib/notifications/manager.js +200 -0
  160. package/dist/lib/notifications/manager.js.map +1 -0
  161. package/dist/lib/notifications/storage.d.ts +60 -0
  162. package/dist/lib/notifications/storage.js +182 -0
  163. package/dist/lib/notifications/storage.js.map +1 -0
  164. package/dist/lib/notifications/types.d.ts +126 -0
  165. package/dist/lib/notifications/types.js +16 -0
  166. package/dist/lib/notifications/types.js.map +1 -0
  167. package/dist/lib/orchestrate/actions.js +182 -3
  168. package/dist/lib/orchestrate/actions.js.map +1 -1
  169. package/dist/lib/orchestrate/config-loader.js +9 -35
  170. package/dist/lib/orchestrate/config-loader.js.map +1 -1
  171. package/dist/lib/orchestrate/engine.d.ts +53 -1
  172. package/dist/lib/orchestrate/engine.js +74 -3
  173. package/dist/lib/orchestrate/engine.js.map +1 -1
  174. package/dist/lib/orchestrate/escalation.d.ts +87 -0
  175. package/dist/lib/orchestrate/escalation.js +63 -0
  176. package/dist/lib/orchestrate/escalation.js.map +1 -0
  177. package/dist/lib/orchestrate/index.d.ts +2 -0
  178. package/dist/lib/orchestrate/index.js +1 -0
  179. package/dist/lib/orchestrate/index.js.map +1 -1
  180. package/dist/lib/orchestrate/llm-agent.d.ts +101 -0
  181. package/dist/lib/orchestrate/llm-agent.js +295 -0
  182. package/dist/lib/orchestrate/llm-agent.js.map +1 -0
  183. package/dist/lib/orchestrate/presets.d.ts +4 -3
  184. package/dist/lib/orchestrate/presets.js +13 -8
  185. package/dist/lib/orchestrate/presets.js.map +1 -1
  186. package/dist/lib/orchestrate/types.d.ts +7 -1
  187. package/dist/lib/orchestrate/types.js +1 -0
  188. package/dist/lib/orchestrate/types.js.map +1 -1
  189. package/dist/lib/pmo/base-command.js +1 -1
  190. package/dist/lib/pmo/base-command.js.map +1 -1
  191. package/dist/lib/pmo/find-pmo.d.ts +8 -0
  192. package/dist/lib/pmo/find-pmo.js +63 -2
  193. package/dist/lib/pmo/find-pmo.js.map +1 -1
  194. package/dist/lib/pmo/index.d.ts +1 -1
  195. package/dist/lib/pmo/index.js +1 -1
  196. package/dist/lib/pmo/index.js.map +1 -1
  197. package/dist/lib/pmo/pmo-context.js +1 -1
  198. package/dist/lib/pmo/pmo-context.js.map +1 -1
  199. package/dist/lib/pmo/storage/index.js +2 -1
  200. package/dist/lib/pmo/storage/index.js.map +1 -1
  201. package/dist/lib/pr/index.d.ts +32 -0
  202. package/dist/lib/pr/index.js +45 -0
  203. package/dist/lib/pr/index.js.map +1 -1
  204. package/dist/lib/registry/index.js +0 -1
  205. package/dist/lib/registry/index.js.map +1 -1
  206. package/dist/lib/signal-handler.d.ts +8 -0
  207. package/dist/lib/signal-handler.js +33 -0
  208. package/dist/lib/signal-handler.js.map +1 -1
  209. package/dist/lib/themes.js +8 -1
  210. package/dist/lib/themes.js.map +1 -1
  211. package/dist/lib/work-lifecycle/container-cleanup-hook.d.ts +17 -7
  212. package/dist/lib/work-lifecycle/container-cleanup-hook.js +64 -11
  213. package/dist/lib/work-lifecycle/container-cleanup-hook.js.map +1 -1
  214. package/dist/lib/work-lifecycle/hooks/executor.d.ts +22 -2
  215. package/dist/lib/work-lifecycle/hooks/executor.js +46 -8
  216. package/dist/lib/work-lifecycle/hooks/executor.js.map +1 -1
  217. package/dist/lib/work-lifecycle/hooks/manager.d.ts +62 -3
  218. package/dist/lib/work-lifecycle/hooks/manager.js +285 -4
  219. package/dist/lib/work-lifecycle/hooks/manager.js.map +1 -1
  220. package/dist/lib/work-lifecycle/hooks/types.d.ts +36 -5
  221. package/dist/lib/work-lifecycle/hooks/types.js +1 -1
  222. package/dist/lib/work-lifecycle/hooks/types.js.map +1 -1
  223. package/dist/lib/workspace-resolution.d.ts +73 -0
  224. package/dist/lib/workspace-resolution.js +188 -0
  225. package/dist/lib/workspace-resolution.js.map +1 -0
  226. package/oclif.manifest.json +2830 -2142
  227. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../src/lib/work-lifecycle/hooks/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../src/lib/work-lifecycle/hooks/executor.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * The single hook execution system for the entire application.
5
5
  * Subscribes to work lifecycle events on the global EventBus and
6
6
  * executes matching hook configurations from the database with
7
- * mode-aware behavior (auto/confirm/notify/off).
7
+ * mode-aware behavior (auto/confirm/notify/llm/human/off).
8
8
  *
9
9
  * Used by both the interactive CLI (with default auto mode) and
10
10
  * the orchestrate daemon (with full mode/callback support).
@@ -14,7 +14,8 @@
14
14
  * emission chain.
15
15
  */
16
16
  import type Database from 'better-sqlite3';
17
- import { type HookExecutionResult, type HookActionHandler, type WorkHookConfig } from './types.js';
17
+ import { type HookExecutionResult, type HookActionHandler, type WorkHookConfig, type LlmDecision } from './types.js';
18
+ import { type EscalationContext, type EscalationReason, type PendingLlmDecision, type PendingHumanEscalation } from '../../orchestrate/escalation.js';
18
19
  /**
19
20
  * Options for creating a HookManager.
20
21
  */
@@ -27,6 +28,25 @@ export interface HookManagerOptions {
27
28
  onConfirm?: (hookName: string, event: string, action: string) => Promise<boolean>;
28
29
  /** Callback for notifications (notify-mode hooks) */
29
30
  onNotify?: (hookName: string, event: string, action: string, result: HookExecutionResult) => void;
31
+ /**
32
+ * Callback for LLM-mode hooks (Tier 2).
33
+ * Receives escalation context, returns LLM decision: approve/deny/escalate.
34
+ * If not provided, LLM decisions are queued in pendingLlmDecisions.
35
+ */
36
+ onLlmDecision?: (context: EscalationContext) => Promise<LlmDecision>;
37
+ /**
38
+ * Callback for human-mode hooks (Tier 3).
39
+ * Called when a hook needs human approval — either directly (mode=human/confirm)
40
+ * or via escalation from LLM tier.
41
+ * Returns true to approve, false to deny.
42
+ * If not provided, human escalations are queued in pendingHumanEscalations.
43
+ */
44
+ onHumanEscalation?: (context: EscalationContext, reason: EscalationReason) => Promise<boolean>;
45
+ /**
46
+ * Timeout in ms for LLM decisions before auto-escalating to human.
47
+ * Defaults to DEFAULT_LLM_TIMEOUT_MS (5 minutes).
48
+ */
49
+ llmTimeoutMs?: number;
30
50
  /**
31
51
  * Built-in action handlers (e.g., merge-pr, spawn-agent).
32
52
  * When a hook's action resolves to a key in this map, the handler
@@ -53,8 +73,13 @@ export declare class HookManager {
53
73
  private log;
54
74
  private onConfirm?;
55
75
  private onNotify?;
76
+ private onLlmDecision?;
77
+ private onHumanEscalation?;
78
+ private llmTimeoutMs;
56
79
  private actionHandlers;
57
80
  private _pendingConfirmations;
81
+ private _pendingLlmDecisions;
82
+ private _pendingHumanEscalations;
58
83
  constructor(options: HookManagerOptions);
59
84
  /**
60
85
  * Start listening for hookable events on the global EventBus.
@@ -82,6 +107,40 @@ export declare class HookManager {
82
107
  * Deny a pending confirmation.
83
108
  */
84
109
  denyConfirmation(index: number): boolean;
110
+ /**
111
+ * Get pending LLM decisions for hooks in llm mode.
112
+ */
113
+ getPendingLlmDecisions(): PendingLlmDecision[];
114
+ /**
115
+ * Approve a pending LLM decision and execute it.
116
+ */
117
+ approveLlmDecision(index: number): Promise<HookExecutionResult | null>;
118
+ /**
119
+ * Deny a pending LLM decision.
120
+ */
121
+ denyLlmDecision(index: number): boolean;
122
+ /**
123
+ * Escalate a pending LLM decision to human tier.
124
+ * Removes from LLM queue and adds to human escalation queue.
125
+ */
126
+ escalateLlmDecision(index: number): boolean;
127
+ /**
128
+ * Check for timed-out LLM decisions and auto-escalate them to human tier.
129
+ * Returns the number of decisions that were escalated.
130
+ */
131
+ escalateTimedOutLlmDecisions(): number;
132
+ /**
133
+ * Get pending human escalations.
134
+ */
135
+ getPendingHumanEscalations(): PendingHumanEscalation[];
136
+ /**
137
+ * Approve a pending human escalation and execute it.
138
+ */
139
+ approveHumanEscalation(index: number): Promise<HookExecutionResult | null>;
140
+ /**
141
+ * Deny a pending human escalation.
142
+ */
143
+ denyHumanEscalation(index: number): boolean;
85
144
  /**
86
145
  * Build a context object from raw event data.
87
146
  * Normalizes common field names for built-in action handlers.
@@ -101,7 +160,7 @@ export declare class HookManager {
101
160
  static resolveActionName(hook: WorkHookConfig, knownActions?: Record<string, unknown>): string;
102
161
  /**
103
162
  * Handle an event by finding and executing all matching enabled hooks.
104
- * Supports mode-aware execution: auto, confirm, notify, off.
163
+ * Supports mode-aware execution: auto, confirm, notify, llm, human, off.
105
164
  */
106
165
  private handleEvent;
107
166
  /**
@@ -4,7 +4,7 @@
4
4
  * The single hook execution system for the entire application.
5
5
  * Subscribes to work lifecycle events on the global EventBus and
6
6
  * executes matching hook configurations from the database with
7
- * mode-aware behavior (auto/confirm/notify/off).
7
+ * mode-aware behavior (auto/confirm/notify/llm/human/off).
8
8
  *
9
9
  * Used by both the interactive CLI (with default auto mode) and
10
10
  * the orchestrate daemon (with full mode/callback support).
@@ -18,6 +18,7 @@ import { getEventBus } from '../../events/event-bus.js';
18
18
  import { WorkHookStorage } from './storage.js';
19
19
  import { executeHook } from './executor.js';
20
20
  import { HOOKABLE_EVENTS, } from './types.js';
21
+ import { DEFAULT_LLM_TIMEOUT_MS, } from '../../orchestrate/escalation.js';
21
22
  // =============================================================================
22
23
  // Manager
23
24
  // =============================================================================
@@ -33,14 +34,22 @@ export class HookManager {
33
34
  log;
34
35
  onConfirm;
35
36
  onNotify;
37
+ onLlmDecision;
38
+ onHumanEscalation;
39
+ llmTimeoutMs;
36
40
  actionHandlers;
37
41
  _pendingConfirmations = [];
42
+ _pendingLlmDecisions = [];
43
+ _pendingHumanEscalations = [];
38
44
  constructor(options) {
39
45
  this.db = options.db;
40
46
  this.hookStorage = new WorkHookStorage(options.db);
41
47
  this.log = options.log ?? (() => { });
42
48
  this.onConfirm = options.onConfirm;
43
49
  this.onNotify = options.onNotify;
50
+ this.onLlmDecision = options.onLlmDecision;
51
+ this.onHumanEscalation = options.onHumanEscalation;
52
+ this.llmTimeoutMs = options.llmTimeoutMs ?? DEFAULT_LLM_TIMEOUT_MS;
44
53
  this.actionHandlers = options.actionHandlers ?? {};
45
54
  }
46
55
  /**
@@ -64,6 +73,8 @@ export class HookManager {
64
73
  }
65
74
  this.unsubscribers = [];
66
75
  this._pendingConfirmations = [];
76
+ this._pendingLlmDecisions = [];
77
+ this._pendingHumanEscalations = [];
67
78
  }
68
79
  /**
69
80
  * Fire an event explicitly (used by orchestrate daemon and `prlt hook fire`).
@@ -100,6 +111,113 @@ export class HookManager {
100
111
  return true;
101
112
  }
102
113
  // ===========================================================================
114
+ // LLM Decision Queue (Tier 2)
115
+ // ===========================================================================
116
+ /**
117
+ * Get pending LLM decisions for hooks in llm mode.
118
+ */
119
+ getPendingLlmDecisions() {
120
+ return [...this._pendingLlmDecisions];
121
+ }
122
+ /**
123
+ * Approve a pending LLM decision and execute it.
124
+ */
125
+ async approveLlmDecision(index) {
126
+ if (index < 0 || index >= this._pendingLlmDecisions.length)
127
+ return null;
128
+ const pending = this._pendingLlmDecisions.splice(index, 1)[0];
129
+ const result = this.executeActionByName(pending.action, pending.ctx, pending.config);
130
+ this.log(`[hooks] LLM approved: ${pending.hookName} → ${pending.action} (${result.success ? 'success' : 'failed'})`);
131
+ return { ...result, tier: 'llm' };
132
+ }
133
+ /**
134
+ * Deny a pending LLM decision.
135
+ */
136
+ denyLlmDecision(index) {
137
+ if (index < 0 || index >= this._pendingLlmDecisions.length)
138
+ return false;
139
+ const pending = this._pendingLlmDecisions.splice(index, 1)[0];
140
+ this.log(`[hooks] LLM denied: ${pending.hookName} → ${pending.action}`);
141
+ return true;
142
+ }
143
+ /**
144
+ * Escalate a pending LLM decision to human tier.
145
+ * Removes from LLM queue and adds to human escalation queue.
146
+ */
147
+ escalateLlmDecision(index) {
148
+ if (index < 0 || index >= this._pendingLlmDecisions.length)
149
+ return false;
150
+ const pending = this._pendingLlmDecisions.splice(index, 1)[0];
151
+ this._pendingHumanEscalations.push({
152
+ hookName: pending.hookName,
153
+ event: pending.event,
154
+ action: pending.action,
155
+ ctx: pending.ctx,
156
+ config: pending.config,
157
+ queuedAt: Date.now(),
158
+ reason: 'llm_escalate',
159
+ });
160
+ this.log(`[hooks] LLM escalated to human: ${pending.hookName} → ${pending.action}`);
161
+ return true;
162
+ }
163
+ /**
164
+ * Check for timed-out LLM decisions and auto-escalate them to human tier.
165
+ * Returns the number of decisions that were escalated.
166
+ */
167
+ escalateTimedOutLlmDecisions() {
168
+ const now = Date.now();
169
+ let escalated = 0;
170
+ // Iterate in reverse to safely splice
171
+ for (let i = this._pendingLlmDecisions.length - 1; i >= 0; i--) {
172
+ const decision = this._pendingLlmDecisions[i];
173
+ if ((now - decision.queuedAt) >= decision.timeoutMs) {
174
+ this._pendingLlmDecisions.splice(i, 1);
175
+ this._pendingHumanEscalations.push({
176
+ hookName: decision.hookName,
177
+ event: decision.event,
178
+ action: decision.action,
179
+ ctx: decision.ctx,
180
+ config: decision.config,
181
+ queuedAt: decision.queuedAt,
182
+ reason: 'llm_timeout',
183
+ });
184
+ this.log(`[hooks] LLM timeout → escalated to human: ${decision.hookName} → ${decision.action}`);
185
+ escalated++;
186
+ }
187
+ }
188
+ return escalated;
189
+ }
190
+ // ===========================================================================
191
+ // Human Escalation Queue (Tier 3)
192
+ // ===========================================================================
193
+ /**
194
+ * Get pending human escalations.
195
+ */
196
+ getPendingHumanEscalations() {
197
+ return [...this._pendingHumanEscalations];
198
+ }
199
+ /**
200
+ * Approve a pending human escalation and execute it.
201
+ */
202
+ async approveHumanEscalation(index) {
203
+ if (index < 0 || index >= this._pendingHumanEscalations.length)
204
+ return null;
205
+ const pending = this._pendingHumanEscalations.splice(index, 1)[0];
206
+ const result = this.executeActionByName(pending.action, pending.ctx, pending.config);
207
+ this.log(`[hooks] Human approved: ${pending.hookName} → ${pending.action} (${result.success ? 'success' : 'failed'})`);
208
+ return { ...result, tier: 'human' };
209
+ }
210
+ /**
211
+ * Deny a pending human escalation.
212
+ */
213
+ denyHumanEscalation(index) {
214
+ if (index < 0 || index >= this._pendingHumanEscalations.length)
215
+ return false;
216
+ const pending = this._pendingHumanEscalations.splice(index, 1)[0];
217
+ this.log(`[hooks] Human denied: ${pending.hookName} → ${pending.action}`);
218
+ return true;
219
+ }
220
+ // ===========================================================================
103
221
  // Testable Utilities (public for PRLT-1223 test suite)
104
222
  // ===========================================================================
105
223
  /**
@@ -147,7 +265,7 @@ export class HookManager {
147
265
  // ===========================================================================
148
266
  /**
149
267
  * Handle an event by finding and executing all matching enabled hooks.
150
- * Supports mode-aware execution: auto, confirm, notify, off.
268
+ * Supports mode-aware execution: auto, confirm, notify, llm, human, off.
151
269
  */
152
270
  async handleEvent(eventName, eventData) {
153
271
  const results = [];
@@ -172,7 +290,143 @@ export class HookManager {
172
290
  });
173
291
  continue;
174
292
  }
175
- // --- confirm: require approval ---
293
+ // --- llm: route to LLM orchestrator (Tier 2) ---
294
+ if (mode === 'llm') {
295
+ const escalationCtx = {
296
+ hookName: hook.name,
297
+ event: eventName,
298
+ action: actionName,
299
+ ctx,
300
+ config: hook.config ?? undefined,
301
+ };
302
+ if (this.onLlmDecision) {
303
+ const decision = await this.onLlmDecision(escalationCtx);
304
+ if (decision === 'deny') {
305
+ this.log(`[hooks] LLM denied: ${hook.name} → ${actionName}`);
306
+ results.push({
307
+ hookId: hook.id,
308
+ hookName: hook.name,
309
+ action: actionName,
310
+ success: true,
311
+ durationMs: 0,
312
+ skipped: true,
313
+ tier: 'llm',
314
+ });
315
+ continue;
316
+ }
317
+ if (decision === 'escalate') {
318
+ // LLM escalated to human tier
319
+ this.log(`[hooks] LLM escalated to human: ${hook.name} → ${actionName}`);
320
+ if (this.onHumanEscalation) {
321
+ const humanApproved = await this.onHumanEscalation(escalationCtx, 'llm_escalate');
322
+ if (!humanApproved) {
323
+ results.push({
324
+ hookId: hook.id,
325
+ hookName: hook.name,
326
+ action: actionName,
327
+ success: true,
328
+ durationMs: 0,
329
+ skipped: true,
330
+ escalatedToHuman: true,
331
+ tier: 'human',
332
+ });
333
+ continue;
334
+ }
335
+ // Human approved — fall through to execution
336
+ const result = this.executeHookAction(hook, eventName, eventData, ctx);
337
+ results.push({ ...result, escalatedToHuman: true, tier: 'human' });
338
+ this.log(`[hooks] ${hook.name} → ${actionName}: ${result.success ? 'success' : `failed: ${result.error}`} (${result.durationMs}ms) [escalated to human]`);
339
+ continue;
340
+ }
341
+ else {
342
+ // No human handler — queue for human approval
343
+ this._pendingHumanEscalations.push({
344
+ ...escalationCtx,
345
+ queuedAt: Date.now(),
346
+ reason: 'llm_escalate',
347
+ });
348
+ results.push({
349
+ hookId: hook.id,
350
+ hookName: hook.name,
351
+ action: actionName,
352
+ success: true,
353
+ durationMs: 0,
354
+ escalatedToHuman: true,
355
+ awaitingConfirmation: true,
356
+ tier: 'human',
357
+ });
358
+ continue;
359
+ }
360
+ }
361
+ // decision === 'approve' — fall through to execution
362
+ }
363
+ else {
364
+ // No LLM handler — queue for later LLM decision
365
+ this._pendingLlmDecisions.push({
366
+ ...escalationCtx,
367
+ queuedAt: Date.now(),
368
+ timeoutMs: this.llmTimeoutMs,
369
+ });
370
+ this.log(`[hooks] Queued for LLM decision: ${hook.name} → ${actionName}`);
371
+ results.push({
372
+ hookId: hook.id,
373
+ hookName: hook.name,
374
+ action: actionName,
375
+ success: true,
376
+ durationMs: 0,
377
+ awaitingLlmDecision: true,
378
+ tier: 'llm',
379
+ });
380
+ continue;
381
+ }
382
+ }
383
+ // --- human: route to human (Tier 3) ---
384
+ if (mode === 'human') {
385
+ const escalationCtx = {
386
+ hookName: hook.name,
387
+ event: eventName,
388
+ action: actionName,
389
+ ctx,
390
+ config: hook.config ?? undefined,
391
+ };
392
+ if (this.onHumanEscalation) {
393
+ const approved = await this.onHumanEscalation(escalationCtx, 'direct');
394
+ if (!approved) {
395
+ this.log(`[hooks] Human denied: ${hook.name} → ${actionName}`);
396
+ results.push({
397
+ hookId: hook.id,
398
+ hookName: hook.name,
399
+ action: actionName,
400
+ success: true,
401
+ durationMs: 0,
402
+ skipped: true,
403
+ tier: 'human',
404
+ });
405
+ continue;
406
+ }
407
+ // Approved — fall through to execution
408
+ }
409
+ else {
410
+ // No human handler — queue for later approval
411
+ this._pendingHumanEscalations.push({
412
+ ...escalationCtx,
413
+ queuedAt: Date.now(),
414
+ reason: 'direct',
415
+ });
416
+ this.log(`[hooks] Queued for human approval: ${hook.name} → ${actionName}`);
417
+ results.push({
418
+ hookId: hook.id,
419
+ hookName: hook.name,
420
+ action: actionName,
421
+ success: true,
422
+ durationMs: 0,
423
+ awaitingConfirmation: true,
424
+ tier: 'human',
425
+ });
426
+ continue;
427
+ }
428
+ }
429
+ // --- confirm: require approval (legacy alias for human) ---
176
430
  if (mode === 'confirm') {
177
431
  if (this.onConfirm) {
178
432
  const approved = await this.onConfirm(hook.name, eventName, actionName);
@@ -185,6 +439,32 @@ export class HookManager {
185
439
  success: true,
186
440
  durationMs: 0,
187
441
  skipped: true,
442
+ tier: 'human',
443
+ });
444
+ continue;
445
+ }
446
+ // Approved — fall through to execution
447
+ }
448
+ else if (this.onHumanEscalation) {
449
+ // Use human escalation callback as fallback for confirm mode
450
+ const escalationCtx = {
451
+ hookName: hook.name,
452
+ event: eventName,
453
+ action: actionName,
454
+ ctx,
455
+ config: hook.config ?? undefined,
456
+ };
457
+ const approved = await this.onHumanEscalation(escalationCtx, 'direct');
458
+ if (!approved) {
459
+ this.log(`[hooks] Human denied (confirm mode): ${hook.name} → ${actionName}`);
460
+ results.push({
461
+ hookId: hook.id,
462
+ hookName: hook.name,
463
+ action: actionName,
464
+ success: true,
465
+ durationMs: 0,
466
+ skipped: true,
467
+ tier: 'human',
188
468
  });
189
469
  continue;
190
470
  }
@@ -207,11 +487,12 @@ export class HookManager {
207
487
  success: true,
208
488
  durationMs: 0,
209
489
  awaitingConfirmation: true,
490
+ tier: 'human',
210
491
  });
211
492
  continue;
212
493
  }
213
494
  }
214
- // --- auto / notify / confirmed: execute ---
495
+ // --- auto / notify / confirmed / llm-approved / human-approved: execute ---
215
496
  const result = this.executeHookAction(hook, eventName, eventData, ctx);
216
497
  results.push(result);
217
498
  this.log(`[hooks] ${hook.name} → ${actionName}: ${result.success ? 'success' : `failed: ${result.error}`} (${result.durationMs}ms)`);
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../../src/lib/work-lifecycle/hooks/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../../src/lib/work-lifecycle/hooks/manager.ts"],"names":[],"mappings":"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"}
@@ -23,16 +23,41 @@ export declare const HOOKABLE_EVENTS: HookableEvent[];
23
23
  */
24
24
  export type HookActionType = 'shell' | 'webhook' | 'log';
25
25
  /**
26
- * Automation mode for a hook.
26
+ * Automation mode for a hook — determines the decision tier.
27
27
  *
28
- * - auto: fires immediately, no human needed
29
- * - confirm: pauses, waits for approval before executing
28
+ * Tier 1 (automatic, free, instant):
29
+ * - auto: fires immediately, no decision needed
30
30
  * - notify: fires immediately but also sends a notification
31
+ *
32
+ * Tier 2 (LLM, costs tokens, has judgment):
33
+ * - llm: routes to registered LLM orchestrator for approve/deny/escalate
34
+ *
35
+ * Tier 3 (human, most expensive, final authority):
36
+ * - human: routes to human via notification (dashboard, Slack, email)
37
+ * - confirm: pauses, waits for interactive approval before executing (legacy alias for human)
38
+ *
39
+ * Disabled:
31
40
  * - off: disabled, skipped silently
32
41
  */
33
- export type HookMode = 'auto' | 'confirm' | 'notify' | 'off';
42
+ export type HookMode = 'auto' | 'confirm' | 'notify' | 'llm' | 'human' | 'off';
34
43
  /** All valid hook modes. */
35
44
  export declare const HOOK_MODES: HookMode[];
45
+ /**
46
+ * Decision tier for the 3-tier supervision tree.
47
+ *
48
+ * - auto: Tier 1 — deterministic, no decision needed
49
+ * - llm: Tier 2 — LLM orchestrator decides (approve/deny/escalate)
50
+ * - human: Tier 3 — human decides (final authority)
51
+ */
52
+ export type DecisionTier = 'auto' | 'llm' | 'human';
53
+ /**
54
+ * LLM orchestrator decision for a Tier 2 hook.
55
+ *
56
+ * - approve: execute the hook action
57
+ * - deny: skip the hook action
58
+ * - escalate: route to human (Tier 3) for final decision
59
+ */
60
+ export type LlmDecision = 'approve' | 'deny' | 'escalate';
36
61
  /**
37
62
  * Persisted hook configuration stored in the database.
38
63
  */
@@ -101,6 +126,12 @@ export interface HookExecutionResult {
101
126
  durationMs: number;
102
127
  /** True when hook was skipped (mode=off or confirm denied) */
103
128
  skipped?: boolean;
104
- /** True when hook is queued for confirmation */
129
+ /** True when hook is queued for confirmation (Tier 3 / human) */
105
130
  awaitingConfirmation?: boolean;
131
+ /** True when hook is queued for LLM decision (Tier 2) */
132
+ awaitingLlmDecision?: boolean;
133
+ /** True when hook was escalated from LLM to human (Tier 2 → Tier 3) */
134
+ escalatedToHuman?: boolean;
135
+ /** The decision tier that handled this hook */
136
+ tier?: DecisionTier;
106
137
  }
@@ -29,5 +29,5 @@ export const HOOKABLE_EVENTS = [
29
29
  'on_version_published',
30
30
  ];
31
31
  /** All valid hook modes. */
32
- export const HOOK_MODES = ['auto', 'confirm', 'notify', 'off'];
32
+ export const HOOK_MODES = ['auto', 'confirm', 'notify', 'llm', 'human', 'off'];
33
33
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/lib/work-lifecycle/hooks/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAiCH,+CAA+C;AAC/C,MAAM,CAAC,MAAM,eAAe,GAAoB;IAC9C,cAAc;IACd,qBAAqB;IACrB,iBAAiB;IACjB,gBAAgB;IAChB,gBAAgB;IAChB,eAAe;IACf,eAAe;IACf,aAAa;IACb,cAAc;IACd,cAAc;IACd,cAAc;IACd,mBAAmB;IACnB,iBAAiB;IACjB,kBAAkB;IAClB,eAAe;IACf,oBAAoB;IACpB,eAAe;IACf,oBAAoB;IACpB,sBAAsB;IACtB,sBAAsB;CACvB,CAAA;AAqBD,4BAA4B;AAC5B,MAAM,CAAC,MAAM,UAAU,GAAe,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/lib/work-lifecycle/hooks/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAiCH,+CAA+C;AAC/C,MAAM,CAAC,MAAM,eAAe,GAAoB;IAC9C,cAAc;IACd,qBAAqB;IACrB,iBAAiB;IACjB,gBAAgB;IAChB,gBAAgB;IAChB,eAAe;IACf,eAAe;IACf,aAAa;IACb,cAAc;IACd,cAAc;IACd,cAAc;IACd,mBAAmB;IACnB,iBAAiB;IACjB,kBAAkB;IAClB,eAAe;IACf,oBAAoB;IACpB,eAAe;IACf,oBAAoB;IACpB,sBAAsB;IACtB,sBAAsB;CACvB,CAAA;AA8BD,4BAA4B;AAC5B,MAAM,CAAC,MAAM,UAAU,GAAe,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA"}