apcore-js 0.6.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -15,6 +15,7 @@ apcore provides a unified task orchestration framework with schema validation, a
15
15
  - **Registry system** — File-based module discovery with metadata, dependencies, and topological ordering
16
16
  - **Binding loader** — YAML-based module registration for no-code integration
17
17
  - **Access control (ACL)** — Pattern-based rules with identity types, roles, and call-depth conditions
18
+ - **Approval system** — Pluggable approval gate in the executor pipeline with sync and async (polling) flows, built-in handlers, and tracing integration
18
19
  - **Middleware** — Onion-model middleware with before/after/onError hooks and error recovery
19
20
  - **Observability** — Tracing (spans + exporters), metrics (counters + histograms + Prometheus export), structured logging with redaction
20
21
  - **Schema export** — JSON/YAML schema export with strict and compact modes
@@ -63,6 +64,7 @@ src/
63
64
  context.ts # Execution context and identity
64
65
  config.ts # Dot-path configuration accessor
65
66
  acl.ts # Access control with pattern matching
67
+ approval.ts # Pluggable approval gate (handlers, request/result types)
66
68
  decorator.ts # FunctionModule class and helpers
67
69
  bindings.ts # YAML binding loader
68
70
  errors.ts # Error hierarchy (20+ typed errors)
@@ -128,4 +130,4 @@ npm run build
128
130
 
129
131
  ## License
130
132
 
