@pikku/cli 0.12.99 → 0.12.102

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 (396) hide show
  1. package/console-app/assets/{abnfDiagram-VRR7QNED-CytV-CG1.js → abnfDiagram-VRR7QNED-BneJZPuq.js} +1 -1
  2. package/console-app/assets/{arc-C5PvmnaA.js → arc-B6oXAx95.js} +1 -1
  3. package/console-app/assets/architecture-TIHT7OUA-BIpQbDwm.js +1 -0
  4. package/console-app/assets/{architectureDiagram-ZJ3FMSHR-CJ2xb7C-.js → architectureDiagram-ZJ3FMSHR-Dn6JKcGL.js} +1 -1
  5. package/console-app/assets/{blockDiagram-677ZJIJ3-CCecrBrk.js → blockDiagram-677ZJIJ3-CQtakjN5.js} +1 -1
  6. package/console-app/assets/{c4Diagram-LMCZKHZV-CBnpukvQ.js → c4Diagram-LMCZKHZV-DRBlz-sO.js} +1 -1
  7. package/console-app/assets/channel-D9eZ2wja.js +1 -0
  8. package/console-app/assets/{chunk-32BRIVSS-D8qWWZRQ.js → chunk-32BRIVSS-DIionvWe.js} +1 -1
  9. package/console-app/assets/{chunk-52WLFC77-BEpXHMsp.js → chunk-52WLFC77-DwrMMV53.js} +1 -1
  10. package/console-app/assets/{chunk-C7G6YPKG-DsHUMkOp.js → chunk-C7G6YPKG-C7_SHoee.js} +1 -1
  11. package/console-app/assets/{chunk-EX3LRPZG-mM7TjVx9.js → chunk-EX3LRPZG-Brqi3de0.js} +1 -1
  12. package/console-app/assets/{chunk-FWX5IMBZ-CndRAn18.js → chunk-FWX5IMBZ-CGXYdLJv.js} +2 -2
  13. package/console-app/assets/{chunk-HOUHSVGY-D1kT8umn.js → chunk-HOUHSVGY-C-mHnXIa.js} +1 -1
  14. package/console-app/assets/{chunk-ICXQ74PX-CeSaGyro.js → chunk-ICXQ74PX-x3psPzuY.js} +1 -1
  15. package/console-app/assets/{chunk-MOJQB5TN-CaZOCHYr.js → chunk-MOJQB5TN-2uXUItkq.js} +1 -1
  16. package/console-app/assets/{chunk-OGEWGWER-CnB1CsPt.js → chunk-OGEWGWER-eXRvfFkE.js} +1 -1
  17. package/console-app/assets/{chunk-PUDLZKDR-BbGulHJm.js → chunk-PUDLZKDR-CyN33Wwe.js} +1 -1
  18. package/console-app/assets/{chunk-Q4XR5HBZ-BywwzeeR.js → chunk-Q4XR5HBZ-uyzxeIyh.js} +1 -1
  19. package/console-app/assets/{chunk-RYQCIY6F-CV0R1Adv.js → chunk-RYQCIY6F-CB9wv1YB.js} +1 -1
  20. package/console-app/assets/{chunk-V7JOEXUC-DGFaAWzB.js → chunk-V7JOEXUC-DLMzjIkb.js} +1 -1
  21. package/console-app/assets/chunk-VAUOI2AC--YVrsYCZ.js +1 -0
  22. package/console-app/assets/{chunk-VR4S4FIN-D4-UaW_J.js → chunk-VR4S4FIN-DtBvdHYI.js} +1 -1
  23. package/console-app/assets/{chunk-WYO6CB5R-D_TFN0d9.js → chunk-WYO6CB5R-B_EVxwHf.js} +1 -1
  24. package/console-app/assets/chunk-XXDRQBXY-By-5aH9h.js +1 -0
  25. package/console-app/assets/{chunk-ZGVPDNZ5-C6hdkGQb.js → chunk-ZGVPDNZ5-CGfMGxHR.js} +1 -1
  26. package/console-app/assets/classDiagram-OUVF2IWQ-Bg6U871E.js +1 -0
  27. package/console-app/assets/classDiagram-v2-EOCWNBFH-Bg6U871E.js +1 -0
  28. package/console-app/assets/{cose-bilkent-JH36ORCC-B6ZPxN6v.js → cose-bilkent-JH36ORCC-B_3kCkWC.js} +1 -1
  29. package/console-app/assets/{cynefin-VYW2F7L2-D_nmxNz_.js → cynefin-VYW2F7L2-Buqf60VA.js} +1 -1
  30. package/console-app/assets/{cynefinDiagram-TSTJHNR4-CHy5QN0S.js → cynefinDiagram-TSTJHNR4-DOjw2x6X.js} +1 -1
  31. package/console-app/assets/{dagre-VKFMJZFB-DYfukM34.js → dagre-VKFMJZFB-CTZTYT0b.js} +1 -1
  32. package/console-app/assets/{diagram-FQU43EPY-Dgb9TPSB.js → diagram-FQU43EPY-BZh4LC_G.js} +1 -1
  33. package/console-app/assets/{diagram-G47NLZAW-CnFNZs9Z.js → diagram-G47NLZAW-DDHD69gC.js} +1 -1
  34. package/console-app/assets/{diagram-NH7WQ7WH-DN7h2DU-.js → diagram-NH7WQ7WH-YnfI_N0A.js} +1 -1
  35. package/console-app/assets/{diagram-OA4YK3LP-RLaQaNtK.js → diagram-OA4YK3LP-ByfLxp7x.js} +1 -1
  36. package/console-app/assets/{diagram-WEI45ONY-DxHWhVGd.js → diagram-WEI45ONY-CghNIRYp.js} +1 -1
  37. package/console-app/assets/{dist-BaJNIo4I.js → dist-DCLZxlZv.js} +1 -1
  38. package/console-app/assets/{ebnfDiagram-CCIWWBDH-UN3Z81-l.js → ebnfDiagram-CCIWWBDH-D5_G_ZqU.js} +1 -1
  39. package/console-app/assets/{erDiagram-Q63AITRT-C9lGAY3i.js → erDiagram-Q63AITRT-B5ZtoDJs.js} +1 -1
  40. package/console-app/assets/eventmodeling-45OFAUF4-eU2Q2DYK.js +1 -0
  41. package/console-app/assets/flowDiagram-23GEKE2U-CtRJ8nYJ.js +1 -0
  42. package/console-app/assets/{ganttDiagram-NO4QXBWP-CvBjBcdK.js → ganttDiagram-NO4QXBWP-R-TggPMB.js} +1 -1
  43. package/console-app/assets/{gitGraph-TEB2WS4Q-Cs5Z9jMo.js → gitGraph-TEB2WS4Q-Cjhl-pwb.js} +1 -1
  44. package/console-app/assets/{gitGraphDiagram-IHSO6WYX-B0i_IJ5r.js → gitGraphDiagram-IHSO6WYX-DnQe5wWr.js} +1 -1
  45. package/console-app/assets/{index-71U8EEj7.js → index-BZTTf18Y.js} +150 -164
  46. package/console-app/assets/{index-BXMjqLQ5.css → index-r763CZB4.css} +1 -1
  47. package/console-app/assets/{info-DKCQHKI2-DHL0afNl.js → info-DKCQHKI2-DlSWT4UP.js} +1 -1
  48. package/console-app/assets/{infoDiagram-FWYZ7A6U-CBWykodX.js → infoDiagram-FWYZ7A6U-xqpfzGnj.js} +1 -1
  49. package/console-app/assets/{ishikawaDiagram-FXEZZL3T-DM377eW_.js → ishikawaDiagram-FXEZZL3T-M_pUeGWs.js} +1 -1
  50. package/console-app/assets/{journeyDiagram-5HDEW3XC-BpX_-Cns.js → journeyDiagram-5HDEW3XC-Dm6FR2DD.js} +1 -1
  51. package/console-app/assets/{kanban-definition-HUTT4EX6-D3xFsQkO.js → kanban-definition-HUTT4EX6-CbhkDdQH.js} +1 -1
  52. package/console-app/assets/{line-CTSKHTE0.js → line-C98Z2IVv.js} +1 -1
  53. package/console-app/assets/{linear-R5GlBvXT.js → linear-fYIkDCbB.js} +1 -1
  54. package/console-app/assets/{mermaid-parser.core-CkHk4BPi.js → mermaid-parser.core-Dkioi2z2.js} +3 -3
  55. package/console-app/assets/{mermaid.core-CcjGXuV6.js → mermaid.core-CeJcbw8_.js} +3 -3
  56. package/console-app/assets/{mindmap-definition-LN4V7U3C-CtolazqQ.js → mindmap-definition-LN4V7U3C-DDitGESW.js} +1 -1
  57. package/console-app/assets/{packet-7NZHBO7P-BxSOj_Ny.js → packet-7NZHBO7P-DWZKJ9Us.js} +1 -1
  58. package/console-app/assets/{pegDiagram-2B236MQR-BNsMtxsM.js → pegDiagram-2B236MQR-CZGjPLXH.js} +1 -1
  59. package/console-app/assets/{pie-RZYD4A2V-BbkKQBA5.js → pie-RZYD4A2V-DT4-E-uE.js} +1 -1
  60. package/console-app/assets/{pieDiagram-ENE6RG2P-BAZLIz2f.js → pieDiagram-ENE6RG2P-bgr82Jyt.js} +1 -1
  61. package/console-app/assets/{quadrantDiagram-ABIIQ3AL-Dpvn-1Fs.js → quadrantDiagram-ABIIQ3AL-Dcw3uNG0.js} +1 -1
  62. package/console-app/assets/{radar-I7S5WNFK-B-uKXIAH.js → radar-I7S5WNFK-CFAbRVFk.js} +1 -1
  63. package/console-app/assets/{railroad-3IZDKUUU-BHXXK04t.js → railroad-3IZDKUUU-CjkCoEjH.js} +1 -1
  64. package/console-app/assets/railroad-abnf-AHOZXSZD-BM21cj3I.js +1 -0
  65. package/console-app/assets/railroad-ebnf-EBAXGLYW-CDjo5TUI.js +1 -0
  66. package/console-app/assets/railroad-peg-LSFZ7HO6-CiKQmfgW.js +1 -0
  67. package/console-app/assets/{railroadDiagram-RFXS5EU6-DfUApEQj.js → railroadDiagram-RFXS5EU6-BUoL0dsw.js} +1 -1
  68. package/console-app/assets/{requirementDiagram-TGXJPOKE-B2zX0jqo.js → requirementDiagram-TGXJPOKE-C27qMKlr.js} +1 -1
  69. package/console-app/assets/{sankeyDiagram-HTMAVEWB-CbQ2zc7z.js → sankeyDiagram-HTMAVEWB-BYEhrrY0.js} +1 -1
  70. package/console-app/assets/{sequenceDiagram-DBY2YBRQ-BLT8PXI_.js → sequenceDiagram-DBY2YBRQ-BCuL4Pl6.js} +1 -1
  71. package/console-app/assets/{src-BLuPUFWW.js → src-jNbD6Nj3.js} +1 -1
  72. package/console-app/assets/{stateDiagram-2N3HPSRC-BvEyVp85.js → stateDiagram-2N3HPSRC-C8Ywa3Ah.js} +1 -1
  73. package/console-app/assets/stateDiagram-v2-6OUMAXLB-BIGwMDyj.js +1 -0
  74. package/console-app/assets/{swimlanes-5IMT3BWC-1AZ459s6.js → swimlanes-5IMT3BWC-C12iYfdp.js} +1 -1
  75. package/console-app/assets/swimlanesDiagram-G3AALYLV-BsoUfqN-.js +8 -0
  76. package/console-app/assets/{timeline-definition-FHXFAJF6-dLuvH4s2.js → timeline-definition-FHXFAJF6-BFQotHp7.js} +1 -1
  77. package/console-app/assets/{treeView-QDETBFTQ-xL2msjo2.js → treeView-QDETBFTQ-CGbwDLTd.js} +1 -1
  78. package/console-app/assets/{treemap-6X3UGDF4-C98ichVP.js → treemap-6X3UGDF4-DxSGskiF.js} +1 -1
  79. package/console-app/assets/{vennDiagram-L72KCM5P-HbUmidhv.js → vennDiagram-L72KCM5P-D4hlUYc9.js} +1 -1
  80. package/console-app/assets/{wardley-OPB4EBWU-C4gJS-m2.js → wardley-OPB4EBWU-XlXl32Vn.js} +1 -1
  81. package/console-app/assets/{wardleyDiagram-EHGQE667-B7b-LB02.js → wardleyDiagram-EHGQE667-ttCeFzYx.js} +1 -1
  82. package/console-app/assets/{xychartDiagram-FW5EYKEG-Cm03zUGy.js → xychartDiagram-FW5EYKEG-BMG4kbfv.js} +1 -1
  83. package/console-app/index.html +2 -2
  84. package/dist/.pikku/agent/pikku-agent-types.gen.d.ts +6 -2
  85. package/dist/.pikku/agent/pikku-agent-types.gen.js +3 -0
  86. package/dist/.pikku/agent/pikku-model-aliases.gen.d.ts +1 -0
  87. package/dist/.pikku/agent/pikku-model-aliases.gen.js +5 -0
  88. package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +1 -1
  89. package/dist/.pikku/channel/pikku-channel-types.gen.js +1 -1
  90. package/dist/.pikku/cli/pikku-cli-channel.d.ts +11 -2
  91. package/dist/.pikku/cli/pikku-cli-channel.js +34 -9
  92. package/dist/.pikku/cli/pikku-cli-client.gen.d.ts +1 -1
  93. package/dist/.pikku/cli/pikku-cli-client.gen.js +1 -1
  94. package/dist/.pikku/cli/pikku-cli-contracts-meta.gen.d.ts +1 -1
  95. package/dist/.pikku/cli/pikku-cli-contracts-meta.gen.js +1 -1
  96. package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +1 -1
  97. package/dist/.pikku/cli/pikku-cli-types.gen.js +1 -1
  98. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +2 -2
  99. package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.json +18 -12
  100. package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +1 -1
  101. package/dist/.pikku/cli/pikku-cli-wirings.gen.js +1 -1
  102. package/dist/.pikku/cli/pikku-cli.gen.d.ts +1 -1
  103. package/dist/.pikku/cli/pikku-cli.gen.js +1 -1
  104. package/dist/.pikku/console/pikku-node-types.gen.d.ts +1 -1
  105. package/dist/.pikku/function/pikku-function-types.gen.d.ts +10 -20
  106. package/dist/.pikku/function/pikku-function-types.gen.js +2 -2
  107. package/dist/.pikku/function/pikku-functions-meta.gen.js +2 -2
  108. package/dist/.pikku/function/pikku-functions-meta.gen.json +59 -35
  109. package/dist/.pikku/function/pikku-functions.gen.js +3 -1
  110. package/dist/.pikku/http/pikku-http-types.gen.d.ts +1 -1
  111. package/dist/.pikku/http/pikku-http-types.gen.js +1 -1
  112. package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +1 -1
  113. package/dist/.pikku/mcp/pikku-mcp-types.gen.js +1 -1
  114. package/dist/.pikku/pikku-bootstrap-scenarios.gen.d.ts +1 -1
  115. package/dist/.pikku/pikku-bootstrap-scenarios.gen.js +1 -1
  116. package/dist/.pikku/pikku-bootstrap.gen.d.ts +2 -1
  117. package/dist/.pikku/pikku-bootstrap.gen.js +2 -1
  118. package/dist/.pikku/pikku-meta-service.gen.d.ts +1 -1
  119. package/dist/.pikku/pikku-meta-service.gen.js +1 -1
  120. package/dist/.pikku/pikku-services.gen.d.ts +1 -1
  121. package/dist/.pikku/pikku-types.gen.d.ts +1 -1
  122. package/dist/.pikku/pikku-types.gen.js +1 -1
  123. package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +1 -1
  124. package/dist/.pikku/queue/pikku-queue-types.gen.js +1 -1
  125. package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +2 -2
  126. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.d.ts +1 -1
  127. package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.js +1 -1
  128. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +2 -2
  129. package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.json +2 -1
  130. package/dist/.pikku/scenarios/pikku-scenario-functions-meta.gen.js +2 -2
  131. package/dist/.pikku/scenarios/pikku-scenario-functions.gen.d.ts +1 -1
  132. package/dist/.pikku/scenarios/pikku-scenario-wirings-meta.gen.js +2 -2
  133. package/dist/.pikku/scenarios/pikku-scenario-wirings.gen.d.ts +1 -1
  134. package/dist/.pikku/scenarios/schemas/register.gen.d.ts +1 -1
  135. package/dist/.pikku/scenarios/schemas/register.gen.js +1 -1
  136. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
  137. package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +1 -1
  138. package/dist/.pikku/schemas/register.gen.js +7 -5
  139. package/dist/.pikku/schemas/schemas/DevInput.schema.json +1 -1
  140. package/dist/.pikku/schemas/schemas/PikkuAIScorerOutput.schema.json +1 -0
  141. package/dist/.pikku/schemas/schemas/ServeInput.schema.json +1 -1
  142. package/dist/.pikku/schemas/schemas/ValidateOutput.schema.json +1 -0
  143. package/dist/.pikku/scopes/pikku-personas.gen.js +1 -1
  144. package/dist/.pikku/scopes/pikku-roles.gen.d.ts +1 -1
  145. package/dist/.pikku/scopes/pikku-scope-types.gen.d.ts +1 -1
  146. package/dist/.pikku/scopes/pikku-scope-types.gen.js +1 -1
  147. package/dist/.pikku/scopes/pikku-scopes.gen.d.ts +1 -1
  148. package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +1 -1
  149. package/dist/.pikku/secrets/pikku-secret-types.gen.js +1 -1
  150. package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +1 -1
  151. package/dist/.pikku/secrets/pikku-secrets.gen.js +1 -1
  152. package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +1 -1
  153. package/dist/.pikku/trigger/pikku-trigger-types.gen.js +1 -1
  154. package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +1 -1
  155. package/dist/.pikku/variables/pikku-variable-types.gen.js +1 -1
  156. package/dist/.pikku/variables/pikku-variables.gen.d.ts +1 -1
  157. package/dist/.pikku/variables/pikku-variables.gen.js +1 -1
  158. package/dist/.pikku/workflow/meta/allWorkflow.gen.json +8 -2
  159. package/dist/.pikku/workflow/pikku-personas.gen.js +1 -1
  160. package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +18 -10
  161. package/dist/.pikku/workflow/pikku-workflow-types.gen.js +1 -1
  162. package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +2 -2
  163. package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +1 -1
  164. package/dist/bin/pikku-bin.mjs +2 -2
  165. package/dist/src/cli.wiring.js +20 -11
  166. package/dist/src/deploy/analyzer/analyzer.js +21 -6
  167. package/dist/src/deploy/analyzer/manifest.d.ts +18 -0
  168. package/dist/src/deploy/codegen/per-unit-codegen.js +0 -3
  169. package/dist/src/deploy/server-entry.js +1 -1
  170. package/dist/src/fabric/fabric-commands.d.ts +26 -26
  171. package/dist/src/fabric/functions/add.function.d.ts +1 -1
  172. package/dist/src/fabric/functions/addon-verify.function.d.ts +1 -1
  173. package/dist/src/fabric/functions/db-schema.function.d.ts +1 -1
  174. package/dist/src/fabric/functions/deploy-list.function.d.ts +1 -1
  175. package/dist/src/fabric/functions/deploy-units.function.d.ts +1 -1
  176. package/dist/src/fabric/functions/deploy.function.d.ts +2 -2
  177. package/dist/src/fabric/functions/domains-add.function.d.ts +1 -1
  178. package/dist/src/fabric/functions/domains-list.function.d.ts +1 -1
  179. package/dist/src/fabric/functions/domains-remove.function.d.ts +1 -1
  180. package/dist/src/fabric/functions/errors.function.d.ts +1 -1
  181. package/dist/src/fabric/functions/init.function.d.ts +1 -1
  182. package/dist/src/fabric/functions/link.function.d.ts +1 -1
  183. package/dist/src/fabric/functions/llm-key.function.d.ts +1 -1
  184. package/dist/src/fabric/functions/login.function.d.ts +1 -1
  185. package/dist/src/fabric/functions/logs.function.d.ts +1 -1
  186. package/dist/src/fabric/functions/metrics.function.d.ts +1 -1
  187. package/dist/src/fabric/functions/publish.function.d.ts +1 -1
  188. package/dist/src/fabric/functions/rollback.function.d.ts +1 -1
  189. package/dist/src/fabric/functions/secrets-list.function.d.ts +1 -1
  190. package/dist/src/fabric/functions/secrets-rotate.function.d.ts +1 -1
  191. package/dist/src/fabric/functions/secrets-set.function.d.ts +1 -1
  192. package/dist/src/fabric/functions/smoke.function.d.ts +1 -1
  193. package/dist/src/fabric/functions/smoke.function.js +7 -4
  194. package/dist/src/fabric/functions/status.function.d.ts +1 -1
  195. package/dist/src/fabric/functions/trace.function.d.ts +1 -1
  196. package/dist/src/fabric/functions/validate.function.d.ts +1 -1
  197. package/dist/src/fabric/functions/validate.function.js +1 -1
  198. package/dist/src/functions/commands/all.d.ts +1 -1
  199. package/dist/src/functions/commands/audit.d.ts +1 -1
  200. package/dist/src/functions/commands/binary.d.ts +1 -1
  201. package/dist/src/functions/commands/bootstrap.d.ts +1 -1
  202. package/dist/src/functions/commands/db-audit.d.ts +1 -1
  203. package/dist/src/functions/commands/db-baseline.d.ts +1 -1
  204. package/dist/src/functions/commands/db-check.d.ts +1 -1
  205. package/dist/src/functions/commands/db-codegen.d.ts +1 -1
  206. package/dist/src/functions/commands/db-export.d.ts +1 -1
  207. package/dist/src/functions/commands/db-export.js +1 -1
  208. package/dist/src/functions/commands/db-generate.d.ts +1 -1
  209. package/dist/src/functions/commands/db-migrate.d.ts +1 -1
  210. package/dist/src/functions/commands/db-reset.d.ts +1 -1
  211. package/dist/src/functions/commands/db-shared.d.ts +0 -14
  212. package/dist/src/functions/commands/deploy-apply.d.ts +1 -1
  213. package/dist/src/functions/commands/deploy-info.d.ts +1 -1
  214. package/dist/src/functions/commands/deploy-plan.d.ts +1 -1
  215. package/dist/src/functions/commands/dev.d.ts +4 -1
  216. package/dist/src/functions/commands/dev.js +42 -3
  217. package/dist/src/functions/commands/emails-init.d.ts +1 -1
  218. package/dist/src/functions/commands/enable.d.ts +8 -8
  219. package/dist/src/functions/commands/import-n8n.d.ts +1 -1
  220. package/dist/src/functions/commands/info.d.ts +4 -4
  221. package/dist/src/functions/commands/knowledge-index.d.ts +4 -4
  222. package/dist/src/functions/commands/knowledge-validate.d.ts +1 -1
  223. package/dist/src/functions/commands/login.d.ts +3 -3
  224. package/dist/src/functions/commands/meta.d.ts +19 -19
  225. package/dist/src/functions/commands/new-addon.d.ts +1 -1
  226. package/dist/src/functions/commands/new-addon.js +6 -3
  227. package/dist/src/functions/commands/new-function.d.ts +1 -1
  228. package/dist/src/functions/commands/new-middleware.d.ts +1 -1
  229. package/dist/src/functions/commands/new-permission.d.ts +1 -1
  230. package/dist/src/functions/commands/new-wiring.d.ts +1 -1
  231. package/dist/src/functions/commands/persona-sync.d.ts +1 -1
  232. package/dist/src/functions/commands/persona.d.ts +2 -2
  233. package/dist/src/functions/commands/pikku-command-bootstrap.d.ts +1 -1
  234. package/dist/src/functions/commands/pikku-command-summary.d.ts +1 -1
  235. package/dist/src/functions/commands/roles-audit.d.ts +1 -1
  236. package/dist/src/functions/commands/roles-prune.d.ts +1 -1
  237. package/dist/src/functions/commands/scenario-browser.d.ts +24 -1
  238. package/dist/src/functions/commands/scenario-browser.js +5 -1
  239. package/dist/src/functions/commands/scenario.d.ts +8 -2
  240. package/dist/src/functions/commands/scenario.js +58 -10
  241. package/dist/src/functions/commands/scopes-audit.d.ts +1 -1
  242. package/dist/src/functions/commands/scopes-prune.d.ts +1 -1
  243. package/dist/src/functions/commands/serve.d.ts +4 -1
  244. package/dist/src/functions/commands/serve.js +16 -2
  245. package/dist/src/functions/commands/skills.d.ts +2 -2
  246. package/dist/src/functions/commands/{workspace-validate.d.ts → validate.d.ts} +19 -4
  247. package/dist/src/functions/commands/validate.js +9 -0
  248. package/dist/src/functions/commands/versions-check.d.ts +1 -1
  249. package/dist/src/functions/commands/versions-init.d.ts +1 -1
  250. package/dist/src/functions/commands/versions-update.d.ts +1 -1
  251. package/dist/src/functions/commands/watch.d.ts +1 -1
  252. package/dist/src/functions/db/local-db.d.ts +2 -1
  253. package/dist/src/functions/db/local-db.js +2 -2
  254. package/dist/src/functions/runtimes/fetch/index.d.ts +1 -1
  255. package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.d.ts +1 -1
  256. package/dist/src/functions/runtimes/tanstack-start/pikku-command-tanstack-start.d.ts +1 -1
  257. package/dist/src/functions/runtimes/websocket/pikku-command-websocket-typed.d.ts +1 -1
  258. package/dist/src/functions/validate/addon-package-checks.d.ts +26 -0
  259. package/dist/src/functions/validate/addon-package-checks.js +258 -0
  260. package/dist/src/functions/validate/persona-checks.d.ts +1 -1
  261. package/dist/src/functions/validate/persona-checks.js +1 -1
  262. package/dist/src/functions/validate/scenario-file-checks.js +33 -0
  263. package/dist/src/functions/validate/shared-checks.d.ts +1 -1
  264. package/dist/src/functions/validate/shared-checks.js +1 -1
  265. package/dist/src/functions/validate/validate-registry.d.ts +52 -0
  266. package/dist/src/functions/validate/validate-registry.js +100 -0
  267. package/dist/src/functions/validate/validate.d.ts +47 -0
  268. package/dist/src/functions/validate/{workspace-validate.js → validate.js} +46 -12
  269. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent-types.d.ts +1 -1
  270. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent-types.js +3 -2
  271. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent.d.ts +1 -1
  272. package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent.js +6 -2
  273. package/dist/src/functions/wirings/ai-agent/pikku-command-public-agent.d.ts +1 -1
  274. package/dist/src/functions/wirings/ai-agent/serialize-ai-agent-types.d.ts +1 -1
  275. package/dist/src/functions/wirings/ai-agent/serialize-ai-agent-types.js +15 -2
  276. package/dist/src/functions/wirings/ai-agent/serialize-model-aliases.d.ts +5 -0
  277. package/dist/src/functions/wirings/ai-agent/serialize-model-aliases.js +12 -0
  278. package/dist/src/functions/wirings/ai-scorer/pikku-command-ai-scorer.d.ts +1 -0
  279. package/dist/src/functions/wirings/ai-scorer/pikku-command-ai-scorer.js +51 -0
  280. package/dist/src/functions/wirings/ai-scorer/serialize-scorer-names.d.ts +10 -0
  281. package/dist/src/functions/wirings/ai-scorer/serialize-scorer-names.js +17 -0
  282. package/dist/src/functions/wirings/auth/pikku-command-auth.d.ts +1 -1
  283. package/dist/src/functions/wirings/auth/serialize-auth-gen.js +27 -10
  284. package/dist/src/functions/wirings/channels/pikku-channels.d.ts +1 -1
  285. package/dist/src/functions/wirings/channels/pikku-channels.js +1 -1
  286. package/dist/src/functions/wirings/channels/pikku-command-channel-types.d.ts +1 -1
  287. package/dist/src/functions/wirings/channels/pikku-command-channels-map.d.ts +1 -1
  288. package/dist/src/functions/wirings/channels/pikku-command-channels.d.ts +1 -1
  289. package/dist/src/functions/wirings/channels/pikku-command-channels.js +1 -1
  290. package/dist/src/functions/wirings/cli/pikku-command-cli-entry.d.ts +1 -1
  291. package/dist/src/functions/wirings/cli/pikku-command-cli-types.d.ts +1 -1
  292. package/dist/src/functions/wirings/cli/pikku-command-cli.d.ts +1 -1
  293. package/dist/src/functions/wirings/cli/pikku-command-cli.js +1 -1
  294. package/dist/src/functions/wirings/cli/serialize-channel-cli.js +12 -7
  295. package/dist/src/functions/wirings/console/pikku-command-console-functions.d.ts +1 -1
  296. package/dist/src/functions/wirings/console/pikku-command-node-types.d.ts +1 -1
  297. package/dist/src/functions/wirings/console/pikku-command-nodes-meta.d.ts +1 -1
  298. package/dist/src/functions/wirings/console/serialize-console-functions.js +9 -56
  299. package/dist/src/functions/wirings/credentials/pikku-command-credentials.d.ts +1 -1
  300. package/dist/src/functions/wirings/emails/pikku-command-emails.d.ts +1 -1
  301. package/dist/src/functions/wirings/functions/pikku-command-addon-types.d.ts +1 -1
  302. package/dist/src/functions/wirings/functions/pikku-command-function-types-split.d.ts +1 -1
  303. package/dist/src/functions/wirings/functions/pikku-command-function-types.d.ts +1 -1
  304. package/dist/src/functions/wirings/functions/pikku-command-functions.d.ts +1 -1
  305. package/dist/src/functions/wirings/functions/pikku-command-functions.js +1 -1
  306. package/dist/src/functions/wirings/functions/pikku-command-services.d.ts +1 -1
  307. package/dist/src/functions/wirings/functions/schemas.d.ts +1 -1
  308. package/dist/src/functions/wirings/functions/serialize-function-types.js +12 -21
  309. package/dist/src/functions/wirings/gateway/pikku-command-gateway.d.ts +1 -1
  310. package/dist/src/functions/wirings/graph/pikku-command-graph-wirings.d.ts +1 -1
  311. package/dist/src/functions/wirings/http/pikku-command-http-map.d.ts +1 -1
  312. package/dist/src/functions/wirings/http/pikku-command-http-routes.d.ts +1 -1
  313. package/dist/src/functions/wirings/http/pikku-command-http-routes.js +1 -1
  314. package/dist/src/functions/wirings/http/pikku-command-http-types.d.ts +1 -1
  315. package/dist/src/functions/wirings/http/pikku-command-openapi.d.ts +1 -1
  316. package/dist/src/functions/wirings/http/pikku-http-routes.d.ts +1 -1
  317. package/dist/src/functions/wirings/http/pikku-http-routes.js +1 -1
  318. package/dist/src/functions/wirings/mcp/pikku-command-mcp-json.d.ts +1 -1
  319. package/dist/src/functions/wirings/mcp/pikku-command-mcp-types.d.ts +1 -1
  320. package/dist/src/functions/wirings/mcp/pikku-command-mcp.d.ts +1 -1
  321. package/dist/src/functions/wirings/mcp/pikku-command-mcp.js +1 -1
  322. package/dist/src/functions/wirings/middleware/pikku-command-middleware.d.ts +1 -1
  323. package/dist/src/functions/wirings/middleware/serialize-middleware-imports.js +5 -1
  324. package/dist/src/functions/wirings/package/pikku-command-package-types.d.ts +3 -3
  325. package/dist/src/functions/wirings/package/pikku-command-package.d.ts +1 -1
  326. package/dist/src/functions/wirings/package/pikku-command-package.js +12 -1
  327. package/dist/src/functions/wirings/package/serialize-package.d.ts +1 -1
  328. package/dist/src/functions/wirings/package/serialize-package.js +6 -3
  329. package/dist/src/functions/wirings/permissions/pikku-command-permissions.d.ts +1 -1
  330. package/dist/src/functions/wirings/personas/pikku-command-personas.d.ts +1 -1
  331. package/dist/src/functions/wirings/queue/pikku-command-queue-map.d.ts +1 -1
  332. package/dist/src/functions/wirings/queue/pikku-command-queue-service.d.ts +1 -1
  333. package/dist/src/functions/wirings/queue/pikku-command-queue-types.d.ts +1 -1
  334. package/dist/src/functions/wirings/queue/pikku-command-queue.d.ts +1 -1
  335. package/dist/src/functions/wirings/queue/pikku-queue-map.d.ts +1 -1
  336. package/dist/src/functions/wirings/queue/pikku-queue.d.ts +1 -1
  337. package/dist/src/functions/wirings/realtime/pikku-command-events-scaffold.d.ts +1 -1
  338. package/dist/src/functions/wirings/realtime/pikku-command-realtime.d.ts +1 -1
  339. package/dist/src/functions/wirings/roles/pikku-command-roles.d.ts +1 -1
  340. package/dist/src/functions/wirings/rpc/pikku-command-public-rpc.d.ts +1 -1
  341. package/dist/src/functions/wirings/rpc/pikku-command-react-query.d.ts +1 -1
  342. package/dist/src/functions/wirings/rpc/pikku-command-remote-rpc.d.ts +1 -1
  343. package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.d.ts +1 -1
  344. package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.d.ts +3 -3
  345. package/dist/src/functions/wirings/rpc/pikku-command-rpc.d.ts +1 -1
  346. package/dist/src/functions/wirings/rpc/pikku-command-rpc.js +1 -1
  347. package/dist/src/functions/wirings/rpc/serialize-typed-rpc-map.js +1 -6
  348. package/dist/src/functions/wirings/scenarios/register-scenario-instrumentation.js +31 -1
  349. package/dist/src/functions/wirings/scenarios/serialize-scenario-meta.js +2 -2
  350. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler-types.d.ts +1 -1
  351. package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.d.ts +1 -1
  352. package/dist/src/functions/wirings/scopes/pikku-command-scopes.d.ts +1 -1
  353. package/dist/src/functions/wirings/secrets/pikku-command-secrets.d.ts +1 -1
  354. package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.d.ts +1 -1
  355. package/dist/src/functions/wirings/triggers/pikku-command-trigger.d.ts +1 -1
  356. package/dist/src/functions/wirings/triggers/serialize-trigger-meta.js +2 -2
  357. package/dist/src/functions/wirings/user-admin/pikku-command-user-admin-functions.d.ts +1 -1
  358. package/dist/src/functions/wirings/variables/pikku-command-variables.d.ts +1 -1
  359. package/dist/src/functions/wirings/virtual-user/pikku-command-virtual-user-functions.d.ts +1 -1
  360. package/dist/src/functions/wirings/webhook/pikku-command-webhook.d.ts +1 -1
  361. package/dist/src/functions/wirings/workflow/pikku-command-workflow-routes.d.ts +1 -1
  362. package/dist/src/functions/wirings/workflow/pikku-command-workflow.d.ts +1 -1
  363. package/dist/src/functions/wirings/workflow/serialize-workflow-meta.js +2 -2
  364. package/dist/src/functions/wirings/workflow/serialize-workflow-routes.js +23 -32
  365. package/dist/src/functions/wirings/workflow/serialize-workflow-types.js +25 -14
  366. package/dist/src/functions/workflows/all.workflow.js +6 -1
  367. package/dist/src/server/bun-server-runner.js +3 -0
  368. package/dist/src/server/dev-server-runner.interface.d.ts +10 -0
  369. package/dist/src/server/node-server-runner.js +3 -0
  370. package/dist/src/services.d.ts +1 -1
  371. package/dist/src/services.js +1 -0
  372. package/dist/src/utils/meta-diff.d.ts +1 -1
  373. package/dist/src/utils/meta-diff.js +2 -0
  374. package/dist/src/utils/model-alias-override.d.ts +7 -0
  375. package/dist/src/utils/model-alias-override.js +33 -0
  376. package/dist/src/utils/pikku-cli-config.js +16 -0
  377. package/dist/src/utils/serialize-meta-ts.js +1 -1
  378. package/dist/tsconfig.tsbuildinfo +1 -1
  379. package/package.json +19 -19
  380. package/console-app/assets/architecture-TIHT7OUA-C1_ScvPX.js +0 -1
  381. package/console-app/assets/channel-CwDOkXGI.js +0 -1
  382. package/console-app/assets/chunk-VAUOI2AC-DxPUd8Yb.js +0 -1
  383. package/console-app/assets/chunk-XXDRQBXY-BzVuweA_.js +0 -1
  384. package/console-app/assets/classDiagram-OUVF2IWQ-CTYJkTT0.js +0 -1
  385. package/console-app/assets/classDiagram-v2-EOCWNBFH-CTYJkTT0.js +0 -1
  386. package/console-app/assets/eventmodeling-45OFAUF4-Dc5wNSSK.js +0 -1
  387. package/console-app/assets/flowDiagram-23GEKE2U-zPyGHMi4.js +0 -1
  388. package/console-app/assets/railroad-abnf-AHOZXSZD-tXSQaBvY.js +0 -1
  389. package/console-app/assets/railroad-ebnf-EBAXGLYW-DG3aohR0.js +0 -1
  390. package/console-app/assets/railroad-peg-LSFZ7HO6-DY_gBA-x.js +0 -1
  391. package/console-app/assets/stateDiagram-v2-6OUMAXLB-RGKS9iU4.js +0 -1
  392. package/console-app/assets/swimlanesDiagram-G3AALYLV-Ck_0-rfN.js +0 -8
  393. package/dist/.pikku/schemas/schemas/WorkspaceValidateOutput.schema.json +0 -1
  394. package/dist/src/functions/commands/workspace-validate.js +0 -9
  395. package/dist/src/functions/validate/workspace-validate.d.ts +0 -33
  396. /package/dist/.pikku/schemas/schemas/{WorkspaceValidateInput.schema.json → ValidateInput.schema.json} +0 -0
