apcore-js 0.5.0 → 0.7.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 (319) hide show
  1. package/README.md +1 -1
  2. package/dist/acl.d.ts +27 -0
  3. package/dist/acl.d.ts.map +1 -0
  4. package/dist/acl.js +175 -0
  5. package/dist/acl.js.map +1 -0
  6. package/dist/approval.d.ts +85 -0
  7. package/dist/approval.d.ts.map +1 -0
  8. package/dist/approval.js +73 -0
  9. package/dist/approval.js.map +1 -0
  10. package/dist/async-task.d.ts +90 -0
  11. package/dist/async-task.d.ts.map +1 -0
  12. package/dist/async-task.js +215 -0
  13. package/dist/async-task.js.map +1 -0
  14. package/dist/bindings.d.ts +12 -0
  15. package/dist/bindings.d.ts.map +1 -0
  16. package/dist/bindings.js +185 -0
  17. package/dist/bindings.js.map +1 -0
  18. package/dist/cancel.d.ts +14 -0
  19. package/dist/cancel.d.ts.map +1 -0
  20. package/dist/cancel.js +27 -0
  21. package/dist/cancel.js.map +1 -0
  22. package/dist/config.d.ts +9 -0
  23. package/dist/config.d.ts.map +1 -0
  24. package/dist/config.js +23 -0
  25. package/dist/config.js.map +1 -0
  26. package/dist/context.d.ts +50 -0
  27. package/dist/context.d.ts.map +1 -0
  28. package/dist/context.js +87 -0
  29. package/dist/context.js.map +1 -0
  30. package/dist/decorator.d.ts +57 -0
  31. package/dist/decorator.d.ts.map +1 -0
  32. package/dist/decorator.js +74 -0
  33. package/dist/decorator.js.map +1 -0
  34. package/dist/errors.d.ts +204 -0
  35. package/dist/errors.d.ts.map +1 -0
  36. package/dist/errors.js +364 -0
  37. package/dist/errors.js.map +1 -0
  38. package/dist/executor.d.ts +82 -0
  39. package/dist/executor.d.ts.map +1 -0
  40. package/dist/executor.js +489 -0
  41. package/dist/executor.js.map +1 -0
  42. package/dist/extensions.d.ts +58 -0
  43. package/dist/extensions.d.ts.map +1 -0
  44. package/dist/extensions.js +239 -0
  45. package/dist/extensions.js.map +1 -0
  46. package/{src/index.ts → dist/index.d.ts} +6 -63
  47. package/dist/index.d.ts.map +1 -0
  48. package/dist/index.js +45 -0
  49. package/dist/index.js.map +1 -0
  50. package/dist/middleware/adapters.d.ts +18 -0
  51. package/dist/middleware/adapters.d.ts.map +1 -0
  52. package/dist/middleware/adapters.js +25 -0
  53. package/dist/middleware/adapters.js.map +1 -0
  54. package/dist/middleware/base.d.ts +10 -0
  55. package/dist/middleware/base.d.ts.map +1 -0
  56. package/dist/middleware/base.js +15 -0
  57. package/dist/middleware/base.js.map +1 -0
  58. package/{src/middleware/index.ts → dist/middleware/index.d.ts} +1 -0
  59. package/dist/middleware/index.d.ts.map +1 -0
  60. package/dist/middleware/index.js +5 -0
  61. package/dist/middleware/index.js.map +1 -0
  62. package/dist/middleware/logging.d.ts +25 -0
  63. package/dist/middleware/logging.d.ts.map +1 -0
  64. package/dist/middleware/logging.js +64 -0
  65. package/dist/middleware/logging.js.map +1 -0
  66. package/dist/middleware/manager.d.ts +21 -0
  67. package/dist/middleware/manager.d.ts.map +1 -0
  68. package/dist/middleware/manager.js +77 -0
  69. package/dist/middleware/manager.js.map +1 -0
  70. package/dist/module.d.ts +31 -0
  71. package/dist/module.d.ts.map +1 -0
  72. package/dist/module.js +12 -0
  73. package/dist/module.js.map +1 -0
  74. package/dist/observability/context-logger.d.ts +54 -0
  75. package/dist/observability/context-logger.d.ts.map +1 -0
  76. package/dist/observability/context-logger.js +151 -0
  77. package/dist/observability/context-logger.js.map +1 -0
  78. package/{src/observability/index.ts → dist/observability/index.d.ts} +1 -0
  79. package/dist/observability/index.d.ts.map +1 -0
  80. package/dist/observability/index.js +4 -0
  81. package/dist/observability/index.js.map +1 -0
  82. package/dist/observability/metrics.d.ts +30 -0
  83. package/dist/observability/metrics.d.ts.map +1 -0
  84. package/dist/observability/metrics.js +177 -0
  85. package/dist/observability/metrics.js.map +1 -0
  86. package/dist/observability/tracing.d.ts +62 -0
  87. package/dist/observability/tracing.d.ts.map +1 -0
  88. package/dist/observability/tracing.js +184 -0
  89. package/dist/observability/tracing.js.map +1 -0
  90. package/dist/registry/dependencies.d.ts +6 -0
  91. package/dist/registry/dependencies.d.ts.map +1 -0
  92. package/dist/registry/dependencies.js +83 -0
  93. package/dist/registry/dependencies.js.map +1 -0
  94. package/dist/registry/entry-point.d.ts +6 -0
  95. package/dist/registry/entry-point.d.ts.map +1 -0
  96. package/dist/registry/entry-point.js +55 -0
  97. package/dist/registry/entry-point.js.map +1 -0
  98. package/{src/registry/index.ts → dist/registry/index.d.ts} +1 -0
  99. package/dist/registry/index.d.ts.map +1 -0
  100. package/dist/registry/index.js +8 -0
  101. package/dist/registry/index.js.map +1 -0
  102. package/dist/registry/metadata.d.ts +9 -0
  103. package/dist/registry/metadata.d.ts.map +1 -0
  104. package/dist/registry/metadata.js +105 -0
  105. package/dist/registry/metadata.js.map +1 -0
  106. package/dist/registry/registry.d.ts +102 -0
  107. package/dist/registry/registry.d.ts.map +1 -0
  108. package/dist/registry/registry.js +534 -0
  109. package/dist/registry/registry.js.map +1 -0
  110. package/dist/registry/scanner.d.ts +7 -0
  111. package/dist/registry/scanner.d.ts.map +1 -0
  112. package/dist/registry/scanner.js +164 -0
  113. package/dist/registry/scanner.js.map +1 -0
  114. package/dist/registry/schema-export.d.ts +9 -0
  115. package/dist/registry/schema-export.d.ts.map +1 -0
  116. package/dist/registry/schema-export.js +132 -0
  117. package/dist/registry/schema-export.js.map +1 -0
  118. package/dist/registry/types.d.ts +29 -0
  119. package/dist/registry/types.d.ts.map +1 -0
  120. package/dist/registry/types.js +5 -0
  121. package/dist/registry/types.js.map +1 -0
  122. package/dist/registry/validation.d.ts +9 -0
  123. package/dist/registry/validation.d.ts.map +1 -0
  124. package/dist/registry/validation.js +33 -0
  125. package/dist/registry/validation.js.map +1 -0
  126. package/dist/schema/annotations.d.ts +8 -0
  127. package/dist/schema/annotations.d.ts.map +1 -0
  128. package/dist/schema/annotations.js +52 -0
  129. package/dist/schema/annotations.js.map +1 -0
  130. package/dist/schema/exporter.d.ts +13 -0
  131. package/dist/schema/exporter.d.ts.map +1 -0
  132. package/dist/schema/exporter.js +71 -0
  133. package/dist/schema/exporter.js.map +1 -0
  134. package/dist/schema/index.d.ts +9 -0
  135. package/dist/schema/index.d.ts.map +1 -0
  136. package/{src/schema/index.ts → dist/schema/index.js} +1 -7
  137. package/dist/schema/index.js.map +1 -0
  138. package/dist/schema/loader.d.ts +30 -0
  139. package/dist/schema/loader.d.ts.map +1 -0
  140. package/dist/schema/loader.js +260 -0
  141. package/dist/schema/loader.js.map +1 -0
  142. package/dist/schema/ref-resolver.d.ts +19 -0
  143. package/dist/schema/ref-resolver.d.ts.map +1 -0
  144. package/dist/schema/ref-resolver.js +212 -0
  145. package/dist/schema/ref-resolver.js.map +1 -0
  146. package/dist/schema/strict.d.ts +7 -0
  147. package/dist/schema/strict.d.ts.map +1 -0
  148. package/dist/schema/strict.js +127 -0
  149. package/dist/schema/strict.js.map +1 -0
  150. package/dist/schema/types.d.ts +53 -0
  151. package/dist/schema/types.d.ts.map +1 -0
  152. package/dist/schema/types.js +31 -0
  153. package/dist/schema/types.js.map +1 -0
  154. package/dist/schema/validator.d.ts +16 -0
  155. package/dist/schema/validator.d.ts.map +1 -0
  156. package/dist/schema/validator.js +71 -0
  157. package/dist/schema/validator.js.map +1 -0
  158. package/dist/trace-context.d.ts +35 -0
  159. package/dist/trace-context.d.ts.map +1 -0
  160. package/dist/trace-context.js +86 -0
  161. package/dist/trace-context.js.map +1 -0
  162. package/dist/utils/index.d.ts +11 -0
  163. package/dist/utils/index.d.ts.map +1 -0
  164. package/dist/utils/index.js +32 -0
  165. package/dist/utils/index.js.map +1 -0
  166. package/dist/utils/pattern.d.ts +5 -0
  167. package/dist/utils/pattern.d.ts.map +1 -0
  168. package/dist/utils/pattern.js +31 -0
  169. package/dist/utils/pattern.js.map +1 -0
  170. package/package.json +24 -3
  171. package/.claude/settings.local.json +0 -12
  172. package/.github/workflows/ci.yml +0 -39
  173. package/.gitmessage +0 -60
  174. package/.pre-commit-config.yaml +0 -28
  175. package/CHANGELOG.md +0 -214
  176. package/CLAUDE.md +0 -68
  177. package/apcore-logo.svg +0 -79
  178. package/planning/acl-system/overview.md +0 -54
  179. package/planning/acl-system/plan.md +0 -92
  180. package/planning/acl-system/state.json +0 -76
  181. package/planning/acl-system/tasks/acl-core.md +0 -226
  182. package/planning/acl-system/tasks/acl-rule.md +0 -92
  183. package/planning/acl-system/tasks/conditional-rules.md +0 -259
  184. package/planning/acl-system/tasks/pattern-matching.md +0 -152
  185. package/planning/acl-system/tasks/yaml-loading.md +0 -271
  186. package/planning/core-executor/overview.md +0 -53
  187. package/planning/core-executor/plan.md +0 -88
  188. package/planning/core-executor/state.json +0 -76
  189. package/planning/core-executor/tasks/async-support.md +0 -106
  190. package/planning/core-executor/tasks/execution-pipeline.md +0 -113
  191. package/planning/core-executor/tasks/redaction.md +0 -85
  192. package/planning/core-executor/tasks/safety-checks.md +0 -65
  193. package/planning/core-executor/tasks/setup.md +0 -75
  194. package/planning/decorator-bindings/overview.md +0 -62
  195. package/planning/decorator-bindings/plan.md +0 -104
  196. package/planning/decorator-bindings/state.json +0 -87
  197. package/planning/decorator-bindings/tasks/binding-directory.md +0 -79
  198. package/planning/decorator-bindings/tasks/binding-loader.md +0 -148
  199. package/planning/decorator-bindings/tasks/explicit-schemas.md +0 -85
  200. package/planning/decorator-bindings/tasks/function-module.md +0 -127
  201. package/planning/decorator-bindings/tasks/module-factory.md +0 -89
  202. package/planning/decorator-bindings/tasks/schema-modes.md +0 -142
  203. package/planning/middleware-system/overview.md +0 -48
  204. package/planning/middleware-system/plan.md +0 -102
  205. package/planning/middleware-system/state.json +0 -65
  206. package/planning/middleware-system/tasks/adapters.md +0 -170
  207. package/planning/middleware-system/tasks/base.md +0 -115
  208. package/planning/middleware-system/tasks/logging-middleware.md +0 -304
  209. package/planning/middleware-system/tasks/manager.md +0 -313
  210. package/planning/observability/overview.md +0 -53
  211. package/planning/observability/plan.md +0 -119
  212. package/planning/observability/state.json +0 -98
  213. package/planning/observability/tasks/context-logger.md +0 -201
  214. package/planning/observability/tasks/exporters.md +0 -121
  215. package/planning/observability/tasks/metrics-collector.md +0 -162
  216. package/planning/observability/tasks/metrics-middleware.md +0 -141
  217. package/planning/observability/tasks/obs-logging-middleware.md +0 -179
  218. package/planning/observability/tasks/span-model.md +0 -120
  219. package/planning/observability/tasks/tracing-middleware.md +0 -179
  220. package/planning/overview.md +0 -81
  221. package/planning/registry-system/overview.md +0 -57
  222. package/planning/registry-system/plan.md +0 -114
  223. package/planning/registry-system/state.json +0 -109
  224. package/planning/registry-system/tasks/dependencies.md +0 -157
  225. package/planning/registry-system/tasks/entry-point.md +0 -148
  226. package/planning/registry-system/tasks/metadata.md +0 -198
  227. package/planning/registry-system/tasks/registry-core.md +0 -323
  228. package/planning/registry-system/tasks/scanner.md +0 -172
  229. package/planning/registry-system/tasks/schema-export.md +0 -261
  230. package/planning/registry-system/tasks/types.md +0 -124
  231. package/planning/registry-system/tasks/validation.md +0 -177
  232. package/planning/schema-system/overview.md +0 -56
  233. package/planning/schema-system/plan.md +0 -121
  234. package/planning/schema-system/state.json +0 -98
  235. package/planning/schema-system/tasks/exporter.md +0 -153
  236. package/planning/schema-system/tasks/loader.md +0 -106
  237. package/planning/schema-system/tasks/ref-resolver.md +0 -133
  238. package/planning/schema-system/tasks/strict-mode.md +0 -140
  239. package/planning/schema-system/tasks/typebox-generation.md +0 -133
  240. package/planning/schema-system/tasks/types-and-annotations.md +0 -160
  241. package/planning/schema-system/tasks/validator.md +0 -149
  242. package/src/acl.ts +0 -200
  243. package/src/async-task.ts +0 -267
  244. package/src/bindings.ts +0 -207
  245. package/src/cancel.ts +0 -32
  246. package/src/config.ts +0 -24
  247. package/src/context.ts +0 -160
  248. package/src/decorator.ts +0 -110
  249. package/src/errors.ts +0 -429
  250. package/src/executor.ts +0 -493
  251. package/src/extensions.ts +0 -265
  252. package/src/middleware/adapters.ts +0 -54
  253. package/src/middleware/base.ts +0 -33
  254. package/src/middleware/logging.ts +0 -103
  255. package/src/middleware/manager.ts +0 -105
  256. package/src/module.ts +0 -43
  257. package/src/observability/context-logger.ts +0 -203
  258. package/src/observability/metrics.ts +0 -214
  259. package/src/observability/tracing.ts +0 -252
  260. package/src/registry/dependencies.ts +0 -99
  261. package/src/registry/entry-point.ts +0 -64
  262. package/src/registry/metadata.ts +0 -111
  263. package/src/registry/registry.ts +0 -580
  264. package/src/registry/scanner.ts +0 -168
  265. package/src/registry/schema-export.ts +0 -181
  266. package/src/registry/types.ts +0 -32
  267. package/src/registry/validation.ts +0 -38
  268. package/src/schema/annotations.ts +0 -68
  269. package/src/schema/exporter.ts +0 -90
  270. package/src/schema/loader.ts +0 -273
  271. package/src/schema/ref-resolver.ts +0 -244
  272. package/src/schema/strict.ts +0 -136
  273. package/src/schema/types.ts +0 -73
  274. package/src/schema/validator.ts +0 -82
  275. package/src/trace-context.ts +0 -102
  276. package/src/utils/index.ts +0 -5
  277. package/src/utils/pattern.ts +0 -30
  278. package/tests/async-task.test.ts +0 -335
  279. package/tests/helpers.ts +0 -30
  280. package/tests/integration/test-acl-safety.test.ts +0 -269
  281. package/tests/integration/test-binding-executor.test.ts +0 -194
  282. package/tests/integration/test-e2e-flow.test.ts +0 -117
  283. package/tests/integration/test-error-propagation.test.ts +0 -259
  284. package/tests/integration/test-middleware-chain.test.ts +0 -120
  285. package/tests/integration/test-observability-integration.test.ts +0 -438
  286. package/tests/observability/test-context-logger.test.ts +0 -123
  287. package/tests/observability/test-metrics.test.ts +0 -186
  288. package/tests/observability/test-tracing.test.ts +0 -303
  289. package/tests/registry/test-dependencies.test.ts +0 -70
  290. package/tests/registry/test-entry-point.test.ts +0 -133
  291. package/tests/registry/test-metadata.test.ts +0 -265
  292. package/tests/registry/test-registry.test.ts +0 -1397
  293. package/tests/registry/test-scanner.test.ts +0 -257
  294. package/tests/registry/test-schema-export.test.ts +0 -355
  295. package/tests/registry/test-validation.test.ts +0 -75
  296. package/tests/schema/test-annotations.test.ts +0 -137
  297. package/tests/schema/test-exporter.test.ts +0 -172
  298. package/tests/schema/test-loader.test.ts +0 -461
  299. package/tests/schema/test-ref-resolver.test.ts +0 -530
  300. package/tests/schema/test-strict.test.ts +0 -348
  301. package/tests/schema/test-validator.test.ts +0 -64
  302. package/tests/test-acl.test.ts +0 -423
  303. package/tests/test-bindings.test.ts +0 -227
  304. package/tests/test-cancel.test.ts +0 -71
  305. package/tests/test-config.test.ts +0 -76
  306. package/tests/test-context.test.ts +0 -266
  307. package/tests/test-decorator.test.ts +0 -173
  308. package/tests/test-errors.test.ts +0 -647
  309. package/tests/test-executor-stream.test.ts +0 -208
  310. package/tests/test-executor.test.ts +0 -252
  311. package/tests/test-extensions.test.ts +0 -310
  312. package/tests/test-logging-middleware.test.ts +0 -150
  313. package/tests/test-middleware-manager.test.ts +0 -185
  314. package/tests/test-middleware.test.ts +0 -86
  315. package/tests/test-trace-context.test.ts +0 -251
  316. package/tests/utils/test-pattern.test.ts +0 -109
  317. package/tsconfig.build.json +0 -8
  318. package/tsconfig.json +0 -20
  319. package/vitest.config.ts +0 -18
