@telora/daemon 0.22.42 → 0.22.57

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 (168) hide show
  1. package/build-info.json +4 -3
  2. package/dist/completion/detector.d.ts +37 -0
  3. package/dist/completion/detector.d.ts.map +1 -1
  4. package/dist/completion/detector.js +92 -5
  5. package/dist/completion/detector.js.map +1 -1
  6. package/dist/completion/event-phases.d.ts +6 -3
  7. package/dist/completion/event-phases.d.ts.map +1 -1
  8. package/dist/completion/event-phases.js +20 -8
  9. package/dist/completion/event-phases.js.map +1 -1
  10. package/dist/completion/event.d.ts +69 -9
  11. package/dist/completion/event.d.ts.map +1 -1
  12. package/dist/completion/event.js +108 -22
  13. package/dist/completion/event.js.map +1 -1
  14. package/dist/completion/index.js +1 -1
  15. package/dist/completion/review-exit-phase.d.ts.map +1 -1
  16. package/dist/completion/review-exit-phase.js +5 -4
  17. package/dist/completion/review-exit-phase.js.map +1 -1
  18. package/dist/completion/state-cascade.d.ts +7 -1
  19. package/dist/completion/state-cascade.d.ts.map +1 -1
  20. package/dist/completion/state-cascade.js +70 -8
  21. package/dist/completion/state-cascade.js.map +1 -1
  22. package/dist/completion/stdin-turn-tracker.d.ts +7 -0
  23. package/dist/completion/stdin-turn-tracker.d.ts.map +1 -1
  24. package/dist/completion/stdin-turn-tracker.js +32 -4
  25. package/dist/completion/stdin-turn-tracker.js.map +1 -1
  26. package/dist/completion/supervision-firing-record.d.ts +64 -12
  27. package/dist/completion/supervision-firing-record.d.ts.map +1 -1
  28. package/dist/completion/supervision-firing-record.js +75 -15
  29. package/dist/completion/supervision-firing-record.js.map +1 -1
  30. package/dist/completion/team-lifecycle.d.ts.map +1 -1
  31. package/dist/completion/team-lifecycle.js +34 -18
  32. package/dist/completion/team-lifecycle.js.map +1 -1
  33. package/dist/completion/team-liveness-log.d.ts +21 -0
  34. package/dist/completion/team-liveness-log.d.ts.map +1 -1
  35. package/dist/completion/team-liveness-log.js +22 -0
  36. package/dist/completion/team-liveness-log.js.map +1 -1
  37. package/dist/delivery/delivery-reconciler.d.ts.map +1 -1
  38. package/dist/delivery/delivery-reconciler.js +4 -2
  39. package/dist/delivery/delivery-reconciler.js.map +1 -1
  40. package/dist/directive/directive-dispatch.d.ts.map +1 -1
  41. package/dist/directive/directive-dispatch.js +55 -52
  42. package/dist/directive/directive-dispatch.js.map +1 -1
  43. package/dist/directive/directive-executor.d.ts +0 -9
  44. package/dist/directive/directive-executor.d.ts.map +1 -1
  45. package/dist/directive/directive-executor.js +47 -32
  46. package/dist/directive/directive-executor.js.map +1 -1
  47. package/dist/directive/directive-verify-hold-gate.d.ts +13 -0
  48. package/dist/directive/directive-verify-hold-gate.d.ts.map +1 -1
  49. package/dist/directive/directive-verify-hold-gate.js +10 -0
  50. package/dist/directive/directive-verify-hold-gate.js.map +1 -1
  51. package/dist/directive/phase-sync.d.ts +11 -0
  52. package/dist/directive/phase-sync.d.ts.map +1 -1
  53. package/dist/directive/phase-sync.js +12 -0
  54. package/dist/directive/phase-sync.js.map +1 -1
  55. package/dist/focus/focus-executor.js +1 -1
  56. package/dist/focus/focus-team-state.d.ts.map +1 -1
  57. package/dist/focus/focus-team-state.js +1 -0
  58. package/dist/focus/focus-team-state.js.map +1 -1
  59. package/dist/focus/focus-worktree-state.d.ts.map +1 -1
  60. package/dist/focus/focus-worktree-state.js +2 -1
  61. package/dist/focus/focus-worktree-state.js.map +1 -1
  62. package/dist/focus/listener-spawn.d.ts +4 -2
  63. package/dist/focus/listener-spawn.d.ts.map +1 -1
  64. package/dist/focus/listener-spawn.js +24 -5
  65. package/dist/focus/listener-spawn.js.map +1 -1
  66. package/dist/focus/listener.d.ts.map +1 -1
  67. package/dist/focus/listener.js +33 -14
  68. package/dist/focus/listener.js.map +1 -1
  69. package/dist/focus/session-health.d.ts +25 -3
  70. package/dist/focus/session-health.d.ts.map +1 -1
  71. package/dist/focus/session-health.js +32 -1
  72. package/dist/focus/session-health.js.map +1 -1
  73. package/dist/focus/team-actionable-work.d.ts +19 -2
  74. package/dist/focus/team-actionable-work.d.ts.map +1 -1
  75. package/dist/focus/team-actionable-work.js +10 -3
  76. package/dist/focus/team-actionable-work.js.map +1 -1
  77. package/dist/merge/focus-merge.d.ts +12 -1
  78. package/dist/merge/focus-merge.d.ts.map +1 -1
  79. package/dist/merge/focus-merge.js +33 -2
  80. package/dist/merge/focus-merge.js.map +1 -1
  81. package/dist/nexus/return.d.ts +45 -0
  82. package/dist/nexus/return.d.ts.map +1 -1
  83. package/dist/nexus/return.js +159 -45
  84. package/dist/nexus/return.js.map +1 -1
  85. package/dist/prompt/focus-prompt-builder.d.ts.map +1 -1
  86. package/dist/prompt/focus-prompt-builder.js +1 -0
  87. package/dist/prompt/focus-prompt-builder.js.map +1 -1
  88. package/dist/prompt/prompt-contradictions.d.ts.map +1 -1
  89. package/dist/prompt/prompt-contradictions.js +2 -1
  90. package/dist/prompt/prompt-contradictions.js.map +1 -1
  91. package/dist/prompt/team-prompt-base.d.ts.map +1 -1
  92. package/dist/prompt/team-prompt-base.js +1 -0
  93. package/dist/prompt/team-prompt-base.js.map +1 -1
  94. package/dist/prompt-sections/execution-sections.d.ts +4 -9
  95. package/dist/prompt-sections/execution-sections.d.ts.map +1 -1
  96. package/dist/prompt-sections/execution-sections.js +4 -74
  97. package/dist/prompt-sections/execution-sections.js.map +1 -1
  98. package/dist/prompt-sections/session-constraints-section.d.ts +21 -0
  99. package/dist/prompt-sections/session-constraints-section.d.ts.map +1 -0
  100. package/dist/prompt-sections/session-constraints-section.js +108 -0
  101. package/dist/prompt-sections/session-constraints-section.js.map +1 -0
  102. package/dist/queries/focuses.d.ts +13 -0
  103. package/dist/queries/focuses.d.ts.map +1 -1
  104. package/dist/queries/focuses.js +15 -0
  105. package/dist/queries/focuses.js.map +1 -1
  106. package/dist/queries/schemas.d.ts +12 -0
  107. package/dist/queries/schemas.d.ts.map +1 -1
  108. package/dist/queries/schemas.js +7 -0
  109. package/dist/queries/schemas.js.map +1 -1
  110. package/dist/queries/sessions.d.ts.map +1 -1
  111. package/dist/queries/sessions.js +1 -0
  112. package/dist/queries/sessions.js.map +1 -1
  113. package/dist/queries/verification.d.ts +9 -1
  114. package/dist/queries/verification.d.ts.map +1 -1
  115. package/dist/queries/verification.js +14 -2
  116. package/dist/queries/verification.js.map +1 -1
  117. package/dist/shell/heartbeat-metadata.d.ts +11 -0
  118. package/dist/shell/heartbeat-metadata.d.ts.map +1 -1
  119. package/dist/shell/heartbeat-metadata.js +3 -0
  120. package/dist/shell/heartbeat-metadata.js.map +1 -1
  121. package/dist/spawn/helpers.d.ts.map +1 -1
  122. package/dist/spawn/helpers.js +72 -52
  123. package/dist/spawn/helpers.js.map +1 -1
  124. package/dist/spawn/idle-work-stamp.d.ts +53 -0
  125. package/dist/spawn/idle-work-stamp.d.ts.map +1 -0
  126. package/dist/spawn/idle-work-stamp.js +47 -0
  127. package/dist/spawn/idle-work-stamp.js.map +1 -0
  128. package/dist/spawn/lead-continuation.d.ts +58 -0
  129. package/dist/spawn/lead-continuation.d.ts.map +1 -0
  130. package/dist/spawn/lead-continuation.js +127 -0
  131. package/dist/spawn/lead-continuation.js.map +1 -0
  132. package/dist/spawn/process-spawn.d.ts.map +1 -1
  133. package/dist/spawn/process-spawn.js +27 -13
  134. package/dist/spawn/process-spawn.js.map +1 -1
  135. package/dist/testing/fixtures/index.js +1 -1
  136. package/dist/types/focus.d.ts +54 -0
  137. package/dist/types/focus.d.ts.map +1 -1
  138. package/dist/types/index.js +1 -1
  139. package/dist/types/session.d.ts +11 -0
  140. package/dist/types/session.d.ts.map +1 -1
  141. package/dist/verify/stall-detector-config.d.ts +36 -0
  142. package/dist/verify/stall-detector-config.d.ts.map +1 -1
  143. package/dist/verify/stall-detector-config.js +44 -0
  144. package/dist/verify/stall-detector-config.js.map +1 -1
  145. package/dist/verify/stall-detectors.d.ts +40 -0
  146. package/dist/verify/stall-detectors.d.ts.map +1 -1
  147. package/dist/verify/stall-detectors.js +60 -6
  148. package/dist/verify/stall-detectors.js.map +1 -1
  149. package/dist/verify/stalled-team-backstop.d.ts +43 -0
  150. package/dist/verify/stalled-team-backstop.d.ts.map +1 -0
  151. package/dist/verify/stalled-team-backstop.js +131 -0
  152. package/dist/verify/stalled-team-backstop.js.map +1 -0
  153. package/dist/verify/verification-deps.d.ts +6 -1
  154. package/dist/verify/verification-deps.d.ts.map +1 -1
  155. package/dist/verify/verification-engine.d.ts.map +1 -1
  156. package/dist/verify/verification-engine.js +4 -3
  157. package/dist/verify/verification-engine.js.map +1 -1
  158. package/dist/verify/verification-evidence.d.ts +18 -0
  159. package/dist/verify/verification-evidence.d.ts.map +1 -1
  160. package/dist/verify/verification-evidence.js +53 -1
  161. package/dist/verify/verification-evidence.js.map +1 -1
  162. package/dist/verify/verify-reconciliation.d.ts.map +1 -1
  163. package/dist/verify/verify-reconciliation.js +2 -1
  164. package/dist/verify/verify-reconciliation.js.map +1 -1
  165. package/dist/worktree/verify-interlock.d.ts.map +1 -1
  166. package/dist/worktree/verify-interlock.js +2 -1
  167. package/dist/worktree/verify-interlock.js.map +1 -1
  168. package/package.json +3 -3
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Idle-with-work-remaining stamp.
3
+ *
4
+ * When a focus team lead emits a NON-ERROR result event ("I've reached a natural
5
+ * stopping point for this turn") while the focus still has agent-actionable
6
+ * deliveries, the lead has PARKED with work left -- the 2026-09-08 wedge this
7
+ * focus fixes. The daemon previously dropped that condition on the floor: the
8
+ * 'result' event handler (spawn/helpers.ts) logged the result and stamped
9
+ * errorResultAt ONLY when it was an error, so a success-with-work-remaining
10
+ * produced no state and no consequence until a coarse timer reaped the team.
11
+ *
12
+ * This module gives that condition a first-class stamp on FocusTeamState. It is
13
+ * SIGNAL ONLY: it changes no control flow. The "team continues" log reads the
14
+ * stamp to name a parked team at the instant it parks (completion/team-lifecycle.ts),
15
+ * and delivery cc5b15c7 re-engages the live lead with a continuation turn off the
16
+ * same stamp.
17
+ *
18
+ * @module spawn/idle-work-stamp
19
+ */
20
+ import type { FocusTeamState, FocusDeliveryInfo } from '../types/index.js';
21
+ /**
22
+ * Dependencies for the stamp, injectable for tests. Defaults read the focus's
23
+ * deliveries from the API and use the real clock. isStatusAgentActionable is the
24
+ * SAME predicate team-lifecycle.ts uses for "the team still has work" -- imported
25
+ * directly (pure) rather than injected, so a test drives it through delivery
26
+ * fixtures with real statuses.
27
+ */
28
+ export interface IdleWorkStampDeps {
29
+ getFocusDeliveries: (focusId: string) => Promise<FocusDeliveryInfo[]>;
30
+ now: () => number;
31
+ }
32
+ /**
33
+ * Resolve whether the focus still has agent-actionable work at the instant a lead
34
+ * result arrived, and if so STAMP idle-with-work-remaining on the team state
35
+ * (idleWithWorkRemainingAt + idleOutstandingDeliveryIds) and log the condition
36
+ * with the outstanding count.
37
+ *
38
+ * Gating (all three must hold to stamp):
39
+ * - the result is NOT an error (an error is owned by errorResultAt in
40
+ * spawn/helpers.ts; the two are distinct signals and an error never stamps here), AND
41
+ * - the focus has at least one agent-actionable delivery (a terminal focus is
42
+ * genuinely idle -- stamping it would mislabel a done team as parked).
43
+ *
44
+ * Returns the outstanding delivery ids it stamped (empty array when nothing was
45
+ * stamped). Safe to call unconditionally from the result handler.
46
+ */
47
+ export declare function stampIdleWithWorkRemaining(args: {
48
+ teamState: FocusTeamState;
49
+ focusId: string;
50
+ focusName: string;
51
+ isError: boolean;
52
+ }, deps?: IdleWorkStampDeps): Promise<string[]>;
53
+ //# sourceMappingURL=idle-work-stamp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idle-work-stamp.d.ts","sourceRoot":"","sources":["../../src/spawn/idle-work-stamp.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAO3E;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACtE,GAAG,EAAE,MAAM,MAAM,CAAC;CACnB;AAOD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE;IAAE,SAAS,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,EACzF,IAAI,GAAE,iBAA+B,GACpC,OAAO,CAAC,MAAM,EAAE,CAAC,CAuBnB"}
@@ -0,0 +1,47 @@
1
+ // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
+ // Pinned by: packages/daemon/src/spawn/idle-work-stamp.test.ts
3
+ // PINNED-BY-END
4
+ import { getFocusDeliveries as defaultGetFocusDeliveries } from '../queries/focuses.js';
5
+ import { isStatusAgentActionable } from '../workflow/stage-classifier.js';
6
+ import { createLogger } from '../shell/log.js';
7
+ const log = createLogger({ module: 'focus-executor' });
8
+ const defaultDeps = {
9
+ getFocusDeliveries: defaultGetFocusDeliveries,
10
+ now: () => Date.now(),
11
+ };
12
+ /**
13
+ * Resolve whether the focus still has agent-actionable work at the instant a lead
14
+ * result arrived, and if so STAMP idle-with-work-remaining on the team state
15
+ * (idleWithWorkRemainingAt + idleOutstandingDeliveryIds) and log the condition
16
+ * with the outstanding count.
17
+ *
18
+ * Gating (all three must hold to stamp):
19
+ * - the result is NOT an error (an error is owned by errorResultAt in
20
+ * spawn/helpers.ts; the two are distinct signals and an error never stamps here), AND
21
+ * - the focus has at least one agent-actionable delivery (a terminal focus is
22
+ * genuinely idle -- stamping it would mislabel a done team as parked).
23
+ *
24
+ * Returns the outstanding delivery ids it stamped (empty array when nothing was
25
+ * stamped). Safe to call unconditionally from the result handler.
26
+ */
27
+ export async function stampIdleWithWorkRemaining(args, deps = defaultDeps) {
28
+ const { teamState, focusId, focusName, isError } = args;
29
+ // An error result is the errorResultAt path's business, never this stamp's.
30
+ if (isError)
31
+ return [];
32
+ const deliveries = await deps.getFocusDeliveries(focusId);
33
+ const outstanding = deliveries
34
+ .filter((d) => isStatusAgentActionable(d.executionStatus ?? ''))
35
+ .map((d) => d.id);
36
+ // Every delivery terminal -> the lead legitimately has nothing to do; do NOT
37
+ // stamp (a stamp would mislabel a genuinely-idle team as parked-with-work).
38
+ if (outstanding.length === 0)
39
+ return [];
40
+ teamState.idleWithWorkRemainingAt = deps.now();
41
+ teamState.idleOutstandingDeliveryIds = outstanding;
42
+ log.warn(`[focus-executor] Lead for "${focusName}" returned a SUCCESS result while ` +
43
+ `${outstanding.length} delivery(ies) remain agent-actionable -- stamping ` +
44
+ `idle-with-work-remaining (the lead parked with work left, it is not done).`);
45
+ return outstanding;
46
+ }
47
+ //# sourceMappingURL=idle-work-stamp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idle-work-stamp.js","sourceRoot":"","sources":["../../src/spawn/idle-work-stamp.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,+DAA+D;AAC/D,gBAAgB;AAuBhB,OAAO,EAAE,kBAAkB,IAAI,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAcvD,MAAM,WAAW,GAAsB;IACrC,kBAAkB,EAAE,yBAAyB;IAC7C,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;CACtB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,IAAyF,EACzF,OAA0B,WAAW;IAErC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAExD,4EAA4E;IAC5E,IAAI,OAAO;QAAE,OAAO,EAAE,CAAC;IAEvB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,WAAW,GAAG,UAAU;SAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;SAC/D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAEpB,6EAA6E;IAC7E,4EAA4E;IAC5E,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAExC,SAAS,CAAC,uBAAuB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/C,SAAS,CAAC,0BAA0B,GAAG,WAAW,CAAC;IACnD,GAAG,CAAC,IAAI,CACN,8BAA8B,SAAS,oCAAoC;QACzE,GAAG,WAAW,CAAC,MAAM,qDAAqD;QAC1E,4EAA4E,CAC/E,CAAC;IACF,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Re-engage a live lead with a continuation turn.
3
+ *
4
+ * This is the delivery that makes "teams keep working until they are done" true.
5
+ * When a lead returns a NON-ERROR result with agent-actionable deliveries left,
6
+ * spawn/idle-work-stamp.ts stamps idle-with-work-remaining. Rather than let the
7
+ * warm, healthy session idle into a 30-minute reaper (a terminated session + a
8
+ * full cold respawn), the daemon writes a continuation turn to the LIVE lead's
9
+ * stdin -- the same stream-json channel the mid-flight merge / directive inject
10
+ * already use -- naming the specific outstanding deliveries and their open issues.
11
+ * One turn, context preserved, no reap, no respawn.
12
+ *
13
+ * Keys off the RESULT EVENT, not elapsed silence: a lead mid-tool-call has not
14
+ * produced a result and so is never sent a continuation. A team whose deliveries
15
+ * are all terminal never gets one either (the stamp returns empty). If no live
16
+ * lead is reachable, the stamp still stands and the stalled-team backstop remains
17
+ * the fallback.
18
+ *
19
+ * @module spawn/lead-continuation
20
+ */
21
+ import type { Writable } from 'node:stream';
22
+ import type { FocusTeamState, FocusDeliveryInfo, FocusIssueInfo } from '../types/index.js';
23
+ /**
24
+ * Dependencies for the continuation path, injectable for tests. Defaults read
25
+ * the focus's deliveries + issues from the API, probe the lead pid for real
26
+ * liveness, and write to stdin through the SAME sendMessage +
27
+ * recordStdinMessageSent mechanism the directive-inject / merge paths use.
28
+ */
29
+ export interface ContinuationDeps {
30
+ getFocusDeliveries: (focusId: string) => Promise<FocusDeliveryInfo[]>;
31
+ getFocusIssues: (focusId: string) => Promise<FocusIssueInfo[]>;
32
+ isLeadAlive: (pid: number) => boolean;
33
+ sendMessage: (stdin: Writable, content: string) => boolean;
34
+ recordStdinMessageSent: (focusId: string) => void;
35
+ /** Max consecutive no-progress continuations before falling through to the reap. */
36
+ getContinuationBudget: () => number;
37
+ now: () => number;
38
+ }
39
+ /**
40
+ * The outcome of a continuation attempt, returned so a caller (and tests) can see
41
+ * which branch was taken without reading the log.
42
+ */
43
+ export type ContinuationOutcome = 'completion_owned' | 'no_stamp' | 'no_live_lead' | 'budget_exhausted' | 'sent';
44
+ /**
45
+ * Stamp idle-with-work-remaining and, if a LIVE lead is reachable, re-engage it
46
+ * with a continuation turn naming the outstanding deliveries + their open issues.
47
+ *
48
+ * Safe to call unconditionally from the result handler: the stamp self-gates on
49
+ * isError and on all-terminal, and this function only sends when the stamp
50
+ * actually recorded outstanding work AND the lead's stdin + pid are live.
51
+ */
52
+ export declare function reengageOnIdleResult(args: {
53
+ teamState: FocusTeamState;
54
+ focusId: string;
55
+ focusName: string;
56
+ isError: boolean;
57
+ }, deps?: ContinuationDeps): Promise<ContinuationOutcome>;
58
+ //# sourceMappingURL=lead-continuation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lead-continuation.d.ts","sourceRoot":"","sources":["../../src/spawn/lead-continuation.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAgB3F;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACtE,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAC/D,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IACtC,WAAW,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IAC3D,sBAAsB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,oFAAoF;IACpF,qBAAqB,EAAE,MAAM,MAAM,CAAC;IACpC,GAAG,EAAE,MAAM,MAAM,CAAC;CACnB;AAYD;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAC3B,kBAAkB,GAClB,UAAU,GACV,cAAc,GACd,kBAAkB,GAClB,MAAM,CAAC;AA8BX;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE;IAAE,SAAS,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,EACzF,IAAI,GAAE,gBAA8B,GACnC,OAAO,CAAC,mBAAmB,CAAC,CA+E9B"}
@@ -0,0 +1,127 @@
1
+ // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
+ // Pinned by: packages/daemon/src/spawn/lead-continuation.test.ts
3
+ // PINNED-BY-END
4
+ import { getFocusDeliveries as defaultGetFocusDeliveries, getFocusIssues as defaultGetFocusIssues, } from '../queries/focuses.js';
5
+ import { isStatusCascadable } from '../workflow/stage-classifier.js';
6
+ import { buildReEngagementMessage } from '../prompt/focus-prompt-builder.js';
7
+ import { sendMessage as defaultSendMessage } from '@telora/daemon-core';
8
+ import { recordStdinMessageSent as defaultRecordStdinMessageSent } from '../completion/stdin-turn-tracker.js';
9
+ import { isProcessAlive as defaultIsProcessAlive } from './liveness.js';
10
+ import { stampIdleWithWorkRemaining } from './idle-work-stamp.js';
11
+ import { resolveContinuationBudget } from '../verify/stall-detector-config.js';
12
+ import { createLogger } from '../shell/log.js';
13
+ const log = createLogger({ module: 'focus-executor' });
14
+ const defaultDeps = {
15
+ getFocusDeliveries: defaultGetFocusDeliveries,
16
+ getFocusIssues: defaultGetFocusIssues,
17
+ isLeadAlive: defaultIsProcessAlive,
18
+ sendMessage: defaultSendMessage,
19
+ recordStdinMessageSent: defaultRecordStdinMessageSent,
20
+ getContinuationBudget: resolveContinuationBudget,
21
+ now: () => Date.now(),
22
+ };
23
+ /**
24
+ * A stable fingerprint of the focus's delivery statuses. A change between
25
+ * continuations is delivery-status PROGRESS (a delivery advanced / re-queued /
26
+ * converged); an unchanged fingerprint means the last continuation moved nothing.
27
+ * Sorted so ordering from the API can never masquerade as progress.
28
+ */
29
+ function deliveryStatusSignature(deliveries) {
30
+ return deliveries.map((d) => `${d.id}:${d.executionStatus ?? ''}`).sort().join('|');
31
+ }
32
+ /**
33
+ * Preamble prepended to the re-engagement listing: names why the lead was woken
34
+ * and restates the turn-end contract so a resumed turn does not re-park.
35
+ */
36
+ function continuationPreamble(outstandingCount) {
37
+ return [
38
+ '## Continue -- your turn is not over',
39
+ '',
40
+ `You returned a result while ${outstandingCount} delivery(ies) on this focus are`,
41
+ 'still agent-actionable. Ending a turn with agent-actionable work remaining is not',
42
+ 'a valid stop: the turn ends only when every delivery is terminal (done / verify /',
43
+ 'cancelled), when you are blocked and have escalated, or when the daemon tears you',
44
+ 'down. Pick up the outstanding work below and keep going in-session.',
45
+ '',
46
+ '',
47
+ ].join('\n');
48
+ }
49
+ /**
50
+ * Stamp idle-with-work-remaining and, if a LIVE lead is reachable, re-engage it
51
+ * with a continuation turn naming the outstanding deliveries + their open issues.
52
+ *
53
+ * Safe to call unconditionally from the result handler: the stamp self-gates on
54
+ * isError and on all-terminal, and this function only sends when the stamp
55
+ * actually recorded outstanding work AND the lead's stdin + pid are live.
56
+ */
57
+ export async function reengageOnIdleResult(args, deps = defaultDeps) {
58
+ // Backstop, not a peer trigger (TEL-3). Both this path and the mid-focus handoff
59
+ // key off one result event; the completion listener runs first in the same tick
60
+ // and, when `complete` fired, set completionEventOwnsResult -- so it already owns
61
+ // the re-engagement and a continuation here would be a SECOND overlapping turn.
62
+ // Consume-and-clear so the next result re-decides from scratch (an error result
63
+ // clears it here too, before the isError gate below, so it cannot go stale).
64
+ // The flag is only set when `complete` actually fired; when completion was
65
+ // suppressed (pending stdin) it stays false and this path proceeds as the
66
+ // backstop -- the one case the primary handoff did not cover.
67
+ if (args.teamState.completionEventOwnsResult) {
68
+ args.teamState.completionEventOwnsResult = false;
69
+ return 'completion_owned';
70
+ }
71
+ const outstanding = await stampIdleWithWorkRemaining(args, deps);
72
+ // Empty => error result or every delivery terminal. Never continue: an
73
+ // all-terminal team is genuinely idle and an error is the errorResultAt path's.
74
+ if (outstanding.length === 0)
75
+ return 'no_stamp';
76
+ const { teamState, focusId, focusName } = args;
77
+ // A live lead requires BOTH an open stdin AND a live pid: a non-null Writable
78
+ // can outlive its process (writes fail EPIPE after exit), so the pid probe is
79
+ // what makes "live" honest. Without one, the stamp stands and the stalled-team
80
+ // backstop remains the fallback.
81
+ if (!teamState.leadStdin || teamState.leadPid == null || !deps.isLeadAlive(teamState.leadPid)) {
82
+ log.info(`[focus-executor] Focus "${focusName}" parked with ${outstanding.length} agent-actionable ` +
83
+ `delivery(ies) but no live lead to re-engage -- leaving the stamp for the backstop.`);
84
+ return 'no_live_lead';
85
+ }
86
+ const [deliveries, issues] = await Promise.all([
87
+ deps.getFocusDeliveries(focusId),
88
+ deps.getFocusIssues(focusId),
89
+ ]);
90
+ const nonTerminal = deliveries.filter((d) => !isStatusCascadable(d.executionStatus ?? ''));
91
+ if (nonTerminal.length === 0)
92
+ return 'no_live_lead';
93
+ // Budget the path so it cannot replace a 30-min park with an unbounded one.
94
+ // Reset the no-progress counter when delivery status moved since the last
95
+ // continuation; otherwise it stands (and survives the per-result re-stamp,
96
+ // because it lives on teamState). Past the budget STOP re-engaging and let the
97
+ // lead fall silent -- the stalled-team backstop then reaps it and files the
98
+ // idempotent team_failure, so termination is reached because the lead
99
+ // demonstrably could not progress, not because a blind clock ran out.
100
+ const signature = deliveryStatusSignature(deliveries);
101
+ if (teamState.lastContinuationSignature != null && signature !== teamState.lastContinuationSignature) {
102
+ teamState.continuationAttempts = 0;
103
+ }
104
+ const attempts = teamState.continuationAttempts ?? 0;
105
+ const budget = deps.getContinuationBudget();
106
+ if (attempts >= budget) {
107
+ log.warn(`[focus-executor] Continuation budget (${budget}) exhausted for "${focusName}": ${attempts} ` +
108
+ `consecutive no-progress continuation(s) -- no longer re-engaging; letting the lead fall silent ` +
109
+ `for the stalled-team backstop to reap and file team_failure.`);
110
+ return 'budget_exhausted';
111
+ }
112
+ const message = continuationPreamble(outstanding.length) + buildReEngagementMessage(nonTerminal, issues);
113
+ const ok = deps.sendMessage(teamState.leadStdin, message);
114
+ if (ok) {
115
+ // Only record the stdin turn + advance the budget on a successful write -- a
116
+ // recorded turn suppresses the completion detector, and a failed write landed
117
+ // no continuation, so neither should count.
118
+ deps.recordStdinMessageSent(focusId);
119
+ teamState.continuationAttempts = attempts + 1;
120
+ teamState.lastContinuationSignature = signature;
121
+ }
122
+ log.warn(`[focus-executor] Re-engaged the live lead for "${focusName}" with a continuation turn ` +
123
+ `naming ${nonTerminal.length} outstanding delivery(ies) (write ok=${ok}, attempt ` +
124
+ `${(teamState.continuationAttempts ?? 0)}/${budget}) -- no reap, no respawn, same session.`);
125
+ return ok ? 'sent' : 'no_live_lead';
126
+ }
127
+ //# sourceMappingURL=lead-continuation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lead-continuation.js","sourceRoot":"","sources":["../../src/spawn/lead-continuation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"process-spawn.d.ts","sourceRoot":"","sources":["../../src/spawn/process-spawn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"process-spawn.d.ts","sourceRoot":"","sources":["../../src/spawn/process-spawn.ts"],"names":[],"mappings":"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"}
@@ -189,6 +189,28 @@ export function writeSpawnStdin(args) {
189
189
  proc.stdin.write(backend.encodeInput(messageToSend));
190
190
  recordStdinMessageSent(focusId); // kickoff turn -- ordered ahead of later injects
191
191
  }
192
+ /**
193
+ * The team lead's completion-event handler. Extracted from spawnTeamProcess to
194
+ * keep that function under its size floor.
195
+ *
196
+ * Claims the result for the completion path (teamState.completionEventOwnsResult)
197
+ * BEFORE the async handoff runs: the result-driven continuation
198
+ * (reengageOnIdleResult) runs later in the same tick and reads this to defer, so
199
+ * one result never triggers both a handoff and a continuation (TEL-3 double-send).
200
+ * The flag is set synchronously so it is visible regardless of
201
+ * handleCompletionEvent's async timing.
202
+ */
203
+ function handleLeadCompletionEvent(ctx, info) {
204
+ const { config, focusId, focusName, teamState, completionDetector, proc } = ctx;
205
+ teamState.completionEventOwnsResult = true;
206
+ log.info(`[focus-executor] Team lead for "${focusName}" completed work cycle: ` +
207
+ `${info.turnCount} turns, $${info.totalCostUsd.toFixed(4)}`);
208
+ handleCompletionEvent({ config, focusId, focusName, teamState, completionDetector, proc, completionInfo: info }).catch(err => {
209
+ log.warn(`[focus-executor] Failed to check delivery state for "${focusName}":`, err.message);
210
+ // Fallback: terminate to avoid idle money burn.
211
+ terminateTeam(focusId, 'handoff');
212
+ });
213
+ }
192
214
  export async function spawnTeamProcess(spec) {
193
215
  const { config, focusId, focusName, session, teamState, backend, args, messageToSend, logs, worktreePath, resumeId, assemblyManifest, spawnCodexHome, spawnLocalModelKey, isLocalModelPass, effectiveModel, pendingDirective, spawnStageName, params, governor, spawnFocusTeam, answeredEscalationIds = [], } = spec;
194
216
  const activeTeams = getActiveTeams();
@@ -408,19 +430,11 @@ export async function spawnTeamProcess(spec) {
408
430
  });
409
431
  await runningTransition;
410
432
  log.info(`Team lead spawned for "${focusName}" (PID: ${proc.pid})`, { focusId, sessionId: session.id });
411
- // Handle completion -- check for more work or terminate.
412
- // No idle phase: if actionable work remains, send it immediately (mid-focus
413
- // handoff). If all work is done, terminate. A fresh team is spawned if new
414
- // deliveries arrive later (~$0.50-1.00 exploration cost, but clean context).
415
- completionDetector.on('complete', (info) => {
416
- log.info(`[focus-executor] Team lead for "${focusName}" completed work cycle: ` +
417
- `${info.turnCount} turns, $${info.totalCostUsd.toFixed(4)}`);
418
- handleCompletionEvent({ config, focusId, focusName, teamState, completionDetector, proc, completionInfo: info }).catch(err => {
419
- log.warn(`[focus-executor] Failed to check delivery state for "${focusName}":`, err.message);
420
- // Fallback: terminate to avoid idle money burn.
421
- terminateTeam(focusId, 'handoff');
422
- });
423
- });
433
+ // Handle completion -- check for more work or terminate. No idle phase: if
434
+ // actionable work remains, send it immediately (mid-focus handoff); if all work
435
+ // is done, terminate. Body extracted to handleLeadCompletionEvent to keep this
436
+ // function under its size floor.
437
+ completionDetector.on('complete', (info) => handleLeadCompletionEvent({ config, focusId, focusName, teamState, completionDetector, proc }, info));
424
438
  // Handle process exit
425
439
  const spawnedAt = Date.now();
426
440
  proc.on('close', (code, signal) => {
@@ -1 +1 @@
1
- {"version":3,"file":"process-spawn.js","sourceRoot":"","sources":["../../src/spawn/process-spawn.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,kEAAkE;AAClE,gBAAgB;AAEhB;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,KAAK,EAAsE,MAAM,oBAAoB,CAAC;AAC/G,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAyB,MAAM,qBAAqB,CAAC;AAMtF,OAAO,EAAiB,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAG9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAE5E,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACjG,OAAO,EAEL,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,aAAa,EACb,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAGvD;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B;IACzC,OAAO;QACL,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,sBAAsB;QACnC,aAAa,EAAE,iBAAiB;KACjC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,+BAA+B,CAC7C,OAAe;IAEf,OAAO;QACL,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,OAAO;QACpB,aAAa,EAAE,qBAAqB;KACrC,CAAC;AACJ,CAAC;AAwDD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,OAAqB,EACrB,MAAoB,EACpB,gBAAyB,EACzB,IAAI,GAAG,QAAQ,EAAE;IAEjB,IAAI,CAAC,gBAAgB;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAEhD,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC7D,IAAI,YAAY,CAAC,SAAS;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAErD,2EAA2E;IAC3E,6EAA6E;IAC7E,kEAAkE;IAClE,IAAI,OAAO,CAAC,EAAE,KAAK,OAAO,IAAI,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;QACrF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,EAAE,KAAK,OAAO,IAAI,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC3F,MAAM,MAAM,GAAG,aAAa;QAC1B,CAAC,CAAC,0BAA0B,IAAI,gBAAgB;QAChD,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,mBAAmB,IAAI,EAAE,CAAC;IACpD,OAAO;QACL,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM;KAC3E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,MAAc,EACd,QAAQ,GAAG,qBAAqB;IAMhC,OAAO;QACL,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,MAAM;QACnB,aAAa,EAAE,QAAQ;KACxB,CAAC;AACJ,CAAC;AAGD,gFAAgF;AAChF,MAAM,UAAU,kBAAkB,CAChC,OAAe,EACf,IAAuB,EACvB,OAAiC,EACjC,OAA+B,EAC/B,UAAwB,KAAK;IAE7B,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE;QAClC,GAAG,OAAO;QACV,qEAAqE;QACrE,iEAAiE;QACjE,2EAA2E;QAC3E,4EAA4E;QAC5E,2EAA2E;QAC3E,4EAA4E;QAC5E,mEAAmE;QACnE,yEAAyE;QACzE,4EAA4E;QAC5E,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;KAChC,CAAmC,CAAC;IACrC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1B,4EAA4E;IAC5E,wEAAwE;IACxE,4CAA4C;IAC5C,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAA4B,EAAE,EAAE;QACtD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,2FAA2F;AAC3F,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,iBAA0C,EAC1C,cAAsC;IAEtC,IAAI,iBAAiB;QAAE,MAAM,iBAAiB,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,wEAAwE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAE,GAAa,EAAE,OAAO,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3M,MAAM,cAAc,EAAE,CAAC;AACzB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAAyB;IAC7D,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC;IACjC,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,yBAAyB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAE,GAAa,EAAE,OAAO,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7H,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAC9B,gBAAgE,EAChE,QAAuB;IAEvB,MAAM,OAAO,GAAG,gBAAgB,EAAE,OAAO,CAAC;IAC1C,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,sBAAsB,OAAO,CAAC,QAAQ,WAAW,OAAO,CAAC,IAAI,GAAG,CAAC;AAC1E,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,IAQ/B;IACC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IAC9F,MAAM,WAAW,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IACjE,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,CAAC,KAAM,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;QACpD,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,gDAAgD;QACjF,GAAG,CAAC,IAAI,CAAC,2CAA2C,SAAS,+DAA+D,CAAC,CAAC;IAChI,CAAC;SAAM,IAAI,gBAAgB,EAAE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClD,GAAG,CAAC,IAAI,CAAC,kCAAkC,SAAS,uEAAuE,CAAC,CAAC;IAC/H,CAAC;IACD,IAAI,CAAC,KAAM,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC;IACtD,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,iDAAiD;AACpF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAA0B;IAC/D,MAAM,EACJ,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAC5E,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,kBAAkB,EAAE,gBAAgB,EACpG,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAClF,qBAAqB,GAAG,EAAE,GAC3B,GAAG,IAAI,CAAC;IACT,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,+EAA+E;IAC/E,0EAA0E;IAC1E,wEAAwE;IACxE,0FAA0F;IAC1F,+EAA+E;IAC/E,wEAAwE;IACxE,MAAM,gBAAgB,GAAG,MAAM,0BAA0B,CACvD,OAAO,EACP,MAAM,EACN,gBAAgB,CACjB,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,gBAAgB,CAAC,OAAO;QACzC,CAAC,CAAC,EAAE,GAAG,gBAAgB,EAAE,QAAQ,EAAE,qBAAqB,EAAE;QAC1D,CAAC,CAAC,MAAM,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC3D,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,cAAc,CAAC;QACxE,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,IAAI,qBAAqB,CAAC;QAC7D,GAAG,CAAC,KAAK,CAAC,uBAAuB,SAAS,MAAM,QAAQ,MAAM,MAAM,EAAE,CAAC,CAAC;QACxE,MAAM,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE;YAC9B,GAAG,+BAA+B,CAAC,MAAM,EAAE,QAAQ,CAAC;YACpD,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACnC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;YACnB,GAAG,CAAC,IAAI,CAAC,yCAAyC,EAAG,SAAmB,CAAC,OAAO,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;QACvB,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACjC,SAAS,CAAC,KAAK,GAAG,YAAY,CAAC;QAC/B,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO;IACT,CAAC;IAED,yEAAyE;IACzE,wEAAwE;IACxE,4DAA4D;IAC5D,MAAM,UAAU,GAAG,CAAC,gBAAgB,EAAE,WAAW,IAAI,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACjG,8EAA8E;IAC9E,8EAA8E;IAC9E,2EAA2E;IAC3E,iEAAiE;IACjE,MAAM,UAAU,GAAG,cAAc,IAAI,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACtF,8EAA8E;IAC9E,uDAAuD;IACvD,MAAM,QAAQ,GAAG,4BAA4B,CAAC,MAAM,EAAE;QACpD,KAAK,EAAE,MAAM,CAAC,cAAc;QAC5B,OAAO;QACP,SAAS,EAAE,OAAO,CAAC,EAAE;QACrB,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,UAAU;KAClB,CAAC,CAAC;IACH,kFAAkF;IAClF,wFAAwF;IACxF,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAEjE,6EAA6E;IAC7E,6EAA6E;IAC7E,6EAA6E;IAC7E,IAAI,cAAc,EAAE,CAAC;QACnB,QAAQ,CAAC,UAAU,GAAG,cAAc,CAAC;QACrC,GAAG,CAAC,IAAI,CACN,wCAAwC,SAAS,cAAc,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK;YAChG,GAAG,cAAc,EAAE;YACnB,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,cAAc,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CACtD,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,+EAA+E;IAC/E,gFAAgF;IAChF,6EAA6E;IAC7E,6CAA6C;IAC7C,IAAI,kBAAkB,EAAE,CAAC;QACvB,QAAQ,CAAC,wBAAwB,CAAC,GAAG,kBAAkB,CAAC;IAC1D,CAAC;IAED,4EAA4E;IAC5E,yEAAyE;IACzE,uEAAuE;IACvE,KAAK,sBAAsB,CAAC;QAC1B,SAAS,EAAE,OAAO,CAAC,EAAE;QACrB,OAAO;QACP,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,gBAAgB;KAC3B,CAAC,CAAC;IAEH,6BAA6B;IAC7B,MAAM,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE;QAC9B,MAAM,EAAE,UAAU;QAClB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACpC,WAAW,EAAE,IAAI,CAAC,UAAU;QAC5B,WAAW,EAAE,IAAI,CAAC,UAAU;KAC7B,CAAC,CAAC;IAEH,0EAA0E;IAC1E,2EAA2E;IAC3E,6EAA6E;IAC7E,gEAAgE;IAChE,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE;gBACpD,SAAS,EAAE,aAAa,EAAE,CAAC,4BAA4B;aACxD,CAAC,CAAC;YACH,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CAAC,6BAA6B,SAAS,IAAI,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;YAC7E,mEAAmE;YACnE,MAAM,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE;gBAC9B,GAAG,2BAA2B,EAAE;gBAChC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACnC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;gBACnB,GAAG,CAAC,IAAI,CAAC,iDAAiD,EAAG,SAAmB,CAAC,OAAO,CAAC,CAAC;YAC5F,CAAC,CAAC,CAAC;YACH,qBAAqB,CAAC,SAAS,CAAC,CAAC;YACjC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,0EAA0E;IAC1E,yEAAyE;IACzE,0EAA0E;IAC1E,IAAI,YAAoB,CAAC;IACzB,IAAI,SAAmB,CAAC;IACxB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,EAAE;YACvC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC;YACvC,IAAI;YACJ,YAAY;SACb,CAAC,CAAC;QACH,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,uBAAuB,EAAE,CAAC;YAC3C,GAAG,CAAC,KAAK,CAAC,uBAAuB,SAAS,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/D,MAAM,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE;gBAC9B,GAAG,+BAA+B,CAAC,GAAG,CAAC,OAAO,CAAC;gBAC/C,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACnC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;gBACnB,GAAG,CAAC,IAAI,CAAC,iDAAiD,EAAG,SAAmB,CAAC,OAAO,CAAC,CAAC;YAC5F,CAAC,CAAC,CAAC;YACH,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACpC,qBAAqB,CAAC,SAAS,CAAC,CAAC;YACjC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,8EAA8E;QAC9E,yEAAyE;QACzE,0EAA0E;QAC1E,yEAAyE;QACzE,6DAA6D;QAC7D,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACpC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACjC,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,8BAA8B;IAC9B,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAChC,IAAI,iBAAiB,GAA4B,IAAI,CAAC;IACtD,IAAI,0BAA0B,GAAyE,IAAI,CAAC;IAC5G,MAAM,kBAAkB,GAAG,CAAC,GAAU,EAAQ,EAAE;QAC9C,IAAI,mBAAmB;YAAE,OAAO;QAChC,mBAAmB,GAAG,IAAI,CAAC;QAC3B,GAAG,CAAC,KAAK,CAAC,kBAAkB,SAAS,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9D,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAEpC,MAAM,gBAAgB,GAAI,GAA6B,CAAC,IAAI,KAAK,QAAQ;YACvE,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,iBAAiB,QAAQ,EAAE,mBAAmB,GAAG,CAAC,OAAO,EAAE;YACnF,CAAC,CAAC,kBAAkB,GAAG,CAAC,OAAO,EAAE,CAAC;QACpC,KAAK,+BAA+B,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,SAAS,CACnE,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE;YAC9B,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,gBAAgB;YAC7B,aAAa,EAAG,GAA6B,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,OAAO;YACjG,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACnC,CAAC,EACF,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,sBAAsB,EAAE,CACrE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;YACrB,GAAG,CAAC,IAAI,CAAC,yCAAyC,EAAG,SAAmB,CAAC,OAAO,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC;QAEH,0BAA0B,EAAE,OAAO,EAAE,CAAC;QACtC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;QACvB,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACjC,SAAS,CAAC,KAAK,GAAG,YAAY,CAAC;QAC/B,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,kBAAkB,CAAC,YAAY,EAAE,SAAS,EAAE;QACvD,GAAG,EAAE,YAAY;QACjB,GAAG,EAAE,QAAQ;KACd,EAAE,kBAAkB,CAAC,CAAC;IAEvB,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;IACrC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,KAAM,CAAC;IAClC,SAAS,CAAC,KAAK,GAAG,WAAW,CAAC;IAE9B,8EAA8E;IAC9E,0EAA0E;IAC1E,yEAAyE;IACzE,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC;QACzB,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,8EAA8E;IAC9E,MAAM,EAAE,kBAAkB,EAAE,eAAe,EAAE,GAAG,oBAAoB,CAAC;QACnE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI;KAC1E,CAAC,CAAC;IACH,0BAA0B,GAAG,kBAAkB,CAAC;IAEhD,+EAA+E;IAC/E,0EAA0E;IAC1E,uEAAuE;IACvE,eAAe,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;IAClG,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;QACjC,IAAI,CAAC,KAAM,CAAC,GAAG,EAAE,CAAC;QAClB,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,+EAA+E;IAC/E,6EAA6E;IAC7E,+EAA+E;IAC/E,6EAA6E;IAC7E,2DAA2D;IAC3D,KAAK,2BAA2B,CAAC,qBAAqB,CAAC,CAAC;IAExD,4BAA4B;IAC5B,iBAAiB,GAAG,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE;QAC5C,MAAM,EAAE,SAAS;QACjB,GAAG,EAAE,IAAI,CAAC,GAAG;KACd,CAAC,CAAC;IACH,MAAM,iBAAiB,CAAC;IAExB,GAAG,CAAC,IAAI,CAAC,0BAA0B,SAAS,WAAW,IAAI,CAAC,GAAG,GAAG,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAExG,yDAAyD;IACzD,4EAA4E;IAC5E,2EAA2E;IAC3E,6EAA6E;IAC7E,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;QACzC,GAAG,CAAC,IAAI,CACN,mCAAmC,SAAS,0BAA0B;YACtE,GAAG,IAAI,CAAC,SAAS,YAAY,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAC5D,CAAC;QACF,qBAAqB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YAC3H,GAAG,CAAC,IAAI,CACN,wDAAwD,SAAS,IAAI,EACpE,GAAa,CAAC,OAAO,CACvB,CAAC;YACF,gDAAgD;YAChD,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,sBAAsB;IACtB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;QAChC,yEAAyE;QACzE,kEAAkE;QAClE,IAAI,mBAAmB;YAAE,OAAO;QAChC,sBAAsB,CAAC;YACrB,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS;YACrD,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,kBAAkB;YAC5D,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc;SACxD,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YACb,GAAG,CAAC,KAAK,CAAC,sCAAsC,SAAS,IAAI,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AAEL,CAAC"}
1
+ {"version":3,"file":"process-spawn.js","sourceRoot":"","sources":["../../src/spawn/process-spawn.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,kEAAkE;AAClE,gBAAgB;AAEhB;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,KAAK,EAAsE,MAAM,oBAAoB,CAAC;AAC/G,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAyB,MAAM,qBAAqB,CAAC;AAMtF,OAAO,EAAiB,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAG9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAE5E,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACjG,OAAO,EAEL,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,aAAa,EACb,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAG7E,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAGvD;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B;IACzC,OAAO;QACL,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,sBAAsB;QACnC,aAAa,EAAE,iBAAiB;KACjC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,+BAA+B,CAC7C,OAAe;IAEf,OAAO;QACL,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,OAAO;QACpB,aAAa,EAAE,qBAAqB;KACrC,CAAC;AACJ,CAAC;AAwDD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,OAAqB,EACrB,MAAoB,EACpB,gBAAyB,EACzB,IAAI,GAAG,QAAQ,EAAE;IAEjB,IAAI,CAAC,gBAAgB;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAEhD,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC7D,IAAI,YAAY,CAAC,SAAS;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAErD,2EAA2E;IAC3E,6EAA6E;IAC7E,kEAAkE;IAClE,IAAI,OAAO,CAAC,EAAE,KAAK,OAAO,IAAI,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;QACrF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,EAAE,KAAK,OAAO,IAAI,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC3F,MAAM,MAAM,GAAG,aAAa;QAC1B,CAAC,CAAC,0BAA0B,IAAI,gBAAgB;QAChD,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,mBAAmB,IAAI,EAAE,CAAC;IACpD,OAAO;QACL,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM;KAC3E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,MAAc,EACd,QAAQ,GAAG,qBAAqB;IAMhC,OAAO;QACL,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,MAAM;QACnB,aAAa,EAAE,QAAQ;KACxB,CAAC;AACJ,CAAC;AAGD,gFAAgF;AAChF,MAAM,UAAU,kBAAkB,CAChC,OAAe,EACf,IAAuB,EACvB,OAAiC,EACjC,OAA+B,EAC/B,UAAwB,KAAK;IAE7B,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE;QAClC,GAAG,OAAO;QACV,qEAAqE;QACrE,iEAAiE;QACjE,2EAA2E;QAC3E,4EAA4E;QAC5E,2EAA2E;QAC3E,4EAA4E;QAC5E,mEAAmE;QACnE,yEAAyE;QACzE,4EAA4E;QAC5E,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;KAChC,CAAmC,CAAC;IACrC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1B,4EAA4E;IAC5E,wEAAwE;IACxE,4CAA4C;IAC5C,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAA4B,EAAE,EAAE;QACtD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,2FAA2F;AAC3F,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,iBAA0C,EAC1C,cAAsC;IAEtC,IAAI,iBAAiB;QAAE,MAAM,iBAAiB,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,wEAAwE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAE,GAAa,EAAE,OAAO,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3M,MAAM,cAAc,EAAE,CAAC;AACzB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAAyB;IAC7D,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC;IACjC,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,yBAAyB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAE,GAAa,EAAE,OAAO,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7H,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAC9B,gBAAgE,EAChE,QAAuB;IAEvB,MAAM,OAAO,GAAG,gBAAgB,EAAE,OAAO,CAAC;IAC1C,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,sBAAsB,OAAO,CAAC,QAAQ,WAAW,OAAO,CAAC,IAAI,GAAG,CAAC;AAC1E,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,IAQ/B;IACC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IAC9F,MAAM,WAAW,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IACjE,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,CAAC,KAAM,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;QACpD,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,gDAAgD;QACjF,GAAG,CAAC,IAAI,CAAC,2CAA2C,SAAS,+DAA+D,CAAC,CAAC;IAChI,CAAC;SAAM,IAAI,gBAAgB,EAAE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClD,GAAG,CAAC,IAAI,CAAC,kCAAkC,SAAS,uEAAuE,CAAC,CAAC;IAC/H,CAAC;IACD,IAAI,CAAC,KAAM,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC;IACtD,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,iDAAiD;AACpF,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,yBAAyB,CAChC,GAOC,EACD,IAAoB;IAEpB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IAChF,SAAS,CAAC,yBAAyB,GAAG,IAAI,CAAC;IAC3C,GAAG,CAAC,IAAI,CACN,mCAAmC,SAAS,0BAA0B;QACtE,GAAG,IAAI,CAAC,SAAS,YAAY,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAC5D,CAAC;IACF,qBAAqB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;QAC3H,GAAG,CAAC,IAAI,CACN,wDAAwD,SAAS,IAAI,EACpE,GAAa,CAAC,OAAO,CACvB,CAAC;QACF,gDAAgD;QAChD,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAA0B;IAC/D,MAAM,EACJ,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAC5E,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,kBAAkB,EAAE,gBAAgB,EACpG,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAClF,qBAAqB,GAAG,EAAE,GAC3B,GAAG,IAAI,CAAC;IACT,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,+EAA+E;IAC/E,0EAA0E;IAC1E,wEAAwE;IACxE,0FAA0F;IAC1F,+EAA+E;IAC/E,wEAAwE;IACxE,MAAM,gBAAgB,GAAG,MAAM,0BAA0B,CACvD,OAAO,EACP,MAAM,EACN,gBAAgB,CACjB,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,gBAAgB,CAAC,OAAO;QACzC,CAAC,CAAC,EAAE,GAAG,gBAAgB,EAAE,QAAQ,EAAE,qBAAqB,EAAE;QAC1D,CAAC,CAAC,MAAM,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC3D,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,cAAc,CAAC;QACxE,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,IAAI,qBAAqB,CAAC;QAC7D,GAAG,CAAC,KAAK,CAAC,uBAAuB,SAAS,MAAM,QAAQ,MAAM,MAAM,EAAE,CAAC,CAAC;QACxE,MAAM,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE;YAC9B,GAAG,+BAA+B,CAAC,MAAM,EAAE,QAAQ,CAAC;YACpD,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACnC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;YACnB,GAAG,CAAC,IAAI,CAAC,yCAAyC,EAAG,SAAmB,CAAC,OAAO,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;QACvB,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACjC,SAAS,CAAC,KAAK,GAAG,YAAY,CAAC;QAC/B,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO;IACT,CAAC;IAED,yEAAyE;IACzE,wEAAwE;IACxE,4DAA4D;IAC5D,MAAM,UAAU,GAAG,CAAC,gBAAgB,EAAE,WAAW,IAAI,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACjG,8EAA8E;IAC9E,8EAA8E;IAC9E,2EAA2E;IAC3E,iEAAiE;IACjE,MAAM,UAAU,GAAG,cAAc,IAAI,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACtF,8EAA8E;IAC9E,uDAAuD;IACvD,MAAM,QAAQ,GAAG,4BAA4B,CAAC,MAAM,EAAE;QACpD,KAAK,EAAE,MAAM,CAAC,cAAc;QAC5B,OAAO;QACP,SAAS,EAAE,OAAO,CAAC,EAAE;QACrB,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,UAAU;KAClB,CAAC,CAAC;IACH,kFAAkF;IAClF,wFAAwF;IACxF,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAEjE,6EAA6E;IAC7E,6EAA6E;IAC7E,6EAA6E;IAC7E,IAAI,cAAc,EAAE,CAAC;QACnB,QAAQ,CAAC,UAAU,GAAG,cAAc,CAAC;QACrC,GAAG,CAAC,IAAI,CACN,wCAAwC,SAAS,cAAc,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK;YAChG,GAAG,cAAc,EAAE;YACnB,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,cAAc,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CACtD,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,+EAA+E;IAC/E,gFAAgF;IAChF,6EAA6E;IAC7E,6CAA6C;IAC7C,IAAI,kBAAkB,EAAE,CAAC;QACvB,QAAQ,CAAC,wBAAwB,CAAC,GAAG,kBAAkB,CAAC;IAC1D,CAAC;IAED,4EAA4E;IAC5E,yEAAyE;IACzE,uEAAuE;IACvE,KAAK,sBAAsB,CAAC;QAC1B,SAAS,EAAE,OAAO,CAAC,EAAE;QACrB,OAAO;QACP,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,gBAAgB;KAC3B,CAAC,CAAC;IAEH,6BAA6B;IAC7B,MAAM,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE;QAC9B,MAAM,EAAE,UAAU;QAClB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACpC,WAAW,EAAE,IAAI,CAAC,UAAU;QAC5B,WAAW,EAAE,IAAI,CAAC,UAAU;KAC7B,CAAC,CAAC;IAEH,0EAA0E;IAC1E,2EAA2E;IAC3E,6EAA6E;IAC7E,gEAAgE;IAChE,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE;gBACpD,SAAS,EAAE,aAAa,EAAE,CAAC,4BAA4B;aACxD,CAAC,CAAC;YACH,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CAAC,6BAA6B,SAAS,IAAI,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;YAC7E,mEAAmE;YACnE,MAAM,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE;gBAC9B,GAAG,2BAA2B,EAAE;gBAChC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACnC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;gBACnB,GAAG,CAAC,IAAI,CAAC,iDAAiD,EAAG,SAAmB,CAAC,OAAO,CAAC,CAAC;YAC5F,CAAC,CAAC,CAAC;YACH,qBAAqB,CAAC,SAAS,CAAC,CAAC;YACjC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,0EAA0E;IAC1E,yEAAyE;IACzE,0EAA0E;IAC1E,IAAI,YAAoB,CAAC;IACzB,IAAI,SAAmB,CAAC;IACxB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,EAAE;YACvC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC;YACvC,IAAI;YACJ,YAAY;SACb,CAAC,CAAC;QACH,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,uBAAuB,EAAE,CAAC;YAC3C,GAAG,CAAC,KAAK,CAAC,uBAAuB,SAAS,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/D,MAAM,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE;gBAC9B,GAAG,+BAA+B,CAAC,GAAG,CAAC,OAAO,CAAC;gBAC/C,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACnC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;gBACnB,GAAG,CAAC,IAAI,CAAC,iDAAiD,EAAG,SAAmB,CAAC,OAAO,CAAC,CAAC;YAC5F,CAAC,CAAC,CAAC;YACH,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACpC,qBAAqB,CAAC,SAAS,CAAC,CAAC;YACjC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,8EAA8E;QAC9E,yEAAyE;QACzE,0EAA0E;QAC1E,yEAAyE;QACzE,6DAA6D;QAC7D,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACpC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACjC,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,8BAA8B;IAC9B,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAChC,IAAI,iBAAiB,GAA4B,IAAI,CAAC;IACtD,IAAI,0BAA0B,GAAyE,IAAI,CAAC;IAC5G,MAAM,kBAAkB,GAAG,CAAC,GAAU,EAAQ,EAAE;QAC9C,IAAI,mBAAmB;YAAE,OAAO;QAChC,mBAAmB,GAAG,IAAI,CAAC;QAC3B,GAAG,CAAC,KAAK,CAAC,kBAAkB,SAAS,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9D,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAEpC,MAAM,gBAAgB,GAAI,GAA6B,CAAC,IAAI,KAAK,QAAQ;YACvE,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,iBAAiB,QAAQ,EAAE,mBAAmB,GAAG,CAAC,OAAO,EAAE;YACnF,CAAC,CAAC,kBAAkB,GAAG,CAAC,OAAO,EAAE,CAAC;QACpC,KAAK,+BAA+B,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,SAAS,CACnE,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE;YAC9B,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,gBAAgB;YAC7B,aAAa,EAAG,GAA6B,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,OAAO;YACjG,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACnC,CAAC,EACF,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,sBAAsB,EAAE,CACrE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;YACrB,GAAG,CAAC,IAAI,CAAC,yCAAyC,EAAG,SAAmB,CAAC,OAAO,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC;QAEH,0BAA0B,EAAE,OAAO,EAAE,CAAC;QACtC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;QACvB,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACjC,SAAS,CAAC,KAAK,GAAG,YAAY,CAAC;QAC/B,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,kBAAkB,CAAC,YAAY,EAAE,SAAS,EAAE;QACvD,GAAG,EAAE,YAAY;QACjB,GAAG,EAAE,QAAQ;KACd,EAAE,kBAAkB,CAAC,CAAC;IAEvB,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;IACrC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,KAAM,CAAC;IAClC,SAAS,CAAC,KAAK,GAAG,WAAW,CAAC;IAE9B,8EAA8E;IAC9E,0EAA0E;IAC1E,yEAAyE;IACzE,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC;QACzB,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,8EAA8E;IAC9E,MAAM,EAAE,kBAAkB,EAAE,eAAe,EAAE,GAAG,oBAAoB,CAAC;QACnE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI;KAC1E,CAAC,CAAC;IACH,0BAA0B,GAAG,kBAAkB,CAAC;IAEhD,+EAA+E;IAC/E,0EAA0E;IAC1E,uEAAuE;IACvE,eAAe,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;IAClG,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;QACjC,IAAI,CAAC,KAAM,CAAC,GAAG,EAAE,CAAC;QAClB,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,+EAA+E;IAC/E,6EAA6E;IAC7E,+EAA+E;IAC/E,6EAA6E;IAC7E,2DAA2D;IAC3D,KAAK,2BAA2B,CAAC,qBAAqB,CAAC,CAAC;IAExD,4BAA4B;IAC5B,iBAAiB,GAAG,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE;QAC5C,MAAM,EAAE,SAAS;QACjB,GAAG,EAAE,IAAI,CAAC,GAAG;KACd,CAAC,CAAC;IACH,MAAM,iBAAiB,CAAC;IAExB,GAAG,CAAC,IAAI,CAAC,0BAA0B,SAAS,WAAW,IAAI,CAAC,GAAG,GAAG,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAExG,2EAA2E;IAC3E,gFAAgF;IAChF,+EAA+E;IAC/E,iCAAiC;IACjC,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CACzC,yBAAyB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,CACrG,CAAC;IAEF,sBAAsB;IACtB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;QAChC,yEAAyE;QACzE,kEAAkE;QAClE,IAAI,mBAAmB;YAAE,OAAO;QAChC,sBAAsB,CAAC;YACrB,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS;YACrD,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,kBAAkB;YAC5D,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc;SACxD,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YACb,GAAG,CAAC,KAAK,CAAC,sCAAsC,SAAS,IAAI,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AAEL,CAAC"}
@@ -1,5 +1,5 @@
1
1
  // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
- // Pinned by: 107 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/testing/fixtures/index.ts
2
+ // Pinned by: 113 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/testing/fixtures/index.ts
3
3
  // PINNED-BY-END
4
4
  /**
5
5
  * Build a FocusDeliveryInfo. Default executionStatus is 'queued' (the majority
@@ -337,6 +337,60 @@ export interface FocusTeamState {
337
337
  * a team that recovers advances lastActivityAt past this value.
338
338
  */
339
339
  errorResultAt?: number;
340
+ /**
341
+ * Epoch ms of the most recent NON-ERROR result event whose focus still had at
342
+ * least one agent-actionable delivery when the result arrived -- the lead
343
+ * returned a success result ("natural stopping point") with work remaining and
344
+ * PARKED. Stamped in the 'result' case of the lead event handler
345
+ * (spawn/helpers.ts) alongside errorResultAt (never instead of it): the error
346
+ * branch keeps errorResultAt, and neither is stamped when every delivery is
347
+ * terminal. This is the first-class signal for "success result + work
348
+ * remaining" the daemon previously dropped on the floor -- read by the
349
+ * "team continues" log to name a parked team at the moment it parks (not at the
350
+ * 3h idle-stall threshold), and (delivery cc5b15c7) to re-engage the live lead
351
+ * with a continuation turn. Undefined until the first such result; dropped with
352
+ * the record when the team leaves activeTeams.
353
+ */
354
+ idleWithWorkRemainingAt?: number;
355
+ /**
356
+ * The delivery ids that were still agent-actionable at the moment
357
+ * idleWithWorkRemainingAt was stamped -- the outstanding work the lead left
358
+ * behind. Carried so the log line can name the count and the continuation turn
359
+ * can name the specific deliveries. Undefined until the first stamp.
360
+ */
361
+ idleOutstandingDeliveryIds?: string[];
362
+ /**
363
+ * Count of consecutive continuation turns written to this lead that produced
364
+ * NO delivery-status progress (spawn/lead-continuation.ts). A continuation
365
+ * followed by progress resets it to 0; once it reaches the continuation budget
366
+ * (resolveContinuationBudget) the daemon STOPS re-engaging the lead and lets it
367
+ * fall silent so the stalled-team backstop reaps it -- termination reached
368
+ * because the lead demonstrably could not progress, not because a blind clock
369
+ * ran out. Survives the per-result-event re-stamp within one park episode (it
370
+ * lives on the team record, not on the stamp); a fresh team on respawn starts a
371
+ * new episode at 0. Undefined until the first continuation.
372
+ */
373
+ continuationAttempts?: number;
374
+ /**
375
+ * A stable fingerprint of the focus's delivery statuses captured when the last
376
+ * continuation was written. The next result event compares against it to decide
377
+ * whether that continuation produced delivery-status progress (fingerprint
378
+ * moved -> reset continuationAttempts) or not (unchanged -> increment). Undefined
379
+ * until the first continuation.
380
+ */
381
+ lastContinuationSignature?: string;
382
+ /**
383
+ * Set synchronously by the CompletionDetector 'complete' handler
384
+ * (spawn/process-spawn.ts) when the completion event fires for a result, and
385
+ * consumed-and-cleared by reengageOnIdleResult (spawn/lead-continuation.ts) on
386
+ * that same result tick. It makes the result-driven continuation a BACKSTOP for
387
+ * the primary mid-focus handoff rather than a second peer trigger: both paths
388
+ * key off one result event and the completion listener runs first, so when it
389
+ * fired it OWNS the re-engagement and the continuation must not also write a turn
390
+ * (the double-send TEL-3). When completion was suppressed (pending stdin) it does
391
+ * not fire, the flag stays false, and the continuation acts as the backstop.
392
+ */
393
+ completionEventOwnsResult?: boolean;
340
394
  /**
341
395
  * SHA-256 hash of the last spawn directive consumed by this team
342
396
  * (computed over { prompt, assembly, model } -- not the assembled output
@@ -1 +1 @@
1
- {"version":3,"file":"focus.d.ts","sourceRoot":"","sources":["../../src/types/focus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"focus.d.ts","sourceRoot":"","sources":["../../src/types/focus.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
- // Pinned by: 150 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/types/index.ts
2
+ // Pinned by: 157 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/types/index.ts
3
3
  // PINNED-BY-END
4
4
  /**
5
5
  * Domain-specific type re-exports.
@@ -47,6 +47,17 @@ export interface AgentSession {
47
47
  workflow_stage_id: string | null;
48
48
  pass_id: string | null;
49
49
  claude_session_id: string | null;
50
+ activity_summary: SessionActivitySummary | null;
51
+ }
52
+ /**
53
+ * The persisted ActivityTracker snapshot. Only `updatedAt` is consumed by the
54
+ * daemon (the session-health silence check); the rest of the JSONB is retained
55
+ * as an open floor so a snapshot-shape change never breaks the read.
56
+ */
57
+ export interface SessionActivitySummary {
58
+ /** ISO-8601 instant of the last observed agent activity for this session. */
59
+ updatedAt?: string;
60
+ [key: string]: unknown;
50
61
  }
51
62
  /**
52
63
  * Pass-grain session entity (agent_session_passes). A pass is one logical
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/types/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/types/session.ts"],"names":[],"mappings":"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"}