@telora/daemon 0.22.181 → 0.22.189

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 (263) hide show
  1. package/build-info.json +9 -3
  2. package/dist/audit/audit-floor-policy.d.ts +188 -0
  3. package/dist/audit/audit-floor-policy.d.ts.map +1 -0
  4. package/dist/audit/audit-floor-policy.js +353 -0
  5. package/dist/audit/audit-floor-policy.js.map +1 -0
  6. package/dist/audit/audit-prompt.d.ts +4 -177
  7. package/dist/audit/audit-prompt.d.ts.map +1 -1
  8. package/dist/audit/audit-prompt.js +6 -329
  9. package/dist/audit/audit-prompt.js.map +1 -1
  10. package/dist/completion/escalations.d.ts.map +1 -1
  11. package/dist/completion/escalations.js +4 -1
  12. package/dist/completion/escalations.js.map +1 -1
  13. package/dist/completion/review-exit-phase.d.ts.map +1 -1
  14. package/dist/completion/review-exit-phase.js +11 -4
  15. package/dist/completion/review-exit-phase.js.map +1 -1
  16. package/dist/completion/standing-approval-convergence.d.ts.map +1 -1
  17. package/dist/completion/standing-approval-convergence.js +2 -1
  18. package/dist/completion/standing-approval-convergence.js.map +1 -1
  19. package/dist/focus/focus-executor.d.ts.map +1 -1
  20. package/dist/focus/focus-executor.js +2 -0
  21. package/dist/focus/focus-executor.js.map +1 -1
  22. package/dist/focus/focus-loop-registry.js +2 -2
  23. package/dist/focus/focus-loop-registry.js.map +1 -1
  24. package/dist/focus/session-health.d.ts.map +1 -1
  25. package/dist/focus/session-health.js +2 -1
  26. package/dist/focus/session-health.js.map +1 -1
  27. package/dist/focus-stage-lifecycle/planning-release.d.ts +52 -17
  28. package/dist/focus-stage-lifecycle/planning-release.d.ts.map +1 -1
  29. package/dist/focus-stage-lifecycle/planning-release.js +58 -70
  30. package/dist/focus-stage-lifecycle/planning-release.js.map +1 -1
  31. package/dist/focus-stage-lifecycle/ratify-bar-gate.d.ts +108 -0
  32. package/dist/focus-stage-lifecycle/ratify-bar-gate.d.ts.map +1 -0
  33. package/dist/focus-stage-lifecycle/ratify-bar-gate.js +174 -0
  34. package/dist/focus-stage-lifecycle/ratify-bar-gate.js.map +1 -0
  35. package/dist/git/merge-to-main.d.ts.map +1 -1
  36. package/dist/git/merge-to-main.js.map +1 -1
  37. package/dist/loops/llm-client.d.ts +1 -1
  38. package/dist/loops/llm-client.d.ts.map +1 -1
  39. package/dist/loops/llm-client.js +18 -105
  40. package/dist/loops/llm-client.js.map +1 -1
  41. package/dist/nexus/index.d.ts.map +1 -1
  42. package/dist/nexus/index.js +2 -1
  43. package/dist/nexus/index.js.map +1 -1
  44. package/dist/nexus/intake-prompt-sections.d.ts +70 -0
  45. package/dist/nexus/intake-prompt-sections.d.ts.map +1 -0
  46. package/dist/nexus/intake-prompt-sections.js +145 -0
  47. package/dist/nexus/intake-prompt-sections.js.map +1 -0
  48. package/dist/nexus/intake-spawn.d.ts +49 -13
  49. package/dist/nexus/intake-spawn.d.ts.map +1 -1
  50. package/dist/nexus/intake-spawn.js +45 -122
  51. package/dist/nexus/intake-spawn.js.map +1 -1
  52. package/dist/nexus/intake.d.ts +55 -0
  53. package/dist/nexus/intake.d.ts.map +1 -1
  54. package/dist/nexus/intake.js +62 -1
  55. package/dist/nexus/intake.js.map +1 -1
  56. package/dist/prd/arm-readiness.d.ts +93 -0
  57. package/dist/prd/arm-readiness.d.ts.map +1 -0
  58. package/dist/prd/arm-readiness.js +254 -0
  59. package/dist/prd/arm-readiness.js.map +1 -0
  60. package/dist/prd/arm-refusal.d.ts +149 -0
  61. package/dist/prd/arm-refusal.d.ts.map +1 -0
  62. package/dist/prd/arm-refusal.js +219 -0
  63. package/dist/prd/arm-refusal.js.map +1 -0
  64. package/dist/prd/controller-shared.d.ts +111 -0
  65. package/dist/prd/controller-shared.d.ts.map +1 -1
  66. package/dist/prd/controller-shared.js +3 -1
  67. package/dist/prd/controller-shared.js.map +1 -1
  68. package/dist/prd/controller.d.ts +16 -10
  69. package/dist/prd/controller.d.ts.map +1 -1
  70. package/dist/prd/controller.js +28 -35
  71. package/dist/prd/controller.js.map +1 -1
  72. package/dist/prd/frontier-arming.d.ts +151 -0
  73. package/dist/prd/frontier-arming.d.ts.map +1 -0
  74. package/dist/prd/frontier-arming.js +315 -0
  75. package/dist/prd/frontier-arming.js.map +1 -0
  76. package/dist/prd/index.d.ts +10 -1
  77. package/dist/prd/index.d.ts.map +1 -1
  78. package/dist/prd/index.js +9 -1
  79. package/dist/prd/index.js.map +1 -1
  80. package/dist/prd/scoping-prompt.d.ts +68 -0
  81. package/dist/prd/scoping-prompt.d.ts.map +1 -0
  82. package/dist/prd/scoping-prompt.js +86 -0
  83. package/dist/prd/scoping-prompt.js.map +1 -0
  84. package/dist/prompt/prompt-contradictions.d.ts +20 -1
  85. package/dist/prompt/prompt-contradictions.d.ts.map +1 -1
  86. package/dist/prompt/prompt-contradictions.js +35 -0
  87. package/dist/prompt/prompt-contradictions.js.map +1 -1
  88. package/dist/prompt/team-prompt-base.d.ts +18 -0
  89. package/dist/prompt/team-prompt-base.d.ts.map +1 -1
  90. package/dist/prompt/team-prompt-base.js +56 -11
  91. package/dist/prompt/team-prompt-base.js.map +1 -1
  92. package/dist/prompt-sections/persona-sections.d.ts +36 -13
  93. package/dist/prompt-sections/persona-sections.d.ts.map +1 -1
  94. package/dist/prompt-sections/persona-sections.js +93 -16
  95. package/dist/prompt-sections/persona-sections.js.map +1 -1
  96. package/dist/prompt-sections/scoping-sections.d.ts +19 -5
  97. package/dist/prompt-sections/scoping-sections.d.ts.map +1 -1
  98. package/dist/prompt-sections/scoping-sections.js +45 -38
  99. package/dist/prompt-sections/scoping-sections.js.map +1 -1
  100. package/dist/prompt-sections/shared.d.ts +8 -0
  101. package/dist/prompt-sections/shared.d.ts.map +1 -1
  102. package/dist/prompt-sections/shared.js.map +1 -1
  103. package/dist/queries/agent-resolvable-promotion.d.ts +12 -0
  104. package/dist/queries/agent-resolvable-promotion.d.ts.map +1 -1
  105. package/dist/queries/agent-resolvable-promotion.js +17 -6
  106. package/dist/queries/agent-resolvable-promotion.js.map +1 -1
  107. package/dist/queries/delivery-gate-state.d.ts +3 -0
  108. package/dist/queries/delivery-gate-state.d.ts.map +1 -1
  109. package/dist/queries/delivery-gate-state.js +1 -1
  110. package/dist/queries/delivery-gate-state.js.map +1 -1
  111. package/dist/queries/focus-criteria-standing.d.ts +170 -7
  112. package/dist/queries/focus-criteria-standing.d.ts.map +1 -1
  113. package/dist/queries/focus-criteria-standing.js +143 -8
  114. package/dist/queries/focus-criteria-standing.js.map +1 -1
  115. package/dist/queries/focus-ratify-release.d.ts +43 -0
  116. package/dist/queries/focus-ratify-release.d.ts.map +1 -0
  117. package/dist/queries/focus-ratify-release.js +45 -0
  118. package/dist/queries/focus-ratify-release.js.map +1 -0
  119. package/dist/queries/focuses.d.ts +0 -10
  120. package/dist/queries/focuses.d.ts.map +1 -1
  121. package/dist/queries/focuses.js +0 -14
  122. package/dist/queries/focuses.js.map +1 -1
  123. package/dist/queries/prd.d.ts +31 -0
  124. package/dist/queries/prd.d.ts.map +1 -1
  125. package/dist/queries/prd.js +26 -1
  126. package/dist/queries/prd.js.map +1 -1
  127. package/dist/queries/shared.js +1 -1
  128. package/dist/queries/verify-own-holds.d.ts +89 -0
  129. package/dist/queries/verify-own-holds.d.ts.map +1 -0
  130. package/dist/queries/verify-own-holds.js +93 -0
  131. package/dist/queries/verify-own-holds.js.map +1 -0
  132. package/dist/resolvers/focus-criteria-standing.d.ts.map +1 -1
  133. package/dist/resolvers/focus-criteria-standing.js +324 -25
  134. package/dist/resolvers/focus-criteria-standing.js.map +1 -1
  135. package/dist/security/security-auto-inject.d.ts +51 -0
  136. package/dist/security/security-auto-inject.d.ts.map +1 -1
  137. package/dist/security/security-auto-inject.js +101 -11
  138. package/dist/security/security-auto-inject.js.map +1 -1
  139. package/dist/security/security-scan-engine.d.ts +4 -4
  140. package/dist/security/security-scan-engine.d.ts.map +1 -1
  141. package/dist/security/security-scan-engine.js +6 -0
  142. package/dist/security/security-scan-engine.js.map +1 -1
  143. package/dist/session/session-lineage.d.ts.map +1 -1
  144. package/dist/session/session-lineage.js +2 -0
  145. package/dist/session/session-lineage.js.map +1 -1
  146. package/dist/shell/constants.d.ts +5 -0
  147. package/dist/shell/constants.d.ts.map +1 -1
  148. package/dist/shell/constants.js +5 -0
  149. package/dist/shell/constants.js.map +1 -1
  150. package/dist/shell/daemon-instance.d.ts +74 -64
  151. package/dist/shell/daemon-instance.d.ts.map +1 -1
  152. package/dist/shell/daemon-instance.js +16 -121
  153. package/dist/shell/daemon-instance.js.map +1 -1
  154. package/dist/shell/health-events.js +1 -1
  155. package/dist/shell/health-events.js.map +1 -1
  156. package/dist/shell/instance-liveness.d.ts +112 -0
  157. package/dist/shell/instance-liveness.d.ts.map +1 -0
  158. package/dist/shell/instance-liveness.js +205 -0
  159. package/dist/shell/instance-liveness.js.map +1 -0
  160. package/dist/shell/schema-version-gate.d.ts +22 -0
  161. package/dist/shell/schema-version-gate.d.ts.map +1 -1
  162. package/dist/shell/schema-version-gate.js +116 -6
  163. package/dist/shell/schema-version-gate.js.map +1 -1
  164. package/dist/shell/worker-pidfile.d.ts +21 -8
  165. package/dist/shell/worker-pidfile.d.ts.map +1 -1
  166. package/dist/shell/worker-pidfile.js +38 -9
  167. package/dist/shell/worker-pidfile.js.map +1 -1
  168. package/dist/spawn/lead-launch.d.ts.map +1 -1
  169. package/dist/spawn/lead-launch.js +2 -1
  170. package/dist/spawn/lead-launch.js.map +1 -1
  171. package/dist/spawn/one-shot-model.d.ts +145 -0
  172. package/dist/spawn/one-shot-model.d.ts.map +1 -0
  173. package/dist/spawn/one-shot-model.js +329 -0
  174. package/dist/spawn/one-shot-model.js.map +1 -0
  175. package/dist/spawn/one-shot-scoping-spawn.d.ts +51 -0
  176. package/dist/spawn/one-shot-scoping-spawn.d.ts.map +1 -0
  177. package/dist/spawn/one-shot-scoping-spawn.js +156 -0
  178. package/dist/spawn/one-shot-scoping-spawn.js.map +1 -0
  179. package/dist/spawn/process-spawn.d.ts +12 -0
  180. package/dist/spawn/process-spawn.d.ts.map +1 -1
  181. package/dist/spawn/process-spawn.js +1 -1
  182. package/dist/spawn/process-spawn.js.map +1 -1
  183. package/dist/spawn/prompt-assembly.d.ts +8 -0
  184. package/dist/spawn/prompt-assembly.d.ts.map +1 -1
  185. package/dist/spawn/prompt-assembly.js +15 -3
  186. package/dist/spawn/prompt-assembly.js.map +1 -1
  187. package/dist/spawn/review-hold-park.d.ts.map +1 -1
  188. package/dist/spawn/review-hold-park.js +7 -3
  189. package/dist/spawn/review-hold-park.js.map +1 -1
  190. package/dist/spawn/routing-decider-spawn.d.ts +30 -0
  191. package/dist/spawn/routing-decider-spawn.d.ts.map +1 -1
  192. package/dist/spawn/routing-decider-spawn.js +84 -2
  193. package/dist/spawn/routing-decider-spawn.js.map +1 -1
  194. package/dist/spawn/routing-decider.d.ts.map +1 -1
  195. package/dist/spawn/routing-decider.js +22 -0
  196. package/dist/spawn/routing-decider.js.map +1 -1
  197. package/dist/spawn/spawn-cooldown.d.ts +15 -1
  198. package/dist/spawn/spawn-cooldown.d.ts.map +1 -1
  199. package/dist/spawn/spawn-cooldown.js +67 -19
  200. package/dist/spawn/spawn-cooldown.js.map +1 -1
  201. package/dist/spawn/worktree-session.d.ts +24 -6
  202. package/dist/spawn/worktree-session.d.ts.map +1 -1
  203. package/dist/spawn/worktree-session.js +37 -14
  204. package/dist/spawn/worktree-session.js.map +1 -1
  205. package/dist/testing/arm-coverage-model.d.ts +75 -0
  206. package/dist/testing/arm-coverage-model.d.ts.map +1 -0
  207. package/dist/testing/arm-coverage-model.js +114 -0
  208. package/dist/testing/arm-coverage-model.js.map +1 -0
  209. package/dist/testing/fixtures/index.js +1 -1
  210. package/dist/types/index.js +1 -1
  211. package/dist/verify/ai-inspection-runner.d.ts.map +1 -1
  212. package/dist/verify/ai-inspection-runner.js +26 -7
  213. package/dist/verify/ai-inspection-runner.js.map +1 -1
  214. package/dist/verify/de-restatement.d.ts +9 -2
  215. package/dist/verify/de-restatement.d.ts.map +1 -1
  216. package/dist/verify/de-restatement.js +14 -76
  217. package/dist/verify/de-restatement.js.map +1 -1
  218. package/dist/verify/default-on-guards.d.ts +5 -2
  219. package/dist/verify/default-on-guards.d.ts.map +1 -1
  220. package/dist/verify/default-on-guards.js +5 -3
  221. package/dist/verify/default-on-guards.js.map +1 -1
  222. package/dist/verify/verification-boundary-env.d.ts +7 -2
  223. package/dist/verify/verification-boundary-env.d.ts.map +1 -1
  224. package/dist/verify/verification-boundary-env.js +9 -4
  225. package/dist/verify/verification-boundary-env.js.map +1 -1
  226. package/dist/verify/verification-deps-default.d.ts.map +1 -1
  227. package/dist/verify/verification-deps-default.js +6 -0
  228. package/dist/verify/verification-deps-default.js.map +1 -1
  229. package/dist/verify/verification-deps.d.ts +10 -0
  230. package/dist/verify/verification-deps.d.ts.map +1 -1
  231. package/dist/verify/verification-deterministic.d.ts +7 -0
  232. package/dist/verify/verification-deterministic.d.ts.map +1 -1
  233. package/dist/verify/verification-deterministic.js.map +1 -1
  234. package/dist/verify/verification-engine.d.ts +1 -20
  235. package/dist/verify/verification-engine.d.ts.map +1 -1
  236. package/dist/verify/verification-engine.js +24 -55
  237. package/dist/verify/verification-engine.js.map +1 -1
  238. package/dist/verify/verification-evidence-unavailable-feedback.d.ts +3 -1
  239. package/dist/verify/verification-evidence-unavailable-feedback.d.ts.map +1 -1
  240. package/dist/verify/verification-evidence-unavailable-feedback.js +3 -1
  241. package/dist/verify/verification-evidence-unavailable-feedback.js.map +1 -1
  242. package/dist/verify/verification-feedback.d.ts +4 -12
  243. package/dist/verify/verification-feedback.d.ts.map +1 -1
  244. package/dist/verify/verification-feedback.js +7 -12
  245. package/dist/verify/verification-feedback.js.map +1 -1
  246. package/dist/verify/verification-history-reset.d.ts.map +1 -1
  247. package/dist/verify/verification-history-reset.js +11 -3
  248. package/dist/verify/verification-history-reset.js.map +1 -1
  249. package/dist/verify/verification-model-unavailable-hold.d.ts +92 -0
  250. package/dist/verify/verification-model-unavailable-hold.d.ts.map +1 -0
  251. package/dist/verify/verification-model-unavailable-hold.js +207 -0
  252. package/dist/verify/verification-model-unavailable-hold.js.map +1 -0
  253. package/dist/verify/verification-strategies.d.ts +32 -0
  254. package/dist/verify/verification-strategies.d.ts.map +1 -0
  255. package/dist/verify/verification-strategies.js +47 -0
  256. package/dist/verify/verification-strategies.js.map +1 -0
  257. package/dist/verify/verify-reconciliation.d.ts.map +1 -1
  258. package/dist/verify/verify-reconciliation.js +2 -1
  259. package/dist/verify/verify-reconciliation.js.map +1 -1
  260. package/dist/verify/verify-restatement.d.ts.map +1 -1
  261. package/dist/verify/verify-restatement.js +21 -8
  262. package/dist/verify/verify-restatement.js.map +1 -1
  263. package/package.json +2 -2
