@plumbus/core 0.7.1 → 0.8.0-beta.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.
Files changed (513) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/README.md +2 -1
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/admission/client.d.ts +9 -0
  5. package/dist/admission/client.d.ts.map +1 -0
  6. package/dist/admission/client.js +34 -0
  7. package/dist/admission/client.js.map +1 -0
  8. package/dist/admission/index.d.ts +5 -0
  9. package/dist/admission/index.d.ts.map +1 -0
  10. package/dist/admission/index.js +4 -0
  11. package/dist/admission/index.js.map +1 -0
  12. package/dist/admission/request-admission.d.ts +26 -0
  13. package/dist/admission/request-admission.d.ts.map +1 -0
  14. package/dist/admission/request-admission.js +85 -0
  15. package/dist/admission/request-admission.js.map +1 -0
  16. package/dist/admission/shared.d.ts +31 -0
  17. package/dist/admission/shared.d.ts.map +1 -0
  18. package/dist/admission/shared.js +30 -0
  19. package/dist/admission/shared.js.map +1 -0
  20. package/dist/ai/ai/provider.d.ts +5 -7
  21. package/dist/ai/ai-service.d.ts +8 -1
  22. package/dist/ai/ai-service.d.ts.map +1 -1
  23. package/dist/ai/ai-service.js +23 -13
  24. package/dist/ai/ai-service.js.map +1 -1
  25. package/dist/ai/errors/data-errors.d.ts +6 -0
  26. package/dist/ai/errors/index.d.ts +4 -1
  27. package/dist/ai/fill-prompt-template.d.ts +12 -0
  28. package/dist/ai/fill-prompt-template.d.ts.map +1 -0
  29. package/dist/ai/fill-prompt-template.js +19 -0
  30. package/dist/ai/fill-prompt-template.js.map +1 -0
  31. package/dist/ai/governed-artifacts.d.ts +49 -0
  32. package/dist/ai/governed-artifacts.d.ts.map +1 -0
  33. package/dist/ai/governed-artifacts.js +277 -0
  34. package/dist/ai/governed-artifacts.js.map +1 -0
  35. package/dist/ai/governed-budget.d.ts +17 -0
  36. package/dist/ai/governed-budget.d.ts.map +1 -0
  37. package/dist/ai/governed-budget.js +52 -0
  38. package/dist/ai/governed-budget.js.map +1 -0
  39. package/dist/ai/governed-host.d.ts +54 -0
  40. package/dist/ai/governed-host.d.ts.map +1 -0
  41. package/dist/ai/governed-host.js +8 -0
  42. package/dist/ai/governed-host.js.map +1 -0
  43. package/dist/ai/governed-invoke.d.ts +41 -0
  44. package/dist/ai/governed-invoke.d.ts.map +1 -0
  45. package/dist/ai/governed-invoke.js +102 -0
  46. package/dist/ai/governed-invoke.js.map +1 -0
  47. package/dist/ai/governed-runtime.d.ts +103 -0
  48. package/dist/ai/governed-runtime.d.ts.map +1 -0
  49. package/dist/ai/governed-runtime.js +151 -0
  50. package/dist/ai/governed-runtime.js.map +1 -0
  51. package/dist/ai/index.d.ts +12 -2
  52. package/dist/ai/index.d.ts.map +1 -1
  53. package/dist/ai/index.js +8 -2
  54. package/dist/ai/index.js.map +1 -1
  55. package/dist/ai/prompt-registry.d.ts +6 -0
  56. package/dist/ai/prompt-registry.d.ts.map +1 -1
  57. package/dist/ai/prompt-registry.js +12 -0
  58. package/dist/ai/prompt-registry.js.map +1 -1
  59. package/dist/ai/provider.d.ts +5 -7
  60. package/dist/ai/provider.d.ts.map +1 -1
  61. package/dist/ai/provider.js +29 -0
  62. package/dist/ai/provider.js.map +1 -1
  63. package/dist/ai/types/enums.d.ts +2 -0
  64. package/dist/ai/types/fields.d.ts +7 -0
  65. package/dist/ai/types/prompt.d.ts +8 -0
  66. package/dist/ai/validation.d.ts.map +1 -1
  67. package/dist/ai/validation.js +10 -1
  68. package/dist/ai/validation.js.map +1 -1
  69. package/dist/api/exposure.d.ts +14 -0
  70. package/dist/api/exposure.d.ts.map +1 -1
  71. package/dist/api/exposure.js +16 -0
  72. package/dist/api/exposure.js.map +1 -1
  73. package/dist/api/idempotency.d.ts +67 -0
  74. package/dist/api/idempotency.d.ts.map +1 -0
  75. package/dist/api/idempotency.js +176 -0
  76. package/dist/api/idempotency.js.map +1 -0
  77. package/dist/api/index.d.ts +3 -1
  78. package/dist/api/index.d.ts.map +1 -1
  79. package/dist/api/index.js +4 -2
  80. package/dist/api/index.js.map +1 -1
  81. package/dist/api/route-generator.d.ts +50 -6
  82. package/dist/api/route-generator.d.ts.map +1 -1
  83. package/dist/api/route-generator.js +254 -12
  84. package/dist/api/route-generator.js.map +1 -1
  85. package/dist/approvals/action-risk.d.ts +41 -0
  86. package/dist/approvals/action-risk.d.ts.map +1 -0
  87. package/dist/approvals/action-risk.js +56 -0
  88. package/dist/approvals/action-risk.js.map +1 -0
  89. package/dist/approvals/actors.d.ts +8 -0
  90. package/dist/approvals/actors.d.ts.map +1 -0
  91. package/dist/approvals/actors.js +26 -0
  92. package/dist/approvals/actors.js.map +1 -0
  93. package/dist/approvals/authorization.d.ts +5 -0
  94. package/dist/approvals/authorization.d.ts.map +1 -0
  95. package/dist/approvals/authorization.js +16 -0
  96. package/dist/approvals/authorization.js.map +1 -0
  97. package/dist/approvals/digest.d.ts +3 -0
  98. package/dist/approvals/digest.d.ts.map +1 -0
  99. package/dist/approvals/digest.js +21 -0
  100. package/dist/approvals/digest.js.map +1 -0
  101. package/dist/approvals/gate.d.ts +15 -0
  102. package/dist/approvals/gate.d.ts.map +1 -0
  103. package/dist/approvals/gate.js +102 -0
  104. package/dist/approvals/gate.js.map +1 -0
  105. package/dist/approvals/host-runtime.d.ts +16 -0
  106. package/dist/approvals/host-runtime.d.ts.map +1 -0
  107. package/dist/approvals/host-runtime.js +12 -0
  108. package/dist/approvals/host-runtime.js.map +1 -0
  109. package/dist/approvals/index.d.ts +19 -0
  110. package/dist/approvals/index.d.ts.map +1 -0
  111. package/dist/approvals/index.js +13 -0
  112. package/dist/approvals/index.js.map +1 -0
  113. package/dist/approvals/memory-store.d.ts +3 -0
  114. package/dist/approvals/memory-store.d.ts.map +1 -0
  115. package/dist/approvals/memory-store.js +33 -0
  116. package/dist/approvals/memory-store.js.map +1 -0
  117. package/dist/approvals/schema.d.ts +484 -0
  118. package/dist/approvals/schema.d.ts.map +1 -0
  119. package/dist/approvals/schema.js +55 -0
  120. package/dist/approvals/schema.js.map +1 -0
  121. package/dist/approvals/service.d.ts +17 -0
  122. package/dist/approvals/service.d.ts.map +1 -0
  123. package/dist/approvals/service.js +240 -0
  124. package/dist/approvals/service.js.map +1 -0
  125. package/dist/approvals/sql-store.d.ts +9 -0
  126. package/dist/approvals/sql-store.d.ts.map +1 -0
  127. package/dist/approvals/sql-store.js +179 -0
  128. package/dist/approvals/sql-store.js.map +1 -0
  129. package/dist/approvals/types.d.ts +156 -0
  130. package/dist/approvals/types.d.ts.map +1 -0
  131. package/dist/approvals/types.js +32 -0
  132. package/dist/approvals/types.js.map +1 -0
  133. package/dist/approvals/wait.d.ts +10 -0
  134. package/dist/approvals/wait.d.ts.map +1 -0
  135. package/dist/approvals/wait.js +11 -0
  136. package/dist/approvals/wait.js.map +1 -0
  137. package/dist/audit/service.d.ts.map +1 -1
  138. package/dist/audit/service.js +6 -1
  139. package/dist/audit/service.js.map +1 -1
  140. package/dist/cli/cli.d.ts.map +1 -1
  141. package/dist/cli/cli.js +2 -1
  142. package/dist/cli/cli.js.map +1 -1
  143. package/dist/cli/commands/api.d.ts +65 -0
  144. package/dist/cli/commands/api.d.ts.map +1 -1
  145. package/dist/cli/commands/api.js +79 -4
  146. package/dist/cli/commands/api.js.map +1 -1
  147. package/dist/cli/commands/compile-flows.d.ts +9 -0
  148. package/dist/cli/commands/compile-flows.d.ts.map +1 -0
  149. package/dist/cli/commands/compile-flows.js +55 -0
  150. package/dist/cli/commands/compile-flows.js.map +1 -0
  151. package/dist/cli/commands/dev.d.ts +6 -0
  152. package/dist/cli/commands/dev.d.ts.map +1 -1
  153. package/dist/cli/commands/dev.js +22 -5
  154. package/dist/cli/commands/dev.js.map +1 -1
  155. package/dist/cli/commands/e2e.d.ts +5 -0
  156. package/dist/cli/commands/e2e.d.ts.map +1 -1
  157. package/dist/cli/commands/e2e.js +42 -3
  158. package/dist/cli/commands/e2e.js.map +1 -1
  159. package/dist/cli/commands/flow.d.ts.map +1 -1
  160. package/dist/cli/commands/flow.js +12 -3
  161. package/dist/cli/commands/flow.js.map +1 -1
  162. package/dist/cli/commands/generate-openapi-from-zod.d.ts +26 -0
  163. package/dist/cli/commands/generate-openapi-from-zod.d.ts.map +1 -0
  164. package/dist/cli/commands/generate-openapi-from-zod.js +189 -0
  165. package/dist/cli/commands/generate-openapi-from-zod.js.map +1 -0
  166. package/dist/cli/commands/generate.d.ts +10 -4
  167. package/dist/cli/commands/generate.d.ts.map +1 -1
  168. package/dist/cli/commands/generate.js +27 -70
  169. package/dist/cli/commands/generate.js.map +1 -1
  170. package/dist/cli/commands/index.d.ts +1 -0
  171. package/dist/cli/commands/index.d.ts.map +1 -1
  172. package/dist/cli/commands/index.js +2 -0
  173. package/dist/cli/commands/index.js.map +1 -1
  174. package/dist/cli/commands/mcp.d.ts +5 -0
  175. package/dist/cli/commands/mcp.d.ts.map +1 -1
  176. package/dist/cli/commands/mcp.js +28 -2
  177. package/dist/cli/commands/mcp.js.map +1 -1
  178. package/dist/cli/commands/migrate.d.ts +1 -0
  179. package/dist/cli/commands/migrate.d.ts.map +1 -1
  180. package/dist/cli/commands/migrate.js +145 -34
  181. package/dist/cli/commands/migrate.js.map +1 -1
  182. package/dist/cli/commands/openapi-3-1.d.ts +34 -0
  183. package/dist/cli/commands/openapi-3-1.d.ts.map +1 -0
  184. package/dist/cli/commands/openapi-3-1.js +333 -0
  185. package/dist/cli/commands/openapi-3-1.js.map +1 -0
  186. package/dist/cli/commands/start.d.ts +5 -0
  187. package/dist/cli/commands/start.d.ts.map +1 -1
  188. package/dist/cli/commands/start.js +20 -2
  189. package/dist/cli/commands/start.js.map +1 -1
  190. package/dist/cli/commands/ui.d.ts +11 -0
  191. package/dist/cli/commands/ui.d.ts.map +1 -1
  192. package/dist/cli/commands/ui.js +105 -20
  193. package/dist/cli/commands/ui.js.map +1 -1
  194. package/dist/cli/commands/verify.d.ts.map +1 -1
  195. package/dist/cli/commands/verify.js +2 -0
  196. package/dist/cli/commands/verify.js.map +1 -1
  197. package/dist/cli/commands/worker.d.ts +5 -0
  198. package/dist/cli/commands/worker.d.ts.map +1 -1
  199. package/dist/cli/commands/worker.js +18 -2
  200. package/dist/cli/commands/worker.js.map +1 -1
  201. package/dist/cli/index.d.ts +1 -1
  202. package/dist/cli/index.d.ts.map +1 -1
  203. package/dist/cli/index.js +1 -1
  204. package/dist/cli/index.js.map +1 -1
  205. package/dist/credentials/catalog.d.ts +71 -0
  206. package/dist/credentials/catalog.d.ts.map +1 -0
  207. package/dist/credentials/catalog.js +293 -0
  208. package/dist/credentials/catalog.js.map +1 -0
  209. package/dist/credentials/index.d.ts +3 -0
  210. package/dist/credentials/index.d.ts.map +1 -0
  211. package/dist/credentials/index.js +2 -0
  212. package/dist/credentials/index.js.map +1 -0
  213. package/dist/data/drift-inspector.d.ts +1 -4
  214. package/dist/data/drift-inspector.d.ts.map +1 -1
  215. package/dist/data/drift-inspector.js +39 -5
  216. package/dist/data/drift-inspector.js.map +1 -1
  217. package/dist/data/field-encryption.d.ts +7 -0
  218. package/dist/data/field-encryption.d.ts.map +1 -1
  219. package/dist/data/field-encryption.js +35 -17
  220. package/dist/data/field-encryption.js.map +1 -1
  221. package/dist/data/framework-migration-rewriter.js +1 -1
  222. package/dist/data/framework-migration-rewriter.js.map +1 -1
  223. package/dist/data/index.d.ts +1 -1
  224. package/dist/data/index.d.ts.map +1 -1
  225. package/dist/data/index.js +1 -1
  226. package/dist/data/index.js.map +1 -1
  227. package/dist/data/mask-fields.d.ts +2 -0
  228. package/dist/data/mask-fields.d.ts.map +1 -1
  229. package/dist/data/mask-fields.js +6 -0
  230. package/dist/data/mask-fields.js.map +1 -1
  231. package/dist/data/migration.d.ts.map +1 -1
  232. package/dist/data/migration.js +25 -1
  233. package/dist/data/migration.js.map +1 -1
  234. package/dist/data/repository.d.ts.map +1 -1
  235. package/dist/data/repository.js +15 -3
  236. package/dist/data/repository.js.map +1 -1
  237. package/dist/data/schema-generator.d.ts +95 -3
  238. package/dist/data/schema-generator.d.ts.map +1 -1
  239. package/dist/data/schema-generator.js +122 -6
  240. package/dist/data/schema-generator.js.map +1 -1
  241. package/dist/define/defineCapability.d.ts +7 -0
  242. package/dist/define/defineCapability.d.ts.map +1 -1
  243. package/dist/define/defineCapability.js +15 -0
  244. package/dist/define/defineCapability.js.map +1 -1
  245. package/dist/define/defineFlow.d.ts +3 -1
  246. package/dist/define/defineFlow.d.ts.map +1 -1
  247. package/dist/define/defineFlow.js.map +1 -1
  248. package/dist/durable/apply-ddl.d.ts +13 -0
  249. package/dist/durable/apply-ddl.d.ts.map +1 -0
  250. package/dist/durable/apply-ddl.js +278 -0
  251. package/dist/durable/apply-ddl.js.map +1 -0
  252. package/dist/durable/harness.d.ts +31 -0
  253. package/dist/durable/harness.d.ts.map +1 -0
  254. package/dist/durable/harness.js +136 -0
  255. package/dist/durable/harness.js.map +1 -0
  256. package/dist/durable/index.d.ts +18 -0
  257. package/dist/durable/index.d.ts.map +1 -0
  258. package/dist/durable/index.js +16 -0
  259. package/dist/durable/index.js.map +1 -0
  260. package/dist/durable/memory-store.d.ts +48 -0
  261. package/dist/durable/memory-store.d.ts.map +1 -0
  262. package/dist/durable/memory-store.js +260 -0
  263. package/dist/durable/memory-store.js.map +1 -0
  264. package/dist/durable/migrations-path.d.ts +5 -0
  265. package/dist/durable/migrations-path.d.ts.map +1 -0
  266. package/dist/durable/migrations-path.js +8 -0
  267. package/dist/durable/migrations-path.js.map +1 -0
  268. package/dist/durable/opaque-dispatch.d.ts +7 -0
  269. package/dist/durable/opaque-dispatch.d.ts.map +1 -0
  270. package/dist/durable/opaque-dispatch.js +67 -0
  271. package/dist/durable/opaque-dispatch.js.map +1 -0
  272. package/dist/durable/persist-before-ack.d.ts +52 -0
  273. package/dist/durable/persist-before-ack.d.ts.map +1 -0
  274. package/dist/durable/persist-before-ack.js +153 -0
  275. package/dist/durable/persist-before-ack.js.map +1 -0
  276. package/dist/durable/pg-env.d.ts +9 -0
  277. package/dist/durable/pg-env.d.ts.map +1 -0
  278. package/dist/durable/pg-env.js +20 -0
  279. package/dist/durable/pg-env.js.map +1 -0
  280. package/dist/durable/postgres-persist.d.ts +33 -0
  281. package/dist/durable/postgres-persist.d.ts.map +1 -0
  282. package/dist/durable/postgres-persist.js +239 -0
  283. package/dist/durable/postgres-persist.js.map +1 -0
  284. package/dist/durable/reconciliation.d.ts +20 -0
  285. package/dist/durable/reconciliation.d.ts.map +1 -0
  286. package/dist/durable/reconciliation.js +91 -0
  287. package/dist/durable/reconciliation.js.map +1 -0
  288. package/dist/durable/schema.d.ts +1448 -0
  289. package/dist/durable/schema.d.ts.map +1 -0
  290. package/dist/durable/schema.js +138 -0
  291. package/dist/durable/schema.js.map +1 -0
  292. package/dist/durable/spine-claim.d.ts +16 -0
  293. package/dist/durable/spine-claim.d.ts.map +1 -0
  294. package/dist/durable/spine-claim.js +131 -0
  295. package/dist/durable/spine-claim.js.map +1 -0
  296. package/dist/durable/types.d.ts +153 -0
  297. package/dist/durable/types.d.ts.map +1 -0
  298. package/dist/durable/types.js +114 -0
  299. package/dist/durable/types.js.map +1 -0
  300. package/dist/errors/data-errors.d.ts +6 -0
  301. package/dist/errors/data-errors.d.ts.map +1 -1
  302. package/dist/errors/data-errors.js +9 -0
  303. package/dist/errors/data-errors.js.map +1 -1
  304. package/dist/errors/http.d.ts.map +1 -1
  305. package/dist/errors/http.js +9 -1
  306. package/dist/errors/http.js.map +1 -1
  307. package/dist/errors/index.d.ts +4 -1
  308. package/dist/errors/index.d.ts.map +1 -1
  309. package/dist/errors/index.js +11 -1
  310. package/dist/errors/index.js.map +1 -1
  311. package/dist/errors-entry.d.ts +1 -1
  312. package/dist/errors-entry.d.ts.map +1 -1
  313. package/dist/errors-entry.js +1 -1
  314. package/dist/errors-entry.js.map +1 -1
  315. package/dist/events/consumer-registry.d.ts +6 -0
  316. package/dist/events/consumer-registry.d.ts.map +1 -1
  317. package/dist/events/consumer-registry.js.map +1 -1
  318. package/dist/events/dispatcher.d.ts +19 -0
  319. package/dist/events/dispatcher.d.ts.map +1 -1
  320. package/dist/events/dispatcher.js +161 -114
  321. package/dist/events/dispatcher.js.map +1 -1
  322. package/dist/events/idempotency.d.ts +3 -2
  323. package/dist/events/idempotency.d.ts.map +1 -1
  324. package/dist/events/idempotency.js +3 -2
  325. package/dist/events/idempotency.js.map +1 -1
  326. package/dist/events/index.d.ts +2 -0
  327. package/dist/events/index.d.ts.map +1 -1
  328. package/dist/events/index.js +1 -0
  329. package/dist/events/index.js.map +1 -1
  330. package/dist/events/subscription.d.ts +29 -0
  331. package/dist/events/subscription.d.ts.map +1 -0
  332. package/dist/events/subscription.js +19 -0
  333. package/dist/events/subscription.js.map +1 -0
  334. package/dist/events/worker.d.ts +8 -1
  335. package/dist/events/worker.d.ts.map +1 -1
  336. package/dist/events/worker.js +32 -5
  337. package/dist/events/worker.js.map +1 -1
  338. package/dist/execution/capability-executor.d.ts +6 -3
  339. package/dist/execution/capability-executor.d.ts.map +1 -1
  340. package/dist/execution/capability-executor.js +34 -6
  341. package/dist/execution/capability-executor.js.map +1 -1
  342. package/dist/execution/context-deps.d.ts +2 -0
  343. package/dist/execution/context-deps.d.ts.map +1 -1
  344. package/dist/execution/context-deps.js +2 -1
  345. package/dist/execution/context-deps.js.map +1 -1
  346. package/dist/execution/context-factory.d.ts +38 -1
  347. package/dist/execution/context-factory.d.ts.map +1 -1
  348. package/dist/execution/context-factory.js +102 -4
  349. package/dist/execution/context-factory.js.map +1 -1
  350. package/dist/execution/index.d.ts +2 -2
  351. package/dist/execution/index.d.ts.map +1 -1
  352. package/dist/execution/index.js +1 -1
  353. package/dist/execution/index.js.map +1 -1
  354. package/dist/execution/transactional-outbox.d.ts +10 -0
  355. package/dist/execution/transactional-outbox.d.ts.map +1 -1
  356. package/dist/execution/transactional-outbox.js +41 -2
  357. package/dist/execution/transactional-outbox.js.map +1 -1
  358. package/dist/flows/budget.d.ts +44 -0
  359. package/dist/flows/budget.d.ts.map +1 -0
  360. package/dist/flows/budget.js +81 -0
  361. package/dist/flows/budget.js.map +1 -0
  362. package/dist/flows/compile-flow.d.ts +23 -0
  363. package/dist/flows/compile-flow.d.ts.map +1 -0
  364. package/dist/flows/compile-flow.js +176 -0
  365. package/dist/flows/compile-flow.js.map +1 -0
  366. package/dist/flows/compiled-registry.d.ts +43 -0
  367. package/dist/flows/compiled-registry.d.ts.map +1 -0
  368. package/dist/flows/compiled-registry.js +198 -0
  369. package/dist/flows/compiled-registry.js.map +1 -0
  370. package/dist/flows/dead-letter.d.ts +16 -0
  371. package/dist/flows/dead-letter.d.ts.map +1 -1
  372. package/dist/flows/dead-letter.js +67 -0
  373. package/dist/flows/dead-letter.js.map +1 -1
  374. package/dist/flows/definition-strategy.d.ts +13 -0
  375. package/dist/flows/definition-strategy.d.ts.map +1 -0
  376. package/dist/flows/definition-strategy.js +30 -0
  377. package/dist/flows/definition-strategy.js.map +1 -0
  378. package/dist/flows/engine.d.ts +38 -1
  379. package/dist/flows/engine.d.ts.map +1 -1
  380. package/dist/flows/engine.js +375 -32
  381. package/dist/flows/engine.js.map +1 -1
  382. package/dist/flows/index.d.ts +12 -4
  383. package/dist/flows/index.d.ts.map +1 -1
  384. package/dist/flows/index.js +7 -2
  385. package/dist/flows/index.js.map +1 -1
  386. package/dist/flows/scheduler.d.ts +26 -0
  387. package/dist/flows/scheduler.d.ts.map +1 -1
  388. package/dist/flows/scheduler.js +157 -37
  389. package/dist/flows/scheduler.js.map +1 -1
  390. package/dist/flows/schema.d.ts +34 -0
  391. package/dist/flows/schema.d.ts.map +1 -1
  392. package/dist/flows/schema.js +4 -0
  393. package/dist/flows/schema.js.map +1 -1
  394. package/dist/flows/step-executor.d.ts +3 -0
  395. package/dist/flows/step-executor.d.ts.map +1 -1
  396. package/dist/flows/step-executor.js +33 -0
  397. package/dist/flows/step-executor.js.map +1 -1
  398. package/dist/governance/capability-source-scan.d.ts.map +1 -1
  399. package/dist/governance/capability-source-scan.js +2 -29
  400. package/dist/governance/capability-source-scan.js.map +1 -1
  401. package/dist/governance/forbidden-path-scan.d.ts +7 -0
  402. package/dist/governance/forbidden-path-scan.d.ts.map +1 -0
  403. package/dist/governance/forbidden-path-scan.js +60 -0
  404. package/dist/governance/forbidden-path-scan.js.map +1 -0
  405. package/dist/governance/index.d.ts +2 -0
  406. package/dist/governance/index.d.ts.map +1 -1
  407. package/dist/governance/index.js +2 -0
  408. package/dist/governance/index.js.map +1 -1
  409. package/dist/governance/source-walk.d.ts +3 -0
  410. package/dist/governance/source-walk.d.ts.map +1 -0
  411. package/dist/governance/source-walk.js +33 -0
  412. package/dist/governance/source-walk.js.map +1 -0
  413. package/dist/index.d.ts +21 -12
  414. package/dist/index.d.ts.map +1 -1
  415. package/dist/index.js +22 -9
  416. package/dist/index.js.map +1 -1
  417. package/dist/runtime/bootstrap.d.ts +3 -1
  418. package/dist/runtime/bootstrap.d.ts.map +1 -1
  419. package/dist/runtime/load-extensions.d.ts.map +1 -1
  420. package/dist/runtime/load-extensions.js +11 -0
  421. package/dist/runtime/load-extensions.js.map +1 -1
  422. package/dist/runtime/register-consumers.d.ts +3 -0
  423. package/dist/runtime/register-consumers.d.ts.map +1 -1
  424. package/dist/runtime/register-consumers.js +4 -0
  425. package/dist/runtime/register-consumers.js.map +1 -1
  426. package/dist/runtime/start-worker-pool.d.ts.map +1 -1
  427. package/dist/runtime/start-worker-pool.js +1 -0
  428. package/dist/runtime/start-worker-pool.js.map +1 -1
  429. package/dist/runtime-entry.d.ts +4 -0
  430. package/dist/runtime-entry.d.ts.map +1 -0
  431. package/dist/runtime-entry.js +30 -0
  432. package/dist/runtime-entry.js.map +1 -0
  433. package/dist/server/bootstrap.d.ts +116 -8
  434. package/dist/server/bootstrap.d.ts.map +1 -1
  435. package/dist/server/bootstrap.js +139 -62
  436. package/dist/server/bootstrap.js.map +1 -1
  437. package/dist/tenancy/data-plane-connection.d.ts +108 -0
  438. package/dist/tenancy/data-plane-connection.d.ts.map +1 -0
  439. package/dist/tenancy/data-plane-connection.js +320 -0
  440. package/dist/tenancy/data-plane-connection.js.map +1 -0
  441. package/dist/tenancy/data-plane-migrate.d.ts +30 -0
  442. package/dist/tenancy/data-plane-migrate.d.ts.map +1 -0
  443. package/dist/tenancy/data-plane-migrate.js +44 -0
  444. package/dist/tenancy/data-plane-migrate.js.map +1 -0
  445. package/dist/tenancy/data-plane-provisioning.d.ts +135 -0
  446. package/dist/tenancy/data-plane-provisioning.d.ts.map +1 -0
  447. package/dist/tenancy/data-plane-provisioning.js +639 -0
  448. package/dist/tenancy/data-plane-provisioning.js.map +1 -0
  449. package/dist/tenancy/data-plane-resolver.d.ts +37 -0
  450. package/dist/tenancy/data-plane-resolver.d.ts.map +1 -0
  451. package/dist/tenancy/data-plane-resolver.js +302 -0
  452. package/dist/tenancy/data-plane-resolver.js.map +1 -0
  453. package/dist/tenancy/index.d.ts +9 -0
  454. package/dist/tenancy/index.d.ts.map +1 -0
  455. package/dist/tenancy/index.js +22 -0
  456. package/dist/tenancy/index.js.map +1 -0
  457. package/dist/tenancy/types.d.ts +117 -0
  458. package/dist/tenancy/types.d.ts.map +1 -0
  459. package/dist/tenancy/types.js +8 -0
  460. package/dist/tenancy/types.js.map +1 -0
  461. package/dist/testing/context.d.ts.map +1 -1
  462. package/dist/testing/context.js +6 -1
  463. package/dist/testing/context.js.map +1 -1
  464. package/dist/testing/crash-matrix-simulation.d.ts +51 -0
  465. package/dist/testing/crash-matrix-simulation.d.ts.map +1 -0
  466. package/dist/testing/crash-matrix-simulation.js +350 -0
  467. package/dist/testing/crash-matrix-simulation.js.map +1 -0
  468. package/dist/testing/scaffolding.d.ts.map +1 -1
  469. package/dist/testing/scaffolding.js +4 -1
  470. package/dist/testing/scaffolding.js.map +1 -1
  471. package/dist/types/capability.d.ts +16 -0
  472. package/dist/types/capability.d.ts.map +1 -1
  473. package/dist/types/capability.js.map +1 -1
  474. package/dist/types/context.d.ts +62 -0
  475. package/dist/types/context.d.ts.map +1 -1
  476. package/dist/types/enums.d.ts +2 -0
  477. package/dist/types/enums.d.ts.map +1 -1
  478. package/dist/types/enums.js +2 -0
  479. package/dist/types/enums.js.map +1 -1
  480. package/dist/types/fields.d.ts +7 -0
  481. package/dist/types/fields.d.ts.map +1 -1
  482. package/dist/types/flow.d.ts +96 -1
  483. package/dist/types/flow.d.ts.map +1 -1
  484. package/dist/types/flow.js +7 -1
  485. package/dist/types/flow.js.map +1 -1
  486. package/dist/types/index.d.ts +9 -6
  487. package/dist/types/index.d.ts.map +1 -1
  488. package/dist/types/index.js +5 -1
  489. package/dist/types/index.js.map +1 -1
  490. package/dist/types/prompt.d.ts +8 -0
  491. package/dist/types/prompt.d.ts.map +1 -1
  492. package/dist/types/prompt.js +7 -0
  493. package/dist/types/prompt.js.map +1 -1
  494. package/dist/worker/bootstrap.d.ts +100 -1
  495. package/dist/worker/bootstrap.d.ts.map +1 -1
  496. package/dist/worker/bootstrap.js +155 -14
  497. package/dist/worker/bootstrap.js.map +1 -1
  498. package/instructions/api.md +21 -0
  499. package/instructions/cli.md +15 -9
  500. package/instructions/deployment.md +27 -25
  501. package/instructions/flows.md +8 -1
  502. package/instructions/framework.md +2 -1
  503. package/instructions/mcp.md +1 -1
  504. package/instructions/peer-dependencies.md +16 -14
  505. package/instructions/prompts.md +3 -0
  506. package/instructions/security.md +4 -0
  507. package/instructions/testing.md +2 -2
  508. package/migrations/durable-tenant/0000_durable_tenant.sql +92 -0
  509. package/migrations/durable-tenant/0001_human_task.sql +45 -0
  510. package/migrations/durable-tenant/meta/_journal.json +20 -0
  511. package/migrations/spine/0000_opaque_dispatch.sql +26 -0
  512. package/migrations/spine/meta/_journal.json +13 -0
  513. package/package.json +26 -8
