@shalwin04/x404r-sdk 0.1.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.
Files changed (58) hide show
  1. package/README.md +391 -0
  2. package/dist/ai/index.d.ts +21 -0
  3. package/dist/ai/index.d.ts.map +1 -0
  4. package/dist/ai/index.js +344 -0
  5. package/dist/ai/index.js.map +1 -0
  6. package/dist/backend/cloud.d.ts +91 -0
  7. package/dist/backend/cloud.d.ts.map +1 -0
  8. package/dist/backend/cloud.js +257 -0
  9. package/dist/backend/cloud.js.map +1 -0
  10. package/dist/backend/embedded.d.ts +79 -0
  11. package/dist/backend/embedded.d.ts.map +1 -0
  12. package/dist/backend/embedded.js +307 -0
  13. package/dist/backend/embedded.js.map +1 -0
  14. package/dist/backend/index.d.ts +11 -0
  15. package/dist/backend/index.d.ts.map +1 -0
  16. package/dist/backend/index.js +8 -0
  17. package/dist/backend/index.js.map +1 -0
  18. package/dist/backend/interface.d.ts +88 -0
  19. package/dist/backend/interface.d.ts.map +1 -0
  20. package/dist/backend/interface.js +11 -0
  21. package/dist/backend/interface.js.map +1 -0
  22. package/dist/chaos.d.ts +117 -0
  23. package/dist/chaos.d.ts.map +1 -0
  24. package/dist/chaos.js +215 -0
  25. package/dist/chaos.js.map +1 -0
  26. package/dist/client.d.ts +242 -0
  27. package/dist/client.d.ts.map +1 -0
  28. package/dist/client.js +401 -0
  29. package/dist/client.js.map +1 -0
  30. package/dist/context.d.ts +18 -0
  31. package/dist/context.d.ts.map +1 -0
  32. package/dist/context.js +65 -0
  33. package/dist/context.js.map +1 -0
  34. package/dist/durable.d.ts +90 -0
  35. package/dist/durable.d.ts.map +1 -0
  36. package/dist/durable.js +143 -0
  37. package/dist/durable.js.map +1 -0
  38. package/dist/index.d.ts +74 -0
  39. package/dist/index.d.ts.map +1 -0
  40. package/dist/index.js +76 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/metrics.d.ts +279 -0
  43. package/dist/metrics.d.ts.map +1 -0
  44. package/dist/metrics.js +693 -0
  45. package/dist/metrics.js.map +1 -0
  46. package/dist/types.d.ts +240 -0
  47. package/dist/types.d.ts.map +1 -0
  48. package/dist/types.js +16 -0
  49. package/dist/types.js.map +1 -0
  50. package/dist/worker.d.ts +74 -0
  51. package/dist/worker.d.ts.map +1 -0
  52. package/dist/worker.js +269 -0
  53. package/dist/worker.js.map +1 -0
  54. package/dist/workflow.d.ts +48 -0
  55. package/dist/workflow.d.ts.map +1 -0
  56. package/dist/workflow.js +190 -0
  57. package/dist/workflow.js.map +1 -0
  58. package/package.json +93 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedded.js","sourceRoot":"","sources":["../../src/backend/embedded.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Backend Module