@@ -6,7 +6,9 @@
6
6
  *
7
7
  * Owns the two planning->queued release paths:
8
8
  * - `releaseRatifiedReadOnlyFocus` -- the SOLE human-ratified planning->execution
9
- * crossing for a read-only audit focus.
9
+ * crossing for a read-only audit focus. Gated by `ratify-bar-gate.ts`: that
10
+ * crossing is the audit focus's go-signal, so it states a bar or it does
11
+ * not happen.
10
12
  * - `releaseWritableFocusPlanningDeliveries` -- the writable-focus analogue that
11
13
  * closes the silent born-planning wedge for a normal execute focus.
12
14
  *
@@ -15,13 +17,15 @@
15
17
  *
16
18
  * @module focus-stage-lifecycle/planning-release
17
19
  */
18
- import { getFocusDeliveries as defaultGetFocusDeliveries, updateFocusReadOnly as defaultUpdateFocusReadOnly, } from '../queries/focuses.js';
20
+ import { getFocusDeliveries as defaultGetFocusDeliveries } from '../queries/focuses.js';
21
+ import { ratifyReleaseFocus as defaultRatifyReleaseFocus } from '../queries/focus-ratify-release.js';
19
22
  import { updateDeliveryStatus as defaultUpdateDeliveryStatus } from '../queries/deliveries.js';