131
- MIT
133
+ Apache-2.0
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Approval system: interfaces, data types, built-in handlers.
3
+ *
4
+ * Provides a pluggable gate at Executor Step 4.5, between ACL enforcement
5
+ * and input validation. When a module declares requiresApproval=true and
6
+ * an ApprovalHandler is configured, the handler is invoked before execution.
7
+ */
8
+ import type { Context } from './context.js';
9
+ import type { ModuleAnnotations } from './module.js';
10
+ /**
11
+ * Carries invocation context to the approval handler.
12
+ */
13
+ export interface ApprovalRequest {
14
+ readonly moduleId: string;
15
+ readonly arguments: Record<string, unknown>;
16
+ readonly context: Context;
17
+ readonly annotations: ModuleAnnotations;
18
+ readonly description: string | null;
19
+ readonly tags: readonly string[];
20
+ }
21
+ /**
22
+ * Create a frozen ApprovalRequest.
23
+ */
24
+ export declare function createApprovalRequest(options: {
25
+ moduleId: string;
26
+ arguments: Record<string, unknown>;
27
+ context: Context;
28
+ annotations: ModuleAnnotations;
29
+ description?: string | null;
30
+ tags?: string[];
31
+ }): ApprovalRequest;
32
+ /**
33
+ * Carries the approval handler's decision.
34
+ */
35
+ export interface ApprovalResult {
36
+ readonly status: 'approved' | 'rejected' | 'timeout' | 'pending';
37
+ readonly approvedBy: string | null;
38
+ readonly reason: string | null;
39
+ readonly approvalId: string | null;
40
+ readonly metadata: Record<string, unknown> | null;
41
+ }
42
+ /**
43
+ * Create a frozen ApprovalResult.
44
+ */
45
+ export declare function createApprovalResult(options: {
46
+ status: 'approved' | 'rejected' | 'timeout' | 'pending';
47
+ approvedBy?: string | null;
48
+ reason?: string | null;
49
+ approvalId?: string | null;
50
+ metadata?: Record<string, unknown> | null;
51
+ }): ApprovalResult;
52
+ /**
53
+ * Protocol for pluggable approval handlers.
54
+ *
55
+ * Implementations receive an ApprovalRequest and return an ApprovalResult.
56
+ * Both methods are asynchronous.
57
+ */
58
+ export interface ApprovalHandler {
59
+ requestApproval(request: ApprovalRequest): Promise<ApprovalResult>;
60
+ checkApproval(approvalId: string): Promise<ApprovalResult>;
61
+ }
62
+ /**
63
+ * Built-in handler that always rejects. Safe default for enforcement.
64
+ */
65
+ export declare class AlwaysDenyHandler implements ApprovalHandler {
66
+ requestApproval(_request: ApprovalRequest): Promise<ApprovalResult>;
67
+ checkApproval(_approvalId: string): Promise<ApprovalResult>;
68
+ }
69
+ /**
70
+ * Built-in handler that always approves. For testing and development.
71
+ */
72
+ export declare class AutoApproveHandler implements ApprovalHandler {
73
+ requestApproval(_request: ApprovalRequest): Promise<ApprovalResult>;
74
+ checkApproval(_approvalId: string): Promise<ApprovalResult>;
75
+ }
76
+ /**
77
+ * Built-in handler that delegates to a user-provided async callback.
78
+ */
79
+ export declare class CallbackApprovalHandler implements ApprovalHandler {
80
+ private _callback;
81
+ constructor(callback: (request: ApprovalRequest) => Promise<ApprovalResult>);
82
+ requestApproval(request: ApprovalRequest): Promise<ApprovalResult>;
83
+ checkApproval(_approvalId: string): Promise<ApprovalResult>;
84
+ }
85
+ //# sourceMappingURL=approval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approval.d.ts","sourceRoot":"","sources":["../src/approval.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Approval system: interfaces, data types, built-in handlers.
3
+ *
4
+ * Provides a pluggable gate at Executor Step 4.5, between ACL enforcement
5
+ * and input validation. When a module declares requiresApproval=true and
6
+ * an ApprovalHandler is configured, the handler is invoked before execution.
7
+ */
8
+ /**
9
+ * Create a frozen ApprovalRequest.
10
+ */
11
+ export function createApprovalRequest(options) {
12
+ return Object.freeze({
13
+ moduleId: options.moduleId,
14
+ arguments: options.arguments,
15
+ context: options.context,
16
+ annotations: options.annotations,
17
+ description: options.description ?? null,
18
+ tags: Object.freeze([...(options.tags ?? [])]),
19
+ });
20
+ }
21
+ /**
22
+ * Create a frozen ApprovalResult.
23
+ */
24
+ export function createApprovalResult(options) {
25
+ return Object.freeze({
26
+ status: options.status,
27
+ approvedBy: options.approvedBy ?? null,
28
+ reason: options.reason ?? null,
29
+ approvalId: options.approvalId ?? null,
30
+ metadata: options.metadata ?? null,
31
+ });
32
+ }
33
+ /**
34
+ * Built-in handler that always rejects. Safe default for enforcement.
35
+ */
36
+ export class AlwaysDenyHandler {
37
+ async requestApproval(_request) {
38
+ return createApprovalResult({ status: 'rejected', reason: 'Always denied' });
39
+ }
40
+ async checkApproval(_approvalId) {
41
+ return createApprovalResult({ status: 'rejected', reason: 'Always denied' });
42
+ }
43
+ }
44
+ /**
45
+ * Built-in handler that always approves. For testing and development.
46
+ */
47
+ export class AutoApproveHandler {
48
+ async requestApproval(_request) {
49
+ return createApprovalResult({ status: 'approved', approvedBy: 'auto' });
50
+ }
51
+ async checkApproval(_approvalId) {
52
+ return createApprovalResult({ status: 'approved', approvedBy: 'auto' });
53
+ }
54
+ }
55
+ /**
56
+ * Built-in handler that delegates to a user-provided async callback.
57
+ */
58
+ export class CallbackApprovalHandler {
59
+ _callback;
60
+ constructor(callback) {
61
+ this._callback = callback;
62
+ }
63
+ async requestApproval(request) {
64
+ return this._callback(request);
65
+ }
66
+ async checkApproval(_approvalId) {
67
+ return createApprovalResult({
68
+ status: 'rejected',
69
+ reason: 'Phase B not supported by callback handler',
70
+ });
71
+ }
72
+ }
73
+ //# sourceMappingURL=approval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approval.js","sourceRoot":"","sources":["../src/approval.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAiBH;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAOrC;IACC,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI;QACxC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;KAC/C,CAAC,CAAC;AACL,CAAC;AAaD;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAMpC;IACC,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI;QACtC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI;QAC9B,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI;QACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI;KACnC,CAAC,CAAC;AACL,CAAC;AAaD;;GAEG;AACH,MAAM,OAAO,iBAAiB;IAC5B,KAAK,CAAC,eAAe,CAAC,QAAyB;QAC7C,OAAO,oBAAoB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,WAAmB;QACrC,OAAO,oBAAoB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;IAC/E,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,kBAAkB;IAC7B,KAAK,CAAC,eAAe,CAAC,QAAyB;QAC7C,OAAO,oBAAoB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,WAAmB;QACrC,OAAO,oBAAoB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1E,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,uBAAuB;IAC1B,SAAS,CAAwD;IAEzE,YAAY,QAA+D;QACzE,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAwB;QAC5C,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,WAAmB;QACrC,OAAO,oBAAoB,CAAC;YAC1B,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,2CAA2C;SACpD,CAAC,CAAC;IACL,CAAC;CACF"}
package/dist/errors.d.ts CHANGED
@@ -1,180 +1,166 @@
1
1
  /**
2
2
  * Error hierarchy for the apcore framework.
3
3
  */
