@wundam/orchex 1.0.0-rc.2 → 1.0.0-rc.21

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 (98) hide show
  1. package/README.md +59 -18
  2. package/dist/cloud-executor.d.ts +71 -0
  3. package/dist/cloud-executor.js +335 -0
  4. package/dist/cloud-sync.d.ts +8 -0
  5. package/dist/cloud-sync.js +52 -0
  6. package/dist/config.d.ts +30 -4
  7. package/dist/config.js +61 -2
  8. package/dist/context-builder.d.ts +2 -0
  9. package/dist/context-builder.js +11 -3
  10. package/dist/cost.js +1 -1
  11. package/dist/entitlements/jwt.d.ts +7 -0
  12. package/dist/entitlements/jwt.js +78 -0
  13. package/dist/entitlements/resolve.d.ts +17 -0
  14. package/dist/entitlements/resolve.js +49 -0
  15. package/dist/entitlements/types.d.ts +21 -0
  16. package/dist/entitlements/types.js +4 -0
  17. package/dist/executors/base.d.ts +1 -1
  18. package/dist/executors/bedrock-executor.d.ts +39 -0
  19. package/dist/executors/bedrock-executor.js +197 -0
  20. package/dist/executors/index.d.ts +1 -0
  21. package/dist/executors/index.js +24 -1
  22. package/dist/index.js +468 -23
  23. package/dist/intelligence/index.d.ts +44 -0
  24. package/dist/intelligence/index.js +160 -0
  25. package/dist/key-cache.d.ts +31 -0
  26. package/dist/key-cache.js +84 -0
  27. package/dist/login-helpers.d.ts +25 -0
  28. package/dist/login-helpers.js +54 -0
  29. package/dist/manifest.js +18 -1
  30. package/dist/mcp-instructions.d.ts +1 -0
  31. package/dist/mcp-instructions.js +84 -0
  32. package/dist/mcp-resources.d.ts +8 -0
  33. package/dist/mcp-resources.js +420 -0
  34. package/dist/model-cache.d.ts +18 -0
  35. package/dist/model-cache.js +62 -0
  36. package/dist/model-validator.d.ts +20 -0
  37. package/dist/model-validator.js +125 -0
  38. package/dist/orchestrator.d.ts +14 -0
  39. package/dist/orchestrator.js +191 -32
  40. package/dist/setup/ide-registry.d.ts +13 -0
  41. package/dist/setup/ide-registry.js +51 -0
  42. package/dist/setup/index.d.ts +1 -0
  43. package/dist/setup/index.js +111 -0
  44. package/dist/tier-gating.js +0 -16
  45. package/dist/tiers.d.ts +35 -5
  46. package/dist/tiers.js +39 -3
  47. package/dist/tools.d.ts +6 -1
  48. package/dist/tools.js +852 -95
  49. package/dist/types.d.ts +71 -60
  50. package/dist/types.js +3 -0
  51. package/dist/waves.d.ts +1 -1
  52. package/dist/waves.js +29 -2
  53. package/package.json +41 -5
  54. package/src/entitlements/public-key.pem +9 -0
  55. package/dist/intelligence/anti-pattern-detector.d.ts +0 -117
  56. package/dist/intelligence/anti-pattern-detector.js +0 -327
  57. package/dist/intelligence/budget-enforcer.d.ts +0 -119
  58. package/dist/intelligence/budget-enforcer.js +0 -226
  59. package/dist/intelligence/context-optimizer.d.ts +0 -111
  60. package/dist/intelligence/context-optimizer.js +0 -282
  61. package/dist/intelligence/cost-tracker.d.ts +0 -114
  62. package/dist/intelligence/cost-tracker.js +0 -183
  63. package/dist/intelligence/deliverable-extractor.d.ts +0 -134
  64. package/dist/intelligence/deliverable-extractor.js +0 -909
  65. package/dist/intelligence/dependency-inferrer.d.ts +0 -87
  66. package/dist/intelligence/dependency-inferrer.js +0 -403
  67. package/dist/intelligence/diagnostics.d.ts +0 -33
  68. package/dist/intelligence/diagnostics.js +0 -64
  69. package/dist/intelligence/error-analyzer.d.ts +0 -7
  70. package/dist/intelligence/error-analyzer.js +0 -76
  71. package/dist/intelligence/file-chunker.d.ts +0 -15
  72. package/dist/intelligence/file-chunker.js +0 -64
  73. package/dist/intelligence/fix-stream-manager.d.ts +0 -59
  74. package/dist/intelligence/fix-stream-manager.js +0 -212
  75. package/dist/intelligence/heuristics.d.ts +0 -23
  76. package/dist/intelligence/heuristics.js +0 -124
  77. package/dist/intelligence/learning-engine.d.ts +0 -157
  78. package/dist/intelligence/learning-engine.js +0 -433
  79. package/dist/intelligence/learning-feedback.d.ts +0 -96
  80. package/dist/intelligence/learning-feedback.js +0 -202
  81. package/dist/intelligence/pattern-analyzer.d.ts +0 -35
  82. package/dist/intelligence/pattern-analyzer.js +0 -189
  83. package/dist/intelligence/plan-parser.d.ts +0 -124
  84. package/dist/intelligence/plan-parser.js +0 -498
  85. package/dist/intelligence/planner.d.ts +0 -29
  86. package/dist/intelligence/planner.js +0 -86
  87. package/dist/intelligence/self-healer.d.ts +0 -16
  88. package/dist/intelligence/self-healer.js +0 -84
  89. package/dist/intelligence/slicing-metrics.d.ts +0 -62
  90. package/dist/intelligence/slicing-metrics.js +0 -202
  91. package/dist/intelligence/slicing-templates.d.ts +0 -81
  92. package/dist/intelligence/slicing-templates.js +0 -420
  93. package/dist/intelligence/split-suggester.d.ts +0 -69
  94. package/dist/intelligence/split-suggester.js +0 -176
  95. package/dist/intelligence/stream-generator.d.ts +0 -90
  96. package/dist/intelligence/stream-generator.js +0 -452
  97. package/dist/telemetry/telemetry-types.d.ts +0 -85
  98. package/dist/telemetry/telemetry-types.js +0 -1
