@telora/daemon 0.21.165 → 0.21.178

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 (103) hide show
  1. package/build-info.json +6 -3
  2. package/dist/completion/completion-decision.d.ts +16 -0
  3. package/dist/completion/completion-decision.d.ts.map +1 -1
  4. package/dist/completion/completion-decision.js +15 -0
  5. package/dist/completion/completion-decision.js.map +1 -1
  6. package/dist/completion/event-escalations.d.ts +26 -0
  7. package/dist/completion/event-escalations.d.ts.map +1 -1
  8. package/dist/completion/event-escalations.js +77 -19
  9. package/dist/completion/event-escalations.js.map +1 -1
  10. package/dist/completion/event-phases.d.ts +7 -0
  11. package/dist/completion/event-phases.d.ts.map +1 -1
  12. package/dist/completion/event-phases.js +19 -0
  13. package/dist/completion/event-phases.js.map +1 -1
  14. package/dist/completion/event.d.ts.map +1 -1
  15. package/dist/completion/event.js +1 -0
  16. package/dist/completion/event.js.map +1 -1
  17. package/dist/completion/human-only-act.d.ts +43 -0
  18. package/dist/completion/human-only-act.d.ts.map +1 -0
  19. package/dist/completion/human-only-act.js +75 -0
  20. package/dist/completion/human-only-act.js.map +1 -0
  21. package/dist/completion/machine-remediable-demotion.d.ts +14 -0
  22. package/dist/completion/machine-remediable-demotion.d.ts.map +1 -1
  23. package/dist/completion/machine-remediable-demotion.js +24 -1
  24. package/dist/completion/machine-remediable-demotion.js.map +1 -1
  25. package/dist/completion/review-defect-detector.d.ts +9 -0
  26. package/dist/completion/review-defect-detector.d.ts.map +1 -1
  27. package/dist/completion/review-defect-detector.js +11 -0
  28. package/dist/completion/review-defect-detector.js.map +1 -1
  29. package/dist/completion/review-exit-deps.d.ts +51 -0
  30. package/dist/completion/review-exit-deps.d.ts.map +1 -0
  31. package/dist/completion/review-exit-deps.js +46 -0
  32. package/dist/completion/review-exit-deps.js.map +1 -0
  33. package/dist/completion/review-exit-escalations.d.ts +28 -0
  34. package/dist/completion/review-exit-escalations.d.ts.map +1 -1
  35. package/dist/completion/review-exit-escalations.js +36 -10
  36. package/dist/completion/review-exit-escalations.js.map +1 -1
  37. package/dist/completion/review-exit-phase.d.ts +2 -38
  38. package/dist/completion/review-exit-phase.d.ts.map +1 -1
  39. package/dist/completion/review-exit-phase.js +70 -45
  40. package/dist/completion/review-exit-phase.js.map +1 -1
  41. package/dist/completion/review-exit-progress.d.ts +5 -1
  42. package/dist/completion/review-exit-progress.d.ts.map +1 -1
  43. package/dist/completion/review-exit-progress.js +5 -1
  44. package/dist/completion/review-exit-progress.js.map +1 -1
  45. package/dist/completion/state-cascade.d.ts +11 -0
  46. package/dist/completion/state-cascade.d.ts.map +1 -1
  47. package/dist/completion/state-cascade.js +18 -0
  48. package/dist/completion/state-cascade.js.map +1 -1
  49. package/dist/delivery/delivery-reconciler.d.ts +15 -0
  50. package/dist/delivery/delivery-reconciler.d.ts.map +1 -1
  51. package/dist/delivery/delivery-reconciler.js +13 -0
  52. package/dist/delivery/delivery-reconciler.js.map +1 -1
  53. package/dist/focus/focus-loop-registry.d.ts.map +1 -1
  54. package/dist/focus/focus-loop-registry.js +12 -0
  55. package/dist/focus/focus-loop-registry.js.map +1 -1
  56. package/dist/focus/listener-auto-advance.d.ts.map +1 -1
  57. package/dist/focus/listener-auto-advance.js +40 -25
  58. package/dist/focus/listener-auto-advance.js.map +1 -1
  59. package/dist/queries/agent-resolvable-aging.d.ts +88 -0
  60. package/dist/queries/agent-resolvable-aging.d.ts.map +1 -0
  61. package/dist/queries/agent-resolvable-aging.js +145 -0
  62. package/dist/queries/agent-resolvable-aging.js.map +1 -0
  63. package/dist/queries/agent-resolvable-promotion.d.ts +37 -8
  64. package/dist/queries/agent-resolvable-promotion.d.ts.map +1 -1
  65. package/dist/queries/agent-resolvable-promotion.js +77 -18
  66. package/dist/queries/agent-resolvable-promotion.js.map +1 -1
  67. package/dist/queries/escalation-consumption.d.ts +14 -0
  68. package/dist/queries/escalation-consumption.d.ts.map +1 -1
  69. package/dist/queries/escalation-consumption.js +15 -0
  70. package/dist/queries/escalation-consumption.js.map +1 -1
  71. package/dist/queries/focuses.d.ts +8 -0
  72. package/dist/queries/focuses.d.ts.map +1 -1
  73. package/dist/queries/focuses.js +19 -1
  74. package/dist/queries/focuses.js.map +1 -1
  75. package/dist/queries/routing-measurement.d.ts +65 -0
  76. package/dist/queries/routing-measurement.d.ts.map +1 -0
  77. package/dist/queries/routing-measurement.js +109 -0
  78. package/dist/queries/routing-measurement.js.map +1 -0
  79. package/dist/queries/routing-quality.d.ts +70 -0
  80. package/dist/queries/routing-quality.d.ts.map +1 -0
  81. package/dist/queries/routing-quality.js +66 -0
  82. package/dist/queries/routing-quality.js.map +1 -0
  83. package/dist/queries/schemas.d.ts +6 -0
  84. package/dist/queries/schemas.d.ts.map +1 -1
  85. package/dist/queries/schemas.js +6 -0
  86. package/dist/queries/schemas.js.map +1 -1
  87. package/dist/queries/sessions.d.ts +10 -0
  88. package/dist/queries/sessions.d.ts.map +1 -1
  89. package/dist/queries/sessions.js +14 -1
  90. package/dist/queries/sessions.js.map +1 -1
  91. package/dist/queries/source-reliability.d.ts +60 -0
  92. package/dist/queries/source-reliability.d.ts.map +1 -0
  93. package/dist/queries/source-reliability.js +70 -0
  94. package/dist/queries/source-reliability.js.map +1 -0
  95. package/dist/shell/control-state.d.ts +23 -7
  96. package/dist/shell/control-state.d.ts.map +1 -1
  97. package/dist/shell/control-state.js +41 -16
  98. package/dist/shell/control-state.js.map +1 -1
  99. package/dist/templates/claude-md.d.ts +1 -1
  100. package/dist/templates/claude-md.d.ts.map +1 -1
  101. package/dist/templates/claude-md.js +9 -0
  102. package/dist/templates/claude-md.js.map +1 -1
  103. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"listener-auto-advance.d.ts","sourceRoot":"","sources":["../../src/focus/listener-auto-advance.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAO7D,OAAO,EAAE,oCAAoC,EAAuC,MAAM,mCAAmC,CAAC;AAE9H,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE5E,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AAwBtE;;;;;;;;;;GAUG;AACH,yDAAyD;AACzD,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACrC;AA8CD,kEAAkE;AAClE,MAAM,MAAM,uBAAuB,GAAG,CACpC,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACtC,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,MAAM,KACf,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAC;AAE7C;;;;GAIG;AACH,MAAM,WAAW,4BAA4B;IAC3C,qBAAqB,CAAC,EAAE,uBAAuB,CAAC;IAChD,cAAc,CAAC,EAAE,OAAO,cAAc,CAAC;IACvC,gBAAgB,CAAC,EAAE,OAAO,gBAAgB,CAAC;IAC3C,gBAAgB,CAAC,EAAE,OAAO,gBAAgB,CAAC;IAC3C,kBAAkB,CAAC,EAAE,OAAO,kBAAkB,CAAC;IAC/C,iBAAiB,CAAC,EAAE,OAAO,iBAAiB,CAAC;IAC7C,iBAAiB,CAAC,EAAE,OAAO,iBAAiB,CAAC;IAC7C,oCAAoC,CAAC,EAAE,OAAO,oCAAoC,CAAC;IACnF,sBAAsB,CAAC,EAAE,OAAO,sBAAsB,CAAC;IACvD,oBAAoB,CAAC,EAAE,OAAO,oBAAoB,CAAC;IACnD,+BAA+B,CAAC,EAAE,OAAO,+BAA+B,CAAC;CAC1E;AAED,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,YAAY,EACpB,IAAI,GAAE,4BAAiC,GACtC,OAAO,CAAC,IAAI,CAAC,CAqUf;AAED;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACzC,gBAAgB,CAAC,EAAE,OAAO,gBAAgB,CAAC;IAC3C,kBAAkB,CAAC,EAAE,OAAO,kBAAkB,CAAC;IAC/C,iBAAiB,CAAC,EAAE,OAAO,iBAAiB,CAAC;IAC7C,sBAAsB,CAAC,EAAE,OAAO,sBAAsB,CAAC;IACvD,oBAAoB,CAAC,EAAE,OAAO,oBAAoB,CAAC;CACpD;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,YAAY,EACpB,IAAI,GAAE,0BAA+B,GACpC,OAAO,CAAC,IAAI,CAAC,CAoDf"}