4
+ export interface ErrorOptions {
5
+ cause?: Error;
6
+ traceId?: string;
7
+ retryable?: boolean | null;
8
+ aiGuidance?: string | null;
9
+ userFixable?: boolean | null;
10
+ suggestion?: string | null;
11
+ }
4
12
  export declare class ModuleError extends Error {
13
+ static readonly DEFAULT_RETRYABLE: boolean | null;
5
14
  readonly code: string;
6
15
  readonly details: Record<string, unknown>;
7
16
  readonly cause?: Error;
8
17
  readonly traceId?: string;
9
18
  readonly timestamp: string;
10
- constructor(code: string, message: string, details?: Record<string, unknown>, cause?: Error, traceId?: string);
19
+ readonly retryable: boolean | null;
20
+ readonly aiGuidance: string | null;
21
+ readonly userFixable: boolean | null;
22
+ readonly suggestion: string | null;
23
+ constructor(code: string, message: string, details?: Record<string, unknown>, cause?: Error, traceId?: string, retryable?: boolean | null, aiGuidance?: string | null, userFixable?: boolean | null, suggestion?: string | null);
11
24
  toString(): string;
25
+ toJSON(): Record<string, unknown>;
12
26
  }
13
27
  export declare class ConfigNotFoundError extends ModuleError {
14
- constructor(configPath: string, options?: {
15
- cause?: Error;
16
- traceId?: string;
17
- });
28
+ static readonly DEFAULT_RETRYABLE: boolean | null;
29
+ constructor(configPath: string, options?: ErrorOptions);
18
30
  }
19
31
  export declare class ConfigError extends ModuleError {
20
- constructor(message: string, options?: {
21
- cause?: Error;
22
- traceId?: string;
23
- });
32
+ static readonly DEFAULT_RETRYABLE: boolean | null;
33
+ constructor(message: string, options?: ErrorOptions);
24
34
  }
25
35
  export declare class ACLRuleError extends ModuleError {
26
- constructor(message: string, options?: {
27
- cause?: Error;
28
- traceId?: string;
29
- });
36
+ static readonly DEFAULT_RETRYABLE: boolean | null;
37
+ constructor(message: string, options?: ErrorOptions);
30
38
  }
31
39
  export declare class ACLDeniedError extends ModuleError {
32
- constructor(callerId: string | null, targetId: string, options?: {
33
- cause?: Error;
34
- traceId?: string;
35
- });
40
+ static readonly DEFAULT_RETRYABLE: boolean | null;
41
+ constructor(callerId: string | null, targetId: string, options?: ErrorOptions);
36
42
  get callerId(): string | null;
37
43
  get targetId(): string;
38
44
  }
39
45
  export declare class ModuleNotFoundError extends ModuleError {
40
- constructor(moduleId: string, options?: {
41
- cause?: Error;
42
- traceId?: string;
43
- });
46
+ static readonly DEFAULT_RETRYABLE: boolean | null;
47
+ constructor(moduleId: string, options?: ErrorOptions);
44
48
  }
45
49
  export declare class ModuleTimeoutError extends ModuleError {
46
- constructor(moduleId: string, timeoutMs: number, options?: {
47
- cause?: Error;
48
- traceId?: string;
49
- });
50
+ static readonly DEFAULT_RETRYABLE: boolean | null;
51
+ constructor(moduleId: string, timeoutMs: number, options?: ErrorOptions);
50
52
  get moduleId(): string;
51
53
  get timeoutMs(): number;
52
54
  }
53
55
  export declare class SchemaValidationError extends ModuleError {
54
- constructor(message?: string, errors?: Array<Record<string, unknown>>, options?: {
55
- cause?: Error;
56
- traceId?: string;
57
- });
56
+ static readonly DEFAULT_RETRYABLE: boolean | null;
57
+ constructor(message?: string, errors?: Array<Record<string, unknown>>, options?: ErrorOptions);
58
58
  }
59
59
  export declare class SchemaNotFoundError extends ModuleError {
60
- constructor(schemaId: string, options?: {
61
- cause?: Error;
62
- traceId?: string;
63
- });
60
+ static readonly DEFAULT_RETRYABLE: boolean | null;
61
+ constructor(schemaId: string, options?: ErrorOptions);
64
62
  }