package/dist/types.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import type { ErrorCategory } from './intelligence/error-analyzer.js';
2
+ import type { ErrorCategory } from './intelligence/index.js';
3
3
  /**
4
4
  * Budget violation type for context size tracking.
5
5
  */
@@ -28,14 +28,14 @@ export declare const ContextBudgetSchema: z.ZodObject<{
28
28
  enforcementLevel: z.ZodDefault<z.ZodEnum<["warn", "soft", "hard"]>>;
29
29
  }, "strip", z.ZodTypeAny, {
30
30
  warningThreshold: number;
31
- enforcementLevel: "soft" | "hard" | "warn";
31
+ enforcementLevel: "warn" | "soft" | "hard";
32
32
  softLimitTokens?: number | undefined;
33
33
  hardLimitTokens?: number | undefined;
34
34
  }, {
35
35
  softLimitTokens?: number | undefined;
36
36
  hardLimitTokens?: number | undefined;
37
37
  warningThreshold?: number | undefined;
38
- enforcementLevel?: "soft" | "hard" | "warn" | undefined;
38
+ enforcementLevel?: "warn" | "soft" | "hard" | undefined;
39
39
  }>;
40
40
  export type ContextBudget = z.infer<typeof ContextBudgetSchema>;
41
41
  /**
@@ -63,7 +63,7 @@ export declare const LearnConfigSchema: z.ZodObject<{
63
63
  learningRate?: number | undefined;
64
64
  }>;
65
65
  export type LearnConfig = z.infer<typeof LearnConfigSchema>;
66
- export declare const StreamStatusSchema: z.ZodEnum<["pending", "in_progress", "complete", "failed", "skipped", "blocked"]>;
66
+ export declare const StreamStatusSchema: z.ZodEnum<["pending", "in_progress", "complete", "failed", "skipped", "blocked", "circuit_breaker"]>;
67
67
  export type StreamStatus = z.infer<typeof StreamStatusSchema>;
68
68
  export declare const StreamDefinitionSchema: z.ZodObject<{
69
69
  name: z.ZodString;
@@ -73,7 +73,7 @@ export declare const StreamDefinitionSchema: z.ZodObject<{
73
73
  plan: z.ZodOptional<z.ZodString>;
74
74
  setup: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
75
75
  verify: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
76
- status: z.ZodDefault<z.ZodOptional<z.ZodEnum<["pending", "in_progress", "complete", "failed", "skipped", "blocked"]>>>;
76
+ status: z.ZodDefault<z.ZodOptional<z.ZodEnum<["pending", "in_progress", "complete", "failed", "skipped", "blocked", "circuit_breaker"]>>>;
77
77
  error: z.ZodOptional<z.ZodString>;
78
78
  attempts: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
79
79
  /** For fix streams, the ID of the original stream being fixed */
