@telora/daemon 0.20.32 → 0.20.53

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 (202) hide show
  1. package/build-info.json +2 -2
  2. package/dist/agent-state.d.ts +4 -6
  3. package/dist/agent-state.d.ts.map +1 -1
  4. package/dist/agent-state.js +4 -10
  5. package/dist/agent-state.js.map +1 -1
  6. package/dist/branch-status.d.ts +25 -3
  7. package/dist/branch-status.d.ts.map +1 -1
  8. package/dist/branch-status.js +130 -59
  9. package/dist/branch-status.js.map +1 -1
  10. package/dist/completion/completion-decision.d.ts +29 -3
  11. package/dist/completion/completion-decision.d.ts.map +1 -1
  12. package/dist/completion/completion-decision.js +15 -3
  13. package/dist/completion/completion-decision.js.map +1 -1
  14. package/dist/completion/event-entry-phases.d.ts +57 -0
  15. package/dist/completion/event-entry-phases.d.ts.map +1 -0
  16. package/dist/completion/event-entry-phases.js +205 -0
  17. package/dist/completion/event-entry-phases.js.map +1 -0
  18. package/dist/completion/event-phases.d.ts +14 -42
  19. package/dist/completion/event-phases.d.ts.map +1 -1
  20. package/dist/completion/event-phases.js +63 -190
  21. package/dist/completion/event-phases.js.map +1 -1
  22. package/dist/completion/event.d.ts +11 -1
  23. package/dist/completion/event.d.ts.map +1 -1
  24. package/dist/completion/event.js +5 -2
  25. package/dist/completion/event.js.map +1 -1
  26. package/dist/completion/index.d.ts +0 -3
  27. package/dist/completion/index.d.ts.map +1 -1
  28. package/dist/completion/index.js +0 -3
  29. package/dist/completion/index.js.map +1 -1
  30. package/dist/completion/review-exit-phase.d.ts +2 -1
  31. package/dist/completion/review-exit-phase.d.ts.map +1 -1
  32. package/dist/completion/review-exit-phase.js +41 -1
  33. package/dist/completion/review-exit-phase.js.map +1 -1
  34. package/dist/completion/status-advance-phase.d.ts +2 -0
  35. package/dist/completion/status-advance-phase.d.ts.map +1 -1
  36. package/dist/completion/status-advance-phase.js +14 -28
  37. package/dist/completion/status-advance-phase.js.map +1 -1
  38. package/dist/completion/team-completion.js +1 -1
  39. package/dist/completion/team-completion.js.map +1 -1
  40. package/dist/completion/terminated-work-reconcile.d.ts.map +1 -1
  41. package/dist/completion/terminated-work-reconcile.js +10 -0
  42. package/dist/completion/terminated-work-reconcile.js.map +1 -1
  43. package/dist/constants.d.ts +0 -8
  44. package/dist/constants.d.ts.map +1 -1
  45. package/dist/constants.js +0 -8
  46. package/dist/constants.js.map +1 -1
  47. package/dist/delivery-close-actions.d.ts +39 -0
  48. package/dist/delivery-close-actions.d.ts.map +1 -0
  49. package/dist/delivery-close-actions.js +53 -0
  50. package/dist/delivery-close-actions.js.map +1 -0
  51. package/dist/delivery-lifecycle.d.ts +11 -0
  52. package/dist/delivery-lifecycle.d.ts.map +1 -1
  53. package/dist/delivery-lifecycle.js +13 -14
  54. package/dist/delivery-lifecycle.js.map +1 -1
  55. package/dist/delivery-reconciler.d.ts +18 -4
  56. package/dist/delivery-reconciler.d.ts.map +1 -1
  57. package/dist/delivery-reconciler.js +18 -4
  58. package/dist/delivery-reconciler.js.map +1 -1
  59. package/dist/directive-executor.d.ts +1 -1
  60. package/dist/directive-executor.js +1 -1
  61. package/dist/discovery-fetch.d.ts +76 -0
  62. package/dist/discovery-fetch.d.ts.map +1 -0
  63. package/dist/discovery-fetch.js +206 -0
  64. package/dist/discovery-fetch.js.map +1 -0
  65. package/dist/discovery-poll.d.ts +1 -51
  66. package/dist/discovery-poll.d.ts.map +1 -1
  67. package/dist/discovery-poll.js +10 -192
  68. package/dist/discovery-poll.js.map +1 -1
  69. package/dist/drain-teardown.d.ts +11 -6
  70. package/dist/drain-teardown.d.ts.map +1 -1
  71. package/dist/drain-teardown.js +3 -2
  72. package/dist/drain-teardown.js.map +1 -1
  73. package/dist/focus-branch-ahead.d.ts +42 -0
  74. package/dist/focus-branch-ahead.d.ts.map +1 -0
  75. package/dist/focus-branch-ahead.js +45 -0
  76. package/dist/focus-branch-ahead.js.map +1 -0
  77. package/dist/focus-engine.d.ts.map +1 -1
  78. package/dist/focus-engine.js +21 -43
  79. package/dist/focus-engine.js.map +1 -1
  80. package/dist/focus-executor.js +2 -2
  81. package/dist/focus-executor.js.map +1 -1
  82. package/dist/focus-lifecycle.d.ts.map +1 -1
  83. package/dist/focus-lifecycle.js +32 -3
  84. package/dist/focus-lifecycle.js.map +1 -1
  85. package/dist/focus-loop.d.ts +34 -12
  86. package/dist/focus-loop.d.ts.map +1 -1
  87. package/dist/focus-loop.js +78 -15
  88. package/dist/focus-loop.js.map +1 -1
  89. package/dist/focus-merge.d.ts.map +1 -1
  90. package/dist/focus-merge.js +6 -1
  91. package/dist/focus-merge.js.map +1 -1
  92. package/dist/focus-phase.d.ts +18 -3
  93. package/dist/focus-phase.d.ts.map +1 -1
  94. package/dist/focus-phase.js +85 -31
  95. package/dist/focus-phase.js.map +1 -1
  96. package/dist/focus-prompt-builder.d.ts.map +1 -1
  97. package/dist/focus-prompt-builder.js +8 -0
  98. package/dist/focus-prompt-builder.js.map +1 -1
  99. package/dist/focus-provisioning.d.ts.map +1 -1
  100. package/dist/focus-provisioning.js +4 -0
  101. package/dist/focus-provisioning.js.map +1 -1
  102. package/dist/focus-stage-lifecycle/planning-release.d.ts +35 -17
  103. package/dist/focus-stage-lifecycle/planning-release.d.ts.map +1 -1
  104. package/dist/focus-stage-lifecycle/planning-release.js +53 -22
  105. package/dist/focus-stage-lifecycle/planning-release.js.map +1 -1
  106. package/dist/focus-worktree-state.d.ts +17 -6
  107. package/dist/focus-worktree-state.d.ts.map +1 -1
  108. package/dist/focus-worktree-state.js +21 -11
  109. package/dist/focus-worktree-state.js.map +1 -1
  110. package/dist/guard-engine.d.ts +1 -2
  111. package/dist/guard-engine.d.ts.map +1 -1
  112. package/dist/guard-engine.js +1 -2
  113. package/dist/guard-engine.js.map +1 -1
  114. package/dist/health-events.d.ts +10 -0
  115. package/dist/health-events.d.ts.map +1 -0
  116. package/dist/health-events.js +10 -0
  117. package/dist/health-events.js.map +1 -0
  118. package/dist/heartbeat.d.ts.map +1 -1
  119. package/dist/heartbeat.js +98 -21
  120. package/dist/heartbeat.js.map +1 -1
  121. package/dist/host-control/catalog.d.ts.map +1 -1
  122. package/dist/host-control/catalog.js +4 -1
  123. package/dist/host-control/catalog.js.map +1 -1
  124. package/dist/host-control/client.d.ts +3 -4
  125. package/dist/host-control/client.d.ts.map +1 -1
  126. package/dist/host-control/client.js +4 -5
  127. package/dist/host-control/client.js.map +1 -1
  128. package/dist/listener-auto-advance.d.ts +2 -1
  129. package/dist/listener-auto-advance.d.ts.map +1 -1
  130. package/dist/listener-auto-advance.js +36 -40
  131. package/dist/listener-auto-advance.js.map +1 -1
  132. package/dist/listener.d.ts +2 -7
  133. package/dist/listener.d.ts.map +1 -1
  134. package/dist/listener.js +11 -9
  135. package/dist/listener.js.map +1 -1
  136. package/dist/operator-hold.d.ts +66 -0
  137. package/dist/operator-hold.d.ts.map +1 -0
  138. package/dist/operator-hold.js +99 -0
  139. package/dist/operator-hold.js.map +1 -0
  140. package/dist/poll-trigger.d.ts +28 -0
  141. package/dist/poll-trigger.d.ts.map +1 -0
  142. package/dist/poll-trigger.js +31 -0
  143. package/dist/poll-trigger.js.map +1 -0
  144. package/dist/prompt-listing.js +6 -0
  145. package/dist/prompt-listing.js.map +1 -1
  146. package/dist/prompt-sections/execution-sections.d.ts.map +1 -1
  147. package/dist/prompt-sections/execution-sections.js +24 -0
  148. package/dist/prompt-sections/execution-sections.js.map +1 -1
  149. package/dist/queries/context-lock-queries.d.ts.map +1 -1
  150. package/dist/queries/context-lock-queries.js +4 -1
  151. package/dist/queries/context-lock-queries.js.map +1 -1
  152. package/dist/queries/deliveries.d.ts +17 -0
  153. package/dist/queries/deliveries.d.ts.map +1 -1
  154. package/dist/queries/deliveries.js.map +1 -1
  155. package/dist/queries/issues.d.ts +98 -0
  156. package/dist/queries/issues.d.ts.map +1 -1
  157. package/dist/queries/issues.js +135 -0
  158. package/dist/queries/issues.js.map +1 -1
  159. package/dist/queries/schemas.d.ts +3 -3
  160. package/dist/spawn/worktree-session.d.ts.map +1 -1
  161. package/dist/spawn/worktree-session.js +2 -0
  162. package/dist/spawn/worktree-session.js.map +1 -1
  163. package/dist/spawner/index.d.ts +7 -9
  164. package/dist/spawner/index.d.ts.map +1 -1
  165. package/dist/spawner/index.js +13 -11
  166. package/dist/spawner/index.js.map +1 -1
  167. package/dist/spawner/lifecycle.d.ts +1 -18
  168. package/dist/spawner/lifecycle.d.ts.map +1 -1
  169. package/dist/spawner/lifecycle.js +1 -54
  170. package/dist/spawner/lifecycle.js.map +1 -1
  171. package/dist/spawner/liveness.d.ts +5 -14
  172. package/dist/spawner/liveness.d.ts.map +1 -1
  173. package/dist/spawner/liveness.js +5 -67
  174. package/dist/spawner/liveness.js.map +1 -1
  175. package/dist/spawner/state.d.ts +8 -20
  176. package/dist/spawner/state.d.ts.map +1 -1
  177. package/dist/spawner/state.js +8 -34
  178. package/dist/spawner/state.js.map +1 -1
  179. package/dist/types/focus.d.ts +9 -0
  180. package/dist/types/focus.d.ts.map +1 -1
  181. package/dist/types/session.d.ts +0 -44
  182. package/dist/types/session.d.ts.map +1 -1
  183. package/dist/unified-shell.d.ts.map +1 -1
  184. package/dist/unified-shell.js +8 -0
  185. package/dist/unified-shell.js.map +1 -1
  186. package/package.json +1 -2
  187. package/dist/completion/agent-completion.d.ts +0 -48
  188. package/dist/completion/agent-completion.d.ts.map +0 -1
  189. package/dist/completion/agent-completion.js +0 -205
  190. package/dist/completion/agent-completion.js.map +0 -1
  191. package/dist/delivery-guards.d.ts +0 -41
  192. package/dist/delivery-guards.d.ts.map +0 -1
  193. package/dist/delivery-guards.js +0 -200
  194. package/dist/delivery-guards.js.map +0 -1
  195. package/dist/spawner/spawn-team.d.ts +0 -20
  196. package/dist/spawner/spawn-team.d.ts.map +0 -1
  197. package/dist/spawner/spawn-team.js +0 -19
  198. package/dist/spawner/spawn-team.js.map +0 -1
  199. package/dist/spawner/timeout.d.ts +0 -32
  200. package/dist/spawner/timeout.d.ts.map +0 -1
  201. package/dist/spawner/timeout.js +0 -126
  202. package/dist/spawner/timeout.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"delivery-lifecycle.d.ts","sourceRoot":"","sources":["../src/delivery-lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delivery-lifecycle.d.ts","sourceRoot":"","sources":["../src/delivery-lifecycle.ts"],"names":[],"mappings":"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"}
