apcore-js 0.15.1 → 0.17.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 (67) hide show
  1. package/README.md +2 -2
  2. package/dist/acl-handlers.d.ts +42 -0
  3. package/dist/acl-handlers.d.ts.map +1 -0
  4. package/dist/acl-handlers.js +128 -0
  5. package/dist/acl-handlers.js.map +1 -0
  6. package/dist/acl.d.ts +11 -0
  7. package/dist/acl.d.ts.map +1 -1
  8. package/dist/acl.js +148 -37
  9. package/dist/acl.js.map +1 -1
  10. package/dist/builtin-steps.d.ts +159 -0
  11. package/dist/builtin-steps.d.ts.map +1 -0
  12. package/dist/builtin-steps.js +532 -0
  13. package/dist/builtin-steps.js.map +1 -0
  14. package/dist/client.d.ts +1 -1
  15. package/dist/client.d.ts.map +1 -1
  16. package/dist/client.js +1 -1
  17. package/dist/client.js.map +1 -1
  18. package/dist/config.d.ts +39 -1
  19. package/dist/config.d.ts.map +1 -1
  20. package/dist/config.js +174 -24
  21. package/dist/config.js.map +1 -1
  22. package/dist/context-key.d.ts +25 -0
  23. package/dist/context-key.d.ts.map +1 -0
  24. package/dist/context-key.js +37 -0
  25. package/dist/context-key.js.map +1 -0
  26. package/dist/context-keys.d.ts +11 -0
  27. package/dist/context-keys.d.ts.map +1 -0
  28. package/dist/context-keys.js +13 -0
  29. package/dist/context-keys.js.map +1 -0
  30. package/dist/context.d.ts +28 -3
  31. package/dist/context.d.ts.map +1 -1
  32. package/dist/context.js +60 -21
  33. package/dist/context.js.map +1 -1
  34. package/dist/errors.d.ts +4 -0
  35. package/dist/errors.d.ts.map +1 -1
  36. package/dist/errors.js +7 -0
  37. package/dist/errors.js.map +1 -1
  38. package/dist/executor.d.ts +49 -28
  39. package/dist/executor.d.ts.map +1 -1
  40. package/dist/executor.js +319 -383
  41. package/dist/executor.js.map +1 -1
  42. package/dist/generated/version.d.ts +1 -1
  43. package/dist/generated/version.js +1 -1
  44. package/dist/index.d.ts +9 -2
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +10 -2
  47. package/dist/index.js.map +1 -1
  48. package/dist/module.d.ts +22 -6
  49. package/dist/module.d.ts.map +1 -1
  50. package/dist/module.js +73 -0
  51. package/dist/module.js.map +1 -1
  52. package/dist/pipeline-config.d.ts +68 -0
  53. package/dist/pipeline-config.d.ts.map +1 -0
  54. package/dist/pipeline-config.js +153 -0
  55. package/dist/pipeline-config.js.map +1 -0
  56. package/dist/pipeline.d.ts +134 -0
  57. package/dist/pipeline.d.ts.map +1 -0
  58. package/dist/pipeline.js +308 -0
  59. package/dist/pipeline.js.map +1 -0
  60. package/dist/schema/annotations.d.ts.map +1 -1
  61. package/dist/schema/annotations.js +1 -0
  62. package/dist/schema/annotations.js.map +1 -1
  63. package/dist/sys-modules/toggle.d.ts +5 -0
  64. package/dist/sys-modules/toggle.d.ts.map +1 -1
  65. package/dist/sys-modules/toggle.js +5 -0
  66. package/dist/sys-modules/toggle.js.map +1 -1
  67. package/package.json +1 -1