@@ -94,51 +94,56 @@ export declare const StreamDefinitionSchema: z.ZodObject<{
94
94
  enforcementLevel: z.ZodDefault<z.ZodEnum<["warn", "soft", "hard"]>>;
95
95
  }, "strip", z.ZodTypeAny, {
96
96
  warningThreshold: number;
97
- enforcementLevel: "soft" | "hard" | "warn";
97
+ enforcementLevel: "warn" | "soft" | "hard";
98
98
  softLimitTokens?: number | undefined;
99
99
  hardLimitTokens?: number | undefined;
100
100
  }, {
101
101
  softLimitTokens?: number | undefined;
102
102
  hardLimitTokens?: number | undefined;
103
103
  warningThreshold?: number | undefined;
104
- enforcementLevel?: "soft" | "hard" | "warn" | undefined;
104
+ enforcementLevel?: "warn" | "soft" | "hard" | undefined;
105
105
  }>>;
106
106
  /** Estimated tokens for this stream (populated at init/execute) */
107
107
  estimatedTokens: z.ZodOptional<z.ZodNumber>;
108
108
  /** LLM provider override for this stream. Defaults to global config. */
109
109
  provider: z.ZodOptional<z.ZodString>;
110
+ /** Suggested provider from model routing (advisory, auto-planner hint) */
111
+ suggestedProvider: z.ZodOptional<z.ZodString>;
110
112
  }, "strip", z.ZodTypeAny, {
111
- status: "pending" | "in_progress" | "complete" | "failed" | "skipped" | "blocked";
113
+ status: "complete" | "pending" | "in_progress" | "failed" | "skipped" | "blocked" | "circuit_breaker";
112
114
  name: string;
113
115
  deps: string[];
114
116
  owns: string[];
115
117
  reads: string[];
116
- setup: string[];
117
118
  verify: string[];
119
+ setup: string[];
118
120
  attempts: number;
119
- plan?: string | undefined;
120
121
  error?: string | undefined;
122
+ provider?: string | undefined;
123
+ plan?: string | undefined;
124
+ estimatedTokens?: number | undefined;
121
125
  parentStreamId?: string | undefined;
122
126
  appliedAt?: string | undefined;
123
127
  timeoutMs?: number | undefined;
124
128
  contextBudget?: {
125
129
  warningThreshold: number;
126
- enforcementLevel: "soft" | "hard" | "warn";
130
+ enforcementLevel: "warn" | "soft" | "hard";
127
131
  softLimitTokens?: number | undefined;
128
132
  hardLimitTokens?: number | undefined;
129
133
  } | undefined;
130
- estimatedTokens?: number | undefined;
131
- provider?: string | undefined;
134
+ suggestedProvider?: string | undefined;
132
135
  }, {
133
136
  name: string;
134
- status?: "pending" | "in_progress" | "complete" | "failed" | "skipped" | "blocked" | undefined;
137
+ status?: "complete" | "pending" | "in_progress" | "failed" | "skipped" | "blocked" | "circuit_breaker" | undefined;
138
+ error?: string | undefined;
139
+ provider?: string | undefined;
135
140
  deps?: string[] | undefined;
136
141
  owns?: string[] | undefined;
137
142
  reads?: string[] | undefined;
138
143
  plan?: string | undefined;
139
- setup?: string[] | undefined;
140
144
  verify?: string[] | undefined;
141
- error?: string | undefined;
145
+ setup?: string[] | undefined;
146
+ estimatedTokens?: number | undefined;
142
147
  attempts?: number | undefined;
143
148
  parentStreamId?: string | undefined;
144
149
  appliedAt?: string | undefined;
@@ -147,10 +152,9 @@ export declare const StreamDefinitionSchema: z.ZodObject<{
147
152
  softLimitTokens?: number | undefined;
148
153
  hardLimitTokens?: number | undefined;
149
154
  warningThreshold?: number | undefined;
150
- enforcementLevel?: "soft" | "hard" | "warn" | undefined;
155
+ enforcementLevel?: "warn" | "soft" | "hard" | undefined;
151
156
  } | undefined;
152
- estimatedTokens?: number | undefined;
153
- provider?: string | undefined;
157
+ suggestedProvider?: string | undefined;
154
158
  }>;
155
159
  /**
156
160
  * StreamDefinition OUTPUT type - after Zod parsing with defaults applied.
@@ -188,7 +192,7 @@ export interface WaveCalculationResult {
188
192
  export declare const ManifestSchema: z.ZodObject<{
189
193
  feature: z.ZodString;
190
194
  created: z.ZodString;
191
- status: z.ZodDefault<z.ZodOptional<z.ZodEnum<["pending", "in_progress", "complete", "failed", "skipped", "blocked"]>>>;
195
+ status: z.ZodDefault<z.ZodOptional<z.ZodEnum<["pending", "in_progress", "complete", "failed", "skipped", "blocked", "circuit_breaker"]>>>;
192
196
  streams: z.ZodRecord<z.ZodString, z.ZodObject<{
193
197
  name: z.ZodString;
194
198
  deps: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
@@ -197,7 +201,7 @@ export declare const ManifestSchema: z.ZodObject<{
197
201
  plan: z.ZodOptional<z.ZodString>;
198
202
  setup: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
199
203
  verify: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
200
- status: z.ZodDefault<z.ZodOptional<z.ZodEnum<["pending", "in_progress", "complete", "failed", "skipped", "blocked"]>>>;
204
+ status: z.ZodDefault<z.ZodOptional<z.ZodEnum<["pending", "in_progress", "complete", "failed", "skipped", "blocked", "circuit_breaker"]>>>;
201
205
  error: z.ZodOptional<z.ZodString>;
202
206
  attempts: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
203
207
  /** For fix streams, the ID of the original stream being fixed */
