apcore-js 0.7.1 → 0.9.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 (80) hide show
  1. package/README.md +11 -2
  2. package/dist/acl.d.ts +18 -1
  3. package/dist/acl.d.ts.map +1 -1
  4. package/dist/acl.js +46 -5
  5. package/dist/acl.js.map +1 -1
  6. package/dist/config.d.ts +34 -1
  7. package/dist/config.d.ts.map +1 -1
  8. package/dist/config.js +251 -9
  9. package/dist/config.js.map +1 -1
  10. package/dist/context.d.ts +7 -10
  11. package/dist/context.d.ts.map +1 -1
  12. package/dist/context.js +8 -11
  13. package/dist/context.js.map +1 -1
  14. package/dist/error-code-registry.d.ts +26 -0
  15. package/dist/error-code-registry.d.ts.map +1 -0
  16. package/dist/error-code-registry.js +91 -0
  17. package/dist/error-code-registry.js.map +1 -0
  18. package/dist/errors.d.ts +2 -0
  19. package/dist/errors.d.ts.map +1 -1
  20. package/dist/errors.js +5 -3
  21. package/dist/errors.js.map +1 -1
  22. package/dist/executor.d.ts +17 -4
  23. package/dist/executor.d.ts.map +1 -1
  24. package/dist/executor.js +133 -58
  25. package/dist/executor.js.map +1 -1
  26. package/dist/index.d.ts +13 -7
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +12 -5
  29. package/dist/index.js.map +1 -1
  30. package/dist/middleware/index.d.ts +2 -0
  31. package/dist/middleware/index.d.ts.map +1 -1
  32. package/dist/middleware/index.js +1 -0
  33. package/dist/middleware/index.js.map +1 -1
  34. package/dist/middleware/manager.d.ts +1 -0
  35. package/dist/middleware/manager.d.ts.map +1 -1
  36. package/dist/middleware/manager.js +1 -0
  37. package/dist/middleware/manager.js.map +1 -1
  38. package/dist/middleware/retry.d.ts +31 -0
  39. package/dist/middleware/retry.d.ts.map +1 -0
  40. package/dist/middleware/retry.js +67 -0
  41. package/dist/middleware/retry.js.map +1 -0
  42. package/dist/module.d.ts +12 -0
  43. package/dist/module.d.ts.map +1 -1
  44. package/dist/module.js +7 -0
  45. package/dist/module.js.map +1 -1
  46. package/dist/observability/context-logger.d.ts +1 -1
  47. package/dist/observability/context-logger.d.ts.map +1 -1
  48. package/dist/observability/context-logger.js.map +1 -1
  49. package/dist/registry/registry.d.ts +49 -0
  50. package/dist/registry/registry.d.ts.map +1 -1
  51. package/dist/registry/registry.js +122 -0
  52. package/dist/registry/registry.js.map +1 -1
  53. package/dist/schema/exporter.d.ts.map +1 -1
  54. package/dist/schema/exporter.js +1 -0
  55. package/dist/schema/exporter.js.map +1 -1
  56. package/dist/utils/call-chain.d.ts +23 -0
  57. package/dist/utils/call-chain.d.ts.map +1 -0
  58. package/dist/utils/call-chain.js +50 -0
  59. package/dist/utils/call-chain.js.map +1 -0
  60. package/dist/utils/error-propagation.d.ts +18 -0
  61. package/dist/utils/error-propagation.d.ts.map +1 -0
  62. package/dist/utils/error-propagation.js +35 -0
  63. package/dist/utils/error-propagation.js.map +1 -0
  64. package/dist/utils/index.d.ts +4 -1
  65. package/dist/utils/index.d.ts.map +1 -1
  66. package/dist/utils/index.js +4 -1
  67. package/dist/utils/index.js.map +1 -1
  68. package/dist/utils/normalize.d.ts +18 -0
  69. package/dist/utils/normalize.d.ts.map +1 -0
  70. package/dist/utils/normalize.js +61 -0
  71. package/dist/utils/normalize.js.map +1 -0
  72. package/dist/utils/pattern.d.ts +15 -0
  73. package/dist/utils/pattern.d.ts.map +1 -1
  74. package/dist/utils/pattern.js +31 -0
  75. package/dist/utils/pattern.js.map +1 -1
  76. package/dist/version.d.ts +27 -0
  77. package/dist/version.d.ts.map +1 -0
  78. package/dist/version.js +104 -0
  79. package/dist/version.js.map +1 -0
  80. package/package.json +3 -3
