@pikku/core 0.12.83 → 0.12.86

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 (661) hide show
  1. package/CHANGELOG.md +492 -0
  2. package/README.md +1 -1
  3. package/dist/bootstrap-compat/root.d.ts +20 -0
  4. package/dist/classification/column-form.d.ts +32 -0
  5. package/dist/classification/column-form.js +42 -0
  6. package/dist/classification/data-classification.d.ts +64 -0
  7. package/dist/classification/index.d.ts +13 -0
  8. package/dist/classification/index.js +2 -0
  9. package/dist/classification/secret-value.d.ts +56 -0
  10. package/dist/classification/secret-value.js +46 -0
  11. package/dist/crypto-utils.d.ts +1 -1
  12. package/dist/ecosystem/agent-scorer.d.ts +12 -0
  13. package/dist/ecosystem/agent-scorer.js +5 -0
  14. package/dist/ecosystem/agent.d.ts +21 -0
  15. package/dist/ecosystem/agent.js +6 -0
  16. package/dist/ecosystem/channel/local.d.ts +3 -0
  17. package/dist/ecosystem/channel/local.js +3 -0
  18. package/dist/ecosystem/channel/serverless.d.ts +9 -0
  19. package/dist/ecosystem/channel/serverless.js +1 -0
  20. package/dist/ecosystem/channel.d.ts +15 -0
  21. package/dist/ecosystem/channel.js +5 -0
  22. package/dist/ecosystem/cli/channel.d.ts +16 -0
  23. package/dist/ecosystem/cli/channel.js +2 -0
  24. package/dist/ecosystem/cli.d.ts +9 -0
  25. package/dist/ecosystem/cli.js +2 -0
  26. package/dist/ecosystem/credential.d.ts +10 -0
  27. package/dist/ecosystem/credential.js +1 -0
  28. package/dist/ecosystem/crypto-utils.d.ts +8 -0
  29. package/dist/ecosystem/crypto-utils.js +1 -0
  30. package/dist/ecosystem/dev.d.ts +9 -0
  31. package/dist/ecosystem/dev.js +2 -0
  32. package/dist/ecosystem/errors.d.ts +8 -0
  33. package/dist/ecosystem/errors.js +2 -0
  34. package/dist/ecosystem/function.d.ts +13 -0
  35. package/dist/ecosystem/function.js +2 -0
  36. package/dist/ecosystem/gateway.d.ts +1 -0
  37. package/dist/ecosystem/hmac.d.ts +1 -0
  38. package/dist/ecosystem/hmac.js +1 -0
  39. package/dist/ecosystem/http.d.ts +13 -0
  40. package/dist/ecosystem/http.js +5 -0
  41. package/dist/ecosystem/mcp.d.ts +3 -0
  42. package/dist/ecosystem/mcp.js +2 -0
  43. package/dist/ecosystem/middleware.d.ts +18 -0
  44. package/dist/ecosystem/middleware.js +7 -0
  45. package/dist/ecosystem/node-host-resolver.d.ts +1 -0
  46. package/dist/ecosystem/node-host-resolver.js +1 -0
  47. package/dist/ecosystem/node.d.ts +1 -0
  48. package/dist/ecosystem/oauth2.d.ts +1 -0
  49. package/dist/ecosystem/oauth2.js +1 -0
  50. package/dist/ecosystem/persona.d.ts +17 -0
  51. package/dist/ecosystem/persona.js +5 -0
  52. package/dist/ecosystem/queue.d.ts +13 -0
  53. package/dist/ecosystem/queue.js +4 -0
  54. package/dist/ecosystem/remote.d.ts +8 -0
  55. package/dist/ecosystem/remote.js +1 -0
  56. package/dist/ecosystem/role.d.ts +4 -0
  57. package/dist/ecosystem/role.js +2 -0
  58. package/dist/ecosystem/rpc.d.ts +6 -0
  59. package/dist/ecosystem/rpc.js +3 -0
  60. package/dist/ecosystem/safe-fetch.d.ts +7 -0
  61. package/dist/ecosystem/safe-fetch.js +1 -0
  62. package/dist/ecosystem/scenario.d.ts +21 -0
  63. package/dist/ecosystem/scenario.js +8 -0
  64. package/dist/ecosystem/scheduler.d.ts +3 -0
  65. package/dist/ecosystem/scheduler.js +2 -0
  66. package/dist/ecosystem/schema.d.ts +2 -0
  67. package/dist/ecosystem/schema.js +1 -0
  68. package/dist/ecosystem/scope.d.ts +5 -0
  69. package/dist/ecosystem/scope.js +3 -0
  70. package/dist/ecosystem/secret.d.ts +11 -0
  71. package/dist/ecosystem/secret.js +2 -0
  72. package/dist/ecosystem/services/istanbul-coverage.d.ts +1 -0
  73. package/dist/ecosystem/services/istanbul-coverage.js +1 -0
  74. package/dist/ecosystem/services/local-content-request-handler.d.ts +9 -0
  75. package/dist/ecosystem/services/local-content-request-handler.js +1 -0
  76. package/dist/ecosystem/services/local-content.d.ts +2 -0
  77. package/dist/ecosystem/services/local-content.js +1 -0
  78. package/dist/ecosystem/services/local-meta.d.ts +1 -0
  79. package/dist/ecosystem/services/local-meta.js +1 -0
  80. package/dist/ecosystem/services/v8-coverage.d.ts +1 -0
  81. package/dist/ecosystem/services/v8-coverage.js +1 -0
  82. package/dist/ecosystem/services.d.ts +36 -0
  83. package/dist/ecosystem/services.js +12 -0
  84. package/dist/ecosystem/testing.d.ts +7 -0
  85. package/dist/ecosystem/testing.js +1 -0
  86. package/dist/ecosystem/trigger.d.ts +2 -0
  87. package/dist/ecosystem/trigger.js +1 -0
  88. package/dist/ecosystem/types.d.ts +12 -0
  89. package/dist/ecosystem/types.js +6 -0
  90. package/dist/ecosystem/variable.d.ts +9 -0
  91. package/dist/ecosystem/variable.js +1 -0
  92. package/dist/ecosystem/virtual-user.d.ts +24 -0
  93. package/dist/ecosystem/virtual-user.js +8 -0
  94. package/dist/ecosystem/workflow.d.ts +20 -0
  95. package/dist/ecosystem/workflow.js +6 -0
  96. package/dist/errors/index.d.ts +8 -0
  97. package/dist/errors/index.js +1 -0
  98. package/dist/errors/serialized-error.d.ts +7 -0
  99. package/dist/errors/serialized-error.js +1 -0
  100. package/dist/function/function-meta.types.d.ts +139 -0
  101. package/dist/function/function-meta.types.js +1 -0
  102. package/dist/function/function-runner.d.ts +3 -2
  103. package/dist/function/function-runner.js +31 -11
  104. package/dist/function/functions.types.d.ts +10 -2
  105. package/dist/function/index.d.ts +8 -2
  106. package/dist/function/index.js +4 -1
  107. package/dist/function/pikku-request.d.ts +8 -0
  108. package/dist/function/pikku-request.js +15 -0
  109. package/dist/index.d.ts +8 -8
  110. package/dist/index.js +3 -3
  111. package/dist/middleware/auth-apikey.d.ts +2 -10
  112. package/dist/middleware/auth-apikey.js +1 -1
  113. package/dist/middleware/auth-bearer.d.ts +2 -10
  114. package/dist/middleware/auth-bearer.js +1 -1
  115. package/dist/middleware/auth-cookie.d.ts +2 -10
  116. package/dist/middleware/auth-cookie.js +1 -1
  117. package/dist/middleware/cors.d.ts +5 -11
  118. package/dist/middleware/cors.js +13 -6
  119. package/dist/middleware/index.d.ts +3 -0
  120. package/dist/middleware/index.js +1 -0
  121. package/dist/middleware/middleware-factories.d.ts +9 -0
  122. package/dist/middleware/middleware-factories.js +19 -0
  123. package/dist/middleware/middleware.types.d.ts +27 -0
  124. package/dist/middleware/middleware.types.js +1 -0
  125. package/dist/middleware/remote-auth.d.ts +1 -1
  126. package/dist/middleware/remote-auth.js +1 -1
  127. package/dist/middleware/telemetry.d.ts +4 -20
  128. package/dist/middleware/telemetry.js +1 -1
  129. package/dist/middleware-runner.d.ts +2 -1
  130. package/dist/pikku-state.d.ts +2 -1
  131. package/dist/services/{ai-run-state-service.d.ts → agent-run-state-service.d.ts} +5 -5
  132. package/dist/services/agent-run-state-service.js +1 -0
  133. package/dist/services/{ai-agent-runner-service.d.ts → agent-runner-service.d.ts} +12 -12
  134. package/dist/services/agent-runner-service.js +1 -0
  135. package/dist/services/{ai-storage-service.d.ts → agent-storage-service.d.ts} +7 -7
  136. package/dist/services/agent-storage-service.js +1 -0
  137. package/dist/services/audit-service.d.ts +1 -1
  138. package/dist/services/credential-wire-service.js +1 -1
  139. package/dist/services/email-service.d.ts +1 -1
  140. package/dist/services/file-scenario-run-store.d.ts +58 -0
  141. package/dist/services/file-scenario-run-store.js +214 -0
  142. package/dist/services/http-personas.d.ts +1 -1
  143. package/dist/services/http-personas.js +3 -3
  144. package/dist/services/{in-memory-ai-run-state-service.d.ts → in-memory-agent-run-state-service.d.ts} +5 -5
  145. package/dist/services/{in-memory-ai-run-state-service.js → in-memory-agent-run-state-service.js} +1 -1
  146. package/dist/services/in-memory-workflow-service.d.ts +1 -1
  147. package/dist/services/index.d.ts +9 -5
  148. package/dist/services/index.js +4 -1
  149. package/dist/services/local-secrets.d.ts +1 -1
  150. package/dist/services/local-secrets.js +1 -1
  151. package/dist/services/logger.d.ts +7 -7
  152. package/dist/services/meta-service.d.ts +5 -4
  153. package/dist/services/scoped-secret-service.d.ts +1 -1
  154. package/dist/services/secret-service.d.ts +1 -1
  155. package/dist/services/typed-secret-service.d.ts +16 -2
  156. package/dist/services/typed-secret-service.js +5 -0
  157. package/dist/services/webhook-service.d.ts +1 -1
  158. package/dist/services/workflow-service.d.ts +2 -1
  159. package/dist/testing/index.d.ts +1 -0
  160. package/dist/testing/index.js +1 -0
  161. package/dist/testing/service-tests/agent-run-service-tests.d.ts +1 -1
  162. package/dist/testing/service-tests/agent-run-service-tests.js +3 -3
  163. package/dist/testing/service-tests/agent-storage-service-tests.d.ts +3 -0
  164. package/dist/testing/service-tests/{ai-storage-service-tests.js → agent-storage-service-tests.js} +4 -4
  165. package/dist/testing/service-tests.d.ts +4 -4
  166. package/dist/testing/service-tests.js +4 -4
  167. package/dist/types/core.types.d.ts +37 -187
  168. package/dist/types/core.types.js +1 -19
  169. package/dist/types/index.d.ts +2 -0
  170. package/dist/types/index.js +1 -0
  171. package/dist/types/state.types.d.ts +8 -6
  172. package/dist/utils.d.ts +13 -0
  173. package/dist/utils.js +2 -0
  174. package/dist/wirings/actor-flow/run-conversation.d.ts +2 -2
  175. package/dist/wirings/addon/addon-runner.d.ts +17 -0
  176. package/dist/wirings/addon/addon-runner.js +150 -0
  177. package/dist/wirings/addon/index.d.ts +6 -0
  178. package/dist/wirings/addon/index.js +3 -0
  179. package/dist/wirings/addon/remote-addon-auth.d.ts +16 -0
  180. package/dist/wirings/addon/remote-addon-auth.js +39 -0
  181. package/dist/wirings/addon/wire-addon.d.ts +80 -0
  182. package/dist/wirings/addon/wire-addon.js +120 -0
  183. package/dist/wirings/addon/wire-remote-addon.d.ts +22 -0
  184. package/dist/wirings/addon/wire-remote-addon.js +11 -0
  185. package/dist/wirings/{ai-agent/ai-agent-agui.d.ts → agent/agent-agui.d.ts} +2 -2
  186. package/dist/wirings/{ai-agent/ai-agent-agui.js → agent/agent-agui.js} +1 -1
  187. package/dist/wirings/{ai-agent/ai-agent-finalize.d.ts → agent/agent-finalize.d.ts} +10 -10
  188. package/dist/wirings/{ai-agent/ai-agent-finalize.js → agent/agent-finalize.js} +7 -7
  189. package/dist/wirings/{ai-agent/ai-agent-helpers.d.ts → agent/agent-helpers.d.ts} +1 -1
  190. package/dist/wirings/{ai-agent/ai-agent-interrupt.d.ts → agent/agent-interrupt.d.ts} +4 -4
  191. package/dist/wirings/{ai-agent/ai-agent-interrupt.js → agent/agent-interrupt.js} +2 -2
  192. package/dist/wirings/{ai-agent/ai-agent-memory.d.ts → agent/agent-memory.d.ts} +14 -14
  193. package/dist/wirings/{ai-agent/ai-agent-memory.js → agent/agent-memory.js} +1 -1
  194. package/dist/wirings/{ai-agent/ai-agent-model-config.js → agent/agent-model-config.js} +1 -1
  195. package/dist/wirings/{ai-agent/ai-agent-prepare.d.ts → agent/agent-prepare.d.ts} +24 -24
  196. package/dist/wirings/{ai-agent/ai-agent-prepare.js → agent/agent-prepare.js} +17 -17
  197. package/dist/wirings/agent/agent-registry.d.ts +16 -0
  198. package/dist/wirings/{ai-agent/ai-agent-registry.js → agent/agent-registry.js} +9 -9
  199. package/dist/wirings/{ai-agent → agent}/agent-rpc.js +8 -8
  200. package/dist/wirings/agent/agent-runner.d.ts +7 -0
  201. package/dist/wirings/{ai-agent/ai-agent-runner.js → agent/agent-runner.js} +49 -50
  202. package/dist/wirings/{ai-agent/ai-agent-stream.d.ts → agent/agent-stream.d.ts} +15 -15
  203. package/dist/wirings/{ai-agent/ai-agent-stream.js → agent/agent-stream.js} +78 -78
  204. package/dist/wirings/{ai-agent/ai-agent-turn.d.ts → agent/agent-turn.d.ts} +5 -5
  205. package/dist/wirings/{ai-agent/ai-agent-turn.js → agent/agent-turn.js} +4 -4
  206. package/dist/wirings/agent/agent-utils.d.ts +14 -0
  207. package/dist/wirings/agent/agent-utils.js +17 -0
  208. package/dist/wirings/{ai-agent/ai-agent.types.d.ts → agent/agent.types.d.ts} +47 -46
  209. package/dist/wirings/agent/agent.types.js +1 -0
  210. package/dist/wirings/agent/index.d.ts +12 -0
  211. package/dist/wirings/agent/index.js +10 -0
  212. package/dist/wirings/{ai-agent → agent}/voice-input.d.ts +1 -1
  213. package/dist/wirings/{ai-agent → agent}/voice-input.js +5 -5
  214. package/dist/wirings/{ai-agent → agent}/voice-output.d.ts +2 -3
  215. package/dist/wirings/{ai-agent → agent}/voice-output.js +8 -8
  216. package/dist/wirings/{ai-scorer/ai-scorer-grade.d.ts → agent-scorer/agent-scorer-grade.d.ts} +3 -3
  217. package/dist/wirings/{ai-scorer/ai-scorer-grade.js → agent-scorer/agent-scorer-grade.js} +6 -6
  218. package/dist/wirings/agent-scorer/agent-scorer-judge.d.ts +30 -0
  219. package/dist/wirings/{ai-scorer/ai-scorer-judge.js → agent-scorer/agent-scorer-judge.js} +57 -5
  220. package/dist/wirings/{ai-scorer/ai-scorer-live.d.ts → agent-scorer/agent-scorer-live.d.ts} +1 -1
  221. package/dist/wirings/{ai-scorer/ai-scorer-live.js → agent-scorer/agent-scorer-live.js} +3 -3
  222. package/dist/wirings/{ai-scorer/ai-scorer-registry.d.ts → agent-scorer/agent-scorer-registry.d.ts} +6 -6
  223. package/dist/wirings/{ai-scorer/ai-scorer-registry.js → agent-scorer/agent-scorer-registry.js} +4 -4
  224. package/dist/wirings/{ai-scorer/ai-scorer-snapshots.d.ts → agent-scorer/agent-scorer-snapshots.d.ts} +1 -1
  225. package/dist/wirings/{ai-scorer/ai-scorer-worker.d.ts → agent-scorer/agent-scorer-worker.d.ts} +3 -3
  226. package/dist/wirings/{ai-scorer/ai-scorer-worker.js → agent-scorer/agent-scorer-worker.js} +9 -7
  227. package/dist/wirings/{ai-scorer/ai-scorer.d.ts → agent-scorer/agent-scorer.d.ts} +12 -6
  228. package/dist/wirings/{ai-scorer/ai-scorer.js → agent-scorer/agent-scorer.js} +4 -3
  229. package/dist/wirings/{ai-scorer/ai-scorer.types.d.ts → agent-scorer/agent-scorer.types.d.ts} +24 -4
  230. package/dist/wirings/agent-scorer/agent-scorer.types.js +4 -0
  231. package/dist/wirings/agent-scorer/index.d.ts +6 -0
  232. package/dist/wirings/agent-scorer/index.js +5 -0
  233. package/dist/wirings/channel/channel-common.d.ts +2 -1
  234. package/dist/wirings/channel/channel-middleware-runner.d.ts +2 -1
  235. package/dist/wirings/channel/channel-rpc.types.d.ts +2 -2
  236. package/dist/wirings/channel/channel.types.d.ts +1 -1
  237. package/dist/wirings/channel/serverless/index.d.ts +1 -0
  238. package/dist/wirings/cli/channel/index.d.ts +1 -1
  239. package/dist/wirings/cli/cli-runner.d.ts +2 -1
  240. package/dist/wirings/cli/cli-runner.js +4 -1
  241. package/dist/wirings/cli/cli.types.d.ts +21 -2
  242. package/dist/wirings/cli/command-parser.js +157 -23
  243. package/dist/wirings/gateway/gateway.types.d.ts +2 -1
  244. package/dist/wirings/http/http-runner.d.ts +1 -1
  245. package/dist/wirings/http/http-runner.js +1 -1
  246. package/dist/wirings/http/http.types.d.ts +2 -2
  247. package/dist/wirings/http/index.d.ts +1 -0
  248. package/dist/wirings/http/index.js +1 -0
  249. package/dist/wirings/http/pikku-fetch-http-request.js +1 -1
  250. package/dist/wirings/http/pikku-fetch-http-response.js +2 -2
  251. package/dist/wirings/mcp/mcp.types.d.ts +1 -1
  252. package/dist/wirings/persona/index.d.ts +1 -1
  253. package/dist/wirings/persona/index.js +1 -1
  254. package/dist/wirings/persona/persona.types.d.ts +14 -0
  255. package/dist/wirings/queue/queue.types.d.ts +1 -1
  256. package/dist/wirings/queue/signed-queue-service.d.ts +1 -1
  257. package/dist/wirings/rpc/index.d.ts +0 -6
  258. package/dist/wirings/rpc/index.js +0 -3
  259. package/dist/wirings/rpc/remote-addon-auth.d.ts +1 -1
  260. package/dist/wirings/rpc/remote-addon-auth.js +1 -1
  261. package/dist/wirings/rpc/rpc-runner.d.ts +1 -1
  262. package/dist/wirings/rpc/rpc-runner.js +4 -4
  263. package/dist/wirings/rpc/rpc-types.d.ts +1 -1
  264. package/dist/wirings/rpc/wire-addon.d.ts +1 -1
  265. package/dist/wirings/scheduler/scheduler.types.d.ts +2 -1
  266. package/dist/wirings/scope/index.d.ts +1 -0
  267. package/dist/wirings/scope/index.js +1 -0
  268. package/dist/wirings/secret/secret.types.d.ts +10 -0
  269. package/dist/wirings/secret/validate-secret-definitions.js +2 -0
  270. package/dist/wirings/variable/validate-variable-definitions.js +2 -0
  271. package/dist/wirings/variable/variable.types.d.ts +9 -0
  272. package/dist/wirings/virtual-user/index.d.ts +1 -1
  273. package/dist/wirings/virtual-user/index.js +1 -1
  274. package/dist/wirings/virtual-user/prepare-virtual-user-run.d.ts +1 -1
  275. package/dist/wirings/virtual-user/prepare-virtual-user-run.js +1 -1
  276. package/dist/wirings/virtual-user/virtual-user-agents.d.ts +1 -1
  277. package/dist/wirings/virtual-user/virtual-user-derive.d.ts +1 -1
  278. package/dist/wirings/workflow/graph/graph-node.d.ts +9 -2
  279. package/dist/wirings/workflow/graph/graph-node.js +2 -0
  280. package/dist/wirings/workflow/graph/graph-runner.d.ts +1 -0
  281. package/dist/wirings/workflow/graph/graph-runner.js +283 -31
  282. package/dist/wirings/workflow/graph/workflow-graph.types.d.ts +16 -1
  283. package/dist/wirings/workflow/index.d.ts +2 -0
  284. package/dist/wirings/workflow/index.js +1 -0
  285. package/dist/wirings/workflow/pikku-scenario-service.d.ts +14 -4
  286. package/dist/wirings/workflow/pikku-scenario-service.js +44 -16
  287. package/dist/wirings/workflow/pikku-workflow-service.d.ts +2 -1
  288. package/dist/wirings/workflow/pikku-workflow-service.js +3 -4
  289. package/dist/wirings/workflow/run-timeline.d.ts +2 -3
  290. package/dist/wirings/workflow/scenario-run.types.d.ts +171 -0
  291. package/dist/wirings/workflow/scenario-run.types.js +1 -0
  292. package/dist/wirings/workflow/scenario-step-guards.d.ts +1 -2
  293. package/dist/wirings/workflow/scenario-step-guards.js +0 -8
  294. package/dist/wirings/workflow/scenario-step.types.d.ts +27 -12
  295. package/dist/wirings/workflow/workflow-approval.js +2 -1
  296. package/dist/wirings/workflow/workflow-run-engine.types.d.ts +2 -1
  297. package/dist/wirings/workflow/workflow.types.d.ts +2 -1
  298. package/knowledge/decisions/index.md +2 -0
  299. package/knowledge/decisions/internals/{a-non-streaming-agent-run-registers-with-airunstate-too.md → a-non-streaming-agent-run-registers-with-agentrunstate-too.md} +6 -6
  300. package/knowledge/decisions/internals/a-resumed-agent-turn-is-as-interruptible-as-the-first.md +1 -1
  301. package/knowledge/decisions/internals/a-scenario-step-template-is-offered-unfilled.md +1 -1
  302. package/knowledge/decisions/internals/a-secret-that-fails-to-decrypt-fails-the-whole-read.md +1 -1
  303. package/knowledge/decisions/internals/a-virtual-user-run-is-not-a-workflow-and-not-a-queued-job.md +2 -2
  304. package/knowledge/decisions/internals/a-wall-clock-threshold-is-a-load-test-in-disguise.md +6 -6
  305. package/knowledge/decisions/internals/a-workflow-wire-is-built-from-the-run-not-from-the-rpc-service.md +1 -1
  306. package/knowledge/decisions/internals/actor-flow-drives-the-target-through-a-transport-seam.md +1 -1
  307. package/knowledge/decisions/internals/addon-singleton-services-are-cached-per-namespace-not-per-package.md +1 -1
  308. package/knowledge/decisions/internals/addon-workflow-names-are-prefixed-with-the-consumer-namespace.md +1 -1
  309. package/knowledge/decisions/internals/{ai-agent-agui-bridge-obeys-the-client-ordering-contract.md → agent-agui-bridge-obeys-the-client-ordering-contract.md} +5 -5
  310. package/knowledge/decisions/internals/{ai-agent-audio-chunks-carry-the-format-the-provider-returned.md → agent-audio-chunks-carry-the-format-the-provider-returned.md} +2 -2
  311. package/knowledge/decisions/internals/agent-context-waits-for-a-tool-result-still-being-written.md +1 -1
  312. package/knowledge/decisions/internals/{ai-agent-credential-suspensions-hide-the-tool-result.md → agent-credential-suspensions-hide-the-tool-result.md} +2 -2
  313. package/knowledge/decisions/internals/{ai-agent-delegate-and-supervise-hide-different-text.md → agent-delegate-and-supervise-hide-different-text.md} +4 -4
  314. package/knowledge/decisions/internals/{ai-agent-llm-tool-arguments-have-nulls-stripped.md → agent-llm-tool-arguments-have-nulls-stripped.md} +3 -3
  315. package/knowledge/decisions/internals/{ai-agent-model-config-stays-a-single-resolution-seam.md → agent-model-config-stays-a-single-resolution-seam.md} +3 -3
  316. package/knowledge/decisions/internals/{ai-agent-onerror-hooks-cannot-change-the-failure.md → agent-onerror-hooks-cannot-change-the-failure.md} +6 -6
  317. package/knowledge/decisions/internals/{ai-agent-runner-methods-must-keep-their-receiver.md → agent-runner-methods-must-keep-their-receiver.md} +4 -4
  318. package/knowledge/decisions/internals/agent-speech-travels-as-a-custom-agui-event.md +1 -1
  319. package/knowledge/decisions/internals/{ai-agent-stream-persistence-is-best-effort.md → agent-stream-persistence-is-best-effort.md} +4 -4
  320. package/knowledge/decisions/internals/{ai-agent-sub-agents-inherit-the-parent-context-block.md → agent-sub-agents-inherit-the-parent-context-block.md} +3 -3
  321. package/knowledge/decisions/internals/{ai-agent-tool-execute-failures-are-logged-unconditionally.md → agent-tool-execute-failures-are-logged-unconditionally.md} +3 -3
  322. package/knowledge/decisions/internals/{ai-agent-voice-input-transcribes-audio-parts-in-place.md → agent-voice-input-transcribes-audio-parts-in-place.md} +2 -2
  323. package/knowledge/decisions/internals/{ai-agent-working-memory-is-persisted-only-when-valid.md → agent-working-memory-is-persisted-only-when-valid.md} +2 -2
  324. package/knowledge/decisions/internals/an-addon-scope-root-loses-to-a-root-the-host-already-declares.md +1 -1
  325. package/knowledge/decisions/internals/an-agent-interrupt-is-not-a-failure.md +2 -2
  326. package/knowledge/decisions/internals/an-agent-run-owned-by-another-instance-says-so.md +3 -3
  327. package/knowledge/decisions/internals/an-agent-stream-send-must-return-the-inner-sends-promise.md +2 -2
  328. package/knowledge/decisions/internals/an-empty-text-part-is-omitted-from-an-agent-message.md +1 -1
  329. package/knowledge/decisions/internals/an-empty-transcript-is-not-recorded.md +1 -1
  330. package/knowledge/decisions/internals/channel-message-handlers-accept-three-config-shapes.md +1 -1
  331. package/knowledge/decisions/internals/channel-middleware-caches-only-statically-resolved-middleware.md +1 -1
  332. package/knowledge/decisions/internals/channel-user-id-is-persisted-after-onconnect-middleware-runs.md +1 -1
  333. package/knowledge/decisions/internals/cli-option-names-are-camelcase-in-state-and-kebab-on-the-command-line.md +1 -1
  334. package/knowledge/decisions/internals/cli-parse-errors-are-routed-by-message-prefix.md +1 -1
  335. package/knowledge/decisions/internals/cli-unknown-long-options-warn-instead-of-failing.md +1 -1
  336. package/knowledge/decisions/internals/core-column-form-is-an-axis-of-its-own.md +4 -4
  337. package/knowledge/decisions/internals/core-data-classification-brand-is-an-optional-property.md +1 -1
  338. package/knowledge/decisions/internals/core-function-runner-restores-the-wire-fields-it-overwrites.md +3 -3
  339. package/knowledge/decisions/internals/core-hot-reload-merges-generated-meta-never-replaces-it.md +2 -2
  340. package/knowledge/decisions/internals/core-hot-reload-owns-its-module-registry.md +2 -2
  341. package/knowledge/decisions/internals/core-middleware-order-is-scope-then-priority.md +1 -1
  342. package/knowledge/decisions/internals/core-schema-defaults-apply-on-every-transport.md +1 -1
  343. package/knowledge/decisions/internals/core-scopes-are-an-and-gate-separate-from-permissions.md +3 -3
  344. package/knowledge/decisions/internals/gateway-adapters-resolve-lazily-and-are-promise-cached.md +1 -1
  345. package/knowledge/decisions/internals/gateway-listener-middleware-runs-without-an-rpc-on-the-wire.md +4 -4
  346. package/knowledge/decisions/internals/gateway-wiring-is-a-meta-wiring-over-http-and-channels.md +1 -1
  347. package/knowledge/decisions/internals/http-router-matches-normalized-paths-but-returns-registered-ones.md +1 -1
  348. package/knowledge/decisions/internals/in-a-scenario-a-4xx-is-data-not-an-exception.md +1 -1
  349. package/knowledge/decisions/internals/in-memory-workflow-history-aliases-the-live-step-object.md +1 -1
  350. package/knowledge/decisions/internals/index.md +4 -2
  351. package/knowledge/decisions/internals/istanbul-statement-counts-attach-to-the-start-line-only.md +1 -1
  352. package/knowledge/decisions/internals/one-project-shape-check-two-validators.md +1 -1
  353. package/knowledge/decisions/internals/queue-jobs-always-carry-an-explicit-attempts-count.md +1 -1
  354. package/knowledge/decisions/internals/remote-addons-dispatch-over-http-instead-of-local-meta.md +1 -1
  355. package/knowledge/decisions/internals/rpc-names-resolve-through-package-scope-before-root.md +1 -1
  356. package/knowledge/decisions/internals/scenario-given-and-when-are-sugar-but-then-is-not.md +2 -2
  357. package/knowledge/decisions/internals/scenarios-live-in-files-named-for-them.md +5 -5
  358. package/knowledge/decisions/internals/speech-synthesis-picks-a-voice-per-sentence-and-warns-once.md +1 -1
  359. package/knowledge/decisions/internals/the-actor-prompt-says-json-because-of-json-object-mode.md +1 -1
  360. package/knowledge/decisions/internals/the-agent-done-event-goes-through-the-middleware-and-is-awaited.md +1 -1
  361. package/knowledge/decisions/internals/the-api-report-pins-members-not-just-names.md +1 -1
  362. package/knowledge/decisions/internals/the-ecosystem-entry-point-carries-the-adapter-surface.md +43 -19
  363. package/knowledge/decisions/internals/the-embedding-model-is-pinned-per-service-and-doc-query-embedding-is-split.md +1 -1
  364. package/knowledge/decisions/internals/the-per-invocation-rpc-view-is-a-class.md +5 -5
  365. package/knowledge/decisions/internals/the-persona-runtime-is-exported-from-the-persona-entry-point.md +1 -1
  366. package/knowledge/decisions/internals/the-transcript-event-is-sent-ahead-of-the-run.md +2 -2
  367. package/knowledge/decisions/internals/the-worker-disposition-is-the-one-that-is-not-testing.md +1 -1
  368. package/knowledge/decisions/internals/thread-history-records-the-transcript-not-the-audio.md +2 -2
  369. package/knowledge/decisions/internals/validate-runs-checks-by-precondition.md +3 -3
  370. package/knowledge/decisions/internals/virtual-user-step-order-comes-from-insertion-order.md +1 -1
  371. package/knowledge/decisions/internals/voice-output-speaks-unless-voice-input-explicitly-says-otherwise.md +1 -1
  372. package/knowledge/decisions/internals/webhook-delivery-history-records-every-attempt-best-effort.md +1 -1
  373. package/knowledge/decisions/internals/wiring-registries-erase-the-generics-their-wire-functions-capture.md +1 -1
  374. package/knowledge/decisions/internals/workflow-approval-expiry-is-decided-from-a-recorded-deadline.md +1 -1
  375. package/knowledge/decisions/internals/workflow-core-never-imports-a-browser-driver.md +1 -1
  376. package/knowledge/decisions/internals/workflow-inline-runs-report-their-run-id-before-they-can-fail.md +1 -1
  377. package/knowledge/decisions/internals/workflow-invocation-id-is-the-dedupe-key-not-step-id.md +1 -1
  378. package/knowledge/decisions/internals/workflow-run-capabilities-are-extensions-not-subclasses.md +1 -1
  379. package/knowledge/decisions/internals/workflow-run-timeline-is-a-pure-fold-over-durable-history.md +1 -1
  380. package/knowledge/decisions/internals/workflow-scenario-assertions-never-retry-and-record-one-step.md +9 -5
  381. package/knowledge/decisions/internals/workflow-scenario-hooks-are-a-scenario-only-affordance.md +1 -1
  382. package/knowledge/decisions/internals/workflow-step-rpc-name-is-provenance-only.md +2 -2
  383. package/knowledge/decisions/internals/workflow-suspend-and-approval-reasons-are-durable-step-identities.md +1 -1
  384. package/knowledge/decisions/security/a-function-never-receives-the-secret-service.md +1 -1
  385. package/knowledge/decisions/security/a-step-runs-the-function-the-workflow-dispatched-it-with.md +1 -1
  386. package/knowledge/decisions/security/a-virtual-user-is-never-offered-a-step-that-would-forge-its-own-oracle.md +2 -3
  387. package/knowledge/decisions/security/actor-sign-in-is-proven-by-set-cookie-not-a-non-empty-jar.md +1 -1
  388. package/knowledge/decisions/security/addon-auth-and-tags-only-tighten.md +1 -1
  389. package/knowledge/decisions/security/{ai-agent-approval-forwarding-requires-a-symbol-brand.md → agent-approval-forwarding-requires-a-symbol-brand.md} +3 -3
  390. package/knowledge/decisions/security/{ai-agent-credential-requests-are-symbol-branded.md → agent-credential-requests-are-symbol-branded.md} +4 -4
  391. package/knowledge/decisions/security/{ai-agent-gate-requires-a-session-only-when-auth-is-true.md → agent-gate-requires-a-session-only-when-auth-is-true.md} +4 -4
  392. package/knowledge/decisions/security/{ai-agent-ownership-failures-never-echo-the-resource.md → agent-ownership-failures-never-echo-the-resource.md} +2 -2
  393. package/knowledge/decisions/security/{ai-agent-resume-re-runs-the-authorization-gate.md → agent-resume-re-runs-the-authorization-gate.md} +4 -4
  394. package/knowledge/decisions/security/{ai-agent-sessionless-deployments-have-no-thread-ownership.md → agent-sessionless-deployments-have-no-thread-ownership.md} +5 -5
  395. package/knowledge/decisions/security/{ai-agent-thread-ownership-composes-the-session-principal.md → agent-thread-ownership-composes-the-session-principal.md} +2 -2
  396. package/knowledge/decisions/security/{ai-agent-tool-filtering-reads-the-live-function-config.md → agent-tool-filtering-reads-the-live-function-config.md} +2 -2
  397. package/knowledge/decisions/security/an-agent-approval-is-claimed-before-the-tool-runs.md +3 -3
  398. package/knowledge/decisions/security/an-approval-answer-outlives-the-run-it-answered.md +3 -3
  399. package/knowledge/decisions/security/an-empty-owners-constraint-matches-nothing.md +3 -3
  400. package/knowledge/decisions/security/console-addon-privileged-functions-gate-themselves.md +21 -13
  401. package/knowledge/decisions/security/core-safe-fetch-blocks-ssrf-by-host-literal-not-dns.md +1 -1
  402. package/knowledge/decisions/security/gateway-middleware-sessions-must-be-bridged-onto-the-wire.md +2 -2
  403. package/knowledge/decisions/security/global-permissions-and-function-permissions-are-independent-gates.md +1 -1
  404. package/knowledge/decisions/security/http-request-bodies-are-bounded-before-they-are-buffered.md +2 -2
  405. package/knowledge/decisions/security/index.md +3 -2
  406. package/knowledge/decisions/security/mcp-internal-error-details-are-double-gated-on-production.md +1 -1
  407. package/knowledge/decisions/security/queue-jobs-carry-the-producers-pikku-user-id.md +3 -3
  408. package/knowledge/decisions/security/remote-addon-tokens-are-client-credentials-not-mesh-trust.md +1 -1
  409. package/knowledge/decisions/security/scaffold-features-are-authenticated-unless-opted-out.md +2 -2
  410. package/knowledge/decisions/security/self-authentication-is-declared-not-detected.md +1 -1
  411. package/knowledge/decisions/security/signed-content-urls-bind-the-request-path.md +2 -2
  412. package/knowledge/index.md +3 -1
  413. package/knowledge/questions/channel-middleware-accepts-bare-factories-that-nothing-resolves.md +1 -1
  414. package/knowledge/questions/index.md +2 -0
  415. package/package.json +16 -14
  416. package/run-tests.sh +0 -0
  417. package/scripts/generate-api-report.d.mts +1 -1
  418. package/scripts/generate-api-report.mjs +67 -60
  419. package/scripts/generate-api-report.mts +37 -47
  420. package/src/agent-naming.test.ts +68 -0
  421. package/src/api-report.test.ts +70 -1
  422. package/src/app-alias-surface.test.ts +179 -0
  423. package/src/app-leaf-surface.test.ts +217 -0
  424. package/src/bootstrap-compat/root.ts +20 -0
  425. package/src/{column-form.test.ts → classification/column-form.test.ts} +2 -2
  426. package/src/{data-classification.ts → classification/data-classification.ts} +1 -5
  427. package/src/classification/index.ts +38 -0
  428. package/src/{secret-value.test.ts → classification/secret-value.test.ts} +2 -2
  429. package/src/{secret-value.ts → classification/secret-value.ts} +1 -6
  430. package/src/crypto-utils.ts +1 -1
  431. package/src/dev/reload-meta.test.ts +1 -1
  432. package/src/errors/index.ts +9 -0
  433. package/src/errors/serialized-error.ts +9 -0
  434. package/src/factory-functions.test.ts +4 -2
  435. package/src/function/function-meta.types.ts +151 -0
  436. package/src/function/function-runner.test.ts +4 -2
  437. package/src/function/function-runner.ts +47 -14
  438. package/src/function/functions.types.ts +11 -7
  439. package/src/function/index.ts +24 -5
  440. package/src/function/list.types.ts +1 -3
  441. package/src/middleware/auth-apikey.ts +4 -2
  442. package/src/middleware/auth-bearer.test.ts +1 -1
  443. package/src/middleware/auth-bearer.ts +4 -2
  444. package/src/middleware/auth-cookie.ts +4 -1
  445. package/src/middleware/cors.test.ts +126 -5
  446. package/src/middleware/cors.ts +19 -8
  447. package/src/middleware/index.ts +16 -0
  448. package/src/middleware/middleware-factories.ts +62 -0
  449. package/src/middleware/middleware.types.ts +61 -0
  450. package/src/middleware/remote-auth.test.ts +1 -1
  451. package/src/middleware/remote-auth.ts +1 -1
  452. package/src/middleware/telemetry.ts +4 -2
  453. package/src/middleware-runner.test.ts +2 -3
  454. package/src/middleware-runner.ts +2 -2
  455. package/src/no-root-barrel.test.ts +114 -0
  456. package/src/permissions.ts +2 -4
  457. package/src/pikku-state.ts +6 -4
  458. package/src/public-surface.json +90 -170
  459. package/src/public-surface.json.README +20 -2
  460. package/src/public-surface.test.ts +31 -3
  461. package/src/remote.test.ts +1 -1
  462. package/src/removed-legacy-exports.test.ts +5 -1
  463. package/src/services/{ai-run-state-service.ts → agent-run-state-service.ts} +5 -5
  464. package/src/services/{ai-agent-runner-service.ts → agent-runner-service.ts} +18 -18
  465. package/src/services/{ai-storage-service.ts → agent-storage-service.ts} +7 -7
  466. package/src/services/audit-service.ts +1 -1
  467. package/src/services/credential-wire-service.ts +1 -1
  468. package/src/services/email-service.ts +2 -4
  469. package/src/services/file-scenario-run-store.test.ts +349 -0
  470. package/src/services/file-scenario-run-store.ts +282 -0
  471. package/src/services/http-personas-converse.test.ts +3 -3
  472. package/src/services/http-personas.ts +4 -4
  473. package/src/services/{in-memory-ai-run-state-service.ts → in-memory-agent-run-state-service.ts} +7 -7
  474. package/src/services/in-memory-workflow-service.ts +1 -1
  475. package/src/services/index.ts +22 -10
  476. package/src/services/local-content-request-handler.ts +1 -2
  477. package/src/services/local-secrets.ts +1 -1
  478. package/src/services/logger.ts +7 -7
  479. package/src/services/meta-service.ts +5 -5
  480. package/src/services/queue-webhook-service.test.ts +1 -1
  481. package/src/services/scoped-secret-service.ts +1 -1
  482. package/src/services/secret-service.ts +1 -1
  483. package/src/services/typed-secret-service.test.ts +52 -0
  484. package/src/services/typed-secret-service.ts +26 -2
  485. package/src/services/webhook-service.ts +1 -1
  486. package/src/services/workflow-service.ts +2 -1
  487. package/src/template-alias-surface.test.ts +240 -0
  488. package/src/testing/index.ts +1 -0
  489. package/src/testing/service-tests/agent-run-service-tests.ts +4 -4
  490. package/src/testing/service-tests/{ai-storage-service-tests.ts → agent-storage-service-tests.ts} +8 -8
  491. package/src/testing/service-tests.ts +10 -8
  492. package/src/types/core.types.ts +40 -292
  493. package/src/types/index.ts +2 -0
  494. package/src/types/state.types.ts +12 -14
  495. package/src/types/typed-credentials.test.ts +72 -0
  496. package/src/utils.ts +34 -0
  497. package/src/wirings/actor-flow/run-conversation.test.ts +2 -2
  498. package/src/wirings/actor-flow/run-conversation.ts +7 -9
  499. package/src/wirings/{rpc → addon}/addon-scopes.test.ts +1 -1
  500. package/src/wirings/addon/index.ts +12 -0
  501. package/src/wirings/{rpc → addon}/remote-addon-auth.ts +4 -1
  502. package/src/wirings/{rpc → addon}/wire-addon.ts +37 -2
  503. package/src/wirings/{ai-agent/ai-agent-agui.test.ts → agent/agent-agui.test.ts} +126 -105
  504. package/src/wirings/{ai-agent/ai-agent-agui.ts → agent/agent-agui.ts} +7 -7
  505. package/src/wirings/{ai-agent/ai-agent-authorization.test.ts → agent/agent-authorization.test.ts} +6 -6
  506. package/src/wirings/{ai-agent/ai-agent-finalize.test.ts → agent/agent-finalize.test.ts} +17 -16
  507. package/src/wirings/{ai-agent/ai-agent-finalize.ts → agent/agent-finalize.ts} +22 -22
  508. package/src/wirings/{ai-agent/ai-agent-helpers.test.ts → agent/agent-helpers.test.ts} +1 -1
  509. package/src/wirings/{ai-agent/ai-agent-helpers.ts → agent/agent-helpers.ts} +1 -1
  510. package/src/wirings/{ai-agent/ai-agent-interrupt.test.ts → agent/agent-interrupt.test.ts} +67 -77
  511. package/src/wirings/{ai-agent/ai-agent-interrupt.ts → agent/agent-interrupt.ts} +5 -5
  512. package/src/wirings/{ai-agent/ai-agent-memory.test.ts → agent/agent-memory.test.ts} +12 -12
  513. package/src/wirings/{ai-agent/ai-agent-memory.ts → agent/agent-memory.ts} +36 -36
  514. package/src/wirings/{ai-agent/ai-agent-model-config.test.ts → agent/agent-model-config.test.ts} +2 -5
  515. package/src/wirings/{ai-agent/ai-agent-model-config.ts → agent/agent-model-config.ts} +1 -1
  516. package/src/wirings/{ai-agent/ai-agent-prepare.test.ts → agent/agent-prepare.test.ts} +18 -18
  517. package/src/wirings/{ai-agent/ai-agent-prepare.ts → agent/agent-prepare.ts} +60 -56
  518. package/src/wirings/{ai-agent/ai-agent-registry.test.ts → agent/agent-registry.test.ts} +49 -43
  519. package/src/wirings/{ai-agent/ai-agent-registry.ts → agent/agent-registry.ts} +14 -14
  520. package/src/wirings/{ai-agent/ai-agent-resume-authorization.test.ts → agent/agent-resume-authorization.test.ts} +18 -18
  521. package/src/wirings/{ai-agent → agent}/agent-rpc.ts +16 -20
  522. package/src/wirings/{ai-agent/ai-agent-runner.test.ts → agent/agent-runner.test.ts} +105 -106
  523. package/src/wirings/{ai-agent/ai-agent-runner.ts → agent/agent-runner.ts} +91 -82
  524. package/src/wirings/{ai-agent/ai-agent-stream-output-hooks.test.ts → agent/agent-stream-output-hooks.test.ts} +25 -25
  525. package/src/wirings/{ai-agent/ai-agent-stream.test.ts → agent/agent-stream.test.ts} +147 -143
  526. package/src/wirings/{ai-agent/ai-agent-stream.ts → agent/agent-stream.ts} +148 -148
  527. package/src/wirings/{ai-agent/ai-agent-thread-ownership.test.ts → agent/agent-thread-ownership.test.ts} +24 -28
  528. package/src/wirings/{ai-agent/ai-agent-turn.test.ts → agent/agent-turn.test.ts} +3 -5
  529. package/src/wirings/{ai-agent/ai-agent-turn.ts → agent/agent-turn.ts} +7 -7
  530. package/src/wirings/agent/agent-utils.ts +20 -0
  531. package/src/wirings/{ai-agent/ai-agent.types.ts → agent/agent.types.ts} +54 -51
  532. package/src/wirings/agent/index.ts +57 -0
  533. package/src/wirings/{ai-agent → agent}/voice-input.test.ts +15 -15
  534. package/src/wirings/{ai-agent → agent}/voice-input.ts +11 -11
  535. package/src/wirings/{ai-agent → agent}/voice-output.test.ts +25 -27
  536. package/src/wirings/{ai-agent → agent}/voice-output.ts +11 -11
  537. package/src/wirings/{ai-scorer/ai-scorer-grade.test.ts → agent-scorer/agent-scorer-grade.test.ts} +8 -8
  538. package/src/wirings/{ai-scorer/ai-scorer-grade.ts → agent-scorer/agent-scorer-grade.ts} +9 -9
  539. package/src/wirings/agent-scorer/agent-scorer-judge.test.ts +285 -0
  540. package/src/wirings/agent-scorer/agent-scorer-judge.ts +180 -0
  541. package/src/wirings/{ai-scorer/ai-scorer-live.test.ts → agent-scorer/agent-scorer-live.test.ts} +11 -11
  542. package/src/wirings/{ai-scorer/ai-scorer-live.ts → agent-scorer/agent-scorer-live.ts} +3 -3
  543. package/src/wirings/{ai-scorer/ai-scorer-registry.ts → agent-scorer/agent-scorer-registry.ts} +11 -8
  544. package/src/wirings/{ai-scorer/ai-scorer-sampling.test.ts → agent-scorer/agent-scorer-sampling.test.ts} +1 -1
  545. package/src/wirings/{ai-scorer/ai-scorer-snapshots.test.ts → agent-scorer/agent-scorer-snapshots.test.ts} +2 -2
  546. package/src/wirings/{ai-scorer/ai-scorer-snapshots.ts → agent-scorer/agent-scorer-snapshots.ts} +1 -1
  547. package/src/wirings/{ai-scorer/ai-scorer-worker.test.ts → agent-scorer/agent-scorer-worker.test.ts} +15 -15
  548. package/src/wirings/{ai-scorer/ai-scorer-worker.ts → agent-scorer/agent-scorer-worker.ts} +9 -7
  549. package/src/wirings/{ai-scorer/ai-scorer.ts → agent-scorer/agent-scorer.ts} +15 -7
  550. package/src/wirings/{ai-scorer/ai-scorer.types.ts → agent-scorer/agent-scorer.types.ts} +27 -6
  551. package/src/wirings/agent-scorer/index.ts +23 -0
  552. package/src/wirings/channel/channel-common.ts +4 -2
  553. package/src/wirings/channel/channel-handler.ts +2 -5
  554. package/src/wirings/channel/channel-middleware-runner.ts +1 -1
  555. package/src/wirings/channel/channel-rpc.types.ts +3 -7
  556. package/src/wirings/channel/channel.types.ts +1 -2
  557. package/src/wirings/channel/local/local-channel-runner.test.ts +1 -2
  558. package/src/wirings/channel/serverless/index.ts +1 -0
  559. package/src/wirings/cli/channel/cli-raw-channel-runner.ts +2 -2
  560. package/src/wirings/cli/channel/index.ts +1 -3
  561. package/src/wirings/cli/cli-runner.test.ts +1 -1
  562. package/src/wirings/cli/cli-runner.ts +11 -7
  563. package/src/wirings/cli/cli.types.ts +24 -3
  564. package/src/wirings/cli/command-parser.test.ts +388 -1
  565. package/src/wirings/cli/command-parser.ts +189 -29
  566. package/src/wirings/gateway/gateway-runner.test.ts +1 -2
  567. package/src/wirings/gateway/gateway-runner.ts +3 -6
  568. package/src/wirings/gateway/gateway.types.ts +5 -4
  569. package/src/wirings/http/http-routes.test.ts +1 -2
  570. package/src/wirings/http/http-runner-addon-ref.test.ts +238 -0
  571. package/src/wirings/http/http-runner.test.ts +3 -8
  572. package/src/wirings/http/http-runner.ts +9 -3
  573. package/src/wirings/http/http.types.ts +3 -12
  574. package/src/wirings/http/index.ts +1 -0
  575. package/src/wirings/http/pikku-fetch-http-request.ts +1 -1
  576. package/src/wirings/http/pikku-fetch-http-response.ts +3 -2
  577. package/src/wirings/mcp/mcp-runner.test.ts +1 -1
  578. package/src/wirings/mcp/mcp.types.ts +1 -2
  579. package/src/wirings/persona/index.ts +1 -4
  580. package/src/wirings/persona/persona.types.ts +14 -0
  581. package/src/wirings/queue/queue-identity.test.ts +1 -1
  582. package/src/wirings/queue/queue.types.ts +2 -6
  583. package/src/wirings/queue/signed-queue-service.ts +1 -1
  584. package/src/wirings/rpc/index.ts +0 -12
  585. package/src/wirings/rpc/rpc-runner.test.ts +4 -4
  586. package/src/wirings/rpc/rpc-runner.ts +5 -5
  587. package/src/wirings/rpc/rpc-types.ts +1 -1
  588. package/src/wirings/scheduler/scheduler.types.ts +2 -5
  589. package/src/wirings/scope/index.ts +1 -0
  590. package/src/wirings/secret/secret.types.ts +10 -0
  591. package/src/wirings/secret/validate-secret-definitions.test.ts +23 -0
  592. package/src/wirings/secret/validate-secret-definitions.ts +2 -0
  593. package/src/wirings/variable/validate-variable-definitions.test.ts +23 -0
  594. package/src/wirings/variable/validate-variable-definitions.ts +2 -0
  595. package/src/wirings/variable/variable.types.ts +9 -0
  596. package/src/wirings/virtual-user/index.ts +1 -4
  597. package/src/wirings/virtual-user/prepare-virtual-user-run.ts +2 -2
  598. package/src/wirings/virtual-user/run-virtual-user.test.ts +2 -2
  599. package/src/wirings/virtual-user/run-virtual-user.ts +3 -3
  600. package/src/wirings/virtual-user/virtual-user-agents.ts +1 -1
  601. package/src/wirings/virtual-user/virtual-user-derive.test.ts +1 -1
  602. package/src/wirings/virtual-user/virtual-user-derive.ts +1 -1
  603. package/src/wirings/virtual-user/virtual-user.types.ts +1 -5
  604. package/src/wirings/workflow/graph/graph-foreach-queued.test.ts +569 -0
  605. package/src/wirings/workflow/graph/graph-foreach.test.ts +626 -0
  606. package/src/wirings/workflow/graph/graph-node.ts +16 -1
  607. package/src/wirings/workflow/graph/graph-runner.ts +387 -61
  608. package/src/wirings/workflow/graph/workflow-graph.types.ts +28 -3
  609. package/src/wirings/workflow/index.ts +8 -0
  610. package/src/wirings/workflow/pikku-scenario-service.ts +59 -19
  611. package/src/wirings/workflow/pikku-workflow-service.ts +6 -8
  612. package/src/wirings/workflow/run-timeline.ts +2 -2
  613. package/src/wirings/workflow/scenario-expectations.test.ts +28 -13
  614. package/src/wirings/workflow/scenario-run.types.ts +186 -0
  615. package/src/wirings/workflow/scenario-step-guards.ts +1 -14
  616. package/src/wirings/workflow/scenario-step.test.ts +32 -7
  617. package/src/wirings/workflow/scenario-step.types.ts +27 -12
  618. package/src/wirings/workflow/workflow-approval-policy.test.ts +117 -47
  619. package/src/wirings/workflow/workflow-approval.ts +2 -1
  620. package/src/wirings/workflow/workflow-run-engine.types.ts +2 -1
  621. package/src/wirings/workflow/workflow.types.ts +4 -12
  622. package/src/wirings-stay-decoupled.test.ts +7 -4
  623. package/tsconfig.tsbuildinfo +1 -1
  624. package/tsconfig.type-tests.json +3 -2
  625. package/dist/testing/service-tests/ai-storage-service-tests.d.ts +0 -3
  626. package/dist/wirings/ai-agent/ai-agent-registry.d.ts +0 -16
  627. package/dist/wirings/ai-agent/ai-agent-runner.d.ts +0 -7
  628. package/dist/wirings/ai-agent/ai-agent-utils.d.ts +0 -1
  629. package/dist/wirings/ai-agent/ai-agent-utils.js +0 -1
  630. package/dist/wirings/ai-agent/index.d.ts +0 -12
  631. package/dist/wirings/ai-agent/index.js +0 -10
  632. package/dist/wirings/ai-scorer/ai-scorer-judge.d.ts +0 -17
  633. package/dist/wirings/ai-scorer/ai-scorer.types.js +0 -4
  634. package/dist/wirings/ai-scorer/index.d.ts +0 -6
  635. package/dist/wirings/ai-scorer/index.js +0 -5
  636. package/src/ecosystem.ts +0 -40
  637. package/src/index.ts +0 -255
  638. package/src/wirings/ai-agent/ai-agent-utils.ts +0 -1
  639. package/src/wirings/ai-agent/index.ts +0 -65
  640. package/src/wirings/ai-scorer/ai-scorer-judge.test.ts +0 -143
  641. package/src/wirings/ai-scorer/ai-scorer-judge.ts +0 -120
  642. package/src/wirings/ai-scorer/index.ts +0 -24
  643. /package/dist/{services/ai-agent-runner-service.js → bootstrap-compat/root.js} +0 -0
  644. /package/dist/{services/ai-run-state-service.js → classification/data-classification.js} +0 -0
  645. /package/dist/{services/ai-storage-service.js → ecosystem/gateway.js} +0 -0
  646. /package/dist/{wirings/ai-agent/ai-agent.types.js → ecosystem/node.js} +0 -0
  647. /package/dist/wirings/{ai-agent/ai-agent-helpers.js → agent/agent-helpers.js} +0 -0
  648. /package/dist/wirings/{ai-agent/ai-agent-model-config.d.ts → agent/agent-model-config.d.ts} +0 -0
  649. /package/dist/wirings/{ai-agent → agent}/agent-rpc.d.ts +0 -0
  650. /package/dist/wirings/{ai-scorer/ai-scorer-sampling.d.ts → agent-scorer/agent-scorer-sampling.d.ts} +0 -0
  651. /package/dist/wirings/{ai-scorer/ai-scorer-sampling.js → agent-scorer/agent-scorer-sampling.js} +0 -0
  652. /package/dist/wirings/{ai-scorer/ai-scorer-snapshots.js → agent-scorer/agent-scorer-snapshots.js} +0 -0
  653. /package/src/{column-form.ts → classification/column-form.ts} +0 -0
  654. /package/src/{pikku-request.test.ts → function/pikku-request.test.ts} +0 -0
  655. /package/src/{pikku-request.ts → function/pikku-request.ts} +0 -0
  656. /package/src/wirings/{rpc → addon}/addon-auth-tags.test.ts +0 -0
  657. /package/src/wirings/{rpc → addon}/addon-runner.ts +0 -0
  658. /package/src/wirings/{rpc → addon}/addon-secrets.test.ts +0 -0
  659. /package/src/wirings/{rpc → addon}/wire-addon.test.ts +0 -0
  660. /package/src/wirings/{rpc → addon}/wire-remote-addon.ts +0 -0
  661. /package/src/wirings/{ai-scorer/ai-scorer-sampling.ts → agent-scorer/agent-scorer-sampling.ts} +0 -0