20
23
  import { DELIVERY_STATUS, isExecutionStatus, isValidTransition } from '@telora/daemon-core';
21
24
  import { emitLoopTrigger } from '../loops/index.js';
22
25
  import { deriveFocusPhase, PRE_EXECUTION_STATUSES } from '../focus/focus-phase.js';
23
26
  import { hasActiveTeam as defaultHasActiveTeam } from '../focus/focus-team-state.js';
24
27
  import { isAuditPhaseFocus } from '../audit/audit-shape.js';
28
+ import { holdRatifyForUnstatedBar as defaultHoldRatifyForUnstatedBar, noteRatifyFlipFailure as defaultNoteRatifyFlipFailure, } from './ratify-bar-gate.js';
25
29
  import { createLogger } from '../shell/log.js';
26
30
  const log = createLogger({ module: 'focus-stage-lifecycle' });
27
31
  // ── Ratify-to-execute release (Safe audit-to-remediation D3) ──────
@@ -45,31 +49,51 @@ export function isFocusRatifiedForExecute(focus) {
45
49
  return focus.readOnly === true && focus.ratifiedAt != null;
46
50
  }
47
51
  const defaultRatifyReleaseDeps = {
48
- getFocusDeliveries: defaultGetFocusDeliveries,
49
- updateFocusReadOnly: defaultUpdateFocusReadOnly,
50
- updateDeliveryStatus: defaultUpdateDeliveryStatus,
52
+ ratifyReleaseFocus: defaultRatifyReleaseFocus,
51
53
  emitLoopTrigger,
54
+ holdRatifyForUnstatedBar: defaultHoldRatifyForUnstatedBar,
55
+ noteRatifyFlipFailure: defaultNoteRatifyFlipFailure,
52
56
  };