@@ -0,0 +1,9 @@
1
+ import type { RequestAdmissionChallenge, RequestAdmissionProof } from './shared.js';
2
+ /** Bundled browser solver. Bounded work, cooperative scheduling, no network or persistent storage. */
3
+ export declare function solveRequestAdmission(challenge: RequestAdmissionChallenge, options?: {
4
+ signal?: AbortSignal;
5
+ now?: () => number;
6
+ maxDurationMs?: number;
7
+ }): Promise<RequestAdmissionProof>;
8
+ export type { RequestAdmissionChallenge, RequestAdmissionProof } from './shared.js';
9
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/admission/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAGpF,sGAAsG;AACtG,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,yBAAyB,EACpC,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,GACjF,OAAO,CAAC,qBAAqB,CAAC,CA2BhC;AACD,YAAY,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { PlumbusError } from '../errors/index.js';
2
+ import { createAdmissionWorkChecker, requestAdmissionChallengeSchema } from './shared.js';
3
+ /** Bundled browser solver. Bounded work, cooperative scheduling, no network or persistent storage. */
4
+ export async function solveRequestAdmission(challenge, options = {}) {
5
+ const parsed = requestAdmissionChallengeSchema.safeParse(challenge);
6
+ if (!parsed.success)
7
+ throw new PlumbusError('validation', 'Invalid request verification challenge');
8
+ const now = options.now ?? (() => performance.now());
9
+ // The server validates ticket expiry. A skewed client clock must not refuse valid work.
10
+ const end = now() + (options.maxDurationMs ?? 30_000);
11
+ const accepts = createAdmissionWorkChecker(challenge.token, challenge.difficulty);
12
+ let yieldAt = now() + 8;
13
+ for (let solution = 0; solution <= 0xffffffff; solution++) {
14
+ if (solution % 512 === 0) {
15
+ if (options.signal?.aborted)
16
+ throw new PlumbusError('conflict', 'Request verification cancelled');
17
+ if (now() >= end)
18
+ throw new PlumbusError('conflict', 'Request verification expired; retry the request');
19
+ if (now() >= yieldAt) {
20
+ const scheduler = globalThis.scheduler;
21
+ if (scheduler)
22
+ await scheduler.yield();
23
+ else
24
+ await new Promise((resolve) => setTimeout(resolve, 0));
25
+ yieldAt = now() + 8;
26
+ }
27
+ }
28
+ if (accepts(String(solution))) {
29
+ return { token: challenge.token, solution: String(solution) };
30
+ }
31
+ }
32
+ throw new PlumbusError('conflict', 'Request verification could not be completed');
33
+ }
34
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/admission/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,0BAA0B,EAAE,+BAA+B,EAAE,MAAM,aAAa,CAAC;AAE1F,sGAAsG;AACtG,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,SAAoC,EACpC,UAAgF,EAAE;IAElF,MAAM,MAAM,GAAG,+BAA+B,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACpE,IAAI,CAAC,MAAM,CAAC,OAAO;QACjB,MAAM,IAAI,YAAY,CAAC,YAAY,EAAE,wCAAwC,CAAC,CAAC;IACjF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;IACrD,wFAAwF;IACxF,MAAM,GAAG,GAAG,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,MAAM,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,0BAA0B,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IAClF,IAAI,OAAO,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;IACxB,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,IAAI,UAAU,EAAE,QAAQ,EAAE,EAAE,CAAC;QAC1D,IAAI,QAAQ,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC;YACzB,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;gBACzB,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,gCAAgC,CAAC,CAAC;YACvE,IAAI,GAAG,EAAE,IAAI,GAAG;gBACd,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,iDAAiD,CAAC,CAAC;YACxF,IAAI,GAAG,EAAE,IAAI,OAAO,EAAE,CAAC;gBACrB,MAAM,SAAS,GAAI,UAA6D,CAAC,SAAS,CAAC;gBAC3F,IAAI,SAAS;oBAAE,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;;oBAClC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;gBAClE,OAAO,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YAC9B,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChE,CAAC;IACH,CAAC;IACD,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,6CAA6C,CAAC,CAAC;AACpF,CAAC"}
@@ -0,0 +1,5 @@
1
+ /** Request admission primitives for capability-owned policy, before durable side effects. */
2
+ export { createRequestAdmission, withRequestAdmissionLock } from './request-admission.js';
3
+ export type { RequestAdmissionChallenge, RequestAdmissionProof } from './shared.js';
4
+ export { requestAdmissionChallengeSchema, requestAdmissionProofSchema } from './shared.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/admission/index.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAC1F,YAAY,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,EAAE,+BAA+B,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,4 @@
1
+ /** Request admission primitives for capability-owned policy, before durable side effects. */
2
+ export { createRequestAdmission, withRequestAdmissionLock } from './request-admission.js';
3
+ export { requestAdmissionChallengeSchema, requestAdmissionProofSchema } from './shared.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/admission/index.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAE1F,OAAO,EAAE,+BAA+B,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,26 @@
1
+ import type { PostgresJsDatabase } from 'drizzle-orm/postgres-js';
2
+ import { z } from 'zod';
3
+ import type { RequestAdmissionChallenge } from './shared.js';
4
+ declare const settingsSchema: z.ZodObject<{
5
+ signingKey: z.ZodString;
6
+ difficulty: z.ZodDefault<z.ZodNumber>;
7
+ ttlSeconds: z.ZodDefault<z.ZodNumber>;
8
+ }, "strip", z.ZodTypeAny, {
9
+ difficulty: number;
10
+ signingKey: string;
11
+ ttlSeconds: number;
12
+ }, {
13
+ signingKey: string;
14
+ difficulty?: number | undefined;
15
+ ttlSeconds?: number | undefined;
16
+ }>;
17
+ /** App policy decides when work is required; verification never grants authentication authority. */
18
+ export declare function createRequestAdmission(settings: z.input<typeof settingsSchema>): {
19
+ challenge(binding: string, now?: number): RequestAdmissionChallenge;
20
+ /** Returns a replay key. Persist it uniquely in the same transaction as the admitted action. */
21
+ verify(proof: unknown, binding: string, now?: number): string | undefined;
22
+ };
23
+ /** Serialize admission count/check/write on an app's already-bound database, across processes. */
24
+ export declare function withRequestAdmissionLock<T>(db: PostgresJsDatabase, key: string, work: (transaction: PostgresJsDatabase) => Promise<T>): Promise<T>;
25
+ export {};
26
+ //# sourceMappingURL=request-admission.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-admission.d.ts","sourceRoot":"","sources":["../../src/admission/request-admission.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAG7D,QAAA,MAAM,cAAc;;;;;;;;;;;;EAIlB,CAAC;AAgBH,oGAAoG;AACpG,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC;uBAUxD,MAAM,iBAAqB,yBAAyB;IAavE,gGAAgG;kBAClF,OAAO,WAAW,MAAM,iBAAqB,MAAM,GAAG,SAAS;EA6BhF;AAED,kGAAkG;AAClG,wBAAsB,wBAAwB,CAAC,CAAC,EAC9C,EAAE,EAAE,kBAAkB,EACtB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,CAAC,WAAW,EAAE,kBAAkB,KAAK,OAAO,CAAC,CAAC,CAAC,GACpD,OAAO,CAAC,CAAC,CAAC,CAOZ"}
@@ -0,0 +1,85 @@
1
+ import { createHash, createHmac, randomBytes, timingSafeEqual } from 'node:crypto';
2
+ import { sql } from 'drizzle-orm';
3
+ import { z } from 'zod';
4
+ import { PlumbusError } from '../errors/index.js';
5
+ import { requestAdmissionProofSchema, satisfiesAdmissionWork } from './shared.js';
6
+ const settingsSchema = z.object({
7
+ signingKey: z.string().min(32),
8
+ difficulty: z.number().int().min(12).max(22).default(18),
9
+ ttlSeconds: z.number().int().min(60).max(900).default(300),
10
+ });
11
+ const envelopeSchema = z
12
+ .object({
13
+ v: z.literal(1),
14
+ nonce: z.string().regex(/^[a-f0-9]{64}$/),
15
+ binding: z.string().regex(/^[a-f0-9]{64}$/),
16
+ difficulty: z.number().int().min(12).max(22),
17
+ expiresAt: z.number().int().positive(),
18
+ })
19
+ .strict();
20
+ const equal = (left, right) => {
21
+ const a = Buffer.from(left);
22
+ const b = Buffer.from(right);
23
+ return a.length === b.length && timingSafeEqual(a, b);
24
+ };
25
+ /** App policy decides when work is required; verification never grants authentication authority. */
26
+ export function createRequestAdmission(settings) {
27
+ const checked = settingsSchema.safeParse(settings);
28
+ if (!checked.success)
29
+ throw new PlumbusError('validation', 'Invalid request admission configuration');
30
+ const config = checked.data;
31
+ const key = createHmac('sha256', config.signingKey)
32
+ .update('plumbus/request-admission/v1')
33
+ .digest();
34
+ const mac = (value) => createHmac('sha256', key).update(value).digest('hex');
35
+ return {
36
+ challenge(binding, now = Date.now()) {
37
+ const expiresAt = now + config.ttlSeconds * 1000;
38
+ const payload = Buffer.from(JSON.stringify({
39
+ v: 1,
40
+ nonce: randomBytes(32).toString('hex'),
41
+ binding: mac(binding),
42
+ difficulty: config.difficulty,
43
+ expiresAt,
44
+ })).toString('base64url');
45
+ return { token: `${payload}.${mac(payload)}`, difficulty: config.difficulty, expiresAt };
46
+ },
47
+ /** Returns a replay key. Persist it uniquely in the same transaction as the admitted action. */
48
+ verify(proof, binding, now = Date.now()) {
49
+ const parsed = requestAdmissionProofSchema.safeParse(proof);
50
+ if (!parsed.success)
51
+ return undefined;
52
+ const parts = parsed.data.token.split('.');
53
+ if (parts.length !== 2)
54
+ return undefined;
55
+ const [payload, signature] = parts;
56
+ if (!payload || !signature || !equal(mac(payload), signature))
57
+ return undefined;
58
+ let raw;
59
+ try {
60
+ raw = JSON.parse(Buffer.from(payload, 'base64url').toString('utf8'));
61
+ }
62
+ catch {
63
+ return undefined;
64
+ }
65
+ const envelope = envelopeSchema.safeParse(raw);
66
+ if (!envelope.success ||
67
+ !equal(envelope.data.binding, mac(binding)) ||
68
+ envelope.data.difficulty !== config.difficulty ||
69
+ envelope.data.expiresAt <= now ||
70
+ envelope.data.expiresAt > now + config.ttlSeconds * 1000)
71
+ return undefined;
72
+ if (!satisfiesAdmissionWork(parsed.data.token, parsed.data.solution, envelope.data.difficulty))
73
+ return undefined;
74
+ return createHash('sha256').update(parsed.data.token).digest('hex');
75
+ },
76
+ };
77
+ }
78
+ /** Serialize admission count/check/write on an app's already-bound database, across processes. */
79
+ export async function withRequestAdmissionLock(db, key, work) {
80
+ return db.transaction(async (transaction) => {
81
+ await transaction.execute(sql `SELECT pg_advisory_xact_lock(hashtextextended(${`plumbus/admission:${key}`}, 0))`);
82
+ return work(transaction);
83
+ });
84
+ }
85
+ //# sourceMappingURL=request-admission.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-admission.js","sourceRoot":"","sources":["../../src/admission/request-admission.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { z } from 'zod';
2
+ export declare const requestAdmissionChallengeSchema: z.ZodObject<{
3
+ token: z.ZodString;
4
+ difficulty: z.ZodNumber;
5
+ expiresAt: z.ZodNumber;
6
+ }, "strip", z.ZodTypeAny, {
7
+ token: string;
8
+ difficulty: number;
9
+ expiresAt: number;
10
+ }, {
11
+ token: string;
12
+ difficulty: number;
13
+ expiresAt: number;
14
+ }>;
15
+ export declare const requestAdmissionProofSchema: z.ZodObject<{
16
+ token: z.ZodString;
17
+ solution: z.ZodString;
18
+ }, "strip", z.ZodTypeAny, {
19
+ token: string;
20
+ solution: string;
21
+ }, {
22
+ token: string;
23
+ solution: string;
24
+ }>;
25
+ export type RequestAdmissionChallenge = z.infer<typeof requestAdmissionChallengeSchema>;
26
+ export type RequestAdmissionProof = z.infer<typeof requestAdmissionProofSchema>;
27
+ /** A work stamp, not an authentication credential or evidence of a human. */
28
+ export declare function satisfiesAdmissionWork(token: string, solution: string, difficulty: number): boolean;
29
+ /** Reuse the invariant hash prefix instead of hashing the entire ticket for every candidate. */
30
+ export declare function createAdmissionWorkChecker(token: string, difficulty: number): (solution: string) => boolean;
31
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/admission/shared.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,+BAA+B;;;;;;;;;;;;EAI1C,CAAC;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;EAGtC,CAAC;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AACxF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,6EAA6E;AAC7E,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAGT;AASD,gGAAgG;AAChG,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,IAGlE,UAAU,MAAM,KAAG,OAAO,CAEnC"}
@@ -0,0 +1,30 @@
1
+ import { sha256 } from '@noble/hashes/sha256';
2
+ import { z } from 'zod';
3
+ export const requestAdmissionChallengeSchema = z.object({
4
+ token: z.string().min(1).max(2048),
5
+ difficulty: z.number().int().min(12).max(22),
6
+ expiresAt: z.number().int().positive(),
7
+ });
8
+ export const requestAdmissionProofSchema = z.object({
9
+ token: z.string().min(1).max(2048),
10
+ solution: z.string().regex(/^(0|[1-9][0-9]{0,9})$/),
11
+ });
12
+ /** A work stamp, not an authentication credential or evidence of a human. */
13
+ export function satisfiesAdmissionWork(token, solution, difficulty) {
14
+ const hash = sha256(new TextEncoder().encode(`${token}:${solution}`));
15
+ return hasLeadingZeroBits(hash, difficulty);
16
+ }
17
+ function hasLeadingZeroBits(hash, difficulty) {
18
+ for (let bit = 0; bit < difficulty; bit++) {
19
+ if (((hash[Math.floor(bit / 8)] ?? 255) & (1 << (7 - (bit % 8)))) !== 0)
20
+ return false;
21
+ }
22
+ return true;
23
+ }
24
+ /** Reuse the invariant hash prefix instead of hashing the entire ticket for every candidate. */
25
+ export function createAdmissionWorkChecker(token, difficulty) {
26
+ const encoder = new TextEncoder();
27
+ const prefix = sha256.create().update(encoder.encode(`${token}:`));
28
+ return (solution) => hasLeadingZeroBits(prefix.clone().update(encoder.encode(solution)).digest(), difficulty);
29
+ }
30
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/admission/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IAClC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAC5C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;CACvC,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IAClC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,uBAAuB,CAAC;CACpD,CAAC,CAAC;AAIH,6EAA6E;AAC7E,MAAM,UAAU,sBAAsB,CACpC,KAAa,EACb,QAAgB,EAChB,UAAkB;IAElB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC;IACtE,OAAO,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAgB,EAAE,UAAkB;IAC9D,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,UAAU,EAAE,GAAG,EAAE,EAAE,CAAC;QAC1C,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;IACxF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,0BAA0B,CAAC,KAAa,EAAE,UAAkB;IAC1E,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC;IACnE,OAAO,CAAC,QAAgB,EAAW,EAAE,CACnC,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,UAAU,CAAC,CAAC;AAC7F,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { AIProviderSlotConfig } from '../types/config.js';
2
- import type { AIReasoningConfig, ReasoningEffort, ReasoningLevel } from '../types/prompt.js';
2
+ import type { AIReasoningConfig, ReasoningEffort, ReasoningEffortOption, ReasoningLevel } from '../types/prompt.js';
3
3
  import { type Kind } from './model-pricing.js';
