crewly 1.8.0 → 1.8.2

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 (24) hide show
  1. package/config/roles/orchestrator/prompt.md +27 -0
  2. package/config/skills/orchestrator/delegate-task/execute.sh +101 -2
  3. package/config/skills/orchestrator/delegate-task/execute.test.sh +202 -0
  4. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.d.ts +44 -0
  5. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.d.ts.map +1 -1
  6. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js +94 -0
  7. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js.map +1 -1
  8. package/dist/backend/backend/src/services/reconciler/reconciler.service.d.ts +19 -0
  9. package/dist/backend/backend/src/services/reconciler/reconciler.service.d.ts.map +1 -1
  10. package/dist/backend/backend/src/services/reconciler/reconciler.service.js +28 -0
  11. package/dist/backend/backend/src/services/reconciler/reconciler.service.js.map +1 -1
  12. package/dist/backend/backend/src/services/v3/request-sla.subscriber.d.ts +46 -0
  13. package/dist/backend/backend/src/services/v3/request-sla.subscriber.d.ts.map +1 -1
  14. package/dist/backend/backend/src/services/v3/request-sla.subscriber.js +147 -8
  15. package/dist/backend/backend/src/services/v3/request-sla.subscriber.js.map +1 -1
  16. package/dist/backend/backend/src/types/event-bus.types.d.ts +1 -1
  17. package/dist/backend/backend/src/types/event-bus.types.d.ts.map +1 -1
  18. package/dist/backend/backend/src/types/event-bus.types.js +17 -0
  19. package/dist/backend/backend/src/types/event-bus.types.js.map +1 -1
  20. package/dist/cli/backend/src/types/event-bus.types.d.ts +1 -1
  21. package/dist/cli/backend/src/types/event-bus.types.d.ts.map +1 -1
  22. package/dist/cli/backend/src/types/event-bus.types.js +17 -0
  23. package/dist/cli/backend/src/types/event-bus.types.js.map +1 -1
  24. package/package.json +1 -1
@@ -235,6 +235,33 @@ When receiving a request from owner or upstream, every Request you materialise i
235
235
 
236
236
  The `delegate-task` skill emits a stderr WARNING when a brief is missing G/O/E markers — non-fatal, but a signal that the brief is malformed and the downstream TL is allowed (and expected) to push back.
237
237
 
238
+ ### Scope Discipline — No Auto-Expansion (MANDATORY)
239
+
240
+ > Source incident: 2026-05-20 ESTestNode dispatch. User said "update ESTestNode OSS + crewly agent." Brief shipped with "fix the 3 known 5/15 side-issues" promoted into Eval Criteria. One of those was a production nginx config change the user never authorized. Caught only when the user asked "为什么会涉及到 nginx?" 9 hours later.
241
+
242
+ **The bug pattern**: you `recall_memory` history about the topic, find an adjacent known issue, and quietly write it into the brief's `Expected Outcome` or `Eval Criteria`. The executor faithfully addresses everything in the brief, so unauthorized scope ships unless they happen to escalate. By the time the user notices, the work is partly done.
243
+
244
+ **Hard rule:**
245
+
246
+ 1. **Goal / Expected Outcome / Eval Criteria** are derived ONLY from the user's literal words in this turn. If the user said `X`, your brief targets `X`. Period.
247
+
248
+ 2. **Recalled context** (from `recall_memory`, past chat threads, project knowledge, audit findings) goes into a `## Context` section that informs the executor's *awareness* — NOT into `Expected Outcome` or `Eval Criteria`. Context is for "here's what you should know while doing X"; criteria is for "here's what X requires."
249
+
250
+ 3. **If you think bundling related work is efficient**, ASK FIRST and wait for an explicit Y. Templates:
251
+ - "You asked X. While we're there, want me to also handle Y, Z? (Y/N)"
252
+ - "Memory says there's an open issue with Z in the same surface — bundle it in or defer? (bundle/defer)"
253
+ Only after explicit Y can Y appear in the brief's criteria.
254
+
255
+ 4. **Production-adjacent scope is double-gated**. Even when memory recalls a "known issue," items touching `prod nginx`, `prod DNS`, `prod secrets`, `live billing`, `live customer data`, or `live user-facing domain` (`crewlyai.com`, `api.crewlyai.com`, owner's personal accounts) MUST go through the ask-first gate above. There is no "obvious next step" override for prod.
256
+
257
+ 5. **Self-check before dispatch** — diff your composed `Expected Outcome` line items against the user's literal words. Every line in Expected Outcome must trace to a word/phrase the user actually wrote. If a line is justified only by recalled history, move it to `Context` or `Suggested Follow-ups` and surface back for confirmation.
258
+
259
+ **Negative pattern to suppress** (the 2026-05-20 ESTestNode shape):
260
+ > User: "update X" → ORC: `recall_memory(X)` → memory has "X had 3 known issues" → ORC: "while you're updating X, handle the 3 known issues too" → executor does all 4 things → user pays for unauthorized scope on prod.
261
+
262
+ **Replacement pattern**:
263
+ > User: "update X" → ORC: `recall_memory(X)` → ORC composes brief targeting ONLY update X, includes the 3 known issues in `## Context` for awareness, asks user in reply "noticed 3 open issues on X — bundle in this run? Y/N", waits.
264
+
238
265
  ## Conversation History — Recall Only
239
266
 
240
267
  Your conversation history is for **recall only**. Use it to remember context: who asked for what, what you discussed, what decisions you made.
@@ -17,6 +17,16 @@ TASK_TYPE="general"
17
17
  TEAM_ID=""
18
18
  FORCE_CROSS_TEAM="false"
19
19
  REQUEST_ID=""
20
+ # Self-heal fix #3 (2026-05-20): default fallback timer at 30min. Per
21
+ # the orchestrator prompt §3.0 the orc is supposed to set 2× ETA
22
+ # manually for every dispatch, but the convention was unenforced —
23
+ # observable in the 2026-05-20 ESTestNode incident where the orc set
24
+ # only the idle subscription and not the fallback timer, leaving the
25
+ # orc clueless when Sora never started. Auto-creating a 30min fallback
26
+ # at dispatch time guarantees the dual-signal contract is honored.
27
+ # Caller can override via --fallback-minutes N, or disable with
28
+ # --fallback-minutes 0.
29
+ FALLBACK_MINUTES="30"
20
30
 
21
31
  # Detect legacy JSON argument
22
32
  if [[ $# -gt 0 && ${1:0:1} == '{' ]]; then
@@ -36,6 +46,7 @@ while [[ $# -gt 0 ]]; do
36
46
  --team|-g) TEAM_ID="$2"; shift 2 ;;
37
47
  --request-id|-R) REQUEST_ID="$2"; shift 2 ;;
38
48
  --force-cross-team) FORCE_CROSS_TEAM="true"; shift ;;
49
+ --fallback-minutes) FALLBACK_MINUTES="$2"; shift 2 ;;
39
50
  --json|-j) INPUT_JSON="$2"; shift 2 ;;
40
51
  --help|-h)