@@ -0,0 +1,134 @@
1
+ /**
2
+ * Execution pipeline types for configurable step-based module invocation.
3
+ */
4
+ import type { Context } from './context.js';
5
+ import { ModuleError } from './errors.js';
6
+ import type { ErrorOptions } from './errors.js';
7
+ /** A single unit of work in the execution pipeline. */
8
+ export interface Step {
9
+ readonly name: string;
10
+ readonly description: string;
11
+ readonly removable: boolean;
12
+ readonly replaceable: boolean;
13
+ /** Glob patterns for module IDs this step applies to. null/undefined = all. */
14
+ readonly matchModules?: string[] | null;
15
+ /** True = step failure logs warning and continues. False = step failure aborts pipeline. */
16
+ readonly ignoreErrors?: boolean;
17
+ /** True = no side effects. Safe to run during validate() (dry_run mode). */
18
+ readonly pure?: boolean;
19
+ /** Per-step timeout in milliseconds. 0 = no per-step timeout. */
20
+ readonly timeoutMs?: number;
21
+ execute(ctx: PipelineContext): Promise<StepResult>;
22
+ }
23
+ /** Result returned by a pipeline step execution. */
24
+ export interface StepResult {
25
+ action: 'continue' | 'skip_to' | 'abort';
26
+ skipTo?: string | null;
27
+ explanation?: string | null;
28
+ confidence?: number | null;
29
+ alternatives?: string[] | null;
30
+ }
31
+ /** Holds all state flowing through the pipeline. */
32
+ export interface PipelineContext {
33
+ moduleId: string;
34
+ inputs: Record<string, unknown>;
35
+ context: Context;
36
+ module?: unknown | null;
37
+ validatedInputs?: Record<string, unknown> | null;
38
+ output?: Record<string, unknown> | null;
39
+ validatedOutput?: Record<string, unknown> | null;
40
+ stream?: boolean;
41
+ outputStream?: AsyncGenerator | null;
42
+ strategy?: ExecutionStrategy | null;
43
+ trace?: PipelineTrace | null;
44
+ /** True during validate(). PipelineEngine skips steps with pure=false. */
45
+ dryRun?: boolean;
46
+ /** Passed through to module_lookup for version negotiation. */
47
+ versionHint?: string | null;
48
+ /** Tracks which middleware ran, enabling on_error recovery chain. */
49
+ executedMiddlewares?: unknown[];
50
+ }
51
+ /** Records execution details for a single step. */
52
+ export interface StepTrace {
53
+ name: string;
54
+ durationMs: number;
55
+ result: StepResult;
56
+ skipped: boolean;
57
+ decisionPoint: boolean;
58
+ /** Reason the step was skipped: "no_match", "dry_run", or "error_ignored". */
59
+ skipReason?: string | null;
60
+ }
61
+ /** Records execution details for the entire pipeline run. */
62
+ export interface PipelineTrace {
63
+ moduleId: string;
64
+ strategyName: string;
65
+ steps: StepTrace[];
66
+ totalDurationMs: number;
67
+ success: boolean;
68
+ }
69
+ /** AI-introspectable description of an execution strategy. */
70
+ export interface StrategyInfo {
71
+ name: string;
72
+ stepCount: number;
73
+ stepNames: string[];
74
+ description: string;
75
+ }
76
+ /** An ordered sequence of steps that defines how a module is executed. */
77
+ export declare class ExecutionStrategy {
78
+ readonly name: string;
79
+ private _steps;
80
+ constructor(name: string, steps: Step[]);
81
+ get steps(): readonly Step[];
82
+ /** Insert a step after the named anchor step. */
83
+ insertAfter(anchor: string, step: Step): void;
84
+ /** Insert a step before the named anchor step. */
85
+ insertBefore(anchor: string, step: Step): void;
86
+ /** Remove a step by name. Raises if the step is not removable. */
87
+ remove(stepName: string): void;
88
+ /** Replace a step by name. Raises if the step is not replaceable. */
89
+ replace(stepName: string, newStep: Step): void;
90
+ /** Return the ordered list of step names. */
91
+ stepNames(): string[];
92
+ /** Return an AI-introspectable description of this strategy. */
93
+ info(): StrategyInfo;
94
+ }
95
+ /** Raised when a pipeline is aborted at a step. */
96
+ export declare class PipelineAbortError extends ModuleError {
97
+ static readonly DEFAULT_RETRYABLE: boolean | null;
98
+ readonly step: string;
99
+ readonly explanation: string | null;
100
+ readonly alternatives: string[] | null;
101
+ readonly pipelineTrace: PipelineTrace | null;
102
+ constructor(step: string, explanation?: string | null, alternatives?: string[] | null, trace?: PipelineTrace | null, options?: ErrorOptions);
103
+ }
104
+ /** Raised when a referenced step does not exist. */
105
+ export declare class StepNotFoundError extends ModuleError {
106
+ static readonly DEFAULT_RETRYABLE: boolean | null;
107
+ constructor(message?: string, options?: ErrorOptions);
108
+ }
109
+ /** Raised when attempting to remove a non-removable step. */
110
+ export declare class StepNotRemovableError extends ModuleError {
111
+ static readonly DEFAULT_RETRYABLE: boolean | null;
112
+ constructor(message?: string, options?: ErrorOptions);
113
+ }
114
+ /** Raised when attempting to replace a non-replaceable step. */
115
+ export declare class StepNotReplaceableError extends ModuleError {
116
+ static readonly DEFAULT_RETRYABLE: boolean | null;
117
+ constructor(message?: string, options?: ErrorOptions);
118
+ }
119
+ /** Raised when a step name already exists in the strategy. */
120
+ export declare class StepNameDuplicateError extends ModuleError {
121
+ static readonly DEFAULT_RETRYABLE: boolean | null;
122
+ constructor(message?: string, options?: ErrorOptions);
123
+ }
124
+ /** Executes an ExecutionStrategy against a PipelineContext, returning the final output and a complete execution trace. */
125
+ export declare class PipelineEngine {
126
+ /** Run every step in the strategy against ctx, respecting flow-control actions (continue, skip_to, abort). */
127
+ run(strategy: ExecutionStrategy, ctx: PipelineContext): Promise<[unknown, PipelineTrace]>;
128
+ }
129
+ /** Raised when a referenced strategy does not exist. */
130
+ export declare class StrategyNotFoundError extends ModuleError {
131
+ static readonly DEFAULT_RETRYABLE: boolean | null;
132
+ constructor(message?: string, options?: ErrorOptions);
133
+ }
134
+ //# sourceMappingURL=pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAOhD,uDAAuD;AACvD,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAE9B,+EAA+E;IAC/E,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACxC,4FAA4F;IAC5F,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,iEAAiE;IACjE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAE5B,OAAO,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CACpD;AAMD,oDAAoD;AACpD,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CAChC;AAMD,oDAAoD;AACpD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACxC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACjD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACpC,KAAK,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAE7B,0EAA0E;IAC1E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,qEAAqE;IACrE,mBAAmB,CAAC,EAAE,OAAO,EAAE,CAAC;CACjC;AAMD,mDAAmD;AACnD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAMD,6DAA6D;AAC7D,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;CAClB;AAMD,8DAA8D;AAC9D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAMD,0EAA0E;AAC1E,qBAAa,iBAAiB;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,MAAM,CAAS;gBAEX,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE;IAoBvC,IAAI,KAAK,IAAI,SAAS,IAAI,EAAE,CAE3B;IAED,iDAAiD;IACjD,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;IAa7C,kDAAkD;IAClD,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;IAa9C,kEAAkE;IAClE,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAe9B,qEAAqE;IACrE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,GAAG,IAAI;IAe9C,6CAA6C;IAC7C,SAAS,IAAI,MAAM,EAAE;IAIrB,gEAAgE;IAChE,IAAI,IAAI,YAAY;CAQrB;AAMD,mDAAmD;AACnD,qBAAa,kBAAmB,SAAQ,WAAW;IACjD,gBAAyB,iBAAiB,EAAE,OAAO,GAAG,IAAI,CAAS;IAEnE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;gBAG3C,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,EAC3B,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAC9B,KAAK,CAAC,EAAE,aAAa,GAAG,IAAI,EAC5B,OAAO,CAAC,EAAE,YAAY;CAmBzB;AAED,oDAAoD;AACpD,qBAAa,iBAAkB,SAAQ,WAAW;IAChD,gBAAyB,iBAAiB,EAAE,OAAO,GAAG,IAAI,CAAS;gBAEvD,OAAO,GAAE,MAAW,EAAE,OAAO,CAAC,EAAE,YAAY;CAczD;AAED,6DAA6D;AAC7D,qBAAa,qBAAsB,SAAQ,WAAW;IACpD,gBAAyB,iBAAiB,EAAE,OAAO,GAAG,IAAI,CAAS;gBAEvD,OAAO,GAAE,MAAW,EAAE,OAAO,CAAC,EAAE,YAAY;CAczD;AAED,gEAAgE;AAChE,qBAAa,uBAAwB,SAAQ,WAAW;IACtD,gBAAyB,iBAAiB,EAAE,OAAO,GAAG,IAAI,CAAS;gBAEvD,OAAO,GAAE,MAAW,EAAE,OAAO,CAAC,EAAE,YAAY;CAczD;AAED,8DAA8D;AAC9D,qBAAa,sBAAuB,SAAQ,WAAW;IACrD,gBAAyB,iBAAiB,EAAE,OAAO,GAAG,IAAI,CAAS;gBAEvD,OAAO,GAAE,MAAW,EAAE,OAAO,CAAC,EAAE,YAAY;CAczD;AAMD,0HAA0H;AAC1H,qBAAa,cAAc;IACzB,8GAA8G;IACxG,GAAG,CACP,QAAQ,EAAE,iBAAiB,EAC3B,GAAG,EAAE,eAAe,GACnB,OAAO,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;CAgKrC;AAED,wDAAwD;AACxD,qBAAa,qBAAsB,SAAQ,WAAW;IACpD,gBAAyB,iBAAiB,EAAE,OAAO,GAAG,IAAI,CAAS;gBAEvD,OAAO,GAAE,MAAW,EAAE,OAAO,CAAC,EAAE,YAAY;CAczD"}
@@ -0,0 +1,308 @@
1
+ /**
2
+ * Execution pipeline types for configurable step-based module invocation.
3
+ */
4
+ import { ModuleError } from './errors.js';
5
+ import { matchPattern } from './utils/pattern.js';
6
+ // ---------------------------------------------------------------------------
7
+ // ExecutionStrategy
8
+ // ---------------------------------------------------------------------------
9
+ /** An ordered sequence of steps that defines how a module is executed. */
10
+ export class ExecutionStrategy {
11
+ name;
12
+ _steps;
13
+ constructor(name, steps) {
14
+ this.name = name;
15
+ this._steps = [...steps];
16
+ // Validate unique step names
17
+ const names = this._steps.map((s) => s.name);
18
+ const seen = new Set();
19
+ const dupes = new Set();
20
+ for (const n of names) {
21
+ if (seen.has(n)) {
22
+ dupes.add(n);
23
+ }
24
+ seen.add(n);
25
+ }
26
+ if (dupes.size > 0) {
27
+ throw new StepNameDuplicateError(`Duplicate step names: ${[...dupes].join(', ')}`);
28
+ }
29
+ }
30
+ get steps() {
31
+ return this._steps;
32
+ }
33
+ /** Insert a step after the named anchor step. */
34
+ insertAfter(anchor, step) {
35
+ if (this._steps.some((s) => s.name === step.name)) {
36
+ throw new StepNameDuplicateError(`Step '${step.name}' already exists`);
37
+ }
38
+ for (let i = 0; i < this._steps.length; i++) {
39
+ if (this._steps[i].name === anchor) {
40
+ this._steps.splice(i + 1, 0, step);
41
+ return;
42
+ }
43
+ }
44
+ throw new StepNotFoundError(`Anchor step '${anchor}' not found`);
45
+ }
46
+ /** Insert a step before the named anchor step. */
47
+ insertBefore(anchor, step) {
48
+ if (this._steps.some((s) => s.name === step.name)) {
49
+ throw new StepNameDuplicateError(`Step '${step.name}' already exists`);
50
+ }
51
+ for (let i = 0; i < this._steps.length; i++) {
52
+ if (this._steps[i].name === anchor) {
53
+ this._steps.splice(i, 0, step);
54
+ return;
55
+ }
56
+ }
57
+ throw new StepNotFoundError(`Anchor step '${anchor}' not found`);
58
+ }
59
+ /** Remove a step by name. Raises if the step is not removable. */
60
+ remove(stepName) {
61
+ for (let i = 0; i < this._steps.length; i++) {
62
+ if (this._steps[i].name === stepName) {
63
+ if (!this._steps[i].removable) {
64
+ throw new StepNotRemovableError(`Step '${stepName}' is not removable`);
65
+ }
66
+ this._steps.splice(i, 1);
67
+ return;
68
+ }
69
+ }
70
+ throw new StepNotFoundError(`Step '${stepName}' not found`);
71
+ }
72
+ /** Replace a step by name. Raises if the step is not replaceable. */
73
+ replace(stepName, newStep) {
74
+ for (let i = 0; i < this._steps.length; i++) {
75
+ if (this._steps[i].name === stepName) {
76
+ if (!this._steps[i].replaceable) {
77
+ throw new StepNotReplaceableError(`Step '${stepName}' is not replaceable`);
78
+ }
79
+ this._steps[i] = newStep;
80
+ return;
81
+ }
82
+ }
83
+ throw new StepNotFoundError(`Step '${stepName}' not found`);
84
+ }
85
+ /** Return the ordered list of step names. */
86
+ stepNames() {
87
+ return this._steps.map((s) => s.name);
88
+ }
89
+ /** Return an AI-introspectable description of this strategy. */
90
+ info() {
91
+ return {
92
+ name: this.name,
93
+ stepCount: this._steps.length,
94
+ stepNames: this.stepNames(),
95
+ description: this.stepNames().join(' \u2192 '),
96
+ };
97
+ }
98
+ }
99
+ // ---------------------------------------------------------------------------
100
+ // Error types
101
+ // ---------------------------------------------------------------------------
102
+ /** Raised when a pipeline is aborted at a step. */
103
+ export class PipelineAbortError extends ModuleError {
104
+ static DEFAULT_RETRYABLE = false;
105
+ step;
106
+ explanation;
107
+ alternatives;
108
+ pipelineTrace;
109
+ constructor(step, explanation, alternatives, trace, options) {
110
+ super('PIPELINE_ABORT', `Pipeline aborted at step '${step}': ${explanation ?? 'no explanation'}`, { step }, options?.cause, options?.traceId, options?.retryable, options?.aiGuidance, options?.userFixable, options?.suggestion);
111
+ this.name = 'PipelineAbortError';
112
+ this.step = step;
113
+ this.explanation = explanation ?? null;
114
+ this.alternatives = alternatives ?? null;
115
+ this.pipelineTrace = trace ?? null;
116
+ }
117
+ }
118
+ /** Raised when a referenced step does not exist. */
119
+ export class StepNotFoundError extends ModuleError {
120
+ static DEFAULT_RETRYABLE = false;
121
+ constructor(message = '', options) {
122
+ super('STEP_NOT_FOUND', message, {}, options?.cause, options?.traceId, options?.retryable, options?.aiGuidance, options?.userFixable, options?.suggestion);
123
+ this.name = 'StepNotFoundError';
124
+ }
125
+ }
126
+ /** Raised when attempting to remove a non-removable step. */
127
+ export class StepNotRemovableError extends ModuleError {
128
+ static DEFAULT_RETRYABLE = false;
129
+ constructor(message = '', options) {
130
+ super('STEP_NOT_REMOVABLE', message, {}, options?.cause, options?.traceId, options?.retryable, options?.aiGuidance, options?.userFixable, options?.suggestion);
131
+ this.name = 'StepNotRemovableError';
132
+ }
133
+ }
134
+ /** Raised when attempting to replace a non-replaceable step. */
135
+ export class StepNotReplaceableError extends ModuleError {
136
+ static DEFAULT_RETRYABLE = false;
137
+ constructor(message = '', options) {
138
+ super('STEP_NOT_REPLACEABLE', message, {}, options?.cause, options?.traceId, options?.retryable, options?.aiGuidance, options?.userFixable, options?.suggestion);
139
+ this.name = 'StepNotReplaceableError';
140
+ }
141
+ }
142
+ /** Raised when a step name already exists in the strategy. */
143
+ export class StepNameDuplicateError extends ModuleError {
144
+ static DEFAULT_RETRYABLE = false;
145
+ constructor(message = '', options) {
146
+ super('STEP_NAME_DUPLICATE', message, {}, options?.cause, options?.traceId, options?.retryable, options?.aiGuidance, options?.userFixable, options?.suggestion);
147
+ this.name = 'StepNameDuplicateError';
148
+ }
149
+ }
150
+ // ---------------------------------------------------------------------------
151
+ // PipelineEngine
152
+ // ---------------------------------------------------------------------------
153
+ /** Executes an ExecutionStrategy against a PipelineContext, returning the final output and a complete execution trace. */
154
+ export class PipelineEngine {
155
+ /** Run every step in the strategy against ctx, respecting flow-control actions (continue, skip_to, abort). */
156
+ async run(strategy, ctx) {
157
+ const pipelineStart = performance.now();
158
+ const steps = strategy.steps;
159
+ const trace = {
160
+ moduleId: ctx.moduleId,
161
+ strategyName: strategy.name,
162
+ steps: [],
163
+ totalDurationMs: 0,
164
+ success: false,
165
+ };
166
+ ctx.trace = trace;
167
+ let idx = 0;
168
+ while (idx < steps.length) {
169
+ const step = steps[idx];
170
+ // Read declarations (optional fields, backward compat via ?? defaults)
171
+ const stepMatchModules = step.matchModules ?? null;
172
+ const stepIgnoreErrors = step.ignoreErrors ?? false;
173
+ const stepPure = step.pure ?? false;
174
+ const stepTimeoutMs = step.timeoutMs ?? 0;
175
+ // ① match_modules filter
176
+ if (stepMatchModules !== null) {
177
+ const matched = stepMatchModules.some((pattern) => matchPattern(pattern, ctx.moduleId));
178
+ if (!matched) {
179
+ trace.steps.push({
180
+ name: step.name,
181
+ durationMs: 0,
182
+ result: { action: 'continue' },
183
+ skipped: true,
184
+ decisionPoint: false,
185
+ skipReason: 'no_match',
186
+ });
187
+ idx += 1;
188
+ continue;
189
+ }
190
+ }
191
+ // ② dry_run filter: skip steps with side effects
192
+ if (ctx.dryRun && !stepPure) {
193
+ trace.steps.push({
194
+ name: step.name,
195
+ durationMs: 0,
196
+ result: { action: 'continue' },
197
+ skipped: true,
198
+ decisionPoint: false,
199
+ skipReason: 'dry_run',
200
+ });
201
+ idx += 1;
202
+ continue;
203
+ }
204
+ // ③ Execute with per-step timeout
205
+ const stepStart = performance.now();
206
+ let result;
207
+ try {
208
+ if (stepTimeoutMs > 0) {
209
+ let timer;
210
+ const timeoutPromise = new Promise((_, reject) => {
211
+ timer = setTimeout(() => {
212
+ reject(new Error(`Step '${step.name}' timed out after ${stepTimeoutMs}ms`));
213
+ }, stepTimeoutMs);
214
+ });
215
+ result = await Promise.race([step.execute(ctx), timeoutPromise]).finally(() => {
216
+ clearTimeout(timer);
217
+ });
218
+ }
219
+ else {
220
+ result = await step.execute(ctx);
221
+ }
222
+ }
223
+ catch (exc) {
224
+ const durationMs = performance.now() - stepStart;
225
+ // ④ ignore_errors: log and continue
226
+ if (stepIgnoreErrors) {
227
+ trace.steps.push({
228
+ name: step.name,
229
+ durationMs,
230
+ result: {
231
+ action: 'continue',
232
+ explanation: exc instanceof Error ? exc.message : String(exc),
233
+ },
234
+ skipped: false,
235
+ decisionPoint: false,
236
+ skipReason: 'error_ignored',
237
+ });
238
+ idx += 1;
239
+ continue;
240
+ }
241
+ // Not ignored: record and raise
242
+ trace.steps.push({
243
+ name: step.name,
244
+ durationMs,
245
+ result: {
246
+ action: 'abort',
247
+ explanation: exc instanceof Error ? exc.message : String(exc),
248
+ },
249
+ skipped: false,
250
+ decisionPoint: false,
251
+ });
252
+ trace.totalDurationMs = performance.now() - pipelineStart;
253
+ throw exc;
254
+ }
255
+ const durationMs = performance.now() - stepStart;
256
+ // ⑤ Record trace
257
+ trace.steps.push({
258
+ name: step.name,
259
+ durationMs,
260
+ result,
261
+ skipped: false,
262
+ decisionPoint: result.confidence != null,
263
+ });
264
+ // ⑥ Handle abort / skip_to
265
+ if (result.action === 'continue') {
266
+ idx += 1;
267
+ }
268
+ else if (result.action === 'abort') {
269
+ trace.totalDurationMs = performance.now() - pipelineStart;
270
+ trace.success = false;
271
+ throw new PipelineAbortError(step.name, result.explanation ?? null, result.alternatives ?? null, trace);
272
+ }
273
+ else if (result.action === 'skip_to') {
274
+ const target = result.skipTo ?? '';
275
+ const targetIdx = steps.findIndex((s, i) => i > idx && s.name === target);
276
+ if (targetIdx === -1) {
277
+ throw new StepNotFoundError(`skip_to target '${target}' not found after step '${step.name}'`);
278
+ }
279
+ // Mark skipped steps in trace
280
+ for (let skipIdx = idx + 1; skipIdx < targetIdx; skipIdx++) {
281
+ trace.steps.push({
282
+ name: steps[skipIdx].name,
283
+ durationMs: 0,
284
+ result: { action: 'continue' },
285
+ skipped: true,
286
+ decisionPoint: false,
287
+ });
288
+ }
289
+ idx = targetIdx;
290
+ }
291
+ else {
292
+ throw new StepNotFoundError(`Unknown step action: '${result.action}'`);
293
+ }
294
+ }
295
+ trace.totalDurationMs = performance.now() - pipelineStart;
296
+ trace.success = true;
297
+ return [ctx.output ?? null, trace];
298
+ }
299
+ }
300
+ /** Raised when a referenced strategy does not exist. */
301
+ export class StrategyNotFoundError extends ModuleError {
302
+ static DEFAULT_RETRYABLE = false;
303
+ constructor(message = '', options) {
304
+ super('STRATEGY_NOT_FOUND', message, {}, options?.cause, options?.traceId, options?.retryable, options?.aiGuidance, options?.userFixable, options?.suggestion);
305
+ this.name = 'StrategyNotFoundError';
306
+ }
307
+ }
308
+ //# sourceMappingURL=pipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../src/schema/annotations.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAiBrE,wBAAgB,gBAAgB,CAC9B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,EAC3D,eAAe,EAAE,iBAAiB,GAAG,IAAI,GAAG,SAAS,GACpD,iBAAiB,CAqBnB;AAED,wBAAgB,aAAa,CAC3B,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,EAC/D,YAAY,EAAE,aAAa,EAAE,GAAG,IAAI,GAAG,SAAS,GAC/C,aAAa,EAAE,CAWjB;AAED,wBAAgB,aAAa,CAC3B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,EACxD,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GACvD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMzB"}
1
+ {"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../src/schema/annotations.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAkBrE,wBAAgB,gBAAgB,CAC9B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,EAC3D,eAAe,EAAE,iBAAiB,GAAG,IAAI,GAAG,SAAS,GACpD,iBAAiB,CAqBnB;AAED,wBAAgB,aAAa,CAC3B,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,EAC/D,YAAY,EAAE,aAAa,EAAE,GAAG,IAAI,GAAG,SAAS,GAC/C,aAAa,EAAE,CAWjB;AAED,wBAAgB,aAAa,CAC3B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,EACxD,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GACvD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMzB"}
@@ -14,6 +14,7 @@ const ANNOTATION_FIELDS = [
14
14
  'cacheKeyFields',
15
15
  'paginated',
16
16
  'paginationStyle',
17
+ 'extra',
17
18
  ];