65
63
  export declare class SchemaParseError extends ModuleError {
66
- constructor(message: string, options?: {
67
- cause?: Error;
68
- traceId?: string;
69
- });
64
+ static readonly DEFAULT_RETRYABLE: boolean | null;
65
+ constructor(message: string, options?: ErrorOptions);
70
66
  }
71
67
  export declare class SchemaCircularRefError extends ModuleError {
72
- constructor(refPath: string, options?: {
73
- cause?: Error;
74
- traceId?: string;
75
- });
68
+ static readonly DEFAULT_RETRYABLE: boolean | null;
69
+ constructor(refPath: string, options?: ErrorOptions);
76
70
  }
77
71
  export declare class CallDepthExceededError extends ModuleError {
78
- constructor(depth: number, maxDepth: number, callChain: string[], options?: {
79
- cause?: Error;
80
- traceId?: string;
81
- });
72
+ static readonly DEFAULT_RETRYABLE: boolean | null;
73
+ constructor(depth: number, maxDepth: number, callChain: string[], options?: ErrorOptions);
82
74
  get currentDepth(): number;
83
75
  get maxDepth(): number;
84
76
  }
85
77
  export declare class CircularCallError extends ModuleError {
86
- constructor(moduleId: string, callChain: string[], options?: {
87
- cause?: Error;
88
- traceId?: string;
89
- });
78
+ static readonly DEFAULT_RETRYABLE: boolean | null;
79
+ constructor(moduleId: string, callChain: string[], options?: ErrorOptions);
90
80
  get moduleId(): string;
91
81
  }
92
82
  export declare class CallFrequencyExceededError extends ModuleError {
93
- constructor(moduleId: string, count: number, maxRepeat: number, callChain: string[], options?: {
94
- cause?: Error;
95
- traceId?: string;
96
- });
83
+ static readonly DEFAULT_RETRYABLE: boolean | null;
84
+ constructor(moduleId: string, count: number, maxRepeat: number, callChain: string[], options?: ErrorOptions);
97
85
  get moduleId(): string;
98
86
  get count(): number;
99
87
  get maxRepeat(): number;
100
88
  }
101
89
  export declare class InvalidInputError extends ModuleError {
102
- constructor(message?: string, options?: {
103
- cause?: Error;
104
- traceId?: string;
105
- });
90
+ static readonly DEFAULT_RETRYABLE: boolean | null;
91
+ constructor(message?: string, options?: ErrorOptions);
106
92
  }
107
93
  export declare class FuncMissingTypeHintError extends ModuleError {
108
- constructor(functionName: string, parameterName: string, options?: {
109
- cause?: Error;
110
- traceId?: string;
111
- });
94
+ static readonly DEFAULT_RETRYABLE: boolean | null;
95
+ constructor(functionName: string, parameterName: string, options?: ErrorOptions);
112
96
  }
113
97
  export declare class FuncMissingReturnTypeError extends ModuleError {
114
- constructor(functionName: string, options?: {
115
- cause?: Error;
116
- traceId?: string;
117
- });
98
+ static readonly DEFAULT_RETRYABLE: boolean | null;
99
+ constructor(functionName: string, options?: ErrorOptions);
118
100
  }
119
101
  export declare class BindingInvalidTargetError extends ModuleError {
120
- constructor(target: string, options?: {
121
- cause?: Error;
122
- traceId?: string;
123
- });
102
+ static readonly DEFAULT_RETRYABLE: boolean | null;
103
+ constructor(target: string, options?: ErrorOptions);
124
104
  }
125
105
  export declare class BindingModuleNotFoundError extends ModuleError {
126
- constructor(modulePath: string, options?: {
127
- cause?: Error;
128
- traceId?: string;
129
- });
106
+ static readonly DEFAULT_RETRYABLE: boolean | null;
107
+ constructor(modulePath: string, options?: ErrorOptions);
130
108
  }
131
109
  export declare class BindingCallableNotFoundError extends ModuleError {
132
- constructor(callableName: string, modulePath: string, options?: {
133
- cause?: Error;
134
- traceId?: string;
135
- });
110
+ static readonly DEFAULT_RETRYABLE: boolean | null;
111
+ constructor(callableName: string, modulePath: string, options?: ErrorOptions);
136
112
  }
137
113
  export declare class BindingNotCallableError extends ModuleError {
138
- constructor(target: string, options?: {
139
- cause?: Error;
140
- traceId?: string;
141
- });
114
+ static readonly DEFAULT_RETRYABLE: boolean | null;
115
+ constructor(target: string, options?: ErrorOptions);
142
116
  }