package/dist/executor.js CHANGED
@@ -8,11 +8,16 @@ import { Value } from '@sinclair/typebox/value';
8
8
  import { createApprovalRequest } from './approval.js';
9
9
  import { Context } from './context.js';
10
10
  import { ExecutionCancelledError } from './cancel.js';
11
- import { ACLDeniedError, ApprovalDeniedError, ApprovalPendingError, ApprovalTimeoutError, CallDepthExceededError, CallFrequencyExceededError, CircularCallError, InvalidInputError, ModuleNotFoundError, ModuleTimeoutError, SchemaValidationError, } from './errors.js';
11
+ import { ACLDeniedError, ApprovalDeniedError, ApprovalPendingError, ApprovalTimeoutError, InvalidInputError, ModuleError, ModuleNotFoundError, ModuleTimeoutError, SchemaValidationError, } from './errors.js';
12
12
  import { AfterMiddleware, BeforeMiddleware } from './middleware/index.js';
13
13
  import { MiddlewareChainError, MiddlewareManager } from './middleware/manager.js';
14
- import { DEFAULT_ANNOTATIONS } from './module.js';
14
+ import { guardCallChain } from './utils/call-chain.js';
15
+ import { DEFAULT_ANNOTATIONS, createPreflightResult } from './module.js';
16
+ import { MODULE_ID_PATTERN } from './registry/registry.js';
15
17
  export const REDACTED_VALUE = '***REDACTED***';
