digital-workers 2.1.1 → 2.3.0
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/CHANGELOG.md +23 -0
- package/README.md +136 -180
- package/dist/actions.d.ts.map +1 -1
- package/dist/actions.js +34 -21
- package/dist/actions.js.map +1 -1
- package/dist/agent-comms.d.ts +438 -0
- package/dist/agent-comms.d.ts.map +1 -0
- package/dist/agent-comms.js +677 -0
- package/dist/agent-comms.js.map +1 -0
- package/dist/approve.d.ts +40 -8
- package/dist/approve.d.ts.map +1 -1
- package/dist/approve.js +86 -20
- package/dist/approve.js.map +1 -1
- package/dist/ask.d.ts +38 -7
- package/dist/ask.d.ts.map +1 -1
- package/dist/ask.js +85 -25
- package/dist/ask.js.map +1 -1
- package/dist/browse.d.ts +223 -0
- package/dist/browse.d.ts.map +1 -0
- package/dist/browse.js +392 -0
- package/dist/browse.js.map +1 -0
- package/dist/capability-tiers.d.ts +230 -0
- package/dist/capability-tiers.d.ts.map +1 -0
- package/dist/capability-tiers.js +388 -0
- package/dist/capability-tiers.js.map +1 -0
- package/dist/cascade-context.d.ts +523 -0
- package/dist/cascade-context.d.ts.map +1 -0
- package/dist/cascade-context.js +494 -0
- package/dist/cascade-context.js.map +1 -0
- package/dist/client.d.ts +162 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +64 -0
- package/dist/client.js.map +1 -0
- package/dist/decide.d.ts +42 -6
- package/dist/decide.d.ts.map +1 -1
- package/dist/decide.js +54 -11
- package/dist/decide.js.map +1 -1
- package/dist/do.d.ts +36 -7
- package/dist/do.d.ts.map +1 -1
- package/dist/do.js +82 -39
- package/dist/do.js.map +1 -1
- package/dist/error-escalation.d.ts +416 -0
- package/dist/error-escalation.d.ts.map +1 -0
- package/dist/error-escalation.js +656 -0
- package/dist/error-escalation.js.map +1 -0
- package/dist/generate.d.ts +48 -7
- package/dist/generate.d.ts.map +1 -1
- package/dist/generate.js +49 -8
- package/dist/generate.js.map +1 -1
- package/dist/goals.d.ts +10 -9
- package/dist/goals.d.ts.map +1 -1
- package/dist/goals.js +30 -24
- package/dist/goals.js.map +1 -1
- package/dist/image.d.ts +189 -0
- package/dist/image.d.ts.map +1 -0
- package/dist/image.js +528 -0
- package/dist/image.js.map +1 -0
- package/dist/index.d.ts +59 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +92 -2
- package/dist/index.js.map +1 -1
- package/dist/is.d.ts +45 -10
- package/dist/is.d.ts.map +1 -1
- package/dist/is.js +56 -21
- package/dist/is.js.map +1 -1
- package/dist/kpis.d.ts +24 -15
- package/dist/kpis.d.ts.map +1 -1
- package/dist/kpis.js +16 -14
- package/dist/kpis.js.map +1 -1
- package/dist/load-balancing.d.ts +395 -0
- package/dist/load-balancing.d.ts.map +1 -0
- package/dist/load-balancing.js +991 -0
- package/dist/load-balancing.js.map +1 -0
- package/dist/logger.d.ts +76 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +39 -0
- package/dist/logger.js.map +1 -0
- package/dist/notify.d.ts +38 -9
- package/dist/notify.d.ts.map +1 -1
- package/dist/notify.js +72 -17
- package/dist/notify.js.map +1 -1
- package/dist/role.d.ts +5 -4
- package/dist/role.d.ts.map +1 -1
- package/dist/role.js +13 -10
- package/dist/role.js.map +1 -1
- package/dist/runtime.d.ts +310 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +510 -0
- package/dist/runtime.js.map +1 -0
- package/dist/team.d.ts +11 -6
- package/dist/team.d.ts.map +1 -1
- package/dist/team.js +22 -15
- package/dist/team.js.map +1 -1
- package/dist/transports/email.d.ts +318 -0
- package/dist/transports/email.d.ts.map +1 -0
- package/dist/transports/email.js +779 -0
- package/dist/transports/email.js.map +1 -0
- package/dist/transports/slack.d.ts +515 -0
- package/dist/transports/slack.d.ts.map +1 -0
- package/dist/transports/slack.js +844 -0
- package/dist/transports/slack.js.map +1 -0
- package/dist/transports.d.ts.map +1 -1
- package/dist/transports.js +44 -25
- package/dist/transports.js.map +1 -1
- package/dist/types.d.ts +149 -19
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +6 -0
- package/dist/types.js.map +1 -1
- package/dist/utils/id.d.ts +19 -0
- package/dist/utils/id.d.ts.map +1 -0
- package/dist/utils/id.js +21 -0
- package/dist/utils/id.js.map +1 -0
- package/dist/video.d.ts +203 -0
- package/dist/video.d.ts.map +1 -0
- package/dist/video.js +528 -0
- package/dist/video.js.map +1 -0
- package/dist/worker.d.ts +343 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +698 -0
- package/dist/worker.js.map +1 -0
- package/package.json +24 -5
- package/src/actions.ts +48 -38
- package/src/agent-comms.ts +1200 -0
- package/src/approve.ts +91 -20
- package/src/ask.ts +99 -25
- package/src/browse.ts +627 -0
- package/src/capability-tiers.ts +545 -0
- package/src/cascade-context.ts +648 -0
- package/src/client.ts +221 -0
- package/src/decide.ts +81 -35
- package/src/do.ts +98 -52
- package/src/error-escalation.ts +1123 -0
- package/src/generate.ts +52 -18
- package/src/goals.ts +36 -27
- package/src/image.ts +816 -0
- package/src/index.ts +410 -2
- package/src/is.ts +59 -25
- package/src/kpis.ts +41 -36
- package/src/load-balancing.ts +1467 -0
- package/src/logger.ts +93 -0
- package/src/notify.ts +78 -17
- package/src/role.ts +30 -20
- package/src/runtime.ts +796 -0
- package/src/team.ts +24 -19
- package/src/transports/email.ts +1160 -0
- package/src/transports/slack.ts +1320 -0
- package/src/transports.ts +58 -43
- package/src/types.ts +182 -46
- package/src/utils/id.ts +21 -0
- package/src/video.ts +906 -0
- package/src/worker.ts +1007 -0
- package/test/agent-comms.test.ts +1397 -0
- package/test/approve.test.ts +305 -0
- package/test/ask.test.ts +274 -0
- package/test/browse.test.ts +361 -0
- package/test/capability-tiers.test.ts +631 -0
- package/test/cascade-context.test.ts +692 -0
- package/test/decide.test.ts +252 -0
- package/test/do.test.ts +144 -0
- package/test/error-escalation.test.ts +1205 -0
- package/test/error-logging.test.ts +357 -0
- package/test/generate.test.ts +319 -0
- package/test/image.test.ts +398 -0
- package/test/is.test.ts +287 -0
- package/test/load-balancing-safety.test.ts +404 -0
- package/test/load-balancing-thread-safety.test.ts +464 -0
- package/test/load-balancing.test.ts +1145 -0
- package/test/notify.test.ts +434 -0
- package/test/primitives.test.ts +320 -0
- package/test/runtime-integration.test.ts +892 -0
- package/test/transports/crypto.test.ts +230 -0
- package/test/transports/email.test.ts +866 -0
- package/test/transports/id-generation.test.ts +91 -0
- package/test/transports/slack.test.ts +760 -0
- package/test/type-safety.test.ts +834 -0
- package/test/types.test.ts +95 -2
- package/test/video.test.ts +530 -0
- package/test/worker.test.ts +1433 -0
- package/tsconfig.json +4 -1
- package/vitest.config.ts +42 -0
- package/wrangler.jsonc +36 -0
- package/.turbo/turbo-build.log +0 -5
- package/src/actions.js +0 -436
- package/src/approve.js +0 -234
- package/src/ask.js +0 -226
- package/src/decide.js +0 -244
- package/src/do.js +0 -227
- package/src/generate.js +0 -298
- package/src/goals.js +0 -205
- package/src/index.js +0 -68
- package/src/is.js +0 -317
- package/src/kpis.js +0 -270
- package/src/notify.js +0 -219
- package/src/role.js +0 -110
- package/src/team.js +0 -130
- package/src/transports.js +0 -357
- package/src/types.js +0 -71
|
@@ -0,0 +1,416 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error Escalation
|
|
3
|
+
*
|
|
4
|
+
* Multi-level error escalation between agent tiers with classification,
|
|
5
|
+
* routing, and recovery patterns.
|
|
6
|
+
*
|
|
7
|
+
* ## Key Concepts
|
|
8
|
+
*
|
|
9
|
+
* 1. **Error Classification** - Categorize errors by severity and type
|
|
10
|
+
* 2. **Escalation Routing** - Determine next tier for escalation
|
|
11
|
+
* 3. **Recovery Patterns** - Retry, fallback, and degradation strategies
|
|
12
|
+
*
|
|
13
|
+
* ## Escalation Flow
|
|
14
|
+
*
|
|
15
|
+
* ```
|
|
16
|
+
* Error -> Classify -> Should Retry? -> Retry with Backoff
|
|
17
|
+
* -> Exhausted -> Should Escalate? -> Escalate to Next Tier
|
|
18
|
+
* -> At Terminal -> Fallback or Degrade
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* @packageDocumentation
|
|
22
|
+
*/
|
|
23
|
+
import type { CapabilityTier } from './capability-tiers.js';
|
|
24
|
+
/**
|
|
25
|
+
* Error severity levels
|
|
26
|
+
*/
|
|
27
|
+
export type ErrorSeverity = 'low' | 'medium' | 'high' | 'critical';
|
|
28
|
+
/**
|
|
29
|
+
* Error category types
|
|
30
|
+
*/
|
|
31
|
+
export type ErrorCategory = 'transient' | 'permanent' | 'escalatable';
|
|
32
|
+
/**
|
|
33
|
+
* Degradation level for graceful degradation
|
|
34
|
+
*/
|
|
35
|
+
export type DegradationLevel = 'none' | 'partial' | 'significant' | 'full';
|
|
36
|
+
/**
|
|
37
|
+
* Options for determining error severity
|
|
38
|
+
*/
|
|
39
|
+
export interface SeverityOptions {
|
|
40
|
+
isRetryable?: boolean;
|
|
41
|
+
impact?: 'single-task' | 'workflow' | 'system';
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Classified error with metadata
|
|
45
|
+
*/
|
|
46
|
+
export interface ClassifiedError {
|
|
47
|
+
id: string;
|
|
48
|
+
original: Error;
|
|
49
|
+
severity: ErrorSeverity;
|
|
50
|
+
category: ErrorCategory;
|
|
51
|
+
tier?: CapabilityTier;
|
|
52
|
+
agentId?: string;
|
|
53
|
+
taskId?: string;
|
|
54
|
+
timestamp: Date;
|
|
55
|
+
stack?: string;
|
|
56
|
+
previousError?: ClassifiedError;
|
|
57
|
+
context?: ErrorContext;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Error context for preservation through escalation
|
|
61
|
+
*/
|
|
62
|
+
export interface ErrorContext {
|
|
63
|
+
workflowId?: string;
|
|
64
|
+
stepId?: string;
|
|
65
|
+
attemptNumber?: number;
|
|
66
|
+
startTime?: Date;
|
|
67
|
+
metadata?: Record<string, unknown>;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Error chain type
|
|
71
|
+
*/
|
|
72
|
+
export type ErrorChain = ClassifiedError[];
|
|
73
|
+
/**
|
|
74
|
+
* Options for building error chain
|
|
75
|
+
*/
|
|
76
|
+
export interface ErrorChainOptions {
|
|
77
|
+
maxDepth?: number;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Escalation path definition
|
|
81
|
+
*/
|
|
82
|
+
export interface EscalationPath {
|
|
83
|
+
fromTier: CapabilityTier;
|
|
84
|
+
toTier: CapabilityTier;
|
|
85
|
+
reason: string;
|
|
86
|
+
isTerminal?: boolean;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Escalation rule definition
|
|
90
|
+
*/
|
|
91
|
+
export interface EscalationRule {
|
|
92
|
+
name: string;
|
|
93
|
+
fromTier: CapabilityTier;
|
|
94
|
+
toTier: CapabilityTier;
|
|
95
|
+
condition: (error: ClassifiedError) => boolean;
|
|
96
|
+
priority?: number;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Tier-specific policy configuration
|
|
100
|
+
*/
|
|
101
|
+
export interface TierPolicyConfig {
|
|
102
|
+
maxRetries?: number;
|
|
103
|
+
timeout?: number;
|
|
104
|
+
allowedCategories?: ErrorCategory[];
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Escalation policy configuration
|
|
108
|
+
*/
|
|
109
|
+
export interface EscalationPolicy {
|
|
110
|
+
maxEscalationDepth: number;
|
|
111
|
+
allowSkipTiers: boolean;
|
|
112
|
+
skipTierThreshold?: ErrorSeverity;
|
|
113
|
+
rules: EscalationRule[];
|
|
114
|
+
tierPolicies?: Partial<Record<CapabilityTier, TierPolicyConfig>>;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Options for creating escalation policy
|
|
118
|
+
*/
|
|
119
|
+
export interface EscalationPolicyOptions {
|
|
120
|
+
maxEscalationDepth?: number;
|
|
121
|
+
allowSkipTiers?: boolean;
|
|
122
|
+
skipTierThreshold?: ErrorSeverity;
|
|
123
|
+
rules?: EscalationRule[];
|
|
124
|
+
tierPolicies?: Partial<Record<CapabilityTier, TierPolicyConfig>>;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Escalation threshold configuration
|
|
128
|
+
*/
|
|
129
|
+
export interface EscalationThreshold {
|
|
130
|
+
errorCount: number;
|
|
131
|
+
timeWindow?: number;
|
|
132
|
+
severityMultiplier?: Partial<Record<ErrorSeverity, number>>;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Error history entry for threshold checking
|
|
136
|
+
*/
|
|
137
|
+
export interface ErrorHistoryEntry {
|
|
138
|
+
timestamp: number;
|
|
139
|
+
severity?: ErrorSeverity;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Escalation validation result
|
|
143
|
+
*/
|
|
144
|
+
export interface EscalationValidationResult {
|
|
145
|
+
valid: boolean;
|
|
146
|
+
error?: string;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Escalation result from engine
|
|
150
|
+
*/
|
|
151
|
+
export interface EscalationResult {
|
|
152
|
+
handled: boolean;
|
|
153
|
+
action: 'retry' | 'escalate' | 'fallback' | 'degrade' | 'terminal';
|
|
154
|
+
classifiedError: ClassifiedError;
|
|
155
|
+
retryDelay?: number;
|
|
156
|
+
escalationPath?: EscalationPath;
|
|
157
|
+
fallbackAgent?: AgentForFallback;
|
|
158
|
+
degradationLevel?: DegradationLevel;
|
|
159
|
+
preservedContext?: ErrorContext;
|
|
160
|
+
errorChain?: ErrorChain;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Retry configuration
|
|
164
|
+
*/
|
|
165
|
+
export interface RetryConfig {
|
|
166
|
+
maxRetries: number;
|
|
167
|
+
baseDelayMs: number;
|
|
168
|
+
maxDelayMs?: number;
|
|
169
|
+
backoffMultiplier?: number;
|
|
170
|
+
jitterPercent?: number;
|
|
171
|
+
retryableCategories?: ErrorCategory[];
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Retry state
|
|
175
|
+
*/
|
|
176
|
+
export interface RetryState {
|
|
177
|
+
attemptNumber: number;
|
|
178
|
+
lastAttemptTime: Date | null;
|
|
179
|
+
nextRetryTime: Date | null;
|
|
180
|
+
exhausted: boolean;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Agent info for fallback selection
|
|
184
|
+
*/
|
|
185
|
+
export interface AgentForFallback {
|
|
186
|
+
id: string;
|
|
187
|
+
tier: CapabilityTier;
|
|
188
|
+
skills?: string[];
|
|
189
|
+
currentLoad?: number;
|
|
190
|
+
maxLoad?: number;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Fallback configuration
|
|
194
|
+
*/
|
|
195
|
+
export interface FallbackConfig {
|
|
196
|
+
strategy: 'capability-match' | 'least-loaded' | 'same-tier' | 'round-robin';
|
|
197
|
+
requiredSkills?: string[];
|
|
198
|
+
currentTier?: CapabilityTier;
|
|
199
|
+
excludeAgentIds?: string[];
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Degradation options
|
|
203
|
+
*/
|
|
204
|
+
export interface DegradationOptions {
|
|
205
|
+
errorCount?: number;
|
|
206
|
+
threshold?: number;
|
|
207
|
+
rules?: Array<{
|
|
208
|
+
condition: (severity: ErrorSeverity) => boolean;
|
|
209
|
+
level: DegradationLevel;
|
|
210
|
+
}>;
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Recovery state
|
|
214
|
+
*/
|
|
215
|
+
export interface RecoveryState {
|
|
216
|
+
errorId: string;
|
|
217
|
+
tier: CapabilityTier;
|
|
218
|
+
agentId?: string;
|
|
219
|
+
retryState: RetryState;
|
|
220
|
+
escalated: boolean;
|
|
221
|
+
resolved: boolean;
|
|
222
|
+
escalationPath: CapabilityTier[];
|
|
223
|
+
fallbackHistory: string[];
|
|
224
|
+
lastAction?: string;
|
|
225
|
+
resolution?: string;
|
|
226
|
+
isTerminal?: boolean;
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Recovery state options
|
|
230
|
+
*/
|
|
231
|
+
export interface RecoveryStateOptions {
|
|
232
|
+
errorId: string;
|
|
233
|
+
tier: CapabilityTier;
|
|
234
|
+
agentId?: string;
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Recovery state update
|
|
238
|
+
*/
|
|
239
|
+
export interface RecoveryStateUpdate {
|
|
240
|
+
type: 'retry' | 'escalate' | 'fallback' | 'resolve';
|
|
241
|
+
success?: boolean;
|
|
242
|
+
exhausted?: boolean;
|
|
243
|
+
toTier?: CapabilityTier;
|
|
244
|
+
toAgentId?: string;
|
|
245
|
+
resolution?: string;
|
|
246
|
+
isTerminal?: boolean;
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Escalation engine options
|
|
250
|
+
*/
|
|
251
|
+
export interface EscalationEngineOptions {
|
|
252
|
+
policy?: EscalationPolicy;
|
|
253
|
+
retryConfig?: RetryConfig;
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Error handling options
|
|
257
|
+
*/
|
|
258
|
+
export interface HandleErrorOptions {
|
|
259
|
+
tier: CapabilityTier;
|
|
260
|
+
agentId?: string;
|
|
261
|
+
taskId?: string;
|
|
262
|
+
severity?: ErrorSeverity;
|
|
263
|
+
retryState?: RetryState;
|
|
264
|
+
escalationHistory?: CapabilityTier[];
|
|
265
|
+
previousError?: ClassifiedError;
|
|
266
|
+
context?: ErrorContext;
|
|
267
|
+
availableAgents?: AgentForFallback[];
|
|
268
|
+
simulateRetrySuccess?: boolean;
|
|
269
|
+
simulateRetryFailure?: boolean;
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Escalation metrics
|
|
273
|
+
*/
|
|
274
|
+
export interface EscalationMetrics {
|
|
275
|
+
totalErrors: number;
|
|
276
|
+
bySeverity: Record<ErrorSeverity, number>;
|
|
277
|
+
escalationsByTier: Record<string, number>;
|
|
278
|
+
retrySuccessRate: number;
|
|
279
|
+
retriesTotal: number;
|
|
280
|
+
retriesSuccessful: number;
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Escalation engine interface
|
|
284
|
+
*/
|
|
285
|
+
export interface EscalationEngine {
|
|
286
|
+
handleError(error: Error, options: HandleErrorOptions): Promise<EscalationResult>;
|
|
287
|
+
getMetrics(): EscalationMetrics;
|
|
288
|
+
reset(): void;
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Get error severity based on error and options
|
|
292
|
+
*/
|
|
293
|
+
export declare function getErrorSeverity(error: Error, options?: SeverityOptions): ErrorSeverity;
|
|
294
|
+
/**
|
|
295
|
+
* Get error category based on error type
|
|
296
|
+
*/
|
|
297
|
+
export declare function getErrorCategory(error: Error): ErrorCategory;
|
|
298
|
+
/**
|
|
299
|
+
* Create a classified error
|
|
300
|
+
*/
|
|
301
|
+
export declare function createClassifiedError(original: Error, options: {
|
|
302
|
+
severity: ErrorSeverity;
|
|
303
|
+
category: ErrorCategory;
|
|
304
|
+
tier?: CapabilityTier;
|
|
305
|
+
agentId?: string;
|
|
306
|
+
taskId?: string;
|
|
307
|
+
previousError?: ClassifiedError;
|
|
308
|
+
context?: ErrorContext;
|
|
309
|
+
}): ClassifiedError;
|
|
310
|
+
/**
|
|
311
|
+
* Classify an error automatically
|
|
312
|
+
*/
|
|
313
|
+
export declare function classifyError(error: Error, options?: Partial<{
|
|
314
|
+
tier: CapabilityTier;
|
|
315
|
+
agentId: string;
|
|
316
|
+
taskId: string;
|
|
317
|
+
context: ErrorContext;
|
|
318
|
+
}>): ClassifiedError;
|
|
319
|
+
/**
|
|
320
|
+
* Check if error is escalatable
|
|
321
|
+
*/
|
|
322
|
+
export declare function isEscalatable(error: ClassifiedError): boolean;
|
|
323
|
+
/**
|
|
324
|
+
* Preserve context through escalation
|
|
325
|
+
*/
|
|
326
|
+
export declare function preserveContext(context: ErrorContext, updates?: Partial<ErrorContext>): ErrorContext;
|
|
327
|
+
/**
|
|
328
|
+
* Build error chain from escalation history
|
|
329
|
+
*/
|
|
330
|
+
export declare function buildErrorChain(error: ClassifiedError, options?: ErrorChainOptions): ErrorChain;
|
|
331
|
+
/**
|
|
332
|
+
* Create an escalation policy with defaults
|
|
333
|
+
*/
|
|
334
|
+
export declare function createEscalationPolicy(options: EscalationPolicyOptions): EscalationPolicy;
|
|
335
|
+
/**
|
|
336
|
+
* Get next escalation tier based on error and policy
|
|
337
|
+
*/
|
|
338
|
+
export declare function getNextEscalationTier(error: ClassifiedError, policy: EscalationPolicy): CapabilityTier | null;
|
|
339
|
+
/**
|
|
340
|
+
* Determine escalation path for an error
|
|
341
|
+
*/
|
|
342
|
+
export declare function determineEscalationPath(error: ClassifiedError, policy?: EscalationPolicy): EscalationPath;
|
|
343
|
+
/**
|
|
344
|
+
* Check if escalation should occur based on threshold
|
|
345
|
+
*/
|
|
346
|
+
export declare function shouldEscalate(threshold: EscalationThreshold, errorHistory: ErrorHistoryEntry[]): boolean;
|
|
347
|
+
/**
|
|
348
|
+
* Detect circular escalation
|
|
349
|
+
*/
|
|
350
|
+
export declare function detectCircularEscalation(path: EscalationPath, history: CapabilityTier[]): boolean;
|
|
351
|
+
/**
|
|
352
|
+
* Validate an escalation path
|
|
353
|
+
*/
|
|
354
|
+
export declare function validateEscalationPath(path: EscalationPath, history: CapabilityTier[], policy: EscalationPolicy): EscalationValidationResult;
|
|
355
|
+
/**
|
|
356
|
+
* Calculate backoff delay with optional jitter
|
|
357
|
+
*/
|
|
358
|
+
export declare function calculateBackoff(config: RetryConfig, attemptNumber: number): number;
|
|
359
|
+
/**
|
|
360
|
+
* Create initial retry state
|
|
361
|
+
*/
|
|
362
|
+
export declare function createRetryState(config?: Partial<RetryConfig>): RetryState;
|
|
363
|
+
/**
|
|
364
|
+
* Check if retry should occur
|
|
365
|
+
*/
|
|
366
|
+
export declare function shouldRetry(config: RetryConfig, state: RetryState, error?: ClassifiedError): boolean;
|
|
367
|
+
/**
|
|
368
|
+
* Select a fallback agent
|
|
369
|
+
*/
|
|
370
|
+
export declare function selectFallbackAgent(config: FallbackConfig, agents: AgentForFallback[]): AgentForFallback | null;
|
|
371
|
+
/**
|
|
372
|
+
* Get degradation level based on severity and options
|
|
373
|
+
*/
|
|
374
|
+
export declare function getDegradationLevel(severity: ErrorSeverity, options?: DegradationOptions): DegradationLevel;
|
|
375
|
+
/**
|
|
376
|
+
* Create initial recovery state
|
|
377
|
+
*/
|
|
378
|
+
export declare function createRecoveryState(options: RecoveryStateOptions): RecoveryState;
|
|
379
|
+
/**
|
|
380
|
+
* Update recovery state
|
|
381
|
+
*/
|
|
382
|
+
export declare function updateRecoveryState(state: RecoveryState, update: RecoveryStateUpdate): RecoveryState;
|
|
383
|
+
/**
|
|
384
|
+
* Check if error is recoverable
|
|
385
|
+
*/
|
|
386
|
+
export declare function isRecoverable(state: RecoveryState): boolean;
|
|
387
|
+
/**
|
|
388
|
+
* Create an escalation engine
|
|
389
|
+
*/
|
|
390
|
+
export declare function createEscalationEngine(options?: EscalationEngineOptions): EscalationEngine;
|
|
391
|
+
declare const _default: {
|
|
392
|
+
getErrorSeverity: typeof getErrorSeverity;
|
|
393
|
+
getErrorCategory: typeof getErrorCategory;
|
|
394
|
+
createClassifiedError: typeof createClassifiedError;
|
|
395
|
+
classifyError: typeof classifyError;
|
|
396
|
+
isEscalatable: typeof isEscalatable;
|
|
397
|
+
preserveContext: typeof preserveContext;
|
|
398
|
+
buildErrorChain: typeof buildErrorChain;
|
|
399
|
+
createEscalationPolicy: typeof createEscalationPolicy;
|
|
400
|
+
getNextEscalationTier: typeof getNextEscalationTier;
|
|
401
|
+
determineEscalationPath: typeof determineEscalationPath;
|
|
402
|
+
shouldEscalate: typeof shouldEscalate;
|
|
403
|
+
detectCircularEscalation: typeof detectCircularEscalation;
|
|
404
|
+
validateEscalationPath: typeof validateEscalationPath;
|
|
405
|
+
calculateBackoff: typeof calculateBackoff;
|
|
406
|
+
createRetryState: typeof createRetryState;
|
|
407
|
+
shouldRetry: typeof shouldRetry;
|
|
408
|
+
selectFallbackAgent: typeof selectFallbackAgent;
|
|
409
|
+
getDegradationLevel: typeof getDegradationLevel;
|
|
410
|
+
createRecoveryState: typeof createRecoveryState;
|
|
411
|
+
updateRecoveryState: typeof updateRecoveryState;
|
|
412
|
+
isRecoverable: typeof isRecoverable;
|
|
413
|
+
createEscalationEngine: typeof createEscalationEngine;
|
|
414
|
+
};
|
|
415
|
+
export default _default;
|
|
416
|
+
//# sourceMappingURL=error-escalation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-escalation.d.ts","sourceRoot":"","sources":["../src/error-escalation.ts"],"names":[],"mappings":"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"}
|