41
52
  echo "Usage: execute.sh --to agent-session --task 'implement feature' --priority high --project /path [--team teamId] [--context 'extra info']"
@@ -241,11 +252,99 @@ if [ "$POOL_OK" != "true" ]; then
241
252
  exit 1
242
253
  fi
243
254
 
255
+ # --- Immediate claim transition (self-heal fix #1) ---
256
+ # Force `queued → running` at dispatch time so the WI doesn't rot in
257
+ # queued waiting for a pull that may never come. The 2026-05-20 ESTestNode
258
+ # incident (WI d705bfe0) revealed the gap: addToPool succeeded, the
259
+ # message was delivered to Sora's PTY, but the WI stayed `queued` for
260
+ # >1h because no caller transitioned the status. The Reconciler logged
261
+ # it as stale but its eviction path only handles `suspended/inactive`
262
+ # agents (not `active-but-idle`), so the work never made progress.
263
+ #
264
+ # Mirrors what `index.ts:queueProcessorService.setTaskPoolRouter` does
265
+ # for [TASK]-prefixed message dispatch — claimFromPool runs immediately
266
+ # after addToPool. The skill path now matches that contract.
267
+ #
268
+ # Failure is non-fatal: if claim fails (race, target locked, etc.) the
269
+ # WI stays queued and the Reconciler + AutoClaim will retry the legacy
270
+ # way. We log the failure so it's grep-able but don't block dispatch.
271
+ if [ -n "$WI_ID" ] && [ -n "$TO" ]; then
272
+ CLAIM_BODY=$(jq -n --arg agentId "$TO" --arg workItemId "$WI_ID" \
273
+ '{agentId: $agentId, workItemId: $workItemId}')
274
+ CLAIM_RESULT=$(api_call POST "/task-pool/claim" "$CLAIM_BODY" 2>/dev/null || echo '{"success":false}')
275
+ CLAIM_OK=$(echo "$CLAIM_RESULT" | jq -r '.success // "false"' 2>/dev/null)
276
+ if [ "$CLAIM_OK" != "true" ]; then
277
+ echo "warn: WorkItem $WI_ID created but immediate claim for $TO failed — falling back to async claim path" >&2
278
+ fi
279
+ fi
280
+
281
+ # --- Fallback trigger (self-heal fix #3) ---
282
+ # Per orchestrator prompt §3.0 every dispatch must close the loop with
283
+ # BOTH signals: (a) idle-event subscription, AND (b) fallback timer at
284
+ # 2× ETA. The agent:idle subscription is set elsewhere (tool-registry
285
+ # delegate_task auto-attach); this block enforces the timer half.
286
+ #
287
+ # Encoded as a /triggers POST that creates a self-targeted delegate WI
288
+ # at fire time, which surfaces "WI <id> dispatched to <target> N min
289
+ # ago — verify status" back into orc's pool. orc's normal dispatch loop
290
+ # then handles it like any other inbound task.
291
+ #
292
+ # Caller can override via --fallback-minutes N or disable with
293
+ # --fallback-minutes 0.
294
+ FALLBACK_TRIGGER_ID=""
295
+ if [ -n "$WI_ID" ] && [ "${FALLBACK_MINUTES:-0}" -gt 0 ] 2>/dev/null; then
296
+ # Compute the fireAt timestamp = now + FALLBACK_MINUTES.
297
+ # `date -v+Xm` on macOS, `date -d "+X minutes"` on GNU. Try both;
298
+ # silently skip the fallback if neither shape works rather than
299
+ # blocking the dispatch on a date-format quirk.
300
+ FIRE_AT=""
301
+ FIRE_AT=$(date -u -v+"${FALLBACK_MINUTES}"M +'%Y-%m-%dT%H:%M:%S.000Z' 2>/dev/null || \
302
+ date -u -d "+${FALLBACK_MINUTES} minutes" +'%Y-%m-%dT%H:%M:%S.000Z' 2>/dev/null || \
303
+ echo "")
304
+
305
+ if [ -n "$FIRE_AT" ]; then
306
+ FALLBACK_SESSION="${CREWLY_SESSION_NAME:-crewly-orc}"
307
+ TRIGGER_BODY=$(jq -n \
308
+ --arg type "time" \
309
+ --arg fireAt "$FIRE_AT" \
310
+ --arg target "$FALLBACK_SESSION" \
311
+ --arg createdBy "delegate-task" \
312
+ --arg name "fallback-${TO}-${WI_ID:0:8}" \
313
+ --arg title "Fallback check on ${TO} for task ${WI_ID:0:8}" \
314
+ --arg description "Per §3.0: ${FALLBACK_MINUTES}min fallback after dispatch to ${TO}. Check whether ${WI_ID} is making progress — if running but no output, re-prompt; if still queued, re-target or fail-fast." \
315
+ '{
316
+ type: $type,
317
+ config: {type: "time", fireAt: $fireAt},
318
+ action: {createWorkItem: {type: "delegate", owner: "system", target: $target, title: $title, description: $description}},
319
+ createdBy: $createdBy,
320
+ name: $name,
321
+ maxFires: 1
322
+ }')
323
+ TRIGGER_RESULT=$(api_call POST "/triggers" "$TRIGGER_BODY" 2>/dev/null || echo '{"success":false}')
324
+ TRIGGER_OK=$(echo "$TRIGGER_RESULT" | jq -r '.success // "false"' 2>/dev/null)
325
+ if [ "$TRIGGER_OK" = "true" ]; then
326
+ FALLBACK_TRIGGER_ID=$(echo "$TRIGGER_RESULT" | jq -r '.data.id // .triggerId // empty' 2>/dev/null || echo "")
327
+ else
328
+ echo "warn: WorkItem $WI_ID dispatched but fallback timer creation failed — orc's idle subscription is the only safety net" >&2
329
+ fi
330
+ fi
331
+ fi
332
+
244
333
  # Output result
334
+ CLAIM_STATE=$([ "${CLAIM_OK:-false}" = "true" ] && echo "running" || echo "queued")
335
+ if [ "$CLAIM_STATE" = "running" ]; then
336
+ RESULT_MESSAGE="WorkItem created in TaskPool and immediately claimed by target."
337
+ else
338
+ RESULT_MESSAGE="WorkItem created in TaskPool (immediate claim failed — Reconciler will retry)."
339
+ fi
245
340
  jq -n \
246
- --arg success "true" \
247
341
  --arg workItemId "${WI_ID:-}" \
248
342
  --arg target "$TO" \
249
343
  --arg priority "$WI_PRIORITY" \
250
344
  --arg title "$WI_TITLE" \