@@ -0,0 +1,64 @@
1
+ export type Private<T> = T & {
2
+ readonly __classification__?: 'private';
3
+ };
4
+ export type Pii<T> = T & {
5
+ readonly __classification__?: 'pii';
6
+ };
7
+ export type Secret<T> = T & {
8
+ readonly __classification__?: 'secret';
9
+ };
10
+ export type Classification = 'public' | 'private' | 'pii' | 'secret';
11
+ export type AnonymizeStrategy = 'fake:email' | 'fake:name' | 'hash' | 'keep' | null;
12
+ /**
13
+ * How a column's bytes are represented at rest, as distinct from how sensitive
14
+ * the value is (`Classification`). The two are independent: a token hash is
15
+ * `secret` + `hashed` and must never be encrypted, because the hash *is* the
16
+ * lookup key; a live bearer token is `secret` + `plain` today and should not be.
17
+ *
18
+ * `wrapped` and `sealed` are siblings rather than one being "encrypted": both
19
+ * are ciphertext, and what separates them is who can read it back. Wrapped is
20
+ * symmetric and the application holds the key. Sealed is asymmetric and the
21
+ * application holds only the public half, so it can write the value and never
22
+ * read it. Storing one where the other is expected is silent, permanent data
23
+ * loss, which is why they are not collapsed into a single `encrypted`.
24
+ */
25
+ export type ColumnForm = 'plain' | 'hashed' | 'wrapped' | 'sealed';
26
+ declare const wrappedBrand: unique symbol;
27
+ declare const sealedBrand: unique symbol;
28
+ declare const hashedBrand: unique symbol;
29
+ /**
30
+ * Ciphertext under a symmetric key the application holds — the output of
31
+ * `envelopeEncrypt`, `wrapDEK` or `envelopeRewrap`.
32
+ *
33
+ * Unlike `Secret<T>` the brand is REQUIRED, so a plain `string` is not
34
+ * assignable and a column declared `form: 'wrapped'` cannot be written with
35
+ * anything but genuine ciphertext. It stays assignable *to* `string`, so it
36
+ * still works as a query operand and serializes normally — the constraint is on
37
+ * construction, not on use.
38
+ */
39
+ export type WrappedValue = string & {
40
+ readonly [wrappedBrand]: true;
41
+ };
42
+ /** Ciphertext under a public key whose private half the application does not
43
+ * hold. Deliberately not assignable to `WrappedValue`: writing one where the
44
+ * other belongs produces a row nobody can ever open. */
45
+ export type SealedValue = string & {
46
+ readonly [sealedBrand]: true;
47
+ };
48
+ /** A one-way digest of a secret input. The brand's job is narrow — stop a *raw*
49
+ * credential being written into the column that should hold its hash. */
50
+ export type HashedValue = string & {
51
+ readonly [hashedBrand]: true;
52
+ };
53
+ export interface ColumnClassification {
54
+ classification: Classification;
55
+ anonymize_strategy: AnonymizeStrategy;
56
+ /** At-rest representation. Absent means `plain`. */
57
+ form?: ColumnForm;
58
+ description?: string;
59
+ }
60
+ export type ClassificationManifest = {
61
+ version: 1;
62
+ tables: Record<string, Record<string, ColumnClassification>>;
63
+ };
64
+ export {};
@@ -0,0 +1,13 @@
1
+ /**
2
+ * What a value is, and how it must be handled: the classification brands a
3
+ * column carries, the stored forms those brands map to, and the wrapper that
4
+ * keeps a secret out of a log.
5
+ *
6
+ * These arrived as three entry points — one for the types, one for the
7
+ * runtime helpers, one for `SecretValue` — which is the same subject behind
8
+ * three doors, split by whether a name happens to be a type or a value.
9
+ */
10
+ export type { Private, Pii, Secret, Classification, AnonymizeStrategy, ColumnForm, WrappedValue, SealedValue, HashedValue, ColumnClassification, ClassificationManifest, } from './data-classification.js';
11
+ export { hashToken, unsafeAsWrapped, unsafeAsSealed, unsafeAsHashed, } from './column-form.js';
12
+ export { REDACTED, SecretCoercionError, SecretValue, createSecretValue, isSecretValue, } from './secret-value.js';
13
+ export type { Safe } from './secret-value.js';
@@ -0,0 +1,2 @@
1
+ export { hashToken, unsafeAsWrapped, unsafeAsSealed, unsafeAsHashed, } from './column-form.js';
2
+ export { REDACTED, SecretCoercionError, SecretValue, createSecretValue, isSecretValue, } from './secret-value.js';
@@ -0,0 +1,56 @@
1
+ import type { Secret } from './data-classification.js';
2
+ declare const secretValueBrand: unique symbol;
3
+ export declare const REDACTED = "[secret]";
4
+ /** Runtime marker, resilient to duplicate copies of core. */
5
+ declare const SECRET_VALUE: unique symbol;
6
+ declare const NODE_INSPECT: unique symbol;
7
+ export declare class SecretCoercionError extends Error {
8
+ constructor();
9
+ }
10
+ /**
11
+ * A vault secret. Nominal, so it is not assignable to `string` and every
12
+ * concretely-typed sink rejects it; `.reveal()` is the one way out, and every
13
+ * call is a deliberate, greppable disclosure.
14
+ *
15
+ * The revealed value carries the erasable `Secret<T>` classification brand, so
16
+ * the inspector can still follow it one hop past the call.
17
+ *
18
+ * Structured serialization redacts to `[secret]` — an audit or log write must
19
+ * stay honest about the field without crashing the request. String coercion
20
+ * throws, because a template literal or concatenation is always a leak.
21
+ */
22
+ export declare class SecretValue<T = string> {
23
+ #private;
24
+ readonly [secretValueBrand]: true;
25
+ readonly [SECRET_VALUE] = true;
26
+ constructor(value: T);
27
+ reveal(): Secret<T>;
28
+ toJSON(): string;
29
+ [NODE_INSPECT](): string;
30
+ toString(): never;
31
+ [Symbol.toPrimitive](): never;
32
+ }
33
+ export declare const createSecretValue: <T>(value: T) => SecretValue<T>;
34
+ export declare const isSecretValue: (value: unknown) => value is SecretValue<unknown>;
35
+ type IsAny<T> = 0 extends 1 & T ? true : false;
36
+ type Passthrough = Function | Date | RegExp | Error | ArrayBuffer | ArrayBufferView;
37
+ /**
38
+ * Rejects a `SecretValue` anywhere in `T`, however deeply nested, by collapsing
39
+ * it to `never`.
40
+ *
41
+ * For sinks whose parameters are `any`, `unknown` or a free generic — loggers,
42
+ * queue payloads, channel messages — where nominality alone cannot help.
43
+ * `any` is passed through untouched: it cannot be guarded, and collapsing it
44
+ * would reject every legitimate call.
45
+ *
46
+ * `Promise`, `Map` and `Set` are recursed into rather than passed through. A
47
+ * mapped type cannot reach what they hold — mapping their keys yields their
48
+ * methods, not their contents — so treating them as opaque let a secret ride
49
+ * through inside one. `Promise` is the case that bites: `getSecret()` returns
50
+ * `Promise<SecretValue<T>>`, so a forgotten `await` would otherwise log a
51
+ * secret.
52
+ */
53
+ export type Safe<T> = IsAny<T> extends true ? T : [Extract<T, SecretValue<any>>] extends [never] ? T extends Promise<infer V> ? Promise<Safe<V>> : T extends Map<infer K, infer V> ? Map<Safe<K>, Safe<V>> : T extends Set<infer V> ? Set<Safe<V>> : T extends Passthrough ? T : T extends object ? {
54
+ [K in keyof T]: Safe<T[K]>;
55
+ } : T : never;
56
+ export {};
@@ -0,0 +1,46 @@
1
+ export const REDACTED = '[secret]';
2
+ /** Runtime marker, resilient to duplicate copies of core. */
3
+ const SECRET_VALUE = Symbol.for('pikku.secretValue');
4
+ const NODE_INSPECT = Symbol.for('nodejs.util.inspect.custom');
5
+ export class SecretCoercionError extends Error {
6
+ constructor() {
7
+ super(`A secret was coerced to a string, which would write it out in the clear. Unwrap it deliberately with .reveal() at the point it reaches the wire.`);
8
+ this.name = 'SecretCoercionError';
9
+ }
10
+ }
11
+ /**
12
+ * A vault secret. Nominal, so it is not assignable to `string` and every
13
+ * concretely-typed sink rejects it; `.reveal()` is the one way out, and every
14
+ * call is a deliberate, greppable disclosure.
15
+ *
16
+ * The revealed value carries the erasable `Secret<T>` classification brand, so
17
+ * the inspector can still follow it one hop past the call.
18
+ *
19
+ * Structured serialization redacts to `[secret]` — an audit or log write must
20
+ * stay honest about the field without crashing the request. String coercion
21
+ * throws, because a template literal or concatenation is always a leak.
22
+ */
23
+ export class SecretValue {
24
+ [SECRET_VALUE] = true;
25
+ #value;
26
+ constructor(value) {
27
+ this.#value = value;
28
+ }
29
+ reveal() {
30
+ return this.#value;
31
+ }
32
+ toJSON() {
33
+ return REDACTED;
34
+ }
35
+ [NODE_INSPECT]() {
36
+ return REDACTED;
37
+ }
38
+ toString() {
39
+ throw new SecretCoercionError();
40
+ }
41
+ [Symbol.toPrimitive]() {
42
+ throw new SecretCoercionError();
43
+ }
44
+ }
45
+ export const createSecretValue = (value) => new SecretValue(value);
46
+ export const isSecretValue = (value) => typeof value === 'object' && value !== null && SECRET_VALUE in value;
@@ -1,4 +1,4 @@
1
- import type { WrappedValue } from './data-classification.js';
1
+ import type { WrappedValue } from './classification/data-classification.js';
2
2
  export declare const encryptJSON: (secret: string, value: unknown) => Promise<string>;