@@ -218,51 +222,56 @@ export declare const ManifestSchema: z.ZodObject<{
218
222
  enforcementLevel: z.ZodDefault<z.ZodEnum<["warn", "soft", "hard"]>>;
219
223
  }, "strip", z.ZodTypeAny, {
220
224
  warningThreshold: number;
221
- enforcementLevel: "soft" | "hard" | "warn";
225
+ enforcementLevel: "warn" | "soft" | "hard";
222
226
  softLimitTokens?: number | undefined;
223
227
  hardLimitTokens?: number | undefined;
224
228
  }, {
225
229
  softLimitTokens?: number | undefined;
226
230
  hardLimitTokens?: number | undefined;
227
231
  warningThreshold?: number | undefined;
228
- enforcementLevel?: "soft" | "hard" | "warn" | undefined;
232
+ enforcementLevel?: "warn" | "soft" | "hard" | undefined;
229
233
  }>>;
230
234
  /** Estimated tokens for this stream (populated at init/execute) */
231
235
  estimatedTokens: z.ZodOptional<z.ZodNumber>;
232
236
  /** LLM provider override for this stream. Defaults to global config. */
233
237
  provider: z.ZodOptional<z.ZodString>;
238
+ /** Suggested provider from model routing (advisory, auto-planner hint) */
239
+ suggestedProvider: z.ZodOptional<z.ZodString>;
234
240
  }, "strip", z.ZodTypeAny, {
235
- status: "pending" | "in_progress" | "complete" | "failed" | "skipped" | "blocked";
241
+ status: "complete" | "pending" | "in_progress" | "failed" | "skipped" | "blocked" | "circuit_breaker";
236
242
  name: string;
237
243
  deps: string[];
238
244
  owns: string[];
239
245
  reads: string[];
240
- setup: string[];
241
246
  verify: string[];
247
+ setup: string[];
242
248
  attempts: number;
243
- plan?: string | undefined;
244
249
  error?: string | undefined;
250
+ provider?: string | undefined;
251
+ plan?: string | undefined;
252
+ estimatedTokens?: number | undefined;
245
253
  parentStreamId?: string | undefined;
246
254
  appliedAt?: string | undefined;
247
255
  timeoutMs?: number | undefined;
248
256
  contextBudget?: {
249
257
  warningThreshold: number;
250
- enforcementLevel: "soft" | "hard" | "warn";
258
+ enforcementLevel: "warn" | "soft" | "hard";
251
259
  softLimitTokens?: number | undefined;
252
260
  hardLimitTokens?: number | undefined;
253
261
  } | undefined;
254
- estimatedTokens?: number | undefined;
255
- provider?: string | undefined;
262
+ suggestedProvider?: string | undefined;
256
263
  }, {
257
264
  name: string;
258
- status?: "pending" | "in_progress" | "complete" | "failed" | "skipped" | "blocked" | undefined;
265
+ status?: "complete" | "pending" | "in_progress" | "failed" | "skipped" | "blocked" | "circuit_breaker" | undefined;
266
+ error?: string | undefined;
267
+ provider?: string | undefined;
259
268
  deps?: string[] | undefined;
260
269
  owns?: string[] | undefined;
261
270
  reads?: string[] | undefined;
262
271
  plan?: string | undefined;
263
- setup?: string[] | undefined;
264
272
  verify?: string[] | undefined;
265
- error?: string | undefined;
273
+ setup?: string[] | undefined;
274
+ estimatedTokens?: number | undefined;
266
275
  attempts?: number | undefined;
267
276
  parentStreamId?: string | undefined;
268
277
  appliedAt?: string | undefined;
@@ -271,10 +280,9 @@ export declare const ManifestSchema: z.ZodObject<{
271
280
  softLimitTokens?: number | undefined;
272
281
  hardLimitTokens?: number | undefined;
273
282
  warningThreshold?: number | undefined;
274
- enforcementLevel?: "soft" | "hard" | "warn" | undefined;
283
+ enforcementLevel?: "warn" | "soft" | "hard" | undefined;
275
284
  } | undefined;
276
- estimatedTokens?: number | undefined;
277
- provider?: string | undefined;
285
+ suggestedProvider?: string | undefined;
278
286
  }>>;