3
+ * Provides abstraction for embedded (direct DB) and cloud (HTTP API) modes
4
+ */
5
+ export type { Backend } from './interface.js';
6
+ export { isEmbeddedBackend } from './interface.js';
7
+ export { EmbeddedBackend } from './embedded.js';
8
+ export type { EmbeddedBackendConfig } from './embedded.js';
9
+ export { CloudBackend } from './cloud.js';
10
+ export type { CloudBackendConfig } from './cloud.js';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/backend/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,YAAY,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Backend Module
3
+ * Provides abstraction for embedded (direct DB) and cloud (HTTP API) modes
4
+ */
5
+ export { isEmbeddedBackend } from './interface.js';
6
+ export { EmbeddedBackend } from './embedded.js';
7
+ export { CloudBackend } from './cloud.js';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/backend/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Backend Interface
3
+ * Abstracts database operations for embedded vs cloud mode
4
+ */
5
+ import type { Workflow, Task, WorkflowStatus } from '../types.js';
6
+ /**
7
+ * Backend interface that both embedded (direct DB) and cloud (HTTP API) implement
8
+ */
9
+ export interface Backend {
10
+ /** Initialize the backend */
11
+ ready(): Promise<void>;
12
+ /** Close connections */
13
+ close(): Promise<void>;
14
+ /** Create a new workflow/job */
15
+ createWorkflow(name: string, version: string, input: Record<string, unknown>, priority?: number): Promise<Workflow>;
16
+ /** Get workflow by ID */
17
+ getWorkflow(id: string): Promise<Workflow | null>;
18
+ /** Update workflow status */
19
+ updateWorkflowStatus(id: string, status: WorkflowStatus, output?: Record<string, unknown>, error?: string): Promise<void>;
20
+ /** List workflows */
21
+ listWorkflows(options?: {
22
+ status?: WorkflowStatus;
23
+ limit?: number;
24
+ offset?: number;
25
+ }): Promise<Workflow[]>;
26
+ /** Create tasks for a workflow */
27
+ createTasks(workflowId: string, tasks: Array<{
28
+ name: string;
29
+ type: string;
30
+ input: Record<string, unknown>;
31
+ dependsOn: string[];
32
+ maxAttempts?: number;
33
+ }>): Promise<Task[]>;
34
+ /** Get tasks for a workflow */
35
+ getWorkflowTasks(workflowId: string): Promise<Task[]>;
36
+ /** Claim a task atomically (embedded mode only) */
37
+ claimTask?(workerId: string, taskTypes?: string[]): Promise<Task | null>;
38
+ /** Update task heartbeat (embedded mode only) */
39
+ heartbeat?(taskId: string): Promise<void>;
40
+ /** Complete a task */
41
+ completeTask(taskId: string, output: Record<string, unknown>): Promise<void>;
42
+ /** Fail a task */
43
+ failTask(taskId: string, error: string): Promise<void>;
44
+ /** Create a checkpoint */
45
+ createCheckpoint(taskId: string, stepIndex: number, state: Record<string, unknown>): Promise<void>;
46
+ /** Get latest checkpoint for a task */
47
+ getCheckpoint(taskId: string): Promise<{
48
+ stepIndex: number;
49
+ state: Record<string, unknown>;
50
+ } | null>;
51
+ /** Get all checkpoints for a workflow (for time travel) */
52
+ getWorkflowCheckpoints(workflowId: string): Promise<Array<{
53
+ taskId: string;
54
+ taskName: string;
55
+ stepIndex: number;
56
+ state: Record<string, unknown>;
57
+ createdAt: Date;
58
+ }>>;
59
+ /** Store memory for learning */
60
+ storeMemory(taskId: string, eventType: string, summary: string, embedding: number[], taskType?: string, errorCategory?: string, resolution?: string): Promise<void>;
61
+ /** Query similar memories */
62
+ queryMemories(embedding: number[], taskType?: string, limit?: number): Promise<Array<{
63
+ summary: string;
64
+ eventType: string;
65
+ resolution?: string;
66
+ similarity: number;
67
+ }>>;
68
+ /** Check if workflow is complete */
69
+ isWorkflowComplete(workflowId: string): Promise<{
70
+ complete: boolean;
71
+ failed: number;
72
+ done: number;
73
+ pending: number;
74
+ }>;
75
+ /** Replay workflow from checkpoint */
76
+ replayFromCheckpoint?(workflowId: string, checkpointId: string, newInput?: Record<string, unknown>): Promise<Workflow>;
77
+ /** Get cost summary for a workflow */
78
+ getWorkflowCost?(workflowId: string): Promise<{
79
+ totalTokens: number;
80
+ estimatedCostUsd: number;
81
+ savedByRecoveryUsd: number;
82
+ }>;
83
+ }
84
+ /**
85
+ * Type guard for embedded backend (has worker-related methods)
86
+ */
87
+ export declare function isEmbeddedBackend(backend: Backend): backend is Backend & Required<Pick<Backend, 'claimTask' | 'heartbeat'>>;
88
+ //# sourceMappingURL=interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/backend/interface.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Backend Interface
3
+ * Abstracts database operations for embedded vs cloud mode
4
+ */
5
+ /**
6
+ * Type guard for embedded backend (has worker-related methods)
7
+ */
8
+ export function isEmbeddedBackend(backend) {
9
+ return 'claimTask' in backend && typeof backend.claimTask === 'function';
10
+ }
11
+ //# sourceMappingURL=interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../src/backend/interface.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwJH;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAgB;IAEhB,OAAO,WAAW,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,UAAU,CAAC;AAC3E,CAAC"}
@@ -0,0 +1,117 @@
1
+ /**
2
+ * Chaos Engineering Module
3
+ *
4
+ * Built-in failure injection for testing crash recovery.
5
+ * Enables chaos testing without external tools.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * const workflow = runtime.workflow('test', {
10
+ * chaos: {
11
+ * enabled: process.env.CHAOS_MODE === 'true',
12
+ * failureRate: 0.3, // 30% of tasks fail randomly
13
+ * failAtCheckpoints: ['step-2'], // Always fail at these checkpoints
14
+ * latencyMs: { min: 100, max: 2000 }, // Random latency injection
15
+ * },
16
+ * steps: [...]
17
+ * });
18
+ * ```
19
+ */
20
+ export interface ChaosConfig {
21
+ /** Enable chaos mode */
22
+ enabled: boolean;
23
+ /** Random failure rate (0-1) */
24
+ failureRate?: number;
25
+ /** Always fail at these checkpoint names */
26
+ failAtCheckpoints?: string[];
27
+ /** Inject random latency */
28
+ latencyMs?: {
29
+ min: number;
30
+ max: number;
31
+ };
32
+ /** Fail after N successful executions (for testing recovery) */
33
+ failAfterSuccesses?: number;
34
+ /** Specific task types to target */
35
+ targetTaskTypes?: string[];
36
+ /** Failure types to inject */
37
+ failureTypes?: ChaosFailureType[];
38
+ }
39
+ export type ChaosFailureType = 'crash' | 'timeout' | 'network' | 'oom' | 'rate_limit' | 'partial';
40
+ interface ChaosState {
41
+ successCount: number;
42
+ failureCount: number;
43
+ lastFailureType?: ChaosFailureType;
44
+ }
45
+ /**
46
+ * Chaos Engine - handles failure injection
47
+ */
48
+ export declare class ChaosEngine {
49
+ private config;
50
+ private workflowId;
51
+ constructor(workflowId: string, config: ChaosConfig);
52
+ /**
53
+ * Check if chaos should trigger at this point
54
+ */
55
+ shouldFail(context: {
56
+ checkpointName?: string;
57
+ taskType?: string;
58
+ }): boolean;
59
+ /**
60
+ * Get the type of failure to inject
61
+ */
62
+ getFailureType(): ChaosFailureType;
63
+ /**
64
+ * Get random latency to inject
65
+ */
66
+ getLatency(): number;
67
+ /**
68
+ * Inject failure based on type
69
+ */
70
+ injectFailure(type: ChaosFailureType): Promise<never>;
71
+ /**
72
+ * Inject latency if configured
73
+ */
74
+ injectLatency(): Promise<void>;
75
+ /**
76
+ * Record successful execution
77
+ */
78
+ recordSuccess(): void;
79
+ /**
80
+ * Get current chaos state
81
+ */
82
+ getState(): ChaosState;
83
+ /**
84
+ * Reset chaos state
85
+ */
86
+ reset(): void;
87
+ }
88
+ /**
89
+ * Custom error for chaos-induced failures
90
+ */
91
+ export declare class ChaosError extends Error {
92
+ readonly isChaos = true;
93
+ readonly failureType: ChaosFailureType;
94
+ constructor(message: string, failureType: ChaosFailureType);
95
+ }
96
+ /**
97
+ * Create a chaos-wrapped checkpoint function
98
+ */
99
+ export declare function createChaosCheckpoint(originalCheckpoint: (state?: Record<string, unknown>) => Promise<void>, engine: ChaosEngine): (name: string, state?: Record<string, unknown>) => Promise<void>;
100
+ /**
101
+ * Chaos middleware for step handlers
102
+ */
103
+ export declare function withChaos<T>(handler: () => Promise<T>, engine: ChaosEngine, taskType?: string): () => Promise<T>;
104
+ /**
105
+ * Utility to enable chaos mode via environment variable
106
+ */
107
+ export declare function isChaosEnabled(): boolean;
108
+ /**
109
+ * Default chaos config for testing
110
+ */
111
+ export declare const DEFAULT_CHAOS_CONFIG: ChaosConfig;
112
+ /**
113
+ * Aggressive chaos config for stress testing
114
+ */
115
+ export declare const STRESS_CHAOS_CONFIG: ChaosConfig;
116
+ export {};
117
+ //# sourceMappingURL=chaos.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chaos.d.ts","sourceRoot":"","sources":["../src/chaos.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,WAAW,WAAW;IAC1B,wBAAwB;IACxB,OAAO,EAAE,OAAO,CAAC;IAEjB,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,4CAA4C;IAC5C,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE7B,4BAA4B;IAC5B,SAAS,CAAC,EAAE;QACV,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IAEF,gEAAgE;IAChE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,oCAAoC;IACpC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B,8BAA8B;IAC9B,YAAY,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACnC;AAED,MAAM,MAAM,gBAAgB,GACxB,OAAO,GACP,SAAS,GACT,SAAS,GACT,KAAK,GACL,YAAY,GACZ,SAAS,CAAC;AAEd,UAAU,UAAU;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,gBAAgB,CAAC;CACpC;AAKD;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,UAAU,CAAS;gBAEf,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW;IAYnD;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE;QAClB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO;IA+BX;;OAEG;IACH,cAAc,IAAI,gBAAgB;IAKlC;;OAEG;IACH,UAAU,IAAI,MAAM;IAMpB;;OAEG;IACG,aAAa,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC;IA8B3D;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IASpC;;OAEG;IACH,aAAa,IAAI,IAAI;IAKrB;;OAEG;IACH,QAAQ,IAAI,UAAU;IAItB;;OAEG;IACH,KAAK,IAAI,IAAI;CAMd;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,KAAK;IACnC,QAAQ,CAAC,OAAO,QAAQ;IACxB,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;gBAE3B,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB;CAK3D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,kBAAkB,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,EACtE,MAAM,EAAE,WAAW,GAClB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAclE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,EACzB,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACzB,MAAM,EAAE,WAAW,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,OAAO,CAAC,CAAC,CAAC,CAsBlB;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAExC;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAKlC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,WAKjC,CAAC"}
package/dist/chaos.js ADDED
@@ -0,0 +1,215 @@
1
+ /**
2
+ * Chaos Engineering Module
3
+ *
4
+ * Built-in failure injection for testing crash recovery.
5
+ * Enables chaos testing without external tools.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * const workflow = runtime.workflow('test', {
10
+ * chaos: {
11
+ * enabled: process.env.CHAOS_MODE === 'true',
12
+ * failureRate: 0.3, // 30% of tasks fail randomly
13
+ * failAtCheckpoints: ['step-2'], // Always fail at these checkpoints
14
+ * latencyMs: { min: 100, max: 2000 }, // Random latency injection
15
+ * },
16
+ * steps: [...]
17
+ * });
18
+ * ```
19
+ */
20
+ // Global state for tracking across executions
21
+ const chaosStates = new Map();
22
+ /**
23
+ * Chaos Engine - handles failure injection
24
+ */
25
+ export class ChaosEngine {
26
+ config;
27
+ workflowId;
28
+ constructor(workflowId, config) {
29
+ this.workflowId = workflowId;
30
+ this.config = config;
31
+ if (!chaosStates.has(workflowId)) {
32
+ chaosStates.set(workflowId, {
33
+ successCount: 0,
34
+ failureCount: 0,
35
+ });
36
+ }
37
+ }
38
+ /**
39
+ * Check if chaos should trigger at this point
40
+ */
41
+ shouldFail(context) {
42
+ if (!this.config.enabled)
43
+ return false;
44
+ // Check if targeting specific task types
45
+ if (this.config.targetTaskTypes?.length) {
46
+ if (!context.taskType || !this.config.targetTaskTypes.includes(context.taskType)) {
47
+ return false;
48
+ }
49
+ }
50
+ // Check fail at specific checkpoints
51
+ if (context.checkpointName && this.config.failAtCheckpoints?.includes(context.checkpointName)) {
52
+ return true;
53
+ }
54
+ // Check fail after N successes
55
+ const state = chaosStates.get(this.workflowId);
56
+ if (this.config.failAfterSuccesses !== undefined) {
57
+ if (state.successCount >= this.config.failAfterSuccesses) {
58
+ return true;
59
+ }
60
+ }
61
+ // Random failure rate
62
+ if (this.config.failureRate !== undefined) {
63
+ return Math.random() < this.config.failureRate;
64
+ }
65
+ return false;
66
+ }
67
+ /**
68
+ * Get the type of failure to inject
69
+ */
70
+ getFailureType() {
71
+ const types = this.config.failureTypes || ['crash'];
72
+ return types[Math.floor(Math.random() * types.length)];
73
+ }
74
+ /**
75
+ * Get random latency to inject
76
+ */
77
+ getLatency() {
78
+ if (!this.config.latencyMs)
79
+ return 0;
80
+ const { min, max } = this.config.latencyMs;
81
+ return Math.floor(Math.random() * (max - min + 1)) + min;
82
+ }
83
+ /**
84
+ * Inject failure based on type
85
+ */
86
+ async injectFailure(type) {
87
+ const state = chaosStates.get(this.workflowId);
88
+ state.failureCount++;
89
+ state.lastFailureType = type;
90
+ switch (type) {
91
+ case 'crash':
92
+ throw new ChaosError('CHAOS: Simulated process crash', type);
93
+ case 'timeout':
94
+ await new Promise(resolve => setTimeout(resolve, 30000));
95
+ throw new ChaosError('CHAOS: Simulated timeout', type);
96
+ case 'network':
97
+ throw new ChaosError('CHAOS: Simulated network error - ECONNREFUSED', type);
98
+ case 'oom':
99
+ throw new ChaosError('CHAOS: Simulated out of memory - JavaScript heap out of memory', type);
100
+ case 'rate_limit':
101
+ throw new ChaosError('CHAOS: Simulated rate limit - 429 Too Many Requests', type);
102
+ case 'partial':
103
+ throw new ChaosError('CHAOS: Simulated partial completion - task interrupted', type);
104
+ default:
105
+ throw new ChaosError('CHAOS: Unknown failure type', 'crash');
106
+ }
107
+ }
108
+ /**
109
+ * Inject latency if configured
110
+ */
111
+ async injectLatency() {
112
+ if (!this.config.enabled)
113
+ return;
114
+ const latency = this.getLatency();
115
+ if (latency > 0) {
116
+ await new Promise(resolve => setTimeout(resolve, latency));
117
+ }
118
+ }
119
+ /**
120
+ * Record successful execution
121
+ */
122
+ recordSuccess() {
123
+ const state = chaosStates.get(this.workflowId);
124
+ state.successCount++;
125
+ }
126
+ /**
127
+ * Get current chaos state
128
+ */
129
+ getState() {
130
+ return { ...chaosStates.get(this.workflowId) };
131
+ }
132
+ /**
133
+ * Reset chaos state
134
+ */
135
+ reset() {
136
+ chaosStates.set(this.workflowId, {
137
+ successCount: 0,
138
+ failureCount: 0,
139
+ });
140
+ }
141
+ }
142
+ /**
143
+ * Custom error for chaos-induced failures
144
+ */
145
+ export class ChaosError extends Error {
146
+ isChaos = true;
147
+ failureType;
148
+ constructor(message, failureType) {
149
+ super(message);
150
+ this.name = 'ChaosError';
151
+ this.failureType = failureType;
152
+ }
153
+ }
154
+ /**
155
+ * Create a chaos-wrapped checkpoint function
156
+ */
157
+ export function createChaosCheckpoint(originalCheckpoint, engine) {
158
+ return async (name, state) => {
159
+ // Inject latency before checkpoint
160
+ await engine.injectLatency();
161
+ // Check if we should fail at this checkpoint
162
+ if (engine.shouldFail({ checkpointName: name })) {
163
+ const failureType = engine.getFailureType();
164
+ await engine.injectFailure(failureType);
165
+ }
166
+ // Execute original checkpoint
167
+ await originalCheckpoint(state);
168
+ };
169
+ }
170
+ /**
171
+ * Chaos middleware for step handlers
172
+ */
173
+ export function withChaos(handler, engine, taskType) {
174
+ return async () => {
175
+ // Inject pre-execution latency
176
+ await engine.injectLatency();
177
+ // Check for pre-execution failure
178
+ if (engine.shouldFail({ taskType })) {
179
+ const failureType = engine.getFailureType();
180
+ await engine.injectFailure(failureType);
181
+ }
182
+ // Execute handler
183
+ const result = await handler();
184
+ // Record success
185
+ engine.recordSuccess();
186
+ // Post-execution latency
187
+ await engine.injectLatency();
188
+ return result;
189
+ };
190
+ }
191
+ /**
192
+ * Utility to enable chaos mode via environment variable
193
+ */
194
+ export function isChaosEnabled() {
195
+ return process.env.CHAOS_MODE === 'true' || process.env.X404R_CHAOS === 'true';
196
+ }
197
+ /**
198
+ * Default chaos config for testing
199
+ */
200
+ export const DEFAULT_CHAOS_CONFIG = {
201
+ enabled: isChaosEnabled(),
202
+ failureRate: 0.1,
203
+ latencyMs: { min: 50, max: 500 },
204
+ failureTypes: ['crash', 'network', 'timeout'],
205
+ };
206
+ /**
207
+ * Aggressive chaos config for stress testing
208
+ */
209
+ export const STRESS_CHAOS_CONFIG = {
210
+ enabled: true,
211
+ failureRate: 0.5,
212
+ latencyMs: { min: 100, max: 2000 },
213
+ failureTypes: ['crash', 'network', 'timeout', 'oom', 'rate_limit'],
214
+ };
215
+ //# sourceMappingURL=chaos.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chaos.js","sourceRoot":"","sources":["../src/chaos.ts"],"names":[],"mappings":"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"}