18
19
  export function mergeAnnotations(yamlAnnotations, codeAnnotations) {
19
20
  const values = {};
@@ -1 +1 @@
1
- {"version":3,"file":"annotations.js","sourceRoot":"","sources":["../../src/schema/annotations.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,iBAAiB,GAA2C;IAChE,UAAU;IACV,aAAa;IACb,YAAY;IACZ,kBAAkB;IAClB,WAAW;IACX,WAAW;IACX,WAAW;IACX,UAAU;IACV,gBAAgB;IAChB,WAAW;IACX,iBAAiB;CAClB,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAC9B,eAA2D,EAC3D,eAAqD;IAErD,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,IAAI,iBAAiB,EAAE,CAAC;QAClC,MAAM,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,eAAe,IAAI,IAAI,EAAE,CAAC;QAC5B,KAAK,MAAM,CAAC,IAAI,iBAAiB,EAAE,CAAC;YAClC,MAAM,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,IAAI,eAAe,IAAI,IAAI,EAAE,CAAC;QAC5B,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;YACzD,IAAK,iBAAuC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3D,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAsC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,YAA+D,EAC/D,YAAgD;IAEhD,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;QACzB,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9B,KAAK,EAAE,CAAC,CAAC,OAAO,CAAW;YAC3B,MAAM,EAAG,CAAC,CAAC,QAAQ,CAA6B,IAAI,EAAE;YACtD,MAAM,EAAG,CAAC,CAAC,QAAQ,CAA6B,IAAI,EAAE;YACtD,WAAW,EAAE,CAAC,CAAC,aAAa,CAAuB;SACpD,CAAC,CAAC,CAAC;IACN,CAAC;IACD,IAAI,YAAY,IAAI,IAAI;QAAE,OAAO,YAAY,CAAC;IAC9C,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,YAAwD,EACxD,YAAwD;IAExD,MAAM,MAAM,GAAG,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;QACzB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"annotations.js","sourceRoot":"","sources":["../../src/schema/annotations.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,iBAAiB,GAA2C;IAChE,UAAU;IACV,aAAa;IACb,YAAY;IACZ,kBAAkB;IAClB,WAAW;IACX,WAAW;IACX,WAAW;IACX,UAAU;IACV,gBAAgB;IAChB,WAAW;IACX,iBAAiB;IACjB,OAAO;CACR,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAC9B,eAA2D,EAC3D,eAAqD;IAErD,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,IAAI,iBAAiB,EAAE,CAAC;QAClC,MAAM,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,eAAe,IAAI,IAAI,EAAE,CAAC;QAC5B,KAAK,MAAM,CAAC,IAAI,iBAAiB,EAAE,CAAC;YAClC,MAAM,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,IAAI,eAAe,IAAI,IAAI,EAAE,CAAC;QAC5B,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;YACzD,IAAK,iBAAuC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3D,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAsC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,YAA+D,EAC/D,YAAgD;IAEhD,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;QACzB,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9B,KAAK,EAAE,CAAC,CAAC,OAAO,CAAW;YAC3B,MAAM,EAAG,CAAC,CAAC,QAAQ,CAA6B,IAAI,EAAE;YACtD,MAAM,EAAG,CAAC,CAAC,QAAQ,CAA6B,IAAI,EAAE;YACtD,WAAW,EAAE,CAAC,CAAC,aAAa,CAAuB;SACpD,CAAC,CAAC,CAAC;IACN,CAAC;IACD,IAAI,YAAY,IAAI,IAAI;QAAE,OAAO,YAAY,CAAC;IAC9C,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,YAAwD,EACxD,YAAwD;IAExD,MAAM,MAAM,GAAG,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;QACzB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,5 +1,10 @@
1
1
  /**
2
2
  * Module toggle system -- disable/enable modules without unloading.
3
+ *
4
+ * Implements system.control.toggle_feature as defined in PROTOCOL_SPEC.md:
5
+ * - Error code: MODULE_DISABLED (HTTP 403)
6
+ * - Canonical event: apcore.module.toggled (legacy alias: module_health_changed)
7
+ * - See spec sections: "Error Codes" and "Canonical Event Types"
3
8
  */
4
9
  import type { Registry } from '../registry/registry.js';
5
10
  import type { EventEmitter } from '../events/emitter.js';
@@ -1 +1 @@
1
- {"version":3,"file":"toggle.d.ts","sourceRoot":"","sources":["../../src/sys-modules/toggle.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGzD;;;GAGG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;IAEpD,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIrC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI/B,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI9B,KAAK,IAAI,IAAI;CAGd;AAED,mCAAmC;AACnC,eAAO,MAAM,kBAAkB,aAAoB,CAAC;AAEpD,oEAAoE;AACpE,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED,2DAA2D;AAC3D,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAI1D;AAED;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B,QAAQ,CAAC,WAAW,qDAAqD;IACzE,QAAQ,CAAC,WAAW;;;;;;;;;;;;MAAoO;IAExP,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;gBAE/B,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,CAAC,EAAE,WAAW;IAMrF,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAkBpF,OAAO,CAAC,eAAe;CAexB"}
1
+ {"version":3,"file":"toggle.d.ts","sourceRoot":"","sources":["../../src/sys-modules/toggle.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGzD;;;GAGG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;IAEpD,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIrC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI/B,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI9B,KAAK,IAAI,IAAI;CAGd;AAED,mCAAmC;AACnC,eAAO,MAAM,kBAAkB,aAAoB,CAAC;AAEpD,oEAAoE;AACpE,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED,2DAA2D;AAC3D,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAI1D;AAED;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B,QAAQ,CAAC,WAAW,qDAAqD;IACzE,QAAQ,CAAC,WAAW;;;;;;;;;;;;MAAoO;IAExP,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;gBAE/B,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,CAAC,EAAE,WAAW;IAMrF,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAkBpF,OAAO,CAAC,eAAe;CAexB"}
@@ -1,5 +1,10 @@
1
1
  /**
2
2
  * Module toggle system -- disable/enable modules without unloading.
3
+ *
4
+ * Implements system.control.toggle_feature as defined in PROTOCOL_SPEC.md:
5
+ * - Error code: MODULE_DISABLED (HTTP 403)
6
+ * - Canonical event: apcore.module.toggled (legacy alias: module_health_changed)
7
+ * - See spec sections: "Error Codes" and "Canonical Event Types"
3
8
  */
4
9
  import { InvalidInputError, ModuleNotFoundError, ModuleDisabledError } from '../errors.js';
5
10
  import { createEvent } from '../events/emitter.js';
@@ -1 +1 @@
1
- {"version":3,"file":"toggle.js","sourceRoot":"","sources":["../../src/sys-modules/toggle.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAG3F,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD;;;GAGG;AACH,MAAM,OAAO,WAAW;IACL,SAAS,GAAgB,IAAI,GAAG,EAAE,CAAC;IAEpD,UAAU,CAAC,QAAgB;QACzB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,CAAC,QAAgB;QACtB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,QAAgB;QACrB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;CACF;AAED,mCAAmC;AACnC,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,WAAW,EAAE,CAAC;AAEpD,oEAAoE;AACpE,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,OAAO,kBAAkB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AACjD,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,mBAAmB,CAAC,QAAgB;IAClD,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,mBAAmB;IACrB,WAAW,GAAG,iDAAiD,CAAC;IAChE,WAAW,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,EAAE,QAAiB,EAAE,CAAC;IAEvO,SAAS,CAAW;IACpB,QAAQ,CAAe;IACvB,YAAY,CAAc;IAE3C,YAAY,QAAkB,EAAE,YAA0B,EAAE,WAAyB;QACnF,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,WAAW,IAAI,kBAAkB,CAAC;IACxD,CAAC;IAED,OAAO,CAAC,MAA+B,EAAE,QAAiB;QACxD,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;QACD,uEAAuE;QACvE,yFAAyF;QACzF,0EAA0E;QAC1E,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,uBAAuB,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QACxF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,uBAAuB,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QACxF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IACzD,CAAC;IAEO,eAAe,CAAC,MAA+B;QACrD,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QACrC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9C,MAAM,IAAI,iBAAiB,CAAC,wDAAwD,CAAC,CAAC;QACxF,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,IAAI,OAAO,OAAO,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,IAAI,iBAAiB,CAAC,6CAA6C,CAAC,CAAC;QAC7E,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1C,MAAM,IAAI,iBAAiB,CAAC,qDAAqD,CAAC,CAAC;QACrF,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IACvC,CAAC;CACF"}
1
+ {"version":3,"file":"toggle.js","sourceRoot":"","sources":["../../src/sys-modules/toggle.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "apcore-js",
3
- "version": "0.15.1",
3
+ "version": "0.17.0",
4
4
  "description": "AI-Perceivable Core — schema-driven module standard",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",