@@ -15,7 +15,7 @@ export const serializeFunctionTypes = (userSessionTypeImport, userSessionTypeNam
15
15
  * Core function, middleware, and permission types for all wirings
16
16
  */
17
17
 
18
- import type { CorePikkuMiddleware, CorePermissionGroup, ListInput, ListOutput, PikkuWire, PickRequired, SecretlessServices, SecretService } from '@pikku/core'
18
+ import type { CorePikkuMiddleware, CorePermissionGroup, ListInput, ListOutput, PikkuWire, PickRequired, SecretlessServices } from '@pikku/core'
19
19
  import type { CorePikkuFunctionConfig, CorePikkuSessionlessFunctionConfig, CorePikkuAuth, CorePikkuAuthConfig, CorePikkuPermission } from '@pikku/core/function'
20
20
  import { pikkuAuth as pikkuAuthCore } from '@pikku/core/function'
21
21
  import {
@@ -23,7 +23,7 @@ import {
23
23
  addGlobalMiddleware as addGlobalMiddlewareCore,
24
24
  addGlobalPermission as addGlobalPermissionCore,
25
25
  } from '@pikku/core/middleware'
26
- import { pikkuState as __pikkuState, CreateWireServices } from '@pikku/core/internal'
26
+ import { pikkuState as __pikkuState, CreateWireServices } from '@pikku/core/ecosystem'
27
27
  import type { NodeType } from '@pikku/core/node'
28
28
  ${scopesImport}
29
29
  import type { StandardSchemaV1 } from '@standard-schema/spec'
@@ -56,16 +56,6 @@ export type WiredServices = SecretlessServices<RequiredSingletonServices & Servi
56
56
  /** \`WiredSingletonServices\` without \`secrets\`, for auth gates. */
57
57
  export type WiredAuthServices = SecretlessServices<WiredSingletonServices>
58
58
 
59
- /**
60
- * \`WiredServices\` with \`secrets\` restored, for the console's secret-admin
61
- * functions. Reached by declaring \`secretBroker: true\` on a \`pikkuFunc\` config.
62
- *
63
- * Declaring it does not grant the service. The runner hands out the real
64
- * \`SecretService\` only to the functions the inspector marks as secret brokers;
65
- * every other function still receives the throwing accessor.
66
- */
67
- export type WiredSecretBrokerServices = WiredServices & { secrets: SecretService }
68
-
69
59
  /**
70
60
  * Inline node configuration for function definitions.
71
61
  */
@@ -301,18 +291,23 @@ export const pikkuApprovalDescription = <In = unknown, RequiredServices extends
301
291
  * @template In - The input type
302
292
  * @template Out - The output type that the function returns
303
293
  * @template RequiredServices - Services required by this function
294
+ * @template ScenarioOut - Types \`scenario.context\`; only scenarios set it.
295
+ * Not defaulted to \`Out\`, which would make every ordinary function's wire
296
+ * type vary with its return type and cost a \`func\` written against the
297
+ * \`PikkuFunction | PikkuFunctionSessionless\` union its contextual typing.
304
298
  */
305
299
  export type PikkuFunctionSessionless<
306
300
  In = unknown,
307
301
  Out = never,
308
302
  RequiredWires extends keyof PikkuWire = never,
309
- RequiredServices extends SecretlessServices<Services> = WiredServices
303
+ RequiredServices extends SecretlessServices<Services> = WiredServices,
304
+ ScenarioOut = unknown
310
305
  > = CorePikkuFunctionSessionless<
311
306
  In,
312
307
  Out,
313
308
  RequiredServices,
314
309
  Session,
315
- PickRequired<PikkuWire<In, Out, false, Session, TypedPikkuRPC, null, any, TypedWorkflow, unknown, TypedScenario, TypedPersonas>, RequiredWires>
310
+ PickRequired<PikkuWire<In, Out, false, Session, TypedPikkuRPC, null, any, TypedWorkflow, unknown, TypedScenario<ScenarioOut>, TypedPersonas>, RequiredWires>
316
311
  >
317
312
 
318
313
  /**
@@ -353,7 +348,9 @@ export type PikkuFunctionConfig<
353
348
  In = unknown,
354
349
  Out = unknown,
355
350
  RequiredWires extends keyof PikkuWire = never,
356
- PikkuFunc extends PikkuFunction<In, Out, RequiredWires, any> | PikkuFunctionSessionless<In, Out, RequiredWires, any> = PikkuFunction<In, Out, RequiredWires> | PikkuFunctionSessionless<In, Out, RequiredWires>,
351
+ // \`any\` in the ScenarioOut slot: a constraint pinned to one context type
352
+ // would refuse a scenario body, which types its context as its own output.
353
+ PikkuFunc extends PikkuFunction<In, Out, RequiredWires, any> | PikkuFunctionSessionless<In, Out, RequiredWires, any, any> = PikkuFunction<In, Out, RequiredWires> | PikkuFunctionSessionless<In, Out, RequiredWires>,
357
354
  InputSchema extends StandardSchemaV1 | undefined = undefined,
358
355
  OutputSchema extends StandardSchemaV1 | undefined = undefined
359
356
  > = CorePikkuFunctionConfig<PikkuFunc, PikkuPermission<In>, PikkuMiddleware, InputSchema, OutputSchema, ScopeId>
@@ -440,12 +437,6 @@ export type PikkuFunctionConfigWithSchema<
440
437
  * })
441
438
  * \`\`\`
442
439
  */
443
- export function pikkuFunc<
444
- InputSchema extends StandardSchemaV1 | undefined = undefined,
445
- OutputSchema extends StandardSchemaV1 | undefined = undefined
446
- >(
447
- config: PikkuFunctionConfigWithSchema<InputSchema, OutputSchema, 'session' | 'rpc', WiredSecretBrokerServices> & { secretBroker: true }
448
- ): PikkuFunctionConfig<InputSchema extends StandardSchemaV1 ? InferSchemaOutput<InputSchema> : unknown, OutputSchema extends StandardSchemaV1 ? InferSchemaOutput<OutputSchema> : unknown, 'session' | 'rpc'>
449
440
  export function pikkuFunc<
450
441
  InputSchema extends StandardSchemaV1 | undefined = undefined,
451
442
  OutputSchema extends StandardSchemaV1 | undefined = undefined
@@ -1 +1 @@
1
- export declare const pikkuGateway: import("#pikku").PikkuFunctionConfig<void, boolean | undefined, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean | undefined, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<void, boolean | undefined, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuGateway: import("#pikku").PikkuFunctionConfig<void, boolean | undefined, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean | undefined, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, boolean | undefined, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const pikkuGraphWirings: import("#pikku").PikkuFunctionConfig<void, boolean, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<void, boolean, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuGraphWirings: import("#pikku").PikkuFunctionConfig<void, boolean, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, boolean, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const pikkuHTTPMap: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuHTTPMap: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const pikkuCommandHTTP: import("#pikku").PikkuFunctionConfig<void, boolean | undefined, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean | undefined, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<void, boolean | undefined, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuCommandHTTP: import("#pikku").PikkuFunctionConfig<void, boolean | undefined, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean | undefined, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, boolean | undefined, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
@@ -42,7 +42,7 @@ export const pikkuCommandHTTP = pikkuSessionlessFunc({
42
42
  const importStatement = supportsImportAttributes
43
43
  ? `import metaData from '${jsonImportPath}' with { type: 'json' }`
44
44
  : `import metaData from '${jsonImportPath}'`;
45
- await writeFileInDir(logger, httpWiringMetaFile, `import { pikkuState } from '@pikku/core/internal'\nimport type { HTTPWiringsMeta } from '@pikku/core/http'\n${importStatement}\npikkuState(null, 'http', 'meta', metaData as HTTPWiringsMeta)`);
45
+ await writeFileInDir(logger, httpWiringMetaFile, `import { pikkuState } from '@pikku/core/ecosystem'\nimport type { HTTPWiringsMeta } from '@pikku/core/http'\n${importStatement}\npikkuState(null, 'http', 'meta', metaData as HTTPWiringsMeta)`);
46
46
  return true;
47
47
  },
48
48
  middleware: [
@@ -1 +1 @@
1
- export declare const pikkuHTTPTypes: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuHTTPTypes: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const pikkuOpenAPI: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuOpenAPI: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const pikkuHTTP: import("#pikku").PikkuFunctionConfig<void, boolean, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<void, boolean, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuHTTP: import("#pikku").PikkuFunctionConfig<void, boolean, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, boolean, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
@@ -18,7 +18,7 @@ export const pikkuHTTP = pikkuSessionlessFunc({
18
18
  const importStatement = supportsImportAttributes
19
19
  ? `import metaData from '${jsonImportPath}' with { type: 'json' }`
20
20
  : `import metaData from '${jsonImportPath}'`;
21
- await writeFileInDir(logger, httpWiringMetaFile, `import { pikkuState } from '@pikku/core/internal'\nimport type { HTTPWiringsMeta } from '@pikku/core/http'\n${importStatement}\npikkuState(null, 'http', 'meta', metaData as HTTPWiringsMeta)`);
21
+ await writeFileInDir(logger, httpWiringMetaFile, `import { pikkuState } from '@pikku/core/ecosystem'\nimport type { HTTPWiringsMeta } from '@pikku/core/http'\n${importStatement}\npikkuState(null, 'http', 'meta', metaData as HTTPWiringsMeta)`);
22
22
  return true;
23
23
  },
24
24
  middleware: [
@@ -1 +1 @@
1
- export declare const pikkuMCPJSON: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuMCPJSON: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const pikkuMCPTypes: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuMCPTypes: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const pikkuMCP: import("#pikku").PikkuFunctionConfig<void, boolean | undefined, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean | undefined, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<void, boolean | undefined, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuMCP: import("#pikku").PikkuFunctionConfig<void, boolean | undefined, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean | undefined, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, boolean | undefined, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
@@ -87,7 +87,7 @@ export const pikkuMCP = pikkuSessionlessFunc({
87
87
  const importStatement = supportsImportAttributes
88
88
  ? `import metaData from '${jsonImportPath}' with { type: 'json' }`
89
89
  : `import metaData from '${jsonImportPath}'`;
90
- await writeFileInDir(logger, mcpWiringsMetaFile, `import { pikkuState } from '@pikku/core/internal'
90
+ await writeFileInDir(logger, mcpWiringsMetaFile, `import { pikkuState } from '@pikku/core/ecosystem'
91
91
  import type { MCPResourceMeta, MCPToolMeta, MCPPromptMeta } from '@pikku/core/mcp'
92
92
  ${importStatement}
93
93
  pikkuState(null, 'mcp', 'resourcesMeta', metaData.resourcesMeta as MCPResourceMeta)
@@ -1 +1 @@
1
- export declare const pikkuMiddleware: import("#pikku").PikkuFunctionConfig<void, boolean | undefined, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean | undefined, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<void, boolean | undefined, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuMiddleware: import("#pikku").PikkuFunctionConfig<void, boolean | undefined, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean | undefined, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, boolean | undefined, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
@@ -60,8 +60,12 @@ export const serializeMiddlewareImports = (outputPath, middlewareState, httpStat
60
60
  // it here, into the always-bootstrap-imported pikku-middleware.gen.ts,
61
61
  // guarantees global middleware registers in every unit. A duplicate import
62
62
  // in full builds is harmless — module bodies evaluate once.
63
+ //
64
+ // `isFactoryCall` is not consulted: it distinguishes `mw()` from `mw` as an
65
+ // array element, not a deferred registration behind an exported factory, and
66
+ // addGlobalMiddleware registers at module evaluation under either form.
63
67
  for (const [instanceId, instance] of Object.entries(middlewareState.instances)) {
64
- if (instanceId.startsWith('global:') && !instance.isFactoryCall) {
68
+ if (instanceId.startsWith('global:')) {
65
69
  directImports.add(getFileImportRelativePath(outputPath, instance.sourceFile, packageMappings));
66
70
  }
67
71
  }
@@ -1,3 +1,3 @@
1
- export declare const pikkuSecretDefinitionTypes: import("#pikku").PikkuFunctionSessionlessConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
2
- export declare const pikkuScopeDefinitionTypes: import("#pikku").PikkuFunctionSessionlessConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
3
- export declare const pikkuVariableDefinitionTypes: import("#pikku").PikkuFunctionSessionlessConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuSecretDefinitionTypes: import("#pikku").PikkuFunctionSessionlessConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices, unknown>, undefined, undefined>;
2
+ export declare const pikkuScopeDefinitionTypes: import("#pikku").PikkuFunctionSessionlessConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices, unknown>, undefined, undefined>;
3
+ export declare const pikkuVariableDefinitionTypes: import("#pikku").PikkuFunctionSessionlessConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices, unknown>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const pikkuPackage: import("#pikku").PikkuFunctionConfig<void, boolean | undefined, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean | undefined, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<void, boolean | undefined, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuPackage: import("#pikku").PikkuFunctionConfig<void, boolean | undefined, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean | undefined, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, boolean | undefined, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
@@ -35,6 +35,17 @@ export const pikkuPackage = pikkuSessionlessFunc({
35
35
  };
36
36
  }
37
37
  }
38
+ // A secret read the inspector could not resolve to a literal is absent by
39
+ // construction — such an addon needs `globalSecrets` on its `wireAddon`.
40
+ const declaredSecrets = new Set();
41
+ for (const definition of state.secrets?.definitions ?? []) {
42
+ declaredSecrets.add(definition.secretId);
43
+ }
44
+ for (const usage of state.secrets?.usage?.values() ?? []) {
45
+ for (const key of usage.keys) {
46
+ declaredSecrets.add(key);
47
+ }
48
+ }
38
49
  const content = serializePackageFactories(packageFile, addonName, pikkuConfigFactory
39
50
  ? {
40
51
  file: pikkuConfigFactory.file,
@@ -50,7 +61,7 @@ export const pikkuPackage = pikkuSessionlessFunc({
50
61
  file: wireServicesFactory.file,
51
62
  variable: wireServicesFactory.variable,
52
63
  }
53
- : undefined, packageMappings, Object.keys(credentialsMeta).length > 0 ? credentialsMeta : undefined, state.addonRequiredParentServices);
64
+ : undefined, packageMappings, Object.keys(credentialsMeta).length > 0 ? credentialsMeta : undefined, state.addonRequiredParentServices, [...declaredSecrets].sort());
54
65
  if (!content) {
55
66
  logger.info({
56
67
  message: 'Skipping package factories - no service factories found',
@@ -8,4 +8,4 @@ export interface CredentialMetaForPackage {
8
8
  type: 'singleton' | 'wire';
9
9
  oauth2?: boolean;
10
10
  }
11
- export declare const serializePackageFactories: (outputPath: string, packageName: string, configFactory: PackageFactoryInfo | undefined, singletonServicesFactory: PackageFactoryInfo | undefined, wireServicesFactory: PackageFactoryInfo | undefined, packageMappings?: Record<string, string>, credentialsMeta?: Record<string, CredentialMetaForPackage>, requiredParentServices?: string[]) => string | null;
11
+ export declare const serializePackageFactories: (outputPath: string, packageName: string, configFactory: PackageFactoryInfo | undefined, singletonServicesFactory: PackageFactoryInfo | undefined, wireServicesFactory: PackageFactoryInfo | undefined, packageMappings?: Record<string, string>, credentialsMeta?: Record<string, CredentialMetaForPackage>, requiredParentServices?: string[], declaredSecrets?: string[]) => string | null;
@@ -1,7 +1,7 @@
1
1
  import { getFileImportRelativePath } from '../../../utils/file-import-path.js';
2
- export const serializePackageFactories = (outputPath, packageName, configFactory, singletonServicesFactory, wireServicesFactory, packageMappings = {}, credentialsMeta, requiredParentServices) => {
2
+ export const serializePackageFactories = (outputPath, packageName, configFactory, singletonServicesFactory, wireServicesFactory, packageMappings = {}, credentialsMeta, requiredParentServices, declaredSecrets) => {
3
3
  const imports = [
4
- `import { pikkuState } from '@pikku/core/internal'`,
4
+ `import { pikkuState } from '@pikku/core/ecosystem'`,
5
5
  ];
6
6
  const factoryEntries = [];
7
7
  if (configFactory) {
@@ -29,10 +29,13 @@ export const serializePackageFactories = (outputPath, packageName, configFactory
29
29
  const requiredParentServicesLine = requiredParentServices && requiredParentServices.length > 0
30
30
  ? `\npikkuState('${packageName}', 'package', 'requiredParentServices', ${JSON.stringify(requiredParentServices)})\n`
31
31
  : '';
32
+ const declaredSecretsLine = declaredSecrets
33
+ ? `\npikkuState('${packageName}', 'package', 'declaredSecrets', ${JSON.stringify(declaredSecrets)})\n`
34
+ : '';
32
35
  return `${imports.join('\n')}
33
36
 
34
37
  pikkuState('${packageName}', 'package', 'factories', {
35
38
  ${factoryEntries.join('\n')}
36
39
  })
37
- ${credentialsLine}${requiredParentServicesLine}`;
40
+ ${credentialsLine}${requiredParentServicesLine}${declaredSecretsLine}`;
38
41
  };
@@ -1 +1 @@
1
- export declare const pikkuPermissions: import("#pikku").PikkuFunctionConfig<void, boolean | undefined, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean | undefined, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<void, boolean | undefined, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuPermissions: import("#pikku").PikkuFunctionConfig<void, boolean | undefined, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean | undefined, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, boolean | undefined, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
@@ -2,6 +2,6 @@ export declare const pikkuPersonas: import("#pikku").PikkuFunctionConfig<{
2
2
  bootstrap?: boolean;
3
3
  }, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{
4
4
  bootstrap?: boolean;
5
- }, void, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<{
5
+ }, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<{
6
6
  bootstrap?: boolean;
7
7
  }, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const pikkuCommandQueueMap: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuCommandQueueMap: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const pikkuQueueService: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuQueueService: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const pikkuQueueTypes: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuQueueTypes: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const pikkuCommandQueue: import("#pikku").PikkuFunctionConfig<void, boolean | undefined, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean | undefined, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<void, boolean | undefined, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuCommandQueue: import("#pikku").PikkuFunctionConfig<void, boolean | undefined, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean | undefined, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, boolean | undefined, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const pikkuQueueMap: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuQueueMap: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const pikkuQueue: import("#pikku").PikkuFunctionConfig<void, boolean, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<void, boolean, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuQueue: import("#pikku").PikkuFunctionConfig<void, boolean, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, boolean, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const pikkuEventsScaffold: import("#pikku").PikkuFunctionConfig<void, boolean, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<void, boolean, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuEventsScaffold: import("#pikku").PikkuFunctionConfig<void, boolean, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, boolean, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const pikkuRealtime: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuRealtime: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
@@ -2,6 +2,6 @@ export declare const pikkuRoles: import("#pikku").PikkuFunctionConfig<{
2
2
  bootstrap?: boolean;
3
3
  }, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{
4
4
  bootstrap?: boolean;
5
- }, void, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<{
5
+ }, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<{
6
6
  bootstrap?: boolean;
7
7
  }, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const pikkuPublicRPC: import("#pikku").PikkuFunctionConfig<void, boolean, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<void, boolean, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuPublicRPC: import("#pikku").PikkuFunctionConfig<void, boolean, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, boolean, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const pikkuReactQuery: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuReactQuery: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const pikkuRemoteRPC: import("#pikku").PikkuFunctionConfig<void, boolean, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<void, boolean, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuRemoteRPC: import("#pikku").PikkuFunctionConfig<void, boolean, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, boolean, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const pikkuRPCClient: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuRPCClient: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
@@ -1,7 +1,7 @@
1
- export declare const pikkuRPCInternalMap: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
2
- export declare const pikkuRPCExposedMap: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuRPCInternalMap: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
2
+ export declare const pikkuRPCExposedMap: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
3
3
  /**
4
4
  * The `remote: true` surface — what a `wireRemoteAddon` consumer imports.
5
5
  * Mirrors the exposed map but is fed from `rpc.remoteMeta`.
6
6
  */
7
- export declare const pikkuRPCRemoteMap: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
7
+ export declare const pikkuRPCRemoteMap: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
@@ -1,2 +1,2 @@
1
1
  export declare function filterInternalRPCMeta(internalMeta: Record<string, string>, functionsMeta: Record<string, unknown>): Record<string, string>;
2
- export declare const pikkuRPC: import("#pikku").PikkuFunctionConfig<void, boolean, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<void, boolean, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
2
+ export declare const pikkuRPC: import("#pikku").PikkuFunctionConfig<void, boolean, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, boolean, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
@@ -32,7 +32,7 @@ export const pikkuRPC = pikkuSessionlessFunc({
32
32
  ? `import metaData from '${jsonImportPath}' with { type: 'json' }`
33
33
  : `import metaData from '${jsonImportPath}'`;
34
34
  const packageNameArg = config.addonName ? `'${config.addonName}'` : 'null';
35
- await writeFileInDir(logger, rpcInternalWiringMetaFile, `import { pikkuState } from '@pikku/core/internal'\n${importStatement}\npikkuState(${packageNameArg}, 'rpc', 'meta', metaData as Record<string, string>)`);
35
+ await writeFileInDir(logger, rpcInternalWiringMetaFile, `import { pikkuState } from '@pikku/core/ecosystem'\n${importStatement}\npikkuState(${packageNameArg}, 'rpc', 'meta', metaData as Record<string, string>)`);
36
36
  return true;
37
37
  }
38
38
  return false;
@@ -59,12 +59,7 @@ ${generateAddonAgentImports(wireAddonDeclarations)}
59
59
  ${generateMergedAgentMap(wireAddonDeclarations)}
60
60
 
61
61
  import type { PikkuRPC } from '@pikku/core/rpc'
62
-
63
- interface AIAgentInput {
64
- message: string
65
- threadId: string
66
- resourceId: string
67
- }
62
+ import type { AIAgentInput } from '@pikku/core/ai-agent'
68
63
 
69
64
  export type TypedStartWorkflow = <Name extends keyof FlattenedWorkflowMap>(
70
65
  name: Name,
@@ -1,8 +1,9 @@
1
1
  import { readFile } from 'node:fs/promises';
2
2
  import { join } from 'node:path';
3
3
  import { addFunction } from '@pikku/core/function';
4
- import { pikkuState } from '@pikku/core/internal';
4
+ import { pikkuState } from '@pikku/core/ecosystem';
5
5
  import { getStubTracker, isTestRun, } from '@pikku/core/services';
6
+ import { enableScoreSnapshots, getScoreSnapshot, gradeRun as coreGradeRun, } from '@pikku/core/ai-scorer';
6
7
  /**
7
8
  * The instrumentation `pikku scenario run` calls on the server under test:
8
9
  * snapshot/reset live coverage, and reset/read recorded stub calls.
@@ -52,6 +53,26 @@ const resetStubs = {
52
53
  const getStubCalls = {
53
54
  func: async (_services, data) => getStubTracker().getCalls(data?.service ?? undefined),
54
55
  };
56
+ /**
57
+ * Grade a finished agent run on demand, from the snapshot the runtime kept.
58
+ *
59
+ * Deliberately not sampled and not persisted: a scenario asserting on a grade
60
+ * needs that grade every time, and the assertion is the outcome — writing a
61
+ * test's score alongside production's would make the live figures unreadable.
62
+ */
63
+ const gradeRun = {
64
+ func: async (services, data) => {
65
+ const run = getScoreSnapshot(data.runId);
66
+ if (!run) {
67
+ throw new Error(`No finished run '${data.runId}' is available to grade. A run is gradeable only from the server that produced it, and only while it is among the most recent — check the scenario graded the run it just triggered.`);
68
+ }
69
+ return await coreGradeRun({
70
+ ...run,
71
+ ...(data.reference !== undefined ? { reference: data.reference } : {}),
72
+ scorerName: data.scorer,
73
+ }, services, { persist: false });
74
+ },
75
+ };
55
76
  const instrumentation = {
56
77
  pikkuScenarioTakeLiveCoverage: {
57
78
  ...takeLiveCoverage,
@@ -73,6 +94,11 @@ const instrumentation = {
73
94
  title: 'Get Stub Calls',
74
95
  description: 'Returns calls recorded against stubbed/spied services (via the stub()/spy() core utils). Empty unless the server records service calls (pikku dev --test).',
75
96
  },
97
+ pikkuScenarioGradeRun: {
98
+ ...gradeRun,
99
+ title: 'Grade Run',
100
+ description: "Runs one declared scorer against a finished agent run and returns the grade, ignoring the scorer's live sample rate. Accepts a reference answer, which is the only way a reference-based judge is reachable. The grade is returned, never recorded.",
101
+ },
76
102
  };
77
103
  /**
78
104
  * Register the instrumentation into the running dev server's state, so the
@@ -85,6 +111,10 @@ const instrumentation = {
85
111
  */
86
112
  export const registerScenarioInstrumentation = (requireAuth) => {
87
113
  const meta = pikkuState(null, 'function', 'meta');
114
+ // Retaining finished runs is what makes them gradeable, and this is the only
115
+ // place that can grade one — so the buffer is turned on here rather than by a
116
+ // flag someone has to remember, and stays absent from every other process.
117
+ enableScoreSnapshots();
88
118
  for (const [name, { func, title, description }] of Object.entries(instrumentation)) {
89
119
  addFunction(name, { func, auth: requireAuth });
90
120
  meta[name] = {
@@ -23,7 +23,7 @@ export const serializeScenarioWorkflowMeta = (outputPath, metaDir, appMetaImport
23
23
  const metaEntries = sortedNames
24
24
  .map((name) => ` '${name}': ${sanitizeTypeName(name)}Meta,`)
25
25
  .join('\n');
26
- return `import { pikkuState } from '@pikku/core/internal'
26
+ return `import { pikkuState } from '@pikku/core/ecosystem'
27
27
  import type { WorkflowsRuntimeMeta } from '@pikku/core/workflow/types'
28
28
  import '${appMetaImportPath}'
29
29
  ${imports ? `\n${imports}\n` : ''}
@@ -44,7 +44,7 @@ export const serializeScenarioFunctionMeta = (jsonImportPath, appMetaImportPath,
44
44
  const importStatement = supportsImportAttributes
45
45
  ? `import metaData from '${jsonImportPath}' with { type: 'json' }`
46
46
  : `import metaData from '${jsonImportPath}'`;
47
- return `import { pikkuState } from '@pikku/core/internal'
47
+ return `import { pikkuState } from '@pikku/core/ecosystem'
48
48
  import type { FunctionsMeta } from '@pikku/core'
49
49
  import '${appMetaImportPath}'
50
50
  ${importStatement}
@@ -1 +1 @@
1
- export declare const pikkuSchedulerTypes: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuSchedulerTypes: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const pikkuScheduler: import("#pikku").PikkuFunctionConfig<void, boolean | undefined, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean | undefined, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<void, boolean | undefined, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuScheduler: import("#pikku").PikkuFunctionConfig<void, boolean | undefined, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean | undefined, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, boolean | undefined, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
@@ -2,6 +2,6 @@ export declare const pikkuScopes: import("#pikku").PikkuFunctionConfig<{
2
2
  bootstrap?: boolean;
3
3
  }, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{
4
4
  bootstrap?: boolean;
5
- }, void, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<{
5
+ }, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<{
6
6
  bootstrap?: boolean;
7
7
  }, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const pikkuSecrets: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuSecrets: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
@@ -2,6 +2,6 @@ export declare const pikkuTriggerTypes: import("#pikku").PikkuFunctionConfig<{
2
2
  bootstrap?: boolean;
3
3
  }, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{
4
4
  bootstrap?: boolean;
5
- }, void, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<{
5
+ }, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<{
6
6
  bootstrap?: boolean;
7
7
  }, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const pikkuTrigger: import("#pikku").PikkuFunctionConfig<void, boolean | undefined, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean | undefined, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<void, boolean | undefined, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuTrigger: import("#pikku").PikkuFunctionConfig<void, boolean | undefined, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean | undefined, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, boolean | undefined, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
@@ -6,7 +6,7 @@ export const serializeTriggerMetaTS = (triggerMeta, jsonImportPath, supportsImpo
6
6
  ? `import metaData from '${jsonImportPath}' with { type: 'json' }`
7
7
  : `import metaData from '${jsonImportPath}'`;
8
8
  const serializedOutput = [];
9
- serializedOutput.push("import { pikkuState } from '@pikku/core/internal'");
9
+ serializedOutput.push("import { pikkuState } from '@pikku/core/ecosystem'");
10
10
  serializedOutput.push("import { TriggerMeta } from '@pikku/core/trigger'");
11
11
  serializedOutput.push(importStatement);
12
12
  serializedOutput.push('');
@@ -26,7 +26,7 @@ export const serializeTriggerSourceMetaTS = (sourceMeta, jsonImportPath, support
26
26
  ? `import metaData from '${jsonImportPath}' with { type: 'json' }`
27
27
  : `import metaData from '${jsonImportPath}'`;
28
28
  const serializedOutput = [];
29
- serializedOutput.push("import { pikkuState } from '@pikku/core/internal'");
29
+ serializedOutput.push("import { pikkuState } from '@pikku/core/ecosystem'");
30
30
  serializedOutput.push("import { TriggerSourceMeta } from '@pikku/core/trigger'");
31
31
  serializedOutput.push(importStatement);
32
32
  serializedOutput.push('');
@@ -1 +1 @@
1
- export declare const pikkuUserAdminFunctions: import("#pikku").PikkuFunctionConfig<void, boolean, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<void, boolean, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuUserAdminFunctions: import("#pikku").PikkuFunctionConfig<void, boolean, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, boolean, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const pikkuVariables: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuVariables: import("#pikku").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const pikkuVirtualUserFunctions: import("#pikku").PikkuFunctionConfig<void, boolean, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<void, boolean, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuVirtualUserFunctions: import("#pikku").PikkuFunctionConfig<void, boolean, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, boolean, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const pikkuWebhook: import("#pikku").PikkuFunctionConfig<void, boolean, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<void, boolean, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuWebhook: import("#pikku").PikkuFunctionConfig<void, boolean, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, boolean, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
@@ -1 +1 @@
1
- export declare const pikkuWorkflowRoutes: import("#pikku").PikkuFunctionConfig<void, boolean, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean, "rpc" | "session", import("#pikku").WiredServices> | import("#pikku").PikkuFunction<void, boolean, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
1
+ export declare const pikkuWorkflowRoutes: import("#pikku").PikkuFunctionConfig<void, boolean, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<void, boolean, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<void, boolean, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;