package/dist/errors.js ADDED
@@ -0,0 +1,364 @@
1
+ /**
2
+ * Error hierarchy for the apcore framework.
3
+ */
4
+ export class ModuleError extends Error {
5
+ static DEFAULT_RETRYABLE = null;
6
+ code;
7
+ details;
8
+ cause;
9
+ traceId;
10
+ timestamp;
11
+ retryable;
12
+ aiGuidance;
13
+ userFixable;
14
+ suggestion;
15
+ constructor(code, message, details, cause, traceId, retryable, aiGuidance, userFixable, suggestion) {
16
+ super(message, cause ? { cause } : undefined);
17
+ this.name = 'ModuleError';
18
+ this.code = code;
19
+ this.details = details ?? {};
20
+ this.cause = cause;
21
+ this.traceId = traceId;
22
+ this.timestamp = new Date().toISOString();
23
+ this.retryable = retryable !== undefined ? retryable : this.constructor.DEFAULT_RETRYABLE;
24
+ this.aiGuidance = aiGuidance ?? null;
25
+ this.userFixable = userFixable ?? null;
26
+ this.suggestion = suggestion ?? null;
27
+ }
28
+ toString() {
29
+ return `[${this.code}] ${this.message}`;
30
+ }
31
+ toJSON() {
32
+ const obj = {
33
+ code: this.code,
34
+ message: this.message,
35
+ };
36
+ if (Object.keys(this.details).length > 0) {
37
+ obj.details = this.details;
38
+ }
39
+ if (this.cause !== undefined) {
40
+ obj.cause = String(this.cause);
41
+ }
42
+ if (this.traceId !== undefined) {
43
+ obj.trace_id = this.traceId;
44
+ }
45
+ obj.timestamp = this.timestamp;
46
+ if (this.retryable !== null) {
47
+ obj.retryable = this.retryable;
48
+ }
49
+ if (this.aiGuidance !== null) {
50
+ obj.ai_guidance = this.aiGuidance;
51
+ }
52
+ if (this.userFixable !== null) {
53
+ obj.user_fixable = this.userFixable;
54
+ }
55
+ if (this.suggestion !== null) {
56
+ obj.suggestion = this.suggestion;
57
+ }
58
+ return obj;
59
+ }
60
+ }
61
+ export class ConfigNotFoundError extends ModuleError {
62
+ static DEFAULT_RETRYABLE = false;
63
+ constructor(configPath, options) {
64
+ super('CONFIG_NOT_FOUND', `Configuration file not found: ${configPath}`, { configPath }, options?.cause, options?.traceId, options?.retryable, options?.aiGuidance, options?.userFixable, options?.suggestion);
65
+ this.name = 'ConfigNotFoundError';
66
+ }
67
+ }
68
+ export class ConfigError extends ModuleError {
69
+ static DEFAULT_RETRYABLE = false;
70
+ constructor(message, options) {
71
+ super('CONFIG_INVALID', message, {}, options?.cause, options?.traceId, options?.retryable, options?.aiGuidance, options?.userFixable, options?.suggestion);
72
+ this.name = 'ConfigError';
73
+ }
74
+ }
75
+ export class ACLRuleError extends ModuleError {
76
+ static DEFAULT_RETRYABLE = false;
77
+ constructor(message, options) {
78
+ super('ACL_RULE_ERROR', message, {}, options?.cause, options?.traceId, options?.retryable, options?.aiGuidance, options?.userFixable, options?.suggestion);
79
+ this.name = 'ACLRuleError';
80
+ }
81
+ }
82
+ export class ACLDeniedError extends ModuleError {
83
+ static DEFAULT_RETRYABLE = false;
84
+ constructor(callerId, targetId, options) {
85
+ super('ACL_DENIED', `Access denied: ${callerId} -> ${targetId}`, { callerId, targetId }, options?.cause, options?.traceId, options?.retryable, options?.aiGuidance, options?.userFixable, options?.suggestion);
86
+ this.name = 'ACLDeniedError';
87
+ }
88
+ get callerId() {
89
+ return this.details['callerId'];
90
+ }
91
+ get targetId() {
92
+ return this.details['targetId'];
93
+ }
94
+ }
95
+ export class ModuleNotFoundError extends ModuleError {
96
+ static DEFAULT_RETRYABLE = false;
97
+ constructor(moduleId, options) {
98
+ super('MODULE_NOT_FOUND', `Module not found: ${moduleId}`, { moduleId }, options?.cause, options?.traceId, options?.retryable, options?.aiGuidance, options?.userFixable, options?.suggestion);
99
+ this.name = 'ModuleNotFoundError';
100
+ }
101
+ }
102
+ export class ModuleTimeoutError extends ModuleError {
103
+ static DEFAULT_RETRYABLE = true;
104
+ constructor(moduleId, timeoutMs, options) {
105
+ super('MODULE_TIMEOUT', `Module ${moduleId} timed out after ${timeoutMs}ms`, { moduleId, timeoutMs }, options?.cause, options?.traceId, options?.retryable, options?.aiGuidance, options?.userFixable, options?.suggestion);
106
+ this.name = 'ModuleTimeoutError';
107
+ }
108
+ get moduleId() {
109
+ return this.details['moduleId'];
110
+ }
111
+ get timeoutMs() {
112
+ return this.details['timeoutMs'];
113
+ }
114
+ }
115
+ export class SchemaValidationError extends ModuleError {
116
+ static DEFAULT_RETRYABLE = false;
117
+ constructor(message = 'Schema validation failed', errors, options) {
118
+ super('SCHEMA_VALIDATION_ERROR', message, { errors: errors ?? [] }, options?.cause, options?.traceId, options?.retryable, options?.aiGuidance, options?.userFixable, options?.suggestion);
119
+ this.name = 'SchemaValidationError';
120
+ }
121
+ }
122
+ export class SchemaNotFoundError extends ModuleError {
123
+ static DEFAULT_RETRYABLE = false;
124
+ constructor(schemaId, options) {
125
+ super('SCHEMA_NOT_FOUND', `Schema not found: ${schemaId}`, { schemaId }, options?.cause, options?.traceId, options?.retryable, options?.aiGuidance, options?.userFixable, options?.suggestion);
126
+ this.name = 'SchemaNotFoundError';
127
+ }
128
+ }
129
+ export class SchemaParseError extends ModuleError {
130
+ static DEFAULT_RETRYABLE = false;
131
+ constructor(message, options) {
132
+ super('SCHEMA_PARSE_ERROR', message, {}, options?.cause, options?.traceId, options?.retryable, options?.aiGuidance, options?.userFixable, options?.suggestion);
133
+ this.name = 'SchemaParseError';
134
+ }
135
+ }
136
+ export class SchemaCircularRefError extends ModuleError {
137
+ static DEFAULT_RETRYABLE = false;
138
+ constructor(refPath, options) {
139
+ super('SCHEMA_CIRCULAR_REF', `Circular reference detected: ${refPath}`, { refPath }, options?.cause, options?.traceId, options?.retryable, options?.aiGuidance, options?.userFixable, options?.suggestion);
140
+ this.name = 'SchemaCircularRefError';
141
+ }
142
+ }
143
+ export class CallDepthExceededError extends ModuleError {
144
+ static DEFAULT_RETRYABLE = false;
145
+ constructor(depth, maxDepth, callChain, options) {
146
+ super('CALL_DEPTH_EXCEEDED', `Call depth ${depth} exceeds maximum ${maxDepth}`, { depth, maxDepth, callChain }, options?.cause, options?.traceId, options?.retryable, options?.aiGuidance, options?.userFixable, options?.suggestion);
147
+ this.name = 'CallDepthExceededError';
148
+ }
149
+ get currentDepth() {
150
+ return this.details['depth'];
151
+ }
152
+ get maxDepth() {
153
+ return this.details['maxDepth'];
154
+ }
155
+ }
156
+ export class CircularCallError extends ModuleError {
157
+ static DEFAULT_RETRYABLE = false;
158
+ constructor(moduleId, callChain, options) {
159
+ super('CIRCULAR_CALL', `Circular call detected for module ${moduleId}`, { moduleId, callChain }, options?.cause, options?.traceId, options?.retryable, options?.aiGuidance, options?.userFixable, options?.suggestion);
160
+ this.name = 'CircularCallError';
161
+ }
162
+ get moduleId() {
163
+ return this.details['moduleId'];
164
+ }
165
+ }
166
+ export class CallFrequencyExceededError extends ModuleError {
167
+ static DEFAULT_RETRYABLE = false;
168
+ constructor(moduleId, count, maxRepeat, callChain, options) {
169
+ super('CALL_FREQUENCY_EXCEEDED', `Module ${moduleId} called ${count} times, max is ${maxRepeat}`, { moduleId, count, maxRepeat, callChain }, options?.cause, options?.traceId, options?.retryable, options?.aiGuidance, options?.userFixable, options?.suggestion);
170
+ this.name = 'CallFrequencyExceededError';
171
+ }
172
+ get moduleId() {
173
+ return this.details['moduleId'];
174
+ }
175
+ get count() {
176
+ return this.details['count'];
177
+ }
178
+ get maxRepeat() {
179
+ return this.details['maxRepeat'];
180
+ }
181
+ }
182
+ export class InvalidInputError extends ModuleError {
183
+ static DEFAULT_RETRYABLE = false;
184
+ constructor(message = 'Invalid input', options) {
185
+ super('GENERAL_INVALID_INPUT', message, {}, options?.cause, options?.traceId, options?.retryable, options?.aiGuidance, options?.userFixable, options?.suggestion);
186
+ this.name = 'InvalidInputError';
187
+ }
188
+ }
189
+ export class FuncMissingTypeHintError extends ModuleError {
190
+ static DEFAULT_RETRYABLE = false;
191
+ constructor(functionName, parameterName, options) {
192
+ super('FUNC_MISSING_TYPE_HINT', `Parameter '${parameterName}' in function '${functionName}' has no type annotation. Add a type annotation like '${parameterName}: string'.`, { functionName, parameterName }, options?.cause, options?.traceId, options?.retryable, options?.aiGuidance, options?.userFixable, options?.suggestion);
193
+ this.name = 'FuncMissingTypeHintError';
194
+ }
195
+ }
196
+ export class FuncMissingReturnTypeError extends ModuleError {
197
+ static DEFAULT_RETRYABLE = false;
198
+ constructor(functionName, options) {
199
+ super('FUNC_MISSING_RETURN_TYPE', `Function '${functionName}' has no return type annotation. Add a return type like ': Record<string, unknown>'.`, { functionName }, options?.cause, options?.traceId, options?.retryable, options?.aiGuidance, options?.userFixable, options?.suggestion);
200
+ this.name = 'FuncMissingReturnTypeError';
201
+ }
202
+ }
203
+ export class BindingInvalidTargetError extends ModuleError {
204
+ static DEFAULT_RETRYABLE = false;
205
+ constructor(target, options) {
206
+ super('BINDING_INVALID_TARGET', `Invalid binding target '${target}'. Expected format: 'module.path:callable_name'.`, { target }, options?.cause, options?.traceId, options?.retryable, options?.aiGuidance, options?.userFixable, options?.suggestion);
207
+ this.name = 'BindingInvalidTargetError';
208
+ }
209
+ }
210
+ export class BindingModuleNotFoundError extends ModuleError {
211
+ static DEFAULT_RETRYABLE = false;
212
+ constructor(modulePath, options) {
213
+ super('BINDING_MODULE_NOT_FOUND', `Cannot import module '${modulePath}'.`, { modulePath }, options?.cause, options?.traceId, options?.retryable, options?.aiGuidance, options?.userFixable, options?.suggestion);
214
+ this.name = 'BindingModuleNotFoundError';
215
+ }
216
+ }
217
+ export class BindingCallableNotFoundError extends ModuleError {
218
+ static DEFAULT_RETRYABLE = false;
219
+ constructor(callableName, modulePath, options) {
220
+ super('BINDING_CALLABLE_NOT_FOUND', `Cannot find callable '${callableName}' in module '${modulePath}'.`, { callableName, modulePath }, options?.cause, options?.traceId, options?.retryable, options?.aiGuidance, options?.userFixable, options?.suggestion);
221
+ this.name = 'BindingCallableNotFoundError';
222
+ }
223
+ }
224
+ export class BindingNotCallableError extends ModuleError {
225
+ static DEFAULT_RETRYABLE = false;
226
+ constructor(target, options) {
227
+ super('BINDING_NOT_CALLABLE', `Resolved target '${target}' is not callable.`, { target }, options?.cause, options?.traceId, options?.retryable, options?.aiGuidance, options?.userFixable, options?.suggestion);
228
+ this.name = 'BindingNotCallableError';
229
+ }
230
+ }
231
+ export class BindingSchemaMissingError extends ModuleError {
232
+ static DEFAULT_RETRYABLE = false;
233
+ constructor(target, options) {
234
+ super('BINDING_SCHEMA_MISSING', `No schema available for target '${target}'. Add type hints or provide an explicit schema.`, { target }, options?.cause, options?.traceId, options?.retryable, options?.aiGuidance, options?.userFixable, options?.suggestion);
235
+ this.name = 'BindingSchemaMissingError';
236
+ }
237
+ }
238
+ export class BindingFileInvalidError extends ModuleError {
239
+ static DEFAULT_RETRYABLE = false;
240
+ constructor(filePath, reason, options) {
241
+ super('BINDING_FILE_INVALID', `Invalid binding file '${filePath}': ${reason}`, { filePath, reason }, options?.cause, options?.traceId, options?.retryable, options?.aiGuidance, options?.userFixable, options?.suggestion);
242
+ this.name = 'BindingFileInvalidError';
243
+ }
244
+ }
245
+ export class CircularDependencyError extends ModuleError {
246
+ static DEFAULT_RETRYABLE = false;
247
+ constructor(cyclePath, options) {
248
+ super('CIRCULAR_DEPENDENCY', `Circular dependency detected: ${cyclePath.join(' -> ')}`, { cyclePath }, options?.cause, options?.traceId, options?.retryable, options?.aiGuidance, options?.userFixable, options?.suggestion);
249
+ this.name = 'CircularDependencyError';
250
+ }
251
+ }
252
+ export class ModuleLoadError extends ModuleError {
253
+ static DEFAULT_RETRYABLE = false;
254
+ constructor(moduleId, reason, options) {
255
+ super('MODULE_LOAD_ERROR', `Failed to load module '${moduleId}': ${reason}`, { moduleId, reason }, options?.cause, options?.traceId, options?.retryable, options?.aiGuidance, options?.userFixable, options?.suggestion);
256
+ this.name = 'ModuleLoadError';
257
+ }
258
+ }
259
+ export class ModuleExecuteError extends ModuleError {
260
+ static DEFAULT_RETRYABLE = null;
261
+ constructor(moduleId, reason, options) {
262
+ super('MODULE_EXECUTE_ERROR', `Failed to execute module '${moduleId}': ${reason}`, { moduleId, reason }, options?.cause, options?.traceId, options?.retryable, options?.aiGuidance, options?.userFixable, options?.suggestion);
263
+ this.name = 'ModuleExecuteError';
264
+ }
265
+ }
266
+ export class InternalError extends ModuleError {
267
+ static DEFAULT_RETRYABLE = true;
268
+ constructor(message = 'Internal error', options) {
269
+ super('GENERAL_INTERNAL_ERROR', message, {}, options?.cause, options?.traceId, options?.retryable, options?.aiGuidance, options?.userFixable, options?.suggestion);
270
+ this.name = 'InternalError';
271
+ }
272
+ }
273
+ /**
274
+ * Base error for all approval-related errors.
275
+ * Carries the full ApprovalResult for inspection by callers.
276
+ */
277
+ export class ApprovalError extends ModuleError {
278
+ static DEFAULT_RETRYABLE = false;
279
+ result;
280
+ constructor(code, message, result, moduleId, options) {
281
+ super(code, message, { moduleId: moduleId ?? null }, options?.cause, options?.traceId, options?.retryable, options?.aiGuidance, options?.userFixable, options?.suggestion);
282
+ this.name = 'ApprovalError';
283
+ this.result = result;
284
+ }
285
+ get moduleId() {
286
+ return this.details['moduleId'];
287
+ }
288
+ get reason() {
289
+ const r = this.result;
290
+ return r?.['reason'] ?? null;
291
+ }
292
+ }
293
+ export class ApprovalDeniedError extends ApprovalError {
294
+ static DEFAULT_RETRYABLE = false;
295
+ constructor(result, moduleId = '', options) {
296
+ const reason = result?.['reason'];
297
+ let msg = `Approval denied for module '${moduleId}'`;
298
+ if (reason) {
299
+ msg += `: ${reason}`;
300
+ }
301
+ super('APPROVAL_DENIED', msg, result, moduleId, options);
302
+ this.name = 'ApprovalDeniedError';
303
+ }
304
+ }
305
+ export class ApprovalTimeoutError extends ApprovalError {
306
+ static DEFAULT_RETRYABLE = true;
307
+ constructor(result, moduleId = '', options) {
308
+ super('APPROVAL_TIMEOUT', `Approval timed out for module '${moduleId}'`, result, moduleId, options);
309
+ this.name = 'ApprovalTimeoutError';
310
+ }
311
+ }
312
+ export class ApprovalPendingError extends ApprovalError {
313
+ static DEFAULT_RETRYABLE = false;
314
+ constructor(result, moduleId = '', options) {
315
+ const approvalId = result?.['approvalId'];
316
+ super('APPROVAL_PENDING', `Approval pending for module '${moduleId}'`, result, moduleId, options);
317
+ this.name = 'ApprovalPendingError';
318
+ this.details['approvalId'] = approvalId ?? null;
319
+ }
320
+ get approvalId() {
321
+ return this.details['approvalId'];
322
+ }
323
+ }
324
+ /**
325
+ * All framework error codes as constants.
326
+ * Use these instead of hardcoding error code strings.
327
+ */
328
+ export const ErrorCodes = Object.freeze({
329
+ CONFIG_NOT_FOUND: "CONFIG_NOT_FOUND",
330
+ CONFIG_INVALID: "CONFIG_INVALID",
331
+ ACL_RULE_ERROR: "ACL_RULE_ERROR",
332
+ ACL_DENIED: "ACL_DENIED",
333
+ MODULE_NOT_FOUND: "MODULE_NOT_FOUND",
334
+ MODULE_TIMEOUT: "MODULE_TIMEOUT",
335
+ MODULE_LOAD_ERROR: "MODULE_LOAD_ERROR",
336
+ MODULE_EXECUTE_ERROR: "MODULE_EXECUTE_ERROR",
337
+ SCHEMA_VALIDATION_ERROR: "SCHEMA_VALIDATION_ERROR",
338
+ SCHEMA_NOT_FOUND: "SCHEMA_NOT_FOUND",
339
+ SCHEMA_PARSE_ERROR: "SCHEMA_PARSE_ERROR",
340
+ SCHEMA_CIRCULAR_REF: "SCHEMA_CIRCULAR_REF",
341
+ CALL_DEPTH_EXCEEDED: "CALL_DEPTH_EXCEEDED",
342
+ CIRCULAR_CALL: "CIRCULAR_CALL",
343
+ CALL_FREQUENCY_EXCEEDED: "CALL_FREQUENCY_EXCEEDED",
344
+ GENERAL_INVALID_INPUT: "GENERAL_INVALID_INPUT",
345
+ GENERAL_INTERNAL_ERROR: "GENERAL_INTERNAL_ERROR",
346
+ FUNC_MISSING_TYPE_HINT: "FUNC_MISSING_TYPE_HINT",
347
+ FUNC_MISSING_RETURN_TYPE: "FUNC_MISSING_RETURN_TYPE",
348
+ BINDING_INVALID_TARGET: "BINDING_INVALID_TARGET",
349
+ BINDING_MODULE_NOT_FOUND: "BINDING_MODULE_NOT_FOUND",
350
+ BINDING_CALLABLE_NOT_FOUND: "BINDING_CALLABLE_NOT_FOUND",
351
+ BINDING_NOT_CALLABLE: "BINDING_NOT_CALLABLE",
352
+ BINDING_SCHEMA_MISSING: "BINDING_SCHEMA_MISSING",
353
+ BINDING_FILE_INVALID: "BINDING_FILE_INVALID",
354
+ CIRCULAR_DEPENDENCY: "CIRCULAR_DEPENDENCY",
355
+ MIDDLEWARE_CHAIN_ERROR: "MIDDLEWARE_CHAIN_ERROR",
356
+ APPROVAL_DENIED: "APPROVAL_DENIED",
357
+ APPROVAL_TIMEOUT: "APPROVAL_TIMEOUT",
358
+ APPROVAL_PENDING: "APPROVAL_PENDING",
359
+ // Forward declarations for Level 2 Phase 2 features.
360
+ // Exception classes will be added when the corresponding features are implemented.
361
+ GENERAL_NOT_IMPLEMENTED: "GENERAL_NOT_IMPLEMENTED",
362
+ DEPENDENCY_NOT_FOUND: "DEPENDENCY_NOT_FOUND",
363
+ });
364
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Executor and related utilities for apcore.
3
+ *
4
+ * Async-only execution pipeline. Python's call() + call_async() merge into one async call().
5
+ * Timeout uses Promise.race instead of threading.
6
+ */
7
+ import type { ACL } from './acl.js';
8
+ import type { ApprovalHandler } from './approval.js';
9
+ import type { Config } from './config.js';
10
+ import { Context } from './context.js';
11
+ import { Middleware } from './middleware/index.js';
12
+ import type { ValidationResult } from './module.js';
13
+ import type { Registry } from './registry/registry.js';
14
+ export declare const REDACTED_VALUE: string;
15
+ export declare function redactSensitive(data: Record<string, unknown>, schemaDict: Record<string, unknown>): Record<string, unknown>;
16
+ export declare class Executor {
17
+ private _registry;
18
+ private _middlewareManager;
19
+ private _acl;
20
+ private _config;
21
+ private _approvalHandler;
22
+ private _defaultTimeout;
23
+ private _maxCallDepth;
24
+ private _maxModuleRepeat;
25
+ constructor(options: {
26
+ registry: Registry;
27
+ middlewares?: Middleware[] | null;
28
+ acl?: ACL | null;
29
+ config?: Config | null;
30
+ approvalHandler?: ApprovalHandler | null;
31
+ });
32
+ get registry(): Registry;
33
+ get middlewares(): Middleware[];
34
+ /** Set the access control provider. */
35
+ setAcl(acl: ACL): void;
36
+ /** Set the approval handler for Step 4.5 gate. */
37
+ setApprovalHandler(handler: ApprovalHandler): void;
38
+ use(middleware: Middleware): Executor;
39
+ useBefore(callback: (moduleId: string, inputs: Record<string, unknown>, context: Context) => Record<string, unknown> | null): Executor;
40
+ useAfter(callback: (moduleId: string, inputs: Record<string, unknown>, output: Record<string, unknown>, context: Context) => Record<string, unknown> | null): Executor;
41
+ remove(middleware: Middleware): boolean;
42
+ call(moduleId: string, inputs?: Record<string, unknown> | null, context?: Context | null): Promise<Record<string, unknown>>;
43
+ /**
44
+ * Alias for call(). Provided for compatibility with MCP bridge packages
45
+ * that may call callAsync() by convention.
46
+ */
47
+ callAsync(moduleId: string, inputs?: Record<string, unknown> | null, context?: Context | null): Promise<Record<string, unknown>>;
48
+ /**
49
+ * Streaming execution pipeline. If the module exposes a stream() async generator,
50
+ * yields each chunk. Otherwise falls back to call() and yields a single chunk.
51
+ *
52
+ * Pipeline: context -> safety -> lookup -> ACL -> validate inputs -> before-middleware
53
+ * -> stream (or fallback to execute) -> validate accumulated output -> after-middleware
54
+ *
55
+ * Note: In the streaming path, after-middleware runs on the accumulated output for
56
+ * validation/side-effects but its return value is not yielded since chunks were already
57
+ * emitted. In the non-streaming fallback, after-middleware can transform the output.
58
+ */
59
+ stream(moduleId: string, inputs?: Record<string, unknown> | null, context?: Context | null): AsyncGenerator<Record<string, unknown>>;
60
+ private _streamWithMiddleware;
61
+ private _createContext;
62
+ private _lookupModule;
63
+ private _checkAcl;
64
+ private _validateInputs;
65
+ private _validateSchema;
66
+ private _executeWithMiddleware;
67
+ private _validateOutput;
68
+ validate(moduleId: string, inputs: Record<string, unknown>): ValidationResult;
69
+ private _checkSafety;
70
+ /** Check if a module requires approval, handling both interface and dict annotations. */
71
+ private _needsApproval;
72
+ /** Build an ApprovalRequest from module metadata. */
73
+ private _buildApprovalRequest;
74
+ /** Map an ApprovalResult status to the appropriate action or error. */
75
+ private _handleApprovalResult;
76
+ /** Emit an audit event for the approval decision (logging + span event). */
77
+ private _emitApprovalEvent;
78
+ /** Step 4.5: Approval gate. */
79
+ private _checkApproval;
80
+ private _executeWithTimeout;
81
+ }
82
+ //# sourceMappingURL=executor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}