279
287
  /** Pre-computed wave number for each stream (streamId -> wave number) */
280
288
  waveAssignments: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
@@ -292,14 +300,14 @@ export declare const ManifestSchema: z.ZodObject<{
292
300
  enforcementLevel: z.ZodDefault<z.ZodEnum<["warn", "soft", "hard"]>>;
293
301
  }, "strip", z.ZodTypeAny, {
294
302
  warningThreshold: number;
295
- enforcementLevel: "soft" | "hard" | "warn";
303
+ enforcementLevel: "warn" | "soft" | "hard";
296
304
  softLimitTokens?: number | undefined;
297
305
  hardLimitTokens?: number | undefined;
298
306
  }, {
299
307
  softLimitTokens?: number | undefined;
300
308
  hardLimitTokens?: number | undefined;
301
309
  warningThreshold?: number | undefined;
302
- enforcementLevel?: "soft" | "hard" | "warn" | undefined;
310
+ enforcementLevel?: "warn" | "soft" | "hard" | undefined;
303
311
  }>>;
304
312
  /** Learning configuration for adaptive thresholds (Orchex Learn) */
305
313
  learnConfig: z.ZodOptional<z.ZodObject<{
@@ -325,35 +333,36 @@ export declare const ManifestSchema: z.ZodObject<{
325
333
  /** Unique run ID for correlation across logs, telemetry, and history */
326
334
  runId: z.ZodOptional<z.ZodString>;
327
335
  }, "strip", z.ZodTypeAny, {
328
- status: "pending" | "in_progress" | "complete" | "failed" | "skipped" | "blocked";
336
+ status: "complete" | "pending" | "in_progress" | "failed" | "skipped" | "blocked" | "circuit_breaker";
329
337
  feature: string;
330
338
  created: string;
331
339
  streams: Record<string, {
332
- status: "pending" | "in_progress" | "complete" | "failed" | "skipped" | "blocked";
340
+ status: "complete" | "pending" | "in_progress" | "failed" | "skipped" | "blocked" | "circuit_breaker";
333
341
  name: string;
334
342
  deps: string[];
335
343
  owns: string[];
336
344
  reads: string[];
337
- setup: string[];
338
345
  verify: string[];
346
+ setup: string[];
339
347
  attempts: number;
340
- plan?: string | undefined;
341
348
  error?: string | undefined;
349
+ provider?: string | undefined;
350
+ plan?: string | undefined;
351
+ estimatedTokens?: number | undefined;
342
352
  parentStreamId?: string | undefined;
343
353
  appliedAt?: string | undefined;
344
354
  timeoutMs?: number | undefined;
345
355
  contextBudget?: {
346
356
  warningThreshold: number;
347
- enforcementLevel: "soft" | "hard" | "warn";
357
+ enforcementLevel: "warn" | "soft" | "hard";
348
358
  softLimitTokens?: number | undefined;
349
359
  hardLimitTokens?: number | undefined;
350
360
  } | undefined;
351
- estimatedTokens?: number | undefined;
352
- provider?: string | undefined;
361
+ suggestedProvider?: string | undefined;
353
362
  }>;
354
363
  contextBudget?: {
355
364
  warningThreshold: number;
356
- enforcementLevel: "soft" | "hard" | "warn";
365
+ enforcementLevel: "warn" | "soft" | "hard";
357
366
  softLimitTokens?: number | undefined;
358
367
  hardLimitTokens?: number | undefined;
359
368
  } | undefined;
@@ -371,14 +380,16 @@ export declare const ManifestSchema: z.ZodObject<{
371
380
  created: string;
372
381
  streams: Record<string, {
373
382
  name: string;
374
- status?: "pending" | "in_progress" | "complete" | "failed" | "skipped" | "blocked" | undefined;
383
+ status?: "complete" | "pending" | "in_progress" | "failed" | "skipped" | "blocked" | "circuit_breaker" | undefined;
384
+ error?: string | undefined;
385
+ provider?: string | undefined;
375
386
  deps?: string[] | undefined;
376
387
  owns?: string[] | undefined;
377
388
  reads?: string[] | undefined;
378
389
  plan?: string | undefined;
379
- setup?: string[] | undefined;
380
390
  verify?: string[] | undefined;
381
- error?: string | undefined;
391
+ setup?: string[] | undefined;
392
+ estimatedTokens?: number | undefined;
382
393
  attempts?: number | undefined;
383
394
  parentStreamId?: string | undefined;
384
395
  appliedAt?: string | undefined;
@@ -387,17 +398,16 @@ export declare const ManifestSchema: z.ZodObject<{
387
398
  softLimitTokens?: number | undefined;
388
399
  hardLimitTokens?: number | undefined;
389
400
  warningThreshold?: number | undefined;
390
- enforcementLevel?: "soft" | "hard" | "warn" | undefined;
401
+ enforcementLevel?: "warn" | "soft" | "hard" | undefined;
391
402
  } | undefined;
392
- estimatedTokens?: number | undefined;
393
- provider?: string | undefined;
403
+ suggestedProvider?: string | undefined;
394
404
  }>;
395
- status?: "pending" | "in_progress" | "complete" | "failed" | "skipped" | "blocked" | undefined;
405
+ status?: "complete" | "pending" | "in_progress" | "failed" | "skipped" | "blocked" | "circuit_breaker" | undefined;
396
406
  contextBudget?: {
397
407
  softLimitTokens?: number | undefined;
398
408
  hardLimitTokens?: number | undefined;
399
409
  warningThreshold?: number | undefined;
400
- enforcementLevel?: "soft" | "hard" | "warn" | undefined;
410
+ enforcementLevel?: "warn" | "soft" | "hard" | undefined;
401
411
  } | undefined;
402
412
  waveAssignments?: Record<string, number> | undefined;
403
413
  totalWaves?: number | undefined;
@@ -454,7 +464,7 @@ export declare const FileOperationSchema: z.ZodObject<{
454
464
  }>, "many">>;
455
465
  }, "strip", z.ZodTypeAny, {
456
466
  path: string;
457
- type: "create" | "replace" | "edit" | "delete";
467
+ type: "replace" | "create" | "delete" | "edit";
458
468
  content?: string | undefined;
459
469
  edits?: {
460
470
  newContent: string;
@@ -463,7 +473,7 @@ export declare const FileOperationSchema: z.ZodObject<{
463
473
  }[] | undefined;
464
474
  }, {
465
475
  path: string;
466
- type: "create" | "replace" | "edit" | "delete";
476
+ type: "replace" | "create" | "delete" | "edit";
467
477
  content?: string | undefined;
468
478
  edits?: {
469
479
  newContent: string;
@@ -494,7 +504,7 @@ export declare const StreamArtifactSchema: z.ZodObject<{
494
504
  }>, "many">>;
495
505
  }, "strip", z.ZodTypeAny, {
496
506
  path: string;
497
- type: "create" | "replace" | "edit" | "delete";
507
+ type: "replace" | "create" | "delete" | "edit";
498
508
  content?: string | undefined;
499
509
  edits?: {
500
510
  newContent: string;
@@ -503,7 +513,7 @@ export declare const StreamArtifactSchema: z.ZodObject<{
503
513
  }[] | undefined;
504
514
  }, {
505
515
  path: string;
506
- type: "create" | "replace" | "edit" | "delete";
516
+ type: "replace" | "create" | "delete" | "edit";
507
517
  content?: string | undefined;
508
518
  edits?: {
509
519
  newContent: string;
@@ -519,7 +529,7 @@ export declare const StreamArtifactSchema: z.ZodObject<{
519
529
  streamId: string;
520
530
  operations: {
521
531
  path: string;
522
- type: "create" | "replace" | "edit" | "delete";
532
+ type: "replace" | "create" | "delete" | "edit";
523
533
  content?: string | undefined;
524
534
  edits?: {
525
535
  newContent: string;
@@ -534,9 +544,10 @@ export declare const StreamArtifactSchema: z.ZodObject<{
534
544
  status: "complete" | "failed" | "partial";
535
545
  streamId: string;
536
546
  error?: string | undefined;
547
+ summary?: string | undefined;
537
548
  operations?: {
538
549
  path: string;
539
- type: "create" | "replace" | "edit" | "delete";
550
+ type: "replace" | "create" | "delete" | "edit";
540
551
  content?: string | undefined;
541
552
  edits?: {
542
553
  newContent: string;
@@ -544,7 +555,6 @@ export declare const StreamArtifactSchema: z.ZodObject<{
544
555
  lineRange?: [number, number] | undefined;
545
556
  }[] | undefined;
546
557
  }[] | undefined;
547
- summary?: string | undefined;
548
558
  filesChanged?: string[] | undefined;
549
559
  }>;
550
560
  export type StreamArtifact = z.infer<typeof StreamArtifactSchema>;
@@ -558,6 +568,7 @@ export interface StreamResult {
558
568
  errorDetail?: {
559
569
  category: ErrorCategory;
560
570
  retryable: boolean;
571
+ selfHealable: boolean;
561
572
  suggestion: string;
562
573
  };
563
574
  tokensUsed?: {
package/dist/types.js CHANGED
@@ -52,6 +52,7 @@ export const StreamStatusSchema = z.enum([
52
52
  'failed',
53
53
  'skipped',
54
54
  'blocked',
55
+ 'circuit_breaker',
55
56
  ]);
56
57
  const RelativePathString = z.string().refine(p => !p.includes('..') && !path.isAbsolute(p), 'Path must be relative without traversal');
57
58
  export const StreamDefinitionSchema = z.object({
@@ -77,6 +78,8 @@ export const StreamDefinitionSchema = z.object({
77
78
  estimatedTokens: z.number().optional(),
78
79
  /** LLM provider override for this stream. Defaults to global config. */
79
80
  provider: z.string().optional(),
81
+ /** Suggested provider from model routing (advisory, auto-planner hint) */
82
+ suggestedProvider: z.string().optional(),
80
83
  });
81
84
  // ============================================================================
82
85
  // Manifest Types
package/dist/waves.d.ts CHANGED
@@ -7,7 +7,7 @@ import type { Manifest, Wave, WaveCalculationResult } from './types.js';
7
7
  * Streams whose dependencies have failed are marked as blocked and
8
8
  * excluded from waves.
9
9
  */
10
- export declare function calculateWaves(manifest: Manifest): WaveCalculationResult;
10
+ export declare function calculateWaves(manifest: Manifest, projectDir?: string): WaveCalculationResult;
11
11
  /**
12
12
  * Find the first wave with incomplete streams.
13
13
  */
package/dist/waves.js CHANGED
@@ -1,3 +1,5 @@
1
+ import { existsSync } from 'fs';
2
+ import * as path from 'path';
1
3
  /**
2
4
  * Calculate execution waves from a manifest using topological sort.
3
5
  * Streams with no unmet deps go in Wave 1, streams depending only on
@@ -6,7 +8,7 @@
6
8
  * Streams whose dependencies have failed are marked as blocked and
7
9
  * excluded from waves.
8
10
  */
9
- export function calculateWaves(manifest) {
11
+ export function calculateWaves(manifest, projectDir) {
10
12
  const errors = [];
11
13
  const waves = [];
12
14
  const blocked = [];
@@ -36,7 +38,32 @@ export function calculateWaves(manifest) {
36
38
  for (const [id, deps] of remaining) {
37
39
  const failedDeps = deps.filter(dep => failed.has(dep));
38
40
  if (failedDeps.length > 0) {
39
- toBlock.push(id);
41
+ // Check if all files owned by failed deps exist on disk (written before failure).
42
+ // If so, the dependent can proceed — the files it needs are available.
43
+ const allDepFilesExist = projectDir ? failedDeps.every(dep => {
44
+ const depStream = manifest.streams[dep];
45
+ if (!depStream?.owns || depStream.owns.length === 0)
46
+ return false;
47
+ return depStream.owns.every(f => {
48
+ try {
49
+ return existsSync(path.resolve(projectDir, f));
50
+ }
51
+ catch {
52
+ return false;
53
+ }
54
+ });
55
+ }) : false;
56
+ if (!allDepFilesExist) {
57
+ toBlock.push(id);
58
+ }
59
+ else {
60
+ // Treat failed deps with existing files as satisfied for wave calculation.
61
+ // Guard: only promote once (avoids redundant adds across while-loop iterations).
62
+ for (const dep of failedDeps) {
63
+ if (!completed.has(dep))
64
+ completed.add(dep);
65
+ }
66
+ }
40
67
  }
41
68
  }
42
69
  for (const id of toBlock) {
package/package.json CHANGED
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "@wundam/orchex",
3
- "version": "1.0.0-rc.2",
4
- "description": "Parallel agent orchestration via MCP",
3
+ "mcpName": "io.github.wundam/orchex",
4
+ "version": "1.0.0-rc.21",
5
+ "description": "Autopilot AI orchestration — auto-plan, parallelize, and execute with ownership enforcement",
5
6
  "type": "module",
6
7
  "main": "dist/index.js",
7
8
  "bin": {
@@ -13,7 +14,7 @@
13
14
  "test": "vitest run",
14
15
  "test:watch": "vitest",
15
16
  "lint": "eslint src/",
16
- "prepublishOnly": "node scripts/prepublish-clean.mjs && npm run build",
17
+ "prepublishOnly": "node scripts/prepublish-clean.mjs && npm run build && node scripts/bundle-intelligence.mjs",
17
18
  "postpublish": "node scripts/prepublish-clean.mjs restore"
18
19
  },
19
20
  "author": "Wundam LLC",
@@ -27,15 +28,25 @@
27
28
  },
28
29
  "keywords": [
29
30
  "mcp",
31
+ "mcp-server",
30
32
  "orchestration",
31
33
  "parallel",
32
34
  "agents",
33
- "ai"
35
+ "ai",
36
+ "llm",
37
+ "autopilot",
38
+ "multi-agent",
39
+ "claude",
40
+ "openai",
41
+ "gemini",
42
+ "self-healing",
43
+ "code-generation"
34
44
  ],
35
45
  "license": "BUSL-1.1",
36
46
  "dependencies": {
37
47
  "@anthropic-ai/sdk": "^0.72.1",
38
48
  "@modelcontextprotocol/sdk": "^1.0.0",
49
+ "jose": "^6.2.1",
39
50
  "jsonrepair": "^3.13.2",
40
51
  "pino": "^10.3.1",
41
52
  "yaml": "^2.3.0",
@@ -64,6 +75,16 @@
64
75
  "dist/commands.d.ts",
65
76
  "dist/config.js",
66
77
  "dist/config.d.ts",
78
+ "dist/key-cache.js",
79
+ "dist/key-cache.d.ts",
80
+ "dist/model-cache.js",
81
+ "dist/model-cache.d.ts",
82
+ "dist/model-validator.js",
83
+ "dist/model-validator.d.ts",
84
+ "dist/cloud-executor.js",
85
+ "dist/cloud-executor.d.ts",
86
+ "dist/cloud-sync.js",
87
+ "dist/cloud-sync.d.ts",
67
88
  "dist/context-builder.js",
68
89
  "dist/context-builder.d.ts",
69
90
  "dist/cost.js",
@@ -76,8 +97,14 @@
76
97
  "dist/logger.d.ts",
77
98
  "dist/logging.js",
78
99
  "dist/logging.d.ts",
100
+ "dist/login-helpers.js",
101
+ "dist/login-helpers.d.ts",
79
102
  "dist/manifest.js",
80
103
  "dist/manifest.d.ts",
104
+ "dist/mcp-instructions.js",
105
+ "dist/mcp-instructions.d.ts",
106
+ "dist/mcp-resources.js",
107
+ "dist/mcp-resources.d.ts",
81
108
  "dist/metrics.js",
82
109
  "dist/metrics.d.ts",
83
110
  "dist/orchestrator.js",
@@ -86,6 +113,7 @@
86
113
  "dist/ownership.d.ts",
87
114
  "dist/semaphore.js",
88
115
  "dist/semaphore.d.ts",
116
+ "dist/setup/",
89
117
  "dist/tier-gating.js",
90
118
  "dist/tier-gating.d.ts",
91
119
  "dist/tiers.js",
@@ -96,8 +124,16 @@
96
124
  "dist/types.d.ts",
97
125
  "dist/waves.js",
98
126
  "dist/waves.d.ts",
127
+ "dist/entitlements/jwt.js",
128
+ "dist/entitlements/jwt.d.ts",
129
+ "dist/entitlements/types.js",
130
+ "dist/entitlements/types.d.ts",
131
+ "dist/entitlements/resolve.js",
132
+ "dist/entitlements/resolve.d.ts",
133
+ "src/entitlements/public-key.pem",
99
134
  "dist/executors/",
100
- "dist/intelligence/",
135
+ "dist/intelligence/index.js",
136
+ "dist/intelligence/index.d.ts",
101
137
  "dist/telemetry/telemetry-types.js",
102
138
  "dist/telemetry/telemetry-types.d.ts",
103
139
  "dist/utils/"
@@ -0,0 +1,9 @@
1
+ -----BEGIN PUBLIC KEY-----
2
+ MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA+qoAVKhWzWxJNhO0G3Ra
3
+ KR79XrHq+ZjsOqaJjKIFuyoIXjcOtlMt1Z2CN0IQP7CiAebw0aXa97TFoXQtiEBc
4
+ g2K2qqmURHgOQrtj0SHFlODDzzCorwWnvP02eNFxZ3H6lom++RhBgu2n8F0NMLca
5
+ zw1cJGbfUIYTZH2VQuC0HeG2U8BDQ5iK1rKt2hlkVGEG8yRAZkz8OStFPgFSRI2J
6
+ 5JW46lJiq+NcCc+UOx8xygFf59kTXuwWB9pQQNQn/GRMsK+XiuNYEwQMqfODmJsw
7
+ 3wOnjqdbPTizs0ktH0fugCtB3KoZGr+rIdDTLa08y6M5S7dKRAm+vb/ILRPmOQQ/
8
+ YwIDAQAB
9
+ -----END PUBLIC KEY-----