crewly 1.20.202 → 1.20.203
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/dist/backend/backend/src/constants.d.ts +98 -0
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +98 -0
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/chat/chat.controller.js +10 -1
- package/dist/backend/backend/src/controllers/chat/chat.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js +28 -1
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/session/session.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/session/session.controller.js +7 -0
- package/dist/backend/backend/src/controllers/session/session.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js +4 -1
- package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts +28 -0
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +132 -34
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.js +7 -0
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js +11 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/fresh-task-conversation.service.d.ts +22 -0
- package/dist/backend/backend/src/services/agent/fresh-task-conversation.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/fresh-task-conversation.service.js +39 -3
- package/dist/backend/backend/src/services/agent/fresh-task-conversation.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/in-process-turn-failure.service.d.ts +140 -0
- package/dist/backend/backend/src/services/agent/in-process-turn-failure.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/in-process-turn-failure.service.js +267 -0
- package/dist/backend/backend/src/services/agent/in-process-turn-failure.service.js.map +1 -0
- package/dist/backend/backend/src/services/decisions/decision.service.d.ts +17 -0
- package/dist/backend/backend/src/services/decisions/decision.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/decisions/decision.service.js +27 -2
- package/dist/backend/backend/src/services/decisions/decision.service.js.map +1 -1
- package/dist/backend/backend/src/services/decisions/decision.wiring.d.ts +2 -0
- package/dist/backend/backend/src/services/decisions/decision.wiring.d.ts.map +1 -1
- package/dist/backend/backend/src/services/decisions/decision.wiring.js +1 -0
- package/dist/backend/backend/src/services/decisions/decision.wiring.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/drain-queued-delivery.d.ts +59 -0
- package/dist/backend/backend/src/services/messaging/drain-queued-delivery.d.ts.map +1 -0
- package/dist/backend/backend/src/services/messaging/drain-queued-delivery.js +70 -0
- package/dist/backend/backend/src/services/messaging/drain-queued-delivery.js.map +1 -0
- package/dist/backend/backend/src/services/messaging/owner-message-watchdog.service.d.ts +46 -1
- package/dist/backend/backend/src/services/messaging/owner-message-watchdog.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/owner-message-watchdog.service.js +109 -0
- package/dist/backend/backend/src/services/messaging/owner-message-watchdog.service.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/owner-message-watchdog.wiring.d.ts +2 -0
- package/dist/backend/backend/src/services/messaging/owner-message-watchdog.wiring.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/owner-message-watchdog.wiring.js +6 -0
- package/dist/backend/backend/src/services/messaging/owner-message-watchdog.wiring.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.d.ts +30 -1
- package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.js +28 -3
- package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.js.map +1 -1
- package/dist/backend/backend/src/services/monitoring/liveness-monitor.service.d.ts +142 -0
- package/dist/backend/backend/src/services/monitoring/liveness-monitor.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/monitoring/liveness-monitor.service.js +231 -0
- package/dist/backend/backend/src/services/monitoring/liveness-monitor.service.js.map +1 -0
- package/dist/backend/backend/src/services/open-items/open-items.service.d.ts +21 -0
- package/dist/backend/backend/src/services/open-items/open-items.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/open-items/open-items.service.js +72 -3
- package/dist/backend/backend/src/services/open-items/open-items.service.js.map +1 -1
- package/dist/backend/backend/src/services/orc/orc-chat-owner-mirror.d.ts +106 -0
- package/dist/backend/backend/src/services/orc/orc-chat-owner-mirror.d.ts.map +1 -0
- package/dist/backend/backend/src/services/orc/orc-chat-owner-mirror.js +199 -0
- package/dist/backend/backend/src/services/orc/orc-chat-owner-mirror.js.map +1 -0
- package/dist/backend/backend/src/services/slack/slack-agent-dm.service.d.ts +11 -2
- package/dist/backend/backend/src/services/slack/slack-agent-dm.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-agent-dm.service.js +22 -1
- package/dist/backend/backend/src/services/slack/slack-agent-dm.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-initializer.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-initializer.js +30 -2
- package/dist/backend/backend/src/services/slack/slack-initializer.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-relogin-dm.service.d.ts +8 -2
- package/dist/backend/backend/src/services/slack/slack-relogin-dm.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-relogin-dm.service.js +7 -4
- package/dist/backend/backend/src/services/slack/slack-relogin-dm.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts +41 -0
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.js +394 -231
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.d.ts +21 -5
- package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.js +21 -8
- package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.js.map +1 -1
- package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts +1 -0
- package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/task-pool/task-pool.service.js +8 -3
- package/dist/backend/backend/src/services/task-pool/task-pool.service.js.map +1 -1
- package/dist/backend/build-info.json +2 -2
- package/dist/cli/backend/src/constants.d.ts +98 -0
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +98 -0
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/agent/agent-registration.service.js +7 -0
- package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/cli/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js +11 -0
- package/dist/cli/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js.map +1 -1
- package/dist/cli/backend/src/services/agent/fresh-task-conversation.service.d.ts +22 -0
- package/dist/cli/backend/src/services/agent/fresh-task-conversation.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/agent/fresh-task-conversation.service.js +39 -3
- package/dist/cli/backend/src/services/agent/fresh-task-conversation.service.js.map +1 -1
- package/dist/cli/backend/src/services/agent/in-process-turn-failure.service.d.ts +140 -0
- package/dist/cli/backend/src/services/agent/in-process-turn-failure.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/in-process-turn-failure.service.js +267 -0
- package/dist/cli/backend/src/services/agent/in-process-turn-failure.service.js.map +1 -0
- package/dist/cli/backend/src/services/decisions/decision.service.d.ts +17 -0
- package/dist/cli/backend/src/services/decisions/decision.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/decisions/decision.service.js +27 -2
- package/dist/cli/backend/src/services/decisions/decision.service.js.map +1 -1
- package/dist/cli/backend/src/services/messaging/owner-message-watchdog.service.d.ts +46 -1
- package/dist/cli/backend/src/services/messaging/owner-message-watchdog.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/messaging/owner-message-watchdog.service.js +109 -0
- package/dist/cli/backend/src/services/messaging/owner-message-watchdog.service.js.map +1 -1
- package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.d.ts +30 -1
- package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.js +28 -3
- package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.js.map +1 -1
- package/dist/cli/backend/src/services/open-items/open-items.service.d.ts +21 -0
- package/dist/cli/backend/src/services/open-items/open-items.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/open-items/open-items.service.js +72 -3
- package/dist/cli/backend/src/services/open-items/open-items.service.js.map +1 -1
- package/dist/cli/backend/src/services/runtime-fallback/reset-time.d.ts +66 -0
- package/dist/cli/backend/src/services/runtime-fallback/reset-time.d.ts.map +1 -0
- package/dist/cli/backend/src/services/runtime-fallback/reset-time.js +211 -0
- package/dist/cli/backend/src/services/runtime-fallback/reset-time.js.map +1 -0
- package/dist/cli/backend/src/services/runtime-fallback/usage-limit-rules.d.ts +113 -0
- package/dist/cli/backend/src/services/runtime-fallback/usage-limit-rules.d.ts.map +1 -0
- package/dist/cli/backend/src/services/runtime-fallback/usage-limit-rules.js +257 -0
- package/dist/cli/backend/src/services/runtime-fallback/usage-limit-rules.js.map +1 -0
- package/dist/cli/backend/src/services/slack/slack-agent-dm.service.d.ts +11 -2
- package/dist/cli/backend/src/services/slack/slack-agent-dm.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-agent-dm.service.js +22 -1
- package/dist/cli/backend/src/services/slack/slack-agent-dm.service.js.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts +41 -0
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.js +394 -231
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.d.ts +21 -5
- package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.js +21 -8
- package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.js.map +1 -1
- package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts +1 -0
- package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/task-pool/task-pool.service.js +8 -3
- package/dist/cli/backend/src/services/task-pool/task-pool.service.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Usage-limit rules — per-runtime patterns that mean "this runtime's account
|
|
3
|
+
* is out of usage", as opposed to a login that expired (login-expiry-rules.ts,
|
|
4
|
+
* the re-login flow) or a short rate limit the runtime retries by itself.
|
|
5
|
+
*
|
|
6
|
+
* Modelled on login-expiry-rules.ts: output is normalized with
|
|
7
|
+
* {@link normalizeTerminalOutput} and every pattern is matched against the
|
|
8
|
+
* normalized text and its spaceless copy (Claude Code places words with
|
|
9
|
+
* cursor moves instead of spaces), so patterns use `\s*` between words.
|
|
10
|
+
*
|
|
11
|
+
* Wording sources:
|
|
12
|
+
* - Claude Code 2.1.287 binary (`strings`, 2026-10-01): `Usage limit
|
|
13
|
+
* reached`, `Usage limit reached again`, `continuing automatically {when}`,
|
|
14
|
+
* `You're out of extra usage`, `You're out of usage credits`, `You've hit
|
|
15
|
+
* your monthly spend limit`, ` resets $…`, `/upgrade to increase your usage
|
|
16
|
+
* limit.`, the API's `billing_error` "spend limit reached (daily; resets …)",
|
|
17
|
+
* and its own note that the client composes "You've hit your limit" from a
|
|
18
|
+
* 429. Older releases print `5-hour limit reached ∙ resets 3pm`, `Claude
|
|
19
|
+
* usage limit reached. Your limit will reset at 3pm (America/Los_Angeles).`
|
|
20
|
+
* and `Claude AI usage limit reached|<epoch>`.
|
|
21
|
+
* - Codex: `You've hit your usage limit. Upgrade to Pro (…) or try again in
|
|
22
|
+
* 4 days 7 hours 3 minutes.` / `… try again at 4:05 PM.`; transient:
|
|
23
|
+
* `exceeded retry limit, last status: 429 Too Many Requests`.
|
|
24
|
+
* - Gemini / Antigravity: `RESOURCE_EXHAUSTED` with `Quota exceeded for quota
|
|
25
|
+
* metric '… per day'`, `You exceeded your current quota`, `You have
|
|
26
|
+
* exhausted your daily quota`; a bare 429 / RESOURCE_EXHAUSTED is transient.
|
|
27
|
+
* - DeepSeek (the in-process Crewly Agent): HTTP 402 `Insufficient Balance`
|
|
28
|
+
* is a `billing` limit (no reset; the owner must top up); HTTP 429 `Rate Limit Reached` is transient.
|
|
29
|
+
*
|
|
30
|
+
* Context requirements keep an agent that merely reads or quotes this kind of
|
|
31
|
+
* text (for example while working on this file) from tripping a rule: the
|
|
32
|
+
* Claude UI rules need the `·` / `∙` separator, a reset time or a slash
|
|
33
|
+
* command next to the message; API rules need the API error context.
|
|
34
|
+
* Warnings that the limit is near ("Approaching usage limit", "You've used
|
|
35
|
+
* 90% of your session limit") are deliberately not matched.
|
|
36
|
+
*
|
|
37
|
+
* @module services/runtime-fallback/usage-limit-rules
|
|
38
|
+
*/
|
|
39
|
+
/**
|
|
40
|
+
* `usage_limit`: the account is out of usage until a window resets;
|
|
41
|
+
* `billing`: the account is out of money / credit (DeepSeek 402 "Insufficient
|
|
42
|
+
* Balance", "credit balance is too low") — it has no reset time and only
|
|
43
|
+
* comes back when the owner tops up, so it is never retried on a timer;
|
|
44
|
+
* `transient`: a short rate limit the runtime retries.
|
|
45
|
+
*/
|
|
46
|
+
export type UsageLimitKind = 'usage_limit' | 'billing' | 'transient';
|
|
47
|
+
/**
|
|
48
|
+
* Whether a kind means the runtime cannot be used (as opposed to a transient
|
|
49
|
+
* rate limit).
|
|
50
|
+
*
|
|
51
|
+
* @param kind - Match kind
|
|
52
|
+
* @returns True for `usage_limit` and `billing`
|
|
53
|
+
*/
|
|
54
|
+
export declare function isExhaustingKind(kind: UsageLimitKind): boolean;
|
|
55
|
+
/** One rule: every pattern must match (AND); `none` must not match. */
|
|
56
|
+
export interface UsageLimitRule {
|
|
57
|
+
/** Stable id, used in logs (never contains output) */
|
|
58
|
+
id: string;
|
|
59
|
+
/** Runtime type the rule belongs to */
|
|
60
|
+
runtime: string;
|
|
61
|
+
kind: UsageLimitKind;
|
|
62
|
+
/** All must match the normalized text or its spaceless copy */
|
|
63
|
+
all: readonly RegExp[];
|
|
64
|
+
/** None of these may match (e.g. a warning, not the limit itself) */
|
|
65
|
+
none?: readonly RegExp[];
|
|
66
|
+
}
|
|
67
|
+
/** What {@link detectUsageLimit} found. */
|
|
68
|
+
export interface UsageLimitMatch {
|
|
69
|
+
/** Runtime the rule belongs to */
|
|
70
|
+
runtime: string;
|
|
71
|
+
ruleId: string;
|
|
72
|
+
kind: UsageLimitKind;
|
|
73
|
+
/** When the limit lifts (epoch ms), when the message says so */
|
|
74
|
+
resetAt: number | null;
|
|
75
|
+
}
|
|
76
|
+
/** Claude Code rules (usage limits first, then transient). */
|
|
77
|
+
export declare const CLAUDE_USAGE_RULES: readonly UsageLimitRule[];
|
|
78
|
+
/** Codex rules. */
|
|
79
|
+
export declare const CODEX_USAGE_RULES: readonly UsageLimitRule[];
|
|
80
|
+
/** Antigravity CLI rules. */
|
|
81
|
+
export declare const ANTIGRAVITY_USAGE_RULES: readonly UsageLimitRule[];
|
|
82
|
+
/** Gemini CLI rules (retired runtime, detect only). */
|
|
83
|
+
export declare const GEMINI_USAGE_RULES: readonly UsageLimitRule[];
|
|
84
|
+
/**
|
|
85
|
+
* In-process Crewly Agent rules. These run on the error of a failed model
|
|
86
|
+
* call (never on text the model wrote), so they need no UI context.
|
|
87
|
+
*/
|
|
88
|
+
export declare const CREWLY_AGENT_USAGE_RULES: readonly UsageLimitRule[];
|
|
89
|
+
/**
|
|
90
|
+
* Usage-limit rules for a runtime.
|
|
91
|
+
*
|
|
92
|
+
* @param runtime - Runtime type
|
|
93
|
+
* @returns Rules to try (empty for a runtime without rules)
|
|
94
|
+
*/
|
|
95
|
+
export declare function getUsageLimitRules(runtime: string): readonly UsageLimitRule[];
|
|
96
|
+
/**
|
|
97
|
+
* Find a usage-limit (or transient rate-limit) message in a runtime's output.
|
|
98
|
+
* An expired login is never reported here — that is the re-login flow's.
|
|
99
|
+
*
|
|
100
|
+
* @param output - Raw PTY output (escape sequences allowed), captured screen, or an error message
|
|
101
|
+
* @param runtime - The runtime the output came from
|
|
102
|
+
* @param now - Current time (ms), for the reset time
|
|
103
|
+
* @param defaultTimeZone - Zone for reset clock times that name none
|
|
104
|
+
* @returns The match, or null
|
|
105
|
+
*
|
|
106
|
+
* @example
|
|
107
|
+
* ```ts
|
|
108
|
+
* detectUsageLimit("You've hit your limit · resets 3pm (America/Los_Angeles)", 'claude-code');
|
|
109
|
+
* // { runtime: 'claude-code', ruleId: 'claude.hit_your_limit', kind: 'usage_limit', resetAt: <next 3pm LA> }
|
|
110
|
+
* ```
|
|
111
|
+
*/
|
|
112
|
+
export declare function detectUsageLimit(output: string, runtime: string, now?: number, defaultTimeZone?: string): UsageLimitMatch | null;
|
|
113
|
+
//# sourceMappingURL=usage-limit-rules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage-limit-rules.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/runtime-fallback/usage-limit-rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAOH;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,SAAS,GAAG,WAAW,CAAC;AAErE;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAE9D;AAED,uEAAuE;AACvE,MAAM,WAAW,cAAc;IAC9B,sDAAsD;IACtD,EAAE,EAAE,MAAM,CAAC;IACX,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,cAAc,CAAC;IACrB,+DAA+D;IAC/D,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;IACvB,qEAAqE;IACrE,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACzB;AAED,2CAA2C;AAC3C,MAAM,WAAW,eAAe;IAC/B,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,cAAc,CAAC;IACrB,gEAAgE;IAChE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AASD,8DAA8D;AAC9D,eAAO,MAAM,kBAAkB,EAAE,SAAS,cAAc,EAuDvD,CAAC;AAEF,mBAAmB;AACnB,eAAO,MAAM,iBAAiB,EAAE,SAAS,cAAc,EAmBtD,CAAC;AAoBF,6BAA6B;AAC7B,eAAO,MAAM,uBAAuB,EAAE,SAAS,cAAc,EAA8D,CAAC;AAE5H,uDAAuD;AACvD,eAAO,MAAM,kBAAkB,EAAE,SAAS,cAAc,EAAoD,CAAC;AAE7G;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,cAAc,EAyB7D,CAAC;AAWF;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,cAAc,EAAE,CAE7E;AAcD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,MAAmB,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAoB5I"}
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Usage-limit rules — per-runtime patterns that mean "this runtime's account
|
|
3
|
+
* is out of usage", as opposed to a login that expired (login-expiry-rules.ts,
|
|
4
|
+
* the re-login flow) or a short rate limit the runtime retries by itself.
|
|
5
|
+
*
|
|
6
|
+
* Modelled on login-expiry-rules.ts: output is normalized with
|
|
7
|
+
* {@link normalizeTerminalOutput} and every pattern is matched against the
|
|
8
|
+
* normalized text and its spaceless copy (Claude Code places words with
|
|
9
|
+
* cursor moves instead of spaces), so patterns use `\s*` between words.
|
|
10
|
+
*
|
|
11
|
+
* Wording sources:
|
|
12
|
+
* - Claude Code 2.1.287 binary (`strings`, 2026-10-01): `Usage limit
|
|
13
|
+
* reached`, `Usage limit reached again`, `continuing automatically {when}`,
|
|
14
|
+
* `You're out of extra usage`, `You're out of usage credits`, `You've hit
|
|
15
|
+
* your monthly spend limit`, ` resets $…`, `/upgrade to increase your usage
|
|
16
|
+
* limit.`, the API's `billing_error` "spend limit reached (daily; resets …)",
|
|
17
|
+
* and its own note that the client composes "You've hit your limit" from a
|
|
18
|
+
* 429. Older releases print `5-hour limit reached ∙ resets 3pm`, `Claude
|
|
19
|
+
* usage limit reached. Your limit will reset at 3pm (America/Los_Angeles).`
|
|
20
|
+
* and `Claude AI usage limit reached|<epoch>`.
|
|
21
|
+
* - Codex: `You've hit your usage limit. Upgrade to Pro (…) or try again in
|
|
22
|
+
* 4 days 7 hours 3 minutes.` / `… try again at 4:05 PM.`; transient:
|
|
23
|
+
* `exceeded retry limit, last status: 429 Too Many Requests`.
|
|
24
|
+
* - Gemini / Antigravity: `RESOURCE_EXHAUSTED` with `Quota exceeded for quota
|
|
25
|
+
* metric '… per day'`, `You exceeded your current quota`, `You have
|
|
26
|
+
* exhausted your daily quota`; a bare 429 / RESOURCE_EXHAUSTED is transient.
|
|
27
|
+
* - DeepSeek (the in-process Crewly Agent): HTTP 402 `Insufficient Balance`
|
|
28
|
+
* is a `billing` limit (no reset; the owner must top up); HTTP 429 `Rate Limit Reached` is transient.
|
|
29
|
+
*
|
|
30
|
+
* Context requirements keep an agent that merely reads or quotes this kind of
|
|
31
|
+
* text (for example while working on this file) from tripping a rule: the
|
|
32
|
+
* Claude UI rules need the `·` / `∙` separator, a reset time or a slash
|
|
33
|
+
* command next to the message; API rules need the API error context.
|
|
34
|
+
* Warnings that the limit is near ("Approaching usage limit", "You've used
|
|
35
|
+
* 90% of your session limit") are deliberately not matched.
|
|
36
|
+
*
|
|
37
|
+
* @module services/runtime-fallback/usage-limit-rules
|
|
38
|
+
*/
|
|
39
|
+
import { RUNTIME_TYPES } from '../../constants.js';
|
|
40
|
+
import { normalizeTerminalOutput } from '../harness/login-rules.js';
|
|
41
|
+
import { detectLoginExpiry } from '../harness/login-expiry-rules.js';
|
|
42
|
+
import { parseResetTime } from './reset-time.js';
|
|
43
|
+
/**
|
|
44
|
+
* Whether a kind means the runtime cannot be used (as opposed to a transient
|
|
45
|
+
* rate limit).
|
|
46
|
+
*
|
|
47
|
+
* @param kind - Match kind
|
|
48
|
+
* @returns True for `usage_limit` and `billing`
|
|
49
|
+
*/
|
|
50
|
+
export function isExhaustingKind(kind) {
|
|
51
|
+
return kind === 'usage_limit' || kind === 'billing';
|
|
52
|
+
}
|
|
53
|
+
/** Claude UI context: the separator, a reset time, or a Claude slash command. */
|
|
54
|
+
const CLAUDE_UI_CONTEXT = /[·∙•]|\bresets?\b|reset\s*at|continuing\s*automatically|\/(?:upgrade|extra-usage|usage-credits|rate-limit-options|model)\b|\|\s*\d{10}\b/i;
|
|
55
|
+
/** API error context for Claude: a 429 / billing error. */
|
|
56
|
+
const CLAUDE_API_429 = /\b429\b|rate_limit_error|billing_error/i;
|
|
57
|
+
/** Wording that means "usage", not a per-minute rate. */
|
|
58
|
+
const USAGE_WORDING = /usage\s*limit|limit\s*reached|hit\s*your\s*(?:[\w-]+\s*)?limit|spend\s*limit|quota|limit\s*will\s*reset|\bresets?\b|out\s*of\s*(?:extra\s*)?usage/i;
|
|
59
|
+
/** Claude Code rules (usage limits first, then transient). */
|
|
60
|
+
export const CLAUDE_USAGE_RULES = [
|
|
61
|
+
{
|
|
62
|
+
id: 'claude.api_usage_429',
|
|
63
|
+
runtime: RUNTIME_TYPES.CLAUDE_CODE,
|
|
64
|
+
kind: 'usage_limit',
|
|
65
|
+
all: [/API\s*Error|"type"\s*:\s*"error"/i, CLAUDE_API_429, USAGE_WORDING],
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
id: 'claude.api_credit_balance',
|
|
69
|
+
runtime: RUNTIME_TYPES.CLAUDE_CODE,
|
|
70
|
+
kind: 'billing',
|
|
71
|
+
all: [/API\s*Error|"type"\s*:\s*"error"/i, /credit\s*balance\s*(?:is\s*)?too\s*low/i],
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
id: 'claude.legacy_limit_reached',
|
|
75
|
+
runtime: RUNTIME_TYPES.CLAUDE_CODE,
|
|
76
|
+
kind: 'usage_limit',
|
|
77
|
+
all: [/Claude\s*(?:AI\s*)?usage\s*limit\s*reached\s*(?:\|\s*\d{10}|\.\s*Your\s*limit\s*will\s*reset)/i],
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
id: 'claude.hit_your_limit',
|
|
81
|
+
runtime: RUNTIME_TYPES.CLAUDE_CODE,
|
|
82
|
+
kind: 'usage_limit',
|
|
83
|
+
all: [/You['’]ve\s*hit\s*your\s*(?:[\w-]+\s*){0,3}limit/i, CLAUDE_UI_CONTEXT],
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
id: 'claude.usage_limit_reached',
|
|
87
|
+
runtime: RUNTIME_TYPES.CLAUDE_CODE,
|
|
88
|
+
kind: 'usage_limit',
|
|
89
|
+
all: [/usage\s*(?:credit\s*)?limit\s*reached/i, CLAUDE_UI_CONTEXT],
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
id: 'claude.window_limit_reached',
|
|
93
|
+
runtime: RUNTIME_TYPES.CLAUDE_CODE,
|
|
94
|
+
kind: 'usage_limit',
|
|
95
|
+
all: [/(?:5-hour|five-hour|weekly|session|daily|Opus|Sonnet|Fable)\s*limit\s*reached/i, CLAUDE_UI_CONTEXT],
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
id: 'claude.out_of_usage',
|
|
99
|
+
runtime: RUNTIME_TYPES.CLAUDE_CODE,
|
|
100
|
+
kind: 'usage_limit',
|
|
101
|
+
all: [/You['’]re\s*out\s*of\s*(?:extra\s*usage|usage\s*credits)/i, CLAUDE_UI_CONTEXT],
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
id: 'claude.api_rate_limited',
|
|
105
|
+
runtime: RUNTIME_TYPES.CLAUDE_CODE,
|
|
106
|
+
kind: 'transient',
|
|
107
|
+
all: [/API\s*Error/i, /\b429\b|rate_limit_error/i],
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
id: 'claude.api_overloaded',
|
|
111
|
+
runtime: RUNTIME_TYPES.CLAUDE_CODE,
|
|
112
|
+
kind: 'transient',
|
|
113
|
+
all: [/API\s*Error/i, /\b529\b|overloaded_error/i],
|
|
114
|
+
},
|
|
115
|
+
];
|
|
116
|
+
/** Codex rules. */
|
|
117
|
+
export const CODEX_USAGE_RULES = [
|
|
118
|
+
{
|
|
119
|
+
id: 'codex.usage_limit',
|
|
120
|
+
runtime: RUNTIME_TYPES.CODEX_CLI,
|
|
121
|
+
kind: 'usage_limit',
|
|
122
|
+
all: [/You['’]ve\s*hit\s*your\s*usage\s*limit/i, /try\s*again|upgrade|resets?/i],
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
id: 'codex.quota_exceeded',
|
|
126
|
+
runtime: RUNTIME_TYPES.CODEX_CLI,
|
|
127
|
+
kind: 'billing',
|
|
128
|
+
all: [/insufficient_quota|exceeded\s*your\s*current\s*quota/i],
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
id: 'codex.rate_limited',
|
|
132
|
+
runtime: RUNTIME_TYPES.CODEX_CLI,
|
|
133
|
+
kind: 'transient',
|
|
134
|
+
all: [/\b429\b\s*Too\s*Many\s*Requests|exceeded\s*retry\s*limit|rate\s*limit\s*reached\s*for/i],
|
|
135
|
+
},
|
|
136
|
+
];
|
|
137
|
+
/** Gemini quota rules, shared by Antigravity CLI and Gemini CLI. */
|
|
138
|
+
function geminiRules(runtime, prefix) {
|
|
139
|
+
return [
|
|
140
|
+
{
|
|
141
|
+
id: `${prefix}.quota_exceeded`,
|
|
142
|
+
runtime,
|
|
143
|
+
kind: 'usage_limit',
|
|
144
|
+
all: [/exceeded\s*your\s*current\s*quota|exhausted\s*your\s*(?:daily\s*)?quota|quota\s*exceeded\s*for\s*quota\s*metric[^\n]*per\s*day|daily\s*(?:quota|limit)\s*(?:exceeded|reached)/i],
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
id: `${prefix}.rate_limited`,
|
|
148
|
+
runtime,
|
|
149
|
+
kind: 'transient',
|
|
150
|
+
all: [/RESOURCE_EXHAUSTED|\b429\b\s*Too\s*Many\s*Requests|status\s*(?:code\s*)?:?\s*429|Resource\s*has\s*been\s*exhausted/i],
|
|
151
|
+
},
|
|
152
|
+
];
|
|
153
|
+
}
|
|
154
|
+
/** Antigravity CLI rules. */
|
|
155
|
+
export const ANTIGRAVITY_USAGE_RULES = geminiRules(RUNTIME_TYPES.ANTIGRAVITY_CLI, 'antigravity');
|
|
156
|
+
/** Gemini CLI rules (retired runtime, detect only). */
|
|
157
|
+
export const GEMINI_USAGE_RULES = geminiRules(RUNTIME_TYPES.GEMINI_CLI, 'gemini');
|
|
158
|
+
/**
|
|
159
|
+
* In-process Crewly Agent rules. These run on the error of a failed model
|
|
160
|
+
* call (never on text the model wrote), so they need no UI context.
|
|
161
|
+
*/
|
|
162
|
+
export const CREWLY_AGENT_USAGE_RULES = [
|
|
163
|
+
{
|
|
164
|
+
id: 'crewly-agent.insufficient_balance',
|
|
165
|
+
runtime: RUNTIME_TYPES.CREWLY_AGENT,
|
|
166
|
+
kind: 'billing',
|
|
167
|
+
all: [/Insufficient\s*Balance|\b402\b[^\n]*(?:Payment\s*Required|balance)/i],
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
id: 'crewly-agent.out_of_credit',
|
|
171
|
+
runtime: RUNTIME_TYPES.CREWLY_AGENT,
|
|
172
|
+
kind: 'billing',
|
|
173
|
+
all: [/insufficient_quota|credit\s*balance\s*(?:is\s*)?too\s*low/i],
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
id: 'crewly-agent.quota_exceeded',
|
|
177
|
+
runtime: RUNTIME_TYPES.CREWLY_AGENT,
|
|
178
|
+
kind: 'usage_limit',
|
|
179
|
+
all: [/exceeded\s*your\s*current\s*quota|exhausted\s*your\s*(?:daily\s*)?quota|usage\s*limit\s*reached/i],
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
id: 'crewly-agent.rate_limited',
|
|
183
|
+
runtime: RUNTIME_TYPES.CREWLY_AGENT,
|
|
184
|
+
kind: 'transient',
|
|
185
|
+
all: [/statusCode:?\s*429\b|status\s*(?:code\s*)?:?\s*429\b|\b429\s*Too\s*Many|Rate\s*Limit\s*Reached|Too\s*Many\s*Requests|RESOURCE_EXHAUSTED|overloaded_error|\bOverloaded\b/i],
|
|
186
|
+
},
|
|
187
|
+
];
|
|
188
|
+
/** Rules by runtime. */
|
|
189
|
+
const RULES_BY_RUNTIME = {
|
|
190
|
+
[RUNTIME_TYPES.CLAUDE_CODE]: CLAUDE_USAGE_RULES,
|
|
191
|
+
[RUNTIME_TYPES.CODEX_CLI]: CODEX_USAGE_RULES,
|
|
192
|
+
[RUNTIME_TYPES.ANTIGRAVITY_CLI]: ANTIGRAVITY_USAGE_RULES,
|
|
193
|
+
[RUNTIME_TYPES.GEMINI_CLI]: GEMINI_USAGE_RULES,
|
|
194
|
+
[RUNTIME_TYPES.CREWLY_AGENT]: CREWLY_AGENT_USAGE_RULES,
|
|
195
|
+
};
|
|
196
|
+
/**
|
|
197
|
+
* Usage-limit rules for a runtime.
|
|
198
|
+
*
|
|
199
|
+
* @param runtime - Runtime type
|
|
200
|
+
* @returns Rules to try (empty for a runtime without rules)
|
|
201
|
+
*/
|
|
202
|
+
export function getUsageLimitRules(runtime) {
|
|
203
|
+
return RULES_BY_RUNTIME[runtime] ?? [];
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Whether a pattern matches the normalized text or its spaceless copy.
|
|
207
|
+
*
|
|
208
|
+
* @param pattern - Pattern
|
|
209
|
+
* @param screen - Normalized screen
|
|
210
|
+
* @returns True on a match
|
|
211
|
+
*/
|
|
212
|
+
function matches(pattern, screen) {
|
|
213
|
+
const nonGlobal = new RegExp(pattern.source, pattern.flags.replace('g', ''));
|
|
214
|
+
return nonGlobal.test(screen.text) || nonGlobal.test(screen.spaceless);
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Find a usage-limit (or transient rate-limit) message in a runtime's output.
|
|
218
|
+
* An expired login is never reported here — that is the re-login flow's.
|
|
219
|
+
*
|
|
220
|
+
* @param output - Raw PTY output (escape sequences allowed), captured screen, or an error message
|
|
221
|
+
* @param runtime - The runtime the output came from
|
|
222
|
+
* @param now - Current time (ms), for the reset time
|
|
223
|
+
* @param defaultTimeZone - Zone for reset clock times that name none
|
|
224
|
+
* @returns The match, or null
|
|
225
|
+
*
|
|
226
|
+
* @example
|
|
227
|
+
* ```ts
|
|
228
|
+
* detectUsageLimit("You've hit your limit · resets 3pm (America/Los_Angeles)", 'claude-code');
|
|
229
|
+
* // { runtime: 'claude-code', ruleId: 'claude.hit_your_limit', kind: 'usage_limit', resetAt: <next 3pm LA> }
|
|
230
|
+
* ```
|
|
231
|
+
*/
|
|
232
|
+
export function detectUsageLimit(output, runtime, now = Date.now(), defaultTimeZone) {
|
|
233
|
+
if (!output)
|
|
234
|
+
return null;
|
|
235
|
+
const rules = getUsageLimitRules(runtime);
|
|
236
|
+
if (rules.length === 0)
|
|
237
|
+
return null;
|
|
238
|
+
if (detectLoginExpiry(output, runtime === RUNTIME_TYPES.CLAUDE_CODE || runtime === RUNTIME_TYPES.CODEX_CLI ? runtime : null)) {
|
|
239
|
+
return null;
|
|
240
|
+
}
|
|
241
|
+
const screen = normalizeTerminalOutput(output);
|
|
242
|
+
for (const rule of rules) {
|
|
243
|
+
if (!rule.all.every((pattern) => matches(pattern, screen)))
|
|
244
|
+
continue;
|
|
245
|
+
if (rule.none?.some((pattern) => matches(pattern, screen)))
|
|
246
|
+
continue;
|
|
247
|
+
return {
|
|
248
|
+
runtime: rule.runtime,
|
|
249
|
+
ruleId: rule.id,
|
|
250
|
+
kind: rule.kind,
|
|
251
|
+
// A billing limit has no reset time: it lifts when the owner tops up.
|
|
252
|
+
resetAt: rule.kind === 'usage_limit' ? parseResetTime(screen.text, now, defaultTimeZone) : null,
|
|
253
|
+
};
|
|
254
|
+
}
|
|
255
|
+
return null;
|
|
256
|
+
}
|
|
257
|
+
//# sourceMappingURL=usage-limit-rules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage-limit-rules.js","sourceRoot":"","sources":["../../../../../../backend/src/services/runtime-fallback/usage-limit-rules.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,6 +65,14 @@ export interface SlackAgentDmServiceDeps {
|
|
|
65
65
|
isAgentAwake?: (agentSession: string) => boolean;
|
|
66
66
|
/** Slack user id of the owner, when known — only the owner's DMs file tickets. */
|
|
67
67
|
getOwnerUserId?: () => string | null;
|
|
68
|
+
/**
|
|
69
|
+
* The Slack thread the agent's current turn came from — for the whole
|
|
70
|
+
* turn, however long it runs; undefined when unknown. crewly#1015 §8.
|
|
71
|
+
*/
|
|
72
|
+
turnOriginThread?: (agentSession: string) => {
|
|
73
|
+
slackChannelId: string;
|
|
74
|
+
threadTs: string;
|
|
75
|
+
} | undefined;
|
|
68
76
|
/** Link store path; defaults to `<CREWLY_HOME>/slack-agent-dms.json`. */
|
|
69
77
|
storePath?: string;
|
|
70
78
|
now?: () => Date;
|
|
@@ -114,10 +122,11 @@ export interface AgentDmReplyTarget {
|
|
|
114
122
|
* - `key`: the agent named the thread (`--thread <slack thread key>`)
|
|
115
123
|
* - `thread-root`: the agent replied under a chat-v2 message (`--thread <message id>`) that came from that Slack thread
|
|
116
124
|
* - `recent-reply`: a file following the answer just posted
|
|
117
|
-
* - `
|
|
125
|
+
* - `turn-origin`: unattributed — the thread the agent's current turn came from (in this DM)
|
|
126
|
+
* - `oldest-open`: unattributed, no turn origin here — the oldest thread still owed an answer (opened within OPEN_THREAD_MAX_AGE_MS)
|
|
118
127
|
* - `latest`: unattributed and nothing owed — the thread the owner wrote in last
|
|
119
128
|
*/
|
|
120
|
-
via: 'key' | 'thread-root' | 'recent-reply' | 'oldest-open' | 'latest';
|
|
129
|
+
via: 'key' | 'thread-root' | 'recent-reply' | 'oldest-open' | 'turn-origin' | 'latest';
|
|
121
130
|
}
|
|
122
131
|
/** Result of {@link SlackAgentDmService.routeInbound}. */
|
|
123
132
|
export interface AgentDmRouteResult {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slack-agent-dm.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/slack/slack-agent-dm.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAC7F,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAE/G,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AACnF,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AAM3F,OAAO,EAAsC,KAAK,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAWnH,mDAAmD;AACnD,MAAM,WAAW,eAAe;IAC9B,WAAW,IAAI,OAAO,CAAC;IACvB,WAAW,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5D,UAAU,CAAC,OAAO,EAAE;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpG;AAED,oDAAoD;AACpD,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,aAAa,EACb,iBAAiB,GAAG,qBAAqB,GAAG,YAAY,GAAG,0BAA0B,GAAG,IAAI,GAAG,KAAK,CACrG,GACC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,qBAAqB,GAAG,sBAAsB,CAAC,CAAC,CAAC;AAE/E,gEAAgE;AAChE,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,yBAAyB,EAAE,cAAc,CAAC,CAAC;AAEjF,+EAA+E;AAC/E,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,EAAE,iBAAiB,CAAC,CAAC;AAEpF,gCAAgC;AAChC,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,eAAe,CAAC;IACvB,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE;QAAE,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC;IACzC,aAAa,EAAE,MAAM,oBAAoB,GAAG,IAAI,CAAC;IACjD,UAAU,EAAE,kBAAkB,CAAC;IAC/B,mGAAmG;IACnG,YAAY,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;IACjD,mFAAmF;IACnF,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,6BAA6B,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC,GACtF,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACrE;;;OAGG;IACH,WAAW,CAAC,EAAE,IAAI,CAAC,uBAAuB,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5D,6FAA6F;IAC7F,YAAY,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;IACjD,kFAAkF;IAClF,cAAc,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACrC,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,+EAA+E;AAC/E,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACvC,kGAAkG;IAClG,SAAS,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,0CAA0C;AAC1C,MAAM,WAAW,sBAAsB;IACrC,qBAAqB;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,sEAAsE;AACtE,MAAM,WAAW,kBAAkB;IACjC,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB
|
|
1
|
+
{"version":3,"file":"slack-agent-dm.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/slack/slack-agent-dm.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -553,7 +553,28 @@ export class SlackAgentDmService {
|
|
|
553
553
|
return { threadTs: link.lastReply.threadTs, via: 'recent-reply' };
|
|
554
554
|
}
|
|
555
555
|
}
|
|
556
|
-
|
|
556
|
+
// The thread the agent's current turn came from — the message it is
|
|
557
|
+
// answering — when that is in this DM (crewly#1015 §8, review H2: a
|
|
558
|
+
// long task answered under the wrong thread when this came after the
|
|
559
|
+
// age cutoff below).
|
|
560
|
+
let origin;
|
|
561
|
+
try {
|
|
562
|
+
origin = this.deps.turnOriginThread?.(link.agentSession);
|
|
563
|
+
}
|
|
564
|
+
catch {
|
|
565
|
+
origin = undefined;
|
|
566
|
+
}
|
|
567
|
+
const originTs = inThisDm(origin ?? null);
|
|
568
|
+
if (originTs)
|
|
569
|
+
return { threadTs: originTs, via: 'turn-origin' };
|
|
570
|
+
// An open thread is a candidate only while it is recent: answers come
|
|
571
|
+
// in the order questions were asked, but a question left unanswered for
|
|
572
|
+
// hours does not own the next unattributed answer.
|
|
573
|
+
const nowMs = this.now().getTime();
|
|
574
|
+
const oldest = link.openThreads?.find((t) => {
|
|
575
|
+
const at = Date.parse(t.at);
|
|
576
|
+
return Number.isFinite(at) && nowMs - at <= SLACK_AGENT_DM_CONSTANTS.OPEN_THREAD_MAX_AGE_MS;
|
|
577
|
+
});
|
|
557
578
|
if (oldest)
|
|
558
579
|
return { threadTs: oldest.threadTs, via: 'oldest-open' };
|
|
559
580
|
return { ...(link.replyThreadTs ? { threadTs: link.replyThreadTs } : {}), via: 'latest' };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slack-agent-dm.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/slack/slack-agent-dm.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"slack-agent-dm.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/slack/slack-agent-dm.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACnE,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAM7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAG7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAwB,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC3I,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAgC,MAAM,iCAAiC,CAAC;AACnH,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAiIrH;;;GAGG;AACH,8DAA8D;AAC9D,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAEnC;;;;;;;;;;;;GAYG;AACH,MAAM,0BAA0B,GAAG,MAAM,CAAC;AAE1C,yEAAyE;AACzE,MAAM,iBAAiB,GAAG,oBAAoB,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAE/B;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,IAAY;IACtC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC1C,CAAC;AAED,MAAM,OAAO,mBAAmB;IAgBD;IAfZ,MAAM,CAAkB;IACxB,SAAS,CAAS;IAC3B,KAAK,GAAiB,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAC5C,wEAAwE;IACvD,QAAQ,GAAG,IAAI,GAAG,EAA+D,CAAC;IAC3F,MAAM,GAAG,KAAK,CAAC;IACf,OAAO,GAAG,KAAK,CAAC;IAEP,aAAa,GAAG,CAAC,GAAmB,EAAQ,EAAE;QAC7D,KAAK,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC,CAAC;IAEF;;OAEG;IACH,YAA6B,IAA6B;QAA7B,SAAI,GAAJ,IAAI,CAAyB;QACxD,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;QAChF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,wBAAwB,CAAC,cAAc,CAAC,CAAC;IAC7G,CAAC;IAED,yEAAyE;IACzE,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACxD,CAAC;IAED,yCAAyC;IACzC,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACzD,CAAC;IAED;;;;;OAKG;IACH,oBAAoB,CAAC,cAAsB;QACzC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,cAAc,CAAC,IAAI,IAAI,CAAC;IAClG,CAAC;IAED;;;;;;;;;OASG;IACH,mBAAmB,CAAC,aAAqB;QACvC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC;IACjD,CAAC;IAED;;;;;;OAMG;IACH,kBAAkB,CAAC,YAAoB;QACrC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,YAAY,CAAC,CAAC;QAC7F,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QACxE,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,kBAAkB,CAAC,KASxB;QAIC,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;QAE/D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvE,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC;QAEvE,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACjG,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;gBAC9C,SAAS,EAAE,IAAI,CAAC,cAAc;gBAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9C,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjC,QAAQ,EAAE,SAAS,CAAC,QAAQ;aAC7B,CAAC,CAAC;YACH,qEAAqE;YACrE,kCAAkC;YAClC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC;gBACnC,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE;gBACxD,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC;gBAC3B,QAAQ;gBACR,GAAG,EAAE,MAAM,CAAC,GAAG;aAChB,CAAC,CAAC;YACH,OAAO;gBACL,EAAE,EAAE,IAAI;gBACR,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,UAAU,EAAE,IAAI;aACjB,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;YAC7F,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,6BAA6B;IAC7B,4EAA4E;IAE5E;;;;;;OAMG;IACH,KAAK,CAAC,YAAY,CAAC,OAA6B;QAC9C,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QAC1C,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC;QAC/B,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC;YACpE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kEAAkE,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;YACxG,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAElB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QACnD,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;YACjD,YAAY;YACZ,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,YAAY;YAClC,SAAS,EAAE,EAAE,MAAM,EAAE,wBAAwB,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE;SAC7E,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,EAAE,CAAC;QACvD,mEAAmE;QACnE,0DAA0D;QAC1D,MAAM,gBAAgB,GAAG,QAAQ,EAAE,cAAc,KAAK,OAAO,CAAC,SAAS,CAAC;QACxE,MAAM,IAAI,GAAqB;YAC7B,aAAa,EAAE,OAAO,CAAC,EAAE;YACzB,YAAY;YACZ,cAAc,EAAE,OAAO,CAAC,SAAS;YACjC,wEAAwE;YACxE,mCAAmC;YACnC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,GAAG,CAAC,eAAe;gBACjB,CAAC,CAAC,EAAE,WAAW,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,EAAE,eAAe,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE;gBACpH,CAAC,CAAC,gBAAgB,IAAI,QAAQ,EAAE,WAAW;oBACzC,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE;oBACvC,CAAC,CAAC,EAAE,CAAC;YACT,GAAG,CAAC,gBAAgB,IAAI,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrF,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;QACpC,0EAA0E;QAC1E,sEAAsE;QACtE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAErB,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,IAAI,OAAO,CAAC,MAAM,IAAI,YAAY,CAAC;QAChG,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB;YAAE,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5H,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;YACvD,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,UAAU,EAAE,MAAM;YAClB,QAAQ;YACR,OAAO,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;YAC3B,QAAQ,EAAE;gBACR,MAAM,EAAE,OAAO;gBACf,cAAc,EAAE,OAAO,CAAC,SAAS;gBACjC,aAAa,EAAE,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,EAAE;gBAC7C,OAAO,EAAE,OAAO,CAAC,EAAE;gBACnB,WAAW,EAAE,OAAO,CAAC,MAAM;gBAC3B,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC3D;SACF,CAAC,CAAC;QAEH,0EAA0E;QAC1E,qEAAqE;QACrE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAClE,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK;iBAClB,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,wBAAwB,CAAC,gBAAgB,EAAE,SAAS,CAAC,QAAQ,CAAC;iBACzG,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;gBACtB,+DAA+D;gBAC/D,oDAAoD;gBACpD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oDAAoD,EAAE;oBACrE,YAAY;oBACZ,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;QAED,kEAAkE;QAClE,qEAAqE;QACrE,wEAAwE;QACxE,uEAAuE;QACvE,sEAAsE;QACtE,yEAAyE;QACzE,uEAAuE;QACvE,wEAAwE;QACxE,wEAAwE;QACxE,MAAM,SAAS,GAAG,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;QAChH,MAAM,MAAM,GAAG,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACvE,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACnF,MAAM,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,SAAU,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,IAAI,YAAY,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QACvJ,CAAC;QAED,mEAAmE;QACnE,qEAAqE;QACrE,MAAM,SAAS,GACb,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;YACvF,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;gBAC1B,cAAc,EAAE,SAAS,CAAC,cAAc;gBACxC,QAAQ,EAAE,SAAS,CAAC,QAAQ;gBAC5B,QAAQ,EAAE,OAAO,CAAC,EAAE;gBACpB,UAAU,EAAE,CAAC,YAAY,CAAC;gBAC1B,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAU,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,IAAI,YAAY,EAAE,CAAC;aAClG,CAAC;YACJ,CAAC,CAAC,IAAI,CAAC;QAEX,yEAAyE;QACzE,0EAA0E;QAC1E,oEAAoE;QACpE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAE9D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QAC7C,IAAI,QAAQ,GAAiC,IAAI,CAAC;QAClD,IAAI,UAAU,EAAE,CAAC;YACf,sEAAsE;YACtE,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC;YACjD,QAAQ,GAAG,MAAM,UAAU,CAAC,eAAe,CACzC,OAAO,EACP,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,EACpC,YAAY;gBACV,CAAC,CAAC;oBACE,eAAe,EAAE,GAAG,EAAE,CACpB,wBAAwB,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,YAAY,EAAE,CAAC;iBAClH;gBACH,CAAC,CAAC,SAAS,CACd,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2DAA2D,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;QAClG,CAAC;QACD,SAAS,EAAE,SAAS,CAAC,iBAAiB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;QAChE,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,QAAQ,EAAE,UAAU;gBAAE,MAAM,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;;gBAChE,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;YAC3C,YAAY;YACZ,YAAY,EAAE,OAAO,CAAC,SAAS;YAC/B,WAAW,EAAE,OAAO,CAAC,EAAE;YACvB,UAAU,EAAE,QAAQ,EAAE,UAAU,IAAI,KAAK;YACzC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,IAAI,MAAM;SACvC,CAAC,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IAChD,CAAC;IAED,4EAA4E;IAC5E,oCAAoC;IACpC,4EAA4E;IAE5E;;;;;;;;;;;;OAYG;IACK,kBAAkB,CAAC,cAAsB,EAAE,IAAY;QAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5B,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,mBAAmB;YAAE,OAAO,KAAK,CAAC;QAC3E,MAAM,CAAC,GAAG,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACzB,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjE,IAAI,OAAO,CAAC,MAAM,GAAG,mBAAmB;YAAE,OAAO,KAAK,CAAC;QACvD,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED;;;;;OAKG;IACK,YAAY,CAAC,cAAsB,EAAE,IAAY,EAAE,MAAqB;QAC9E,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAChF,CAAC;IAED;;;;;;;OAOG;IACK,yBAAyB,CAAC,cAAsB,EAAE,MAAqB;QAC7E,IAAI,MAAM,KAAK,iBAAiB;YAAE,OAAO,KAAK,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,iBAAiB;YAAE,OAAO,KAAK,CAAC;QACrE,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,EAAE,IAAI,0BAA0B,CAAC;IAC1E,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,cAAc,CAAC,GAAmB;QACtC,IAAI,CAAC;YACH,IAAI,GAAG,CAAC,UAAU,KAAK,OAAO;gBAAE,OAAO,KAAK,CAAC;YAC7C,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO;gBAAE,OAAO,KAAK,CAAC;YACnD,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC7C,IAAI,CAAC,IAAI;gBAAE,OAAO,KAAK,CAAC;YACxB,uEAAuE;YACvE,yEAAyE;YACzE,uEAAuE;YACvE,sEAAsE;YACtE,EAAE;YACF,oEAAoE;YACpE,qEAAqE;YACrE,oEAAoE;YACpE,sEAAsE;YACtE,sEAAsE;YACtE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC5E,IAAI,YAAY,KAAK,IAAI,IAAI,YAAY,KAAK,OAAO,EAAE,CAAC;gBACtD,MAAM,gBAAgB,GAAG,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,0BAA0B,CAAC,YAAY,CAAC,CAAC,CAAC;gBACxG,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxE,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACnD,yEAAyE;gBACzE,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,MAAM,GAAG,uBAAuB,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC5H,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE,CAAC;oBAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0EAA0E,EAAE;wBAC3F,YAAY,EAAE,IAAI,CAAC,YAAY;wBAC/B,YAAY;qBACb,CAAC,CAAC;oBACH,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;gBAAE,OAAO,KAAK,CAAC;YAEjD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACvE,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0DAA0D,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;gBAClH,OAAO,KAAK,CAAC;YACf,CAAC;YACD,yEAAyE;YACzE,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;YACtD,MAAM,GAAG,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YAChJ,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACxC,uEAAuE;YACvE,sEAAsE;YACtE,kEAAkE;YAClE,+DAA+D;YAC/D,oEAAoE;YACpE,2BAA2B;YAC3B,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;YACrF,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC;gBACvD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sDAAsD,EAAE;oBACvE,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,cAAc,EAAE,IAAI,CAAC,cAAc;iBACpC,CAAC,CAAC;gBACH,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,EAAE,CAAC;gBAChE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iEAAiE,EAAE;oBAClF,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,cAAc,EAAE,IAAI,CAAC,cAAc;oBACnC,MAAM;iBACP,CAAC,CAAC;gBACH,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YACrD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YACzD,IAAI,MAAM,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE;oBAChD,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,cAAc,EAAE,IAAI,CAAC,cAAc;oBACnC,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,GAAG,EAAE,MAAM,CAAC,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACrB,MAAM,QAAQ,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClF,oEAAoE;gBACpE,gEAAgE;gBAChE,IAAI,SAAS,CAAC,GAAG,CAAC;oBAAE,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;;oBACzF,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACzD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;gBAChC,SAAS,EAAE,IAAI,CAAC,cAAc;gBAC9B,IAAI;gBACJ,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,QAAQ,EAAE,SAAS,CAAC,QAAQ;gBAC5B,gBAAgB,EAAE,IAAI;aACvB,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE;gBAClD,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,MAAM,EAAE,GAAG,CAAC,QAAQ;gBACpB,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,4EAA4E;IAC5E,iBAAiB;IACjB,4EAA4E;IAE5E;;;;;;;;;;;;;OAaG;IACH,kBAAkB,CAChB,IAAsB,EACtB,IAA0G;QAE1G,MAAM,QAAQ,GAAG,CAAC,KAA0D,EAAsB,EAAE,CAClG,KAAK,IAAI,KAAK,CAAC,cAAc,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAErF,MAAM,OAAO,GACX,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7C,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACjD,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,0BAA0B,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/F,IAAI,OAAO;YAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QAEtD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC;QAC5G,IAAI,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACjD,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;gBACxD,MAAM,EAAE,GAAG,QAAQ,CAAC,qBAAqB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAC3D,IAAI,EAAE;oBAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC;YACtD,CAAC;YAAC,MAAM,CAAC;gBACP,sDAAsD;YACxD,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACjE,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,wBAAwB,CAAC,uBAAuB,EAAE,CAAC;gBAChG,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC;YACpE,CAAC;QACH,CAAC;QAED,oEAAoE;QACpE,oEAAoE;QACpE,qEAAqE;QACrE,qBAAqB;QACrB,IAAI,MAAgE,CAAC;QACrE,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3D,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,GAAG,SAAS,CAAC;QACrB,CAAC;QACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;QAC1C,IAAI,QAAQ;YAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC;QAChE,sEAAsE;QACtE,wEAAwE;QACxE,mDAAmD;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1C,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5B,OAAO,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,KAAK,GAAG,EAAE,IAAI,wBAAwB,CAAC,sBAAsB,CAAC;QAC9F,CAAC,CAAC,CAAC;QACH,IAAI,MAAM;YAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC;QACrE,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;IAC5F,CAAC;IAED;;;;;;;OAOG;IACK,YAAY,CAAC,IAAsB,EAAE,QAA4B,EAAE,OAAgB;QACzF,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,oEAAoE;QACpE,4DAA4D;QAC5D,IAAI,CAAC,SAAS,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;QAC5D,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,EAAE,CAAC;YACvE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;QAC7E,CAAC;QACD,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,iBAAiB,CAAC,YAAoB;QAC1C,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,sBAAsB,CAAC,iBAAiB,CAAC;QAC/E,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,IAAI,IAAI,CAAC,YAAY,KAAK,YAAY,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM;gBAAE,SAAS;YAC9E,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBACzC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC5B,OAAO,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC;YAC5C,CAAC,CAAC,CAAC;YACH,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACjD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;QACD,IAAI,OAAO,GAAG,CAAC;YAAE,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACtC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,4EAA4E;IAC5E,YAAY;IACZ,4EAA4E;IAE5E;;;;;;OAMG;IACK,KAAK,CAAC,YAAY,CAAC,OAA6B,EAAE,YAAoB;QAC5E,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,YAAY,CAChC,sBAAsB,EAAE,EACxB,kBAAkB,CAChB;gBACE,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;gBACxB,cAAc,EAAE,OAAO,CAAC,SAAS;gBACjC,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI;gBACtD,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;gBAC9C,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,IAAI;aAClD,EACD,UAAU,EACV,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,CAC3D,CACF,CAAC;YACF,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wDAAwD,EAAE;gBACzE,YAAY;gBACZ,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;IACH,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,YAAoB;QAC3C,IAAI,CAAC;YACH,KAAK,MAAM,IAAI,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACtD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,YAAY,CAAC,CAAC;gBACzE,IAAI,MAAM;oBAAE,OAAO,MAAM,CAAC;YAC5B,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,yDAAyD;QAC3D,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,IAAI;QAChB,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,MAAM,GAAG,GAAG,MAAM,YAAY,CAAwB,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACpF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,OAAO;QACnB,IAAI,CAAC;YACH,MAAM,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxH,CAAC;IACH,CAAC;IAEO,GAAG;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;IACtD,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAC5B,IAAmD,EACnD,QAAgB,EAChB,GAAS;IAET,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;IAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC/F,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CAAC;AAChE,CAAC;AAED,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,IAAI,QAAQ,GAA+B,IAAI,CAAC;AAEhD,gEAAgE;AAChE,MAAM,UAAU,sBAAsB;IACpC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,sBAAsB,CAAC,OAAmC;IACxE,QAAQ,GAAG,OAAO,CAAC;AACrB,CAAC"}
|
|
@@ -625,6 +625,47 @@ export declare class SlackTeamChannelService {
|
|
|
625
625
|
private watchUnanswered;
|
|
626
626
|
/** Stop waiting on a message: someone has it. */
|
|
627
627
|
private settleUnanswered;
|
|
628
|
+
/**
|
|
629
|
+
* Arm the route guard for an owner's room message that was just recorded
|
|
630
|
+
* (crewly#1015 §7). `dispatchStarting` right before dispatch: it stops the
|
|
631
|
+
* timer and answers false when a rescue already ran (the caller must not
|
|
632
|
+
* dispatch then). `fail` when routing threw — a rescue only when dispatch
|
|
633
|
+
* had not started. `disarm` when routing finished. Not at dispatch within
|
|
634
|
+
* ROUTE_STALL_MS → the message is rescued.
|
|
635
|
+
*
|
|
636
|
+
* @param message - The inbound Slack message
|
|
637
|
+
* @param mapping - Its room
|
|
638
|
+
* @param persisted - The huddle row it was recorded as
|
|
639
|
+
* @param threadId - Huddle thread the replies land in
|
|
640
|
+
* @returns The guard
|
|
641
|
+
*/
|
|
642
|
+
private armRouteGuard;
|
|
643
|
+
/**
|
|
644
|
+
* Wait for a routing step at most ROUTE_STEP_TIMEOUT_MS; on timeout (or a
|
|
645
|
+
* rejection) go on with `fallback` and say so. Only for steps before
|
|
646
|
+
* dispatch that routing can do without (crewly#1015 §7).
|
|
647
|
+
*
|
|
648
|
+
* @param step - The step
|
|
649
|
+
* @param fallback - Value used when it does not settle in time
|
|
650
|
+
* @param label - For the log
|
|
651
|
+
* @param message - The message being routed (for the log)
|
|
652
|
+
* @returns The step's value, or the fallback
|
|
653
|
+
*/
|
|
654
|
+
private bounded;
|
|
655
|
+
/** @returns How long routing may take before the guard rescues the message (env override for tests). */
|
|
656
|
+
private routeStallMs;
|
|
657
|
+
/**
|
|
658
|
+
* Rescue an owner's room message whose routing stalled or failed: the
|
|
659
|
+
* unanswered-message fallback runs at once (the room lead here is handed
|
|
660
|
+
* the message). A message that was itself such a hand-off is not handed
|
|
661
|
+
* over again: the owner is told in the thread.
|
|
662
|
+
*
|
|
663
|
+
* @param message - The inbound Slack message
|
|
664
|
+
* @param mapping - Its room
|
|
665
|
+
* @param persisted - The huddle row
|
|
666
|
+
* @param threadId - Huddle thread the replies land in
|
|
667
|
+
*/
|
|
668
|
+
private rescueUnroutedMessage;
|
|
628
669
|
/**
|
|
629
670
|
* An agent spoke in a room — any message we were waiting on in that
|
|
630
671
|
* thread (or the room, for a top-level post) has been taken.
|