18
+ /** Well-known context.data keys used internally by the framework. */
19
+ export const CTX_GLOBAL_DEADLINE = '_global_deadline';
20
+ export const CTX_TRACING_SPANS = '_tracing_spans';
16
21
  export function redactSensitive(data, schemaDict) {
17
22
  const redacted = JSON.parse(JSON.stringify(data));
18
23
  redactFields(redacted, schemaDict);
@@ -89,6 +94,7 @@ export class Executor {
89
94
  _config;
90
95
  _approvalHandler;
91
96
  _defaultTimeout;
97
+ _globalTimeout;
92
98
  _maxCallDepth;
93
99
  _maxModuleRepeat;
94
100
  constructor(options) {
@@ -104,15 +110,20 @@ export class Executor {
104
110
  }
105
111
  if (this._config !== null) {
106
112
  this._defaultTimeout = this._config.get('executor.default_timeout') ?? 30000;
113
+ this._globalTimeout = this._config.get('executor.global_timeout') ?? 60000;
107
114
  this._maxCallDepth = this._config.get('executor.max_call_depth') ?? 32;
108
115
  this._maxModuleRepeat = this._config.get('executor.max_module_repeat') ?? 3;
109
116
  }
110
117
  else {
111
118
  this._defaultTimeout = 30000;
119
+ this._globalTimeout = 60000;
112
120
  this._maxCallDepth = 32;
113
121
  this._maxModuleRepeat = 3;
114
122
  }
115
123
  }
124
+ static fromRegistry(registry, middlewares, acl, config, approvalHandler) {
125
+ return new Executor({ registry, middlewares, acl, config, approvalHandler });
126
+ }
116
127
  get registry() {
117
128
  return this._registry;
118
129
  }
@@ -123,7 +134,7 @@ export class Executor {
123
134
  setAcl(acl) {
124
135
  this._acl = acl;
125
136
  }
126
- /** Set the approval handler for Step 4.5 gate. */
137
+ /** Set the approval handler for Step 5 gate. */
127
138
  setApprovalHandler(handler) {
128
139
  this._approvalHandler = handler;
129
140
  }
@@ -143,14 +154,7 @@ export class Executor {
143
154
  return this._middlewareManager.remove(middleware);
144
155
  }
145
156
  async call(moduleId, inputs, context) {
146
- let effectiveInputs = inputs ?? {};
147
- const ctx = this._createContext(moduleId, context);
148
- this._checkSafety(moduleId, ctx);
149
- const mod = this._lookupModule(moduleId);
150
- this._checkAcl(moduleId, ctx);
151
- // Step 4.5 -- Approval Gate
152
- await this._checkApproval(mod, moduleId, effectiveInputs, ctx);
153
- effectiveInputs = this._validateInputs(mod, effectiveInputs, ctx);
157
+ const { mod, effectiveInputs, ctx } = await this._prepareExecution(moduleId, inputs, context);
154
158
  return this._executeWithMiddleware(mod, moduleId, effectiveInputs, ctx);
155
159
  }
156
160
  /**
@@ -172,14 +176,7 @@ export class Executor {
172
176
  * emitted. In the non-streaming fallback, after-middleware can transform the output.
173
177
  */
174
178
  async *stream(moduleId, inputs, context) {
175
- let effectiveInputs = inputs ?? {};
176
- const ctx = this._createContext(moduleId, context);
177
- this._checkSafety(moduleId, ctx);
178
- const mod = this._lookupModule(moduleId);
179
- this._checkAcl(moduleId, ctx);
180
- // Step 4.5 -- Approval Gate
181
- await this._checkApproval(mod, moduleId, effectiveInputs, ctx);
182
- effectiveInputs = this._validateInputs(mod, effectiveInputs, ctx);
179
+ const { mod, effectiveInputs, ctx } = await this._prepareExecution(moduleId, inputs, context);
183
180
  yield* this._streamWithMiddleware(mod, moduleId, effectiveInputs, ctx);
184
181
  }
185
182
  async *_streamWithMiddleware(mod, moduleId, inputs, ctx) {
@@ -240,6 +237,24 @@ export class Executor {
240
237
  throw exc;
241
238
  }
242
239
  }
240
+ /**
241
+ * Shared pipeline: context -> global deadline -> safety -> lookup -> ACL -> approval -> validate.
242
+ */
243
+ async _prepareExecution(moduleId, inputs, context) {
244
+ let effectiveInputs = inputs ?? {};
245
+ const ctx = this._createContext(moduleId, context);
246
+ // Set global deadline on root call only
247
+ if (!(CTX_GLOBAL_DEADLINE in ctx.data) && this._globalTimeout > 0) {
248
+ ctx.data[CTX_GLOBAL_DEADLINE] = Date.now() + this._globalTimeout;
249
+ }
250
+ this._checkSafety(moduleId, ctx);
251
+ const mod = this._lookupModule(moduleId);
252
+ this._checkAcl(moduleId, ctx);
253
+ // Step 5 -- Approval Gate (strips internal keys like _approval_token)
254
+ effectiveInputs = await this._checkApproval(mod, moduleId, effectiveInputs, ctx);
255
+ effectiveInputs = this._validateInputs(mod, effectiveInputs, ctx);
256
+ return { mod, effectiveInputs, ctx };
257
+ }
243
258
  _createContext(moduleId, context) {
244
259
  if (context == null) {
245
260
  return Context.create(this).child(moduleId);
@@ -326,49 +341,95 @@ export class Executor {
326
341
  this._validateSchema(outputSchema, output, 'Output');
327
342
  }
328
343
  }
329
- validate(moduleId, inputs) {
344
+ /**
345
+ * Non-destructive preflight check through Steps 1-6 of the pipeline.
346
+ * Returns a PreflightResult that is duck-type compatible with ValidationResult.
347
+ */
348
+ validate(moduleId, inputs, context) {
349
+ const effectiveInputs = inputs ?? {};
350
+ const checks = [];
351
+ let requiresApproval = false;
352
+ // Check 1: module_id format
353
+ if (!MODULE_ID_PATTERN.test(moduleId)) {
354
+ checks.push({
355
+ check: 'module_id', passed: false,
356
+ error: { code: 'INVALID_INPUT', message: `Invalid module ID: "${moduleId}"` },
357
+ });
358
+ return createPreflightResult(checks);
359
+ }
360
+ checks.push({ check: 'module_id', passed: true });
361
+ // Check 2: module lookup
330
362
  const module = this._registry.get(moduleId);
331
363
  if (module === null) {
332
- throw new ModuleNotFoundError(moduleId);
364
+ checks.push({
365
+ check: 'module_lookup', passed: false,
366
+ error: { code: 'MODULE_NOT_FOUND', message: `Module not found: ${moduleId}` },
367
+ });
368
+ return createPreflightResult(checks);
333
369
  }
370
+ checks.push({ check: 'module_lookup', passed: true });
334
371
  const mod = module;
335
- const inputSchema = mod['inputSchema'];
336
- if (inputSchema == null) {
337
- return { valid: true, errors: [] };
372
+ // Check 3: call chain safety
373
+ const ctx = this._createContext(moduleId, context);
374
+ try {
375
+ this._checkSafety(moduleId, ctx);
376
+ checks.push({ check: 'call_chain', passed: true });
338
377
  }
339
- if (Value.Check(inputSchema, inputs)) {
340
- return { valid: true, errors: [] };
378
+ catch (e) {
379
+ const err = e instanceof ModuleError
380
+ ? { code: e.code, message: e.message }
381
+ : { code: 'CALL_CHAIN_ERROR', message: String(e) };
382
+ checks.push({ check: 'call_chain', passed: false, error: err });
341
383
  }
342
- const errors = [];
343
- for (const error of Value.Errors(inputSchema, inputs)) {
344
- errors.push({
345
- field: error.path || '/',
346
- code: String(error.type),
347
- message: error.message,
348
- });
384
+ // Check 4: ACL
385
+ if (this._acl !== null) {
386
+ const allowed = this._acl.check(ctx.callerId, moduleId, ctx);
387
+ if (!allowed) {
388
+ checks.push({
389
+ check: 'acl', passed: false,
390
+ error: { code: 'ACL_DENIED', message: `Access denied: ${ctx.callerId} -> ${moduleId}` },
391
+ });
392
+ }
393
+ else {
394
+ checks.push({ check: 'acl', passed: true });
395
+ }
349
396
  }
350
- return { valid: false, errors };
351
- }
352
- _checkSafety(moduleId, ctx) {
353
- const callChain = ctx.callChain;
354
- // Depth check
355
- if (callChain.length > this._maxCallDepth) {
356
- throw new CallDepthExceededError(callChain.length, this._maxCallDepth, [...callChain]);
357
- }
358
- // Circular detection (strict cycles of length >= 2)
359
- const priorChain = callChain.slice(0, -1);
360
- const lastIdx = priorChain.lastIndexOf(moduleId);
361
- if (lastIdx !== -1) {
362
- const subsequence = priorChain.slice(lastIdx + 1);
363
- if (subsequence.length > 0) {
364
- throw new CircularCallError(moduleId, [...callChain]);
397
+ else {
398
+ checks.push({ check: 'acl', passed: true });
399
+ }
400
+ // Check 5: approval detection (report only, no handler invocation)
401
+ if (this._needsApproval(mod)) {
402
+ requiresApproval = true;
403
+ }
404
+ checks.push({ check: 'approval', passed: true });
405
+ // Check 6: input schema validation
406
+ const inputSchema = mod['inputSchema'];
407
+ if (inputSchema != null) {
408
+ if (Value.Check(inputSchema, effectiveInputs)) {
409
+ checks.push({ check: 'schema', passed: true });
410
+ }
411
+ else {
412
+ const errors = [];
413
+ for (const error of Value.Errors(inputSchema, effectiveInputs)) {
414
+ errors.push({
415
+ field: error.path || '/',
416
+ code: String(error.type),
417
+ message: error.message,
418
+ });
419
+ }
420
+ checks.push({
421
+ check: 'schema', passed: false,
422
+ error: { code: 'SCHEMA_VALIDATION_ERROR', errors },
423
+ });
365
424
  }
366
425
  }
367
- // Frequency check
368
- const count = callChain.filter((id) => id === moduleId).length;
369
- if (count > this._maxModuleRepeat) {
370
- throw new CallFrequencyExceededError(moduleId, count, this._maxModuleRepeat, [...callChain]);
426
+ else {
427
+ checks.push({ check: 'schema', passed: true });
371
428
  }
429
+ return createPreflightResult(checks, requiresApproval);
430
+ }
431
+ _checkSafety(moduleId, ctx) {
432
+ guardCallChain(moduleId, ctx.callChain, this._maxCallDepth, this._maxModuleRepeat);
372
433
  }
373
434
  /** Check if a module requires approval, handling both interface and dict annotations. */
374
435
  _needsApproval(mod) {
@@ -429,7 +490,7 @@ export class Executor {
429
490
  /** Emit an audit event for the approval decision (logging + span event). */
430
491
  _emitApprovalEvent(result, moduleId, ctx) {
431
492
  console.info(`[apcore:executor] Approval decision: module=${moduleId} status=${result.status} approved_by=${result.approvedBy} reason=${result.reason}`);
432
- const spansStack = ctx.data['_tracing_spans'];
493
+ const spansStack = ctx.data[CTX_TRACING_SPANS];
433
494
  if (spansStack && spansStack.length > 0) {
434
495
  spansStack[spansStack.length - 1].events.push({
435
496
  name: 'approval_decision',
@@ -441,16 +502,18 @@ export class Executor {
441
502
  });
442
503
  }
443
504
  }
444
- /** Step 4.5: Approval gate. */
505
+ /** Step 5: Approval gate. Returns inputs with internal keys stripped. */
445
506
  async _checkApproval(mod, moduleId, inputs, ctx) {
446
507
  if (this._approvalHandler === null)
447
- return;
508
+ return inputs;
448
509
  if (!this._needsApproval(mod))
449
- return;
510
+ return inputs;
450
511
  let result;
512
+ let cleanInputs = inputs;
451
513
  if ('_approval_token' in inputs) {
452
514
  const token = inputs['_approval_token'];
453
- delete inputs['_approval_token'];
515
+ const { _approval_token: _, ...rest } = inputs;
516
+ cleanInputs = rest;
454
517
  result = await this._approvalHandler.checkApproval(token);
455
518
  }
456
519
  else {
@@ -459,9 +522,21 @@ export class Executor {
459
522
  }
460
523
  this._emitApprovalEvent(result, moduleId, ctx);
461
524
  this._handleApprovalResult(result, moduleId);
525
+ return cleanInputs;
462
526
  }
463
527
  async _executeWithTimeout(mod, moduleId, inputs, ctx) {
464
- const timeoutMs = this._defaultTimeout;
528
+ let timeoutMs = this._defaultTimeout;
529
+ // Respect global deadline: use whichever is shorter
530
+ const globalDeadline = ctx.data[CTX_GLOBAL_DEADLINE];
531
+ if (globalDeadline !== undefined) {
532
+ const remaining = globalDeadline - Date.now();
533
+ if (remaining <= 0) {
534
+ throw new ModuleTimeoutError(moduleId, 0);
535
+ }
536
+ if (timeoutMs === 0 || remaining < timeoutMs) {
537
+ timeoutMs = remaining;
538
+ }
539
+ }
465
540
  if (timeoutMs < 0) {
466
541
  throw new InvalidInputError(`Negative timeout: ${timeoutMs}ms`);
467
542
  }
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -6,24 +6,30 @@ export { Context, createIdentity } from './context.js';
6
6
  export type { Identity, ContextFactory } from './context.js';
7
7
  export { Registry, REGISTRY_EVENTS, MODULE_ID_PATTERN, MAX_MODULE_ID_LENGTH, RESERVED_WORDS } from './registry/registry.js';
8
8
  export type { Discoverer, ModuleValidator } from './registry/registry.js';
9
- export { Executor, redactSensitive, REDACTED_VALUE } from './executor.js';
10
- export { DEFAULT_ANNOTATIONS } from './module.js';
11
- export type { ModuleAnnotations, ModuleExample, ValidationResult, Module } from './module.js';
9
+ export { Executor, redactSensitive, REDACTED_VALUE, CTX_GLOBAL_DEADLINE, CTX_TRACING_SPANS } from './executor.js';
10
+ export { DEFAULT_ANNOTATIONS, createPreflightResult } from './module.js';
11
+ export type { ModuleAnnotations, ModuleExample, ValidationResult, PreflightCheckResult, PreflightResult, Module } from './module.js';
12
12
  export { Config } from './config.js';
13
13
  export { createApprovalRequest, createApprovalResult, AlwaysDenyHandler, AutoApproveHandler, CallbackApprovalHandler, } from './approval.js';
14
14
  export type { ApprovalRequest, ApprovalResult, ApprovalHandler } from './approval.js';
15
15
  export { ModuleError, ConfigNotFoundError, ConfigError, ACLRuleError, ACLDeniedError, ApprovalError, ApprovalDeniedError, ApprovalTimeoutError, ApprovalPendingError, ModuleNotFoundError, ModuleTimeoutError, SchemaValidationError, SchemaNotFoundError, SchemaParseError, SchemaCircularRefError, CallDepthExceededError, CircularCallError, CallFrequencyExceededError, InvalidInputError, FuncMissingTypeHintError, FuncMissingReturnTypeError, BindingInvalidTargetError, BindingModuleNotFoundError, BindingCallableNotFoundError, BindingNotCallableError, BindingSchemaMissingError, BindingFileInvalidError, CircularDependencyError, ModuleLoadError, ModuleExecuteError, InternalError, ErrorCodes, } from './errors.js';
16
16
  export type { ErrorCode, ErrorOptions } from './errors.js';
17
17
  export { ACL } from './acl.js';
18
- export type { ACLRule } from './acl.js';
19
- export { Middleware, MiddlewareManager, MiddlewareChainError, BeforeMiddleware, AfterMiddleware, LoggingMiddleware } from './middleware/index.js';
18
+ export type { ACLRule, AuditEntry, AuditLogger } from './acl.js';
19
+ export { Middleware, MiddlewareManager, MiddlewareChainError, BeforeMiddleware, AfterMiddleware, LoggingMiddleware, RetryMiddleware, CTX_RETRY_COUNT_PREFIX, CTX_RETRY_DELAY_PREFIX } from './middleware/index.js';
20
+ export type { RetryConfig } from './middleware/index.js';
20
21
  export { module, FunctionModule, normalizeResult, makeAutoId } from './decorator.js';
21
22
  export { ExtensionManager } from './extensions.js';
22
23
  export type { ExtensionPoint } from './extensions.js';
23
24
  export { AsyncTaskManager, TaskStatus } from './async-task.js';
24
25
  export type { TaskInfo } from './async-task.js';
25
26
  export { BindingLoader } from './bindings.js';
26
- export { matchPattern } from './utils/pattern.js';
27
+ export { matchPattern, calculateSpecificity } from './utils/pattern.js';
28
+ export { normalizeToCanonicalId } from './utils/normalize.js';
29
+ export { guardCallChain, DEFAULT_MAX_CALL_DEPTH, DEFAULT_MAX_MODULE_REPEAT } from './utils/call-chain.js';
30
+ export { propagateError } from './utils/error-propagation.js';
31
+ export { ErrorCodeRegistry, ErrorCodeCollisionError, FRAMEWORK_ERROR_CODE_PREFIXES } from './error-code-registry.js';
32
+ export { negotiateVersion, VersionIncompatibleError } from './version.js';
27
33
  export { SchemaLoader, jsonSchemaToTypeBox } from './schema/loader.js';
28
34
  export { SchemaValidator } from './schema/validator.js';
29
35
  export { SchemaExporter } from './schema/exporter.js';
@@ -38,5 +44,5 @@ export { MetricsCollector, MetricsMiddleware } from './observability/metrics.js'
38
44
  export { ContextLogger, ObsLoggingMiddleware } from './observability/context-logger.js';
39
45
  export { TraceContext } from './trace-context.js';
40
46
  export type { TraceParent } from './trace-context.js';
41
- export declare const VERSION = "0.7.1";
47
+ export declare const VERSION = "0.9.0";
42
48
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -5,9 +5,9 @@
5
5
  export { CancelToken, ExecutionCancelledError } from './cancel.js';
6
6
  export { Context, createIdentity } from './context.js';
7
7
  export { Registry, REGISTRY_EVENTS, MODULE_ID_PATTERN, MAX_MODULE_ID_LENGTH, RESERVED_WORDS } from './registry/registry.js';
8
- export { Executor, redactSensitive, REDACTED_VALUE } from './executor.js';
8
+ export { Executor, redactSensitive, REDACTED_VALUE, CTX_GLOBAL_DEADLINE, CTX_TRACING_SPANS } from './executor.js';
9
9
  // Module types
10
- export { DEFAULT_ANNOTATIONS } from './module.js';
10
+ export { DEFAULT_ANNOTATIONS, createPreflightResult } from './module.js';
11
11
  // Config
12
12
  export { Config } from './config.js';
13
13
  // Approval
@@ -17,7 +17,7 @@ export { ModuleError, ConfigNotFoundError, ConfigError, ACLRuleError, ACLDeniedE
17
17
  // ACL
18
18
  export { ACL } from './acl.js';
19
19
  // Middleware
20
- export { Middleware, MiddlewareManager, MiddlewareChainError, BeforeMiddleware, AfterMiddleware, LoggingMiddleware } from './middleware/index.js';
20
+ export { Middleware, MiddlewareManager, MiddlewareChainError, BeforeMiddleware, AfterMiddleware, LoggingMiddleware, RetryMiddleware, CTX_RETRY_COUNT_PREFIX, CTX_RETRY_DELAY_PREFIX } from './middleware/index.js';
21
21
  // Decorator
22
22
  export { module, FunctionModule, normalizeResult, makeAutoId } from './decorator.js';
23
23
  // Extensions
@@ -27,7 +27,14 @@ export { AsyncTaskManager, TaskStatus } from './async-task.js';
27
27
  // Bindings
28
28
  export { BindingLoader } from './bindings.js';
29
29
  // Utils
30
- export { matchPattern } from './utils/pattern.js';
30
+ export { matchPattern, calculateSpecificity } from './utils/pattern.js';
31
+ export { normalizeToCanonicalId } from './utils/normalize.js';
32
+ export { guardCallChain, DEFAULT_MAX_CALL_DEPTH, DEFAULT_MAX_MODULE_REPEAT } from './utils/call-chain.js';
33
+ export { propagateError } from './utils/error-propagation.js';
34
+ // Error Code Registry
35
+ export { ErrorCodeRegistry, ErrorCodeCollisionError, FRAMEWORK_ERROR_CODE_PREFIXES } from './error-code-registry.js';
36
+ // Version
37
+ export { negotiateVersion, VersionIncompatibleError } from './version.js';
31
38
  // Schema
32
39
  export { SchemaLoader, jsonSchemaToTypeBox } from './schema/loader.js';
33
40
  export { SchemaValidator } from './schema/validator.js';
@@ -41,5 +48,5 @@ export { MetricsCollector, MetricsMiddleware } from './observability/metrics.js'
41
48
  export { ContextLogger, ObsLoggingMiddleware } from './observability/context-logger.js';
42
49
  // Trace Context
43
50
  export { TraceContext } from './trace-context.js';
44
- export const VERSION = '0.7.1';
51
+ export const VERSION = '0.9.0';
45
52
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -4,4 +4,6 @@ export { BeforeMiddleware, AfterMiddleware } from './adapters.js';
4
4
  export type { BeforeCallback, AfterCallback } from './adapters.js';
5
5
  export { LoggingMiddleware } from './logging.js';
6
6
  export type { Logger } from './logging.js';
7
+ export { RetryMiddleware, CTX_RETRY_COUNT_PREFIX, CTX_RETRY_DELAY_PREFIX } from './retry.js';
8
+ export type { RetryConfig } from './retry.js';
7
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/middleware/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAClE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,YAAY,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/middleware/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAClE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,YAAY,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAC7F,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
@@ -2,4 +2,5 @@ export { Middleware } from './base.js';
2
2
  export { MiddlewareManager, MiddlewareChainError } from './manager.js';
3
3
  export { BeforeMiddleware, AfterMiddleware } from './adapters.js';
4
4
  export { LoggingMiddleware } from './logging.js';
5
+ export { RetryMiddleware, CTX_RETRY_COUNT_PREFIX, CTX_RETRY_DELAY_PREFIX } from './retry.js';
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/middleware/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAElE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/middleware/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAElE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC"}
@@ -5,6 +5,7 @@ import type { Context } from '../context.js';
5
5
  import { ModuleError } from '../errors.js';
6
6
  import { Middleware } from './base.js';
7
7
  export declare class MiddlewareChainError extends ModuleError {
8
+ static readonly DEFAULT_RETRYABLE: boolean | null;
8
9
  readonly original: Error;
9
10
  readonly executedMiddlewares: Middleware[];
10
11
  constructor(original: Error, executedMiddlewares: Middleware[]);
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/middleware/manager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,qBAAa,oBAAqB,SAAQ,WAAW;IACnD,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC;IACzB,QAAQ,CAAC,mBAAmB,EAAE,UAAU,EAAE,CAAC;gBAE/B,QAAQ,EAAE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE;CAM/D;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,YAAY,CAAoB;IAExC,GAAG,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAIjC,MAAM,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;IAUvC,QAAQ,IAAI,UAAU,EAAE;IAIxB,aAAa,CACX,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,OAAO,GACf,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IAoB1C,YAAY,CACV,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,OAAO,GACf,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAc1B,cAAc,CACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,mBAAmB,EAAE,UAAU,EAAE,GAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAclC"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/middleware/manager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,qBAAa,oBAAqB,SAAQ,WAAW;IACnD,gBAAyB,iBAAiB,EAAE,OAAO,GAAG,IAAI,CAAS;IAEnE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC;IACzB,QAAQ,CAAC,mBAAmB,EAAE,UAAU,EAAE,CAAC;gBAE/B,QAAQ,EAAE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE;CAM/D;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,YAAY,CAAoB;IAExC,GAAG,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAIjC,MAAM,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;IAUvC,QAAQ,IAAI,UAAU,EAAE;IAIxB,aAAa,CACX,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,OAAO,GACf,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IAoB1C,YAAY,CACV,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,OAAO,GACf,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAc1B,cAAc,CACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,mBAAmB,EAAE,UAAU,EAAE,GAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAclC"}
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import { ModuleError } from '../errors.js';
5
5
  export class MiddlewareChainError extends ModuleError {
6
+ static DEFAULT_RETRYABLE = false;
6
7
  original;
7
8
  executedMiddlewares;
8
9
  constructor(original, executedMiddlewares) {
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/middleware/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/middleware/manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * RetryMiddleware for automatic retry of retryable module errors.
3
+ */
4
+ import type { Context } from '../context.js';
5
+ import { Middleware } from './base.js';
6
+ /** Well-known context.data key prefixes for retry state. */
7
+ export declare const CTX_RETRY_COUNT_PREFIX = "_retry_count_";
8
+ export declare const CTX_RETRY_DELAY_PREFIX = "_retry_delay_ms_";
9
+ export interface RetryConfig {
10
+ maxRetries: number;
11
+ strategy: 'exponential' | 'fixed';
12
+ baseDelayMs: number;
13
+ maxDelayMs: number;
14
+ jitter: boolean;
15
+ }
16
+ /**
17
+ * Middleware that retries failed module executions based on error retryability.
18
+ *
19
+ * When onError is called with a retryable error (error.retryable === true),
20
+ * it returns the original inputs to signal the middleware pipeline to retry.
21
+ * The calculated delay is stored in context.data as a hint for the caller.
22
+ * After maxRetries attempts or for non-retryable errors, returns null so the
23
+ * error propagates.
24
+ */
25
+ export declare class RetryMiddleware extends Middleware {
26
+ private _config;
27
+ constructor(config?: Partial<RetryConfig>);
28
+ onError(moduleId: string, inputs: Record<string, unknown>, error: Error, context: Context): Record<string, unknown> | null;
29
+ private _calculateDelay;
30
+ }
31
+ //# sourceMappingURL=retry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/middleware/retry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,4DAA4D;AAC5D,eAAO,MAAM,sBAAsB,kBAAkB,CAAC;AACtD,eAAO,MAAM,sBAAsB,qBAAqB,CAAC;AAEzD,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;CACjB;AAUD;;;;;;;;GAQG;AACH,qBAAa,eAAgB,SAAQ,UAAU;IAC7C,OAAO,CAAC,OAAO,CAAc;gBAEjB,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;IAKhC,OAAO,CACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,GACf,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAgCjC,OAAO,CAAC,eAAe;CAkBxB"}