@pikku/cli 0.12.105 → 0.12.109
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 +7433 -0
- package/console-app/assets/abnfDiagram-N423BO3Z-Bz2Ycfpe.js +1 -0
- package/console-app/assets/arc-D8VmsdJb.js +1 -0
- package/console-app/assets/architecture-TIHT7OUA-5QhJKy4P.js +1 -0
- package/console-app/assets/architectureDiagram-T3A2C74G-CvAkxhy0.js +36 -0
- package/console-app/assets/{blockDiagram-677ZJIJ3-CMNoQhwm.js → blockDiagram-VBNYF7ZC-CuVOo2PB.js} +5 -5
- package/console-app/assets/c4Diagram-5PPSVZJV-4Vg8SxCa.js +10 -0
- package/console-app/assets/channel-DoE3nnYB.js +1 -0
- package/console-app/assets/{chunk-32BRIVSS-DC3ZGIPN.js → chunk-2GRJ4B5K-CKKR4_dC.js} +1 -1
- package/console-app/assets/{chunk-HOUHSVGY-DMorD8Ib.js → chunk-4I5QYGJK-C-m_kVjm.js} +1 -1
- package/console-app/assets/chunk-5RXB4S5H-CyUGtd0h.js +231 -0
- package/console-app/assets/{chunk-MOJQB5TN-6BhXmDyj.js → chunk-6Q2QTUOP-BuzItInf.js} +1 -1
- package/console-app/assets/chunk-7Z6QIM7H-BGiBPuWt.js +10 -0
- package/console-app/assets/{chunk-V7JOEXUC-JMjbqEgu.js → chunk-GF5L2VYU-D8jaliB9.js} +3 -3
- package/console-app/assets/chunk-I66GZJ75-C-Lq_UXl.js +127 -0
- package/console-app/assets/chunk-JQJVKLGR-D7viK-tf.js +156 -0
- package/console-app/assets/{chunk-VR4S4FIN-BcHHugM0.js → chunk-KBJHAD2P-BS9N9gG4.js} +1 -1
- package/console-app/assets/{chunk-KEIR6QF5-DNzq6p3w.js → chunk-KEIR6QF5-BICK3FdT.js} +32 -32
- package/console-app/assets/chunk-NSK5VX7P-Fi_H0vaS.js +2 -0
- package/console-app/assets/{chunk-ZGVPDNZ5-CENGdlFJ.js → chunk-QR6OTTB3-BJdg-tcL.js} +3 -3
- package/console-app/assets/chunk-RYQCIY6F-CVbGA6YZ.js +1 -0
- package/console-app/assets/chunk-UBXNYLIW-BF-sAqEK.js +1 -0
- package/console-app/assets/{chunk-C7G6YPKG-BVtRZIEZ.js → chunk-W5SLKNZC-CXrJJ0BX.js} +1 -1
- package/console-app/assets/{chunk-Q4XR5HBZ-i4zkt4cc.js → chunk-WRU74C26-CGzysGBy.js} +7 -7
- package/console-app/assets/chunk-XXDRQBXY-BDALKVU4.js +1 -0
- package/console-app/assets/classDiagram-JCYQIIEL-BgrrHQtN.js +1 -0
- package/console-app/assets/classDiagram-v2-OCEON4UE-BgrrHQtN.js +1 -0
- package/console-app/assets/cose-bilkent-JH36ORCC-BvFZIDHb.js +1 -0
- package/console-app/assets/cynefin-VYW2F7L2-DRQ8xGmN.js +1 -0
- package/console-app/assets/cynefinDiagram-MW4NZA55-BwxQ4C1z.js +62 -0
- package/console-app/assets/cytoscape.esm-B-NFISlW.js +321 -0
- package/console-app/assets/dagre-J22zmNeE.js +1 -0
- package/console-app/assets/dagre-VZM6K2ZE-DPtUyvjD.js +4 -0
- package/console-app/assets/defaultLocale-BFoDCU3G.js +1 -0
- package/console-app/assets/{diagram-OA4YK3LP-BmjCoGBZ.js → diagram-7IWD3JNH-DGAzJ2Ln.js} +3 -3
- package/console-app/assets/{diagram-FQU43EPY-C667dC19.js → diagram-B4RE2ZJO-D14cIfto.js} +1 -1
- package/console-app/assets/diagram-LBJQPF4R-CUscJ_pO.js +24 -0
- package/console-app/assets/diagram-Q27KOJAE-CehBHMt3.js +24 -0
- package/console-app/assets/diagram-UB23O5K3-BvazI_qH.js +41 -0
- package/console-app/assets/dist-CsdsWTxp.js +1 -0
- package/console-app/assets/ebnfDiagram-BXEA7PRR-CBZPYFwZ.js +1 -0
- package/console-app/assets/{erDiagram-Q63AITRT-BAtdfbq3.js → erDiagram-JOGREHBK-BN3FevvT.js} +3 -3
- package/console-app/assets/eventmodeling-45OFAUF4-D2SxzJUl.js +1 -0
- package/console-app/assets/flowDiagram-UKHOOZJN-CQXuJ0z2.js +1 -0
- package/console-app/assets/ganttDiagram-PKOTCBZU-03mWH2kB.js +292 -0
- package/console-app/assets/gitGraph-TEB2WS4Q-By2486wn.js +1 -0
- package/console-app/assets/{gitGraphDiagram-IHSO6WYX-D9fpmYRm.js → gitGraphDiagram-DS77QQ5N-CCzKPRBJ.js} +4 -4
- package/console-app/assets/graphlib-IlWVLY3o.js +1 -0
- package/console-app/assets/index-snBzz_U8.js +290 -0
- package/console-app/assets/index-suVNAhyL.css +1 -0
- package/console-app/assets/info-DKCQHKI2-C_vsavqC.js +1 -0
- package/console-app/assets/infoDiagram-6WML65LV-BKvU8du7.js +2 -0
- package/console-app/assets/init-C-OQMol4.js +1 -0
- package/console-app/assets/isUndefined-T4snU1Mx.js +1 -0
- package/console-app/assets/{ishikawaDiagram-FXEZZL3T-CWHvEncb.js → ishikawaDiagram-WSZJBQD7-CnF0qm0n.js} +3 -3
- package/console-app/assets/{journeyDiagram-5HDEW3XC-DKH8UvEq.js → journeyDiagram-NVQOT4AX-DxKe9OZ7.js} +3 -3
- package/console-app/assets/{kanban-definition-HUTT4EX6-BODtp_fB.js → kanban-definition-27J2QSJJ-CB8lgPxU.js} +6 -6
- package/console-app/assets/{katex-Vhh-h91d.js → katex-CXMH3UgJ.js} +3 -3
- package/console-app/assets/{line-Do9j3HRL.js → line-DFNLso1I.js} +1 -1
- package/console-app/assets/linear-D1cspVtk.js +1 -0
- package/console-app/assets/map-BmPfXn7V.js +1 -0
- package/console-app/assets/{mermaid-parser.core-CYJsdwMO.js → mermaid-parser.core-BtmN233C.js} +3 -3
- package/console-app/assets/mermaid.core-37H5_HoB.js +42 -0
- package/console-app/assets/{mindmap-definition-LN4V7U3C-D7IWNYnf.js → mindmap-definition-FAOFIHXS-Czf82JOB.js} +3 -3
- package/console-app/assets/{ordinal-hYBb2elL.js → ordinal-BDEzSJ7C.js} +1 -1
- package/console-app/assets/packet-7NZHBO7P-CErYxAQM.js +1 -0
- package/console-app/assets/path-fybaL0A-.js +1 -0
- package/console-app/assets/pegDiagram-VL7TDLO6-CRKX6HOt.js +1 -0
- package/console-app/assets/pie-RZYD4A2V-YmMmh6Nq.js +1 -0
- package/console-app/assets/pieDiagram-7S7Q4E2Y-Cot0Fu5q.js +39 -0
- package/console-app/assets/{quadrantDiagram-ABIIQ3AL-CI840rae.js → quadrantDiagram-CIZ2JOQS-DPEonVYT.js} +2 -2
- package/console-app/assets/radar-I7S5WNFK-Pf_KiQJM.js +1 -0
- package/console-app/assets/railroad-3IZDKUUU-BYoOMoQY.js +1 -0
- package/console-app/assets/railroad-abnf-AHOZXSZD-CCRXsRRD.js +1 -0
- package/console-app/assets/railroad-ebnf-EBAXGLYW-DVRSVgn8.js +1 -0
- package/console-app/assets/railroad-peg-LSFZ7HO6-COUBoNH3.js +1 -0
- package/console-app/assets/railroadDiagram-AXF67PYL-Di8N9tHD.js +1 -0
- package/console-app/assets/{requirementDiagram-TGXJPOKE-CyHrMdrC.js → requirementDiagram-LRYGKXZP-2yZZ753q.js} +2 -2
- package/console-app/assets/rolldown-runtime-BcKkbAw3.js +1 -0
- package/console-app/assets/{rough.esm-CSKSodPl.js → rough.esm-Dy-Kn_BL.js} +1 -1
- package/console-app/assets/{sankeyDiagram-HTMAVEWB-DL0eJ1aK.js → sankeyDiagram-W5VNT64P-BwYA-xq1.js} +2 -2
- package/console-app/assets/sequenceDiagram-SI44F4Z6-odIxlx8J.js +162 -0
- package/console-app/assets/src-CxJwpjvz.js +1 -0
- package/console-app/assets/stateDiagram-OKZ733FA-Du2S0qU9.js +1 -0
- package/console-app/assets/stateDiagram-v2-UEYNNEHI-CTXOGDRR.js +1 -0
- package/console-app/assets/swimlanes-SLNWSIFB-JZ3swzI2.js +2 -0
- package/console-app/assets/swimlanesDiagram-ULZ7WXOC-DRrggQgK.js +8 -0
- package/console-app/assets/timeline-definition-Z64GVDOM-CsppAEWi.js +120 -0
- package/console-app/assets/treeView-QDETBFTQ-DkkO8peQ.js +1 -0
- package/console-app/assets/treemap-6X3UGDF4-hjLkPCJI.js +1 -0
- package/console-app/assets/vennDiagram-T6HMQDX7-BOfgM1xp.js +34 -0
- package/console-app/assets/wardley-OPB4EBWU-C5ZtGfBa.js +1 -0
- package/console-app/assets/{wardleyDiagram-EHGQE667-Cw2M8s0p.js → wardleyDiagram-T6FBY63Y-ymf3Vm6A.js} +36 -36
- package/console-app/assets/{xychartDiagram-FW5EYKEG-BxMLZdbF.js → xychartDiagram-ELKLHX3M-DdxXIoKz.js} +4 -4
- package/console-app/index.html +4 -2
- package/dist/.pikku/addon/index.d.ts +7 -0
- package/dist/.pikku/addon/index.js +7 -0
- package/dist/.pikku/addon/pikku-addon-types.gen.d.ts +7 -0
- package/dist/.pikku/addon/pikku-addon-types.gen.js +7 -0
- package/dist/.pikku/agent/index.d.ts +7 -0
- package/dist/.pikku/agent/index.js +7 -0
- package/dist/.pikku/agent/pikku-agent-types.gen.d.ts +9 -8
- package/dist/.pikku/agent/pikku-agent-types.gen.js +2 -3
- package/dist/.pikku/agent/pikku-model-aliases.gen.js +2 -2
- package/dist/.pikku/auth/index.d.ts +8 -0
- package/dist/.pikku/auth/index.js +8 -0
- package/dist/.pikku/auth/pikku-auth-types.gen.d.ts +118 -0
- package/dist/.pikku/auth/pikku-auth-types.gen.js +92 -0
- package/dist/.pikku/channel/index.d.ts +7 -0
- package/dist/.pikku/channel/index.js +7 -0
- package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +7 -9
- package/dist/.pikku/channel/pikku-channel-types.gen.js +1 -9
- package/dist/.pikku/cli/index.d.ts +7 -0
- package/dist/.pikku/cli/index.js +7 -0
- package/dist/.pikku/cli/pikku-cli-channel.d.ts +1 -1
- package/dist/.pikku/cli/pikku-cli-channel.js +6 -5
- package/dist/.pikku/cli/pikku-cli-client.gen.d.ts +2 -2
- package/dist/.pikku/cli/pikku-cli-client.gen.js +2 -2
- 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 +4 -3
- package/dist/.pikku/cli/pikku-cli-types.gen.js +1 -1
- package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +2 -2
- package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.json +45 -60
- 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 +2 -2
- package/dist/.pikku/console/index.d.ts +1 -0
- package/dist/.pikku/console/index.js +1 -0
- package/dist/.pikku/console/pikku-node-types.gen.d.ts +1 -1
- package/dist/.pikku/error/index.d.ts +7 -0
- package/dist/.pikku/error/index.js +7 -0
- package/dist/.pikku/error/pikku-error-types.gen.d.ts +7 -0
- package/dist/.pikku/error/pikku-error-types.gen.js +7 -0
- package/dist/.pikku/function/index.d.ts +7 -0
- package/dist/.pikku/function/index.js +7 -0
- package/dist/.pikku/function/pikku-function-types.gen.d.ts +28 -262
- package/dist/.pikku/function/pikku-function-types.gen.js +2 -237
- package/dist/.pikku/function/pikku-functions-meta.gen.js +2 -2
- package/dist/.pikku/function/pikku-functions-meta.gen.json +124 -102
- package/dist/.pikku/function/pikku-functions.gen.js +7 -5
- package/dist/.pikku/gateway/index.d.ts +7 -0
- package/dist/.pikku/gateway/index.js +7 -0
- package/dist/.pikku/gateway/pikku-gateway-types.gen.d.ts +36 -0
- package/dist/.pikku/gateway/pikku-gateway-types.gen.js +25 -0
- package/dist/.pikku/http/index.d.ts +7 -0
- package/dist/.pikku/http/index.js +7 -0
- package/dist/.pikku/http/pikku-http-types.gen.d.ts +6 -24
- package/dist/.pikku/http/pikku-http-types.gen.js +2 -24
- package/dist/.pikku/mcp/index.d.ts +7 -0
- package/dist/.pikku/mcp/index.js +7 -0
- package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +6 -4
- package/dist/.pikku/mcp/pikku-mcp-types.gen.js +1 -1
- package/dist/.pikku/middleware/index.d.ts +7 -0
- package/dist/.pikku/middleware/index.js +7 -0
- package/dist/.pikku/middleware/pikku-middleware-types.gen.d.ts +117 -0
- package/dist/.pikku/middleware/pikku-middleware-types.gen.js +108 -0
- package/dist/.pikku/node/index.d.ts +1 -0
- package/dist/.pikku/node/index.js +1 -0
- 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-meta-service.gen.d.ts +1 -1
- package/dist/.pikku/pikku-meta-service.gen.js +1 -1
- package/dist/.pikku/pikku-services.gen.d.ts +1 -1
- package/dist/.pikku/pikku-types.gen.d.ts +1 -1
- package/dist/.pikku/pikku-types.gen.js +1 -1
- package/dist/.pikku/queue/index.d.ts +7 -0
- package/dist/.pikku/queue/index.js +7 -0
- package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +2 -2
- package/dist/.pikku/queue/pikku-queue-types.gen.js +1 -1
- package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +2 -2
- 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 +2 -2
- package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.json +3 -2
- package/dist/.pikku/scenarios/index.d.ts +7 -0
- package/dist/.pikku/scenarios/index.js +7 -0
- package/dist/.pikku/scenarios/pikku-personas.gen.d.ts +17 -0
- package/dist/.pikku/scenarios/pikku-personas.gen.js +17 -0
- package/dist/.pikku/scenarios/pikku-scenario-functions-meta.gen.js +2 -2
- package/dist/.pikku/scenarios/pikku-scenario-functions.gen.d.ts +1 -1
- package/dist/.pikku/scenarios/pikku-scenario-types.gen.d.ts +310 -0
- package/dist/.pikku/scenarios/pikku-scenario-types.gen.js +71 -0
- package/dist/.pikku/scenarios/pikku-scenario-wirings-meta.gen.js +2 -2
- 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 +7 -0
- package/dist/.pikku/scheduler/index.js +7 -0
- package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +4 -3
- package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +1 -1
- package/dist/.pikku/schemas/register.gen.js +4 -4
- package/dist/.pikku/scopes/index.d.ts +7 -0
- package/dist/.pikku/scopes/index.js +7 -0
- package/dist/.pikku/scopes/pikku-personas.gen.d.ts +4 -13
- package/dist/.pikku/scopes/pikku-personas.gen.js +1 -1
- package/dist/.pikku/scopes/pikku-roles.gen.d.ts +2 -2
- package/dist/.pikku/scopes/pikku-roles.gen.js +1 -1
- package/dist/.pikku/scopes/pikku-scope-types.gen.d.ts +3 -5
- package/dist/.pikku/scopes/pikku-scope-types.gen.js +3 -3
- package/dist/.pikku/scopes/pikku-scopes.gen.d.ts +2 -2
- package/dist/.pikku/scopes/pikku-scopes.gen.js +1 -1
- package/dist/.pikku/secrets/index.d.ts +8 -0
- package/dist/.pikku/secrets/index.js +8 -0
- package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +1 -3
- package/dist/.pikku/secrets/pikku-secret-types.gen.js +1 -1
- package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +8 -12
- package/dist/.pikku/secrets/pikku-secrets.gen.js +7 -9
- package/dist/.pikku/services/pikku-meta-service.gen.d.ts +7 -0
- package/dist/.pikku/services/pikku-meta-service.gen.js +9 -0
- package/dist/.pikku/setup/index.d.ts +7 -0
- package/dist/.pikku/setup/index.js +7 -0
- package/dist/.pikku/setup/pikku-setup-types.gen.d.ts +66 -0
- package/dist/.pikku/setup/pikku-setup-types.gen.js +87 -0
- package/dist/.pikku/trigger/index.d.ts +7 -0
- package/dist/.pikku/trigger/index.js +7 -0
- package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +8 -8
- package/dist/.pikku/trigger/pikku-trigger-types.gen.js +1 -1
- package/dist/.pikku/variables/index.d.ts +8 -0
- package/dist/.pikku/variables/index.js +8 -0
- package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +1 -2
- package/dist/.pikku/variables/pikku-variable-types.gen.js +1 -1
- package/dist/.pikku/variables/pikku-variables.gen.d.ts +8 -11
- package/dist/.pikku/variables/pikku-variables.gen.js +8 -10
- package/dist/.pikku/workflow/index.d.ts +7 -0
- package/dist/.pikku/workflow/index.js +7 -0
- package/dist/.pikku/workflow/meta/allWorkflow.gen.json +97 -74
- package/dist/.pikku/workflow/pikku-personas.gen.d.ts +1 -3
- package/dist/.pikku/workflow/pikku-personas.gen.js +2 -2
- package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +22 -264
- package/dist/.pikku/workflow/pikku-workflow-types.gen.js +1 -64
- package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +2 -2
- package/dist/.pikku/workflow/pikku-workflow-wirings.gen.d.ts +0 -1
- package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +1 -1
- package/dist/bin/pikku-bin.mjs +2 -2
- package/dist/src/cli.wiring.js +19 -45
- package/dist/src/deploy/analyzer/analyzer.js +34 -12
- package/dist/src/deploy/build-pipeline.d.ts +13 -0
- package/dist/src/deploy/build-pipeline.js +22 -0
- package/dist/src/deploy/server-entry.js +1 -1
- package/dist/src/fabric/fabric-commands.d.ts +104 -104
- package/dist/src/fabric/functions/add.function.d.ts +4 -4
- package/dist/src/fabric/functions/add.function.js +1 -1
- package/dist/src/fabric/functions/addon-verify.function.d.ts +4 -4
- package/dist/src/fabric/functions/addon-verify.function.js +1 -1
- package/dist/src/fabric/functions/db-schema.function.d.ts +4 -4
- package/dist/src/fabric/functions/db-schema.function.js +1 -1
- package/dist/src/fabric/functions/deploy-list.function.d.ts +4 -4
- package/dist/src/fabric/functions/deploy-list.function.js +1 -1
- package/dist/src/fabric/functions/deploy-units.function.d.ts +4 -4
- package/dist/src/fabric/functions/deploy-units.function.js +1 -1
- package/dist/src/fabric/functions/deploy.function.d.ts +8 -8
- package/dist/src/fabric/functions/deploy.function.js +1 -1
- package/dist/src/fabric/functions/domains-add.function.d.ts +4 -4
- package/dist/src/fabric/functions/domains-add.function.js +1 -1
- package/dist/src/fabric/functions/domains-list.function.d.ts +4 -4
- package/dist/src/fabric/functions/domains-list.function.js +1 -1
- package/dist/src/fabric/functions/domains-remove.function.d.ts +4 -4
- package/dist/src/fabric/functions/domains-remove.function.js +1 -1
- package/dist/src/fabric/functions/errors.function.d.ts +4 -4
- package/dist/src/fabric/functions/errors.function.js +1 -1
- package/dist/src/fabric/functions/init.function.d.ts +4 -4
- package/dist/src/fabric/functions/init.function.js +1 -1
- package/dist/src/fabric/functions/link.function.d.ts +4 -4
- package/dist/src/fabric/functions/link.function.js +1 -1
- package/dist/src/fabric/functions/llm-key.function.d.ts +4 -4
- package/dist/src/fabric/functions/llm-key.function.js +1 -1
- package/dist/src/fabric/functions/login.function.d.ts +4 -4
- package/dist/src/fabric/functions/login.function.js +1 -1
- package/dist/src/fabric/functions/logs.function.d.ts +4 -4
- package/dist/src/fabric/functions/logs.function.js +1 -1
- package/dist/src/fabric/functions/metrics.function.d.ts +4 -4
- package/dist/src/fabric/functions/metrics.function.js +1 -1
- package/dist/src/fabric/functions/publish.function.d.ts +4 -4
- package/dist/src/fabric/functions/publish.function.js +1 -1
- package/dist/src/fabric/functions/rollback.function.d.ts +4 -4
- package/dist/src/fabric/functions/rollback.function.js +1 -1
- package/dist/src/fabric/functions/secrets-list.function.d.ts +4 -4
- package/dist/src/fabric/functions/secrets-list.function.js +1 -1
- package/dist/src/fabric/functions/secrets-rotate.function.d.ts +4 -4
- package/dist/src/fabric/functions/secrets-rotate.function.js +1 -1
- package/dist/src/fabric/functions/secrets-set.function.d.ts +4 -4
- package/dist/src/fabric/functions/secrets-set.function.js +1 -1
- package/dist/src/fabric/functions/smoke.function.d.ts +4 -4
- package/dist/src/fabric/functions/smoke.function.js +13 -13
- package/dist/src/fabric/functions/status.function.d.ts +4 -4
- package/dist/src/fabric/functions/status.function.js +1 -1
- package/dist/src/fabric/functions/trace.function.d.ts +4 -4
- package/dist/src/fabric/functions/trace.function.js +1 -1
- package/dist/src/fabric/functions/validate.function.d.ts +4 -4
- package/dist/src/fabric/functions/validate.function.js +114 -31
- package/dist/src/fabric/lib/git.d.ts +23 -0
- package/dist/src/fabric/lib/git.js +39 -0
- package/dist/src/functions/commands/all.d.ts +1 -1
- package/dist/src/functions/commands/all.js +1 -1
- package/dist/src/functions/commands/audit.d.ts +11 -1
- package/dist/src/functions/commands/audit.js +26 -14
- package/dist/src/functions/commands/binary.d.ts +4 -4
- package/dist/src/functions/commands/binary.js +1 -1
- package/dist/src/functions/commands/bootstrap.d.ts +1 -1
- package/dist/src/functions/commands/bootstrap.js +4 -3
- package/dist/src/functions/commands/bun-coverage-loader.js +4 -1
- package/dist/src/functions/commands/db-audit.d.ts +1 -1
- package/dist/src/functions/commands/db-audit.js +1 -1
- package/dist/src/functions/commands/db-baseline.d.ts +1 -1
- package/dist/src/functions/commands/db-baseline.js +1 -1
- package/dist/src/functions/commands/db-check.d.ts +1 -1
- package/dist/src/functions/commands/db-check.js +1 -1
- package/dist/src/functions/commands/db-codegen.d.ts +1 -1
- package/dist/src/functions/commands/db-codegen.js +1 -1
- package/dist/src/functions/commands/db-export.d.ts +1 -1
- package/dist/src/functions/commands/db-export.js +1 -1
- package/dist/src/functions/commands/db-generate.d.ts +1 -1
- package/dist/src/functions/commands/db-generate.js +1 -1
- package/dist/src/functions/commands/db-migrate.d.ts +1 -1
- package/dist/src/functions/commands/db-migrate.js +1 -1
- package/dist/src/functions/commands/db-reset.d.ts +4 -4
- package/dist/src/functions/commands/db-reset.js +1 -1
- package/dist/src/functions/commands/deploy-apply.d.ts +4 -4
- package/dist/src/functions/commands/deploy-apply.js +14 -2
- package/dist/src/functions/commands/deploy-info.d.ts +1 -1
- package/dist/src/functions/commands/deploy-info.js +1 -1
- package/dist/src/functions/commands/deploy-plan.d.ts +4 -4
- package/dist/src/functions/commands/deploy-plan.js +6 -2
- package/dist/src/functions/commands/dev-agent-runner.d.ts +2 -1
- package/dist/src/functions/commands/dev-agent-runner.js +48 -13
- package/dist/src/functions/commands/dev.d.ts +4 -4
- package/dist/src/functions/commands/dev.js +10 -10
- package/dist/src/functions/commands/emails-init.d.ts +1 -1
- package/dist/src/functions/commands/emails-init.js +19 -6
- package/dist/src/functions/commands/enable.d.ts +8 -8
- package/dist/src/functions/commands/enable.js +12 -26
- package/dist/src/functions/commands/environment.d.ts +27 -0
- package/dist/src/functions/commands/environment.js +36 -2
- package/dist/src/functions/commands/import-n8n.d.ts +4 -4
- package/dist/src/functions/commands/import-n8n.js +1 -1
- package/dist/src/functions/commands/info.d.ts +4 -4
- package/dist/src/functions/commands/info.js +1 -1
- package/dist/src/functions/commands/knowledge-index.d.ts +4 -4
- package/dist/src/functions/commands/knowledge-index.js +1 -1
- package/dist/src/functions/commands/knowledge-validate.d.ts +4 -4
- package/dist/src/functions/commands/knowledge-validate.js +1 -1
- package/dist/src/functions/commands/login.d.ts +9 -9
- package/dist/src/functions/commands/login.js +1 -1
- package/dist/src/functions/commands/meta.d.ts +37 -37
- package/dist/src/functions/commands/meta.js +1 -1
- package/dist/src/functions/commands/new-addon.d.ts +5 -4
- package/dist/src/functions/commands/new-addon.js +27 -25
- package/dist/src/functions/commands/new-function.d.ts +4 -4
- package/dist/src/functions/commands/new-function.js +4 -4
- package/dist/src/functions/commands/new-middleware.d.ts +4 -4
- package/dist/src/functions/commands/new-middleware.js +3 -3
- package/dist/src/functions/commands/new-permission.d.ts +4 -4
- package/dist/src/functions/commands/new-permission.js +3 -3
- package/dist/src/functions/commands/new-wiring.d.ts +4 -4
- package/dist/src/functions/commands/new-wiring.js +8 -8
- package/dist/src/functions/commands/persona-sync.d.ts +4 -4
- package/dist/src/functions/commands/persona-sync.js +3 -3
- package/dist/src/functions/commands/persona.d.ts +5 -5
- package/dist/src/functions/commands/persona.js +3 -4
- package/dist/src/functions/commands/pikku-command-bootstrap.d.ts +1 -1
- package/dist/src/functions/commands/pikku-command-bootstrap.js +7 -2
- package/dist/src/functions/commands/pikku-command-summary.d.ts +1 -1
- package/dist/src/functions/commands/pikku-command-summary.js +2 -2
- package/dist/src/functions/commands/roles-audit.d.ts +1 -1
- package/dist/src/functions/commands/roles-audit.js +1 -1
- package/dist/src/functions/commands/roles-prune.d.ts +4 -4
- package/dist/src/functions/commands/roles-prune.js +1 -1
- package/dist/src/functions/commands/roles-shared.d.ts +1 -1
- package/dist/src/functions/commands/roles-shared.js +1 -1
- package/dist/src/functions/commands/scenario-browser.d.ts +19 -13
- package/dist/src/functions/commands/scenario-browser.js +20 -6
- package/dist/src/functions/commands/scenario-formatter.d.ts +6 -52
- package/dist/src/functions/commands/scenario-ladder.d.ts +4 -5
- package/dist/src/functions/commands/scenario-ladder.js +1 -1
- package/dist/src/functions/commands/scenario-plan.d.ts +2 -2
- package/dist/src/functions/commands/scenario-plan.js +1 -1
- package/dist/src/functions/commands/scenario.d.ts +8 -8
- package/dist/src/functions/commands/scenario.js +73 -23
- package/dist/src/functions/commands/scopes-audit.d.ts +1 -1
- package/dist/src/functions/commands/scopes-audit.js +1 -1
- package/dist/src/functions/commands/scopes-prune.d.ts +4 -4
- package/dist/src/functions/commands/scopes-prune.js +1 -1
- package/dist/src/functions/commands/scopes-shared.d.ts +1 -1
- package/dist/src/functions/commands/scopes-shared.js +1 -1
- package/dist/src/functions/commands/semver.d.ts +1 -1
- package/dist/src/functions/commands/semver.js +1 -1
- package/dist/src/functions/commands/serve.d.ts +4 -4
- package/dist/src/functions/commands/serve.js +9 -8
- package/dist/src/functions/commands/skills.d.ts +8 -8
- package/dist/src/functions/commands/skills.js +1 -1
- package/dist/src/functions/commands/start-coverage.d.ts +1 -1
- package/dist/src/functions/commands/start-coverage.js +2 -2
- package/dist/src/functions/commands/update.d.ts +1 -1
- package/dist/src/functions/commands/update.js +1 -1
- package/dist/src/functions/commands/validate.d.ts +4 -4
- package/dist/src/functions/commands/validate.js +1 -1
- package/dist/src/functions/commands/versions-check.d.ts +1 -1
- package/dist/src/functions/commands/versions-check.js +1 -1
- package/dist/src/functions/commands/versions-init.d.ts +4 -4
- package/dist/src/functions/commands/versions-init.js +1 -1
- package/dist/src/functions/commands/versions-update.d.ts +1 -1
- package/dist/src/functions/commands/versions-update.js +1 -1
- package/dist/src/functions/commands/virtual-user-formatter.d.ts +1 -1
- package/dist/src/functions/commands/watch.d.ts +4 -4
- package/dist/src/functions/commands/watch.js +1 -1
- package/dist/src/functions/db/annotation-parser.d.ts +11 -3
- package/dist/src/functions/db/better-auth-schema.js +1 -1
- package/dist/src/functions/db/db-codegen.js +4 -2
- package/dist/src/functions/db/local-db.js +3 -3
- package/dist/src/functions/runtimes/fetch/index.d.ts +1 -1
- package/dist/src/functions/runtimes/fetch/index.js +1 -1
- package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.d.ts +1 -1
- package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.js +1 -1
- package/dist/src/functions/runtimes/tanstack-start/pikku-command-tanstack-start.d.ts +1 -1
- package/dist/src/functions/runtimes/tanstack-start/pikku-command-tanstack-start.js +7 -7
- package/dist/src/functions/runtimes/websocket/pikku-command-websocket-typed.d.ts +1 -1
- package/dist/src/functions/runtimes/websocket/pikku-command-websocket-typed.js +1 -1
- package/dist/src/functions/surface/build-surface-doc.d.ts +22 -0
- package/dist/src/functions/surface/build-surface-doc.js +151 -0
- package/dist/src/functions/surface/collect-surface-usage.d.ts +16 -0
- package/dist/src/functions/surface/collect-surface-usage.js +35 -0
- package/dist/src/functions/surface/collect-surface.d.ts +19 -1
- package/dist/src/functions/surface/collect-surface.js +104 -16
- package/dist/src/functions/surface/generate-surface-doc.d.ts +1 -0
- package/dist/src/functions/surface/generate-surface-doc.js +46 -0
- package/dist/src/functions/surface/shipped-surface-doc.d.ts +16 -0
- package/dist/src/functions/surface/shipped-surface-doc.js +44 -0
- package/dist/src/functions/surface/surface-doc.types.d.ts +69 -0
- package/dist/src/functions/surface/surface-doc.types.js +1 -0
- package/dist/src/functions/surface/surface-editorial.d.ts +25 -0
- package/dist/src/functions/surface/surface-editorial.js +101 -0
- package/dist/src/functions/surface/write-surface-usage.d.ts +12 -0
- package/dist/src/functions/surface/write-surface-usage.js +18 -0
- package/dist/src/functions/validate/pikku-barrel-checks.d.ts +12 -0
- package/dist/src/functions/validate/pikku-barrel-checks.js +97 -0
- package/dist/src/functions/validate/shared-checks.d.ts +10 -0
- package/dist/src/functions/validate/shared-checks.js +17 -3
- package/dist/src/functions/validate/validate-registry.js +10 -0
- package/dist/src/functions/wirings/agent/pikku-command-agent-types.d.ts +1 -1
- package/dist/src/functions/wirings/agent/pikku-command-agent-types.js +3 -2
- package/dist/src/functions/wirings/agent/pikku-command-agent.d.ts +1 -1
- package/dist/src/functions/wirings/agent/pikku-command-agent.js +4 -4
- package/dist/src/functions/wirings/agent/pikku-command-public-agent.d.ts +1 -1
- package/dist/src/functions/wirings/agent/pikku-command-public-agent.js +4 -5
- package/dist/src/functions/wirings/agent/serialize-agent-map.d.ts +1 -1
- package/dist/src/functions/wirings/agent/serialize-agent-types.d.ts +1 -1
- package/dist/src/functions/wirings/agent/serialize-agent-types.js +17 -12
- package/dist/src/functions/wirings/agent/serialize-model-aliases.js +1 -1
- package/dist/src/functions/wirings/agent/serialize-public-agent.d.ts +1 -1
- package/dist/src/functions/wirings/agent/serialize-public-agent.js +14 -13
- package/dist/src/functions/wirings/agent-scorer/pikku-command-agent-scorer.d.ts +1 -1
- package/dist/src/functions/wirings/agent-scorer/pikku-command-agent-scorer.js +4 -4
- package/dist/src/functions/wirings/agent-scorer/serialize-scorer-names.d.ts +1 -1
- package/dist/src/functions/wirings/auth/pikku-command-auth.d.ts +4 -4
- package/dist/src/functions/wirings/auth/pikku-command-auth.js +5 -4
- package/dist/src/functions/wirings/auth/serialize-auth-gen.d.ts +1 -1
- package/dist/src/functions/wirings/auth/serialize-auth-gen.js +3 -8
- package/dist/src/functions/wirings/auth/serialize-auth-guards.d.ts +12 -0
- package/dist/src/functions/wirings/auth/serialize-auth-guards.js +168 -0
- package/dist/src/functions/wirings/auth/serialize-auth-types.d.ts +4 -4
- package/dist/src/functions/wirings/auth/serialize-auth-types.js +4 -4
- package/dist/src/functions/wirings/channels/pikku-channels.d.ts +1 -1
- package/dist/src/functions/wirings/channels/pikku-channels.js +2 -2
- package/dist/src/functions/wirings/channels/pikku-command-channel-types.d.ts +1 -1
- package/dist/src/functions/wirings/channels/pikku-command-channel-types.js +6 -3
- package/dist/src/functions/wirings/channels/pikku-command-channels-map.d.ts +1 -1
- package/dist/src/functions/wirings/channels/pikku-command-channels-map.js +1 -1
- package/dist/src/functions/wirings/channels/pikku-command-channels.d.ts +1 -1
- package/dist/src/functions/wirings/channels/pikku-command-channels.js +2 -2
- package/dist/src/functions/wirings/channels/serialize-channel-types.d.ts +3 -1
- package/dist/src/functions/wirings/channels/serialize-channel-types.js +18 -25
- package/dist/src/functions/wirings/channels/serialize-typed-channel-map.d.ts +2 -3
- package/dist/src/functions/wirings/cli/pikku-command-cli-entry.d.ts +1 -1
- package/dist/src/functions/wirings/cli/pikku-command-cli-entry.js +2 -2
- package/dist/src/functions/wirings/cli/pikku-command-cli-types.d.ts +1 -1
- package/dist/src/functions/wirings/cli/pikku-command-cli-types.js +3 -3
- package/dist/src/functions/wirings/cli/pikku-command-cli.d.ts +1 -1
- package/dist/src/functions/wirings/cli/pikku-command-cli.js +2 -2
- package/dist/src/functions/wirings/cli/serialize-channel-cli-client.d.ts +1 -1
- package/dist/src/functions/wirings/cli/serialize-channel-cli-client.js +3 -3
- package/dist/src/functions/wirings/cli/serialize-channel-cli.d.ts +2 -2
- package/dist/src/functions/wirings/cli/serialize-channel-cli.js +11 -5
- package/dist/src/functions/wirings/cli/serialize-cli-types.d.ts +1 -1
- package/dist/src/functions/wirings/cli/serialize-cli-types.js +8 -3
- package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.js +1 -1
- package/dist/src/functions/wirings/console/pikku-command-console-functions.d.ts +1 -1
- package/dist/src/functions/wirings/console/pikku-command-console-functions.js +6 -5
- package/dist/src/functions/wirings/console/pikku-command-nodes-meta.d.ts +1 -1
- package/dist/src/functions/wirings/console/pikku-command-nodes-meta.js +2 -2
- package/dist/src/functions/wirings/console/serialize-console-functions.d.ts +1 -1
- package/dist/src/functions/wirings/console/serialize-console-functions.js +20 -4
- package/dist/src/functions/wirings/credentials/pikku-command-credentials.d.ts +1 -1
- package/dist/src/functions/wirings/credentials/pikku-command-credentials.js +2 -2
- package/dist/src/functions/wirings/credentials/serialize-credentials-types.d.ts +1 -1
- package/dist/src/functions/wirings/credentials/serialize-credentials-types.js +4 -6
- package/dist/src/functions/wirings/emails/pikku-command-emails.d.ts +1 -1
- package/dist/src/functions/wirings/emails/pikku-command-emails.js +3 -3
- package/dist/src/functions/wirings/emails/serialize-emails.js +114 -44
- package/dist/src/functions/wirings/errors/pikku-command-error-types.d.ts +1 -0
- package/dist/src/functions/wirings/errors/pikku-command-error-types.js +17 -0
- package/dist/src/functions/wirings/errors/serialize-error-types.d.ts +9 -0
- package/dist/src/functions/wirings/errors/serialize-error-types.js +16 -0
- package/dist/src/functions/wirings/functions/pikku-command-addon-types.d.ts +1 -1
- package/dist/src/functions/wirings/functions/pikku-command-addon-types.js +20 -8
- package/dist/src/functions/wirings/functions/pikku-command-function-types-split.d.ts +4 -4
- package/dist/src/functions/wirings/functions/pikku-command-function-types-split.js +17 -3
- package/dist/src/functions/wirings/functions/pikku-command-functions.d.ts +1 -1
- package/dist/src/functions/wirings/functions/pikku-command-functions.js +2 -2
- package/dist/src/functions/wirings/functions/pikku-command-leaf-indexes.d.ts +14 -0
- package/dist/src/functions/wirings/functions/pikku-command-leaf-indexes.js +119 -0
- package/dist/src/functions/wirings/functions/pikku-command-services.d.ts +1 -1
- package/dist/src/functions/wirings/functions/pikku-command-services.js +18 -3
- package/dist/src/functions/wirings/functions/schemas.d.ts +1 -1
- package/dist/src/functions/wirings/functions/schemas.js +1 -1
- package/dist/src/functions/wirings/functions/serialize-addon-types.d.ts +13 -0
- package/dist/src/functions/wirings/functions/serialize-addon-types.js +20 -2
- package/dist/src/functions/wirings/functions/serialize-function-imports.d.ts +1 -1
- package/dist/src/functions/wirings/functions/serialize-function-types.d.ts +7 -2
- package/dist/src/functions/wirings/functions/serialize-function-types.js +47 -361
- package/dist/src/functions/wirings/functions/serialize-leaf-index.d.ts +17 -0
- package/dist/src/functions/wirings/functions/serialize-leaf-index.js +27 -0
- package/dist/src/functions/wirings/gateway/pikku-command-gateway-types.d.ts +7 -0
- package/dist/src/functions/wirings/gateway/pikku-command-gateway-types.js +24 -0
- package/dist/src/functions/wirings/gateway/pikku-command-gateway.d.ts +1 -1
- package/dist/src/functions/wirings/gateway/pikku-command-gateway.js +1 -1
- package/dist/src/functions/wirings/gateway/serialize-gateway-meta.d.ts +1 -1
- package/dist/src/functions/wirings/gateway/serialize-gateway-types.d.ts +6 -0
- package/dist/src/functions/wirings/gateway/serialize-gateway-types.js +55 -0
- package/dist/src/functions/wirings/graph/pikku-command-graph-wirings.d.ts +1 -1
- package/dist/src/functions/wirings/graph/pikku-command-graph-wirings.js +3 -4
- package/dist/src/functions/wirings/graph/serialize-graph-wirings.d.ts +1 -1
- package/dist/src/functions/wirings/graph/serialize-graph-wirings.js +2 -2
- package/dist/src/functions/wirings/http/pikku-command-http-map.d.ts +1 -1
- package/dist/src/functions/wirings/http/pikku-command-http-map.js +3 -3
- package/dist/src/functions/wirings/http/pikku-command-http-routes.d.ts +1 -1
- package/dist/src/functions/wirings/http/pikku-command-http-routes.js +2 -2
- package/dist/src/functions/wirings/http/pikku-command-http-types.d.ts +1 -1
- package/dist/src/functions/wirings/http/pikku-command-http-types.js +7 -3
- package/dist/src/functions/wirings/http/pikku-command-openapi.d.ts +1 -1
- package/dist/src/functions/wirings/http/pikku-command-openapi.js +1 -1
- package/dist/src/functions/wirings/http/pikku-http-routes.d.ts +1 -1
- package/dist/src/functions/wirings/http/pikku-http-routes.js +2 -2
- package/dist/src/functions/wirings/http/serialize-http-types.d.ts +3 -1
- package/dist/src/functions/wirings/http/serialize-http-types.js +20 -36
- package/dist/src/functions/wirings/http/serialize-typed-http-map.d.ts +6 -2
- package/dist/src/functions/wirings/http/serialize-typed-http-map.js +5 -4
- package/dist/src/functions/wirings/mcp/pikku-command-mcp-json.d.ts +1 -1
- package/dist/src/functions/wirings/mcp/pikku-command-mcp-json.js +1 -1
- package/dist/src/functions/wirings/mcp/pikku-command-mcp-types.d.ts +1 -1
- package/dist/src/functions/wirings/mcp/pikku-command-mcp-types.js +5 -2
- package/dist/src/functions/wirings/mcp/pikku-command-mcp.d.ts +1 -1
- package/dist/src/functions/wirings/mcp/pikku-command-mcp.js +7 -3
- package/dist/src/functions/wirings/mcp/serialize-mcp-types.d.ts +3 -1
- package/dist/src/functions/wirings/mcp/serialize-mcp-types.js +17 -9
- package/dist/src/functions/wirings/middleware/pikku-command-middleware.d.ts +1 -1
- package/dist/src/functions/wirings/middleware/pikku-command-middleware.js +1 -1
- package/dist/src/functions/wirings/middleware/serialize-middleware-types.d.ts +9 -0
- package/dist/src/functions/wirings/middleware/serialize-middleware-types.js +176 -0
- package/dist/src/functions/wirings/package/pikku-command-package-types.d.ts +3 -3
- package/dist/src/functions/wirings/package/pikku-command-package-types.js +1 -1
- package/dist/src/functions/wirings/package/pikku-command-package.d.ts +1 -1
- package/dist/src/functions/wirings/package/pikku-command-package.js +1 -1
- package/dist/src/functions/wirings/package/serialize-package-types.js +2 -7
- package/dist/src/functions/wirings/package/serialize-package.js +1 -1
- package/dist/src/functions/wirings/permissions/pikku-command-permissions.d.ts +1 -1
- package/dist/src/functions/wirings/permissions/pikku-command-permissions.js +1 -1
- package/dist/src/functions/wirings/personas/pikku-command-personas.d.ts +4 -4
- package/dist/src/functions/wirings/personas/pikku-command-personas.js +2 -2
- package/dist/src/functions/wirings/personas/serialize-personas-secrets.d.ts +5 -0
- package/dist/src/functions/wirings/personas/serialize-personas-secrets.js +6 -0
- package/dist/src/functions/wirings/personas/serialize-personas-types.d.ts +2 -2
- package/dist/src/functions/wirings/personas/serialize-personas-types.js +4 -27
- package/dist/src/functions/wirings/queue/pikku-command-queue-map.d.ts +1 -1
- package/dist/src/functions/wirings/queue/pikku-command-queue-map.js +1 -1
- package/dist/src/functions/wirings/queue/pikku-command-queue-service.d.ts +1 -1
- package/dist/src/functions/wirings/queue/pikku-command-queue-service.js +1 -1
- package/dist/src/functions/wirings/queue/pikku-command-queue-types.d.ts +1 -1
- package/dist/src/functions/wirings/queue/pikku-command-queue-types.js +4 -2
- package/dist/src/functions/wirings/queue/pikku-command-queue.d.ts +1 -1
- package/dist/src/functions/wirings/queue/pikku-command-queue.js +1 -1
- package/dist/src/functions/wirings/queue/pikku-queue-map.d.ts +1 -1
- package/dist/src/functions/wirings/queue/pikku-queue-map.js +1 -1
- package/dist/src/functions/wirings/queue/pikku-queue.d.ts +1 -1
- package/dist/src/functions/wirings/queue/pikku-queue.js +1 -1
- package/dist/src/functions/wirings/queue/serialize-queue-map.d.ts +1 -1
- package/dist/src/functions/wirings/queue/serialize-queue-map.js +1 -1
- package/dist/src/functions/wirings/queue/serialize-queue-meta.d.ts +1 -1
- package/dist/src/functions/wirings/queue/serialize-queue-types.d.ts +3 -1
- package/dist/src/functions/wirings/queue/serialize-queue-types.js +8 -6
- package/dist/src/functions/wirings/queue/serialize-queue-wrapper.js +1 -1
- package/dist/src/functions/wirings/realtime/pikku-command-events-scaffold.d.ts +1 -1
- package/dist/src/functions/wirings/realtime/pikku-command-events-scaffold.js +3 -6
- package/dist/src/functions/wirings/realtime/pikku-command-realtime.d.ts +1 -1
- package/dist/src/functions/wirings/realtime/pikku-command-realtime.js +1 -1
- package/dist/src/functions/wirings/realtime/serialize-events-scaffold.d.ts +1 -1
- package/dist/src/functions/wirings/realtime/serialize-events-scaffold.js +6 -11
- package/dist/src/functions/wirings/roles/pikku-command-roles.d.ts +4 -4
- package/dist/src/functions/wirings/roles/pikku-command-roles.js +3 -3
- package/dist/src/functions/wirings/roles/serialize-roles-types.d.ts +1 -1
- package/dist/src/functions/wirings/roles/serialize-roles-types.js +2 -2
- package/dist/src/functions/wirings/rpc/pikku-command-public-rpc.d.ts +1 -1
- package/dist/src/functions/wirings/rpc/pikku-command-public-rpc.js +6 -7
- package/dist/src/functions/wirings/rpc/pikku-command-react-query.d.ts +1 -1
- package/dist/src/functions/wirings/rpc/pikku-command-react-query.js +1 -1
- package/dist/src/functions/wirings/rpc/pikku-command-remote-rpc.d.ts +1 -1
- package/dist/src/functions/wirings/rpc/pikku-command-remote-rpc.js +6 -6
- package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.d.ts +1 -1
- package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.js +1 -1
- package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.d.ts +3 -3
- package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.js +1 -1
- package/dist/src/functions/wirings/rpc/pikku-command-rpc.d.ts +1 -1
- package/dist/src/functions/wirings/rpc/pikku-command-rpc.js +2 -2
- package/dist/src/functions/wirings/rpc/serialize-public-rpc.d.ts +1 -1
- package/dist/src/functions/wirings/rpc/serialize-public-rpc.js +5 -5
- package/dist/src/functions/wirings/rpc/serialize-remote-rpc.d.ts +1 -1
- package/dist/src/functions/wirings/rpc/serialize-remote-rpc.js +5 -3
- package/dist/src/functions/wirings/rpc/serialize-rpc-wrapper.js +1 -1
- package/dist/src/functions/wirings/rpc/serialize-typed-rpc-map.js +1 -1
- package/dist/src/functions/wirings/scenarios/register-scenario-instrumentation.d.ts +4 -5
- package/dist/src/functions/wirings/scenarios/register-scenario-instrumentation.js +8 -10
- package/dist/src/functions/wirings/scenarios/scenario-partition.d.ts +1 -1
- package/dist/src/functions/wirings/scenarios/scenario-schema-partition.d.ts +1 -1
- package/dist/src/functions/wirings/scenarios/serialize-feature-meta.d.ts +1 -1
- package/dist/src/functions/wirings/scenarios/serialize-scenario-meta.js +4 -4
- package/dist/src/functions/wirings/scenarios/serialize-scenario-registration.js +1 -1
- package/dist/src/functions/wirings/scheduler/pikku-command-scheduler-types.d.ts +1 -1
- package/dist/src/functions/wirings/scheduler/pikku-command-scheduler-types.js +5 -2
- package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.d.ts +1 -1
- package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.js +1 -1
- package/dist/src/functions/wirings/scheduler/serialize-scheduler-meta.d.ts +1 -1
- package/dist/src/functions/wirings/scheduler/serialize-scheduler-types.d.ts +3 -1
- package/dist/src/functions/wirings/scheduler/serialize-scheduler-types.js +10 -6
- package/dist/src/functions/wirings/scopes/pikku-command-scopes.d.ts +4 -4
- package/dist/src/functions/wirings/scopes/pikku-command-scopes.js +10 -4
- package/dist/src/functions/wirings/scopes/serialize-scopes-client.d.ts +16 -0
- package/dist/src/functions/wirings/scopes/serialize-scopes-client.js +72 -0
- package/dist/src/functions/wirings/scopes/serialize-scopes-types.d.ts +1 -1
- package/dist/src/functions/wirings/scopes/serialize-scopes-types.js +3 -3
- package/dist/src/functions/wirings/secrets/pikku-command-secrets.d.ts +1 -1
- package/dist/src/functions/wirings/secrets/pikku-command-secrets.js +2 -2
- package/dist/src/functions/wirings/secrets/serialize-secrets-types.d.ts +1 -1
- package/dist/src/functions/wirings/secrets/serialize-secrets-types.js +14 -21
- package/dist/src/functions/wirings/setup/serialize-setup-types.d.ts +7 -0
- package/dist/src/functions/wirings/setup/serialize-setup-types.js +111 -0
- package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.d.ts +4 -4
- package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.js +2 -2
- package/dist/src/functions/wirings/triggers/pikku-command-trigger.d.ts +1 -1
- package/dist/src/functions/wirings/triggers/pikku-command-trigger.js +1 -1
- package/dist/src/functions/wirings/triggers/serialize-trigger-meta.d.ts +1 -1
- package/dist/src/functions/wirings/triggers/serialize-trigger-meta.js +4 -4
- package/dist/src/functions/wirings/triggers/serialize-trigger-types.d.ts +3 -1
- package/dist/src/functions/wirings/triggers/serialize-trigger-types.js +19 -13
- package/dist/src/functions/wirings/user-admin/pikku-command-user-admin-functions.d.ts +1 -1
- package/dist/src/functions/wirings/user-admin/pikku-command-user-admin-functions.js +18 -18
- package/dist/src/functions/wirings/user-admin/serialize-user-admin-functions.d.ts +10 -9
- package/dist/src/functions/wirings/user-admin/serialize-user-admin-functions.js +67 -56
- package/dist/src/functions/wirings/variables/pikku-command-variables.d.ts +1 -1
- package/dist/src/functions/wirings/variables/pikku-command-variables.js +2 -2
- package/dist/src/functions/wirings/variables/serialize-variables-types.d.ts +1 -1
- package/dist/src/functions/wirings/variables/serialize-variables-types.js +13 -17
- package/dist/src/functions/wirings/virtual-user/pikku-command-virtual-user-functions.d.ts +1 -1
- package/dist/src/functions/wirings/virtual-user/pikku-command-virtual-user-functions.js +4 -4
- package/dist/src/functions/wirings/virtual-user/serialize-virtual-user-functions.d.ts +1 -1
- package/dist/src/functions/wirings/virtual-user/serialize-virtual-user-functions.js +7 -6
- package/dist/src/functions/wirings/webhook/pikku-command-webhook.d.ts +1 -1
- package/dist/src/functions/wirings/webhook/pikku-command-webhook.js +6 -6
- package/dist/src/functions/wirings/webhook/serialize-webhook.d.ts +1 -1
- package/dist/src/functions/wirings/webhook/serialize-webhook.js +4 -3
- package/dist/src/functions/wirings/workflow/pikku-command-workflow-routes.d.ts +1 -1
- package/dist/src/functions/wirings/workflow/pikku-command-workflow-routes.js +4 -5
- package/dist/src/functions/wirings/workflow/pikku-command-workflow.d.ts +1 -1
- package/dist/src/functions/wirings/workflow/pikku-command-workflow.js +14 -5
- package/dist/src/functions/wirings/workflow/serialize-personas.d.ts +1 -1
- package/dist/src/functions/wirings/workflow/serialize-personas.js +3 -3
- package/dist/src/functions/wirings/workflow/serialize-scenario-step-map.d.ts +1 -2
- package/dist/src/functions/wirings/workflow/serialize-scenario-types.d.ts +2 -0
- package/dist/src/functions/wirings/workflow/serialize-scenario-types.js +511 -0
- package/dist/src/functions/wirings/workflow/serialize-workflow-bootstrap-map.d.ts +1 -1
- package/dist/src/functions/wirings/workflow/serialize-workflow-map.d.ts +2 -3
- package/dist/src/functions/wirings/workflow/serialize-workflow-map.js +1 -1
- package/dist/src/functions/wirings/workflow/serialize-workflow-meta.js +4 -4
- package/dist/src/functions/wirings/workflow/serialize-workflow-registration.js +0 -4
- package/dist/src/functions/wirings/workflow/serialize-workflow-routes.d.ts +1 -1
- package/dist/src/functions/wirings/workflow/serialize-workflow-routes.js +11 -11
- package/dist/src/functions/wirings/workflow/serialize-workflow-types.d.ts +1 -1
- package/dist/src/functions/wirings/workflow/serialize-workflow-types.js +28 -438
- package/dist/src/functions/workflows/all.workflow.d.ts +1 -1
- package/dist/src/functions/workflows/all.workflow.js +77 -22
- package/dist/src/middleware/log-command-info-and-time.d.ts +1 -1
- package/dist/src/server/bun-server-runner.d.ts +1 -1
- package/dist/src/server/content-signing-jwt.js +1 -1
- package/dist/src/server/dev-server-runner.interface.d.ts +1 -1
- package/dist/src/server/node-server-runner.d.ts +1 -1
- package/dist/src/services/cli-logger.service.d.ts +1 -1
- package/dist/src/services/cli-logger.service.js +1 -1
- package/dist/src/services.d.ts +9 -6
- package/dist/src/services.js +22 -6
- package/dist/src/utils/file-writer.d.ts +2 -0
- package/dist/src/utils/file-writer.js +37 -1
- package/dist/src/utils/is-deploy-codegen.d.ts +21 -0
- package/dist/src/utils/is-deploy-codegen.js +23 -0
- package/dist/src/utils/leaf-import-path.d.ts +16 -0
- package/dist/src/utils/leaf-import-path.js +15 -0
- package/dist/src/utils/parse-cli-filters.js +15 -35
- package/dist/src/utils/pikku-cli-config.d.ts +11 -0
- package/dist/src/utils/pikku-cli-config.js +90 -16
- package/dist/src/utils/precise-coverage-map.d.ts +1 -1
- package/dist/src/utils/remove-legacy-scaffold-file.d.ts +1 -1
- package/dist/src/utils/remove-legacy-scaffold-file.js +11 -3
- package/dist/src/utils/resolve-personas.d.ts +3 -3
- package/dist/src/utils/resolve-personas.js +2 -2
- package/dist/src/utils/resolve-scaffold-feature.d.ts +7 -6
- package/dist/src/utils/resolve-scaffold-feature.js +11 -31
- package/dist/src/utils/serialize-meta-ts.js +1 -1
- package/dist/src/utils/serialize-schemas.d.ts +1 -1
- package/dist/src/utils/serialize-schemas.js +1 -1
- package/dist/src/utils/surface.js +1 -1
- package/dist/src/utils/tsc-check.d.ts +1 -1
- package/dist/src/utils/tsc-check.js +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +48 -47
- package/surface.json +4464 -0
- package/console-app/assets/abnfDiagram-VRR7QNED-QRjCVsso.js +0 -1
- package/console-app/assets/arc-CloGjkHW.js +0 -1
- package/console-app/assets/architecture-TIHT7OUA-Cz78Qi5H.js +0 -1
- package/console-app/assets/architectureDiagram-ZJ3FMSHR-Dl10fVqw.js +0 -36
- package/console-app/assets/c4Diagram-LMCZKHZV-C2pWYCa6.js +0 -10
- package/console-app/assets/channel-Bm4o-pNB.js +0 -1
- package/console-app/assets/chunk-52WLFC77-DuAheIlc.js +0 -10
- package/console-app/assets/chunk-EX3LRPZG-CWXF7N33.js +0 -231
- package/console-app/assets/chunk-FWX5IMBZ-UN3i5qMG.js +0 -2
- package/console-app/assets/chunk-ICXQ74PX-BiuzWyj2.js +0 -2
- package/console-app/assets/chunk-OGEWGWER-BNi3Gsmc.js +0 -1
- package/console-app/assets/chunk-PUDLZKDR-DNWGCeoL.js +0 -156
- package/console-app/assets/chunk-RYQCIY6F-DvRUzuDz.js +0 -1
- package/console-app/assets/chunk-VAUOI2AC-D4_whP-t.js +0 -1
- package/console-app/assets/chunk-WYO6CB5R-COKjEQwP.js +0 -127
- package/console-app/assets/chunk-XXDRQBXY-mkAF2YHU.js +0 -1
- package/console-app/assets/chunk-ZIRB5QZD-H-kepumB.js +0 -32
- package/console-app/assets/classDiagram-OUVF2IWQ-B2cEvfK0.js +0 -1
- package/console-app/assets/classDiagram-v2-EOCWNBFH-B2cEvfK0.js +0 -1
- package/console-app/assets/cose-bilkent-JH36ORCC-D6F1MghO.js +0 -1
- package/console-app/assets/cynefin-VYW2F7L2-BIhff1Ln.js +0 -1
- package/console-app/assets/cynefinDiagram-TSTJHNR4-DrlBq_QP.js +0 -62
- package/console-app/assets/cytoscape.esm-h6BdjjI9.js +0 -321
- package/console-app/assets/dagre-CXRCoUWR.js +0 -1
- package/console-app/assets/dagre-VKFMJZFB-Cm2eP0ez.js +0 -4
- package/console-app/assets/defaultLocale-C8Fc0cco.js +0 -1
- package/console-app/assets/diagram-G47NLZAW-3K3OPEuG.js +0 -24
- package/console-app/assets/diagram-NH7WQ7WH-CUK-d5iT.js +0 -24
- package/console-app/assets/diagram-WEI45ONY-D33qA2d9.js +0 -41
- package/console-app/assets/dist-jqlCD26w.js +0 -1
- package/console-app/assets/ebnfDiagram-CCIWWBDH-DUHkt7z6.js +0 -1
- package/console-app/assets/eventmodeling-45OFAUF4-iK6rmyk3.js +0 -1
- package/console-app/assets/flowDiagram-23GEKE2U-CSYhKO9Y.js +0 -1
- package/console-app/assets/ganttDiagram-NO4QXBWP-64_vh9rj.js +0 -292
- package/console-app/assets/gitGraph-TEB2WS4Q-DlFJY0cQ.js +0 -1
- package/console-app/assets/graphlib-B8gBHxth.js +0 -1
- package/console-app/assets/index-Byf4wkdP.js +0 -261
- package/console-app/assets/index-CTO5cTAD.css +0 -1
- package/console-app/assets/info-DKCQHKI2-DhyT_-b1.js +0 -1
- package/console-app/assets/infoDiagram-FWYZ7A6U-ufTemVSR.js +0 -2
- package/console-app/assets/init-D6jRqBbL.js +0 -1
- package/console-app/assets/linear-5Z8stnH-.js +0 -1
- package/console-app/assets/map-DsCK-0Cs.js +0 -1
- package/console-app/assets/mermaid.core-DwI4IdKs.js +0 -11
- package/console-app/assets/packet-7NZHBO7P-comMLvz_.js +0 -1
- package/console-app/assets/path-BWPyau1x.js +0 -1
- package/console-app/assets/pegDiagram-2B236MQR-CbqiI_m5.js +0 -1
- package/console-app/assets/pie-RZYD4A2V-VZXoX73g.js +0 -1
- package/console-app/assets/pieDiagram-ENE6RG2P-SA-sCnrt.js +0 -39
- package/console-app/assets/radar-I7S5WNFK-W0UH9BdP.js +0 -1
- package/console-app/assets/railroad-3IZDKUUU-_HEtbruA.js +0 -1
- package/console-app/assets/railroad-abnf-AHOZXSZD-ghLnUEfg.js +0 -1
- package/console-app/assets/railroad-ebnf-EBAXGLYW-D8JHCZD5.js +0 -1
- package/console-app/assets/railroad-peg-LSFZ7HO6-C9eC4l2D.js +0 -1
- package/console-app/assets/railroadDiagram-RFXS5EU6-Cm2SfP9Z.js +0 -1
- package/console-app/assets/sequenceDiagram-DBY2YBRQ-B2AvEvXu.js +0 -162
- package/console-app/assets/src-72nNqhBu.js +0 -1
- package/console-app/assets/stateDiagram-2N3HPSRC-vgyc-CMC.js +0 -1
- package/console-app/assets/stateDiagram-v2-6OUMAXLB-B2WCkCZh.js +0 -1
- package/console-app/assets/swimlanes-5IMT3BWC-GiOMMhZh.js +0 -2
- package/console-app/assets/swimlanesDiagram-G3AALYLV-CkCbtoLb.js +0 -8
- package/console-app/assets/timeline-definition-FHXFAJF6-DTJQsTn8.js +0 -120
- package/console-app/assets/treeView-QDETBFTQ-aizmbgl7.js +0 -1
- package/console-app/assets/treemap-6X3UGDF4-DIBl6bfV.js +0 -1
- package/console-app/assets/vennDiagram-L72KCM5P-C4Ngu7VX.js +0 -34
- package/console-app/assets/wardley-OPB4EBWU-BqdXyJTm.js +0 -1
- package/dist/src/functions/db/coercion-plugin.d.ts +0 -7
- package/dist/src/functions/db/coercion-plugin.js +0 -103
- package/dist/src/functions/wirings/console/pikku-command-node-types.d.ts +0 -1
- package/dist/src/functions/wirings/console/pikku-command-node-types.js +0 -21
- package/dist/src/functions/wirings/console/serialize-node-types.d.ts +0 -1
- package/dist/src/functions/wirings/console/serialize-node-types.js +0 -11
- package/dist/src/functions/wirings/functions/pikku-command-function-types.d.ts +0 -7
- package/dist/src/functions/wirings/functions/pikku-command-function-types.js +0 -43
- package/dist/src/functions/wirings/functions/serialize-pikku-types-hub.d.ts +0 -4
- package/dist/src/functions/wirings/functions/serialize-pikku-types-hub.js +0 -36
- /package/dist/.pikku/schemas/schemas/{PikkuFunctionTypesInput.schema.json → PikkuGatewayTypesInput.schema.json} +0 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { flattenScopeDefinitions } from '@pikku/core/scope';
|
|
2
|
+
const quote = (value) => `'${value.replace(/'/g, "\\'")}'`;
|
|
3
|
+
/**
|
|
4
|
+
* Generates the browser-side scope client: the `ScopeId` union and a
|
|
5
|
+
* `hasScopes` that decides whether held grants satisfy a requirement.
|
|
6
|
+
*
|
|
7
|
+
* The cascade is emitted inline rather than imported, so the file a frontend
|
|
8
|
+
* bundles has no imports at all. `@pikku/core` is a server package — it pulls
|
|
9
|
+
* AsyncLocalStorage and the wiring runtime behind it — so a UI reaching for
|
|
10
|
+
* `@pikku/core/scope` to render a permission drags the server into the bundle.
|
|
11
|
+
* `serialize-scopes-client.test.ts` checks this copy against core's over a
|
|
12
|
+
* shared case table.
|
|
13
|
+
*/
|
|
14
|
+
export const serializeScopesClient = ({ definitions, }) => {
|
|
15
|
+
const flat = flattenScopeDefinitions(definitions);
|
|
16
|
+
const ids = flat.map((s) => s.id);
|
|
17
|
+
const hasChildren = (id) => ids.some((other) => other.startsWith(`${id}:`));
|
|
18
|
+
const requirable = [
|
|
19
|
+
...ids,
|
|
20
|
+
...ids.filter(hasChildren).map((id) => `${id}:*`),
|
|
21
|
+
].sort();
|
|
22
|
+
const union = requirable.length > 0
|
|
23
|
+
? `\n${requirable.map((id) => ` | ${quote(id)}`).join('\n')}`
|
|
24
|
+
: ' never';
|
|
25
|
+
return `/**
|
|
26
|
+
* This file was generated by the @pikku/cli
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Every scope a function can require.
|
|
31
|
+
*
|
|
32
|
+
* A \`:*\` entry requires the scope and all of its descendants. A held grant of
|
|
33
|
+
* \`admin:*\` satisfies any \`admin:...\` requirement.
|
|
34
|
+
*/
|
|
35
|
+
export type ScopeId =${union}
|
|
36
|
+
|
|
37
|
+
const SEPARATOR = ':'
|
|
38
|
+
const WILDCARD = '*'
|
|
39
|
+
|
|
40
|
+
const satisfyingGrants = (scope: string): string[] => {
|
|
41
|
+
const segments = scope.split(SEPARATOR)
|
|
42
|
+
const grants = [scope, \`\${scope}\${SEPARATOR}\${WILDCARD}\`]
|
|
43
|
+
for (let i = 0; i < segments.length; i++) {
|
|
44
|
+
grants.push([...segments.slice(0, i), WILDCARD].join(SEPARATOR))
|
|
45
|
+
}
|
|
46
|
+
for (let i = 1; i < segments.length; i++) {
|
|
47
|
+
grants.push(segments.slice(0, i).join(SEPARATOR))
|
|
48
|
+
}
|
|
49
|
+
return grants
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
const holds = (held: ReadonlySet<string>, scope: string): boolean =>
|
|
53
|
+
satisfyingGrants(scope).some((grant) => held.has(grant))
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Whether \`held\` satisfies every scope in \`required\`.
|
|
57
|
+
*
|
|
58
|
+
* Fails closed: absent grants satisfy nothing. An empty \`required\` is
|
|
59
|
+
* satisfied by anything.
|
|
60
|
+
*/
|
|
61
|
+
export const hasScopes = (
|
|
62
|
+
required: readonly string[] | undefined,
|
|
63
|
+
held: Iterable<string> | undefined
|
|
64
|
+
): boolean => {
|
|
65
|
+
if (!required || required.length === 0) {
|
|
66
|
+
return true
|
|
67
|
+
}
|
|
68
|
+
const grants = new Set(held ?? [])
|
|
69
|
+
return required.every((scope) => holds(grants, scope))
|
|
70
|
+
}
|
|
71
|
+
`;
|
|
72
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { flattenScopeDefinitions } from '@pikku/core/
|
|
1
|
+
import { flattenScopeDefinitions } from '@pikku/core/scope';
|
|
2
2
|
const quote = (value) => `'${value.replace(/'/g, "\\'")}'`;
|
|
3
3
|
/**
|
|
4
4
|
* Generates the `ScopeId` union and scope metadata from `defineScope`
|
|
@@ -30,8 +30,8 @@ export const serializeScopesTypes = ({ definitions, }) => {
|
|
|
30
30
|
return `/**
|
|
31
31
|
* This file was generated by the @pikku/cli
|
|
32
32
|
*/
|
|
33
|
-
import type { FlatScope, ScopeDefinitionsMeta } from '@pikku/core/
|
|
34
|
-
import { flattenScopeDefinitions } from '@pikku/core/
|
|
33
|
+
import type { FlatScope, ScopeDefinitionsMeta } from '@pikku/core/scope'
|
|
34
|
+
import { flattenScopeDefinitions } from '@pikku/core/scope'
|
|
35
35
|
import definitions from './pikku-scopes-meta.gen.json' with { type: 'json' }
|
|
36
36
|
|
|
37
37
|
/**
|
|
@@ -1 +1 @@
|
|
|
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>;
|
|
1
|
+
export declare const pikkuSecrets: import("#pikku/function").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<void, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { pikkuSessionlessFunc } from '#pikku';
|
|
1
|
+
import { pikkuSessionlessFunc } from '#pikku/function';
|
|
2
2
|
import { writeFileInDir } from '../../../utils/file-writer.js';
|
|
3
3
|
import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js';
|
|
4
4
|
import { serializeSecretsTypes } from './serialize-secrets-types.js';
|
|
5
|
-
import { validateAndBuildSecretDefinitionsMeta } from '@pikku/core/
|
|
5
|
+
import { validateAndBuildSecretDefinitionsMeta } from '@pikku/core/secret';
|
|
6
6
|
export const pikkuSecrets = pikkuSessionlessFunc({
|
|
7
7
|
func: async ({ logger, config, getInspectorState }) => {
|
|
8
8
|
const { secretsFile, secretsMetaJsonFile, packageMappings } = config;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { validateAndBuildSecretDefinitionsMeta } from '@pikku/core/
|
|
1
|
+
import { validateAndBuildSecretDefinitionsMeta } from '@pikku/core/secret';
|
|
2
2
|
import { getFileImportRelativePath } from '../../../utils/file-import-path.js';
|
|
3
3
|
/**
|
|
4
4
|
* A display name is the human-facing label a developer wrote, so an apostrophe
|
|
@@ -31,22 +31,28 @@ export const serializeSecretsTypes = ({ definitions, schemaLookup, secretsFile,
|
|
|
31
31
|
schemaImports.set(schemaRef.sourceFile, new Set());
|
|
32
32
|
}
|
|
33
33
|
schemaImports.get(schemaRef.sourceFile).add(schemaRef.variableName);
|
|
34
|
-
mapEntries.push(` '${meta.secretId}': z.infer<typeof ${schemaRef.variableName}>`);
|
|
35
|
-
metaEntries.push(` '${meta.secretId}': { name: '${name}', displayName: ${literal(meta.displayName)} }`);
|
|
34
|
+
mapEntries.push(` '${meta.secretId}'${meta.optional ? '?' : ''}: z.infer<typeof ${schemaRef.variableName}>`);
|
|
35
|
+
metaEntries.push(` '${meta.secretId}': { name: '${name}', displayName: ${literal(meta.displayName)}${meta.optional ? ', optional: true' : ''} }`);
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
const imports = [];
|
|
40
40
|
imports.push(`import { TypedSecretService as CoreTypedSecretService } from '@pikku/core/services'
|
|
41
|
-
import type { CredentialMeta } from '@pikku/core/
|
|
41
|
+
import type { CredentialMeta } from '@pikku/core/services'`);
|
|
42
42
|
imports.push(`import type { SecretService } from '@pikku/core/services'`);
|
|
43
|
-
imports.push(
|
|
44
|
-
|
|
43
|
+
imports.push(`/**
|
|
44
|
+
* Side-effect import of the metadata sidecar, so that tsc emits the .json
|
|
45
|
+
* alongside this file. An addon publishes only its compiled output, and a host
|
|
46
|
+
* reads that .json off disk to discover the addon's declared secrets — an
|
|
47
|
+
* uncopied sidecar leaves them invisible to the host. Nothing binds it: the
|
|
48
|
+
* sidecar is not part of \`#pikku/secrets\`.
|
|
49
|
+
*/
|
|
50
|
+
import './pikku-secrets-meta.gen.json' with { type: 'json' }`);
|
|
45
51
|
if (needsZod) {
|
|
46
52
|
imports.push(`import type { z } from 'zod'`);
|
|
47
53
|
}
|
|
48
54
|
if (needsOAuth2Types) {
|
|
49
|
-
imports.push(`import type { OAuth2AppCredential, OAuth2Token } from '@pikku/core/
|
|
55
|
+
imports.push(`import type { OAuth2AppCredential, OAuth2Token } from '@pikku/core/oauth2'`);
|
|
50
56
|
}
|
|
51
57
|
for (const [sourceFile, variableNames] of schemaImports) {
|
|
52
58
|
const importPath = getFileImportRelativePath(secretsFile, sourceFile, packageMappings);
|
|
@@ -55,23 +61,10 @@ import type { CredentialMeta } from '@pikku/core/ecosystem/services'`);
|
|
|
55
61
|
}
|
|
56
62
|
return `${imports.join('\n')}
|
|
57
63
|
|
|
58
|
-
|
|
59
|
-
* Every secret declared in this package.
|
|
60
|
-
*
|
|
61
|
-
* Read from the metadata sidecar rather than inlined, so that the import above
|
|
62
|
-
* forces tsc to emit the .json alongside this file. An addon publishes only its
|
|
63
|
-
* compiled output, and a host reads that .json to discover the addon's declared
|
|
64
|
-
* secrets — an uncopied sidecar leaves them invisible to the host.
|
|
65
|
-
*/
|
|
66
|
-
export const SECRETS_META: SecretDefinitionsMeta =
|
|
67
|
-
secretsMeta as SecretDefinitionsMeta
|
|
68
|
-
|
|
69
|
-
export interface CredentialsMap {
|
|
64
|
+
export type CredentialsMap = {
|
|
70
65
|
${mapEntries.join('\n')}
|
|
71
66
|
}
|
|
72
67
|
|
|
73
|
-
export type SecretId = keyof CredentialsMap
|
|
74
|
-
|
|
75
68
|
const CREDENTIALS_META: Record<string, CredentialMeta> = {
|
|
76
69
|
${metaEntries.join(',\n')}
|
|
77
70
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generates the setup surface — the three factories a project declares exactly
|
|
3
|
+
* once, at the point the application is brought up. Grouping them apart from
|
|
4
|
+
* the function types keeps `#pikku/function` to what a feature imports every
|
|
5
|
+
* day and `#pikku/setup` to what bootstrap imports and never touches again.
|
|
6
|
+
*/
|
|
7
|
+
export declare const serializeSetupTypes: (functionTypesImportPath: string, configTypeImport: string, configTypeName: string | undefined, requiredServicesTypeImport: string) => string;
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generates the setup surface — the three factories a project declares exactly
|
|
3
|
+
* once, at the point the application is brought up. Grouping them apart from
|
|
4
|
+
* the function types keeps `#pikku/function` to what a feature imports every
|
|
5
|
+
* day and `#pikku/setup` to what bootstrap imports and never touches again.
|
|
6
|
+
*/
|
|
7
|
+
export const serializeSetupTypes = (functionTypesImportPath, configTypeImport, configTypeName, requiredServicesTypeImport) => {
|
|
8
|
+
return `/**
|
|
9
|
+
* Config and service factory definitions, declared once per application
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
import { pikkuState as __pikkuState } from '@pikku/core/state'
|
|
13
|
+
import { CreateWireServices } from '@pikku/core/types'
|
|
14
|
+
import type { SingletonServices } from '${functionTypesImportPath}'
|
|
15
|
+
${configTypeImport}
|
|
16
|
+
${requiredServicesTypeImport}
|
|
17
|
+
${!configTypeName ? 'export type Config = any' : configTypeName === 'Config' ? 'export type { Config }' : `export type { ${configTypeName} as Config }`}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Creates a Pikku config factory.
|
|
21
|
+
* Use this to define your application's configuration factory.
|
|
22
|
+
*
|
|
23
|
+
* @param func - Config factory function that returns your application's config
|
|
24
|
+
* @returns The config factory function
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* \`\`\`typescript
|
|
28
|
+
* export const createConfig = pikkuConfig(async () => {
|
|
29
|
+
* return {
|
|
30
|
+
* apiUrl: process.env.API_URL || 'http://localhost:3000',
|
|
31
|
+
* dbUrl: process.env.DATABASE_URL
|
|
32
|
+
* }
|
|
33
|
+
* })
|
|
34
|
+
* \`\`\`
|
|
35
|
+
*/
|
|
36
|
+
export const pikkuConfig = (
|
|
37
|
+
func: (variables?: any, ...args: any[]) => Promise<Config>
|
|
38
|
+
) => func
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Creates a Pikku singleton services factory.
|
|
42
|
+
* Use this to define services that are created once and shared across all requests.
|
|
43
|
+
*
|
|
44
|
+
* @param func - Singleton services factory function
|
|
45
|
+
* @returns The singleton services factory function
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* \`\`\`typescript
|
|
49
|
+
* export const createSingletonServices = pikkuServices(async (config, existingServices) => {
|
|
50
|
+
* return {
|
|
51
|
+
* config,
|
|
52
|
+
* logger: new CustomLogger(),
|
|
53
|
+
* db: await createDatabaseConnection(config.dbUrl)
|
|
54
|
+
* }
|
|
55
|
+
* })
|
|
56
|
+
* \`\`\`
|
|
57
|
+
*/
|
|
58
|
+
export const pikkuServices = (
|
|
59
|
+
func: (config: Config, existingServices: Partial<SingletonServices>) => Promise<Partial<Omit<RequiredSingletonServices, 'auth'>>>
|
|
60
|
+
) => {
|
|
61
|
+
return async (config: Config, existingServices: Partial<SingletonServices> = {}) => {
|
|
62
|
+
const createdServices = await func(config, existingServices)
|
|
63
|
+
const services = { ...existingServices, ...createdServices }
|
|
64
|
+
const authFactory = __pikkuState(null, 'package', 'authFactory')
|
|
65
|
+
if (authFactory) {
|
|
66
|
+
let authInstance: Promise<unknown> | undefined
|
|
67
|
+
;(services as any).auth = () => {
|
|
68
|
+
authInstance ??= Promise.resolve()
|
|
69
|
+
.then(() => authFactory(services as any))
|
|
70
|
+
.catch((error) => {
|
|
71
|
+
authInstance = undefined
|
|
72
|
+
throw error
|
|
73
|
+
})
|
|
74
|
+
return authInstance
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
const resolved = services as RequiredSingletonServices
|
|
78
|
+
__pikkuState(null, 'package', 'singletonServices', resolved as any)
|
|
79
|
+
return resolved
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Creates a Pikku wire services factory.
|
|
85
|
+
* Use this to define services that are created per-request/session.
|
|
86
|
+
*
|
|
87
|
+
* @param func - Wire services factory function
|
|
88
|
+
* @returns The wire services factory function
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* \`\`\`typescript
|
|
92
|
+
* export const createWireServices = pikkuWireServices(async (services, wire) => {
|
|
93
|
+
* const session = await wire.session?.get()
|
|
94
|
+
* return {
|
|
95
|
+
* userCache: new UserCache(session?.userId)
|
|
96
|
+
* }
|
|
97
|
+
* })
|
|
98
|
+
* \`\`\`
|
|
99
|
+
*/
|
|
100
|
+
export const pikkuWireServices = (
|
|
101
|
+
func: (
|
|
102
|
+
services: SingletonServices,
|
|
103
|
+
wire: any
|
|
104
|
+
) => Promise<RequiredWireServices>
|
|
105
|
+
): CreateWireServices => {
|
|
106
|
+
const factories = __pikkuState(null, 'package', 'factories')
|
|
107
|
+
__pikkuState(null, 'package', 'factories', { ...factories, createWireServices: func as any })
|
|
108
|
+
return func as unknown as CreateWireServices
|
|
109
|
+
}
|
|
110
|
+
`;
|
|
111
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export declare const pikkuTriggerTypes: import("#pikku").PikkuFunctionConfig<{
|
|
1
|
+
export declare const pikkuTriggerTypes: import("#pikku/function").PikkuFunctionConfig<{
|
|
2
2
|
bootstrap?: boolean;
|
|
3
|
-
}, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{
|
|
3
|
+
}, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<{
|
|
4
4
|
bootstrap?: boolean;
|
|
5
|
-
}, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<{
|
|
5
|
+
}, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<{
|
|
6
6
|
bootstrap?: boolean;
|
|
7
|
-
}, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
|
|
7
|
+
}, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { pikkuSessionlessFunc } from '#pikku';
|
|
1
|
+
import { pikkuSessionlessFunc } from '#pikku/function';
|
|
2
2
|
import { writeFileInDir } from '../../../utils/file-writer.js';
|
|
3
3
|
import { getFileImportRelativePath } from '../../../utils/file-import-path.js';
|
|
4
4
|
import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js';
|
|
@@ -12,7 +12,7 @@ export const pikkuTriggerTypes = pikkuSessionlessFunc({
|
|
|
12
12
|
throw new Error('SingletonServices type not found');
|
|
13
13
|
}
|
|
14
14
|
const singletonServicesTypeImport = `import type { ${singletonServicesType.type} } from '${getFileImportRelativePath(triggersTypesFile, singletonServicesType.typePath, packageMappings)}'`;
|
|
15
|
-
const content = serializeTriggerTypes(singletonServicesTypeImport, singletonServicesType.type);
|
|
15
|
+
const content = serializeTriggerTypes(singletonServicesTypeImport, singletonServicesType.type, { addon: !!config.addon });
|
|
16
16
|
await writeFileInDir(logger, triggersTypesFile, content);
|
|
17
17
|
},
|
|
18
18
|
middleware: [
|
|
@@ -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, unknown> | import("#pikku").PikkuFunction<void, boolean | undefined, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
|
|
1
|
+
export declare const pikkuTrigger: import("#pikku/function").PikkuFunctionConfig<void, boolean | undefined, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<void, boolean | undefined, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<void, boolean | undefined, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { pikkuSessionlessFunc } from '#pikku';
|
|
1
|
+
import { pikkuSessionlessFunc } from '#pikku/function';
|
|
2
2
|
import { serializeFileImports } from '../../../utils/file-imports-serializer.js';
|
|
3
3
|
import { writeFileInDir } from '../../../utils/file-writer.js';
|
|
4
4
|
import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { TriggerMeta, TriggerSourceMeta } from '@pikku/core/
|
|
1
|
+
import type { TriggerMeta, TriggerSourceMeta } from '@pikku/core/trigger';
|
|
2
2
|
export declare const serializeTriggerMeta: (triggerMeta: TriggerMeta) => TriggerMeta;
|
|
3
3
|
export declare const serializeTriggerMetaTS: (triggerMeta: TriggerMeta, jsonImportPath: string, supportsImportAttributes: boolean) => string;
|
|
4
4
|
export declare const serializeTriggerSourceMeta: (sourceMeta: TriggerSourceMeta) => TriggerSourceMeta;
|
|
@@ -6,8 +6,8 @@ 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/
|
|
10
|
-
serializedOutput.push("import { TriggerMeta } from '@pikku/core/
|
|
9
|
+
serializedOutput.push("import { pikkuState } from '@pikku/core/state'");
|
|
10
|
+
serializedOutput.push("import { TriggerMeta } from '@pikku/core/trigger'");
|
|
11
11
|
serializedOutput.push(importStatement);
|
|
12
12
|
serializedOutput.push('');
|
|
13
13
|
serializedOutput.push("pikkuState(null, 'trigger', 'meta', metaData as TriggerMeta)");
|
|
@@ -26,8 +26,8 @@ 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/
|
|
30
|
-
serializedOutput.push("import { TriggerSourceMeta } from '@pikku/core/
|
|
29
|
+
serializedOutput.push("import { pikkuState } from '@pikku/core/state'");
|
|
30
|
+
serializedOutput.push("import { TriggerSourceMeta } from '@pikku/core/trigger'");
|
|
31
31
|
serializedOutput.push(importStatement);
|
|
32
32
|
serializedOutput.push('');
|
|
33
33
|
serializedOutput.push("pikkuState(null, 'trigger', 'sourceMeta', metaData as TriggerSourceMeta)");
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Generates type definitions for trigger wirings
|
|
3
3
|
*/
|
|
4
|
-
export declare const serializeTriggerTypes: (singletonServicesTypeImport: string, singletonServicesTypeName: string
|
|
4
|
+
export declare const serializeTriggerTypes: (singletonServicesTypeImport: string, singletonServicesTypeName: string, { addon }?: {
|
|
5
|
+
addon?: boolean;
|
|
6
|
+
}) => string;
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Generates type definitions for trigger wirings
|
|
3
3
|
*/
|
|
4
|
-
export const serializeTriggerTypes = (singletonServicesTypeImport, singletonServicesTypeName) => {
|
|
4
|
+
export const serializeTriggerTypes = (singletonServicesTypeImport, singletonServicesTypeName, { addon = false } = {}) => {
|
|
5
5
|
return `/**
|
|
6
6
|
* Trigger-specific type definitions for tree-shaking optimization
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import { wireTrigger as wireTriggerCore, wireTriggerSource as wireTriggerSourceCore } from '@pikku/core/trigger'
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
${addon ? '' : `import { wireTrigger as wireTriggerCore, wireTriggerSource as wireTriggerSourceCore } from '@pikku/core/trigger'\n`}import {
|
|
10
|
+
CorePikkuTriggerFunction,
|
|
11
|
+
CorePikkuTriggerFunctionConfig,${addon ? '' : `\n CoreTrigger,`}
|
|
12
|
+
} from '@pikku/core/trigger'
|
|
13
|
+
import type { CoreNodeConfig } from '@pikku/core/node'
|
|
12
14
|
${singletonServicesTypeImport}
|
|
13
15
|
import type { StandardSchemaV1 } from '@standard-schema/spec'
|
|
14
16
|
|
|
@@ -21,7 +23,7 @@ ${singletonServicesTypeName !== 'SingletonServices' ? `type SingletonServices =
|
|
|
21
23
|
* @template TInput - Input type (configuration passed when wired)
|
|
22
24
|
* @template TOutput - Output type produced when trigger fires
|
|
23
25
|
*/
|
|
24
|
-
|
|
26
|
+
type PikkuTriggerFunction<
|
|
25
27
|
TInput = unknown,
|
|
26
28
|
TOutput = unknown
|
|
27
29
|
> = CorePikkuTriggerFunction<TInput, TOutput, SingletonServices>
|
|
@@ -29,7 +31,7 @@ export type PikkuTriggerFunction<
|
|
|
29
31
|
/**
|
|
30
32
|
* Configuration object for creating a trigger function with metadata
|
|
31
33
|
*/
|
|
32
|
-
|
|
34
|
+
type PikkuTriggerFunctionConfig<
|
|
33
35
|
TInput = unknown,
|
|
34
36
|
TOutput = unknown,
|
|
35
37
|
InputSchema extends StandardSchemaV1 | undefined = undefined,
|
|
@@ -46,7 +48,7 @@ type InferSchemaOutput<T> = T extends StandardSchemaV1<any, infer Output> ? Outp
|
|
|
46
48
|
* Use this when you want to define input/output schemas using Zod.
|
|
47
49
|
* Types are automatically inferred from the schemas.
|
|
48
50
|
*/
|
|
49
|
-
|
|
51
|
+
type PikkuTriggerFunctionConfigWithSchema<
|
|
50
52
|
InputSchema extends StandardSchemaV1,
|
|
51
53
|
OutputSchema extends StandardSchemaV1 | undefined = undefined
|
|
52
54
|
> = {
|
|
@@ -66,22 +68,23 @@ export type PikkuTriggerFunctionConfigWithSchema<
|
|
|
66
68
|
* Type definition for trigger wirings.
|
|
67
69
|
* Declares a trigger name and its target pikku function.
|
|
68
70
|
*/
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
71
|
+
${addon ? '' : `type TriggerWiring = CoreTrigger\n`}
|
|
72
|
+
${addon
|
|
73
|
+
? ''
|
|
74
|
+
: `/**
|
|
72
75
|
* A trigger source with the subscription function, using project-specific services.
|
|
73
76
|
*
|
|
74
77
|
* @template TInput - Input type passed to the trigger function
|
|
75
78
|
* @template TOutput - Output type produced when trigger fires
|
|
76
79
|
*/
|
|
77
|
-
|
|
80
|
+
type TriggerSource<
|
|
78
81
|
TInput = unknown,
|
|
79
82
|
TOutput = unknown
|
|
80
83
|
> = {
|
|
81
84
|
name: string
|
|
82
85
|
func: PikkuTriggerFunctionConfig<TInput, TOutput>
|
|
83
86
|
} & (unknown extends TInput ? { input?: TInput } : { input: TInput })
|
|
84
|
-
|
|
87
|
+
`}
|
|
85
88
|
/**
|
|
86
89
|
* Creates a trigger function configuration.
|
|
87
90
|
* Use this to define trigger functions that set up subscriptions.
|
|
@@ -135,6 +138,9 @@ export function pikkuTriggerFunc(triggerOrConfig: any) {
|
|
|
135
138
|
return triggerOrConfig
|
|
136
139
|
}
|
|
137
140
|
|
|
141
|
+
${addon
|
|
142
|
+
? ''
|
|
143
|
+
: `
|
|
138
144
|
/**
|
|
139
145
|
* Registers a trigger with the Pikku framework.
|
|
140
146
|
* Declares a trigger name and its target pikku function.
|
|
@@ -160,5 +166,5 @@ export const wireTriggerSource = <TInput = unknown, TOutput = unknown>(
|
|
|
160
166
|
) => {
|
|
161
167
|
wireTriggerSourceCore(source as any)
|
|
162
168
|
}
|
|
163
|
-
`;
|
|
169
|
+
`}`;
|
|
164
170
|
};
|
|
@@ -1 +1 @@
|
|
|
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
|
+
export declare const pikkuUserAdminFunctions: import("#pikku/function").PikkuFunctionConfig<void, boolean, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<void, boolean, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<void, boolean, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { pikkuSessionlessFunc } from '#pikku';
|
|
2
|
-
import {
|
|
1
|
+
import { pikkuSessionlessFunc } from '#pikku/function';
|
|
2
|
+
import { getLeafImportPath } from '../../../utils/leaf-import-path.js';
|
|
3
3
|
import { writeFileInDir } from '../../../utils/file-writer.js';
|
|
4
4
|
import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js';
|
|
5
5
|
import { serializeUserAdminFunctions } from './serialize-user-admin-functions.js';
|
|
6
|
-
import { resolveScaffoldFeature } from '../../../utils/resolve-scaffold-feature.js';
|
|
7
6
|
export const pikkuUserAdminFunctions = pikkuSessionlessFunc({
|
|
8
7
|
func: async ({ logger, config, getInspectorState }) => {
|
|
9
8
|
if (!config.scaffold?.userAdmin ||
|
|
@@ -16,27 +15,28 @@ export const pikkuUserAdminFunctions = pikkuSessionlessFunc({
|
|
|
16
15
|
return false;
|
|
17
16
|
}
|
|
18
17
|
const { definition } = (await getInspectorState()).auth;
|
|
19
|
-
//
|
|
20
|
-
//
|
|
21
|
-
//
|
|
22
|
-
//
|
|
18
|
+
// Every one of these functions drives better-auth's internal adapter, so
|
|
19
|
+
// without a better-auth instance the scaffold would generate RPCs that
|
|
20
|
+
// throw on every call and scopes that grant nothing. Fail the codegen
|
|
21
|
+
// instead of shipping that.
|
|
23
22
|
if (!definition) {
|
|
24
23
|
throw new Error(`"scaffold.userAdmin" is enabled but no pikkuBetterAuth(...) was found in the project.\n` +
|
|
25
|
-
`User management
|
|
24
|
+
`User management works through better-auth's internal adapter, so there is nothing to manage.\n` +
|
|
26
25
|
`Fix: set up Better Auth before scaffolding user management, or remove ` +
|
|
27
26
|
`"scaffold.userAdmin" from pikku.config.json.`);
|
|
28
27
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
`
|
|
35
|
-
`
|
|
36
|
-
`
|
|
28
|
+
// Ban is the one capability with a schema requirement of its own, and it is
|
|
29
|
+
// only one of the six — a warning rather than a failure, so an app that
|
|
30
|
+
// never bans anyone is not forced to carry the columns.
|
|
31
|
+
if (!definition.plugins.includes('ban')) {
|
|
32
|
+
logger.warn(`"scaffold.userAdmin" is enabled but better-auth is configured without the ban() plugin, ` +
|
|
33
|
+
`so the banned/banReason/banExpires columns do not exist and setUserBanned will fail.\n` +
|
|
34
|
+
`Fix: add ban() to the plugins array in ${definition.sourceFile}:\n` +
|
|
35
|
+
` import { ban } from '@pikku/better-auth'\n` +
|
|
36
|
+
` betterAuth({ plugins: [ban()] })`);
|
|
37
37
|
}
|
|
38
|
-
const
|
|
39
|
-
const { schemas, functions } = serializeUserAdminFunctions(
|
|
38
|
+
const leaf = (name) => getLeafImportPath(config.userAdminFunctionsFile, name, config);
|
|
39
|
+
const { schemas, functions } = serializeUserAdminFunctions(leaf);
|
|
40
40
|
await writeFileInDir(logger, config.userAdminSchemasFile, schemas);
|
|
41
41
|
await writeFileInDir(logger, config.userAdminFunctionsFile, functions);
|
|
42
42
|
return true;
|
|
@@ -4,16 +4,17 @@ export interface UserAdminGenOutput {
|
|
|
4
4
|
}
|
|
5
5
|
/**
|
|
6
6
|
* Generate the user-management functions into the project scaffold: the
|
|
7
|
-
* directory read plus the writes that
|
|
7
|
+
* directory read plus the writes that administer it.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
9
|
+
* Superseded by `@pikku/addon-admin`, which ships these same functions plus
|
|
10
|
+
* roles, credentials and the audit trail, and which an app can wire without
|
|
11
|
+
* installing the console. Kept for hosts still on the scaffold; the scope tree
|
|
12
|
+
* below must stay byte-identical to the addon's, or an app with both fails
|
|
13
|
+
* codegen on conflicting declarations.
|
|
13
14
|
*
|
|
14
|
-
* Each function is gated on its own `admin:users:*` scope
|
|
15
|
-
*
|
|
16
|
-
*
|
|
15
|
+
* Each function is gated on its own `admin:users:*` scope, and works through
|
|
16
|
+
* better-auth's internal adapter. Banning additionally needs the `ban()` plugin
|
|
17
|
+
* from `@pikku/better-auth` for the columns it writes to exist.
|
|
17
18
|
*
|
|
18
19
|
* Emitted as two files. The schemas are zod, and the inspector reads a zod
|
|
19
20
|
* schema by importing the module that declares it — which it cannot do for the
|
|
@@ -21,4 +22,4 @@ export interface UserAdminGenOutput {
|
|
|
21
22
|
* rewrites. Keeping the schemas in a sibling module that imports nothing but
|
|
22
23
|
* zod sidesteps that entirely.
|
|
23
24
|
*/
|
|
24
|
-
export declare const serializeUserAdminFunctions: (
|
|
25
|
+
export declare const serializeUserAdminFunctions: (leaf: (name: string) => string) => UserAdminGenOutput;
|