53
57
  /**
54
58
  * The SOLE planning->execution crossing for a read-only audit focus.
55
59
  *
56
60
  * When `isFocusRatifiedForExecute(focus)` holds (read_only=true AND a human
57
- * stamped ratified_at), atomically-in-effect:
61
+ * stamped ratified_at), cross ATOMICALLY:
58
62
  * (a) flip read_only=false, and
59
63
  * (b) release every held delivery (execution_status 'planning') to 'queued'.
60
64
  *
61
- * This is the ONLY path that does either, which is what makes the gate
62
- * non-procedural: the gate cannot be crossed by an agent or a stage transition;
63
- * it requires the distinct human ratification signal that this function reads.
65
+ * ATOMICALLY IS THE WHOLE POINT, AND IT IS NOT THIS FUNCTION'S DOING. Both
66
+ * writes happen inside `ratify_release_focus(p_focus_id)`, one database
67
+ * transaction (migration 20260922173056). Ratification is an audit focus's
68
+ * go-signal, so the database refuses the read_only flip when the focus states
69
+ * no future to judge the released work against -- and a refusal is only a
70
+ * refusal if it can still stop the release.
71
+ *
72
+ * It could not, and no ORDERING could make it. This function used to do the
73
+ * two writes itself, deliberately releasing FIRST: flipping first makes the
74
+ * re-entry predicate fail, so a partial release would be abandoned with
75
+ * deliveries stranded in 'planning'. Release-then-flip meant a refusal arriving
76
+ * on the flip left every delivery already at 'queued' -- actionable work that
77
+ * ready-focus discovery does not exclude -- under the empty bar the refusal had
78
+ * just rejected (review finding, issue d8985d50). One transaction dissolves the
79
+ * dilemma: a refusal rolls the release back with it, and a success commits both
80
+ * halves, so neither half-crossing exists.
64
81
  *
65
- * Idempotent by construction:
66
- * - flipping read_only=false first means the predicate fails on re-entry, so a
67
- * second tick is a no-op;
68
- * - the delivery move is guarded to ONLY touch 'planning' rows, so deliveries
69
- * already queued (or further along) are left untouched.
82
+ * `holdRatifyForUnstatedBar` (`ratify-bar-gate.ts`) still runs first. It is no
83
+ * longer load-bearing for correctness -- the transaction is -- but it turns the
84
+ * common "the audit stated no future yet" case into a cheap, RECORDED hold
85
+ * instead of a round trip that raises, and it is where the operator-facing
86
+ * record is written.
70
87
  *
71
- * Returns the number of deliveries released (0 when the predicate does not hold
72
- * or there were no held deliveries).
88
+ * Idempotent by construction, at the database: the RPC takes the focus row FOR
89
+ * UPDATE and re-evaluates the crossing predicate against it, so a second tick
90
+ * (or a lost race) writes nothing and answers `crossed: false`. The release is
91
+ * scoped to 'planning' rows, so deliveries already queued or further along are
92
+ * untouched.
93
+ *
94
+ * Returns the number of deliveries released (0 when the predicate does not
95
+ * hold, the bar gate held, the crossing was refused, or there were no held
96
+ * deliveries).
73
97
  *
74
98
  * Runs regardless of stage: a read-only audit focus may sit at planning/queued/
75
99
  * in_progress, so this is NOT gated on focus.stage.
@@ -77,68 +101,32 @@ const defaultRatifyReleaseDeps = {
77
101
  export async function releaseRatifiedReadOnlyFocus(focus, deps = defaultRatifyReleaseDeps) {
78
102
  if (!isFocusRatifiedForExecute(focus))
79
103
  return 0;
80
- // Crash-safety ordering: release held deliveries FIRST, and flip
81
- // read_only=false ONLY after every held 'planning' delivery has been queued.
82
- // The flip is what makes the predicate fail on re-entry, so deferring it
83
- // until the release is complete means a crash (or a partial failure)
84
- // mid-release leaves the predicate TRUE (read_only still true) and the next
85
- // tick retries the whole release. Flipping first would orphan any
86
- // not-yet-released held delivery: the predicate would already be false and
87
- // those deliveries would never be queued.
88
- // (a) Release held deliveries: planning -> queued. Guarded so only 'planning'
89
- // rows move; anything already queued/further-along is left untouched
90
- // (idempotency + safety).
91
- let deliveries;
104
+ // ASK FIRST: does this crossing state a bar? A hold costs one poll tick and
105
+ // records the reason where an operator reads it.
106
+ if (await deps.holdRatifyForUnstatedBar(focus))
107
+ return 0;
108
+ let result;
92
109
  try {
93
- deliveries = await deps.getFocusDeliveries(focus.focusId);
110
+ result = await deps.ratifyReleaseFocus(focus.focusId);
94
111
  }
95
112
  catch (err) {
96
- log.warn(`[focus-stage-lifecycle] Ratify-release: failed to fetch deliveries to ` +
97
- `release for "${focus.focusName}" (leaving read_only=true to retry next ` +
98
- `tick): ${err.message}`);
113
+ // A refusal the pre-check did not catch (the two read the tree seconds
114
+ // apart, through different paths) degrades to held+recorded, never to a
115
+ // crash and never to a silent log line. NOTHING was released: the refusal
116
+ // aborted the transaction that would have released it.
117
+ await deps.noteRatifyFlipFailure(focus, err);
99
118
  return 0;
100
119
  }
101
- let released = 0;
102
- let allReleased = true;
103
- for (const d of deliveries) {
104
- // Ratify-release stays scoped to 'planning' (NOT the wider pre_execution set
105
- // the writable path sweeps): audit remediation deliveries are born 'planning',
106
- // never 'draft', so there is no draft to release here. Keeping this narrow also
107
- // keeps the human-ratify gate the SOLE crossing for audit focuses.
108
- if (d.executionStatus !== DELIVERY_STATUS.PLANNING)
109
- continue;
110
- try {
111
- await deps.updateDeliveryStatus(d.id, DELIVERY_STATUS.QUEUED, undefined, undefined, undefined, { organizationId: focus.organizationId, fromStatus: DELIVERY_STATUS.PLANNING });
112
- released += 1;
113
- }
114
- catch (err) {
115
- allReleased = false;
116
- log.warn(`[focus-stage-lifecycle] Ratify-release: failed to queue held delivery ` +
117
- `${d.id.slice(0, 8)} on "${focus.focusName}": ${err.message}`);
118
- }
119
- }
120
- // (b) Flip read_only=false ONLY when every held delivery was queued. If any
121
- // release failed, leave read_only=true so the predicate stays satisfied and
122
- // the next tick retries the (planning-only, idempotent) release -- never
123
- // crossing the gate with held deliveries still stuck in planning.
124
- if (!allReleased) {
125
- log.warn(`[focus-stage-lifecycle] Ratify-release: not all held deliveries queued ` +
126
- `for "${focus.focusName}" (released ${released}); leaving read_only=true ` +
127
- `to retry next tick.`);
128
- return released;
129
- }
130
- try {
131
- await deps.updateFocusReadOnly(focus.focusId, false);
132
- }
133
- catch (err) {
134
- log.warn(`[focus-stage-lifecycle] Ratify-release: held deliveries queued for ` +
135
- `"${focus.focusName}" but failed to flip read_only=false (will retry ` +
136
- `next tick): ${err.message}`);
137
- return released;
120
+ if (!result.crossed) {
121
+ // The RPC re-read the predicate and found no crossing to make -- already
122
+ // crossed by an earlier tick, or ratified_at cleared under us. Not an
123
+ // error, and nothing was written.
124
+ return 0;
138
125
  }
126
+ const { released } = result;
139
127
  log.info(`[focus-stage-lifecycle] Focus "${focus.focusName}" ratified -> execute: ` +
140
128
  `read_only=false, released ${released} held planning ` +
141
- `deliver${released === 1 ? 'y' : 'ies'} to queued.`);
129
+ `deliver${released === 1 ? 'y' : 'ies'} to queued (one transaction).`);
142
130
  deps.emitLoopTrigger({
143
131
  type: 'focus_status_changed',
144
132
  focusId: focus.focusId,
@@ -1 +1 @@
1
- {"version":3,"file":"planning-release.js","sourceRoot":"","sources":["../../src/focus-stage-lifecycle/planning-release.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"planning-release.js","sourceRoot":"","sources":["../../src/focus-stage-lifecycle/planning-release.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * THE RATIFY CROSSING STATES A BAR, OR IT DOES NOT HAPPEN.
3
+ *
4
+ * WHY THIS EXISTS. A read_only (audit) focus is armed in order to go and
5
+ * DISCOVER what its tree should say, so its role arm states no bar and the
6
+ * database does not refuse it -- it stamps an honest empty `[]`. That empty
7
+ * stamp used to be treated as harmless, on the reasoning that nothing waits on
8
+ * an audit focus's bar. It is not harmless: `releaseRatifiedReadOnlyFocus`
9
+ * (planning-release.ts) later releases the focus's held 'planning' deliveries
10
+ * to 'queued' and flips read_only=false with NO new arm and NO re-stamp, so
11
+ * execution proceeded under a bar that stated nothing and no reviewer could
12
+ * hold the work against anything (review finding, delivery 3e6bacf5).
13
+ *
14
+ * So the rule binds the write that IS the audit focus's go-signal. Migration
15
+ * 20260922173056 refuses the read_only TRUE -> FALSE crossing when the focus
16
+ * states no bar, and re-stamps the whole baseline from the CURRENT tree when it
17
+ * does. This module is the daemon's half of that: ASK FIRST, so the refusal
18
+ * never has to arrive in the middle of a crossing that has already queued
19
+ * deliveries.
20
+ *
21
+ * WHY ASKING FIRST MATTERS HERE and not merely as politeness: the crossing is
22
+ * deliberately ordered release-then-flip, so that a partial release retries
23
+ * (see planning-release.ts). A refusal landing on the flip would therefore
24
+ * leave the deliveries queued and read_only still true -- released work under
25
+ * an audit flag, the worst of both. Holding BEFORE the release keeps the focus
26
+ * exactly where it was.
27
+ *
28
+ * FAIL CLOSED = HOLD. An unreadable bar holds the crossing, because crossing on
29
+ * an unproven bar spends the human's ratification on a run nobody can judge,
30
+ * and only a new ratification restores it. A hold costs one poll tick.
31
+ *
32
+ * WHAT IS RECORDED, AND WHERE. The same `focus_debug_artifacts` section the PRD
33
+ * frontier's refused arm uses (`arm_refused`, one row per focus, rendered on
34
+ * the focus Debug tab, read by NOTHING in the machine's decision path) through
35
+ * the same writer (`prd/arm-refusal.ts` `recordArmRefusalSection`), so there is
36
+ * one row and one since-when line rather than two vocabularies for "this focus
37
+ * states no future". Only a READABLE refusal is recorded: "the tree says this
38
+ * focus states nothing" is a finding an operator acts on, while "I could not
39
+ * read the tree" is a transient the next tick retries, and recording the second
40
+ * as the first would put a permanent-looking note on a healthy focus.
41
+ *
42
+ * NOTHING HERE ESCALATES. An audit whose findings state no future is a waiting
43
+ * state whose fix is a restatement on a tree node -- work an agent does, not a
44
+ * question for a human queue.
45
+ *
46
+ * @module focus-stage-lifecycle/ratify-bar-gate
47
+ */
48
+ import { readFocusStatesABar as defaultReadFocusStatesABar } from '../prd/arm-readiness.js';
49
+ import { clearArmRefusal as defaultClearArmRefusal, recordArmRefusalSection as defaultRecordArmRefusalSection } from '../prd/arm-refusal.js';
50
+ /** The focus identity this gate reads and reports on. */
51
+ export interface RatifyBarFocus {
52
+ focusId: string;
53
+ focusName: string;
54
+ }
55
+ /** Injectable seam (tests drive it with no API and no mock.module). */
56
+ export interface RatifyBarGateDeps {
57
+ readFocusStatesABar: typeof defaultReadFocusStatesABar;
58
+ recordArmRefusalSection: typeof defaultRecordArmRefusalSection;
59
+ clearArmRefusal: typeof defaultClearArmRefusal;
60
+ now: () => Date;
61
+ }
62
+ /** Production wiring. */
63
+ export declare const defaultRatifyBarGateDeps: RatifyBarGateDeps;
64
+ /**
65
+ * Render the operator-facing record. PURE.
66
+ *
67
+ * `detail` is whatever named the refusal: the daemon's own reading of the tree
68
+ * when it held the crossing, or the DATABASE's verbatim message when a refusal
69
+ * arrived anyway. Neither is re-worded -- the node list is the half a human
70
+ * needs and only the reader that produced it could resolve.
71
+ */
72
+ export declare function renderRatifyBarRefusalArtifact(args: {
73
+ focusName: string;
74
+ focusId: string;
75
+ detail: string;
76
+ observedAt: string;
77
+ /** True when the DATABASE refused the write; false when the daemon held first. */
78
+ refusedByDatabase: boolean;
79
+ }, since: string): string;
80
+ /**
81
+ * Should the ratify crossing be held? Answered BEFORE anything is released.
82
+ *
83
+ * `true` => hold: release nothing, leave read_only=true, and the next tick asks
84
+ * again. The reason is logged, and a readable refusal is also recorded durably.
85
+ * `false` => the focus states a bar; any stale record is cleared and the
86
+ * crossing proceeds.
87
+ */
88
+ export declare function holdRatifyForUnstatedBar(focus: RatifyBarFocus, deps?: RatifyBarGateDeps): Promise<boolean>;
89
+ /**
90
+ * The backstop: a refusal that arrived ANYWAY, on the read_only flip itself.
91
+ *
92
+ * The pre-check and the trigger read the tree at two different instants and
93
+ * through two different paths (the injection bundle's `nowTargets` vs the
94
+ * `targets` edges), so they CAN disagree without either being wrong. When they
95
+ * do, the crossing degrades to "held, recorded" -- never to a crash and never
96
+ * to a silent log line -- and the next tick re-asks. A failure that is NOT the
97
+ * criteria refusal is logged as before and records nothing: it is an ordinary
98
+ * transient, not a statement about this focus's bar.
99
+ *
100
+ * RECOGNITION DEPENDS ON THE EDGE CARRYING THE TEXT. `daemon_update_focus_status`
101
+ * answers a refused flip with the database's message verbatim and
102
+ * `code: 'arm_criteria_required'`. In the deploy-order window -- migration live,
103
+ * edge function not -- the same refusal comes back as an opaque 500, so it is
104
+ * logged and held but not recorded. That degradation is deliberate: the
105
+ * alternative is recording every transient as a statement about the bar.
106
+ */
107
+ export declare function noteRatifyFlipFailure(focus: RatifyBarFocus, err: unknown, deps?: RatifyBarGateDeps): Promise<void>;
108
+ //# sourceMappingURL=ratify-bar-gate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ratify-bar-gate.d.ts","sourceRoot":"","sources":["../../src/focus-stage-lifecycle/ratify-bar-gate.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,OAAO,EACL,mBAAmB,IAAI,0BAA0B,EAElD,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAIL,eAAe,IAAI,sBAAsB,EACzC,uBAAuB,IAAI,8BAA8B,EAC1D,MAAM,uBAAuB,CAAC;AAK/B,yDAAyD;AACzD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,uEAAuE;AACvE,MAAM,WAAW,iBAAiB;IAChC,mBAAmB,EAAE,OAAO,0BAA0B,CAAC;IACvD,uBAAuB,EAAE,OAAO,8BAA8B,CAAC;IAC/D,eAAe,EAAE,OAAO,sBAAsB,CAAC;IAC/C,GAAG,EAAE,MAAM,IAAI,CAAC;CACjB;AAED,yBAAyB;AACzB,eAAO,MAAM,wBAAwB,EAAE,iBAKtC,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE;IACJ,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,kFAAkF;IAClF,iBAAiB,EAAE,OAAO,CAAC;CAC5B,EACD,KAAK,EAAE,MAAM,GACZ,MAAM,CA4BR;AAsBD;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,cAAc,EACrB,IAAI,GAAE,iBAA4C,GACjD,OAAO,CAAC,OAAO,CAAC,CAgClB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,cAAc,EACrB,GAAG,EAAE,OAAO,EACZ,IAAI,GAAE,iBAA4C,GACjD,OAAO,CAAC,IAAI,CAAC,CAYf"}
@@ -0,0 +1,174 @@
1
+ // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
+ // Pinned by: packages/daemon/src/focus-stage-lifecycle/ratify-bar-gate.test.ts
3
+ // PINNED-BY-END
4
+ /**
5
+ * THE RATIFY CROSSING STATES A BAR, OR IT DOES NOT HAPPEN.
6
+ *
7
+ * WHY THIS EXISTS. A read_only (audit) focus is armed in order to go and
8
+ * DISCOVER what its tree should say, so its role arm states no bar and the
9
+ * database does not refuse it -- it stamps an honest empty `[]`. That empty
10
+ * stamp used to be treated as harmless, on the reasoning that nothing waits on
11
+ * an audit focus's bar. It is not harmless: `releaseRatifiedReadOnlyFocus`
12
+ * (planning-release.ts) later releases the focus's held 'planning' deliveries
13
+ * to 'queued' and flips read_only=false with NO new arm and NO re-stamp, so
14
+ * execution proceeded under a bar that stated nothing and no reviewer could
15
+ * hold the work against anything (review finding, delivery 3e6bacf5).
16
+ *
17
+ * So the rule binds the write that IS the audit focus's go-signal. Migration
18
+ * 20260922173056 refuses the read_only TRUE -> FALSE crossing when the focus
19
+ * states no bar, and re-stamps the whole baseline from the CURRENT tree when it
20
+ * does. This module is the daemon's half of that: ASK FIRST, so the refusal
21
+ * never has to arrive in the middle of a crossing that has already queued
22
+ * deliveries.
23
+ *
24
+ * WHY ASKING FIRST MATTERS HERE and not merely as politeness: the crossing is
25
+ * deliberately ordered release-then-flip, so that a partial release retries
26
+ * (see planning-release.ts). A refusal landing on the flip would therefore
27
+ * leave the deliveries queued and read_only still true -- released work under
28
+ * an audit flag, the worst of both. Holding BEFORE the release keeps the focus
29
+ * exactly where it was.
30
+ *
31
+ * FAIL CLOSED = HOLD. An unreadable bar holds the crossing, because crossing on
32
+ * an unproven bar spends the human's ratification on a run nobody can judge,
33
+ * and only a new ratification restores it. A hold costs one poll tick.
34
+ *
35
+ * WHAT IS RECORDED, AND WHERE. The same `focus_debug_artifacts` section the PRD
36
+ * frontier's refused arm uses (`arm_refused`, one row per focus, rendered on
37
+ * the focus Debug tab, read by NOTHING in the machine's decision path) through
38
+ * the same writer (`prd/arm-refusal.ts` `recordArmRefusalSection`), so there is
39
+ * one row and one since-when line rather than two vocabularies for "this focus
40
+ * states no future". Only a READABLE refusal is recorded: "the tree says this
41
+ * focus states nothing" is a finding an operator acts on, while "I could not
42
+ * read the tree" is a transient the next tick retries, and recording the second
43
+ * as the first would put a permanent-looking note on a healthy focus.
44
+ *
45
+ * NOTHING HERE ESCALATES. An audit whose findings state no future is a waiting
46
+ * state whose fix is a restatement on a tree node -- work an agent does, not a
47
+ * question for a human queue.
48
+ *
49
+ * @module focus-stage-lifecycle/ratify-bar-gate
50
+ */
51
+ import { readFocusStatesABar as defaultReadFocusStatesABar, } from '../prd/arm-readiness.js';
52
+ import { ARM_CRITERIA_REQUIRED_PREFIX, REFUSED_SINCE_PREFIX, classifyArmFailure, clearArmRefusal as defaultClearArmRefusal, recordArmRefusalSection as defaultRecordArmRefusalSection, } from '../prd/arm-refusal.js';
53
+ import { createLogger } from '../shell/log.js';
54
+ const log = createLogger({ module: 'focus-stage-lifecycle' });
55
+ /** Production wiring. */
56
+ export const defaultRatifyBarGateDeps = {
57
+ readFocusStatesABar: defaultReadFocusStatesABar,
58
+ recordArmRefusalSection: defaultRecordArmRefusalSection,
59
+ clearArmRefusal: defaultClearArmRefusal,
60
+ now: () => new Date(),
61
+ };
62
+ /**
63
+ * Render the operator-facing record. PURE.
64
+ *
65
+ * `detail` is whatever named the refusal: the daemon's own reading of the tree
66
+ * when it held the crossing, or the DATABASE's verbatim message when a refusal
67
+ * arrived anyway. Neither is re-worded -- the node list is the half a human
68
+ * needs and only the reader that produced it could resolve.
69
+ */
70
+ export function renderRatifyBarRefusalArtifact(args, since) {
71
+ const { focusName, focusId, detail, observedAt, refusedByDatabase } = args;
72
+ return [
73
+ '# Ratify held: this focus states no future to judge the released work against',
74
+ '',
75
+ 'A human ratified this audit focus, so its held remediation deliveries are due to',
76
+ 'be released into execution. They have NOT been released, and the focus is still',
77
+ 'read-only: ratification is this focus\'s go-signal, and a go-signal that states',
78
+ 'no bar would put work into execution that no review could measure.',
79
+ '',
80
+ 'Nothing is lost and nothing is frozen. Write the futures below, and the next',
81
+ 'poll crosses on its own -- this record clears when it does.',
82
+ '',
83
+ `${REFUSED_SINCE_PREFIX}${since}`,
84
+ `Last held: ${observedAt}`,
85
+ `Focus: ${focusName} (${focusId})`,
86
+ `Held by: ${refusedByDatabase ? 'the database, at the crossing' : 'the daemon, before releasing anything'}`,
87
+ '',
88
+ '## What states no future',
89
+ '',
90
+ detail,
91
+ '',
92
+ '## What clears it',
93
+ '',
94
+ 'Anchor the remediation delivery to an injection that targets an undesired effect,',
95
+ 'and give every covered undesired effect an frt_statement -- the future the world',
96
+ 'reads as once the remediation has landed.',
97
+ ].join('\n');
98
+ }
99
+ /** Record the held crossing. NEVER throws (see `recordArmRefusalSection`). */
100
+ async function recordRatifyBarRefusal(focus, detail, refusedByDatabase, deps) {
101
+ const observedAt = deps.now().toISOString();
102
+ await deps.recordArmRefusalSection({
103
+ focusId: focus.focusId,
104
+ observedAt,
105
+ detail,
106
+ render: (since) => renderRatifyBarRefusalArtifact({ focusName: focus.focusName, focusId: focus.focusId, detail, observedAt, refusedByDatabase }, since),
107
+ });
108
+ }
109
+ /**
110
+ * Should the ratify crossing be held? Answered BEFORE anything is released.
111
+ *
112
+ * `true` => hold: release nothing, leave read_only=true, and the next tick asks
113
+ * again. The reason is logged, and a readable refusal is also recorded durably.
114
+ * `false` => the focus states a bar; any stale record is cleared and the
115
+ * crossing proceeds.
116
+ */
117
+ export async function holdRatifyForUnstatedBar(focus, deps = defaultRatifyBarGateDeps) {
118
+ let standing;
119
+ try {
120
+ standing = await deps.readFocusStatesABar(focus.focusId);
121
+ }
122
+ catch (err) {
123
+ // readFocusStatesABar does not throw; a dep that does still holds, never
124
+ // crosses. Fail closed, exactly as an unreadable bar does.
125
+ log.warn(`[focus-stage-lifecycle] Ratify-release: could not read whether "${focus.focusName}" ` +
126
+ `states a bar (${err.message}); holding the crossing.`);
127
+ return true;
128
+ }
129
+ if (standing.statesABar) {
130
+ // The crossing is going ahead: a record from an earlier held tick is stale.
131
+ await deps.clearArmRefusal(focus.focusId);
132
+ return false;
133
+ }
134
+ if (!standing.readable) {
135
+ log.warn(`[focus-stage-lifecycle] Ratify-release: holding "${focus.focusName}" -- ` +
136
+ `${standing.reason}. Retrying next tick.`);
137
+ return true;
138
+ }
139
+ log.warn(`[focus-stage-lifecycle] Ratify-release: HELD for "${focus.focusName}" -- ` +
140
+ `${standing.reason}. Nothing released, read_only left true; the crossing runs ` +
141
+ `once every covered effect states its future.`);
142
+ await recordRatifyBarRefusal(focus, standing.reason, false, deps);
143
+ return true;
144
+ }
145
+ /**
146
+ * The backstop: a refusal that arrived ANYWAY, on the read_only flip itself.
147
+ *
148
+ * The pre-check and the trigger read the tree at two different instants and
149
+ * through two different paths (the injection bundle's `nowTargets` vs the
150
+ * `targets` edges), so they CAN disagree without either being wrong. When they
151
+ * do, the crossing degrades to "held, recorded" -- never to a crash and never
152
+ * to a silent log line -- and the next tick re-asks. A failure that is NOT the
153
+ * criteria refusal is logged as before and records nothing: it is an ordinary
154
+ * transient, not a statement about this focus's bar.
155
+ *
156
+ * RECOGNITION DEPENDS ON THE EDGE CARRYING THE TEXT. `daemon_update_focus_status`
157
+ * answers a refused flip with the database's message verbatim and
158
+ * `code: 'arm_criteria_required'`. In the deploy-order window -- migration live,
159
+ * edge function not -- the same refusal comes back as an opaque 500, so it is
160
+ * logged and held but not recorded. That degradation is deliberate: the
161
+ * alternative is recording every transient as a statement about the bar.
162
+ */
163
+ export async function noteRatifyFlipFailure(focus, err, deps = defaultRatifyBarGateDeps) {
164
+ const failure = classifyArmFailure(err);
165
+ const isRefusal = failure.kind === 'criteria_required' ||
166
+ failure.detail.includes(ARM_CRITERIA_REQUIRED_PREFIX);
167
+ log.warn(`[focus-stage-lifecycle] Ratify-release: held deliveries queued for ` +
168
+ `"${focus.focusName}" but failed to flip read_only=false (will retry next tick): ` +
169
+ `${failure.detail}`);
170
+ if (!isRefusal)
171
+ return;
172
+ await recordRatifyBarRefusal(focus, failure.detail, true, deps);
173
+ }
174
+ //# sourceMappingURL=ratify-bar-gate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ratify-bar-gate.js","sourceRoot":"","sources":["../../src/focus-stage-lifecycle/ratify-bar-gate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"merge-to-main.d.ts","sourceRoot":"","sources":["../../src/git/merge-to-main.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAc,KAAK,WAAW,EAAE,KAAK,aAAa,EAAwB,MAAM,YAAY,CAAC;AAIpG,OAAO,EAGL,KAAK,cAAc,EAEnB,KAAK,mBAAmB,EACzB,MAAM,oBAAoB,CAAC;AAU5B,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,YAAY,CAAC;IACrB,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,YAAY,EAAE,OAAO,CAAC;IACtB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B;;;;;;;;;;;;OAYG;IACH,WAAW,EAAE,cAAc,GAAG,SAAS,CAAC;CACzC;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,4BAA4B,GACnC,OAAO,CAAC,WAAW,GAAG;IAAE,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAAC,MAAM,CAAC,EAAE,mBAAmB,CAAA;CAAE,CAAC,CAoPtF"}
1
+ {"version":3,"file":"merge-to-main.d.ts","sourceRoot":"","sources":["../../src/git/merge-to-main.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAc,KAAK,WAAW,EAAE,KAAK,aAAa,EAAwB,MAAM,YAAY,CAAC;AAIpG,OAAO,EAGL,KAAK,cAAc,EAEnB,KAAK,mBAAmB,EACzB,MAAM,oBAAoB,CAAC;AAU5B,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,YAAY,CAAC;IACrB,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,YAAY,EAAE,OAAO,CAAC;IACtB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B;;;;;;;;;;;;OAYG;IACH,WAAW,EAAE,cAAc,GAAG,SAAS,CAAC;CACzC;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,4BAA4B,GACnC,OAAO,CAAC,WAAW,GAAG;IAAE,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAAC,MAAM,CAAC,EAAE,mBAAmB,CAAA;CAAE,CAAC,CAqPtF"}
@@ -1 +1 @@
1
- {"version":3,"file":"merge-to-main.js","sourceRoot":"","sources":["../../src/git/merge-to-main.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,0FAA0F;AAC1F,gBAAgB;AAahB,OAAO,EAAE,UAAU,EAAwC,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACpG,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EACL,kBAAkB,EAClB,mBAAmB,GAIpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,6BAA6B,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAE9H,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AA+C3C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAAoC;IAEpC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,GAAG,cAAc,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;IAEhG,OAAO,aAAa,CAAC,KAAK,IAAI,EAAE;QAC9B,MAAM,GAAG,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrD,8EAA8E;QAC9E,yEAAyE;QACzE,qEAAqE;QACrE,MAAM,QAAQ,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EACH,8DAA8D,MAAM,CAAC,iBAAiB,QAAQ;oBAC9F,GAAG,UAAU,gCAAgC,QAAQ,CAAC,OAAO,IAAI,SAAS,EAAE;gBAC9E,YAAY,EAAE,MAAM,CAAC,iBAAiB;gBACtC,YAAY,EAAE,UAAU;aACzB,CAAC;QACJ,CAAC;QACD,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEpD,uEAAuE;QACvE,uEAAuE;QACvE,qEAAqE;QACrE,uDAAuD;QACvD,IAAI,YAAY,IAAI,CAAC,UAAU,EAAE,CAAC;YAChC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,8DAA8D;gBACrE,YAAY,EAAE,MAAM,CAAC,iBAAiB;gBACtC,YAAY,EAAE,UAAU;aACzB,CAAC;QACJ,CAAC;QAED,oBAAoB;QACpB,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnD,CAAC;QAED,uEAAuE;QACvE,uEAAuE;QACvE,2EAA2E;QAC3E,wEAAwE;QACxE,0EAA0E;QAC1E,yEAAyE;QACzE,2EAA2E;QAC3E,2EAA2E;QAC3E,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,4DAA4D;gBAC5D,qEAAqE;gBACrE,uEAAuE;gBACvE,gDAAgD;gBAChD,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;YAC1E,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,IAAI,CAAC,0DAA2D,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/F,CAAC;YACD,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,MAAM,GAAgB,SAAS,CAAC;gBACpC,IAAI,CAAC;oBACH,MAAM,GAAG,MAAM,WAAW,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC,CAAC;gBACtG,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,IAAI,CAAC,6BAA6B,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC7F,CAAC;gBACD,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;gBACxC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;oBAClB,qEAAqE;oBACrE,oEAAoE;oBACpE,qEAAqE;oBACrE,uEAAuE;oBACvE,2DAA2D;oBAC3D,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;oBACpD,MAAM,MAAM,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;oBAC9C,GAAG,CAAC,IAAI,CACN,WAAW,MAAM,CAAC,iBAAiB,KAAK,UAAU,SAAS,SAAS,MAAM,IAAI,CAAC,MAAM,GAAG;wBACxF,QAAQ,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,MAAM,IAAI,CAC/C,CAAC;oBACF,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAE;wBAC1E,YAAY,EAAE,MAAM,CAAC,iBAAiB;wBACtC,YAAY,EAAE,UAAU;qBACzB,CAAC;gBACJ,CAAC;gBACD,GAAG,CAAC,IAAI,CAAC,uBAAuB,SAAS,MAAM,IAAI,CAAC,MAAM,SAAS,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;YACjG,CAAC;QACH,CAAC;QAED,2EAA2E;QAC3E,6EAA6E;QAC7E,4EAA4E;QAC5E,2EAA2E;QAC3E,6EAA6E;QAC7E,qEAAqE;QACrE,uEAAuE;QACvE,8EAA8E;QAC9E,wEAAwE;QACxE,0EAA0E;QAC1E,qEAAqE;QACrE,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7E,MAAM,aAAa,GAAG,6BAA6B,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;QACtF,MAAM,uBAAuB,GAAG,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;QACnF,MAAM,yBAAyB,GAAG,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;QAEpF,yEAAyE;QACzE,0EAA0E;QAC1E,0EAA0E;QAC1E,2EAA2E;QAC3E,mEAAmE;QACnE,yCAAyC;QACzC,MAAM,cAAc,GAAG,UAAU,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7E,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YAC5B,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,sBAAsB,UAAU,KAAK,cAAc,CAAC,KAAK,EAAE;gBAClE,YAAY,EAAE,MAAM,CAAC,iBAAiB;gBACtC,YAAY,EAAE,UAAU;aACzB,CAAC;QACJ,CAAC;QAED,yEAAyE;QACzE,yEAAyE;QACzE,2EAA2E;QAC3E,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,UAAU,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QAClE,CAAC;QAED,oCAAoC;QACpC,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;QAE3D,0EAA0E;QAC1E,yEAAyE;QACzE,yDAAyD;QACzD,IAAI,MAAM,GAAG,kBAAkB,CAC7B,GAAG,EACH,MAAM,CAAC,iBAAiB,EACxB,UAAU,EACV,aAAa,CACd,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;gBACL,GAAG,MAAM;gBACT,KAAK,EAAE,GAAG,MAAM,CAAC,KAAK,IAAI,eAAe,aAAa,MAAM,CAAC,iBAAiB,SAAS,UAAU,QAAQ,aAAa,GAAG;gBACzH,YAAY,EAAE,MAAM,CAAC,iBAAiB;gBACtC,YAAY,EAAE,UAAU;aACzB,CAAC;QACJ,CAAC;QAED,2BAA2B;QAC3B,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YAC3C,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC;QACtD,CAAC;QACD,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;QAE3E,2EAA2E;QAC3E,4EAA4E;QAC5E,2EAA2E;QAC3E,2BAA2B;QAC3B,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,YAAY,EAAE,cAAc,UAAU,EAAE,EAAE,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;YAC1F,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;gBACvB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,qBAAqB,UAAU,yBAAyB,SAAS,CAAC,KAAK,EAAE;oBAChF,YAAY,EAAE,MAAM,CAAC,iBAAiB;oBACtC,YAAY,EAAE,UAAU;iBACzB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,4CAA4C;QAC5C,IAAI,QAAsC,CAAC;QAC3C,IAAI,UAAU,IAAI,YAAY,EAAE,CAAC;YAC/B,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;YAEnE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBACxB,mEAAmE;gBACnE,qEAAqE;gBACrE,yBAAyB;gBACzB,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;oBAC1B,UAAU,CAAC,CAAC,YAAY,EAAE,cAAc,UAAU,EAAE,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;gBACpF,CAAC;gBACD,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;oBACxB,OAAO,6BAA6B,CAAC;wBACnC,QAAQ,EAAE,GAAG;wBACb,MAAM,EAAE,UAAU;wBAClB,WAAW,EAAE,WAAW,CAAC,MAAM;wBAC/B,SAAS,EAAE,UAAU,CAAC,KAAK;wBAC3B,YAAY,EAAE,MAAM,CAAC,iBAAiB;wBACtC,YAAY,EAAE,UAAU;qBACzB,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,gDAAgD,UAAU,CAAC,KAAK,EAAE;oBACzE,YAAY,EAAE,MAAM,CAAC,iBAAiB;oBACtC,YAAY,EAAE,UAAU;iBACzB,CAAC;YACJ,CAAC;YAED,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YACzF,QAAQ,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAChF,CAAC;QAED,6EAA6E;QAC7E,4EAA4E;QAC5E,4EAA4E;QAC5E,+DAA+D;QAC/D,IAAI,UAAU,EAAE,CAAC;YACf,KAAK,MAAM,EAAE,IAAI,uBAAuB,EAAE,CAAC;gBACzC,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC9D,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;oBACnB,GAAG,CAAC,IAAI,CACN,iBAAiB,UAAU,mCAAmC,EAAE,KAAK,KAAK,CAAC,KAAK,EAAE,CACnF,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,yEAAyE;YACzE,0EAA0E;YAC1E,qEAAqE;YACrE,qDAAqD;YACrD,KAAK,MAAM,EAAE,IAAI,yBAAyB,EAAE,CAAC;gBAC3C,GAAG,CAAC,IAAI,CACN,iBAAiB,UAAU,OAAO,UAAU,iBAAiB,EAAE,mBAAmB;oBAClF,+EAA+E;oBAC/E,GAAG,UAAU,wEAAwE;oBACrF,gBAAgB,EAAE,iBAAiB,UAAU,iBAAiB,CAC/D,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC7D,GAAG,CAAC,IAAI,CAAC,gBAAgB,MAAM,IAAI,MAAM,CAAC,iBAAiB,SAAS,UAAU,EAAE,CAAC,CAAC;QAClF,OAAO;YACL,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YACjE,QAAQ;SACT,CAAC;IACJ,CAAC,EAAE,0BAA0B,SAAS,EAAE,CAAC,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"merge-to-main.js","sourceRoot":"","sources":["../../src/git/merge-to-main.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@
17
17
  * agent_telemetry_metrics too -- the same capture path as the audit assessor
18
18
  * (spawn/lifecycle.ts buildAuditMetricRow).
19
19
  */
20
- import { type ChildProcess } from 'node:child_process';
20
+ import type { ChildProcess } from 'node:child_process';
21
21
  import { bufferMetric, type TelemetryMetricRow } from '../otlp/telemetry-writer.js';
22
22
  import type { LoopUpdatePrompt } from './prompt-builder.js';
23
23
  /** Anthropic usage block (token counts). All fields optional/defensive. */
@@ -1 +1 @@
1
- {"version":3,"file":"llm-client.d.ts","sourceRoot":"","sources":["../../src/loops/llm-client.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAG9D,OAAO,EAAE,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAU5D,2EAA2E;AAC3E,UAAU,cAAc;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AAiBD,0EAA0E;AAC1E,MAAM,WAAW,eAAe;IAC9B,iEAAiE;IACjE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mFAAmF;IACnF,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,UAAU,SAAS;IACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,cAAc;IAC7B,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,KAAK,YAAY,CAAC;IACzE;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IACtF;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,YAAY,CAAC;CACpC;AA+CD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,MAAM,CAchF;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IACzC,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,cAAc,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,GAAG,kBAAkB,CA4BrB;AAwGD;;;;;;;;;;;;GAYG;AACH,wBAAsB,WAAW,CAC/B,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,MAAM,GAAG,IAAW,EAC7B,KAAK,GAAE,MAAM,GAAG,IAAW,EAC3B,IAAI,GAAE,cAAmB,GACxB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmCxB"}
1
+ {"version":3,"file":"llm-client.d.ts","sourceRoot":"","sources":["../../src/loops/llm-client.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAU5D,2EAA2E;AAC3E,UAAU,cAAc;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,0EAA0E;AAC1E,MAAM,WAAW,eAAe;IAC9B,iEAAiE;IACjE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mFAAmF;IACnF,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,UAAU,SAAS;IACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,cAAc;IAC7B,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,KAAK,YAAY,CAAC;IACzE;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IACtF;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,YAAY,CAAC;CACpC;AA8CD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,MAAM,CAchF;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IACzC,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,cAAc,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,GAAG,kBAAkB,CA4BrB;AAqCD;;;;;;;;;;;;GAYG;AACH,wBAAsB,WAAW,CAC/B,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,MAAM,GAAG,IAAW,EAC7B,KAAK,GAAE,MAAM,GAAG,IAAW,EAC3B,IAAI,GAAE,cAAmB,GACxB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmCxB"}