143
117
  export declare class BindingSchemaMissingError extends ModuleError {
144
- constructor(target: string, options?: {
145
- cause?: Error;
146
- traceId?: string;
147
- });
118
+ static readonly DEFAULT_RETRYABLE: boolean | null;
119
+ constructor(target: string, options?: ErrorOptions);
148
120
  }
149
121
  export declare class BindingFileInvalidError extends ModuleError {
150
- constructor(filePath: string, reason: string, options?: {
151
- cause?: Error;
152
- traceId?: string;
153
- });
122
+ static readonly DEFAULT_RETRYABLE: boolean | null;
123
+ constructor(filePath: string, reason: string, options?: ErrorOptions);
154
124
  }
155
125
  export declare class CircularDependencyError extends ModuleError {
156
- constructor(cyclePath: string[], options?: {
157
- cause?: Error;
158
- traceId?: string;
159
- });
126
+ static readonly DEFAULT_RETRYABLE: boolean | null;
127
+ constructor(cyclePath: string[], options?: ErrorOptions);
160
128
  }
161
129
  export declare class ModuleLoadError extends ModuleError {
162
- constructor(moduleId: string, reason: string, options?: {
163
- cause?: Error;
164
- traceId?: string;
165
- });
130
+ static readonly DEFAULT_RETRYABLE: boolean | null;
131
+ constructor(moduleId: string, reason: string, options?: ErrorOptions);
166
132
  }
167
133
  export declare class ModuleExecuteError extends ModuleError {
168
- constructor(moduleId: string, reason: string, options?: {
169
- cause?: Error;
170
- traceId?: string;
171
- });
134
+ static readonly DEFAULT_RETRYABLE: boolean | null;
135
+ constructor(moduleId: string, reason: string, options?: ErrorOptions);
172
136
  }
173
137
  export declare class InternalError extends ModuleError {
174
- constructor(message?: string, options?: {
175
- cause?: Error;
176
- traceId?: string;
177
- });
138
+ static readonly DEFAULT_RETRYABLE: boolean | null;
139
+ constructor(message?: string, options?: ErrorOptions);
140
+ }
141
+ /**
142
+ * Base error for all approval-related errors.
143
+ * Carries the full ApprovalResult for inspection by callers.
144
+ */
145
+ export declare class ApprovalError extends ModuleError {
146
+ static readonly DEFAULT_RETRYABLE: boolean | null;
147
+ readonly result: unknown;
148
+ constructor(code: string, message: string, result: unknown, moduleId?: string, options?: ErrorOptions);
149
+ get moduleId(): string | null;
150
+ get reason(): string | null;
151
+ }
152
+ export declare class ApprovalDeniedError extends ApprovalError {
153
+ static readonly DEFAULT_RETRYABLE: boolean | null;
154
+ constructor(result: unknown, moduleId?: string, options?: ErrorOptions);
155
+ }
156
+ export declare class ApprovalTimeoutError extends ApprovalError {
157
+ static readonly DEFAULT_RETRYABLE: boolean | null;
158
+ constructor(result: unknown, moduleId?: string, options?: ErrorOptions);
159
+ }
160
+ export declare class ApprovalPendingError extends ApprovalError {
161
+ static readonly DEFAULT_RETRYABLE: boolean | null;
162
+ constructor(result: unknown, moduleId?: string, options?: ErrorOptions);
163
+ get approvalId(): string | null;
178
164
  }
179
165
  /**
180
166
  * All framework error codes as constants.
@@ -208,6 +194,9 @@ export declare const ErrorCodes: Readonly<{
208
194
  readonly BINDING_FILE_INVALID: "BINDING_FILE_INVALID";
209
195
  readonly CIRCULAR_DEPENDENCY: "CIRCULAR_DEPENDENCY";
210
196
  readonly MIDDLEWARE_CHAIN_ERROR: "MIDDLEWARE_CHAIN_ERROR";
197
+ readonly APPROVAL_DENIED: "APPROVAL_DENIED";
198
+ readonly APPROVAL_TIMEOUT: "APPROVAL_TIMEOUT";
199
+ readonly APPROVAL_PENDING: "APPROVAL_PENDING";
211
200
  readonly GENERAL_NOT_IMPLEMENTED: "GENERAL_NOT_IMPLEMENTED";
212
201
  readonly DEPENDENCY_NOT_FOUND: "DEPENDENCY_NOT_FOUND";
213
202
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}