251
- '{success: true, workItemId: $workItemId, target: $target, priority: $priority, title: $title, message: "WorkItem created in TaskPool. Reconciler will wake the agent when resources are available."}'
345
+ --arg state "$CLAIM_STATE" \
346
+ --arg message "$RESULT_MESSAGE" \
347
+ --arg fallbackTriggerId "${FALLBACK_TRIGGER_ID:-}" \
348
+ --arg fallbackMinutes "${FALLBACK_MINUTES:-0}" \
349
+ '{success: true, workItemId: $workItemId, target: $target, priority: $priority, title: $title, state: $state, message: $message}
350
+ + (if $fallbackTriggerId != "" then {fallbackTriggerId: $fallbackTriggerId, fallbackMinutes: ($fallbackMinutes|tonumber)} else {} end)'
@@ -0,0 +1,202 @@
1
+ #!/bin/bash
2
+ # Tests for ORC delegate-task execute.sh
3
+ #
4
+ # Focused on the auto-claim transition added 2026-05-20 — the skill must
5
+ # call POST /task-pool/claim immediately after POST /task-pool/add succeeds,
6
+ # so the WI transitions queued → running at dispatch time and doesn't rot
7
+ # in queued waiting for a pull that may never come (the 2026-05-20
8
+ # ESTestNode incident).
9
+ #
10
+ # The skill is exercised under a stubbed api_call that records every
11
+ # REST call to a tmp file; assertions look at the call log + final JSON.
12
+
13
+ set -euo pipefail
14
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
15
+ PASS=0
16
+ FAIL=0
17
+
18
+ CALL_LOG=$(mktemp)
19
+ SKILL_PARENT=$(mktemp -d)
20
+ trap 'rm -rf "$SKILL_PARENT" "$CALL_LOG"' EXIT
21
+
22
+ # Build a fake skill-parent dir that mirrors config/skills layout:
23
+ # <SKILL_PARENT>/_common/lib.sh ← real lib.sh + api_call override
24
+ # <SKILL_PARENT>/delegate-task/execute.sh ← real skill copy
25
+ # The skill resolves `${SCRIPT_DIR}/../_common/lib.sh`, so this layout
26
+ # satisfies the source path.
27
+ mkdir -p "$SKILL_PARENT/_common" "$SKILL_PARENT/delegate-task"
28
+
29
+ # Compose a test lib.sh: source the real one (for require_param,
30
+ # resolve_team_id, auto_remember, etc.) then override api_call so we
31
+ # can record + canned-reply without making real HTTP calls.
32
+ REAL_LIB="$(cd "$SCRIPT_DIR/../.." && pwd)/_common/lib.sh"
33
+ cat > "$SKILL_PARENT/_common/lib.sh" <<EOF
34
+ source "$REAL_LIB"
35
+ api_call() {
36
+ local method="\$1" path="\$2" body="\${3:-}"
37
+ echo "\${method} \${path} \${body}" >> "${CALL_LOG}"
38
+ case "\${path}" in
39
+ /task-pool/add)
40
+ echo '{"success":true,"data":{"id":"wi-stub-id"}}'
41
+ ;;
42
+ /task-pool/claim)
43
+ if [ "\${TEST_CLAIM_FAIL:-0}" = "1" ]; then
44
+ echo '{"success":false,"error":"claim race"}'
45
+ else
46
+ echo '{"success":true,"data":{"claimId":"c-stub"}}'
47
+ fi
48
+ ;;
49
+ /triggers)
50
+ if [ "\${TEST_TRIGGER_FAIL:-0}" = "1" ]; then
51
+ echo '{"success":false,"error":"trigger backend down"}'
52
+ else
53
+ echo '{"success":true,"data":{"id":"trg-stub-id"}}'
54
+ fi
55
+ ;;
56
+ *)
57
+ echo '{"success":true}'
58
+ ;;
59
+ esac
60
+ }
61
+ EOF
62
+
63
+ cp "$SCRIPT_DIR/execute.sh" "$SKILL_PARENT/delegate-task/execute.sh"
64
+ chmod +x "$SKILL_PARENT/delegate-task/execute.sh"
65
+
66
+ assert_log_contains() {
67
+ local desc="$1" pattern="$2"
68
+ if grep -q "$pattern" "$CALL_LOG"; then
69
+ echo " PASS: $desc"
70
+ PASS=$((PASS + 1))
71
+ else
72
+ echo " FAIL: $desc (expected log entry matching '$pattern')"
73
+ echo " Call log was:"
74
+ sed 's/^/ /' "$CALL_LOG"
75
+ FAIL=$((FAIL + 1))
76
+ fi
77
+ }
78
+
79
+ assert_output_contains() {
80
+ local desc="$1" expected="$2" output="$3"
81
+ if echo "$output" | grep -q "$expected"; then
82
+ echo " PASS: $desc"
83
+ PASS=$((PASS + 1))
84
+ else
85
+ echo " FAIL: $desc (expected '$expected' in output, got: $output)"
86
+ FAIL=$((FAIL + 1))
87
+ fi
88
+ }
89
+
90
+ echo "=== ORC delegate-task — auto-claim regression ==="
91
+
92
+ # --- Test 1: happy path — claim is called after add ---
93
+ > "$CALL_LOG"
94
+ OUT=$(CALL_LOG="$CALL_LOG" CREWLY_ROOT=/tmp/crewly-test \
95
+ bash "${SKILL_PARENT}/delegate-task/execute.sh" \
96
+ --to crewly-test-bob \
97
+ --task "Test delegation" \
98
+ --priority normal \
99
+ 2>&1 || true)
100
+
101
+ assert_log_contains "POST /task-pool/add fires first" "POST /task-pool/add"
102
+ assert_log_contains "POST /task-pool/claim fires after add" "POST /task-pool/claim"
103
+ assert_output_contains "result state=running on successful claim" '"state": "running"' "$OUT"
104
+ assert_output_contains "result reports immediate claim" "immediately claimed" "$OUT"
105
+
106
+ # Verify ORDER — claim must come AFTER add
107
+ ADD_LINE=$(grep -n "POST /task-pool/add" "$CALL_LOG" | head -1 | cut -d: -f1)
108
+ CLAIM_LINE=$(grep -n "POST /task-pool/claim" "$CALL_LOG" | head -1 | cut -d: -f1)
109
+ if [ -n "$ADD_LINE" ] && [ -n "$CLAIM_LINE" ] && [ "$ADD_LINE" -lt "$CLAIM_LINE" ]; then
110
+ echo " PASS: claim fires AFTER add (lines $ADD_LINE < $CLAIM_LINE)"
111
+ PASS=$((PASS + 1))
112
+ else
113
+ echo " FAIL: claim should fire AFTER add (add=$ADD_LINE claim=$CLAIM_LINE)"
114
+ FAIL=$((FAIL + 1))
115
+ fi
116
+
117
+ # Verify claim body carries the target session as agentId
118
+ assert_log_contains "claim body names target as agentId" 'crewly-test-bob'
119
+
120
+ # --- Test 2: claim failure is non-fatal ---
121
+ > "$CALL_LOG"
122
+ OUT=$(TEST_CLAIM_FAIL=1 CALL_LOG="$CALL_LOG" CREWLY_ROOT=/tmp/crewly-test \
123
+ bash "${SKILL_PARENT}/delegate-task/execute.sh" \
124
+ --to crewly-test-bob \
125
+ --task "Test delegation" \
126
+ --priority normal \
127
+ 2>/dev/null || true)
128
+
129
+ assert_log_contains "POST /task-pool/add still fires when claim will fail" "POST /task-pool/add"
130
+ assert_log_contains "POST /task-pool/claim is attempted" "POST /task-pool/claim"
131
+ assert_output_contains "result state=queued on claim failure" '"state": "queued"' "$OUT"
132
+ assert_output_contains "result still reports success when claim fails" '"success": true' "$OUT"
133
+
134
+ # --- Test 3: fallback trigger fires by default ---
135
+ > "$CALL_LOG"
136
+ OUT=$(CALL_LOG="$CALL_LOG" CREWLY_ROOT=/tmp/crewly-test \
137
+ bash "${SKILL_PARENT}/delegate-task/execute.sh" \
138
+ --to crewly-test-bob \
139
+ --task "Test delegation with fallback" \
140
+ --priority normal \
141
+ 2>/dev/null || true)
142
+
143
+ assert_log_contains "POST /triggers fires after dispatch by default" "POST /triggers"
144
+ assert_output_contains "result reports fallbackTriggerId" "fallbackTriggerId" "$OUT"
145
+ assert_output_contains "result reports fallbackMinutes=30 (default)" '"fallbackMinutes": 30' "$OUT"
146
+
147
+ # --- Test 4: fallback can be disabled via --fallback-minutes 0 ---
148
+ > "$CALL_LOG"
149
+ OUT=$(CALL_LOG="$CALL_LOG" CREWLY_ROOT=/tmp/crewly-test \
150
+ bash "${SKILL_PARENT}/delegate-task/execute.sh" \
151
+ --to crewly-test-bob \
152
+ --task "Quick fire-and-forget" \
153
+ --fallback-minutes 0 \
154
+ 2>/dev/null || true)
155
+
156
+ if grep -q "POST /triggers" "$CALL_LOG"; then
157
+ echo " FAIL: --fallback-minutes 0 should suppress trigger creation"
158
+ FAIL=$((FAIL + 1))
159
+ else
160
+ echo " PASS: --fallback-minutes 0 suppresses trigger creation"
161
+ PASS=$((PASS + 1))
162
+ fi
163
+ if echo "$OUT" | grep -q "fallbackTriggerId"; then
164
+ echo " FAIL: output should not include fallbackTriggerId when disabled"
165
+ FAIL=$((FAIL + 1))
166
+ else
167
+ echo " PASS: output omits fallbackTriggerId when disabled"
168
+ PASS=$((PASS + 1))
169
+ fi
170
+
171
+ # --- Test 5: trigger failure is non-fatal (dispatch still succeeds) ---
172
+ > "$CALL_LOG"
173
+ OUT=$(TEST_TRIGGER_FAIL=1 CALL_LOG="$CALL_LOG" CREWLY_ROOT=/tmp/crewly-test \
174
+ bash "${SKILL_PARENT}/delegate-task/execute.sh" \
175
+ --to crewly-test-bob \
176
+ --task "Trigger backend will fail" \
177
+ 2>/dev/null || true)
178
+
179
+ assert_output_contains "result still success when trigger fails" '"success": true' "$OUT"
180
+ if echo "$OUT" | grep -q "fallbackTriggerId"; then
181
+ echo " FAIL: output should not include fallbackTriggerId when trigger create fails"
182
+ FAIL=$((FAIL + 1))
183
+ else
184
+ echo " PASS: output omits fallbackTriggerId when trigger creation fails"
185
+ PASS=$((PASS + 1))
186
+ fi
187
+
188
+ # --- Test 6: custom --fallback-minutes is propagated ---
189
+ > "$CALL_LOG"
190
+ OUT=$(CALL_LOG="$CALL_LOG" CREWLY_ROOT=/tmp/crewly-test \
191
+ bash "${SKILL_PARENT}/delegate-task/execute.sh" \
192
+ --to crewly-test-bob \
193
+ --task "Long-running milestone" \
194
+ --fallback-minutes 120 \
195
+ 2>/dev/null || true)
196
+
197
+ assert_output_contains "result reports custom fallbackMinutes=120" '"fallbackMinutes": 120' "$OUT"
198
+
199
+ # --- Summary ---
200
+ echo ""
201
+ echo "=== Results: $PASS passed, $FAIL failed ==="
202
+ [ "$FAIL" -eq 0 ]
@@ -230,6 +230,50 @@ export declare class LiveReconcilerDataProvider implements ReconcilerDataProvide
230
230
  * the first-time threshold instead of being silenced by stale state.