4
4
  export interface AITool {
5
5
  name: string;
@@ -154,7 +154,8 @@ export interface TokenUsage {
154
154
  /** Tokens served from provider cache (charged at reduced rate). */
155
155
  cachedInputTokens?: number;
156
156
  /** Tokens written to provider cache (charged at elevated rate — Anthropic only). */
157
- cacheWriteTokens?: number;
157
+ cacheWriteTokens?: number /** Tokens the model spent reasoning, when the provider reports the split (OpenAI o-series / gpt-5). */;
158
+ reasoningTokens?: number;
158
159
  }
159
160
  export interface ProviderStreamEvent {
160
161
  type: 'content_delta' | 'usage' | 'done' | 'error';
@@ -211,6 +212,8 @@ export interface ProviderModel {
211
212
  inputPerMTok: number | null;
212
213
  /** USD per 1M output tokens, or `null` if the model is not in the catalog. */
213
214
  outputPerMTok: number | null;
215
+ /** Supported reasoning values; null means unknown, [] means unsupported. */
216
+ reasoningEfforts?: readonly ReasoningEffortOption[] | null;
214
217
  /** Provider-supplied human-readable label (Anthropic exposes this; OpenAI doesn't). */
215
218
  displayName?: string;
216
219
  /** ISO-8601 creation timestamp when the provider exposes one. */
@@ -258,11 +261,6 @@ export interface AIProviderAdapter {
258
261
  */
259
262
  listModels?(filter?: ListModelsFilter): Promise<ProviderModel[]>;
260
263
  }
261
- /**
262
- * Shared logic used by adapter `listModels` implementations: join a list of
263
- * provider-supplied model entries against the pricing catalog, then apply
264
- * the kind filter respecting the official-endpoint rule.
265
- */
266
264
  export declare function joinAndFilterModels(args: {
267
265
  provider: string;
268
266
  entries: Array<{
@@ -1,5 +1,5 @@
1
1
  import type { AICostContext, AIService } from '../types/context.js';
2
- import type { AIReasoningConfig, ReasoningEffort } from '../types/prompt.js';
2
+ import type { AIReasoningConfig, PromptDefinition, ReasoningEffort } from '../types/prompt.js';
3
3
  import type { AICostRecord, CostTracker } from './cost-tracker.js';
4
4
  import type { AIExplainabilityTracker } from './explainability.js';
5
5
  import type { PromptRegistry } from './prompt-registry.js';
@@ -21,6 +21,13 @@ export interface AIServiceConfig {
21
21
  /** Which provider to use when a prompt doesn't specify one */
22
22
  defaultProvider: string;
23
23
  promptRegistry?: PromptRegistry;
24
+ /**
25
+ * Prompt definitions to register for this service. Convenience for hosts
26
+ * that assemble a service by hand (tests, local providers): the registry
27
+ * is built internally, so app code never constructs one itself. Merged
28
+ * onto `promptRegistry` when both are given.
29
+ */
30
+ prompts?: readonly PromptDefinition[];
24
31
  costTracker?: CostTracker;
25
32
  ragPipeline?: RAGPipeline;
26
33
  explainability?: AIExplainabilityTracker;
@@ -1 +1 @@
1
- {"version":3,"file":"ai-service.d.ts","sourceRoot":"","sources":["../../src/ai/ai-service.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,aAAa,EAIb,SAAS,EAIV,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,iBAAiB,EAAoB,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC/F,OAAO,KAAK,EAAE,YAAY,EAAqB,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAGnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EACL,KAAK,iBAAiB,EAUvB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,iBAAiB,CAAC;AAIzB,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAC7B,MAAM,EAAE,YAAY,EACpB,WAAW,CAAC,EAAE,aAAa,KACxB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAG1B,MAAM,WAAW,eAAe;IAC9B,4EAA4E;IAC5E,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC7C,8DAA8D;IAC9D,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,cAAc,CAAC,EAAE,uBAAuB,CAAC;IACzC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,yBAAyB;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC,0DAA0D,CAAC;IACjF,gFAAgF;IAChF,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,eAAe,CAAC,EAAE,MAAM,CACtB,MAAM,EACN;QACE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,iBAAiB,CAAC;QAC9B,mCAAmC;QACnC,eAAe,CAAC,EAAE,eAAe,CAAC;KACnC,CACF,CAAC,kCAAkC,CAAC;IACrC,MAAM,CAAC,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED,0EAA0E;AAC1E,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,WAAW,GAAG,iBAAiB,CAAC,GAC5D,eAAe,CAMjB;AAUD,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CA8zClE"}
1
+ {"version":3,"file":"ai-service.d.ts","sourceRoot":"","sources":["../../src/ai/ai-service.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,aAAa,EAIb,SAAS,EAIV,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC/F,OAAO,KAAK,EAAE,YAAY,EAAqB,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAInE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EACL,KAAK,iBAAiB,EAUvB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,iBAAiB,CAAC;AAIzB,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAC7B,MAAM,EAAE,YAAY,EACpB,WAAW,CAAC,EAAE,aAAa,KACxB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAG1B,MAAM,WAAW,eAAe;IAC9B,4EAA4E;IAC5E,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC7C,8DAA8D;IAC9D,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACtC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,cAAc,CAAC,EAAE,uBAAuB,CAAC;IACzC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,yBAAyB;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC,0DAA0D,CAAC;IACjF,gFAAgF;IAChF,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,eAAe,CAAC,EAAE,MAAM,CACtB,MAAM,EACN;QACE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,iBAAiB,CAAC;QAC9B,mCAAmC;QACnC,eAAe,CAAC,EAAE,eAAe,CAAC;KACnC,CACF,CAAC,kCAAkC,CAAC;IACrC,MAAM,CAAC,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED,0EAA0E;AAC1E,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,WAAW,GAAG,iBAAiB,CAAC,GAC5D,eAAe,CAMjB;AAUD,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAw0ClE"}
@@ -3,8 +3,10 @@
3
3
  // Integrates: provider adapter, prompt registry, validation, cost tracking, security, RAG, explainability
4
4
  import { z } from 'zod';
5
5
  import { AIBudgetExceededError, AISecurityBlockedError } from '../errors/data-errors.js';
6
+ import { fillPromptTemplate } from './fill-prompt-template.js';
6
7
  import { normalizeCost, validateTokenUsage } from './usage-validation.js';
7
8
  import { estimateModelCost as calculateModelCost, findModelRate } from './model-pricing.js';
9
+ import { createPromptRegistry } from './prompt-registry.js';
8
10
  import { normalizeFinishReason, } from './provider.js';
9
11
  import { AIIncompleteOutputError, AIRefusalError } from './refusal.js';
10
12
  import { checkPromptSecurity } from './security.js';
@@ -24,7 +26,17 @@ function resolveReasoningOverride(reasoning, inherited) {
24
26
  return inherited;
25
27
  }
26
28
  export function createAIService(config) {
27
- const { providers, defaultProvider, promptRegistry, costTracker, ragPipeline, explainability, security, onAICostRecorded, } = config;
29
+ const { providers, defaultProvider, promptRegistry: configuredPromptRegistry, prompts, costTracker, ragPipeline, explainability, security, onAICostRecorded, } = config;
30
+ const promptRegistry = prompts !== undefined
31
+ ? (() => {
32
+ const registry = configuredPromptRegistry ?? createPromptRegistry([]);
33
+ for (const prompt of prompts) {
34
+ if (!registry.has(prompt.name))
35
+ registry.register(prompt);
36
+ }
37
+ return registry;
38
+ })()
39
+ : configuredPromptRegistry;
28
40
  const responseSchemaCache = new WeakMap();
29
41
  function resolveProvider(providerName) {
30
42
  const name = providerName ?? defaultProvider;
@@ -187,18 +199,16 @@ export function createAIService(config) {
187
199
  const def = promptRegistry.get(promptName);
188
200
  // Validate input against prompt input schema
189
201
  def.input.parse(input);
190
- // Simple template resolution: replace top-level {{key}} placeholders.
191
- const substitutedKeys = new Set();
192
- const renderTemplate = (template) => {
193
- return template.replace(/\{\{([^{}]+)\}\}/g, (placeholder, key) => {
194
- if (!Object.hasOwn(input, key))
195
- return placeholder;
196
- substitutedKeys.add(key);
197
- return String(input[key]);
198
- });
199
- };
200
- const system = def.system ? renderTemplate(def.system) : undefined;
201
- const text = renderTemplate(def.description ?? promptName);
202
+ // Single-pass {{key}} fill. Values are literal: `$` patterns and
203
+ // nested `{{otherKey}}` inside a value are not interpreted.
204
+ const systemFilled = def.system ? fillPromptTemplate(def.system, input) : undefined;
205
+ const textFilled = fillPromptTemplate(def.description ?? promptName, input);
206
+ const substitutedKeys = new Set([
207
+ ...(systemFilled?.substitutedKeys ?? []),
208
+ ...textFilled.substitutedKeys,
209
+ ]);
210
+ const system = systemFilled?.text;
211
+ const text = textFilled.text;
202
212
  // Resolution chain: config/env override → prompt-level → defaults
203
213
  // Look up override by prompt name (dots replaced with underscores for env var matching)
204
214
  const overrideKey = promptName.toLowerCase().replaceAll('.', '_');
@@ -1 +1 @@
1
- {"version":3,"file":"ai-service.js","sourceRoot":"","sources":["../../src/ai/ai-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-service.js","sourceRoot":"","sources":["../../src/ai/ai-service.ts"],"names":[],"mappings":"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"}
@@ -20,3 +20,9 @@ export declare class AISecurityBlockedError extends PlumbusError {
20
20
  export declare class AIBudgetExceededError extends PlumbusError {
21
21
  constructor(reason: string, metadata?: Record<string, unknown>);
22
22
  }
23
+ export type GovernedAiBlockedCode = 'unpinned-prompt' | 'unpinned-policy' | 'artifact-kind-mismatch' | 'unregistered-model' | 'model-pin-mismatch' | 'missing-review' | 'expired-review' | 'budget-unknown' | 'budget-exceeded';
24
+ /** Fail-closed stop before a governed model call. The model is not invoked. */
25
+ export declare class GovernedAiBlockedError extends PlumbusError {
26
+ readonly blockedCode: GovernedAiBlockedCode;
27
+ constructor(code: GovernedAiBlockedCode, message: string, metadata?: Record<string, unknown>);
28
+ }