@pikku/cli 0.12.110 → 0.12.112
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +271 -0
- package/console-app/assets/{abnfDiagram-N423BO3Z-Bz2Ycfpe.js → abnfDiagram-N423BO3Z-Bltf5dmS.js} +1 -1
- package/console-app/assets/architecture-TIHT7OUA-DgRqRaqo.js +1 -0
- package/console-app/assets/{architectureDiagram-T3A2C74G-CvAkxhy0.js → architectureDiagram-T3A2C74G-BTtx6R7-.js} +1 -1
- package/console-app/assets/{blockDiagram-VBNYF7ZC-CuVOo2PB.js → blockDiagram-VBNYF7ZC-DgeTIOaM.js} +1 -1
- package/console-app/assets/{c4Diagram-5PPSVZJV-4Vg8SxCa.js → c4Diagram-5PPSVZJV-CaswnNob.js} +1 -1
- package/console-app/assets/channel-37lNznWk.js +1 -0
- package/console-app/assets/{chunk-2GRJ4B5K-CKKR4_dC.js → chunk-2GRJ4B5K-OnpnkpQT.js} +1 -1
- package/console-app/assets/{chunk-4I5QYGJK-C-m_kVjm.js → chunk-4I5QYGJK-CWmfNXFr.js} +1 -1
- package/console-app/assets/{chunk-5RXB4S5H-CyUGtd0h.js → chunk-5RXB4S5H-M8QmKeuk.js} +1 -1
- package/console-app/assets/{chunk-6Q2QTUOP-BuzItInf.js → chunk-6Q2QTUOP-C_h5lS68.js} +1 -1
- package/console-app/assets/{chunk-7Z6QIM7H-BGiBPuWt.js → chunk-7Z6QIM7H-DSnVb09k.js} +1 -1
- package/console-app/assets/{chunk-GF5L2VYU-D8jaliB9.js → chunk-GF5L2VYU-BkX038sq.js} +1 -1
- package/console-app/assets/{chunk-I66GZJ75-C-Lq_UXl.js → chunk-I66GZJ75-b3yMIljX.js} +1 -1
- package/console-app/assets/{chunk-JQJVKLGR-D7viK-tf.js → chunk-JQJVKLGR-Bihcz4nv.js} +1 -1
- package/console-app/assets/{chunk-KBJHAD2P-BS9N9gG4.js → chunk-KBJHAD2P-CS7eflbk.js} +1 -1
- package/console-app/assets/{chunk-NSK5VX7P-Fi_H0vaS.js → chunk-NSK5VX7P-CfigFGDQ.js} +1 -1
- package/console-app/assets/{chunk-QR6OTTB3-BJdg-tcL.js → chunk-QR6OTTB3-BBy8NfTW.js} +1 -1
- package/console-app/assets/{chunk-RYQCIY6F-CVbGA6YZ.js → chunk-RYQCIY6F-BCfZVQef.js} +1 -1
- package/console-app/assets/{chunk-UBXNYLIW-BF-sAqEK.js → chunk-UBXNYLIW-DkMKDHW4.js} +1 -1
- package/console-app/assets/{chunk-W5SLKNZC-CXrJJ0BX.js → chunk-W5SLKNZC-BSLytTSJ.js} +1 -1
- package/console-app/assets/{chunk-WRU74C26-CGzysGBy.js → chunk-WRU74C26-Dic7ZP8H.js} +1 -1
- package/console-app/assets/chunk-XXDRQBXY-B1prMCvW.js +1 -0
- package/console-app/assets/classDiagram-JCYQIIEL-BDCX9ZLm.js +1 -0
- package/console-app/assets/classDiagram-v2-OCEON4UE-BDCX9ZLm.js +1 -0
- package/console-app/assets/{cose-bilkent-JH36ORCC-BvFZIDHb.js → cose-bilkent-JH36ORCC-CEpWcE3M.js} +1 -1
- package/console-app/assets/{cynefin-VYW2F7L2-DRQ8xGmN.js → cynefin-VYW2F7L2-irPiPhgz.js} +1 -1
- package/console-app/assets/{cynefinDiagram-MW4NZA55-BwxQ4C1z.js → cynefinDiagram-MW4NZA55-CIkqQ912.js} +1 -1
- package/console-app/assets/{dagre-J22zmNeE.js → dagre-FZyyw3H3.js} +1 -1
- package/console-app/assets/{dagre-VZM6K2ZE-DPtUyvjD.js → dagre-VZM6K2ZE-Dxnnu7Rh.js} +1 -1
- package/console-app/assets/{diagram-7IWD3JNH-DGAzJ2Ln.js → diagram-7IWD3JNH-DaT47sVs.js} +1 -1
- package/console-app/assets/{diagram-B4RE2ZJO-D14cIfto.js → diagram-B4RE2ZJO-Dmht03tx.js} +1 -1
- package/console-app/assets/{diagram-LBJQPF4R-CUscJ_pO.js → diagram-LBJQPF4R-B--jwILh.js} +1 -1
- package/console-app/assets/{diagram-Q27KOJAE-CehBHMt3.js → diagram-Q27KOJAE-D9H0euUr.js} +1 -1
- package/console-app/assets/{diagram-UB23O5K3-BvazI_qH.js → diagram-UB23O5K3-DloUQ8tO.js} +1 -1
- package/console-app/assets/{ebnfDiagram-BXEA7PRR-CBZPYFwZ.js → ebnfDiagram-BXEA7PRR-gaOXzNBU.js} +1 -1
- package/console-app/assets/{erDiagram-JOGREHBK-BN3FevvT.js → erDiagram-JOGREHBK-3X9eTLsh.js} +1 -1
- package/console-app/assets/eventmodeling-45OFAUF4-BarrKD55.js +1 -0
- package/console-app/assets/flowDiagram-UKHOOZJN-B6RiRjcD.js +1 -0
- package/console-app/assets/{ganttDiagram-PKOTCBZU-03mWH2kB.js → ganttDiagram-PKOTCBZU-khAFwSBy.js} +1 -1
- package/console-app/assets/{gitGraph-TEB2WS4Q-By2486wn.js → gitGraph-TEB2WS4Q-Bb7uENmk.js} +1 -1
- package/console-app/assets/{gitGraphDiagram-DS77QQ5N-CCzKPRBJ.js → gitGraphDiagram-DS77QQ5N-OkSBM0h0.js} +1 -1
- package/console-app/assets/{index-snBzz_U8.js → index-Bn1BoT3w.js} +184 -184
- package/console-app/assets/{info-DKCQHKI2-C_vsavqC.js → info-DKCQHKI2-BH5dbX2B.js} +1 -1
- package/console-app/assets/{infoDiagram-6WML65LV-BKvU8du7.js → infoDiagram-6WML65LV-IbUl8J2C.js} +1 -1
- package/console-app/assets/{ishikawaDiagram-WSZJBQD7-CnF0qm0n.js → ishikawaDiagram-WSZJBQD7-CX0gA3de.js} +1 -1
- package/console-app/assets/{journeyDiagram-NVQOT4AX-DxKe9OZ7.js → journeyDiagram-NVQOT4AX--k2etXu8.js} +1 -1
- package/console-app/assets/{kanban-definition-27J2QSJJ-CB8lgPxU.js → kanban-definition-27J2QSJJ-D1FvtPpN.js} +1 -1
- package/console-app/assets/{line-DFNLso1I.js → line-JLMY_DDK.js} +1 -1
- package/console-app/assets/{linear-D1cspVtk.js → linear-CSvLB3cd.js} +1 -1
- package/console-app/assets/{mermaid-parser.core-BtmN233C.js → mermaid-parser.core-CwwjcAjz.js} +3 -3
- package/console-app/assets/{mermaid.core-37H5_HoB.js → mermaid.core-hmS_M4K5.js} +4 -4
- package/console-app/assets/{mindmap-definition-FAOFIHXS-Czf82JOB.js → mindmap-definition-FAOFIHXS-rTDa_CTp.js} +1 -1
- package/console-app/assets/{packet-7NZHBO7P-CErYxAQM.js → packet-7NZHBO7P-DBUJcYfI.js} +1 -1
- package/console-app/assets/{pegDiagram-VL7TDLO6-CRKX6HOt.js → pegDiagram-VL7TDLO6-D42PxXnS.js} +1 -1
- package/console-app/assets/{pie-RZYD4A2V-YmMmh6Nq.js → pie-RZYD4A2V-dM0uFAE4.js} +1 -1
- package/console-app/assets/{pieDiagram-7S7Q4E2Y-Cot0Fu5q.js → pieDiagram-7S7Q4E2Y-wCln1ucl.js} +1 -1
- package/console-app/assets/{quadrantDiagram-CIZ2JOQS-DPEonVYT.js → quadrantDiagram-CIZ2JOQS-DrRwS1g5.js} +1 -1
- package/console-app/assets/{radar-I7S5WNFK-Pf_KiQJM.js → radar-I7S5WNFK-BW0V-EGR.js} +1 -1
- package/console-app/assets/{railroad-3IZDKUUU-BYoOMoQY.js → railroad-3IZDKUUU-FiTHaDbb.js} +1 -1
- package/console-app/assets/railroad-abnf-AHOZXSZD-lmUjOixE.js +1 -0
- package/console-app/assets/railroad-ebnf-EBAXGLYW-ZjdA7OHp.js +1 -0
- package/console-app/assets/railroad-peg-LSFZ7HO6-VHSlvwI8.js +1 -0
- package/console-app/assets/{railroadDiagram-AXF67PYL-Di8N9tHD.js → railroadDiagram-AXF67PYL-9ef7j5U7.js} +1 -1
- package/console-app/assets/{requirementDiagram-LRYGKXZP-2yZZ753q.js → requirementDiagram-LRYGKXZP-Cu90DbEZ.js} +1 -1
- package/console-app/assets/{sankeyDiagram-W5VNT64P-BwYA-xq1.js → sankeyDiagram-W5VNT64P-Bhxmyxaw.js} +1 -1
- package/console-app/assets/{sequenceDiagram-SI44F4Z6-odIxlx8J.js → sequenceDiagram-SI44F4Z6-CBsbRTz8.js} +1 -1
- package/console-app/assets/{src-CxJwpjvz.js → src-BR8qR3lM.js} +1 -1
- package/console-app/assets/{stateDiagram-OKZ733FA-Du2S0qU9.js → stateDiagram-OKZ733FA-Dr0frETZ.js} +1 -1
- package/console-app/assets/stateDiagram-v2-UEYNNEHI-BSXWhCvf.js +1 -0
- package/console-app/assets/{swimlanes-SLNWSIFB-JZ3swzI2.js → swimlanes-SLNWSIFB-CXMjvd_a.js} +1 -1
- package/console-app/assets/swimlanesDiagram-ULZ7WXOC-BUdsPDKC.js +8 -0
- package/console-app/assets/{timeline-definition-Z64GVDOM-CsppAEWi.js → timeline-definition-Z64GVDOM-DpmEZPV0.js} +1 -1
- package/console-app/assets/{treeView-QDETBFTQ-DkkO8peQ.js → treeView-QDETBFTQ-CjmuinMk.js} +1 -1
- package/console-app/assets/{treemap-6X3UGDF4-hjLkPCJI.js → treemap-6X3UGDF4-BP_fU6Cn.js} +1 -1
- package/console-app/assets/{vennDiagram-T6HMQDX7-BOfgM1xp.js → vennDiagram-T6HMQDX7-DgZS7iuW.js} +1 -1
- package/console-app/assets/{wardley-OPB4EBWU-C5ZtGfBa.js → wardley-OPB4EBWU-CgMPoouN.js} +1 -1
- package/console-app/assets/{wardleyDiagram-T6FBY63Y-ymf3Vm6A.js → wardleyDiagram-T6FBY63Y-6y-xxP1R.js} +1 -1
- package/console-app/assets/{xychartDiagram-ELKLHX3M-DdxXIoKz.js → xychartDiagram-ELKLHX3M-DOeIQjYI.js} +1 -1
- package/console-app/index.html +1 -1
- package/dist/.pikku/addon/index.d.ts +1 -1
- package/dist/.pikku/addon/index.js +1 -1
- package/dist/.pikku/addon/pikku-addon-types.gen.d.ts +1 -1
- package/dist/.pikku/addon/pikku-addon-types.gen.js +1 -1
- package/dist/.pikku/agent/index.d.ts +1 -1
- package/dist/.pikku/agent/index.js +1 -1
- package/dist/.pikku/agent/pikku-agent-types.gen.d.ts +1 -1
- package/dist/.pikku/agent/pikku-model-aliases.gen.js +1 -1
- package/dist/.pikku/auth/index.d.ts +1 -1
- package/dist/.pikku/auth/index.js +1 -1
- package/dist/.pikku/auth/pikku-auth-types.gen.d.ts +9 -2
- package/dist/.pikku/auth/pikku-auth-types.gen.js +1 -1
- package/dist/.pikku/channel/index.d.ts +1 -1
- package/dist/.pikku/channel/index.js +1 -1
- package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +1 -1
- package/dist/.pikku/channel/pikku-channel-types.gen.js +1 -1
- package/dist/.pikku/cli/index.d.ts +1 -1
- package/dist/.pikku/cli/index.js +1 -1
- package/dist/.pikku/cli/pikku-cli-channel.js +1 -1
- package/dist/.pikku/cli/pikku-cli-client.gen.d.ts +1 -1
- package/dist/.pikku/cli/pikku-cli-client.gen.js +1 -1
- package/dist/.pikku/cli/pikku-cli-contracts-meta.gen.d.ts +1 -1
- package/dist/.pikku/cli/pikku-cli-contracts-meta.gen.js +1 -1
- package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +1 -1
- package/dist/.pikku/cli/pikku-cli-types.gen.js +1 -1
- package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +1 -1
- package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +1 -1
- package/dist/.pikku/cli/pikku-cli-wirings.gen.js +1 -1
- package/dist/.pikku/cli/pikku-cli.gen.d.ts +1 -1
- package/dist/.pikku/cli/pikku-cli.gen.js +1 -1
- package/dist/.pikku/error/index.d.ts +1 -1
- package/dist/.pikku/error/index.js +1 -1
- package/dist/.pikku/error/pikku-error-types.gen.d.ts +1 -1
- package/dist/.pikku/error/pikku-error-types.gen.js +1 -1
- package/dist/.pikku/function/index.d.ts +1 -1
- package/dist/.pikku/function/index.js +1 -1
- package/dist/.pikku/function/pikku-function-types.gen.d.ts +12 -2
- package/dist/.pikku/function/pikku-function-types.gen.js +1 -1
- package/dist/.pikku/function/pikku-functions-meta.gen.js +1 -1
- package/dist/.pikku/function/pikku-functions-meta.gen.json +3 -3
- package/dist/.pikku/function/pikku-functions.gen.js +1 -1
- package/dist/.pikku/gateway/index.d.ts +1 -1
- package/dist/.pikku/gateway/index.js +1 -1
- package/dist/.pikku/gateway/pikku-gateway-types.gen.d.ts +1 -1
- package/dist/.pikku/gateway/pikku-gateway-types.gen.js +1 -1
- package/dist/.pikku/http/index.d.ts +1 -1
- package/dist/.pikku/http/index.js +1 -1
- package/dist/.pikku/http/pikku-http-types.gen.d.ts +1 -1
- package/dist/.pikku/http/pikku-http-types.gen.js +1 -1
- package/dist/.pikku/mcp/index.d.ts +1 -1
- package/dist/.pikku/mcp/index.js +1 -1
- package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +1 -1
- package/dist/.pikku/mcp/pikku-mcp-types.gen.js +1 -1
- package/dist/.pikku/middleware/index.d.ts +1 -1
- package/dist/.pikku/middleware/index.js +1 -1
- package/dist/.pikku/middleware/pikku-middleware-types.gen.d.ts +9 -2
- package/dist/.pikku/middleware/pikku-middleware-types.gen.js +1 -1
- package/dist/.pikku/pikku-bootstrap-scenarios.gen.d.ts +1 -1
- package/dist/.pikku/pikku-bootstrap-scenarios.gen.js +1 -1
- package/dist/.pikku/pikku-bootstrap.gen.d.ts +1 -1
- package/dist/.pikku/pikku-bootstrap.gen.js +1 -1
- package/dist/.pikku/pikku-services.gen.d.ts +2 -1
- package/dist/.pikku/pikku-services.gen.js +1 -0
- package/dist/.pikku/queue/index.d.ts +1 -1
- package/dist/.pikku/queue/index.js +1 -1
- package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +1 -1
- package/dist/.pikku/queue/pikku-queue-types.gen.js +1 -1
- package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +1 -1
- package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.d.ts +1 -1
- package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.js +1 -1
- package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +1 -1
- package/dist/.pikku/scenarios/index.d.ts +1 -1
- package/dist/.pikku/scenarios/index.js +1 -1
- package/dist/.pikku/scenarios/pikku-personas.gen.js +1 -1
- package/dist/.pikku/scenarios/pikku-scenario-functions-meta.gen.js +1 -1
- package/dist/.pikku/scenarios/pikku-scenario-functions.gen.d.ts +1 -1
- package/dist/.pikku/scenarios/pikku-scenario-types.gen.d.ts +1 -1
- package/dist/.pikku/scenarios/pikku-scenario-wirings-meta.gen.js +1 -1
- package/dist/.pikku/scenarios/pikku-scenario-wirings.gen.d.ts +1 -1
- package/dist/.pikku/scenarios/schemas/register.gen.d.ts +1 -1
- package/dist/.pikku/scenarios/schemas/register.gen.js +1 -1
- package/dist/.pikku/scheduler/index.d.ts +1 -1
- package/dist/.pikku/scheduler/index.js +1 -1
- package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
- package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +1 -1
- package/dist/.pikku/schemas/register.gen.js +1 -1
- package/dist/.pikku/scopes/index.d.ts +1 -1
- package/dist/.pikku/scopes/index.js +1 -1
- package/dist/.pikku/scopes/pikku-personas.gen.js +1 -1
- package/dist/.pikku/scopes/pikku-roles.gen.d.ts +1 -1
- package/dist/.pikku/scopes/pikku-scope-types.gen.d.ts +1 -1
- package/dist/.pikku/scopes/pikku-scope-types.gen.js +1 -1
- package/dist/.pikku/scopes/pikku-scopes.gen.d.ts +1 -1
- package/dist/.pikku/secrets/index.d.ts +1 -1
- package/dist/.pikku/secrets/index.js +1 -1
- package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +1 -1
- package/dist/.pikku/secrets/pikku-secret-types.gen.js +1 -1
- package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +1 -1
- package/dist/.pikku/secrets/pikku-secrets.gen.js +1 -1
- package/dist/.pikku/services/pikku-meta-service.gen.d.ts +1 -1
- package/dist/.pikku/services/pikku-meta-service.gen.js +1 -1
- package/dist/.pikku/setup/index.d.ts +1 -1
- package/dist/.pikku/setup/index.js +1 -1
- package/dist/.pikku/setup/pikku-setup-types.gen.d.ts +1 -1
- package/dist/.pikku/setup/pikku-setup-types.gen.js +1 -1
- package/dist/.pikku/trigger/index.d.ts +1 -1
- package/dist/.pikku/trigger/index.js +1 -1
- package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +1 -1
- package/dist/.pikku/trigger/pikku-trigger-types.gen.js +1 -1
- package/dist/.pikku/variables/index.d.ts +1 -1
- package/dist/.pikku/variables/index.js +1 -1
- package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +1 -1
- package/dist/.pikku/variables/pikku-variable-types.gen.js +1 -1
- package/dist/.pikku/variables/pikku-variables.gen.d.ts +1 -1
- package/dist/.pikku/variables/pikku-variables.gen.js +1 -1
- package/dist/.pikku/workflow/index.d.ts +1 -1
- package/dist/.pikku/workflow/index.js +1 -1
- package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +1 -1
- package/dist/.pikku/workflow/pikku-workflow-types.gen.js +1 -1
- package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +1 -1
- package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +1 -1
- package/dist/bin/pikku-bin.mjs +2 -2
- package/dist/src/deploy/analyzer/analyzer.d.ts +1 -1
- package/dist/src/deploy/analyzer/index.d.ts +0 -1
- package/dist/src/deploy/build-pipeline.d.ts +2 -2
- package/dist/src/deploy/bundler/types.d.ts +1 -1
- package/dist/src/deploy/codegen/per-unit-codegen.d.ts +1 -1
- package/dist/src/deploy/plan/executor.d.ts +1 -1
- package/dist/src/deploy/plan/planner.d.ts +1 -1
- package/dist/src/deploy/plan/provider.d.ts +1 -1
- package/dist/src/deploy/server-entry.d.ts +1 -1
- package/dist/src/fabric/fabric-commands.d.ts +3 -3
- package/dist/src/fabric/functions/llm-key.function.d.ts +4 -4
- package/dist/src/functions/commands/db-generate.js +1 -1
- package/dist/src/functions/commands/deploy-apply.d.ts +1 -1
- package/dist/src/functions/commands/new-addon.js +14 -12
- package/dist/src/functions/commands/persona.js +6 -0
- package/dist/src/functions/db/better-auth-schema.js +5 -0
- package/dist/src/functions/db/local-db.d.ts +11 -3
- package/dist/src/functions/db/local-db.js +17 -8
- package/dist/src/functions/wirings/auth/serialize-auth-guards.d.ts +1 -1
- package/dist/src/functions/wirings/auth/serialize-auth-guards.js +9 -2
- package/dist/src/functions/wirings/functions/pikku-command-function-types-split.js +2 -2
- package/dist/src/functions/wirings/functions/serialize-function-types.js +11 -1
- package/dist/src/functions/wirings/middleware/serialize-middleware-types.d.ts +1 -1
- package/dist/src/functions/wirings/middleware/serialize-middleware-types.js +10 -2
- package/dist/src/functions/wirings/virtual-user/serialize-virtual-user-functions.js +485 -102
- package/dist/src/utils/pikku-cli-config-error.d.ts +9 -0
- package/dist/src/utils/pikku-cli-config-error.js +9 -0
- package/dist/src/utils/pikku-cli-config.d.ts +2 -3
- package/dist/src/utils/pikku-cli-config.js +2 -3
- package/dist/src/utils/resolve-scaffold-feature.d.ts +6 -0
- package/dist/src/utils/resolve-scaffold-feature.js +22 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -7
- package/surface.json +4 -26
- package/console-app/assets/architecture-TIHT7OUA-5QhJKy4P.js +0 -1
- package/console-app/assets/channel-DoE3nnYB.js +0 -1
- package/console-app/assets/chunk-XXDRQBXY-BDALKVU4.js +0 -1
- package/console-app/assets/classDiagram-JCYQIIEL-BgrrHQtN.js +0 -1
- package/console-app/assets/classDiagram-v2-OCEON4UE-BgrrHQtN.js +0 -1
- package/console-app/assets/eventmodeling-45OFAUF4-D2SxzJUl.js +0 -1
- package/console-app/assets/flowDiagram-UKHOOZJN-CQXuJ0z2.js +0 -1
- package/console-app/assets/railroad-abnf-AHOZXSZD-CCRXsRRD.js +0 -1
- package/console-app/assets/railroad-ebnf-EBAXGLYW-DVRSVgn8.js +0 -1
- package/console-app/assets/railroad-peg-LSFZ7HO6-COUBoNH3.js +0 -1
- package/console-app/assets/stateDiagram-v2-UEYNNEHI-CTXOGDRR.js +0 -1
- package/console-app/assets/swimlanesDiagram-ULZ7WXOC-DRrggQgK.js +0 -8
- package/dist/src/deploy/analyzer/manifest.d.ts +0 -170
- package/dist/src/deploy/analyzer/manifest.js +0 -8
- package/dist/src/deploy/provider-adapter.d.ts +0 -176
- package/dist/src/deploy/provider-adapter.js +0 -10
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,274 @@
|
|
|
1
|
+
## 0.12.112
|
|
2
|
+
|
|
3
|
+
### Patch Changes
|
|
4
|
+
|
|
5
|
+
- 05e47cf: fix(persona): give `persona run` a singleton agent runner, so `talkTo` works
|
|
6
|
+
|
|
7
|
+
`pikku persona run` built a dev agent runner and handed it to the virtual-user
|
|
8
|
+
engine as `llm`, which covers the persona's own thinking and nothing else. The
|
|
9
|
+
`talkTo` tool does not go through that handle: `HttpPersona.converse` asks
|
|
10
|
+
`getSingletonServices()` for an `agentRunner`, and the CLI had never put one
|
|
11
|
+
there. So a persona whose scopes reached one of the app's agents threw
|
|
12
|
+
`AIProviderNotConfiguredError` on its first turn and took the whole run with
|
|
13
|
+
it, while the same project ran fine as a persona holding no agent scopes —
|
|
14
|
+
which reads as the app being broken for its privileged users rather than as a
|
|
15
|
+
missing wire in the runner.
|
|
16
|
+
|
|
17
|
+
The runner is now registered on the singleton services before the run starts.
|
|
18
|
+
Nothing else about the run changes; a project with no agents behaves exactly as
|
|
19
|
+
it did.
|
|
20
|
+
|
|
21
|
+
- 05e47cf: feat(virtual-user): make a run's history readable
|
|
22
|
+
|
|
23
|
+
There was no way to ask what the virtual users had been doing. The scaffold
|
|
24
|
+
generated a way to start a run and a way to read one back by id, and
|
|
25
|
+
`VirtualUserRunStore.list()` — which takes a persona filter — had no caller at
|
|
26
|
+
all. The console's Virtual Users screen was built entirely from static meta, so
|
|
27
|
+
it could say who a persona was and what they could reach, and nothing about
|
|
28
|
+
whether anybody had ever turned them loose.
|
|
29
|
+
|
|
30
|
+
The scaffold now also generates `listVirtualUserRuns` and
|
|
31
|
+
`getVirtualUserRunSteps`, both behind the existing `virtualUser:read` scope —
|
|
32
|
+
the transcript is strictly more sensitive than the summary it belongs to, since
|
|
33
|
+
it carries the live ids and payloads the run actually sent.
|
|
34
|
+
|
|
35
|
+
The console reads the same two things through the console addon
|
|
36
|
+
(`console:getVirtualUserRuns`, `console:getVirtualUserRunSteps`) off the host's
|
|
37
|
+
own `virtualUserRunStore`, under a new `pikku:console:virtualUsers:read` scope.
|
|
38
|
+
Going through the store rather than the scaffolded RPCs means a project's runs
|
|
39
|
+
show up whether or not it turned `scaffold.virtualUser` on — wiring the store is
|
|
40
|
+
all a run has ever needed. A host with no store answers with an empty list
|
|
41
|
+
rather than an error: it has no runs, which is a true answer.
|
|
42
|
+
|
|
43
|
+
Each persona now shows its recent runs under the declaration — status, when,
|
|
44
|
+
steps and mutations, findings, disposition and seed — and opening one fetches
|
|
45
|
+
its transcript. The steps are fetched only on open, because the history is read
|
|
46
|
+
far more often than any single run is.
|
|
47
|
+
|
|
48
|
+
- 05e47cf: feat(virtual-user): keep the transcript a run already produced
|
|
49
|
+
|
|
50
|
+
The engine returns `intents` and `steps` on every run — what the user set out
|
|
51
|
+
to do, and every turn it took getting there — and `VirtualUserRunOutcome` kept
|
|
52
|
+
neither. The record held counts and findings, so the one question anybody
|
|
53
|
+
actually asks of a completed run ("what did it _do_?") had no answer anywhere,
|
|
54
|
+
even though the answer had been computed and thrown away a moment earlier.
|
|
55
|
+
|
|
56
|
+
`VirtualUserRunOutcome` now carries both, and `VirtualUserRunStore` gains a
|
|
57
|
+
`steps(runId, options?)` read. Intents ride on the run record: there are a
|
|
58
|
+
handful of them and every read of the run wants them. Steps get their own
|
|
59
|
+
`virtualUserRunStep` table, because a run at a 500-step budget carries more
|
|
60
|
+
transcript than every other column together and `list()` would pay for it on
|
|
61
|
+
every row.
|
|
62
|
+
|
|
63
|
+
Three things the kysely store had to get right, all of them driver differences
|
|
64
|
+
rather than design:
|
|
65
|
+
|
|
66
|
+
- steps are inserted in chunks of 50, because a bare sqlite driver binds at
|
|
67
|
+
most 999 variables per statement and ten columns times a 500-step budget is
|
|
68
|
+
five thousand — an un-chunked insert fails on long runs, which are the
|
|
69
|
+
interesting ones;
|
|
70
|
+
- `ok` is stored as 0 or 1, since a bare driver cannot bind a boolean at all
|
|
71
|
+
and `SerializePlugin` is not installed everywhere;
|
|
72
|
+
- `response` is stored JSON-encoded, because a truncated API response usually
|
|
73
|
+
starts with a brace and `SerializePlugin` would otherwise read it back as an
|
|
74
|
+
object rather than the string the engine saw.
|
|
75
|
+
|
|
76
|
+
Completing a run that does not exist no longer writes steps: there is no
|
|
77
|
+
foreign key to refuse them and nothing would ever read or reap them.
|
|
78
|
+
|
|
79
|
+
**This adds a table to the `virtualUser` schema**, and the runtime creates
|
|
80
|
+
nothing: a database that already has `virtualUserRun` gets the store's own
|
|
81
|
+
refusal at startup until `pikku db generate` writes the migration and
|
|
82
|
+
`pikku db migrate` applies it. Landing it now costs nothing, because
|
|
83
|
+
`scaffold.virtualUser` is not yet switched on anywhere.
|
|
84
|
+
|
|
85
|
+
- 05e47cf: feat(virtual-user): put each persona on its own clock
|
|
86
|
+
|
|
87
|
+
A budget says where one run stops. Nothing said how often a persona should use
|
|
88
|
+
the application, so in practice each one ran whenever somebody remembered — and
|
|
89
|
+
what actually tells you about a product is the same user coming back over a
|
|
90
|
+
fortnight.
|
|
91
|
+
|
|
92
|
+
Each persona now gets a row rather than a bigger budget. `virtualUserSchedule`
|
|
93
|
+
holds `enabled`, the disposition and goals to run with, an interval **range**,
|
|
94
|
+
and `nextRunAt`. `tickVirtualUserSchedules` acts on whichever rows are due:
|
|
95
|
+
|
|
96
|
+
```ts
|
|
97
|
+
wireScheduler({
|
|
98
|
+
name: 'virtualUsers',
|
|
99
|
+
schedule: '0 * * * *',
|
|
100
|
+
func: tickVirtualUserSchedules,
|
|
101
|
+
})
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
The tick is generated and wired by nobody, deliberately. A scaffolded
|
|
105
|
+
`wireScheduler` would start spending an application's model budget the moment
|
|
106
|
+
somebody ran `pikku all`, on a host that may not run schedulers at all. Tick
|
|
107
|
+
resolution bounds how late a due persona is, never how often it runs.
|
|
108
|
+
|
|
109
|
+
Three things it does that are easy to leave out:
|
|
110
|
+
|
|
111
|
+
- The next due time is written **before** the run is dispatched, so a tick that
|
|
112
|
+
dies halfway cannot hand the same persona to the next one. A dispatch that
|
|
113
|
+
throws waits a full interval instead of retrying every minute for a week.
|
|
114
|
+
That write is a compare-and-set against the `nextRunAt` the tick read, so it
|
|
115
|
+
is also how a tick _wins_ the persona: two processes on the same cron see the
|
|
116
|
+
same due row, and only the one whose claim lands dispatches.
|
|
117
|
+
- A persona whose previous run is still `running` is skipped, not queued. Two
|
|
118
|
+
copies of the same user acting at once is a different test, and its findings
|
|
119
|
+
do not reproduce.
|
|
120
|
+
- A run still `running` after two hours is failed. Without that, one restart
|
|
121
|
+
mid-run blocks that persona's schedule permanently — which is where the
|
|
122
|
+
stranded-record cost of not using a queue finally gets paid.
|
|
123
|
+
|
|
124
|
+
Reschedule-on-completion was the other candidate and is worse in exactly one
|
|
125
|
+
way, fatally: a crash between finishing and scheduling ends the persona forever,
|
|
126
|
+
and the evidence is an absence.
|
|
127
|
+
|
|
128
|
+
New: `VirtualUserScheduleStore` in core (with the tick, `isDue` and `nextRunAt`
|
|
129
|
+
as pure functions), `KyselyVirtualUserScheduleStore` and its own schema —
|
|
130
|
+
its own rather than a third table in `virtualUserSchema`, and owned by its own
|
|
131
|
+
store, so a project that records runs and never wants them unattended carries no
|
|
132
|
+
cadence table. `scaffold.virtualUser` gains `setVirtualUserSchedule`,
|
|
133
|
+
`listVirtualUserSchedules` and the tick, behind a new `virtualUser:schedule`
|
|
134
|
+
scope: starting a run spends money once with a caller watching, while writing a
|
|
135
|
+
schedule spends it repeatedly with nobody there.
|
|
136
|
+
|
|
137
|
+
The console's Virtual Users screen gains a **Run now** button beside a persona's
|
|
138
|
+
run history, gated on `pikku:console:virtualUsers:run`. It dispatches the
|
|
139
|
+
project's own `runVirtualUser` rather than starting a run itself, so a run the
|
|
140
|
+
application would refuse — an acted-upon persona, a non-accountable disposition
|
|
141
|
+
in production — is still refused.
|
|
142
|
+
|
|
143
|
+
- Updated dependencies [3c0012c]
|
|
144
|
+
- Updated dependencies [05e47cf]
|
|
145
|
+
- Updated dependencies [cfd364a]
|
|
146
|
+
- Updated dependencies [05e47cf]
|
|
147
|
+
- Updated dependencies [05e47cf]
|
|
148
|
+
- Updated dependencies [05e47cf]
|
|
149
|
+
- @pikku/core@0.12.90
|
|
150
|
+
- @pikku/kysely@0.13.21
|
|
151
|
+
|
|
152
|
+
## 0.12.111
|
|
153
|
+
|
|
154
|
+
### Patch Changes
|
|
155
|
+
|
|
156
|
+
- 274cab3: The singleton intersection moves to the leaves that name it, the runtime stops
|
|
157
|
+
creating schema, and `db generate` writes only the runtime tables a project's
|
|
158
|
+
services own
|
|
159
|
+
|
|
160
|
+
`WiredSingletonServices` was exported from the generated function leaf so the
|
|
161
|
+
auth leaf could import it. Nothing outside a generated leaf ever names it —
|
|
162
|
+
emit declarations for a project of any size and it appears in none of them —
|
|
163
|
+
so the auth and middleware leaves derive the intersection themselves and the
|
|
164
|
+
function leaf keeps it private. `WiredServices` stays exported: 147 `.d.ts`
|
|
165
|
+
files name it, and unexporting it asks every wired module to name each member
|
|
166
|
+
service through a specifier it does not have.
|
|
167
|
+
|
|
168
|
+
`ensurePikkuSchema` is gone. `requirePikkuSchema` replaces it: a service calls
|
|
169
|
+
it at boot, it looks, and it issues no DDL at all. `pikku db generate` writes
|
|
170
|
+
the declaration down as a migration and `pikku db migrate` applies it, and
|
|
171
|
+
those two are now the only way pikku's runtime tables come into existence. A
|
|
172
|
+
service that finds them missing says so and stops, naming both commands.
|
|
173
|
+
Half-present is no longer a distinct case — the remedy is the same migration
|
|
174
|
+
either way. `audit` and `virtual-user` join `pikkuSchemas` as a consequence:
|
|
175
|
+
boot was the only thing that had ever created them.
|
|
176
|
+
|
|
177
|
+
`pikku db generate` applied all of `pikkuSchemas`, so a project with no agents,
|
|
178
|
+
no channels and no workflows still had `agent_threads`, `channels` and
|
|
179
|
+
`workflow_runs` written into its migrations, and then carried them forever. A
|
|
180
|
+
schema now names the services that own it, and generation gates on
|
|
181
|
+
`requiredServices` — the set the inspector already builds for service
|
|
182
|
+
tree-shaking. The gate is one-sided: a schema that names no owner is always
|
|
183
|
+
written, because the session and secret stores and the deployment record are
|
|
184
|
+
reached by the runtime itself and nothing in a project's source implies them.
|
|
185
|
+
Declared scopes now imply `scopeService`, which nothing destructures because
|
|
186
|
+
the generated auth layer is what reaches it.
|
|
187
|
+
|
|
188
|
+
Drift keeps asking the unscoped question. A table already in a database has to
|
|
189
|
+
stay recognisable as a runtime table after the service that needed it is
|
|
190
|
+
dropped — scoping it there would report those tables as unexplained.
|
|
191
|
+
|
|
192
|
+
Every project in this repo that had been relying on boot-time creation now says
|
|
193
|
+
where its tables come from. `createConfig` moves into its own `config.ts` in the
|
|
194
|
+
templates — `pikku db` looks for it there — and the three postgres templates plus
|
|
195
|
+
the workflow verifier declare `postgresUrl` and run `pikku db generate && pikku
|
|
196
|
+
db migrate` before the server starts, from the single connection string their
|
|
197
|
+
runtime opens. The e2e harness cannot: its databases are in-memory sqlite built
|
|
198
|
+
inside the services factory, so nothing outside the process can migrate them. It
|
|
199
|
+
applies the schemas it owns with `applyPikkuSchemas` instead — the same DDL, run
|
|
200
|
+
by the one process that has the database.
|
|
201
|
+
|
|
202
|
+
- 58cb0f8: Scaffold an addon whose exports point at the leaf its codegen actually writes
|
|
203
|
+
|
|
204
|
+
`pikku all` roots an addon's generated tree at `.pikku/addon/`, but `pikku new
|
|
205
|
+
addon` still wrote the pre-split targets: `./.pikku/*` resolved to
|
|
206
|
+
`./dist/.pikku/*` and the internal RPC map to `./dist/.pikku/rpc/...`, neither of
|
|
207
|
+
which exists in the published package. The subpaths a consumer writes are
|
|
208
|
+
unchanged — only the targets gain the `addon` segment.
|
|
209
|
+
|
|
210
|
+
The addon manifest reference in the `pikku-addon` skill described the same
|
|
211
|
+
package.json one migration further back, with `imports` and `exports` naming the
|
|
212
|
+
source tree and `files: ["dist", ".pikku"]` shipping `.ts` files Node cannot
|
|
213
|
+
load. It now documents the built layout, and why `imports` and tsconfig `paths`
|
|
214
|
+
deliberately point at different trees.
|
|
215
|
+
|
|
216
|
+
The plain scaffold — no `--secret`, `--oauth` or `--credential` — built its API
|
|
217
|
+
service with `new XService(variables)` against a class declaring no constructor,
|
|
218
|
+
so `pikku new addon <name>` produced a package that did not typecheck until the
|
|
219
|
+
author deleted the argument. Only the authenticating variants take one.
|
|
220
|
+
|
|
221
|
+
- 32616af: Give the deploy pipeline one shared contract instead of a copy per adapter
|
|
222
|
+
|
|
223
|
+
`DeploymentManifest`, `DeploymentUnit`, `EntryGenerationContext` and
|
|
224
|
+
`ProviderAdapter` were hand-copied into eleven source files across the four
|
|
225
|
+
provider adapters and the CLI — three copies inside `@pikku/deploy-cloudflare`
|
|
226
|
+
alone. Nothing compared the copies, so they had already drifted: several typed
|
|
227
|
+
`role` as a bare `string`, and none carried the manifest's addon-scoping fields.
|
|
228
|
+
|
|
229
|
+
They now live in a new zero-dependency `@pikku/deploy` package that every
|
|
230
|
+
adapter and the CLI import, and each adapter declares `implements
|
|
231
|
+
ProviderAdapter` so the compiler checks it against the contract it claims to
|
|
232
|
+
satisfy. That check immediately caught a real disagreement: the deploy result's
|
|
233
|
+
`workersDeployed` and `resourcesCreated` were `string[]` from Cloudflare — the
|
|
234
|
+
shape the result file and the generated SDK types already record — but
|
|
235
|
+
`Array<{ name: string }>` from the standalone adapter. Both are now `string[]`.
|
|
236
|
+
|
|
237
|
+
The Lambda and Azure adapters also derived their esbuild externals from a
|
|
238
|
+
hand-written list of 25 node builtins, so anything outside it (`async_hooks`,
|
|
239
|
+
`perf_hooks`, `timers`, `http2`, …) was bundled instead of resolved from the
|
|
240
|
+
runtime. They now use `nodeBuiltinExternals()`, which reads `builtinModules`
|
|
241
|
+
from the running Node and cannot fall behind it.
|
|
242
|
+
|
|
243
|
+
- c858555: fix(cli): a scaffold feature refuses the removed `auth` key instead of ignoring it
|
|
244
|
+
|
|
245
|
+
`scaffold.<feature>` stopped taking `auth` when a scaffold flag became a
|
|
246
|
+
statement about whether a surface is generated rather than about who may call
|
|
247
|
+
it. The key was removed from the type, but a `pikku.config.json` still carrying
|
|
248
|
+
it loaded clean and was silently dropped — a config that reads as if it closed
|
|
249
|
+
the console to anonymous callers while configuring nothing at all.
|
|
250
|
+
|
|
251
|
+
It is now refused at config load, by name, with the reason and the fix. Any
|
|
252
|
+
other unrecognised key is refused too, so a typo'd `paths` fails at load rather
|
|
253
|
+
than generating a file at the default location. `null` and arrays are refused
|
|
254
|
+
with the same message a bare string already got, rather than crashing on a
|
|
255
|
+
property read.
|
|
256
|
+
|
|
257
|
+
These arrive as `PikkuCLIConfigError`, so the message reaches the developer
|
|
258
|
+
verbatim rather than as "failed to load config file".
|
|
259
|
+
|
|
260
|
+
- Updated dependencies [274cab3]
|
|
261
|
+
- Updated dependencies [58cb0f8]
|
|
262
|
+
- Updated dependencies [32616af]
|
|
263
|
+
- Updated dependencies [32616af]
|
|
264
|
+
- Updated dependencies [6848cd9]
|
|
265
|
+
- @pikku/kysely@0.13.20
|
|
266
|
+
- @pikku/inspector@0.12.63
|
|
267
|
+
- @pikku/skills@0.12.13
|
|
268
|
+
- @pikku/deploy@0.12.1
|
|
269
|
+
- @pikku/deploy-cloudflare@0.12.13
|
|
270
|
+
- @pikku/core@0.12.89
|
|
271
|
+
|
|
1
272
|
## 0.12.110
|
|
2
273
|
|
|
3
274
|
### Patch Changes
|
package/console-app/assets/{abnfDiagram-N423BO3Z-Bz2Ycfpe.js → abnfDiagram-N423BO3Z-Bltf5dmS.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{m as e,t}from"./mermaid-parser.core-
|
|
1
|
+
import{m as e,t}from"./mermaid-parser.core-CwwjcAjz.js";import{n}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t as r}from"./src-BR8qR3lM.js";import"./chunk-I66GZJ75-b3yMIljX.js";import{n as i,r as a,t as o}from"./chunk-6Q2QTUOP-C_h5lS68.js";import{t as s}from"./chunk-JWPE2WC7-DVXcaiue.js";import"./mermaid.core-hmS_M4K5.js";var c=e().RailroadAbnf.parser.LangiumParser,l=n(e=>{let t=e.alternatives.map(u);return t.length===1?t[0]:{type:`choice`,alternatives:t}},`transformAlternation`),u=n(e=>{let t=e.elements.map(f);return t.length===1?t[0]:{type:`sequence`,elements:t}},`transformConcatenation`),d=n(e=>{if(e.includes(`*`)){let[t,n]=e.split(`*`);return{min:t?parseInt(t,10):0,max:n?parseInt(n,10):1/0}}let t=parseInt(e,10);return{min:t,max:t}},`parseRepeat`),f=n(e=>{let t=p(e.primary);if(!e.repeat)return t;let{min:n,max:r}=d(e.repeat);return n===0&&r===1?{type:`optional`,element:t}:{type:`repetition`,element:t,min:n,max:r}},`transformElement`),p=n(e=>{switch(e.$type){case`AbnfStringLiteral`:return{type:`terminal`,value:e.value};case`AbnfNumVal`:return{type:`terminal`,value:e.value};case`AbnfRuleName`:return{type:`nonterminal`,name:e.name};case`AbnfGroup`:return l(e.element);case`AbnfOptionalGroup`:return{type:`optional`,element:l(e.element)};default:throw Error(`Unsupported ABNF primary node: ${e.$type}`)}},`transformPrimary`),m=n(e=>({name:e.name,definition:l(e.definition)}),`transformRule`),h=n(e=>{s(e,o),e.title&&o.setTitle(e.title),e.rules.map(e=>o.addRule(m(e)))},`populateDb`),g={parser:{parse:n(e=>{o.clear(),r.debug(`[ABNF Parser] Starting Langium parse`);let n=c.parse(e);if(n.lexerErrors.length>0||n.parserErrors.length>0)throw new t(n);let i=n.value;r.debug(`[ABNF Parser] Parsed rules:`,i.rules.length),h(i),r.debug(`[ABNF Parser] Parse complete`)},`parse`),parser:{yy:o}},db:o,renderer:a,styles:i};export{g as diagram};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./chunk-KEIR6QF5-BICK3FdT.js";import{M as e}from"./mermaid-parser.core-CwwjcAjz.js";export{e as createArchitectureServices};
|