231
231
  */
232
232
  private resetMemoryPressureBroadcast;
233
+ /**
234
+ * Per-WI dedup of `task:queued_too_long` broadcasts. Maps WI id to the
235
+ * ISO timestamp at which we last fired. A WI is only re-broadcast
236
+ * after {@link STUCK_WI_REBROADCAST_MS} has elapsed since the last
237
+ * fire — keeps the orc terminal sane when many WIs accumulate.
238
+ *
239
+ * Cleaned on every reconcile pass that observes the WI is no longer
240
+ * `queued`, so a successful resume cancels the dedup naturally.
241
+ */
242
+ private lastStuckWiNotifiedAt;
243
+ /**
244
+ * Re-broadcast window for the same WI. Picked to roughly match the
245
+ * reconciler's own staleness threshold so a long-stuck WI gets a
246
+ * follow-up reminder ~hourly without flooding.
247
+ */
248
+ private static readonly STUCK_WI_REBROADCAST_MS;
249
+ /**
250
+ * Broadcast `task:queued_too_long` for WIs the reconciler has just
251
+ * detected as stale-queued past the threshold. Public so the
252
+ * reconciler service can call it after the existing log line at
253
+ * reconciler.service.ts:213.
254
+ *
255
+ * Per-WI dedup ensures a long-stuck WI fires at most once per
256
+ * {@link STUCK_WI_REBROADCAST_MS}. Missing target/owner is fine — the
257
+ * subscription filter side handles defaults.
258
+ *
259
+ * @param staleWorkItems - List of `{id, target, owner, createdAt}` for
260
+ * each WI past the staleness threshold. The reconciler resolves
261
+ * these from {@link getTaskPoolService}.findWorkItem before calling.
262
+ */
263
+ broadcastStaleQueuedWIs(staleWorkItems: ReadonlyArray<{
264
+ id: string;
265
+ target?: string;
266
+ owner?: string;
267
+ createdAt: string;
268
+ }>): void;
269
+ /**
270
+ * Drop dedup entries for WIs that are no longer stuck. Called by the
271
+ * reconciler each pass with the current set of `queued` WI ids — any
272
+ * id in our map that is NOT in the current set has been resolved
273
+ * (claimed, completed, cancelled) and its dedup window should be
274
+ * released so a future re-stale gets a fresh first-fire.
275
+ */
276
+ clearResolvedStuckWiDedup(currentlyQueuedIds: ReadonlySet<string>): void;
233
277
  /**
234
278
  * Find one idle, evictable agent that can be terminated to free a wake
235
279
  * slot under memory pressure.
@@ -1 +1 @@
1
- {"version":3,"file":"reconciler-data-provider.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/reconciler/reconciler-data-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EACV,QAAQ,EACR,OAAO,EACP,SAAS,EACT,mBAAmB,EACnB,UAAU,EACX,MAAM,yBAAyB,CAAC;AAUjC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AA0EzE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C;;;;GAIG;AACH,MAAM,WAAW,6BAA6B;IAC5C,qBAAqB,CACnB,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpE;AAMD;;;;;;;;;;;;;GAaG;AACH,qBAAa,0BAA2B,YAAW,sBAAsB;IACvE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAgC;IAMhD,OAAO,CAAC,iBAAiB,CAA8C;IAMvE,OAAO,CAAC,wBAAwB,CAAK;IACrC,OAAO,CAAC,sBAAsB,CAAK;;IAOnC;;;;;;;OAOG;IACH,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAI5C;;;;;;;;OAQG;IACH,2BAA2B,CAAC,GAAG,EAAE,6BAA6B,GAAG,IAAI;IAIrE;;;;;OAKG;IACG,kBAAkB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAe/C;;;;;OAKG;IACG,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAcpE;;;;;;;;OAQG;IACG,iBAAiB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAgB7C;;;;;;;;;;;OAWG;IACG,eAAe,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IA6B7C;;;;;;;OAOG;IACG,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAoF5D;;;;OAIG;IACG,eAAe,CAAC,UAAU,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAwCrE;;;;;OAKG;IACG,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IActE;;;;OAIG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAaxD;;;;OAIG;IACG,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAavD;;;;;OAKG;IACG,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAc3E;;;;;;;;;;;OAWG;IACG,qBAAqB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAwBlD;;;;;;;;;OASG;IACH;;;;;;;;;;;;;OAaG;YACW,wBAAwB;IAuBtC;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,4BAA4B;IA0DpC;;;;OAIG;IACH,OAAO,CAAC,4BAA4B;IAOpC;;;;;;;;;;;;;;;;;;;;;OAqBG;YACW,sBAAsB;IAiFpC;;;;;;;;;;;OAWG;YACW,cAAc;IAmCtB,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAgL7D;;;;;;;;OAQG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IA8C3C;;;;;OAKG;IACH,OAAO,CAAC,cAAc;CAkBvB"}
1
+ {"version":3,"file":"reconciler-data-provider.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/reconciler/reconciler-data-provider.ts"],"names":[],"mappings":"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"}
@@ -637,6 +637,100 @@ export class LiveReconcilerDataProvider {
637
637
  this.lastPressureNotifiedAt = 0;
638
638
  }
639
639
  }
640
+ /**
641
+ * Per-WI dedup of `task:queued_too_long` broadcasts. Maps WI id to the
642
+ * ISO timestamp at which we last fired. A WI is only re-broadcast
643
+ * after {@link STUCK_WI_REBROADCAST_MS} has elapsed since the last
644
+ * fire — keeps the orc terminal sane when many WIs accumulate.
645
+ *
646
+ * Cleaned on every reconcile pass that observes the WI is no longer
647
+ * `queued`, so a successful resume cancels the dedup naturally.
648
+ */
649
+ lastStuckWiNotifiedAt = new Map();
650
+ /**
651
+ * Re-broadcast window for the same WI. Picked to roughly match the
652
+ * reconciler's own staleness threshold so a long-stuck WI gets a
653
+ * follow-up reminder ~hourly without flooding.
654
+ */
655
+ static STUCK_WI_REBROADCAST_MS = 60 * 60 * 1000;
656
+ /**
657
+ * Broadcast `task:queued_too_long` for WIs the reconciler has just
658
+ * detected as stale-queued past the threshold. Public so the
659
+ * reconciler service can call it after the existing log line at
660
+ * reconciler.service.ts:213.
661
+ *
662
+ * Per-WI dedup ensures a long-stuck WI fires at most once per
663
+ * {@link STUCK_WI_REBROADCAST_MS}. Missing target/owner is fine — the
664
+ * subscription filter side handles defaults.
665
+ *
666
+ * @param staleWorkItems - List of `{id, target, owner, createdAt}` for
667
+ * each WI past the staleness threshold. The reconciler resolves
668
+ * these from {@link getTaskPoolService}.findWorkItem before calling.
669
+ */
670
+ broadcastStaleQueuedWIs(staleWorkItems) {
671
+ if (!this.eventBus || staleWorkItems.length === 0)
672
+ return;
673
+ const now = Date.now();
674
+ for (const wi of staleWorkItems) {
675
+ const last = this.lastStuckWiNotifiedAt.get(wi.id) ?? 0;
676
+ if (now - last < LiveReconcilerDataProvider.STUCK_WI_REBROADCAST_MS) {
677
+ continue;
678
+ }
679
+ try {
680
+ const ageMs = now - new Date(wi.createdAt).getTime();
681
+ this.eventBus.publish({
682
+ // Composite id makes redelivery dedup-friendly without
683
+ // colliding across re-fires (the timestamp segment changes).
684
+ id: `task-queued-too-long-${wi.id}-${now}`,
685
+ type: 'task:queued_too_long',
686
+ timestamp: new Date(now).toISOString(),
687
+ // teamId/teamName/memberId/memberName are conventionally empty
688
+ // for pool-level events; subscriber routing uses workItemId.
689
+ teamId: '',
690
+ teamName: '',
691
+ memberId: '',
692
+ memberName: 'reconciler',
693
+ sessionName: wi.target ?? '',
694
+ previousValue: 'queued',
695
+ newValue: 'queued_stale',
696
+ changedField: 'taskStatus',
697
+ workItemId: wi.id,
698
+ // Carry the owner (typically 'orchestrator' or a team-lead
699
+ // session) so a subscriber can filter `owner === self` to
700
+ // catch ONLY its own stuck delegations.
701
+ ...(wi.owner ? { owner: wi.owner } : {}),
702
+ // Age in seconds so the orc can decide between re-deliver
703
+ // (short stuck) and re-target / fail (long stuck).
704
+ ...(ageMs > 0 ? { ageSeconds: Math.floor(ageMs / 1000) } : {}),
705
+ });
706
+ this.lastStuckWiNotifiedAt.set(wi.id, now);
707
+ }
708
+ catch (err) {
709
+ // Failure isolation — telemetry failures must not break the
710
+ // reconciler's primary control flow.
711
+ this.logger.warn('Failed to broadcast task:queued_too_long (non-fatal)', {
712
+ workItemId: wi.id,
713
+ error: err instanceof Error ? err.message : String(err),
714
+ });
715
+ }
716
+ }
717
+ }
718
+ /**
719
+ * Drop dedup entries for WIs that are no longer stuck. Called by the
720
+ * reconciler each pass with the current set of `queued` WI ids — any
721
+ * id in our map that is NOT in the current set has been resolved
722
+ * (claimed, completed, cancelled) and its dedup window should be
723
+ * released so a future re-stale gets a fresh first-fire.
724
+ */
725
+ clearResolvedStuckWiDedup(currentlyQueuedIds) {
726
+ if (this.lastStuckWiNotifiedAt.size === 0)
727
+ return;
728
+ for (const id of [...this.lastStuckWiNotifiedAt.keys()]) {
729
+ if (!currentlyQueuedIds.has(id)) {
730
+ this.lastStuckWiNotifiedAt.delete(id);
731
+ }
732
+ }
733
+ }
640
734
  /**
641
735
  * Find one idle, evictable agent that can be terminated to free a wake
642
736
  * slot under memory pressure.
@@ -1 +1 @@
1
- {"version":3,"file":"reconciler-data-provider.js","sourceRoot":"","sources":["../../../../../../backend/src/services/reconciler/reconciler-data-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAWH,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAGpE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAwB,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEtF,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE5E,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,2EAA2E;AAC3E,MAAM,wBAAwB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,SAAS,sBAAsB,CAAC,KAAc;IAC5C,IAAI,CAAC,CAAC,KAAK,YAAY,SAAS,CAAC;QAAE,OAAO,KAAK,CAAC;IAChD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IAC1C,iEAAiE;IACjE,iEAAiE;IACjE,sBAAsB;IACtB,mEAAmE;IACnE,uDAAuD;IACvD,OAAO,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AACzE,CAAC;AAED,8EAA8E;AAC9E,WAAW;AACX,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAc3C,8EAA8E;AAC9E,6BAA6B;AAC7B,8EAA8E;AAE9E;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,0BAA0B;IACpB,MAAM,CAAkB;IACxB,OAAO,CAAiB;IACjC,QAAQ,GAA2B,IAAI,CAAC;IAChD,mEAAmE;IACnE,mEAAmE;IACnE,sEAAsE;IACtE,oEAAoE;IACpE,8CAA8C;IACtC,iBAAiB,GAAyC,IAAI,CAAC;IAEvE,iEAAiE;IACjE,qEAAqE;IACrE,oEAAoE;IACpE,sCAAsC;IAC9B,wBAAwB,GAAG,CAAC,CAAC;IAC7B,sBAAsB,GAAG,CAAC,CAAC;IAEnC;QACE,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,CAAC;QAC1F,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC;IAC9C,CAAC;IAED;;;;;;;OAOG;IACH,WAAW,CAAC,QAAyB;QACnC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;;;;;;;OAQG;IACH,2BAA2B,CAAC,GAAkC;QAC5D,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,kBAAkB;QACtB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;YAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1C,OAAO,QAAQ,CAAC,MAAM,CACpB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,MAAM,IAAI,EAAE,CAAC,MAAM,KAAK,WAAW,CAC1D,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE;gBAClD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YACH,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,sBAAsB,CAAC,SAAiB;QAC5C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;YAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1C,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE;gBACvD,SAAS;gBACT,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YACH,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,iBAAiB;QACrB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC;YAC7C,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YACpC,0EAA0E;YAC1E,OAAO,GAAG,CAAC,MAAM,CACf,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,CACvD,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE;gBACjD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YACH,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sDAAsD,EAAE;oBACxE,QAAQ,EAAE,OAAO,MAAM;iBACxB,CAAC,CAAC;gBACH,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gEAAgE;YAChE,2DAA2D;YAC3D,4DAA4D;YAC5D,8DAA8D;YAC9D,2CAA2C;YAC3C,IAAI,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sDAAsD,EAAE;oBACxE,KAAK,EAAG,KAAe,CAAC,OAAO;iBAChC,CAAC,CAAC;gBACH,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YACjE,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,iBAAiB;QACrB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAuB,CAAC;QAEjD,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAE5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;oBACxC,IAAI,CAAC,MAAM,CAAC,WAAW;wBAAE,SAAS;oBAElC,mDAAmD;oBACnD,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;oBAEvD,MAAM,MAAM,GAAgB;wBAC1B,WAAW,EAAE,MAAM,CAAC,WAAW;wBAC/B,MAAM;wBACN,UAAU,EAAE,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,SAAS;wBACxD,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,IAAI,EAAE,MAAM,CAAC,YAAY,IAAI,EAAE;wBAC/B,mBAAmB,EAAE,CAAC,EAAE,+BAA+B;wBACvD,MAAM,EAAE,IAAI,CAAC,EAAE;wBACf,QAAQ,EAAE,MAAM,CAAC,EAAE;qBACpB,CAAC;oBAEF,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;YAED,mEAAmE;YACnE,uEAAuE;YACvE,qEAAqE;YACrE,qEAAqE;YACrE,mEAAmE;YACnE,sEAAsE;YACtE,sEAAsE;YACtE,gEAAgE;YAChE,2DAA2D;YAC3D,EAAE;YACF,oEAAoE;YACpE,kEAAkE;YAClE,+DAA+D;YAC/D,iEAAiE;YACjE,yDAAyD;YACzD,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;gBAC7D,IAAI,SAAS,EAAE,WAAW,EAAE,CAAC;oBAC3B,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE;wBACnC,WAAW,EAAE,SAAS,CAAC,WAAW;wBAClC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,WAAW,CAAC;wBAClD,UAAU,EAAE,SAAS,CAAC,SAAS;wBAC/B,IAAI,EAAE,cAAc;wBACpB,IAAI,EAAE,EAAE;wBACR,mBAAmB,EAAE,CAAC;wBACtB,4DAA4D;qBAC7D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,OAAO,MAAM,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sDAAsD,EAAE;oBACxE,KAAK,EAAE,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;iBACjE,CAAC,CAAC;YACL,CAAC;YAED,gDAAgD;YAChD,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;gBAC3C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;gBAClD,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;oBACjC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC3C,IAAI,KAAK,EAAE,CAAC;wBACV,KAAK,CAAC,mBAAmB,GAAG,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;oBACnE,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,mDAAmD;YACrD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE;gBACpD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;QACL,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CAAC,UAA+B;QACnD,IAAI,CAAC;YACH,IAAI,UAAU,CAAC,UAAU,KAAK,WAAW,EAAE,CAAC;gBAC1C,MAAM,IAAI,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;gBAC3C,+DAA+D;gBAC/D,8DAA8D;gBAC9D,4DAA4D;gBAC5D,8DAA8D;gBAC9D,MAAM,IAAI,CAAC,gBAAgB,CACzB,UAAU,CAAC,QAAQ,EACnB,UAAU,CAAC,QAA8B,EACzC,QAAQ,EACR,UAAU,CAAC,MAAM,CAClB,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE;oBAC/C,UAAU,EAAE,UAAU,CAAC,QAAQ;oBAC/B,IAAI,EAAE,UAAU,CAAC,aAAa;oBAC9B,EAAE,EAAE,UAAU,CAAC,QAAQ;oBACvB,MAAM,EAAE,UAAU,CAAC,MAAM;iBAC1B,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,UAAU,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC/C,MAAM,OAAO,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC;gBAC7C,MAAM,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE;oBACxC,MAAM,EAAE,UAAU,CAAC,QAA6B;iBACjD,CAAC,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE;oBAC7C,SAAS,EAAE,UAAU,CAAC,QAAQ;oBAC9B,IAAI,EAAE,UAAU,CAAC,aAAa;oBAC9B,EAAE,EAAE,UAAU,CAAC,QAAQ;oBACvB,MAAM,EAAE,UAAU,CAAC,MAAM;iBAC1B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE;gBAC9C,UAAU;gBACV,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CAAC,UAAkB,EAAE,MAAc;QACpD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;YAC3C,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE;gBAC7C,UAAU;gBACV,MAAM;gBACN,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CAAC,UAAkB;QACtC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;YAC3C,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;YACzD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE;gBAChD,UAAU;gBACV,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CAAC,OAAe;QACrC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;YAC3C,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE;gBACjD,OAAO;gBACP,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,qBAAqB,CAAC,OAAe,EAAE,MAAc;QACzD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;YAC3C,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAChF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE;gBAC1C,OAAO;gBACP,MAAM;gBACN,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,qBAAqB;QACzB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6DAA6D,EAAE;oBAC/E,QAAQ,EAAE,OAAO,KAAK;iBACvB,CAAC,CAAC;gBACH,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6DAA6D,EAAE;oBAC/E,KAAK,EAAG,KAAe,CAAC,OAAO;iBAChC,CAAC,CAAC;gBACH,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YACxE,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACH;;;;;;;;;;;;;OAaG;IACK,KAAK,CAAC,wBAAwB;QACpC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC5C,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;oBACxC,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;oBAC7B,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;wBAC1D,KAAK,IAAI,CAAC,CAAC;oBACb,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,kEAAkE;YAClE,kEAAkE;YAClE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0DAA0D,EAAE;gBAC5E,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACxD,CAAC,CAAC;YACH,OAAO,yBAAyB,CAAC;QACnC,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACK,4BAA4B,CAClC,KAA8C,EAC9C,WAAmB;QAEnB,IAAI,CAAC,wBAAwB,IAAI,CAAC,CAAC;QAEnC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,oEAAoE;QACpE,mEAAmE;QACnE,iDAAiD;QACjD,MAAM,oBAAoB,GAAG,CAAC,CAAC;QAC/B,mEAAmE;QACnE,mEAAmE;QACnE,mDAAmD;QACnD,MAAM,yBAAyB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QAEhD,IAAI,IAAI,CAAC,wBAAwB,GAAG,oBAAoB,EAAE,CAAC;YACzD,OAAO;QACT,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,sBAAsB,GAAG,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,sBAAsB,GAAG,yBAAyB,EAAE,CAAC;YACrG,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACpB,EAAE,EAAE,0BAA0B,GAAG,EAAE;gBACnC,IAAI,EAAE,wBAAwB;gBAC9B,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE;gBACtC,MAAM,EAAE,EAAE;gBACV,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,EAAE;gBACZ,UAAU,EAAE,QAAQ;gBACpB,WAAW,EAAE,QAAQ;gBACrB,aAAa,EAAE,IAAI;gBACnB,QAAQ,EAAE,UAAU;gBACpB,YAAY,EAAE,aAAa;aAC5B,CAAC,CAAC;YACH,IAAI,CAAC,sBAAsB,GAAG,GAAG,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8CAA8C,EAAE;gBAC/D,iBAAiB,EAAE,KAAK,CAAC,WAAW;gBACpC,SAAS,EAAE,KAAK,CAAC,MAAM;gBACvB,YAAY,EAAE,WAAW;gBACzB,gBAAgB,EAAE,IAAI,CAAC,wBAAwB;aAChD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,8DAA8D;YAC9D,qCAAqC;YACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wDAAwD,EAAE;gBACzE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACxD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,4BAA4B;QAClC,IAAI,IAAI,CAAC,wBAAwB,GAAG,CAAC,IAAI,IAAI,CAAC,sBAAsB,GAAG,CAAC,EAAE,CAAC;YACzE,IAAI,CAAC,wBAAwB,GAAG,CAAC,CAAC;YAClC,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACK,KAAK,CAAC,sBAAsB,CAAC,aAAqB;QAOxD,IAAI,KAAK,CAAC;QACV,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACxC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8CAA8C,EAAE;gBAC/D,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACxD,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAED,uEAAuE;QACvE,mEAAmE;QACnE,uCAAuC;QACvC,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC3C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;YAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1C,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;gBAC1B,IAAI,EAAE,CAAC,MAAM,KAAK,MAAM,IAAI,EAAE,CAAC,MAAM,KAAK,WAAW;oBAAE,SAAS;gBAChE,MAAM,CAAC,GAAI,EAA0B,CAAC,MAAM,CAAC;gBAC7C,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;oBAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,kEAAkE;YAClE,+DAA+D;YAC/D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+DAA+D,EAAE;gBAChF,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACxD,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAQvB,MAAM,UAAU,GAAgB,EAAE,CAAC;QAEnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;gBACxC,IAAI,MAAM,CAAC,WAAW,KAAK,QAAQ;oBAAE,SAAS;gBAC9C,IAAI,MAAM,CAAC,aAAa,KAAK,MAAM;oBAAE,SAAS;gBAC9C,IACG,uBAAuB,CAAC,eAAqC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EACpF,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,IAAI,MAAM,CAAC,WAAW,KAAK,aAAa;oBAAE,SAAS;gBACnD,IAAI,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC;oBAAE,SAAS;gBAEvD,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS;oBACjC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE;oBACtC,CAAC,CAAC,MAAM,CAAC,SAAS;wBAChB,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE;wBACtC,CAAC,CAAC,CAAC,CAAC;gBACR,MAAM,MAAM,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClE,UAAU,CAAC,IAAI,CAAC;oBACd,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,MAAM,EAAE,IAAI,CAAC,EAAE;oBACf,QAAQ,EAAE,MAAM,CAAC,EAAE;oBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,MAAM;iBACP,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACzC,sBAAsB;QACtB,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;QAC/C,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IAED;;;;;;;;;;;OAWG;IACK,KAAK,CAAC,cAAc,CAAC,MAK5B;QACC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,wEAAwE,EACxE,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CACpC,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YACpF,mEAAmE;YACnE,gEAAgE;YAChE,kEAAkE;YAClE,oCAAoC;YACpC,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAClC,MAAM,CAAC,WAAW,EAClB,UAAmB,EACnB,oBAA6B,CAC9B,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE;gBACzC,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACxD,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,MAAkB;QACxC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QAE9C,iDAAiD;QACjD,EAAE;QACF,mEAAmE;QACnE,iEAAiE;QACjE,iEAAiE;QACjE,mEAAmE;QACnE,kEAAkE;QAClE,EAAE;QACF,gEAAgE;QAChE,8DAA8D;QAC9D,+DAA+D;QAC/D,gEAAgE;QAChE,2DAA2D;QAC3D,EAAE;QACF,+DAA+D;QAC/D,kEAAkE;QAClE,gEAAgE;QAChE,4DAA4D;QAC5D,uDAAuD;QACvD,IAAI,qBAAqB,EAAE,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;YAC/B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAC1D,IAAI,WAAW,IAAI,yBAAyB,EAAE,CAAC;gBAC7C,+DAA+D;gBAC/D,8DAA8D;gBAC9D,gEAAgE;gBAChE,+DAA+D;gBAC/D,gEAAgE;gBAChE,6DAA6D;gBAC7D,uBAAuB;gBACvB,EAAE;gBACF,gEAAgE;gBAChE,+DAA+D;gBAC/D,2DAA2D;gBAC3D,+DAA+D;gBAC/D,8DAA8D;gBAC9D,SAAS;gBACT,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;gBACnE,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iEAAiE,EAAE;wBAClF,KAAK,EAAE,gBAAgB;wBACvB,QAAQ;wBACR,iBAAiB,EAAE,KAAK,CAAC,WAAW;wBACpC,SAAS,EAAE,KAAK,CAAC,MAAM;wBACvB,YAAY,EAAE,WAAW;wBACzB,SAAS,EAAE,yBAAyB;wBACpC,MAAM,EAAE,mEAAmE;qBAC5E,CAAC,CAAC;oBACH,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;oBACtD,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6DAA6D,EAAE;oBAC9E,aAAa,EAAE,MAAM,CAAC,WAAW;oBACjC,YAAY,EAAE,MAAM,CAAC,IAAI;oBACzB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,aAAa,EAAE,gBAAgB;oBAC/B,gBAAgB,EAAE,QAAQ;oBAC1B,iBAAiB,EAAE,KAAK,CAAC,WAAW;oBACpC,SAAS,EAAE,KAAK,CAAC,MAAM;oBACvB,YAAY,EAAE,WAAW;oBACzB,SAAS,EAAE,yBAAyB;iBACrC,CAAC,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;gBAClD,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,+DAA+D;oBAC/D,6DAA6D;oBAC7D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE;wBACzD,KAAK,EAAE,gBAAgB;wBACvB,cAAc,EAAE,MAAM,CAAC,WAAW;wBAClC,iBAAiB,EAAE,KAAK,CAAC,WAAW;wBACpC,SAAS,EAAE,KAAK,CAAC,MAAM;wBACvB,YAAY,EAAE,WAAW;qBAC1B,CAAC,CAAC;oBACH,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;oBACtD,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,4DAA4D;gBAC5D,4DAA4D;gBAC5D,IAAI,CAAC,wBAAwB,GAAG,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oEAAoE,EAAE;oBACrF,KAAK,EAAE,gBAAgB;oBACvB,QAAQ;oBACR,iBAAiB,EAAE,KAAK,CAAC,WAAW;oBACpC,SAAS,EAAE,KAAK,CAAC,MAAM;oBACvB,YAAY,EAAE,WAAW;oBACzB,SAAS,EAAE,yBAAyB;iBACrC,CAAC,CAAC;gBACH,8DAA8D;gBAC9D,4DAA4D;gBAC5D,8DAA8D;gBAC9D,6DAA6D;gBAC7D,+DAA+D;gBAC/D,sCAAsC;gBACtC,IAAI,CAAC,wBAAwB,GAAG,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,+DAA+D;YAC/D,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE;YACxC,KAAK,EAAE,gBAAgB;YACvB,QAAQ;YACR,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;gBAC7B,MAAM,cAAc,GAAG,mBAAmB,CAAC,WAAW,EAAE,CAAC;gBACzD,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBAClD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8CAA8C,EAAE;wBAC/D,KAAK,EAAE,gBAAgB;qBACxB,CAAC,CAAC;oBACH,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,OAAO,MAAM,cAAc,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;YAC/D,CAAC;iBAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBAChC,2EAA2E;gBAC3E,kFAAkF;gBAClF,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;gBAEpC,2DAA2D;gBAC3D,oEAAoE;gBACpE,iEAAiE;gBACjE,qBAAqB;gBACrB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;gBAC7D,IAAI,GAAG,GAAG,oBAAoB,IAAI,0BAA0B,CAAC;gBAC7D,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;oBACvB,GAAG,GAAG,oBAAoB,IAAI,cAAc,MAAM,YAAY,QAAQ,QAAQ,CAAC;gBACjF,CAAC;gBAED,gEAAgE;gBAChE,iEAAiE;gBACjE,+DAA+D;gBAC/D,kEAAkE;gBAClE,iEAAiE;gBACjE,8DAA8D;gBAC9D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;oBAChC,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;oBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;iBACvF,CAAC,CAAC;gBAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;oBACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE;wBAC1C,KAAK,EAAE,gBAAgB;wBACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;wBACvB,KAAK,EAAE,SAAS;qBACjB,CAAC,CAAC;oBACH,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE;oBAChD,KAAK,EAAE,gBAAgB;iBACxB,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;gBACjF,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE;gBACtC,KAAK,EAAE,gBAAgB;gBACvB,QAAQ;gBACR,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,kBAAkB;QACtB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;YAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1C,MAAM,YAAY,GAAG,iBAAiB,CAAC,WAAW,EAAE,CAAC;YACrD,MAAM,YAAY,GAAG,YAAY,CAAC,kBAAkB,EAAE,CAAC;YAEvD,mDAAmD;YACnD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAEpE,IAAI,OAAO,GAAG,CAAC,CAAC;YAChB,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;gBAC1B,qDAAqD;gBACrD,IAAI,EAAE,CAAC,MAAM,KAAK,MAAM,IAAI,EAAE,CAAC,MAAM,KAAK,QAAQ;oBAAE,SAAS;gBAC7D,IAAI,CAAC,EAAE,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC;oBAAE,SAAS;gBACtE,IAAI,CAAC,EAAE,CAAC,MAAM;oBAAE,SAAS;gBAEzB,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;gBACtC,IAAI,CAAC,KAAK;oBAAE,SAAS;gBAErB,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC;gBACzC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC;gBAC3C,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;gBAElC,IAAI,UAAU,GAAG,CAAC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;oBACtC,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;oBACvE,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC;YAED,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAC/E,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE;gBACrD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YACH,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,kBAAkB;IAClB,4EAA4E;IAE5E;;;;;OAKG;IACK,cAAc,CACpB,WAAmB;QAEnB,QAAQ,WAAW,EAAE,CAAC;YACpB,KAAK,QAAQ;gBACX,OAAO,QAAQ,CAAC;YAClB,KAAK,UAAU,CAAC;YAChB,KAAK,SAAS,CAAC;YACf,KAAK,YAAY;gBACf,OAAO,SAAS,CAAC;YACnB,KAAK,UAAU;gBACb,OAAO,UAAU,CAAC;YACpB,KAAK,WAAW;gBACd,OAAO,WAAW,CAAC;YACrB;gBACE,OAAO,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"reconciler-data-provider.js","sourceRoot":"","sources":["../../../../../../backend/src/services/reconciler/reconciler-data-provider.ts"],"names":[],"mappings":"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"}