@@ -116,7 +116,7 @@ export async function evaluateGuardsForDeliveryTransition(params) {
116
116
  * Used by the focus team lead when all issues in a delivery are completed.
117
117
  */
118
118
  export async function advanceDeliveryStage(params) {
119
- const { deliveryId, deliveryName, organizationId, workflow, currentStageId, exitCode, openIssueCount, sessionCount, policyFailureMode, sessionId, focusId, config, fromStatus, } = params;
119
+ const { deliveryId, deliveryName, organizationId, workflow, currentStageId, exitCode, openIssueCount, reconcilerIssues, sessionCount, policyFailureMode, sessionId, focusId, config, fromStatus, } = params;
120
120
  // Determine transition via workflow engine
121
121
  const transition = determineTransition({
122
122
  workflow,
@@ -172,10 +172,10 @@ export async function advanceDeliveryStage(params) {
172
172
  DELIVERY_STATUS.CODING, DELIVERY_STATUS.QUEUED, DELIVERY_STATUS.VERIFY_FAILED,
173
173
  ]);
174
174
  if (fromStatus && RECONCILER_FROM.has(fromStatus)) {
175
- // Synthesize the predicate inputs the reconciler needs from openIssueCount.
176
- const syntheticIssues = openIssueCount > 0
177
- ? [{ status: 'Done', issueType: 'Task' }, { status: 'In Progress', issueType: 'Task' }]
178
- : [{ status: 'Done', issueType: 'Task' }];
175
+ // Feed the reconciler the delivery's REAL issue state (supplied by the
176
+ // caller), never a count-derived synthesis. This is what keeps the
177
+ // queued-branch scoping gate reachable: a zero-issue queued delivery
178
+ // arrives here with an empty list and the reconciler holds it in queued.
179
179
  const decision = resolveReconciledWrite({
180
180
  site: 'advance-stage',
181
181
  deliveryId,
@@ -183,7 +183,7 @@ export async function advanceDeliveryStage(params) {
183
183
  legacyTarget: deliveryStatus,
184
184
  input: {
185
185
  currentStatus: fromStatus,
186
- issues: syntheticIssues,
186
+ issues: reconcilerIssues,
187
187
  // Worktree-commit safety is enforced by ensureWorktreeCommittedBeforeAdvance
188
188
  // before this call; by here the worktree is committed.
189
189
  gitState: { worktreeCommitted: true },
@@ -387,14 +387,13 @@ async function handleGuardFailClosed(params) {
387
387
  log.error(`[guard] GUARD EVALUATION FAILED for "${deliveryName}": ` +
388
388
  `${err.message}. Transition blocked per fail-closed configuration.${guardInfo}`);
389
389
  const exitReason = `Guard evaluation failed, transition blocked per fail-closed configuration.${guardInfo}`;
390
- try {
391
- // Paused exit on guard fail-closed. from_status is not reliably known at
392
- // this point, so it is recorded as null; the move into paused is still logged.
393
- await updateDeliveryStatus(deliveryId, DELIVERY_STATUS.PAUSED, undefined, undefined, undefined, { organizationId });
394
- }
395
- catch (statusErr) {
396
- log.error(`Failed to pause delivery "${deliveryName}":`, statusErr.message);
397
- }
390
+ // NOTE: this handler does NOT write the paused status. It returns blocked:true
391
+ // and the CALLER performs the single paused write -- advanceDeliveryStage
392
+ // (delivery-lifecycle.ts) writes it with the correct from_status + transition
393
+ // record, and the legacy handleAgentCompletion path writes it too. Writing
394
+ // here as well produced two delivery_transitions rows per pause (one with a
395
+ // null from_status from here, one with the real from_status from the caller),
396
+ // so the audit trail read as two moves. Single-writer: one decision, one write.
398
397
  try {
399
398
  await withRetry(() => createEscalation({
400
399
  organizationId,
@@ -1 +1 @@
1
- {"version":3,"file":"delivery-lifecycle.js","sourceRoot":"","sources":["../src/delivery-lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delivery-lifecycle.js","sourceRoot":"","sources":["../src/delivery-lifecycle.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,18 @@
11
11
  * across the live writers (advanceDeliveryStage / advanceDeliveryStatuses /
12
12
  * runReviewExitHandler / checkDeliveryAutoAdvance / checkVerifyDeliveriesForOpenIssues).
13
13
  *
14
+ * That claim is now TRUE of every named writer AND mechanically enforced: each
15
+ * of the five routes its status decision through `resolveReconciledWrite`
16
+ * (delivery-reconciler-apply.ts) over the delivery's REAL issue list, and uses
17
+ * the shared OPEN_ISSUE_STATUSES / areDeliveryIssuesDone predicate -- no writer
18
+ * synthesizes issues from a count, carries a `!TERMINAL_ISSUE_STATUSES.has`
19
+ * open-work predicate, or keeps a superseded status write. The gate that keeps
20
+ * this header honest is `npm run lint:reconciler-single-writer`
21
+ * (scripts/lint-reconciler-single-writer.mjs, wired into lint:all): it fails if
22
+ * any named writer reintroduces its own derivation, or if this header names a
23
+ * writer that no longer exists. Keep the "live writers ( ... )" list above
24
+ * accurate -- the gate parses it.
25
+ *
14
26
  * It is deliberately PURE -- no I/O, no supabase, no git. Callers gather the
15
27
  * signal (issues, worktree-committed flag, guard verdict, review state) and
16
28
  * pass it in; the reconciler only computes. This is what makes it
@@ -129,10 +141,12 @@ export interface ReconcileResult {
129
141
  * every issue to be literally 'Done'). A delivery with zero work issues is
130
142
  * vacuously done.
131
143
  *
132
- * Replaces the previously-divergent inline copies in advanceDeliveryStatuses
133
- * (`!TERMINAL_ISSUE_STATUSES.has`), listener-auto-advance (`OPEN_ISSUE_STATUSES`),
134
- * and review-exit (`ACTIVE_WORK_STATUSES`) -- all three sets have identical
135
- * membership; this names the predicate once.
144
+ * This is the ONE open-work predicate every delivery writer consumes. It is
145
+ * built on the shared OPEN_ISSUE_STATUSES set (constants.ts). advanceDeliveryStatuses
146
+ * previously computed its open count from `!TERMINAL_ISSUE_STATUSES.has` (now
147
+ * collapsed onto OPEN_ISSUE_STATUSES), and an `ACTIVE_WORK_STATUSES` copy that
148
+ * duplicated the same set has been deleted -- there is no longer a second
149
+ * membership definition to drift against.
136
150
  */
137
151
  export declare function areDeliveryIssuesDone(issues: ReadonlyArray<ReconcilerIssue>): boolean;
138
152
  /** Whether the delivery has at least one work issue (Task/Bug). */
@@ -1 +1 @@
1
- {"version":3,"file":"delivery-reconciler.d.ts","sourceRoot":"","sources":["../src/delivery-reconciler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,gDAAgD;AAChD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,+DAA+D;AAC/D,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,8EAA8E;AAC9E,MAAM,WAAW,sBAAsB;IACrC,wEAAwE;IACxE,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,yDAAyD;AACzD,MAAM,WAAW,qBAAqB;IACpC,+DAA+D;IAC/D,eAAe,EAAE,OAAO,CAAC;IACzB,8EAA8E;IAC9E,YAAY,EAAE,OAAO,CAAC;IACtB,kCAAkC;IAClC,WAAW,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACjC,gDAAgD;IAChD,SAAS,EAAE,OAAO,CAAC;IACnB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,EAAE,UAAU,GAAG,YAAY,GAAG,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,eAAe,CAAC;IAC/B,MAAM,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IACvC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,YAAY,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC7C,WAAW,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC3C;;;;;;;;;;;;;OAaG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,4FAA4F;IAC5F,MAAM,EAAE,eAAe,CAAC;IACxB,iDAAiD;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,yEAAyE;IACzE,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,SAAS,EAAE,OAAO,CAAC;CACpB;AAID;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,OAAO,CAIrF;AAED,mEAAmE;AACnE,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,OAAO,CAE7E;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,OAAO,CAE3E;AAED,qFAAqF;AACrF,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,OAAO,CAE7E;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,OAAO,CAGnF;AAOD,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,KAAK,mBAAmB,GACzB,MAAM,kBAAkB,CAAC;AAc1B;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,CAwF9E"}
1
+ {"version":3,"file":"delivery-reconciler.d.ts","sourceRoot":"","sources":["../src/delivery-reconciler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,gDAAgD;AAChD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,+DAA+D;AAC/D,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,8EAA8E;AAC9E,MAAM,WAAW,sBAAsB;IACrC,wEAAwE;IACxE,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,yDAAyD;AACzD,MAAM,WAAW,qBAAqB;IACpC,+DAA+D;IAC/D,eAAe,EAAE,OAAO,CAAC;IACzB,8EAA8E;IAC9E,YAAY,EAAE,OAAO,CAAC;IACtB,kCAAkC;IAClC,WAAW,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACjC,gDAAgD;IAChD,SAAS,EAAE,OAAO,CAAC;IACnB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,EAAE,UAAU,GAAG,YAAY,GAAG,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,eAAe,CAAC;IAC/B,MAAM,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IACvC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,YAAY,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC7C,WAAW,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC3C;;;;;;;;;;;;;OAaG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,4FAA4F;IAC5F,MAAM,EAAE,eAAe,CAAC;IACxB,iDAAiD;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,yEAAyE;IACzE,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,SAAS,EAAE,OAAO,CAAC;CACpB;AAID;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,OAAO,CAIrF;AAED,mEAAmE;AACnE,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,OAAO,CAE7E;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,OAAO,CAE3E;AAED,qFAAqF;AACrF,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,OAAO,CAE7E;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,OAAO,CAGnF;AAOD,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,KAAK,mBAAmB,GACzB,MAAM,kBAAkB,CAAC;AAc1B;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,CAwF9E"}
@@ -11,6 +11,18 @@
11
11
  * across the live writers (advanceDeliveryStage / advanceDeliveryStatuses /
12
12
  * runReviewExitHandler / checkDeliveryAutoAdvance / checkVerifyDeliveriesForOpenIssues).
13
13
  *
14
+ * That claim is now TRUE of every named writer AND mechanically enforced: each
15
+ * of the five routes its status decision through `resolveReconciledWrite`
16
+ * (delivery-reconciler-apply.ts) over the delivery's REAL issue list, and uses
17
+ * the shared OPEN_ISSUE_STATUSES / areDeliveryIssuesDone predicate -- no writer
18
+ * synthesizes issues from a count, carries a `!TERMINAL_ISSUE_STATUSES.has`
19
+ * open-work predicate, or keeps a superseded status write. The gate that keeps
20
+ * this header honest is `npm run lint:reconciler-single-writer`
21
+ * (scripts/lint-reconciler-single-writer.mjs, wired into lint:all): it fails if
22
+ * any named writer reintroduces its own derivation, or if this header names a
23
+ * writer that no longer exists. Keep the "live writers ( ... )" list above
24
+ * accurate -- the gate parses it.
25
+ *
14
26
  * It is deliberately PURE -- no I/O, no supabase, no git. Callers gather the
15
27
  * signal (issues, worktree-committed flag, guard verdict, review state) and
16
28
  * pass it in; the reconciler only computes. This is what makes it
@@ -40,10 +52,12 @@ import { DELIVERY_STATUS, isValidTransition } from '@telora/daemon-core';
40
52
  * every issue to be literally 'Done'). A delivery with zero work issues is
41
53
  * vacuously done.
42
54
  *
43
- * Replaces the previously-divergent inline copies in advanceDeliveryStatuses
44
- * (`!TERMINAL_ISSUE_STATUSES.has`), listener-auto-advance (`OPEN_ISSUE_STATUSES`),
45
- * and review-exit (`ACTIVE_WORK_STATUSES`) -- all three sets have identical
46
- * membership; this names the predicate once.
55
+ * This is the ONE open-work predicate every delivery writer consumes. It is
56
+ * built on the shared OPEN_ISSUE_STATUSES set (constants.ts). advanceDeliveryStatuses
57
+ * previously computed its open count from `!TERMINAL_ISSUE_STATUSES.has` (now
58
+ * collapsed onto OPEN_ISSUE_STATUSES), and an `ACTIVE_WORK_STATUSES` copy that
59
+ * duplicated the same set has been deleted -- there is no longer a second
60
+ * membership definition to drift against.
47
61
  */
48
62
  export function areDeliveryIssuesDone(issues) {
49
63
  const work = filterWorkIssues([...issues]);
@@ -1 +1 @@
1
- {"version":3,"file":"delivery-reconciler.js","sourceRoot":"","sources":["../src/delivery-reconciler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delivery-reconciler.js","sourceRoot":"","sources":["../src/delivery-reconciler.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@
14
14
  * - directive/directive-queue.ts pendingSpawnDirectives map + identity/guard helpers
15
15
  *
16
16
  * This module RE-EXPORTS the full prior public surface so existing importers
17
- * (listener, focus-executor, spawner/spawn-team, completion/team-completion,
17
+ * (listener, focus-executor, spawner, completion/team-completion,
18
18
  * tests) are unaffected.
19
19
  */
20
20
  import type { DaemonConfig } from './types.js';
@@ -14,7 +14,7 @@
14
14
  * - directive/directive-queue.ts pendingSpawnDirectives map + identity/guard helpers
15
15
  *
16
16
  * This module RE-EXPORTS the full prior public surface so existing importers
17
- * (listener, focus-executor, spawner/spawn-team, completion/team-completion,
17
+ * (listener, focus-executor, spawner, completion/team-completion,
18
18
  * tests) are unaffected.
19
19
  */
20
20
  import { getActiveTeams, getActiveTeamCount } from './focus-team-state.js';
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Local model endpoint fetch primitives (the `/v1/models` floor).
3
+ *
4
+ * The shared low layer that BOTH the discovery poll (`discovery-poll.ts`,
5
+ * orchestration) and the host-control plane (`host-control/catalog.ts`, which
6
+ * degrades to this floor when a host is not controllable) sit on top of. It
7
+ * owns the SSRF guard (TEL-5), the response byte ceiling (TEL-6), the timeout,
8
+ * and the address-free error strings -- with NO dependency on either consumer,
9
+ * so neither `discovery-poll` nor `host-control` needs to import the other to
10
+ * reach the floor. `discovery-poll.ts` re-exports the public surface below for
11
+ * back-compat (existing importers and tests read these from `discovery-poll`).
12
+ */
13
+ /** Time-box a single endpoint fetch so an unreachable host fails fast to error. */
14
+ export declare const DISCOVERY_FETCH_TIMEOUT_MS = 5000;
15
+ /**
16
+ * Hard ceiling on a discovery response body. A `/models` listing is tiny; this
17
+ * cap defends against a malicious endpoint streaming an unbounded body to OOM
18
+ * the daemon (TEL-6). Enforced both via the declared Content-Length and a
19
+ * streamed byte ceiling so a lying header can't slip past.
20
+ */
21
+ export declare const MAX_DISCOVERY_BYTES = 1000000;
22
+ /** Generic, address-free error strings written back to the DB (TEL-5). The raw
23
+ * detail (URL, system error) is logged daemon-side only -- the DB-written value
24
+ * is readable by org members and must not leak a probe oracle. */
25
+ export declare const DISCOVERY_ERROR_STATUS = "Endpoint returned an error status";
26
+ export declare const DISCOVERY_ERROR_UNREACHABLE = "Endpoint unreachable or timed out";
27
+ export declare const DISCOVERY_ERROR_INVALID = "Endpoint response was not valid";
28
+ /** A 401/403 probe result. Distinct from the generic status message so an
29
+ * authenticated org admin operating their own endpoint sees the one actionable
30
+ * cause -- it's auth, fix the key -- instead of the address-free catch-all. Stays
31
+ * address-free itself (no URL/IP/system detail): the probe-oracle defense (TEL-5)
32
+ * is preserved; only the failure *category* is disclosed, never the endpoint. */
33
+ export declare const DISCOVERY_ERROR_AUTH = "Authentication failed -- check the API key";
34
+ /**
35
+ * True only for a base_url that parses as a URL whose protocol is exactly
36
+ * `http:` or `https:`. Rejects `file:`, `ftp:`, `gopher:`, non-URL strings, and
37
+ * empty -- the SSRF guard predicate (TEL-5). Pure + exported for unit testing.
38
+ */
39
+ export declare function isAllowedDiscoveryUrl(raw: string): boolean;
40
+ /**
41
+ * A daemon-side error carrying a sanitized, address-free message for the DB.
42
+ * `fetchModels` throws these so the catch can write `dbMessage` verbatim while
43
+ * still logging the rich `message` daemon-side.
44
+ */
45
+ export declare class DiscoveryError extends Error {
46
+ /** Generic string safe to write to the org-readable `error` column. */
47
+ readonly dbMessage: string;
48
+ constructor(message: string,
49
+ /** Generic string safe to write to the org-readable `error` column. */
50
+ dbMessage: string);
51
+ }
52
+ /**
53
+ * Extract served model id strings from an OpenAI-compatible `/models` payload
54
+ * (`{ object: 'list', data: [{ id }, ...] }`). Pure + defensive: tolerates a
55
+ * missing/!array `data`, non-object items, and non-string/blank ids, returning
56
+ * a de-duplicated, trimmed string[] (possibly empty). Exported for unit testing.
57
+ */
58
+ export declare function normalizeModelList(payload: unknown): string[];
59
+ /**
60
+ * Build the request headers for a discovery fetch (D8). When a bearer key VALUE
61
+ * is provided (resolved server-side from the Telora-stored discovery secret), an
62
+ * `Authorization: Bearer <value>` header is added so an auth-protected endpoint
63
+ * (the common case) lists its models instead of 401-ing. A blank/absent value
64
+ * yields no auth header (unauthenticated probe). Pure + exported for unit
65
+ * testing; the value is never persisted or logged.
66
+ */
67
+ export declare function buildDiscoveryHeaders(apiKey: string | null | undefined): Record<string, string>;
68
+ /**
69
+ * Fetch + normalize an endpoint's model list. Throws a `DiscoveryError` whose
70
+ * `dbMessage` is a generic, address-free string (TEL-5/TEL-6) -- the caller
71
+ * writes that to the DB and logs the rich `.message` daemon-side only. When a
72
+ * bearer key VALUE is provided (resolved from the Telora discovery secret), an
73
+ * Authorization bearer is sent (D8).
74
+ */
75
+ export declare function fetchModels(baseUrl: string, apiKey?: string | null): Promise<string[]>;
76
+ //# sourceMappingURL=discovery-fetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery-fetch.d.ts","sourceRoot":"","sources":["../src/discovery-fetch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,mFAAmF;AACnF,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,UAAY,CAAC;AAE7C;;mEAEmE;AACnE,eAAO,MAAM,sBAAsB,sCAAsC,CAAC;AAC1E,eAAO,MAAM,2BAA2B,sCAAsC,CAAC;AAC/E,eAAO,MAAM,uBAAuB,oCAAoC,CAAC;AACzE;;;;kFAIkF;AAClF,eAAO,MAAM,oBAAoB,+CAA+C,CAAC;AAEjF;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAQ1D;AAED;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,KAAK;IAGrC,uEAAuE;IACvE,QAAQ,CAAC,SAAS,EAAE,MAAM;gBAF1B,OAAO,EAAE,MAAM;IACf,uEAAuE;IAC9D,SAAS,EAAE,MAAM;CAK7B;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAc7D;AA8CD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAChC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAKxB;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAqD5F"}
@@ -0,0 +1,206 @@
1
+ /**
2
+ * Local model endpoint fetch primitives (the `/v1/models` floor).
3
+ *
4
+ * The shared low layer that BOTH the discovery poll (`discovery-poll.ts`,
5
+ * orchestration) and the host-control plane (`host-control/catalog.ts`, which
6
+ * degrades to this floor when a host is not controllable) sit on top of. It
7
+ * owns the SSRF guard (TEL-5), the response byte ceiling (TEL-6), the timeout,
8
+ * and the address-free error strings -- with NO dependency on either consumer,
9
+ * so neither `discovery-poll` nor `host-control` needs to import the other to
10
+ * reach the floor. `discovery-poll.ts` re-exports the public surface below for
11
+ * back-compat (existing importers and tests read these from `discovery-poll`).
12
+ */
13
+ import { createLogger } from './log.js';
14
+ const log = createLogger({ module: 'discovery' });
15
+ /** Time-box a single endpoint fetch so an unreachable host fails fast to error. */
16
+ export const DISCOVERY_FETCH_TIMEOUT_MS = 5000;
17
+ /**
18
+ * Hard ceiling on a discovery response body. A `/models` listing is tiny; this
19
+ * cap defends against a malicious endpoint streaming an unbounded body to OOM
20
+ * the daemon (TEL-6). Enforced both via the declared Content-Length and a
21
+ * streamed byte ceiling so a lying header can't slip past.
22
+ */
23
+ export const MAX_DISCOVERY_BYTES = 1_000_000;
24
+ /** Generic, address-free error strings written back to the DB (TEL-5). The raw
25
+ * detail (URL, system error) is logged daemon-side only -- the DB-written value
26
+ * is readable by org members and must not leak a probe oracle. */
27
+ export const DISCOVERY_ERROR_STATUS = 'Endpoint returned an error status';
28
+ export const DISCOVERY_ERROR_UNREACHABLE = 'Endpoint unreachable or timed out';
29
+ export const DISCOVERY_ERROR_INVALID = 'Endpoint response was not valid';
30
+ /** A 401/403 probe result. Distinct from the generic status message so an
31
+ * authenticated org admin operating their own endpoint sees the one actionable
32
+ * cause -- it's auth, fix the key -- instead of the address-free catch-all. Stays
33
+ * address-free itself (no URL/IP/system detail): the probe-oracle defense (TEL-5)
34
+ * is preserved; only the failure *category* is disclosed, never the endpoint. */
35
+ export const DISCOVERY_ERROR_AUTH = 'Authentication failed -- check the API key';
36
+ /**
37
+ * True only for a base_url that parses as a URL whose protocol is exactly
38
+ * `http:` or `https:`. Rejects `file:`, `ftp:`, `gopher:`, non-URL strings, and
39
+ * empty -- the SSRF guard predicate (TEL-5). Pure + exported for unit testing.
40
+ */
41
+ export function isAllowedDiscoveryUrl(raw) {
42
+ let parsed;
43
+ try {
44
+ parsed = new URL(raw);
45
+ }
46
+ catch {
47
+ return false;
48
+ }
49
+ return parsed.protocol === 'http:' || parsed.protocol === 'https:';
50
+ }
51
+ /**
52
+ * A daemon-side error carrying a sanitized, address-free message for the DB.
53
+ * `fetchModels` throws these so the catch can write `dbMessage` verbatim while
54
+ * still logging the rich `message` daemon-side.
55
+ */
56
+ export class DiscoveryError extends Error {
57
+ dbMessage;
58
+ constructor(message,
59
+ /** Generic string safe to write to the org-readable `error` column. */
60
+ dbMessage) {
61
+ super(message);
62
+ this.dbMessage = dbMessage;
63
+ this.name = 'DiscoveryError';
64
+ }
65
+ }
66
+ /**
67
+ * Extract served model id strings from an OpenAI-compatible `/models` payload
68
+ * (`{ object: 'list', data: [{ id }, ...] }`). Pure + defensive: tolerates a
69
+ * missing/!array `data`, non-object items, and non-string/blank ids, returning
70
+ * a de-duplicated, trimmed string[] (possibly empty). Exported for unit testing.
71
+ */
72
+ export function normalizeModelList(payload) {
73
+ if (!payload || typeof payload !== 'object')
74
+ return [];
75
+ const data = payload.data;
76
+ if (!Array.isArray(data))
77
+ return [];
78
+ const seen = new Set();
79
+ for (const item of data) {
80
+ if (!item || typeof item !== 'object')
81
+ continue;
82
+ const id = item.id;
83
+ if (typeof id === 'string') {
84
+ const trimmed = id.trim();
85
+ if (trimmed)
86
+ seen.add(trimmed);
87
+ }
88
+ }
89
+ return [...seen];
90
+ }
91
+ /**
92
+ * Read a fetch response body with a hard byte ceiling, aborting once the cap is
93
+ * exceeded so a lying Content-Length (or a chunked body with none) can't OOM the
94
+ * daemon (TEL-6). Returns the decoded text. Throws past the ceiling.
95
+ */
96
+ async function readBodyCapped(res) {
97
+ const body = res.body;
98
+ if (!body) {
99
+ // No stream available (shouldn't happen on Node fetch) -- fall back but still
100
+ // cap by post-read byteLength.
101
+ const buf = await res.arrayBuffer();
102
+ if (buf.byteLength > MAX_DISCOVERY_BYTES) {
103
+ throw new DiscoveryError('Response body exceeded byte ceiling', DISCOVERY_ERROR_INVALID);
104
+ }
105
+ return new TextDecoder().decode(buf);
106
+ }
107
+ const reader = body.getReader();
108
+ const chunks = [];
109
+ let total = 0;
110
+ try {
111
+ for (;;) {
112
+ const { done, value } = await reader.read();
113
+ if (done)
114
+ break;
115
+ if (value) {
116
+ total += value.byteLength;
117
+ if (total > MAX_DISCOVERY_BYTES) {
118
+ throw new DiscoveryError('Response body exceeded byte ceiling', DISCOVERY_ERROR_INVALID);
119
+ }
120
+ chunks.push(value);
121
+ }
122
+ }
123
+ }
124
+ finally {
125
+ // Stop the underlying transfer; ignore cancel errors.
126
+ await reader.cancel().catch((err) => { log.debug('SSE reader cancel failed', { error: String(err?.message ?? err) }); });
127
+ }
128
+ const merged = new Uint8Array(total);
129
+ let offset = 0;
130
+ for (const c of chunks) {
131
+ merged.set(c, offset);
132
+ offset += c.byteLength;
133
+ }
134
+ return new TextDecoder().decode(merged);
135
+ }
136
+ /**
137
+ * Build the request headers for a discovery fetch (D8). When a bearer key VALUE
138
+ * is provided (resolved server-side from the Telora-stored discovery secret), an
139
+ * `Authorization: Bearer <value>` header is added so an auth-protected endpoint
140
+ * (the common case) lists its models instead of 401-ing. A blank/absent value
141
+ * yields no auth header (unauthenticated probe). Pure + exported for unit
142
+ * testing; the value is never persisted or logged.
143
+ */
144
+ export function buildDiscoveryHeaders(apiKey) {
145
+ const headers = { accept: 'application/json' };
146
+ const value = typeof apiKey === 'string' ? apiKey.trim() : '';
147
+ if (value)
148
+ headers.Authorization = `Bearer ${value}`;
149
+ return headers;
150
+ }
151
+ /**
152
+ * Fetch + normalize an endpoint's model list. Throws a `DiscoveryError` whose
153
+ * `dbMessage` is a generic, address-free string (TEL-5/TEL-6) -- the caller
154
+ * writes that to the DB and logs the rich `.message` daemon-side only. When a
155
+ * bearer key VALUE is provided (resolved from the Telora discovery secret), an
156
+ * Authorization bearer is sent (D8).
157
+ */
158
+ export async function fetchModels(baseUrl, apiKey) {
159
+ // TEL-5: validate the operator-supplied base_url before any network call --
160
+ // reject anything that isn't a parseable http/https URL (no file:, ftp:, etc).
161
+ if (!isAllowedDiscoveryUrl(baseUrl)) {
162
+ throw new DiscoveryError(`Rejected non-http(s) discovery URL: ${baseUrl}`, DISCOVERY_ERROR_INVALID);
163
+ }
164
+ // base_url already includes /v1 (e.g. http://host:8888/v1); append /models.
165
+ const url = `${baseUrl.replace(/\/+$/, '')}/models`;
166
+ const controller = new AbortController();
167
+ const timer = setTimeout(() => controller.abort(), DISCOVERY_FETCH_TIMEOUT_MS);
168
+ try {
169
+ const res = await fetch(url, { signal: controller.signal, headers: buildDiscoveryHeaders(apiKey) });
170
+ if (!res.ok) {
171
+ // 401/403: disclose the failure CATEGORY (auth) so an authenticated operator
172
+ // can act, while keeping the message address-free (TEL-5). All other non-2xx
173
+ // codes stay the generic catch-all so we never leak which path/host exists.
174
+ const dbMessage = res.status === 401 || res.status === 403 ? DISCOVERY_ERROR_AUTH : DISCOVERY_ERROR_STATUS;
175
+ throw new DiscoveryError(`Endpoint returned HTTP ${res.status}`, dbMessage);
176
+ }
177
+ // TEL-6: reject a too-large declared body up front...
178
+ const declared = Number(res.headers.get('content-length'));
179
+ if (Number.isFinite(declared) && declared > MAX_DISCOVERY_BYTES) {
180
+ throw new DiscoveryError(`Declared Content-Length ${declared} exceeds cap`, DISCOVERY_ERROR_INVALID);
181
+ }
182
+ // ...and defensively cap the actual stream in case the header lied / is absent.
183
+ const text = await readBodyCapped(res);
184
+ let json;
185
+ try {
186
+ json = JSON.parse(text);
187
+ }
188
+ catch {
189
+ throw new DiscoveryError('Response body was not valid JSON', DISCOVERY_ERROR_INVALID);
190
+ }
191
+ return normalizeModelList(json);
192
+ }
193
+ catch (err) {
194
+ if (err instanceof DiscoveryError)
195
+ throw err;
196
+ if (err.name === 'AbortError') {
197
+ throw new DiscoveryError(`Timed out after ${DISCOVERY_FETCH_TIMEOUT_MS}ms reaching ${url}`, DISCOVERY_ERROR_UNREACHABLE);
198
+ }
199
+ // Network-level failure (DNS, connection refused, TLS): generic to the DB.
200
+ throw new DiscoveryError(err.message || `Failed to reach ${url}`, DISCOVERY_ERROR_UNREACHABLE);
201
+ }
202
+ finally {
203
+ clearTimeout(timer);
204
+ }
205
+ }
206
+ //# sourceMappingURL=discovery-fetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery-fetch.js","sourceRoot":"","sources":["../src/discovery-fetch.ts"],"names":[],"mappings":"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"}