3
3
  export declare const decryptJSON: <T>(secret: string, token: string) => Promise<T>;
4
4
  /**
@@ -0,0 +1,12 @@
1
+ export { gradeRun } from '../wirings/agent-scorer/agent-scorer-grade.js';
2
+ export { addAgentScorer } from '../wirings/agent-scorer/agent-scorer-registry.js';
3
+ export { enableScoreSnapshots, getScoreSnapshot, } from '../wirings/agent-scorer/agent-scorer-snapshots.js';
4
+ export { wireAgentScorerQueueWorkers } from '../wirings/agent-scorer/agent-scorer-worker.js';
5
+ export { pikkuAgentJudge, pikkuAgentScorer, } from '../wirings/agent-scorer/agent-scorer.js';
6
+ export type { AgentRunScore, ScorerMeta, } from '../wirings/agent-scorer/agent-scorer.types.js';
7
+ /**
8
+ * Types the exports above mention but do not themselves export. Without
9
+ * them a consumer's declaration emit has no name for the type it infers,
10
+ * and fails with TS2883 rather than reaching for the original entry point.
11
+ */
12
+ export type { PikkuAgentScorer, ScoreJob, ScorerInput, ScorerOutput, } from '../wirings/agent-scorer/agent-scorer.types.js';
@@ -0,0 +1,5 @@
1
+ export { gradeRun } from '../wirings/agent-scorer/agent-scorer-grade.js';
2
+ export { addAgentScorer } from '../wirings/agent-scorer/agent-scorer-registry.js';
3
+ export { enableScoreSnapshots, getScoreSnapshot, } from '../wirings/agent-scorer/agent-scorer-snapshots.js';
4
+ export { wireAgentScorerQueueWorkers } from '../wirings/agent-scorer/agent-scorer-worker.js';
5
+ export { pikkuAgentJudge, pikkuAgentScorer, } from '../wirings/agent-scorer/agent-scorer.js';
@@ -0,0 +1,21 @@
1
+ export type { AgentRunStateService, CreateRunInput, SaveScoreInput, } from '../services/agent-run-state-service.js';
2
+ export type { AgentRunnerParams, AgentRunnerService, AgentStepResult, } from '../services/agent-runner-service.js';
3
+ export type { AgentStorageService } from '../services/agent-storage-service.js';
4
+ export { agent, agentApprove, agentResume, agentStream, } from '../wirings/agent/agent-helpers.js';
5
+ export { resolveModelAlias } from '../wirings/agent/agent-model-config.js';
6
+ export { canAccessThread, isOwnedByPrincipal, threadOwnerConstraint, } from '../wirings/agent/agent-prepare.js';
7
+ export { addAgent } from '../wirings/agent/agent-registry.js';
8
+ export type { AgentInput, AgentMemoryConfig, AgentMessage, AgentsMeta, AgentStep, AgentContentPart, AgentRunRow, AgentRunService, AgentRunState, AgentStreamChannel, AgentThread, CoreAgent, PendingApproval, PikkuAgentMiddlewareHooks, } from '../wirings/agent/agent.types.js';
9
+ export { voiceInput } from '../wirings/agent/voice-input.js';
10
+ export { voiceOutput } from '../wirings/agent/voice-output.js';
11
+ /**
12
+ * Types the exports above mention but do not themselves export. Without
13
+ * them a consumer's declaration emit has no name for the type it infers,
14
+ * and fails with TS2883 rather than reaching for the original entry point.
15
+ */
16
+ export type { LogLevel } from '../services/logger.js';
17
+ export type { WebhookServiceConfig } from '../services/webhook-service.js';
18
+ export type { CoreSingletonServices, PostgresConfig, } from '../types/core.types.js';
19
+ export type { SpeakableScripts } from '../wirings/agent/voice-output.js';
20
+ export type { WorkflowServiceConfig } from '../wirings/workflow/workflow.types.js';
21
+ export type { VoiceOutputState } from '../wirings/agent/voice-output.js';
@@ -0,0 +1,6 @@
1
+ export { agent, agentApprove, agentResume, agentStream, } from '../wirings/agent/agent-helpers.js';
2
+ export { resolveModelAlias } from '../wirings/agent/agent-model-config.js';
3
+ export { canAccessThread, isOwnedByPrincipal, threadOwnerConstraint, } from '../wirings/agent/agent-prepare.js';
4
+ export { addAgent } from '../wirings/agent/agent-registry.js';
5
+ export { voiceInput } from '../wirings/agent/voice-input.js';
6
+ export { voiceOutput } from '../wirings/agent/voice-output.js';
@@ -0,0 +1,3 @@
1
+ export { PikkuLocalChannelHandler } from '../../wirings/channel/local/local-channel-handler.js';
2
+ export { runLocalChannel } from '../../wirings/channel/local/local-channel-runner.js';
3
+ export { LocalEventHubService } from '../../wirings/channel/local/local-eventhub-service.js';
@@ -0,0 +1,3 @@
1
+ export { PikkuLocalChannelHandler } from '../../wirings/channel/local/local-channel-handler.js';
2
+ export { runLocalChannel } from '../../wirings/channel/local/local-channel-runner.js';
3
+ export { LocalEventHubService } from '../../wirings/channel/local/local-eventhub-service.js';
@@ -0,0 +1,9 @@
1
+ export { runChannelConnect, runChannelDisconnect, runChannelMessage, } from '../../wirings/channel/serverless/serverless-channel-runner.js';
2
+ export type { RunServerlessChannelParams } from '../../wirings/channel/serverless/serverless-channel-runner.js';
3
+ /**
4
+ * Types the exports above mention but do not themselves export. Without
5
+ * them a consumer's declaration emit has no name for the type it infers,
6
+ * and fails with TS2883 rather than reaching for the original entry point.
7
+ */
8
+ export type { ChannelStore } from '../../wirings/channel/channel-store.js';
9
+ export type { PikkuChannelHandlerFactory } from '../../wirings/channel/channel.types.js';
@@ -0,0 +1 @@
1
+ export { runChannelConnect, runChannelDisconnect, runChannelMessage, } from '../../wirings/channel/serverless/serverless-channel-runner.js';
@@ -0,0 +1,15 @@
1
+ export { addChannelMiddleware } from '../wirings/channel/channel-middleware-runner.js';
2
+ export type { Capabilities } from '../wirings/channel/channel-rpc.types.js';
3
+ export { ChannelStore } from '../wirings/channel/channel-store.js';
4
+ export type { Channel } from '../wirings/channel/channel-store.js';
5
+ export type { BinaryData, ChannelMessageMeta, ChannelMeta, ChannelsMeta, CoreChannel, CorePikkuChannelMiddleware, CorePikkuChannelMiddlewareFactory, PikkuChannelHandlerFactory, } from '../wirings/channel/channel.types.js';
6
+ export type { EventHubService } from '../wirings/channel/eventhub-service.js';
7
+ export { EventHubStore } from '../wirings/channel/eventhub-store.js';
8
+ export { logChannels } from '../wirings/channel/log-channels.js';
9
+ export { PikkuAbstractChannelHandler } from '../wirings/channel/pikku-abstract-channel-handler.js';
10
+ /**
11
+ * Types the exports above mention but do not themselves export. Without
12
+ * them a consumer's declaration emit has no name for the type it infers,
13
+ * and fails with TS2883 rather than reaching for the original entry point.
14
+ */
15
+ export type { Logger } from '../services/logger.js';
@@ -0,0 +1,5 @@
1
+ export { addChannelMiddleware } from '../wirings/channel/channel-middleware-runner.js';
2
+ export { ChannelStore } from '../wirings/channel/channel-store.js';
3
+ export { EventHubStore } from '../wirings/channel/eventhub-store.js';
4
+ export { logChannels } from '../wirings/channel/log-channels.js';
5
+ export { PikkuAbstractChannelHandler } from '../wirings/channel/pikku-abstract-channel-handler.js';
@@ -0,0 +1,16 @@
1
+ export { handleRawCLI } from '../../wirings/cli/channel/cli-raw-channel-runner.js';
2
+ export type { RawCLIFrame } from '../../wirings/cli/channel/cli-raw-channel-runner.js';
3
+ export { executeRawCLIViaChannel } from '../../wirings/cli/channel/cli-raw-client-runner.js';
4
+ export type { CorePikkuCLIClientRender } from '../../wirings/cli/channel/cli-raw-client-runner.js';
5
+ /**
6
+ * Types the exports above mention but do not themselves export. Without
7
+ * them a consumer's declaration emit has no name for the type it infers,
8
+ * and fails with TS2883 rather than reaching for the original entry point.
9
+ */
10
+ export type { LogLevel } from '../../services/logger.js';
11
+ export type { WebhookServiceConfig } from '../../services/webhook-service.js';
12
+ export type { CoreSingletonServices, CoreUserSession, CreateWireServices, PostgresConfig, } from '../../types/core.types.js';
13
+ export type { ApprovalRequester, Capabilities, } from '../../wirings/channel/channel-rpc.types.js';
14
+ export type { PikkuChannel } from '../../wirings/channel/channel.types.js';
15
+ export type { RawCLIResult } from '../../wirings/cli/channel/cli-raw-channel-runner.js';
16
+ export type { WorkflowServiceConfig } from '../../wirings/workflow/workflow.types.js';
@@ -0,0 +1,2 @@
1
+ export { handleRawCLI } from '../../wirings/cli/channel/cli-raw-channel-runner.js';
2
+ export { executeRawCLIViaChannel } from '../../wirings/cli/channel/cli-raw-client-runner.js';
@@ -0,0 +1,9 @@
1
+ export { CLIError, executeCLI, pikkuCLIRender, } from '../wirings/cli/cli-runner.js';
2
+ export type { CLICommandMeta, CLIMeta, CLIProgramMeta, CoreCLI, CoreCLICommandConfig, CorePikkuCLIRender, } from '../wirings/cli/cli.types.js';
3
+ export { generateCommandHelp } from '../wirings/cli/command-parser.js';
4
+ /**
5
+ * Types the exports above mention but do not themselves export. Without
6
+ * them a consumer's declaration emit has no name for the type it infers,
7
+ * and fails with TS2883 rather than reaching for the original entry point.
8
+ */
9
+ export type { CreateConfig, CreateSingletonServices, CreateWireServices, } from '../types/core.types.js';
@@ -0,0 +1,2 @@
1
+ export { CLIError, executeCLI, pikkuCLIRender, } from '../wirings/cli/cli-runner.js';
2
+ export { generateCommandHelp } from '../wirings/cli/command-parser.js';
@@ -0,0 +1,10 @@
1
+ export type { CredentialService } from '../services/credential-service.js';
2
+ export type { CredentialDefinitions } from '../wirings/credential/credential.types.js';
3
+ export { validateAndBuildCredentialDefinitionsMeta } from '../wirings/credential/validate-credential-definitions.js';
4
+ /**
5
+ * Types the exports above mention but do not themselves export. Without
6
+ * them a consumer's declaration emit has no name for the type it infers,
7
+ * and fails with TS2883 rather than reaching for the original entry point.
8
+ */
9
+ export type { SchemaRefLike } from '../types/core.types.js';
10
+ export type { CredentialDefinitionsMeta } from '../wirings/credential/credential.types.js';
@@ -0,0 +1 @@
1
+ export { validateAndBuildCredentialDefinitionsMeta } from '../wirings/credential/validate-credential-definitions.js';
@@ -0,0 +1,8 @@
1
+ export { deriveKEK, envelopeDecrypt, envelopeEncrypt, envelopeRewrap, generateKEKSalt, } from '../crypto-utils.js';
2
+ export type { EnvelopeEncryptResult } from '../crypto-utils.js';
3
+ /**
4
+ * Types the exports above mention but do not themselves export. Without
5
+ * them a consumer's declaration emit has no name for the type it infers,
6
+ * and fails with TS2883 rather than reaching for the original entry point.
7
+ */
8
+ export type { WrappedValue } from '../data-classification.js';
@@ -0,0 +1 @@
1
+ export { deriveKEK, envelopeDecrypt, envelopeEncrypt, envelopeRewrap, generateKEKSalt, } from '../crypto-utils.js';
@@ -0,0 +1,9 @@
1
+ export { pikkuDevReloader } from '../dev/hot-reload.js';
2
+ export { reconcileAddonRegistry, reloadGeneratedMeta, } from '../dev/reload-meta.js';
3
+ /**
4
+ * Types the exports above mention but do not themselves export. Without
5
+ * them a consumer's declaration emit has no name for the type it infers,
6
+ * and fails with TS2883 rather than reaching for the original entry point.
7
+ */
8
+ export type { ReloadGeneratedMetaOptions } from '../dev/reload-meta.js';
9
+ export type { Logger } from '../services/logger.js';
@@ -0,0 +1,2 @@
1
+ export { pikkuDevReloader } from '../dev/hot-reload.js';
2
+ export { reconcileAddonRegistry, reloadGeneratedMeta, } from '../dev/reload-meta.js';
@@ -0,0 +1,8 @@
1
+ export * from '../errors/errors.js';
2
+ export { PikkuError, addError } from '../errors/error-handler.js';
3
+ /**
4
+ * Types the exports above mention but do not themselves export. Without
5
+ * them a consumer's declaration emit has no name for the type it infers,
6
+ * and fails with TS2883 rather than reaching for the original entry point.
7
+ */
8
+ export type { ErrorDetails } from '../errors/error-handler.js';
@@ -0,0 +1,2 @@
1
+ export * from '../errors/errors.js';
2
+ export { PikkuError, addError } from '../errors/error-handler.js';
@@ -0,0 +1,13 @@
1
+ export { addFunction, getAllFunctionNames, } from '../function/function-runner.js';
2
+ export { pikkuAuth } from '../function/functions.types.js';
3
+ export type { CorePikkuAuth, CorePikkuAuthConfig, CorePikkuFunction, CorePikkuFunctionConfig, CorePikkuFunctionSessionless, CorePikkuPermission, CorePikkuSessionlessFunctionConfig, } from '../function/functions.types.js';
4
+ export type { ListInput, ListOutput } from '../function/list.types.js';
5
+ /**
6
+ * Types the exports above mention but do not themselves export. Without
7
+ * them a consumer's declaration emit has no name for the type it infers,
8
+ * and fails with TS2883 rather than reaching for the original entry point.
9
+ */
10
+ export type { LogLevel } from '../services/logger.js';
11
+ export type { WebhookServiceConfig } from '../services/webhook-service.js';
12
+ export type { CoreSecretlessSingletonServices, CoreSingletonServices, CoreUserSession, PostgresConfig, SecretlessServices, } from '../types/core.types.js';
13
+ export type { WorkflowServiceConfig } from '../wirings/workflow/workflow.types.js';
@@ -0,0 +1,2 @@
1
+ export { addFunction, getAllFunctionNames, } from '../function/function-runner.js';
2
+ export { pikkuAuth } from '../function/functions.types.js';
@@ -0,0 +1 @@
1
+ export type { GatewayTransportType, GatewaysMeta, } from '../wirings/gateway/gateway.types.js';
@@ -0,0 +1 @@
1
+ export { hmacSha256Hex, timingSafeStringEqual } from '../utils/hmac.js';
@@ -0,0 +1 @@
1
+ export { hmacSha256Hex, timingSafeStringEqual } from '../utils/hmac.js';
@@ -0,0 +1,13 @@
1
+ export { fetch, fetchData, wireHTTP } from '../wirings/http/http-runner.js';
2
+ export type { AssertHTTPWiringParams, CoreHTTPFunctionWiring, HTTPMethod, HTTPRouteBaseConfig, HTTPWiringsMeta, PikkuHTTP, PikkuHTTPResponse, PikkuQuery, RunHTTPWiringOptions, } from '../wirings/http/http.types.js';
3
+ export { logRoutes } from '../wirings/http/log-http-routes.js';
4
+ export { DEFAULT_MAX_BODY_SIZE, PikkuFetchHTTPRequest, } from '../wirings/http/pikku-fetch-http-request.js';
5
+ export { PikkuFetchHTTPResponse } from '../wirings/http/pikku-fetch-http-response.js';
6
+ export { toWebRequest } from '../wirings/http/web-request.js';
7
+ /**
8
+ * Types the exports above mention but do not themselves export. Without
9
+ * them a consumer's declaration emit has no name for the type it infers,
10
+ * and fails with TS2883 rather than reaching for the original entry point.
11
+ */
12
+ export type { Logger } from '../services/logger.js';
13
+ export type { PikkuHTTPRequest } from '../wirings/http/http.types.js';
@@ -0,0 +1,5 @@
1
+ export { fetch, fetchData, wireHTTP } from '../wirings/http/http-runner.js';
2
+ export { logRoutes } from '../wirings/http/log-http-routes.js';
3
+ export { DEFAULT_MAX_BODY_SIZE, PikkuFetchHTTPRequest, } from '../wirings/http/pikku-fetch-http-request.js';
4
+ export { PikkuFetchHTTPResponse } from '../wirings/http/pikku-fetch-http-response.js';
5
+ export { toWebRequest } from '../wirings/http/web-request.js';
@@ -0,0 +1,3 @@
1
+ export { MCPEndpointRegistry } from '../wirings/mcp/mcp-endpoint-registry.js';
2
+ export { MCPError, getMCPPromptsMeta, getMCPResourcesMeta, getMCPToolsMeta, runMCPPrompt, runMCPResource, runMCPTool, } from '../wirings/mcp/mcp-runner.js';
3
+ export type { AssertMCPResourceURIParams, CoreMCPPrompt, CoreMCPResource, MCPPromptMeta, MCPResourceMeta, MCPToolMeta, MCPToolResponse, PikkuMCP, } from '../wirings/mcp/mcp.types.js';
@@ -0,0 +1,2 @@
1
+ export { MCPEndpointRegistry } from '../wirings/mcp/mcp-endpoint-registry.js';
2
+ export { MCPError, getMCPPromptsMeta, getMCPResourcesMeta, getMCPToolsMeta, runMCPPrompt, runMCPResource, runMCPTool, } from '../wirings/mcp/mcp-runner.js';
@@ -0,0 +1,18 @@
1
+ export { addGlobalMiddleware, runMiddleware } from '../middleware-runner.js';
2
+ export { authAPIKey } from '../middleware/auth-apikey.js';
3
+ export { authCookie } from '../middleware/auth-cookie.js';
4
+ export { pikkuRemoteAuthMiddleware } from '../middleware/remote-auth.js';
5
+ export { telemetryInner, telemetryOuter } from '../middleware/telemetry.js';
6
+ export { addGlobalPermission } from '../permissions.js';
7
+ export { pikkuMiddleware } from '../types/core.types.js';
8
+ /**
9
+ * Types the exports above mention but do not themselves export. Without
10
+ * them a consumer's declaration emit has no name for the type it infers,
11
+ * and fails with TS2883 rather than reaching for the original entry point.
12
+ */
13
+ export type { CorePermissionGroup, CorePikkuPermission, } from '../function/functions.types.js';
14
+ export type { LogLevel } from '../services/logger.js';
15
+ export type { WebhookServiceConfig } from '../services/webhook-service.js';
16
+ export type { RelativeTimeInput } from '../time-utils.js';
17
+ export type { CorePikkuMiddleware, CorePikkuMiddlewareFactory, CoreSingletonServices, CoreUserSession, PostgresConfig, } from '../types/core.types.js';
18
+ export type { WorkflowServiceConfig } from '../wirings/workflow/workflow.types.js';
@@ -0,0 +1,7 @@
1
+ export { addGlobalMiddleware, runMiddleware } from '../middleware-runner.js';
2
+ export { authAPIKey } from '../middleware/auth-apikey.js';
3
+ export { authCookie } from '../middleware/auth-cookie.js';
4
+ export { pikkuRemoteAuthMiddleware } from '../middleware/remote-auth.js';
5
+ export { telemetryInner, telemetryOuter } from '../middleware/telemetry.js';
6
+ export { addGlobalPermission } from '../permissions.js';
7
+ export { pikkuMiddleware } from '../types/core.types.js';
@@ -0,0 +1 @@
1
+ export { installNodeHostResolver } from '../utils/node-host-resolver.js';
@@ -0,0 +1 @@
1
+ export { installNodeHostResolver } from '../utils/node-host-resolver.js';
@@ -0,0 +1 @@
1
+ export type { CoreNodeConfig, NodeType, NodesMeta, } from '../wirings/node/node.types.js';
@@ -0,0 +1 @@
1
+ export type { OAuth2AppCredential, OAuth2Token, } from '../wirings/oauth2/oauth2.types.js';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,17 @@
1
+ export { HttpPersona, createHttpPersonas } from '../services/http-personas.js';
2
+ export type { HttpPersonasConfig } from '../services/http-personas.js';
3
+ export { postScenarioJson, readScenarioHttpResponse, } from '../services/personas-service.js';
4
+ export type { ScenarioHttpResponse } from '../services/personas-service.js';
5
+ export { personaEmails } from '../wirings/persona/persona-email.js';
6
+ export { personaEnvironmentErrors, personaEnvironmentRefusal, } from '../wirings/persona/persona-environments.js';
7
+ export type { CorePersona, PersonaAccountMeta, PersonaDefinitions, PersonaMeta, } from '../wirings/persona/persona.types.js';
8
+ export { isRunnablePersona, roleMismatchMessage, validateAndBuildPersonasMeta, verifyPersonaRoles, } from '../wirings/persona/validate-personas.js';
9
+ /**
10
+ * Types the exports above mention but do not themselves export. Without
11
+ * them a consumer's declaration emit has no name for the type it infers,
12
+ * and fails with TS2883 rather than reaching for the original entry point.
13
+ */
14
+ export type { ScenarioPersonas } from '../services/personas-service.js';
15
+ export type { PersonaEnvironment, PersonaEnvironmentSubject, } from '../wirings/persona/persona-environments.js';
16
+ export type { PersonasMeta } from '../wirings/persona/persona.types.js';
17
+ export type { RoleVerification } from '../wirings/persona/validate-personas.js';
@@ -0,0 +1,5 @@
1
+ export { HttpPersona, createHttpPersonas } from '../services/http-personas.js';
2
+ export { postScenarioJson, readScenarioHttpResponse, } from '../services/personas-service.js';
3
+ export { personaEmails } from '../wirings/persona/persona-email.js';
4
+ export { personaEnvironmentErrors, personaEnvironmentRefusal, } from '../wirings/persona/persona-environments.js';
5
+ export { isRunnablePersona, roleMismatchMessage, validateAndBuildPersonasMeta, verifyPersonaRoles, } from '../wirings/persona/validate-personas.js';
@@ -0,0 +1,13 @@
1
+ export { InMemoryQueueService } from '../services/in-memory-queue-service.js';
2
+ export { QueueWebhookService } from '../services/queue-webhook-service.js';
3
+ export { QueueJobDiscardedError, QueueJobFailedError, runQueueJob, } from '../wirings/queue/queue-runner.js';
4
+ export type { ConfigValidationResult, CoreQueueWorker, JobOptions, PikkuJobConfig, PikkuWorkerConfig, QueueJob, QueueJobStatus, QueueService, QueueWorkers, QueueWorkersMeta, } from '../wirings/queue/queue.types.js';
5
+ export { registerQueueWorkers } from '../wirings/queue/register-queue-helper.js';
6
+ export type { QueueConfigMapping } from '../wirings/queue/validate-worker-config.js';
7
+ /**
8
+ * Types the exports above mention but do not themselves export. Without
9
+ * them a consumer's declaration emit has no name for the type it infers,
10
+ * and fails with TS2883 rather than reaching for the original entry point.
11
+ */
12
+ export type { Logger } from '../services/logger.js';
13
+ export type { QueueRegistrationCallback } from '../wirings/queue/register-queue-helper.js';
@@ -0,0 +1,4 @@
1
+ export { InMemoryQueueService } from '../services/in-memory-queue-service.js';
2
+ export { QueueWebhookService } from '../services/queue-webhook-service.js';
3
+ export { QueueJobDiscardedError, QueueJobFailedError, runQueueJob, } from '../wirings/queue/queue-runner.js';
4
+ export { registerQueueWorkers } from '../wirings/queue/register-queue-helper.js';
@@ -0,0 +1,8 @@
1
+ export { buildRemoteHeaders } from '../remote.js';
2
+ /**
3
+ * Types the exports above mention but do not themselves export. Without
4
+ * them a consumer's declaration emit has no name for the type it infers,
5
+ * and fails with TS2883 rather than reaching for the original entry point.
6
+ */
7
+ export type { JWTService } from '../services/jwt-service.js';
8
+ export type { SecretService } from '../services/secret-service.js';
@@ -0,0 +1 @@
1
+ export { buildRemoteHeaders } from '../remote.js';
@@ -0,0 +1,4 @@
1
+ export type { Role } from '../services/scope-service.js';
2
+ export { defineSystemRole } from '../wirings/role/define-system-role.js';
3
+ export type { CoreSystemRole, CoreSystemRoles, SystemRole, SystemRoleDefinitionMeta, SystemRoleDefinitions, SystemRoleDefinitionsMeta, } from '../wirings/role/role.types.js';
4
+ export { flattenSystemRoleDefinitions, validateAndBuildSystemRoleDefinitionsMeta, } from '../wirings/role/validate-role-definitions.js';
@@ -0,0 +1,2 @@
1
+ export { defineSystemRole } from '../wirings/role/define-system-role.js';
2
+ export { flattenSystemRoleDefinitions, validateAndBuildSystemRoleDefinitionsMeta, } from '../wirings/role/validate-role-definitions.js';
@@ -0,0 +1,6 @@
1
+ export { rpcService } from '../wirings/rpc/rpc-runner.js';
2
+ export type { PikkuRPC } from '../wirings/rpc/rpc-types.js';
3
+ export { wireAddon } from '../wirings/rpc/wire-addon.js';
4
+ export type { WireAddonConfig } from '../wirings/rpc/wire-addon.js';
5
+ export { wireRemoteAddon } from '../wirings/rpc/wire-remote-addon.js';
6
+ export type { RemoteAddonAuth, WireRemoteAddonConfig, } from '../wirings/rpc/wire-remote-addon.js';
@@ -0,0 +1,3 @@
1
+ export { rpcService } from '../wirings/rpc/rpc-runner.js';
2
+ export { wireAddon } from '../wirings/rpc/wire-addon.js';
3
+ export { wireRemoteAddon } from '../wirings/rpc/wire-remote-addon.js';
@@ -0,0 +1,7 @@
1
+ export { safeFetch } from '../utils/safe-fetch.js';
2
+ /**
3
+ * Types the exports above mention but do not themselves export. Without
4
+ * them a consumer's declaration emit has no name for the type it infers,
5
+ * and fails with TS2883 rather than reaching for the original entry point.
6
+ */
7
+ export type { SafeFetchOptions } from '../utils/safe-fetch.js';
@@ -0,0 +1 @@
1
+ export { safeFetch } from '../utils/safe-fetch.js';