@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.
- package/build-info.json +6 -3
- package/dist/completion/completion-decision.d.ts +16 -0
- package/dist/completion/completion-decision.d.ts.map +1 -1
- package/dist/completion/completion-decision.js +15 -0
- package/dist/completion/completion-decision.js.map +1 -1
- package/dist/completion/event-escalations.d.ts +26 -0
- package/dist/completion/event-escalations.d.ts.map +1 -1
- package/dist/completion/event-escalations.js +77 -19
- package/dist/completion/event-escalations.js.map +1 -1
- package/dist/completion/event-phases.d.ts +7 -0
- package/dist/completion/event-phases.d.ts.map +1 -1
- package/dist/completion/event-phases.js +19 -0
- package/dist/completion/event-phases.js.map +1 -1
- package/dist/completion/event.d.ts.map +1 -1
- package/dist/completion/event.js +1 -0
- package/dist/completion/event.js.map +1 -1
- package/dist/completion/human-only-act.d.ts +43 -0
- package/dist/completion/human-only-act.d.ts.map +1 -0
- package/dist/completion/human-only-act.js +75 -0
- package/dist/completion/human-only-act.js.map +1 -0
- package/dist/completion/machine-remediable-demotion.d.ts +14 -0
- package/dist/completion/machine-remediable-demotion.d.ts.map +1 -1
- package/dist/completion/machine-remediable-demotion.js +24 -1
- package/dist/completion/machine-remediable-demotion.js.map +1 -1
- package/dist/completion/review-defect-detector.d.ts +9 -0
- package/dist/completion/review-defect-detector.d.ts.map +1 -1
- package/dist/completion/review-defect-detector.js +11 -0
- package/dist/completion/review-defect-detector.js.map +1 -1
- package/dist/completion/review-exit-deps.d.ts +51 -0
- package/dist/completion/review-exit-deps.d.ts.map +1 -0
- package/dist/completion/review-exit-deps.js +46 -0
- package/dist/completion/review-exit-deps.js.map +1 -0
- package/dist/completion/review-exit-escalations.d.ts +28 -0
- package/dist/completion/review-exit-escalations.d.ts.map +1 -1
- package/dist/completion/review-exit-escalations.js +36 -10
- package/dist/completion/review-exit-escalations.js.map +1 -1
- package/dist/completion/review-exit-phase.d.ts +2 -38
- package/dist/completion/review-exit-phase.d.ts.map +1 -1
- package/dist/completion/review-exit-phase.js +70 -45
- package/dist/completion/review-exit-phase.js.map +1 -1
- package/dist/completion/review-exit-progress.d.ts +5 -1
- package/dist/completion/review-exit-progress.d.ts.map +1 -1
- package/dist/completion/review-exit-progress.js +5 -1
- package/dist/completion/review-exit-progress.js.map +1 -1
- package/dist/completion/state-cascade.d.ts +11 -0
- package/dist/completion/state-cascade.d.ts.map +1 -1
- package/dist/completion/state-cascade.js +18 -0
- package/dist/completion/state-cascade.js.map +1 -1
- package/dist/delivery/delivery-reconciler.d.ts +15 -0
- package/dist/delivery/delivery-reconciler.d.ts.map +1 -1
- package/dist/delivery/delivery-reconciler.js +13 -0
- package/dist/delivery/delivery-reconciler.js.map +1 -1
- package/dist/focus/focus-loop-registry.d.ts.map +1 -1
- package/dist/focus/focus-loop-registry.js +12 -0
- package/dist/focus/focus-loop-registry.js.map +1 -1
- package/dist/focus/listener-auto-advance.d.ts.map +1 -1
- package/dist/focus/listener-auto-advance.js +40 -25
- package/dist/focus/listener-auto-advance.js.map +1 -1
- package/dist/queries/agent-resolvable-aging.d.ts +88 -0
- package/dist/queries/agent-resolvable-aging.d.ts.map +1 -0
- package/dist/queries/agent-resolvable-aging.js +145 -0
- package/dist/queries/agent-resolvable-aging.js.map +1 -0
- package/dist/queries/agent-resolvable-promotion.d.ts +37 -8
- package/dist/queries/agent-resolvable-promotion.d.ts.map +1 -1
- package/dist/queries/agent-resolvable-promotion.js +77 -18
- package/dist/queries/agent-resolvable-promotion.js.map +1 -1
- package/dist/queries/escalation-consumption.d.ts +14 -0
- package/dist/queries/escalation-consumption.d.ts.map +1 -1
- package/dist/queries/escalation-consumption.js +15 -0
- package/dist/queries/escalation-consumption.js.map +1 -1
- package/dist/queries/focuses.d.ts +8 -0
- package/dist/queries/focuses.d.ts.map +1 -1
- package/dist/queries/focuses.js +19 -1
- package/dist/queries/focuses.js.map +1 -1
- package/dist/queries/routing-measurement.d.ts +65 -0
- package/dist/queries/routing-measurement.d.ts.map +1 -0
- package/dist/queries/routing-measurement.js +109 -0
- package/dist/queries/routing-measurement.js.map +1 -0
- package/dist/queries/routing-quality.d.ts +70 -0
- package/dist/queries/routing-quality.d.ts.map +1 -0
- package/dist/queries/routing-quality.js +66 -0
- package/dist/queries/routing-quality.js.map +1 -0
- package/dist/queries/schemas.d.ts +6 -0
- package/dist/queries/schemas.d.ts.map +1 -1
- package/dist/queries/schemas.js +6 -0
- package/dist/queries/schemas.js.map +1 -1
- package/dist/queries/sessions.d.ts +10 -0
- package/dist/queries/sessions.d.ts.map +1 -1
- package/dist/queries/sessions.js +14 -1
- package/dist/queries/sessions.js.map +1 -1
- package/dist/queries/source-reliability.d.ts +60 -0
- package/dist/queries/source-reliability.d.ts.map +1 -0
- package/dist/queries/source-reliability.js +70 -0
- package/dist/queries/source-reliability.js.map +1 -0
- package/dist/shell/control-state.d.ts +23 -7
- package/dist/shell/control-state.d.ts.map +1 -1
- package/dist/shell/control-state.js +41 -16
- package/dist/shell/control-state.js.map +1 -1
- package/dist/templates/claude-md.d.ts +1 -1
- package/dist/templates/claude-md.d.ts.map +1 -1
- package/dist/templates/claude-md.js +9 -0
- package/dist/templates/claude-md.js.map +1 -1
- 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,
|
|
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
|
|
85
|
-
// SELECTION
|
|
86
|
-
//
|
|
87
|
-
//
|
|
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
|
-
//
|
|
97
|
-
//
|
|
98
|
-
//
|
|
99
|
-
//
|
|
100
|
-
//
|
|
101
|
-
|
|
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
|
-
//
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
//
|
|
117
|
-
//
|
|
118
|
-
//
|
|
119
|
-
//
|
|
120
|
-
//
|
|
121
|
-
// coding
|
|
122
|
-
//
|
|
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":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACnG,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACzG,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAClI,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,oCAAoC,EAAE,mCAAmC,EAAE,MAAM,mCAAmC,CAAC;AAC9H,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACrH,OAAO,EAAE,mBAAmB,EAAE,mCAAmC,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAC9H,OAAO,EAAE,qCAAqC,EAAE,MAAM,sCAAsC,CAAC;AAC7F,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;AAGjD;;;;;;;GAOG;AACH,MAAM,sBAAsB,GAAG,QAAiB,CAAC;AACjD,MAAM,sBAAsB,GAAG,QAAiB,CAAC;AACjD,MAAM,sBAAsB,GAAG,QAAiB,CAAC;AACjD,MAAM,6BAA6B,GAAG,eAAwB,CAAC;AAoB/D;;;;;;;;;;;;;;GAcG;AACH,KAAK,UAAU,4BAA4B,CACzC,MAAoB,EACpB,QAAsC,EACtC,QAAkB,EAClB,UAAkB;IAElB,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IACxE,IAAI,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,UAAU,GAAG,mBAAmB,CAAC;QACrC,QAAQ;QACR,cAAc,EAAE,YAAY,CAAC,EAAE;QAC/B,QAAQ,EAAE,CAAC;QACX,cAAc,EAAE,CAAC;QACjB,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,CAAC;KACd,CAAC,CAAC;IACH,IAAI,CAAC,UAAU,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,kBAAkB;QAAE,OAAO,IAAI,CAAC;IACzE,MAAM,OAAO,GAAG,MAAM,mCAAmC,CAAC;QACxD,UAAU,EAAE,QAAQ,CAAC,EAAE;QACvB,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;QACjD,QAAQ,EAAE,CAAC;QACX,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,YAAY,EAAE,QAAQ,CAAC,IAAI;QAC3B,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;IACH,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;AAC5E,CAAC;AA6BD,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,MAAoB,EACpB,OAAqC,EAAE;IAEvC,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC;IAC9D,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC;IACpE,wEAAwE;IACxE,6EAA6E;IAC7E,8EAA8E;IAC9E,wEAAwE;IACxE,MAAM,mBAAmB,GAAG,IAAI,CAAC,kBAAkB,IAAI,kBAAkB,CAAC;IAC1E,MAAM,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,IAAI,iBAAiB,CAAC;IACvE,MAAM,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,IAAI,iBAAiB,CAAC;IACvE,MAAM,qCAAqC,GAAG,IAAI,CAAC,oCAAoC,IAAI,oCAAoC,CAAC;IAChI,MAAM,uBAAuB,GAAG,IAAI,CAAC,sBAAsB,IAAI,sBAAsB,CAAC;IACtF,MAAM,qBAAqB,GAAG,IAAI,CAAC,oBAAoB,IAAI,oBAAoB,CAAC;IAChF,MAAM,gCAAgC,GAAG,IAAI,CAAC,+BAA+B,IAAI,+BAA+B,CAAC;IACjH,MAAM,sBAAsB,GAAG,IAAI,CAAC,qBAAqB,IAAI,4BAA4B,CAAC;IAE1F,2EAA2E;IAC3E,4EAA4E;IAC5E,0EAA0E;IAC1E,sEAAsE;IACtE,8CAA8C;IAC9C,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;IACtC,4EAA4E;IAC5E,6EAA6E;IAC7E,2EAA2E;IAC3E,kEAAkE;IAClE,qEAAqE;IACrE,2EAA2E;IAC3E,mDAAmD;IACnD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAmB,CAAC;IAEnD,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QACvF,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;YAClC,sEAAsE;YACtE,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;gBAAE,SAAS;YAE9C,kEAAkE;YAClE,uEAAuE;YACvE,4DAA4D;YAC5D,qEAAqE;YACrE,0EAA0E;YAC1E,wEAAwE;YACxE,yEAAyE;YACzE,uEAAuE;YACvE,2EAA2E;YAC3E,6EAA6E;YAC7E,eAAe,CAAC,GAAG,CACjB,KAAK,CAAC,QAAQ,EACd,iBAAiB,CAAC;gBAChB,QAAQ,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI;gBAClC,WAAW,EAAE,KAAK,CAAC,YAAY,KAAK,IAAI;gBACxC,QAAQ,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI;aACpC,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,+CAA+C,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,eAAe,EAAE,CAAC;QACpD,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAEtD,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;gBAClC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,eAAe,IAAI,EAAE,CAAC;oBAAE,SAAS;gBAEvE,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAErD,6DAA6D;oBAC7D,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;oBAC5C,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;oBAElD,uEAAuE;oBACvE,uEAAuE;oBACvE,qEAAqE;oBACrE,8DAA8D;oBAC9D,qEAAqE;oBACrE,oEAAoE;oBACpE,mEAAmE;oBACnE,qEAAqE;oBACrE,MAAM,iBAAiB,GACrB,UAAU;wBACV,UAAU,CAAC,MAAM,KAAK,CAAC;wBACvB,aAAa,CAAC,MAAM,GAAG,CAAC;wBACxB,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;oBAEjE,sEAAsE;oBACtE,qEAAqE;oBACrE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,iBAAiB;wBAAE,SAAS;oBAE5D,uEAAuE;oBACvE,gDAAgD;oBAChD,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC3E,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACxB,iEAAiE;wBACjE,oEAAoE;wBACpE,kEAAkE;wBAClE,kEAAkE;wBAClE,oEAAoE;wBACpE,mEAAmE;wBACnE,oEAAoE;wBACpE,sEAAsE;wBACtE,kEAAkE;wBAClE,qEAAqE;wBACrE,IAAI,CAAC,QAAQ,CAAC,eAAe,IAAI,EAAE,CAAC,KAAK,6BAA6B,EAAE,CAAC;4BACvE,MAAM,aAAa,GAAG,CAAC,QAAQ,CAAC,eAAe,IAAI,EAAE,CAAoB,CAAC;4BAC1E,MAAM,eAAe,GAAG,MAAM,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;4BACnE,MAAM,eAAe,GAAG,sBAAsB,CAAC;gCAC7C,oEAAoE;gCACpE,gEAAgE;gCAChE,KAAK,EAAE,qBAAqB,CAAC;oCAC3B,aAAa,EAAE,aAAa;oCAC5B,MAAM;oCACN,YAAY,EAAE,IAAI;oCAClB,aAAa,EAAE,KAAK;iCACrB,CAAC;6BACH,CAAC,CAAC;4BACH,IAAI,eAAe,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;gCAC7C,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,MAAM,CAAC,CAAC;gCACzF,MAAM,qBAAqB,CACzB,QAAQ,CAAC,EAAE,EACX,eAAe,CAAC,MAAM,EACtB,YAAY,EAAE,EAAE,EAChB,SAAS,EACT,SAAS,EACT,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,CACrE,CAAC;gCACF,GAAG,CAAC,IAAI,CACN,kCAAkC,QAAQ,CAAC,IAAI,UAAU,aAAa,OAAO,eAAe,CAAC,MAAM,IAAI;oCACvG,GAAG,QAAQ,CAAC,MAAM,wDAAwD,CAC3E,CAAC;4BACJ,CAAC;wBACH,CAAC;wBACD,SAAS;oBACX,CAAC;oBAED,sEAAsE;oBACtE,oDAAoD;oBACpD,MAAM,sBAAsB,CAAC,aAAa,EAAE,kBAAkB,EAAE,GAAG,CAAC,CAAC;oBACrE,MAAM,wBAAwB,CAAC,UAAU,EAAE,kBAAkB,EAAE,GAAG,CAAC,CAAC;oBAEpE,yDAAyD;oBACzD,+DAA+D;oBAC/D,mEAAmE;oBACnE,kCAAkC;oBAClC,MAAM,QAAQ,GAAG,MAAM,qCAAqC,CAAC;wBAC3D,UAAU,EAAE,QAAQ,CAAC,EAAE;wBACvB,YAAY,EAAE,QAAQ,CAAC,IAAI;wBAC3B,OAAO;wBACP,cAAc,EAAE,MAAM,CAAC,cAAc;wBACrC,SAAS,EAAE,IAAI;qBAChB,CAAC,CAAC;oBACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;wBACjB,GAAG,CAAC,IAAI,CAAC,yBAAyB,QAAQ,CAAC,IAAI,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;wBACxE,SAAS;oBACX,CAAC;oBAED,qEAAqE;oBACrE,kEAAkE;oBAClE,sEAAsE;oBACtE,sEAAsE;oBACtE,6DAA6D;oBAC7D,kEAAkE;oBAClE,wEAAwE;oBACxE,+DAA+D;oBAC/D,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAC5D,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;oBAEzF,IAAI,aAAa,GAAG,CAAC,QAAQ,CAAC,eAAe,IAAI,EAAE,CAAoB,CAAC;oBAExE,IAAI,aAAa,KAAK,sBAAsB,EAAE,CAAC;wBAC7C,MAAM,QAAQ,GAAG,sBAAsB,CAAC;4BACtC,qEAAqE;4BACrE,qEAAqE;4BACrE,KAAK,EAAE,qBAAqB,CAAC;gCAC3B,aAAa;gCACb,MAAM,EAAE,gBAAgB;gCACxB,YAAY,EAAE,IAAI;gCAClB,aAAa,EAAE,iBAAiB;6BACjC,CAAC;yBACH,CAAC,CAAC;wBACH,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAC;wBACpE,MAAM,qBAAqB,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;wBACjK,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC;oBAClC,CAAC;oBAED,uEAAuE;oBACvE,yEAAyE;oBACzE,0EAA0E;oBAC1E,wEAAwE;oBACxE,yEAAyE;oBACzE,0EAA0E;oBAC1E,oDAAoD;oBACpD,IAAI,mBAAmB,GAAgC,IAAI,CAAC;oBAC5D,IAAI,gBAAgB,GAA6B,IAAI,CAAC;oBACtD,IAAI,aAAa,KAAK,sBAAsB,EAAE,CAAC;wBAC7C,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;wBACzF,IAAI,QAAQ,EAAE,CAAC;4BACb,mBAAmB,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;4BACpD,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;wBAClE,CAAC;oBACH,CAAC;oBAED,MAAM,cAAc,GAAG,sBAAsB,CAAC;wBAC5C,0DAA0D;wBAC1D,qEAAqE;wBACrE,uEAAuE;wBACvE,KAAK,EAAE,qBAAqB,CAAC;4BAC3B,aAAa;4BACb,MAAM,EAAE,gBAAgB;4BACxB,YAAY,EAAE,mBAAmB;4BACjC,aAAa,EAAE,iBAAiB;yBACjC,CAAC;qBACH,CAAC,CAAC;oBACH,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,MAAM,CAAC,CAAC;oBAChF,MAAM,qBAAqB,CAAC,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;oBACpL,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC;oBAEtC,qEAAqE;oBACrE,kEAAkE;oBAClE,uEAAuE;oBACvE,YAAY;oBACZ,IAAI,iBAAiB,IAAI,aAAa,KAAK,sBAAsB,EAAE,CAAC;wBAClE,MAAM,YAAY,GAAG,sBAAsB,CAAC;4BAC1C,kEAAkE;4BAClE,+DAA+D;4BAC/D,KAAK,EAAE,qBAAqB,CAAC;gCAC3B,aAAa;gCACb,MAAM,EAAE,gBAAgB;gCACxB,YAAY,EAAE,IAAI;gCAClB,aAAa,EAAE,IAAI;6BACpB,CAAC;yBACH,CAAC,CAAC;wBACH,IAAI,YAAY,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;4BAC1C,6DAA6D;4BAC7D,kEAAkE;4BAClE,kEAAkE;4BAClE,+DAA+D;4BAC/D,4DAA4D;4BAC5D,MAAM,QAAQ,GAAG;gCACf,+BAA+B,EAAE,gCAAgC;gCACjE,oBAAoB,EAAE,qBAAqB;6BAC5C,CAAC;4BACF,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;4BACvE,6DAA6D;4BAC7D,mEAAmE;4BACnE,+DAA+D;4BAC/D,8DAA8D;4BAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI;gCAC5B,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAW;gCACtD,CAAC,CAAC,MAAM,mBAAmB,CACvB,QAAQ,EACR,QAAQ,CAAC,EAAE,EACX,QAAQ,CAAC,SAAS,EAClB,mCAAmC,CAAC,MAAM,CAAC,SAAS,CAAC,CACtD,CAAC;4BACN,6DAA6D;4BAC7D,oEAAoE;4BACpE,iEAAiE;4BACjE,qCAAqC,CACnC,QAAQ,CAAC,EAAE,EACX,QAAQ,CAAC,IAAI,EACb,CAAC,oBAAoB,IAAI,YAAY,IAAI,YAAY,CAAC,kBAAkB,CAAC,IAAI,KAAK,EAClF,YAAY,CAAC,IAAI,CAClB,CAAC;4BACF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gCACd,MAAM,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gCAC9D,GAAG,CAAC,IAAI,CACN,wBAAwB,QAAQ,CAAC,IAAI,0BAA0B,oBAAoB,CAAC,IAAI,CAAC,IAAI;oCAC7F,6CAA6C,CAC9C,CAAC;4BACJ,CAAC;iCAAM,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC;gCAC7B,GAAG,CAAC,IAAI,CACN,wBAAwB,QAAQ,CAAC,IAAI,0BAA0B,oBAAoB,CAAC,YAAY,CAAC,IAAI;oCACrG,oDAAoD,CACrD,CAAC;4BACJ,CAAC;iCAAM,CAAC;gCACN,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,MAAM,CAAC,CAAC;gCAC5E,MAAM,qBAAqB,CAAC,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;gCACzK,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC;4BACtC,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,GAAG,CAAC,IAAI,CACN,sCAAsC,QAAQ,CAAC,IAAI,UAAU,QAAQ,CAAC,eAAe,OAAO,aAAa,IAAI;wBAC7G,CAAC,iBAAiB;4BAChB,CAAC,CAAC,4BAA4B,aAAa,CAAC,MAAM,sBAAsB;4BACxE,CAAC,CAAC,OAAO,UAAU,CAAC,MAAM,qBAAqB,CAAC,CACnD,CAAC;oBACF,wEAAwE;oBACxE,wEAAwE;oBACxE,yEAAyE;oBACzE,sEAAsE;oBACtE,sEAAsE;oBACtE,yEAAyE;oBACzE,uEAAuE;oBACvE,kBAAkB,CAAC,OAAO,CAAC,CAAC;oBAC5B,uEAAuE;oBACvE,wEAAwE;oBACxE,qEAAqE;oBACrE,yEAAyE;oBACzE,wEAAwE;oBACxE,mDAAmD;oBACnD,KAAK,iCAAiC,CACpC,OAAO,EACP,cAAc,EACd,8HAA8H,CAC/H,CAAC,KAAK,CAAC,GAAG,EAAE,GAA4C,CAAC,CAAC,CAAC;gBAC9D,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,IAAI,CACN,8DAA8D,QAAQ,CAAC,IAAI,IAAI,EAC9E,GAAa,CAAC,OAAO,CACvB,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CACN,iEAAiE,OAAO,GAAG,EAC1E,GAAa,CAAC,OAAO,CACvB,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAeD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAoB,EACpB,OAAmC,EAAE;IAErC,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC;IACpE,MAAM,mBAAmB,GAAG,IAAI,CAAC,kBAAkB,IAAI,kBAAkB,CAAC;IAC1E,MAAM,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,IAAI,iBAAiB,CAAC;IACvE,MAAM,uBAAuB,GAAG,IAAI,CAAC,sBAAsB,IAAI,sBAAsB,CAAC;IACtF,MAAM,qBAAqB,GAAG,IAAI,CAAC,oBAAoB,IAAI,oBAAoB,CAAC;IAEhF,IAAI,aAAa,CAAC;IAClB,IAAI,CAAC;QACH,aAAa,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IACnF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,6CAA6C,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;QAChF,OAAO;IACT,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;QAClC,IAAI,UAAU,CAAC;QACf,IAAI,CAAC;YACH,UAAU,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CAAC,oDAAoD,KAAK,CAAC,QAAQ,GAAG,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;YACxG,SAAS;QACX,CAAC;QAED,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;YAClC,2DAA2D;YAC3D,IAAI,CAAC,QAAQ,CAAC,eAAe,IAAI,EAAE,CAAC,KAAK,sBAAsB;gBAAE,SAAS;YAE1E,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACrD,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;gBAEzF,yEAAyE;gBACzE,qEAAqE;gBACrE,uEAAuE;gBACvE,MAAM,QAAQ,GAAG,sBAAsB,CAAC,EAAE,KAAK,EAAE,uBAAuB,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;gBAC9F,IAAI,QAAQ,CAAC,MAAM,KAAK,sBAAsB;oBAAE,SAAS,CAAC,qBAAqB;gBAE/E,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC5D,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACpE,wEAAwE;gBACxE,4EAA4E;gBAC5E,MAAM,qBAAqB,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,UAAU,EAAE,sBAAsB,EAAE,CAAC,CAAC;gBAC1K,GAAG,CAAC,IAAI,CACN,oCAAoC,QAAQ,CAAC,IAAI,aAAa,sBAAsB,OAAO,QAAQ,CAAC,MAAM,GAAG;oBAC7G,0BAA0B,CAC3B,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,IAAI,CAAC,2CAA2C,QAAQ,CAAC,IAAI,IAAI,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;YACjG,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
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
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
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
|
|
1
|
+
{"version":3,"file":"agent-resolvable-promotion.d.ts","sourceRoot":"","sources":["../../src/queries/agent-resolvable-promotion.ts"],"names":[],"mappings":"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"}
|