1
+ {"version":3,"file":"listener-auto-advance.d.ts","sourceRoot":"","sources":["../../src/focus/listener-auto-advance.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAO7D,OAAO,EAAE,oCAAoC,EAAuC,MAAM,mCAAmC,CAAC;AAE9H,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE5E,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AAwBtE;;;;;;;;;;GAUG;AACH,yDAAyD;AACzD,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACrC;AA8CD,kEAAkE;AAClE,MAAM,MAAM,uBAAuB,GAAG,CACpC,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACtC,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,MAAM,KACf,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAC;AAE7C;;;;GAIG;AACH,MAAM,WAAW,4BAA4B;IAC3C,qBAAqB,CAAC,EAAE,uBAAuB,CAAC;IAChD,cAAc,CAAC,EAAE,OAAO,cAAc,CAAC;IACvC,gBAAgB,CAAC,EAAE,OAAO,gBAAgB,CAAC;IAC3C,gBAAgB,CAAC,EAAE,OAAO,gBAAgB,CAAC;IAC3C,kBAAkB,CAAC,EAAE,OAAO,kBAAkB,CAAC;IAC/C,iBAAiB,CAAC,EAAE,OAAO,iBAAiB,CAAC;IAC7C,iBAAiB,CAAC,EAAE,OAAO,iBAAiB,CAAC;IAC7C,oCAAoC,CAAC,EAAE,OAAO,oCAAoC,CAAC;IACnF,sBAAsB,CAAC,EAAE,OAAO,sBAAsB,CAAC;IACvD,oBAAoB,CAAC,EAAE,OAAO,oBAAoB,CAAC;IACnD,+BAA+B,CAAC,EAAE,OAAO,+BAA+B,CAAC;CAC1E;AAED,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,YAAY,EACpB,IAAI,GAAE,4BAAiC,GACtC,OAAO,CAAC,IAAI,CAAC,CAqVf;AAED;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACzC,gBAAgB,CAAC,EAAE,OAAO,gBAAgB,CAAC;IAC3C,kBAAkB,CAAC,EAAE,OAAO,kBAAkB,CAAC;IAC/C,iBAAiB,CAAC,EAAE,OAAO,iBAAiB,CAAC;IAC7C,sBAAsB,CAAC,EAAE,OAAO,sBAAsB,CAAC;IACvD,oBAAoB,CAAC,EAAE,OAAO,oBAAoB,CAAC;CACpD;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,YAAY,EACpB,IAAI,GAAE,0BAA+B,GACpC,OAAO,CAAC,IAAI,CAAC,CAoDf"}
@@ -9,7 +9,6 @@ import { updateDeliveryStatus } from '../queries/deliveries.js';
9
9
  import { getActiveFocuses } from '../queries/focus-discovery.js';
10
10
  import { getFocusDeliveries } from '../queries/focuses.js';
11
11
  import { fetchEffectiveWorkflow } from '../queries/workflows.js';
12
- import { getActiveTeams } from './focus-executor.js';
13
12
  import { isStatusAgentActionable } from '../workflow/stage-classifier.js';
14
13
  import { OPEN_ISSUE_STATUSES, filterWorkIssues, filterContextGroups } from '../shell/constants.js';
15
14
  import { autoCloseContextGroups, sweepDeliveryCloseIssues } from '../delivery/delivery-close-actions.js';
@@ -79,12 +78,16 @@ async function defaultMeasureGuardAtAdvance(config, delivery, workflow, fromStat
79
78
  return { blocked: outcome.blocked, gateState: outcome.gateState ?? null };
80
79
  }
81
80
  export async function checkDeliveryAutoAdvance(config, deps = {}) {
82
- const _getActiveTeams = deps.getActiveTeams ?? getActiveTeams;
83
81
  const _getActiveFocuses = deps.getActiveFocuses ?? getActiveFocuses;
84
- // NOTE: hasFocusWorktree is intentionally no longer consulted for focus
85
- // SELECTION (the 2026-07-27 wedge fix). The deps field + import are retained
86
- // for back-compat with existing test call sites; the worktree requirement now
87
- // lives only at the write point (ensureWorktreeCommittedBeforeAdvance).
82
+ // NOTE: neither hasFocusWorktree NOR getActiveTeams is consulted for focus
83
+ // SELECTION any longer. hasFocusWorktree was dropped from selection in the
84
+ // 2026-07-27 wedge fix; getActiveTeams (the team-presence freeze) is dropped
85
+ // here for the same reason and by the same shape -- advancement eligibility is
86
+ // a property of the DELIVERY's own state, not of whether the focus has a live
87
+ // team. Both deps fields + imports are retained for back-compat with existing
88
+ // test call sites (referenced via `typeof` in CheckDeliveryAutoAdvanceDeps);
89
+ // the requirements they used to gate now live only at the per-delivery write
90
+ // point (ensureWorktreeCommittedBeforeAdvance below).
88
91
  const _getFocusDeliveries = deps.getFocusDeliveries ?? getFocusDeliveries;
89
92
  const _getDeliveryIssues = deps.getDeliveryIssues ?? getDeliveryIssues;
90
93
  const _updateIssueStatus = deps.updateIssueStatus ?? updateIssueStatus;
@@ -93,12 +96,27 @@ export async function checkDeliveryAutoAdvance(config, deps = {}) {
93
96
  const _updateDeliveryStatus = deps.updateDeliveryStatus ?? updateDeliveryStatus;
94
97
  const _findOpenOperatorHoldForDelivery = deps.findOpenOperatorHoldForDelivery ?? findOpenOperatorHoldForDelivery;
95
98
  const _measureGuardAtAdvance = deps.measureGuardAtAdvance ?? defaultMeasureGuardAtAdvance;
96
- // Only auto-advance for teamless focuses (e.g., after daemon restart where
97
- // deliveries are stuck in coding with all issues Done and no team will ever
98
- // run advanceDeliveryStatuses). Active teams handle their own advancement
99
- // via focus-completion.ts -- auto-advancing while a team is executing
100
- // causes coding->verify->verify_failed churn.
101
- const activeTeams = _getActiveTeams();
99
+ // Advance a delivery on its OWN state, regardless of whether its focus has a
100
+ // live team. The former team-presence freeze skipped every focus with an
101
+ // active team, on the theory that "auto-advancing while a team is executing
102
+ // causes coding->verify->verify_failed churn" and that the team's own exit
103
+ // path (advanceDeliveryStatuses) would advance finished deliveries. But that
104
+ // made advancement eligibility a property of TEAM PRESENCE, not of the
105
+ // delivery: a finished delivery pinned at `coding` for as long as any team
106
+ // worked any sibling, and a focus that keeps gaining work keeps a team alive,
107
+ // so the teamless window in which it could advance never opened. Its recorded
108
+ // status then contradicted its real state.
109
+ //
110
+ // The churn the freeze prevented is now held off per-delivery at the WRITE
111
+ // point rather than per-focus at SELECTION: a delivery advances out of `coding`
112
+ // only when (a) all its work issues are Done/Verified/In Review (the openWork
113
+ // check below) AND (b) the focus worktree is committed
114
+ // (ensureWorktreeCommittedBeforeAdvance). While a team is actively producing
115
+ // uncommitted edits the worktree is dirty and the advance is held; once the
116
+ // work is committed and the delivery's issues are all done, it advances even
117
+ // with a live team on a sibling. This mirrors the 2026-07-27 move that pushed
118
+ // hasFocusWorktree from focus selection down to the write point.
119
+ //
102
120
  // focusId -> audit-phase (isAuditPhaseFocus). A focus is in the audit phase
103
121
  // either explicitly (read_only===true) OR structurally (audit-origin AND not
104
122
  // yet ratified) -- the second signal (injection #7) so a flag-absent audit
@@ -110,19 +128,16 @@ export async function checkDeliveryAutoAdvance(config, deps = {}) {
110
128
  try {
111
129
  const activeFocuses = await _getActiveFocuses(config.organizationId, config.productId);
112
130
  for (const focus of activeFocuses) {
113
- // Skip focuses with active teams -- they manage their own advancement
114
- if (activeTeams.has(focus.focus_id))
115
- continue;
116
- // Evaluate EVERY active teamless focus, whether or not it holds a
117
- // registered worktree. Focus SELECTION must be independent of worktree
118
- // registration: previously this set was populated only when
119
- // _hasFocusWorktree was true, so a teamless, worktree-less focus was
120
- // never reconciled at all -- a delivery sitting there in verify_failed or
121
- // coding had no invoker and was silently unreachable (2026-07-27 wedge:
122
- // delivery c42c1db1 cleared only by a manual MCP re-queue). The worktree
123
- // requirement did not disappear; it moved to the point of the write --
124
- // git-touching advances stay gated by ensureWorktreeCommittedBeforeAdvance
125
- // below, while status-only re-queues (verify_failed -> queued) need no disk.
131
+ // Evaluate EVERY active focus -- teamed or teamless, worktree-registered or
132
+ // not. Focus SELECTION is independent of both team presence and worktree
133
+ // registration. Previously this set was gated on _hasFocusWorktree (a
134
+ // teamless, worktree-less focus was silently unreachable -- 2026-07-27
135
+ // wedge, delivery c42c1db1) AND on the absence of an active team (a
136
+ // finished delivery pinned at `coding` while a team worked a sibling). Both
137
+ // gates moved to the point of the write: git-touching advances stay gated
138
+ // by ensureWorktreeCommittedBeforeAdvance below (which also holds off the
139
+ // coding->verify->verify_failed churn the team freeze used to prevent),
140
+ // while status-only re-queues (verify_failed -> queued) need no disk.
126
141
  focusAuditPhase.set(focus.focus_id, isAuditPhaseFocus({
127
142
  readOnly: focus.read_only === true,
128
143
  auditOrigin: focus.audit_origin === true,
@@ -1 +1 @@
1
- {"version":3,"file":"listener-auto-advance.js","sourceRoot":"","sources":["../../src/focus/listener-auto-advance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listener-auto-advance.js","sourceRoot":"","sources":["../../src/focus/listener-auto-advance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Aging observer for the agent_resolvable (machine-owned) lane.
3
+ *
4
+ * agent_resolvable filings are deliberately HIDDEN from the operator inbox: they
5
+ * are machine-owned, ridden into a focus's coding spawns, and (only once the
6
+ * machine has demonstrably tried and failed) promoted to a human. Hiding the lane
7
+ * from people was the right call. Leaving it with NO observer was not: a filing
8
+ * nothing takes -- because its focus never spawns, or because the attempt gate
9
+ * correctly declines to promote it -- ages silently and indefinitely, invisible
10
+ * to everyone.
11
+ *
12
+ * This module separates those two: the lane stays hidden from humans, but its
13
+ * AGING is observable on its own terms. It emits a structured machine signal (a
14
+ * log line / returned summary) describing how the open machine-owned lane is
15
+ * aging -- oldest age, age buckets, the count past a staleness threshold, and the
16
+ * ANCHORLESS count (filings with no focus, hence no machine consumer at all). It
17
+ * is NOT a second human inbox: it files nothing, promotes nothing, and routes
18
+ * nothing to a person; it only makes the machine lane legible to the machine.
19
+ *
20
+ * The pure summary (summarizeAgentResolvableAging) is exercised from fixtures;
21
+ * the observer wraps it around the org-wide read and the daemon log.
22
+ */
23
+ import { type OrgAgentResolvableItem } from './escalation-consumption.js';
24
+ /** One age band and how many open filings fall in it. */
25
+ export interface AgingBucket {
26
+ label: string;
27
+ /** Upper bound (exclusive) of this band in ms; null for the open-ended oldest band. */
28
+ ltMs: number | null;
29
+ count: number;
30
+ }
31
+ /** A machine-observable summary of how the open agent_resolvable lane is aging. */
32
+ export interface AgentResolvableAgingSummary {
33
+ /** Open machine-owned filings observed. */
34
+ total: number;
35
+ /** Oldest open filing's age in ms, or null when the lane is empty. */
36
+ oldestAgeMs: number | null;
37
+ /** Open filings older than the staleness threshold -- the "not taken" losses. */
38
+ stalePastThreshold: number;
39
+ /** The staleness threshold used (ms). */
40
+ staleThresholdMs: number;
41
+ /**
42
+ * Open filings with NO focus anchor: they have no machine consumer at all (the
43
+ * consuming reads are focus-scoped), so they can never be taken. The sharpest
44
+ * loss signal in the lane.
45
+ */
46
+ anchorless: number;
47
+ /**
48
+ * Open filings from a demonstrably-unreliable source (their focus origin is
49
+ * down-weighted). These are IN the lane and counted in `total`, but they should
50
+ * not read as full-weight lane health -- part of any "loss" they represent is
51
+ * the system correctly declining a known-bad producer's junk.
52
+ */
53
+ lowReliability: number;
54
+ /** Age-band distribution (ascending), covering every open filing exactly once. */
55
+ buckets: AgingBucket[];
56
+ }
57
+ /**
58
+ * Pure: summarize how a set of open agent_resolvable filings is aging as of
59
+ * `nowMs`. A filing with an unparseable/absent createdAt is counted in `total`
60
+ * (and `anchorless` if it has no focus) but contributes no age -- it cannot be
61
+ * bucketed or judged stale on a bad timestamp, mirroring the promotion partition.
62
+ */
63
+ export declare function summarizeAgentResolvableAging(items: readonly OrgAgentResolvableItem[], nowMs: number, opts: {
64
+ staleThresholdMs: number;
65
+ originByFocusId?: ReadonlyMap<string, string | null>;
66
+ }): AgentResolvableAgingSummary;
67
+ /** Injected IO for the aging observer (real defaults; tests inject stubs). */
68
+ export interface AgentResolvableAgingDeps {
69
+ listOpenForOrg: () => Promise<OrgAgentResolvableItem[]>;
70
+ /** Resolve focus origins (for source-reliability weighting) as a focusId -> origin map. */
71
+ getFocusOrigins: (focusIds: readonly string[]) => Promise<Map<string, string | null>>;
72
+ now?: () => number;
73
+ staleThresholdMs: number;
74
+ }
75
+ /** Render the summary as a single structured, machine-parseable log field string. */
76
+ export declare function formatAgingSummary(s: AgentResolvableAgingSummary): string;
77
+ /**
78
+ * Observe the org-wide open agent_resolvable lane and emit its aging as a
79
+ * machine signal. Returns the summary; logs it at info when the lane is
80
+ * non-empty (so a healthy empty lane stays quiet), and warns when there are
81
+ * stale or anchorless filings -- work that failed to get taken, which must
82
+ * register as a loss rather than vanish. Files/promotes/routes NOTHING.
83
+ *
84
+ * Best-effort: a read failure is logged and an empty summary returned, never
85
+ * thrown, so this never disturbs the tick it shares.
86
+ */
87
+ export declare function observeAgentResolvableAging(deps?: Partial<AgentResolvableAgingDeps>): Promise<AgentResolvableAgingSummary>;
88
+ //# sourceMappingURL=agent-resolvable-aging.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-resolvable-aging.d.ts","sourceRoot":"","sources":["../../src/queries/agent-resolvable-aging.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAyE,KAAK,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAWjJ,yDAAyD;AACzD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,uFAAuF;IACvF,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,mFAAmF;AACnF,MAAM,WAAW,2BAA2B;IAC1C,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,iFAAiF;IACjF,kBAAkB,EAAE,MAAM,CAAC;IAC3B,yCAAyC;IACzC,gBAAgB,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,kFAAkF;IAClF,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAYD;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,SAAS,sBAAsB,EAAE,EACxC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;IAAE,gBAAgB,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAA;CAAE,GACvF,2BAA2B,CAkC7B;AAED,8EAA8E;AAC9E,MAAM,WAAW,wBAAwB;IACvC,cAAc,EAAE,MAAM,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAAC;IACxD,2FAA2F;IAC3F,eAAe,EAAE,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;IACtF,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAaD,qFAAqF;AACrF,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,2BAA2B,GAAG,MAAM,CAOzE;AAED;;;;;;;;;GASG;AACH,wBAAsB,2BAA2B,CAC/C,IAAI,GAAE,OAAO,CAAC,wBAAwB,CAAM,GAC3C,OAAO,CAAC,2BAA2B,CAAC,CAkCtC"}
@@ -0,0 +1,145 @@
1
+ /**
2
+ * Aging observer for the agent_resolvable (machine-owned) lane.
3
+ *
4
+ * agent_resolvable filings are deliberately HIDDEN from the operator inbox: they
5
+ * are machine-owned, ridden into a focus's coding spawns, and (only once the
6
+ * machine has demonstrably tried and failed) promoted to a human. Hiding the lane
7
+ * from people was the right call. Leaving it with NO observer was not: a filing
8
+ * nothing takes -- because its focus never spawns, or because the attempt gate
9
+ * correctly declines to promote it -- ages silently and indefinitely, invisible
10
+ * to everyone.
11
+ *
12
+ * This module separates those two: the lane stays hidden from humans, but its
13
+ * AGING is observable on its own terms. It emits a structured machine signal (a
14
+ * log line / returned summary) describing how the open machine-owned lane is
15
+ * aging -- oldest age, age buckets, the count past a staleness threshold, and the
16
+ * ANCHORLESS count (filings with no focus, hence no machine consumer at all). It
17
+ * is NOT a second human inbox: it files nothing, promotes nothing, and routes
18
+ * nothing to a person; it only makes the machine lane legible to the machine.
19
+ *
20
+ * The pure summary (summarizeAgentResolvableAging) is exercised from fixtures;
21
+ * the observer wraps it around the org-wide read and the daemon log.
22
+ */
23
+ import { listOpenAgentResolvableForOrg as defaultListOpenAgentResolvableForOrg } from './escalation-consumption.js';
24
+ import { resolveAgentResolvablePromoteMs } from './agent-resolvable-promotion.js';
25
+ import { getFocusOrigins as defaultGetFocusOrigins } from './focuses.js';
26
+ import { isLowReliabilityOrigin } from './source-reliability.js';
27
+ import { createLogger } from '../shell/log.js';
28
+ const log = createLogger({ module: 'escalations' });
29
+ const HOUR_MS = 3_600_000;
30
+ const DAY_MS = 24 * HOUR_MS;
31
+ // Fixed ascending age bands. The final band (ltMs null) is open-ended.
32
+ const BUCKET_BOUNDS = [
33
+ { label: '<1h', ltMs: HOUR_MS },
34
+ { label: '1-6h', ltMs: 6 * HOUR_MS },
35
+ { label: '6-24h', ltMs: DAY_MS },
36
+ { label: '1-3d', ltMs: 3 * DAY_MS },
37
+ { label: '3-7d', ltMs: 7 * DAY_MS },
38
+ { label: '>7d', ltMs: null },
39
+ ];
40
+ /**
41
+ * Pure: summarize how a set of open agent_resolvable filings is aging as of
42
+ * `nowMs`. A filing with an unparseable/absent createdAt is counted in `total`
43
+ * (and `anchorless` if it has no focus) but contributes no age -- it cannot be
44
+ * bucketed or judged stale on a bad timestamp, mirroring the promotion partition.
45
+ */
46
+ export function summarizeAgentResolvableAging(items, nowMs, opts) {
47
+ const buckets = BUCKET_BOUNDS.map((b) => ({ label: b.label, ltMs: b.ltMs, count: 0 }));
48
+ const originByFocusId = opts.originByFocusId ?? new Map();
49
+ let oldestAgeMs = null;
50
+ let stalePastThreshold = 0;
51
+ let anchorless = 0;
52
+ let lowReliability = 0;
53
+ for (const item of items) {
54
+ if (!item.focusId)
55
+ anchorless += 1;
56
+ const origin = item.focusId ? (originByFocusId.get(item.focusId) ?? null) : null;
57
+ if (isLowReliabilityOrigin(origin))
58
+ lowReliability += 1;
59
+ const createdMs = Date.parse(item.createdAt);
60
+ if (Number.isNaN(createdMs))
61
+ continue; // no age signal on a bad timestamp
62
+ const ageMs = Math.max(0, nowMs - createdMs);
63
+ if (oldestAgeMs === null || ageMs > oldestAgeMs)
64
+ oldestAgeMs = ageMs;
65
+ if (ageMs > opts.staleThresholdMs)
66
+ stalePastThreshold += 1;
67
+ const bucket = buckets.find((b) => b.ltMs === null || ageMs < b.ltMs);
68
+ // The final band has ltMs null, so bucket is always defined.
69
+ if (bucket)
70
+ bucket.count += 1;
71
+ }
72
+ return {
73
+ total: items.length,
74
+ oldestAgeMs,
75
+ stalePastThreshold,
76
+ staleThresholdMs: opts.staleThresholdMs,
77
+ anchorless,
78
+ lowReliability,
79
+ buckets,
80
+ };
81
+ }
82
+ function defaultAgingDeps() {
83
+ return {
84
+ listOpenForOrg: defaultListOpenAgentResolvableForOrg,
85
+ getFocusOrigins: defaultGetFocusOrigins,
86
+ now: () => Date.now(),
87
+ // A filing still in the machine lane past the promotion window is one the
88
+ // machine did not take -- the natural staleness mark for a "loss".
89
+ staleThresholdMs: resolveAgentResolvablePromoteMs(),
90
+ };
91
+ }
92
+ /** Render the summary as a single structured, machine-parseable log field string. */
93
+ export function formatAgingSummary(s) {
94
+ const oldestH = s.oldestAgeMs === null ? 'n/a' : (s.oldestAgeMs / HOUR_MS).toFixed(1);
95
+ const dist = s.buckets.map((b) => `${b.label}=${b.count}`).join(' ');
96
+ return (`total=${s.total} oldest_h=${oldestH} stale_past_${(s.staleThresholdMs / HOUR_MS).toFixed(0)}h=` +
97
+ `${s.stalePastThreshold} anchorless=${s.anchorless} low_reliability=${s.lowReliability} | ${dist}`);
98
+ }
99
+ /**
100
+ * Observe the org-wide open agent_resolvable lane and emit its aging as a
101
+ * machine signal. Returns the summary; logs it at info when the lane is
102
+ * non-empty (so a healthy empty lane stays quiet), and warns when there are
103
+ * stale or anchorless filings -- work that failed to get taken, which must
104
+ * register as a loss rather than vanish. Files/promotes/routes NOTHING.
105
+ *
106
+ * Best-effort: a read failure is logged and an empty summary returned, never
107
+ * thrown, so this never disturbs the tick it shares.
108
+ */
109
+ export async function observeAgentResolvableAging(deps = {}) {
110
+ const d = { ...defaultAgingDeps(), ...deps };
111
+ let items = [];
112
+ try {
113
+ items = await d.listOpenForOrg();
114
+ }
115
+ catch (err) {
116
+ log.warn(`[agent-resolvable-aging] read failed: ${err.message}`);
117
+ return summarizeAgentResolvableAging([], (d.now ?? Date.now)(), { staleThresholdMs: d.staleThresholdMs });
118
+ }
119
+ // Resolve the producing source of each filing (its focus origin) so the
120
+ // summary can down-weight known-unreliable producers. Best-effort: if the
121
+ // origins read fails, fall back to treating every source as full weight rather
122
+ // than losing the whole aging signal.
123
+ let originByFocusId = new Map();
124
+ const focusIds = [...new Set(items.map((i) => i.focusId).filter((id) => !!id))];
125
+ if (focusIds.length > 0) {
126
+ try {
127
+ originByFocusId = await d.getFocusOrigins(focusIds);
128
+ }
129
+ catch (err) {
130
+ log.warn(`[agent-resolvable-aging] focus-origins read failed (full weight assumed): ${err.message}`);
131
+ }
132
+ }
133
+ const summary = summarizeAgentResolvableAging(items, (d.now ?? Date.now)(), { staleThresholdMs: d.staleThresholdMs, originByFocusId });
134
+ if (summary.total > 0) {
135
+ const line = `[agent-resolvable-aging] ${formatAgingSummary(summary)}`;
136
+ if (summary.stalePastThreshold > 0 || summary.anchorless > 0) {
137
+ log.warn(line);
138
+ }
139
+ else {
140
+ log.info(line);
141
+ }
142
+ }
143
+ return summary;
144
+ }
145
+ //# sourceMappingURL=agent-resolvable-aging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-resolvable-aging.js","sourceRoot":"","sources":["../../src/queries/agent-resolvable-aging.ts"],"names":[],"mappings":"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"}
@@ -11,12 +11,24 @@
11
11
  * PROMOTED to a human by resolving the machine-routed row and refiling the same
12
12
  * content as a needs_operator escalation, which the operator inbox DOES show.
13
13
  *
14
- * Why age, not a per-row attempt counter: escalation_update accepts only
15
- * status/notes/answer (no disposition or metadata writes without a separate edge
16
- * deploy), and there is no per-focus "sessions since T" query. Open-age is the
17
- * deploy-safe, restart-safe, count-free proxy for "it survived N spawn cycles
18
- * unresolved" -- every spawn that rode it in and exited without clearing it is a
19
- * failed attempt, and those accumulate as elapsed open time.
14
+ * Gate: RECORDED ATTEMPT EVIDENCE, not elapsed open-age. Open-age was the
15
+ * original proxy for "it survived N spawn cycles unresolved", but the proxy is
16
+ * inverted in practice: a filing anchored to an un-armed or wedged focus ages
17
+ * past the bound having had ZERO agent sessions, and promoting it hands a human a
18
+ * FIRST attempt dressed up as an exhausted machine. So promotion now gates on the
19
+ * actual count of agent sessions that ran on the filing's focus since it was
20
+ * created (countFocusSessionsSince): a filing with zero recorded attempts NEVER
21
+ * promotes, regardless of age. Open-age is retained only as a cheap CANDIDATE
22
+ * pre-filter (don't even count sessions for a fresh filing, which matters for the
23
+ * org-wide sweep's up-to-500-row scan); the promotion DECISION is the attempt
24
+ * count, and the count is carried into the promoted row's metadata so the human
25
+ * lane shows the evidence of the machine attempts that failed.
26
+ *
27
+ * A filing that cannot accrue attempts -- one with no focus anchor -- therefore
28
+ * does not promote either: it has no machine lane to be attempted in. New
29
+ * anchorless agent_resolvable filings are refused at the filing boundary, and
30
+ * un-taken machine-lane filings are made observable by the aging observer rather
31
+ * than dumped on a human.
20
32
  *
21
33
  * Promotion is idempotent: the needs_operator refile rides the shared cause-keyed
22
34
  * gate keyed on the original escalation id, and the source row is resolved in the
@@ -24,8 +36,17 @@
24
36
  */
25
37
  import { type AgentResolvableItem, type OrgAgentResolvableItem } from './escalation-consumption.js';
26
38
  import { type FileEscalationIdempotentParams, type FileEscalationIdempotentResult } from './escalation-suppression.js';
27
- /** Default hours an agent_resolvable filing may stay open before promotion. */
39
+ /** Default hours an agent_resolvable filing may stay open before it is a promotion CANDIDATE. */
28
40
  export declare const DEFAULT_AGENT_RESOLVABLE_PROMOTE_HOURS = 24;
41
+ /**
42
+ * Minimum recorded agent sessions on a filing's focus (since it was created)
43
+ * before it may be promoted to a human. The decisive gate: at least this many
44
+ * spawns rode the filing in and none cleared it -- an exhausted machine, not a
45
+ * first attempt. A candidate below this floor is NOT promoted regardless of age.
46
+ */
47
+ export declare const DEFAULT_AGENT_RESOLVABLE_PROMOTE_MIN_ATTEMPTS = 1;
48
+ /** Pure: whether a filing's recorded attempts meet the promotion floor. */
49
+ export declare function meetsAttemptFloor(attempts: number, minAttempts: number): boolean;
29
50
  /**
30
51
  * Resolve the promotion threshold (hours -> ms) from the typed, Zod-validated
31
52
  * env-config -- the single declaration site for every operational knob
@@ -70,14 +91,18 @@ export declare function buildAgentResolvablePromotionParams(item: AgentResolvabl
70
91
  organizationId: string;
71
92
  focusId?: string;
72
93
  productId?: string;
73
- }, ageHours: number): FileEscalationIdempotentParams;
94
+ }, ageHours: number, attempts: number): FileEscalationIdempotentParams;
74
95
  /** Injected IO for the promotion reconcile (real defaults; tests inject stubs). */
75
96
  export interface AgentResolvablePromotionDeps {
76
97
  listOpen: (focusId: string) => Promise<AgentResolvableItem[]>;
77
98
  markResolved: (id: string, notes?: string) => Promise<void>;
78
99
  file: (params: FileEscalationIdempotentParams) => Promise<FileEscalationIdempotentResult>;
100
+ /** Count agent sessions on a focus since an ISO timestamp (the attempt evidence). */
101
+ countSessionsSince: (focusId: string, since: string) => Promise<number>;
79
102
  now?: () => number;
80
103
  thresholdMs: number;
104
+ /** Minimum recorded attempts before a candidate may promote (see meetsAttemptFloor). */
105
+ minAttempts: number;
81
106
  }
82
107
  /**
83
108
  * Reconcile a focus's open agent_resolvable filings and return the ones that
@@ -105,8 +130,12 @@ export interface AgentResolvableSweepDeps {
105
130
  listOpenForOrg: () => Promise<OrgAgentResolvableItem[]>;
106
131
  markResolved: (id: string, notes?: string) => Promise<void>;
107
132
  file: (params: FileEscalationIdempotentParams) => Promise<FileEscalationIdempotentResult>;
133
+ /** Count agent sessions on a focus since an ISO timestamp (the attempt evidence). */
134
+ countSessionsSince: (focusId: string, since: string) => Promise<number>;
108
135
  now?: () => number;
109
136
  thresholdMs: number;
137
+ /** Minimum recorded attempts before a candidate may promote (see meetsAttemptFloor). */
138
+ minAttempts: number;
110
139
  }
111
140
  /**
112
141
  * Sweep the org's OPEN agent_resolvable filings and promote every one that has
@@ -1 +1 @@
1
- {"version":3,"file":"agent-resolvable-promotion.d.ts","sourceRoot":"","sources":["../../src/queries/agent-resolvable-promotion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAQH,OAAO,EAAoJ,KAAK,mBAAmB,EAAE,KAAK,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACtP,OAAO,EAEL,KAAK,8BAA8B,EACnC,KAAK,8BAA8B,EACpC,MAAM,6BAA6B,CAAC;AAMrC,+EAA+E;AAC/E,eAAO,MAAM,sCAAsC,KAAK,CAAC;AAEzD;;;;;;;;GAQG;AACH,wBAAgB,+BAA+B,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAE5F;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,CAAC,SAAS;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,EAC3E,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,GAClB;IAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAAC,OAAO,EAAE,CAAC,EAAE,CAAA;CAAE,CAY7B;AAED,wFAAwF;AACxF,wBAAgB,gCAAgC,CAAC,oBAAoB,EAAE,MAAM,GAAG,MAAM,CAErF;AAED,yEAAyE;AACzE,eAAO,MAAM,8BAA8B,8BAA8B,CAAC;AAE1E;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mCAAmC,CACjD,IAAI,EAAE,mBAAmB,EACzB,GAAG,EAAE;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,EACrE,QAAQ,EAAE,MAAM,GACf,8BAA8B,CAmChC;AAED,mFAAmF;AACnF,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC9D,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,IAAI,EAAE,CAAC,MAAM,EAAE,8BAA8B,KAAK,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAC1F,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAYD;;;;;;;;;;GAUG;AACH,wBAAsB,gCAAgC,CACpD,GAAG,EAAE;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,EACpE,IAAI,GAAE,OAAO,CAAC,4BAA4B,CAAM,GAC/C,OAAO,CAAC,mBAAmB,EAAE,CAAC,CA2BhC;AAwBD,2EAA2E;AAC3E,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,8EAA8E;AAC9E,MAAM,WAAW,wBAAwB;IACvC,cAAc,EAAE,MAAM,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAAC;IACxD,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,IAAI,EAAE,CAAC,MAAM,EAAE,8BAA8B,KAAK,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAC1F,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAYD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,8BAA8B,CAClD,IAAI,GAAE,OAAO,CAAC,wBAAwB,CAAM,GAC3C,OAAO,CAAC,0BAA0B,CAAC,CA+CrC"}
1
+ {"version":3,"file":"agent-resolvable-promotion.d.ts","sourceRoot":"","sources":["../../src/queries/agent-resolvable-promotion.ts"],"names":[],"mappings":"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"}