@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
|
@@ -3,11 +3,13 @@ import { readFile, readdir } from 'node:fs/promises';
|
|
|
3
3
|
import { existsSync } from 'node:fs';
|
|
4
4
|
import { dirname, join } from 'node:path';
|
|
5
5
|
import { createRequire } from 'node:module';
|
|
6
|
-
import { pikkuSessionlessFunc } from '../../../.pikku/
|
|
6
|
+
import { pikkuSessionlessFunc } from '../../../.pikku/function/index.js';
|
|
7
7
|
import { added, changed, removed, dim } from '../lib/output.js';
|
|
8
8
|
import { typeCheckFrontends } from '../lib/frontend-typecheck.js';
|
|
9
9
|
import { readJsonSafe, readTextSafe, runSharedProjectChecks, } from '../../functions/validate/shared-checks.js';
|
|
10
10
|
import { runTypeIdentityChecks } from '../../functions/validate/type-identity-checks.js';
|
|
11
|
+
import { migrationCreatesTable } from '../../functions/validate/shared-checks.js';
|
|
12
|
+
import { isGitRepo, isTracked } from '../lib/git.js';
|
|
11
13
|
const FindingSchema = z.object({
|
|
12
14
|
id: z.string(),
|
|
13
15
|
severity: z.enum(['error', 'warn', 'info']),
|
|
@@ -132,11 +134,17 @@ const LOGIN_FILE_PATTERN = /(?:^|\/)[\w[\]-]*(?:login|sign-?in)[\w[\]-]*(?:\/|\.
|
|
|
132
134
|
// these means the app actually wires actor sign-in — the component's own
|
|
133
135
|
// definition is excluded, since defining it without rendering it locks the
|
|
134
136
|
// reviewer out just as thoroughly.
|
|
135
|
-
//
|
|
136
|
-
//
|
|
137
|
+
//
|
|
138
|
+
// Canonical implementation is now `<DevActorSwitcher>` from `@pikku/mantine/dev`
|
|
139
|
+
// (built on `useDevActors` from `@pikku/react`), rendered from the login screen.
|
|
140
|
+
// The hand-rolled shape the templates used to copy — a local component backed by
|
|
141
|
+
// `signInAsActor()` → POST /auth/sign-in/actor — still passes: apps that predate
|
|
142
|
+
// the package keep working, and the useDevActors call site is matched for apps
|
|
143
|
+
// that want their own UI on the shared logic.
|
|
137
144
|
const ACTOR_QUICK_LOGIN_PATTERNS = [
|
|
138
145
|
/<\s*DevActorSwitcher\b/,
|
|
139
146
|
/(?<!function\s)\bsignInAsActor\s*\(/,
|
|
147
|
+
/(?<!function\s)\buseDevActors\s*\(/,
|
|
140
148
|
/\/auth\/sign-in\/actor/,
|
|
141
149
|
];
|
|
142
150
|
// Minimum @pikku/* versions Fabric requires. The pikku packages are versioned
|
|
@@ -148,9 +156,14 @@ const ACTOR_QUICK_LOGIN_PATTERNS = [
|
|
|
148
156
|
// listening (the sandbox never serves routes).
|
|
149
157
|
// - @pikku/core mismatches split pikkuState into duplicate copies, so app
|
|
150
158
|
// and console routes 404; pin the floor that matches the runtime.
|
|
159
|
+
// - @pikku/cloudflare < 0.12.20 imports '@pikku/core/internal', a subpath no
|
|
160
|
+
// published @pikku/core exports, so every worker fails to resolve and the
|
|
161
|
+
// deploy ends at "0 workers bundled (0B total)". The broken import is in
|
|
162
|
+
// the dependency's own dist, which no source-level check can see.
|
|
151
163
|
const PIKKU_MIN_VERSIONS = {
|
|
152
164
|
'@pikku/cli': '0.12.43',
|
|
153
165
|
'@pikku/core': '0.12.34',
|
|
166
|
+
'@pikku/cloudflare': '0.12.20',
|
|
154
167
|
};
|
|
155
168
|
// Pull major.minor.patch from a spec, ignoring range prefixes (^ ~ >=),
|
|
156
169
|
// npm: aliases, and pre-release/build suffixes. null if no semver is present
|
|
@@ -213,6 +226,21 @@ export async function runValidate(startDir = process.cwd(), opts = {}) {
|
|
|
213
226
|
const pikkuConfigPath = join(root, 'pikku.config.json');
|
|
214
227
|
const rootPkgPath = join(root, 'package.json');
|
|
215
228
|
const rootPkg = await readJsonSafe(rootPkgPath);
|
|
229
|
+
// ── packageManager ─────────────────────────────────────────────────────
|
|
230
|
+
// The build container is bun-only end to end — install, pikku codegen and
|
|
231
|
+
// the frontend build all run under bun — and it refuses the repository
|
|
232
|
+
// before cloning finishes if package.json declares anything else. Nothing
|
|
233
|
+
// else in validate reads packageManager, so a yarn or pnpm project passed
|
|
234
|
+
// every check here and then died on the first line of the deploy.
|
|
235
|
+
{
|
|
236
|
+
const declared = rootPkg?.packageManager;
|
|
237
|
+
if (!declared) {
|
|
238
|
+
e('package-manager-undeclared', 'package.json does not declare "packageManager" — Fabric is bun-only and the build container aborts with "Unsupported packageManager"', rootPkgPath, lines('Add it to the root package.json:', ' "packageManager": "bun@1.3.14"', 'then run `bun install` to generate bun.lock and commit both.'));
|
|
239
|
+
}
|
|
240
|
+
else if (!declared.startsWith('bun@')) {
|
|
241
|
+
e('package-manager-not-bun', `package.json declares packageManager "${declared}" — Fabric is bun-only and the build container aborts with "Unsupported packageManager"`, rootPkgPath, lines('Set the root package.json to bun:', ' "packageManager": "bun@1.3.14"', 'then migrate the lockfile:', ' bun install && rm -f yarn.lock pnpm-lock.yaml package-lock.json', 'and commit bun.lock.'));
|
|
242
|
+
}
|
|
243
|
+
}
|
|
216
244
|
// ── pikkufabric.config.json ────────────────────────────────────────────
|
|
217
245
|
// Not required to run validate — downgraded to info so any pikku project
|
|
218
246
|
// can be checked for compatibility before it is linked to a fabric account.
|
|
@@ -224,6 +252,18 @@ export async function runValidate(startDir = process.cwd(), opts = {}) {
|
|
|
224
252
|
else if (!fabricConfig.projectId) {
|
|
225
253
|
info('fabric-config-no-project-id', 'pikkufabric.config.json is missing "projectId"', fabricConfigPath, lines('Edit `pikkufabric.config.json` and add:', '{', ' "projectId": "<your-project-id>"', '}', 'If you do not know the id yet, run `pikku fabric link`.'));
|
|
226
254
|
}
|
|
255
|
+
else if ((await isGitRepo(root)) &&
|
|
256
|
+
!(await isTracked('pikkufabric.config.json', root))) {
|
|
257
|
+
// An error, unlike the three states around it. Those describe a project
|
|
258
|
+
// that has not been linked yet, which is a legitimate thing to validate.
|
|
259
|
+
// This one is a project that *is* linked and still cannot deploy: the build
|
|
260
|
+
// container clones the repository, so a config that exists only in the
|
|
261
|
+
// working tree is absent the moment it matters. Locally everything passes;
|
|
262
|
+
// remotely the deploy aborts with "pikkufabric.config.json not found in
|
|
263
|
+
// repository root". Nothing downstream of here can detect that, which is
|
|
264
|
+
// why it is caught at the one point that can.
|
|
265
|
+
e('fabric-config-untracked', 'pikkufabric.config.json is not committed — deploy clones the repository, so the build container will not see it and aborts with "pikkufabric.config.json not found in repository root"', fabricConfigPath, lines('Commit the file:', ' git add pikkufabric.config.json && git commit -m "chore: link to fabric"', 'Then check it is not being excluded:', ' git check-ignore -v pikkufabric.config.json', 'A .gitignore rule such as `*.config.json` or a broad `*.json` will swallow it.'));
|
|
266
|
+
}
|
|
227
267
|
else if (fabricConfig.projectId === '__PROJECT_ID__') {
|
|
228
268
|
info('fabric-config-placeholder-project-id', 'pikkufabric.config.json has a placeholder projectId ("__PROJECT_ID__") — project is not linked', fabricConfigPath, lines('The file exists but still contains the placeholder project id.', 'Run `pikku fabric link` to replace it automatically, or edit the file and set:', '"projectId": "<real-project-id>"'));
|
|
229
269
|
}
|
|
@@ -315,7 +355,7 @@ export async function runValidate(startDir = process.cwd(), opts = {}) {
|
|
|
315
355
|
const floorStr = PIKKU_MIN_VERSIONS[pkg];
|
|
316
356
|
const floor = parseSemver(floorStr);
|
|
317
357
|
if (floor && semverLt(seen.version, floor)) {
|
|
318
|
-
e(`pikku-version-below-min-${pkg.replace(/[@/]/g, '-')}`, `${pkg} is ${seen.version.join('.')} (spec "${seen.spec}") — Fabric requires >= ${floorStr}`, seen.manifest, lines(`Bump ${pkg} to ^${floorStr} (or newer) and reinstall:`, `
|
|
358
|
+
e(`pikku-version-below-min-${pkg.replace(/[@/]/g, '-')}`, `${pkg} is ${seen.version.join('.')} (spec "${seen.spec}") — Fabric requires >= ${floorStr}`, seen.manifest, lines(`Bump ${pkg} to ^${floorStr} (or newer) and reinstall:`, ` bun add ${pkg}@^${floorStr}`, 'Then run `bun install` and re-run `pikku fabric validate`.'));
|
|
319
359
|
}
|
|
320
360
|
}
|
|
321
361
|
}
|
|
@@ -505,30 +545,34 @@ export async function runValidate(startDir = process.cwd(), opts = {}) {
|
|
|
505
545
|
const fnPkgPath = join(fnDir, 'package.json');
|
|
506
546
|
const fnPkg = await readJsonSafe(fnPkgPath);
|
|
507
547
|
if (fnPkg) {
|
|
508
|
-
//
|
|
509
|
-
|
|
510
|
-
|
|
548
|
+
// Both patterns are required, and both are load-bearing: the `.js`-suffixed
|
|
549
|
+
// key resolves a deep generated file, the bare wildcard resolves a leaf
|
|
550
|
+
// name at that leaf's index. Node picks the longer suffix, so declaring
|
|
551
|
+
// only one silently loses half the surface.
|
|
552
|
+
const PIKKU_IMPORTS = 'Add to "imports": { "#pikku/*.js": "./.pikku/*.ts", "#pikku/*": "./.pikku/*/index.ts" }';
|
|
553
|
+
if (!fnPkg.imports?.['#pikku/*.js']) {
|
|
554
|
+
e('functions-pkg-missing-pikku-import', 'packages/functions/package.json is missing "#pikku/*.js" in "imports" — wiring files that import e.g. "#pikku/pikku-fetch.gen.js" fail at runtime with "Cannot find module"', fnPkgPath, PIKKU_IMPORTS);
|
|
511
555
|
}
|
|
512
556
|
if (!fnPkg.imports?.['#pikku/*']) {
|
|
513
|
-
e('functions-pkg-missing-pikku-wildcard-import', 'packages/functions/package.json is missing "#pikku/*" in "imports" —
|
|
557
|
+
e('functions-pkg-missing-pikku-wildcard-import', 'packages/functions/package.json is missing "#pikku/*" in "imports" — files that import a leaf such as "#pikku/function" fail at runtime with "Cannot find module"', fnPkgPath, PIKKU_IMPORTS);
|
|
514
558
|
}
|
|
515
|
-
// .pikku
|
|
516
|
-
// bare Node.js (no tsx), which cannot load .ts files. Every .
|
|
517
|
-
// .pikku/ needs a matching .
|
|
559
|
+
// .pikku leaf index .js wrapper — the sandbox runs `pikku dev` via
|
|
560
|
+
// bare Node.js (no tsx), which cannot load .ts files. Every .ts in
|
|
561
|
+
// .pikku/ needs a matching .js wrapper. The sandbox entrypoint creates
|
|
518
562
|
// these during provisioning but NOT on subsequent restarts after agent
|
|
519
563
|
// edits — so after any restart pikku dev crashes with
|
|
520
|
-
// "Cannot find module '#pikku/
|
|
564
|
+
// "Cannot find module '#pikku/function'". Run `pikku fabric smoke`
|
|
521
565
|
// to test locally; the smoke command recreates the wrappers automatically.
|
|
522
566
|
{
|
|
523
|
-
const
|
|
524
|
-
const
|
|
525
|
-
const
|
|
567
|
+
const leafDir = join(fnDir, '.pikku', 'function');
|
|
568
|
+
const indexTs = join(leafDir, 'index.ts');
|
|
569
|
+
const indexJs = join(leafDir, 'index.js');
|
|
526
570
|
// A warning, not an error: the wrapper is gitignored and recreated by
|
|
527
571
|
// the sandbox entrypoint and `fabric smoke`, so a freshly cloned or
|
|
528
572
|
// freshly scaffolded project never has it. As an error, "validate must
|
|
529
573
|
// pass clean" was unachievable from a clean checkout.
|
|
530
|
-
if (existsSync(
|
|
531
|
-
w('pikku-types-js-wrapper-missing', 'packages/functions/.pikku/
|
|
574
|
+
if (existsSync(indexTs) && !existsSync(indexJs)) {
|
|
575
|
+
w('pikku-types-js-wrapper-missing', 'packages/functions/.pikku/function/index.js is missing — the sandbox runs pikku dev via bare Node.js, which cannot load .ts files; without the .js wrapper it crashes with "Cannot find module \'#pikku/function\'" on every restart', indexTs, lines('Create packages/functions/.pikku/function/index.js:', " import './index.ts';", " export * from './index.ts';", 'Or run `pikku fabric smoke` to test the full boot locally (it creates the wrappers).', 'This file is gitignored — it must be recreated after every `pikku all` run.'));
|
|
532
576
|
}
|
|
533
577
|
}
|
|
534
578
|
const fnAllDeps = {
|
|
@@ -542,10 +586,10 @@ export async function runValidate(startDir = process.cwd(), opts = {}) {
|
|
|
542
586
|
// CF worker runtime deps — must be in dependencies (not dev), every
|
|
543
587
|
// worker entry resolves them at deploy time.
|
|
544
588
|
if (!fnPkg.dependencies?.['@pikku/schema-cfworker']) {
|
|
545
|
-
e('missing-schema-cfworker', '@pikku/schema-cfworker is not in packages/functions dependencies — every Cloudflare worker entry requires it', fnPkgPath, 'Run `
|
|
589
|
+
e('missing-schema-cfworker', '@pikku/schema-cfworker is not in packages/functions dependencies — every Cloudflare worker entry requires it', fnPkgPath, 'Run `bun add @pikku/schema-cfworker` in packages/functions — must be in dependencies, not devDependencies');
|
|
546
590
|
}
|
|
547
591
|
if (!fnPkg.dependencies?.['@pikku/kysely']) {
|
|
548
|
-
e('missing-pikku-kysely', '@pikku/kysely is not in packages/functions dependencies — every Cloudflare worker entry requires it (KyselySecretService)', fnPkgPath, 'Run `
|
|
592
|
+
e('missing-pikku-kysely', '@pikku/kysely is not in packages/functions dependencies — every Cloudflare worker entry requires it (KyselySecretService)', fnPkgPath, 'Run `bun add @pikku/kysely` in packages/functions — must be in dependencies, not devDependencies');
|
|
549
593
|
}
|
|
550
594
|
}
|
|
551
595
|
// Agent units require the AI SDK deps explicitly (not CI-injected). Gate on
|
|
@@ -554,16 +598,16 @@ export async function runValidate(startDir = process.cwd(), opts = {}) {
|
|
|
554
598
|
if (agentMeta && Object.keys(agentMeta.agentsMeta ?? {}).length > 0) {
|
|
555
599
|
const fnPkgPath = join(fnDir, 'package.json');
|
|
556
600
|
if (!fnPkg?.dependencies?.['@pikku/ai-vercel']) {
|
|
557
|
-
e('missing-ai-vercel', 'Project declares agent units but @pikku/ai-vercel is not in packages/functions dependencies', fnPkgPath, 'Run `
|
|
601
|
+
e('missing-ai-vercel', 'Project declares agent units but @pikku/ai-vercel is not in packages/functions dependencies', fnPkgPath, 'Run `bun add @pikku/ai-vercel` in packages/functions — must be in dependencies, not devDependencies');
|
|
558
602
|
}
|
|
559
603
|
if (!fnPkg?.dependencies?.['@ai-sdk/openai-compatible']) {
|
|
560
|
-
e('missing-ai-sdk-openai-compatible', 'Project declares agent units but @ai-sdk/openai-compatible is not in packages/functions dependencies', fnPkgPath, 'Run `
|
|
604
|
+
e('missing-ai-sdk-openai-compatible', 'Project declares agent units but @ai-sdk/openai-compatible is not in packages/functions dependencies', fnPkgPath, 'Run `bun add @ai-sdk/openai-compatible` in packages/functions — must be in dependencies, not devDependencies');
|
|
561
605
|
}
|
|
562
606
|
// `ai` is a peer dep of @pikku/ai-vercel — not auto-installed. Without it
|
|
563
607
|
// `pikku dev` can't construct the agent runner and agents 503 with
|
|
564
608
|
// AIProviderNotConfiguredError.
|
|
565
609
|
if (!fnPkg?.dependencies?.['ai']) {
|
|
566
|
-
e('missing-ai-sdk-core', 'Project declares agent units but `ai` (the Vercel AI SDK) is not in packages/functions dependencies — it is a peer dependency of @pikku/ai-vercel and is not installed automatically', fnPkgPath, 'Run `
|
|
610
|
+
e('missing-ai-sdk-core', 'Project declares agent units but `ai` (the Vercel AI SDK) is not in packages/functions dependencies — it is a peer dependency of @pikku/ai-vercel and is not installed automatically', fnPkgPath, 'Run `bun add ai` in packages/functions — must be in dependencies, not devDependencies');
|
|
567
611
|
}
|
|
568
612
|
}
|
|
569
613
|
// services.ts — its absence is reported by runSharedProjectChecks; what
|
|
@@ -718,8 +762,7 @@ export async function runValidate(startDir = process.cwd(), opts = {}) {
|
|
|
718
762
|
if (existsSync(migrationsDir)) {
|
|
719
763
|
try {
|
|
720
764
|
const migFiles = (await readdir(migrationsDir)).filter((f) => f.endsWith('.sql'));
|
|
721
|
-
const hasAuditTable = (await Promise.all(migFiles.map((f) => readTextSafe(join(migrationsDir, f))))).some((sql) => sql &&
|
|
722
|
-
/CREATE\s+TABLE\s+(?:IF\s+NOT\s+EXISTS\s+)?audit\b/i.test(sql));
|
|
765
|
+
const hasAuditTable = (await Promise.all(migFiles.map((f) => readTextSafe(join(migrationsDir, f))))).some((sql) => !!sql && migrationCreatesTable(sql, 'audit'));
|
|
723
766
|
if (!hasAuditTable) {
|
|
724
767
|
info('audit-table-missing', 'No migration creates the audit table — Fabric audit events will be dropped', migrationsDir, lines('Add a new migration in this directory that creates an `audit` table.', 'Use the starter-template audit migration as the reference shape.', 'Expected columns come from `AuditEvent`:', '- eventId', '- type', '- source', '- outcome', '- occurredAt', '- functionId', '- wireType', '- wireId', '- traceId', '- transactionId', '- queryId', '- actor', '- input', '- metadata', 'At minimum, create the table so Fabric audit writes are not silently dropped.'));
|
|
725
768
|
}
|
|
@@ -736,6 +779,7 @@ export async function runValidate(startDir = process.cwd(), opts = {}) {
|
|
|
736
779
|
// was supposed to report the broken config. Shape-check the entries once here
|
|
737
780
|
// and let the apps/ and type-check passes consume the narrowed list.
|
|
738
781
|
const declaredFrontends = [];
|
|
782
|
+
let hasMantineFrontend = false;
|
|
739
783
|
/** every syntactically valid cwd, including ones whose directory is missing */
|
|
740
784
|
const declaredCwdList = [];
|
|
741
785
|
const rawFrontends = fabricConfig?.frontends;
|
|
@@ -821,6 +865,9 @@ export async function runValidate(startDir = process.cwd(), opts = {}) {
|
|
|
821
865
|
const isReactFrontend = !!(appAllDeps['@mantine/core'] ||
|
|
822
866
|
appAllDeps['@pikku/mantine'] ||
|
|
823
867
|
appAllDeps['react']);
|
|
868
|
+
if (appAllDeps['@mantine/core'] || appAllDeps['@pikku/mantine']) {
|
|
869
|
+
hasMantineFrontend = true;
|
|
870
|
+
}
|
|
824
871
|
if (isReactFrontend) {
|
|
825
872
|
const srcFiles = await listSourceFiles(join(appPath, 'src'));
|
|
826
873
|
let usesMessages = false;
|
|
@@ -914,7 +961,7 @@ export async function runValidate(startDir = process.cwd(), opts = {}) {
|
|
|
914
961
|
}
|
|
915
962
|
}
|
|
916
963
|
if (loginFiles.length > 0 && !hasQuickLogin) {
|
|
917
|
-
e(`app-missing-actor-quick-login-${name}`, `apps/${name} has a login screen (${loginFiles[0]}) but no one-click actor sign-in — nobody can view the app as a scenario persona without a password`, join(appPath, loginFiles[0]), lines('
|
|
964
|
+
e(`app-missing-actor-quick-login-${name}`, `apps/${name} has a login screen (${loginFiles[0]}) but no one-click actor sign-in — nobody can view the app as a scenario persona without a password`, join(appPath, loginFiles[0]), lines('Render the dev-only "Sign in as …" switcher from the login screen.', `In ${loginFiles[0]}:`, " import { DevActorSwitcher } from '@pikku/mantine/dev'", ' <DevActorSwitcher', ' actors={import.meta.env.DEV ? import.meta.env.VITE_DEV_ACTORS : undefined}', ' secret={import.meta.env.DEV ? import.meta.env.VITE_SCENARIO_ACTOR_SECRET : undefined}', ' apiUrl={apiUrl()}', " onSignedIn={() => navigate({ to: '/' })}", ' />', 'The sandbox dev server bakes both env vars from your declared personas;', 'neither is set in production, so the control renders null there.', 'Gate the reads on import.meta.env.DEV as above so the secret never', 'reaches a production bundle. Next.js apps read the NEXT_PUBLIC_* pair.', 'For custom UI, build on useDevActors() from @pikku/react instead.'));
|
|
918
965
|
}
|
|
919
966
|
}
|
|
920
967
|
}
|
|
@@ -943,7 +990,7 @@ export async function runValidate(startDir = process.cwd(), opts = {}) {
|
|
|
943
990
|
}
|
|
944
991
|
}
|
|
945
992
|
if (installDirs.size > 1) {
|
|
946
|
-
e(`dup-physical-copy-${name}-${pkg.replace(/[@/]/g, '-')}`, `apps/${name}: "${pkg}" resolves to ${installDirs.size} distinct physical copies — a module-singleton split (breaks TanStack Start dev SSR → frontend 404)`, appPath, lines(`"${pkg}" is installed more than once (e.g. one hoisted to the repo root and one nested under apps/${name}).`, `Declare "${pkg}" in exactly ONE workspace manifest (the root OR apps/${name}, not both), delete
|
|
993
|
+
e(`dup-physical-copy-${name}-${pkg.replace(/[@/]/g, '-')}`, `apps/${name}: "${pkg}" resolves to ${installDirs.size} distinct physical copies — a module-singleton split (breaks TanStack Start dev SSR → frontend 404)`, appPath, lines(`"${pkg}" is installed more than once (e.g. one hoisted to the repo root and one nested under apps/${name}).`, `Declare "${pkg}" in exactly ONE workspace manifest (the root OR apps/${name}, not both), delete bun.lock, and reinstall so it hoists to a single copy.`, '`resolutions` version-pins do NOT collapse a peer-virtualized duplicate.'));
|
|
947
994
|
}
|
|
948
995
|
}
|
|
949
996
|
}
|
|
@@ -1016,9 +1063,12 @@ export async function runValidate(startDir = process.cwd(), opts = {}) {
|
|
|
1016
1063
|
}
|
|
1017
1064
|
// ── packages/theme + packages/components ──────────────────────────────
|
|
1018
1065
|
const designDocUrl = 'https://pikkufabric.dev/docs/design';
|
|
1066
|
+
const designSeverity = hasMantineFrontend ? w : info;
|
|
1019
1067
|
const themePkgDir = join(root, 'packages', 'mantine-theme');
|
|
1020
1068
|
if (!existsSync(themePkgDir)) {
|
|
1021
|
-
|
|
1069
|
+
designSeverity('theme-missing', hasMantineFrontend
|
|
1070
|
+
? 'packages/mantine-theme/ not found — the Fabric console Design tab has no themes to list and reports "No themes yet"'
|
|
1071
|
+
: 'packages/mantine-theme/ not found — Fabric design features require a theme package', themePkgDir, `Create packages/mantine-theme/ with your Mantine theme tokens. See ${designDocUrl}`);
|
|
1022
1072
|
}
|
|
1023
1073
|
else {
|
|
1024
1074
|
// The Fabric console's Design tab lists a theme only when it can read a
|
|
@@ -1042,7 +1092,7 @@ export async function runValidate(startDir = process.cwd(), opts = {}) {
|
|
|
1042
1092
|
}
|
|
1043
1093
|
}
|
|
1044
1094
|
if (specIds.length === 0) {
|
|
1045
|
-
|
|
1095
|
+
designSeverity('theme-no-spec', 'packages/mantine-theme/ has no themes/<id>.json spec — the Fabric console Design tab reports "no theme set" (and cannot edit the theme) even if the app is branded via a hand-written createTheme()', themesDir, lines('Add a theme spec the console can read:', '1. Create packages/mantine-theme/themes/<id>.json (id is kebab-case), e.g.:', '{', ' "name": "My Brand",', ' "brand": { "colors": { "primary": "#4f46e5" }, "fonts": { "body": "Inter" } },', ' "structure": { "defaultRadius": "md", "defaultColorScheme": "light" }', '}', '2. Create packages/mantine-theme/active.json: { "id": "<id>" }', '3. Build the Mantine theme from the active spec in index.ts.', `See ${designDocUrl}`));
|
|
1046
1096
|
}
|
|
1047
1097
|
else {
|
|
1048
1098
|
// A spec exists — active.json must point at one, else the console has no
|
|
@@ -1059,8 +1109,21 @@ export async function runValidate(startDir = process.cwd(), opts = {}) {
|
|
|
1059
1109
|
}
|
|
1060
1110
|
}
|
|
1061
1111
|
}
|
|
1062
|
-
|
|
1063
|
-
|
|
1112
|
+
// The design server globs stories from apps/*/src/components, not packages/components.
|
|
1113
|
+
const storyFiles = [];
|
|
1114
|
+
let hasComponentKit = false;
|
|
1115
|
+
for (const name of existsSync(appsDir) ? await readdir(appsDir) : []) {
|
|
1116
|
+
const kitDir = join(appsDir, name, 'src', 'components');
|
|
1117
|
+
if (!existsSync(kitDir))
|
|
1118
|
+
continue;
|
|
1119
|
+
hasComponentKit = true;
|
|
1120
|
+
for (const file of await listSourceFiles(kitDir)) {
|
|
1121
|
+
if (file.endsWith('.stories.tsx'))
|
|
1122
|
+
storyFiles.push(file);
|
|
1123
|
+
}
|
|
1124
|
+
}
|
|
1125
|
+
if (hasComponentKit && storyFiles.length === 0) {
|
|
1126
|
+
designSeverity('design-no-stories', "no apps/*/src/components/**/*.stories.tsx found — the Fabric console Design tab's Library and App lenses have nothing to show", join(appsDir, '*', 'src', 'components'), lines('Add a story beside a component. The Library lens reads <Name>.stories.tsx', '(each named export is a visual variant); the App lens reads', '<Name>.app.stories.tsx (each named export is one data state of the query', 'or mutation the page drives it with). A minimal Library story:', '', " import type { Story, StoryMeta } from './csf.types'", " import { Wordmark } from './Wordmark'", '', ' export default {', " title: 'Wordmark',", ' component: Wordmark,', ' } satisfies StoryMeta', '', " export const Default: Story = { args: { name: 'Acme' } }", `See ${designDocUrl}`));
|
|
1064
1127
|
}
|
|
1065
1128
|
// ── frontend type-check (what the build container actually runs) ───────
|
|
1066
1129
|
// Every check above is a heuristic standing in for this compile. The build
|
|
@@ -1129,6 +1192,26 @@ export const renderValidate = (_s, { ok, root, findings }) => {
|
|
|
1129
1192
|
console.log(counts.join(' '));
|
|
1130
1193
|
if (ok) {
|
|
1131
1194
|
console.log();
|
|
1132
|
-
|
|
1195
|
+
// "can be linked" is not "will deploy", and conflating them is how a green
|
|
1196
|
+
// validate is followed straight by a failed deploy. The three
|
|
1197
|
+
// fabric-config findings are info on purpose — an unlinked project is
|
|
1198
|
+
// still worth validating — but reporting unqualified success while the
|
|
1199
|
+
// build container is guaranteed to abort on a missing config is the part
|
|
1200
|
+
// that misleads. So the success line says which of the two it earned.
|
|
1201
|
+
const notLinked = findings.find((f) => [
|
|
1202
|
+
'fabric-config-missing',
|
|
1203
|
+
'fabric-config-no-project-id',
|
|
1204
|
+
'fabric-config-placeholder-project-id',
|
|
1205
|
+
].includes(f.id));
|
|
1206
|
+
if (notLinked) {
|
|
1207
|
+
console.log(added('✓') +
|
|
1208
|
+
' ' +
|
|
1209
|
+
dim('no errors — but the project is not linked, so it cannot deploy yet'));
|
|
1210
|
+
console.log(' ' +
|
|
1211
|
+
dim(`${notLinked.message.split(' — ')[0]}. Run \`pikku fabric link\`.`));
|
|
1212
|
+
}
|
|
1213
|
+
else {
|
|
1214
|
+
console.log(added('✓') + ' ' + dim('no errors — project can be linked to fabric'));
|
|
1215
|
+
}
|
|
1133
1216
|
}
|
|
1134
1217
|
};
|
|
@@ -51,3 +51,26 @@ export declare function assertDeploySafety(cwd?: string): Promise<DeploySafetyRe
|
|
|
51
51
|
* target branch, not "whatever branch I happen to be on".
|
|
52
52
|
*/
|
|
53
53
|
export declare function assertNamedBranchDeploySafety(branch: string, cwd?: string): Promise<DeploySafetyResult>;
|
|
54
|
+
/**
|
|
55
|
+
* Is `relPath` tracked by git in `cwd`?
|
|
56
|
+
*
|
|
57
|
+
* Deploy clones the repository rather than uploading the working tree, so a
|
|
58
|
+
* file that exists only on disk does not exist for the build container. Any
|
|
59
|
+
* check that reads a required file locally has to ask this too, or it passes
|
|
60
|
+
* on the developer's machine and fails after the clone.
|
|
61
|
+
*
|
|
62
|
+
* Returns false rather than throwing when `cwd` is not a git repository. Note
|
|
63
|
+
* what that means for a caller: "not tracked" and "no repository at all" are
|
|
64
|
+
* the same answer, and only the first is a problem worth reporting — a project
|
|
65
|
+
* with no repository cannot be deployed by a clone in any case, and flagging an
|
|
66
|
+
* uncommitted file there is noise. Pair this with `isGitRepo` when the
|
|
67
|
+
* distinction matters.
|
|
68
|
+
*/
|
|
69
|
+
export declare function isTracked(relPath: string, cwd?: string): Promise<boolean>;
|
|
70
|
+
/**
|
|
71
|
+
* Is `cwd` inside a git working tree?
|
|
72
|
+
*
|
|
73
|
+
* Separate from `isTracked` so a caller can tell "this repository does not have
|
|
74
|
+
* the file" from "there is no repository", which are the same `false` there.
|
|
75
|
+
*/
|
|
76
|
+
export declare function isGitRepo(cwd?: string): Promise<boolean>;
|
|
@@ -149,3 +149,42 @@ export async function assertNamedBranchDeploySafety(branch, cwd) {
|
|
|
149
149
|
}
|
|
150
150
|
return { branch, headSha: head, upstream, remoteSha: remote };
|
|
151
151
|
}
|
|
152
|
+
/**
|
|
153
|
+
* Is `relPath` tracked by git in `cwd`?
|
|
154
|
+
*
|
|
155
|
+
* Deploy clones the repository rather than uploading the working tree, so a
|
|
156
|
+
* file that exists only on disk does not exist for the build container. Any
|
|
157
|
+
* check that reads a required file locally has to ask this too, or it passes
|
|
158
|
+
* on the developer's machine and fails after the clone.
|
|
159
|
+
*
|
|
160
|
+
* Returns false rather than throwing when `cwd` is not a git repository. Note
|
|
161
|
+
* what that means for a caller: "not tracked" and "no repository at all" are
|
|
162
|
+
* the same answer, and only the first is a problem worth reporting — a project
|
|
163
|
+
* with no repository cannot be deployed by a clone in any case, and flagging an
|
|
164
|
+
* uncommitted file there is noise. Pair this with `isGitRepo` when the
|
|
165
|
+
* distinction matters.
|
|
166
|
+
*/
|
|
167
|
+
export async function isTracked(relPath, cwd = process.cwd()) {
|
|
168
|
+
try {
|
|
169
|
+
await git(['ls-files', '--error-unmatch', '--', relPath], cwd);
|
|
170
|
+
return true;
|
|
171
|
+
}
|
|
172
|
+
catch {
|
|
173
|
+
return false;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Is `cwd` inside a git working tree?
|
|
178
|
+
*
|
|
179
|
+
* Separate from `isTracked` so a caller can tell "this repository does not have
|
|
180
|
+
* the file" from "there is no repository", which are the same `false` there.
|
|
181
|
+
*/
|
|
182
|
+
export async function isGitRepo(cwd = process.cwd()) {
|
|
183
|
+
try {
|
|
184
|
+
const out = await git(['rev-parse', '--is-inside-work-tree'], cwd);
|
|
185
|
+
return out.trim() === 'true';
|
|
186
|
+
}
|
|
187
|
+
catch {
|
|
188
|
+
return false;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const all: import("#pikku").
|
|
1
|
+
export declare const all: 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,5 +1,15 @@
|
|
|
1
|
+
import type { SecurityAuditIssue, SecurityAuditReport, SecurityAuditUpdate } from '@pikku/core/types';
|
|
1
2
|
type AuditInput = {
|
|
2
3
|
outdated?: boolean;
|
|
3
4
|
};
|
|
4
|
-
|
|
5
|
+
type PackageManager = 'bun' | 'npm' | 'yarn' | 'pnpm' | 'unknown';
|
|
6
|
+
export declare function findProjectRoot(startDir: string): {
|
|
7
|
+
root: string;
|
|
8
|
+
pm: PackageManager;
|
|
9
|
+
};
|
|
10
|
+
export declare function parseBunAudit(raw: string): SecurityAuditIssue[];
|
|
11
|
+
export declare function semverLevel(current: string, latest: string): SecurityAuditUpdate['level'];
|
|
12
|
+
export declare function parseBunOutdated(raw: string): SecurityAuditUpdate[];
|
|
13
|
+
export declare function summarise(tool: PackageManager, issues: SecurityAuditIssue[], updates: SecurityAuditUpdate[], note?: string): SecurityAuditReport;
|
|
14
|
+
export declare const pikkuAudit: import("#pikku/function").PikkuFunctionConfig<AuditInput, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<AuditInput, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<AuditInput, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
|
|
5
15
|
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
|
|
2
2
|
import { dirname, join } from 'node:path';
|
|
3
3
|
import { spawnSync } from 'node:child_process';
|
|
4
|
-
import { pikkuSessionlessFunc } from '#pikku';
|
|
4
|
+
import { pikkuSessionlessFunc } from '#pikku/function';
|
|
5
5
|
const SCHEMA_VERSION = 1;
|
|
6
6
|
const SEVERITY_ORDER = ['critical', 'high', 'moderate', 'low', 'info'];
|
|
7
7
|
// Artifact shape (SecurityAuditReport / …Issue / …Update) is the canonical type
|
|
@@ -10,7 +10,7 @@ const SEVERITY_ORDER = ['critical', 'high', 'moderate', 'low', 'info'];
|
|
|
10
10
|
const stripAnsi = (s) => s.replace(/\x1b\[[0-9;]*m/g, '');
|
|
11
11
|
// Walk up from startDir to the nearest workspace root — the dir whose lockfile
|
|
12
12
|
// the package manager audits. Falls back to startDir.
|
|
13
|
-
function findProjectRoot(startDir) {
|
|
13
|
+
export function findProjectRoot(startDir) {
|
|
14
14
|
let dir = startDir;
|
|
15
15
|
for (let i = 0; i < 12; i++) {
|
|
16
16
|
if (existsSync(join(dir, 'bun.lock')) || existsSync(join(dir, 'bun.lockb')))
|
|
@@ -53,7 +53,7 @@ function normaliseSeverity(sev) {
|
|
|
53
53
|
: 'info';
|
|
54
54
|
}
|
|
55
55
|
// bun audit --json → { "<pkg>": [ { id, url, title, severity, vulnerable_versions, cwe[], cvss:{score} } ] }
|
|
56
|
-
function parseBunAudit(raw) {
|
|
56
|
+
export function parseBunAudit(raw) {
|
|
57
57
|
const issues = [];
|
|
58
58
|
let obj;
|
|
59
59
|
try {
|
|
@@ -90,7 +90,7 @@ function parseBunAudit(raw) {
|
|
|
90
90
|
}
|
|
91
91
|
return issues;
|
|
92
92
|
}
|
|
93
|
-
function semverLevel(current, latest) {
|
|
93
|
+
export function semverLevel(current, latest) {
|
|
94
94
|
const c = String(current)
|
|
95
95
|
.replace(/^[^\d]*/, '')
|
|
96
96
|
.split('.')
|
|
@@ -101,16 +101,24 @@ function semverLevel(current, latest) {
|
|
|
101
101
|
.map((n) => parseInt(n, 10));
|
|
102
102
|
if (Number.isNaN(c[0]) || Number.isNaN(l[0]))
|
|
103
103
|
return 'unknown';
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
104
|
+
// Compare component by component, stopping at the first that differs. Testing
|
|
105
|
+
// each component independently would read 2.0.0 → 1.9.9 as a "minor" bump,
|
|
106
|
+
// and the console offers `patch`/`minor` as the safe one-click update.
|
|
107
|
+
const pairs = [
|
|
108
|
+
[0, 'major'],
|
|
109
|
+
[1, 'minor'],
|
|
110
|
+
[2, 'patch'],
|
|
111
|
+
];
|
|
112
|
+
for (const [i, level] of pairs) {
|
|
113
|
+
const from = c[i] || 0;
|
|
114
|
+
const to = l[i] || 0;
|
|
115
|
+
if (to !== from)
|
|
116
|
+
return to > from ? level : 'unknown';
|
|
117
|
+
}
|
|
110
118
|
return 'unknown';
|
|
111
119
|
}
|
|
112
120
|
// bun outdated has no --json; it prints a table: | Package | Current | Update | Latest |
|
|
113
|
-
function parseBunOutdated(raw) {
|
|
121
|
+
export function parseBunOutdated(raw) {
|
|
114
122
|
const updates = [];
|
|
115
123
|
const seen = new Set();
|
|
116
124
|
for (const line of stripAnsi(raw).split('\n')) {
|
|
@@ -122,9 +130,13 @@ function parseBunOutdated(raw) {
|
|
|
122
130
|
.filter((c) => c.length > 0);
|
|
123
131
|
if (cells.length !== 4)
|
|
124
132
|
continue;
|
|
125
|
-
const [
|
|
126
|
-
if (
|
|
133
|
+
const [cell, current, , latest] = cells;
|
|
134
|
+
if (cell === 'Package' || /^-+$/.test(cell))
|
|
127
135
|
continue;
|
|
136
|
+
// bun annotates the section a dependency comes from — `lodash (dev)`. The
|
|
137
|
+
// name is the key everything downstream joins on (package.json bumps, the
|
|
138
|
+
// advisory → update join), so the annotation cannot travel with it.
|
|
139
|
+
const pkg = cell.replace(/\s+\((?:dev|peer|optional)\)$/, '');
|
|
128
140
|
if (!/^\d/.test(current) || !/^\d/.test(latest))
|
|
129
141
|
continue;
|
|
130
142
|
if (seen.has(pkg))
|
|
@@ -139,7 +151,7 @@ function parseBunOutdated(raw) {
|
|
|
139
151
|
}
|
|
140
152
|
return updates;
|
|
141
153
|
}
|
|
142
|
-
function summarise(tool, issues, updates, note) {
|
|
154
|
+
export function summarise(tool, issues, updates, note) {
|
|
143
155
|
issues.sort((a, b) => SEVERITY_ORDER.indexOf(a.severity) - SEVERITY_ORDER.indexOf(b.severity));
|
|
144
156
|
const count = (arr, key, val) => arr.filter((x) => x[key] === val).length;
|
|
145
157
|
return {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export declare const binary: import("#pikku").PikkuFunctionConfig<{
|
|
1
|
+
export declare const binary: import("#pikku/function").PikkuFunctionConfig<{
|
|
2
2
|
compileTarget?: string;
|
|
3
|
-
}, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{
|
|
3
|
+
}, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<{
|
|
4
4
|
compileTarget?: string;
|
|
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
|
compileTarget?: string;
|
|
7
|
-
}, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
|
|
7
|
+
}, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { resolve, dirname } from 'node:path';
|
|
2
2
|
import { existsSync, mkdirSync } from 'node:fs';
|
|
3
3
|
import { execFileSync } from 'node:child_process';
|
|
4
|
-
import { pikkuSessionlessFunc } from '#pikku';
|
|
4
|
+
import { pikkuSessionlessFunc } from '#pikku/function';
|
|
5
5
|
function targetSuffix(target) {
|
|
6
6
|
return target.replace(/^bun-/, '').replace(/[^a-z0-9_-]/g, '-');
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const bootstrap: import("#pikku").
|
|
1
|
+
export declare const bootstrap: 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,4 +1,4 @@
|
|
|
1
|
-
import { pikkuVoidFunc } from '#pikku';
|
|
1
|
+
import { pikkuVoidFunc } from '#pikku/function';
|
|
2
2
|
export const bootstrap = pikkuVoidFunc({
|
|
3
3
|
remote: true,
|
|
4
4
|
func: async ({ logger, getInspectorState }, _data, { rpc }) => {
|
|
@@ -12,19 +12,20 @@ export const bootstrap = pikkuVoidFunc({
|
|
|
12
12
|
// Stub auth.types.ts (if better-auth is used) so the pikkuBetterAuth
|
|
13
13
|
// re-export resolves before any user file is imported.
|
|
14
14
|
await rpc.invoke('pikkuAuth', { bootstrap: true });
|
|
15
|
-
await rpc.invoke('pikkuFunctionTypes', { bootstrap: true });
|
|
16
15
|
await rpc.invoke('pikkuHTTPTypes');
|
|
17
16
|
await rpc.invoke('pikkuChannelTypes');
|
|
18
17
|
await rpc.invoke('pikkuSchedulerTypes');
|
|
19
18
|
await rpc.invoke('pikkuQueueTypes');
|
|
20
19
|
await rpc.invoke('pikkuWorkflow', { bootstrap: true });
|
|
21
20
|
await rpc.invoke('pikkuTriggerTypes', { bootstrap: true });
|
|
21
|
+
await rpc.invoke('pikkuGatewayTypes', { bootstrap: true });
|
|
22
22
|
await rpc.invoke('pikkuMCPTypes');
|
|
23
23
|
await rpc.invoke('pikkuAgentTypes');
|
|
24
|
-
await rpc.invoke('pikkuNodeTypes');
|
|
25
24
|
await rpc.invoke('pikkuSecretDefinitionTypes');
|
|
25
|
+
await rpc.invoke('pikkuVariableDefinitionTypes');
|
|
26
26
|
await rpc.invoke('pikkuScopeDefinitionTypes');
|
|
27
27
|
await rpc.invoke('pikkuCLITypes', { bootstrap: true });
|
|
28
|
+
await rpc.invoke('pikkuLeafIndexes');
|
|
28
29
|
if (logger.hasCriticalErrors()) {
|
|
29
30
|
process.exit(1);
|
|
30
31
|
}
|
|
@@ -38,7 +38,10 @@ export async function registerBunCoverageLoader({ rootDir, }) {
|
|
|
38
38
|
const loader = args.path.endsWith('.tsx') ? 'tsx' : 'ts';
|
|
39
39
|
if (!shouldInstrument(args.path))
|
|
40
40
|
return { contents: source, loader };
|
|
41
|
-
return {
|
|
41
|
+
return {
|
|
42
|
+
contents: instrumenter.instrumentSync(source, args.path),
|
|
43
|
+
loader,
|
|
44
|
+
};
|
|
42
45
|
});
|
|
43
46
|
},
|
|
44
47
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const dbAudit: import("#pikku").PikkuFunctionConfig<{}, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{}, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<{}, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
|
|
1
|
+
export declare const dbAudit: import("#pikku/function").PikkuFunctionConfig<{}, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<{}, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<{}, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
|
|
@@ -10,4 +10,4 @@
|
|
|
10
10
|
* premise. A database that is behind gets the same report `db check` gives —
|
|
11
11
|
* baselining it would bury a real gap under a history claiming otherwise.
|
|
12
12
|
*/
|
|
13
|
-
export declare const dbBaseline: import("#pikku").PikkuFunctionConfig<{}, void, "rpc" | "session", import("#pikku").PikkuFunctionSessionless<{}, void, "rpc" | "session", import("#pikku").WiredServices, unknown> | import("#pikku").PikkuFunction<{}, void, "rpc" | "session", import("#pikku").WiredServices>, undefined, undefined>;
|
|
13
|
+
export declare const dbBaseline: import("#pikku/function").PikkuFunctionConfig<{}, void, "rpc" | "session", import("#pikku/function").PikkuFunctionSessionless<{}, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown> | import("#pikku/function").PikkuFunction<{}, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
|