@pikku/cli 0.12.144 → 0.12.151
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/console-app/assets/HelpPanel-CxjgE40i.js +1 -0
- package/console-app/assets/{abnfDiagram-N423BO3Z-BIPJyOId.js → abnfDiagram-VCTEODGH-UPW1PlxM.js} +1 -1
- package/console-app/assets/architecture-7GRP2DOG-BQN972Vc.js +1 -0
- package/console-app/assets/architectureDiagram-5GKGNRK7-B3XFrvZk.js +36 -0
- package/console-app/assets/blockDiagram-I7D4REHJ-Ca0v9UJQ.js +129 -0
- package/console-app/assets/c4Diagram-7LVT6UL2-CLewVsj_.js +38 -0
- package/console-app/assets/channel-B8xtOmL3.js +1 -0
- package/console-app/assets/chunk-4HAMMTFA-BwhbhOD9.js +62 -0
- package/console-app/assets/{chunk-NSK5VX7P-VK0slsok.js → chunk-75Z2AOVW-C7nAgNk0.js} +1 -1
- package/console-app/assets/chunk-DU6HZSFF-D4yYAcHt.js +127 -0
- package/console-app/assets/{chunk-2GRJ4B5K-pBREt5-Y.js → chunk-F27PBJKO-UHllOPps.js} +1 -1
- package/console-app/assets/{chunk-KEIR6QF5-BICK3FdT.js → chunk-FOHPRMQF-CoA4358r.js} +9 -9
- package/console-app/assets/chunk-GMAD6QVW-C0l_vm7T.js +72 -0
- package/console-app/assets/chunk-GVQU2GXP-h-H2Oird.js +1 -0
- package/console-app/assets/{chunk-5RXB4S5H-wo8Xtqiv.js → chunk-IMKFNOWR-DJ_W9CSg.js} +2 -2
- package/console-app/assets/chunk-L3NEJ4N5-Ce9oniwE.js +1 -0
- package/console-app/assets/chunk-OSK3NFVY-CdGE5qxS.js +10 -0
- package/console-app/assets/chunk-P2QGCYS3-DK1pHDdz.js +1 -0
- package/console-app/assets/{chunk-KBJHAD2P-PiPaopal.js → chunk-POPQ4Y6H-DjevEFNo.js} +1 -1
- package/console-app/assets/{chunk-4I5QYGJK-SmJ1Rqsn.js → chunk-PWAF6VOD-BVF5N1No.js} +1 -1
- package/console-app/assets/chunk-SHT3W25Y-BX8We-wN.js +168 -0
- package/console-app/assets/{chunk-6Q2QTUOP-B6uqaxr0.js → chunk-SVP7TREG-Cl0GgAPC.js} +1 -1
- package/console-app/assets/{chunk-GF5L2VYU-Cw7tsTe6.js → chunk-TICWLB2K-IWZAWDhu.js} +2 -2
- package/console-app/assets/chunk-XXDRQBXY-CGWcS5Ol.js +1 -0
- package/console-app/assets/classDiagram-ZZMXUADV-OGsmOlmO.js +1 -0
- package/console-app/assets/classDiagram-v2-VYDZK3BY-OGsmOlmO.js +1 -0
- package/console-app/assets/cose-bilkent-JH36ORCC-GsQ0JAnL.js +1 -0
- package/console-app/assets/cynefin-OW5HDTMX-hZsAZp_5.js +1 -0
- package/console-app/assets/{cynefinDiagram-MW4NZA55-BzFWEf8Y.js → cynefinDiagram-5FMLGOSQ-CsyMovx1.js} +1 -1
- package/console-app/assets/cytoscape.esm-B-1iW2ft.js +321 -0
- package/console-app/assets/dagre-BP8XEFz-.js +1 -0
- package/console-app/assets/dagre-GXQ25YYZ-Jg5285rx.js +4 -0
- package/console-app/assets/{diagram-7IWD3JNH-C58VaHJt.js → diagram-S7CK7UJ4-n9JiR8HK.js} +4 -4
- package/console-app/assets/{diagram-UB23O5K3-CmRNd5vm.js → diagram-UQ7AKVKN-Cde-dgbI.js} +1 -1
- package/console-app/assets/{diagram-B4RE2ZJO-B3w3TcXn.js → diagram-VSXAHHWV-CPZUg4FP.js} +1 -1
- package/console-app/assets/{diagram-Q27KOJAE-7oaP3D-d.js → diagram-VX7I27RA-B2rCDWvn.js} +1 -1
- package/console-app/assets/{diagram-LBJQPF4R-L1ZkDsab.js → diagram-Z3DM3KII-UwO0hte3.js} +1 -1
- package/console-app/assets/{ebnfDiagram-BXEA7PRR-D0rxzLaa.js → ebnfDiagram-PWID7BFC-BGJ_PBlS.js} +1 -1
- package/console-app/assets/erDiagram-RLTQ6QDP-CKsTScr3.js +99 -0
- package/console-app/assets/eventmodeling-NTZA5JFV-CnZOTLz3.js +1 -0
- package/console-app/assets/flowDiagram-HODETNUW-TYMCrte8.js +1 -0
- package/console-app/assets/ganttDiagram-EL5Y4UJY-koeTkIEA.js +292 -0
- package/console-app/assets/gitGraph-4MIJSDKK-DyRPbcM4.js +1 -0
- package/console-app/assets/{gitGraphDiagram-DS77QQ5N-JaW7OYCY.js → gitGraphDiagram-WWUBYQGX-DSIejrYw.js} +1 -1
- package/console-app/assets/graphlib-BpQ_697T.js +1 -0
- package/console-app/assets/index-BbJGr-r1.css +1 -0
- package/console-app/assets/index-Du9_fRSw.js +262 -0
- package/console-app/assets/info-A6RAGUB7-C63f9an_.js +1 -0
- package/console-app/assets/{infoDiagram-6WML65LV-DIbMcTbW.js → infoDiagram-27XIBGKW-Dz5gMcUF.js} +1 -1
- package/console-app/assets/{ishikawaDiagram-WSZJBQD7-mozqgfxi.js → ishikawaDiagram-5VMMS53U-m-nTAZTH.js} +1 -1
- package/console-app/assets/{journeyDiagram-NVQOT4AX-CKDrjPz5.js → journeyDiagram-3NMN7TZE-C7mjFY7i.js} +2 -2
- package/console-app/assets/{kanban-definition-27J2QSJJ-B9shPbST.js → kanban-definition-UXKFOSKX-Cm7PqOOP.js} +2 -2
- package/console-app/assets/{katex-CXMH3UgJ.js → katex-ZlcWpGUi.js} +2 -2
- package/console-app/assets/{line-DLrnl2PN.js → line-RZNRGurC.js} +1 -1
- package/console-app/assets/linear-C2IGWMlF.js +1 -0
- package/console-app/assets/{mermaid-parser.core-ElI_yw4f.js → mermaid-parser.core-DN1yDqgB.js} +3 -3
- package/console-app/assets/mermaid.core-DDRs3TbC.js +44 -0
- package/console-app/assets/{mindmap-definition-FAOFIHXS-BTvmLZE7.js → mindmap-definition-YA3MSWOX-o6riOwlF.js} +1 -1
- package/console-app/assets/packet-AYTQ26CC-B89F6gXG.js +1 -0
- package/console-app/assets/{pegDiagram-VL7TDLO6-1hBiUSmO.js → pegDiagram-XKGWAZYB-BQ1AAIaV.js} +1 -1
- package/console-app/assets/pie-WAS4IAKB-CzuwQlQz.js +1 -0
- package/console-app/assets/{pieDiagram-7S7Q4E2Y-vvgYfdFq.js → pieDiagram-E7YTZNPT-DlcGHWGT.js} +1 -1
- package/console-app/assets/{quadrantDiagram-CIZ2JOQS-B_emxK6O.js → quadrantDiagram-AXDQQJYC-DdITwqw-.js} +1 -1
- package/console-app/assets/radar-RG4KPBEZ-DlJ29jAN.js +1 -0
- package/console-app/assets/railroad-74A4TZTK-BL49fdM8.js +1 -0
- package/console-app/assets/railroad-abnf-HS5TGJTU-D9Ej_sin.js +1 -0
- package/console-app/assets/railroad-ebnf-LZEXJU2U-CjzlC3qv.js +1 -0
- package/console-app/assets/railroad-peg-WCYAUIDC-BPa6lIrj.js +1 -0
- package/console-app/assets/{railroadDiagram-AXF67PYL-IXXj_KlB.js → railroadDiagram-O6MQD6OU-BNgQGtF5.js} +1 -1
- package/console-app/assets/{requirementDiagram-LRYGKXZP-B15ZEbec.js → requirementDiagram-BXWQKSXE-48lE_WeD.js} +2 -2
- package/console-app/assets/{sankeyDiagram-W5VNT64P-w-sj_WN8.js → sankeyDiagram-P5KCCOFB-WmTardCP.js} +1 -1
- package/console-app/assets/{sequenceDiagram-SI44F4Z6-BP1UgEbX.js → sequenceDiagram-WJ2MYXX4-Bd5cHDMs.js} +1 -1
- package/console-app/assets/src-BTXg_NtK.js +1 -0
- package/console-app/assets/{stateDiagram-OKZ733FA-DE4L-y3n.js → stateDiagram-D77RDMKH-DBoCkqGv.js} +1 -1
- package/console-app/assets/stateDiagram-v2-MP3YSRHH-BLbaZawL.js +1 -0
- package/console-app/assets/swimlanes-42K2YHIH-lecUPBaK.js +1 -0
- package/console-app/assets/swimlanesDiagram-VR7AAH4N-CM_5HS_7.js +8 -0
- package/console-app/assets/{timeline-definition-Z64GVDOM-Cc8M2qee.js → timeline-definition-24CTP7MA-CWq0OWm1.js} +1 -1
- package/console-app/assets/treeView-Q6P3EWNA-C7lEeqUz.js +1 -0
- package/console-app/assets/treemap-WGGIJYW6-Bkx2DAoI.js +1 -0
- package/console-app/assets/{vennDiagram-T6HMQDX7-dpGyGzMg.js → vennDiagram-4TSXK5OY-Bw_kGRL3.js} +1 -1
- package/console-app/assets/wardley-WFR3VGLG-V0zki2L0.js +1 -0
- package/console-app/assets/{wardleyDiagram-T6FBY63Y-CBvRf8GJ.js → wardleyDiagram-VM6X3IG4-C5vrwEHM.js} +1 -1
- package/console-app/assets/{xychartDiagram-ELKLHX3M-UlPqx-ve.js → xychartDiagram-S5SC5T6Z-B9uA0moC.js} +3 -3
- package/console-app/index.html +2 -3
- package/dist/.pikku/addon/index.d.ts +1 -1
- package/dist/.pikku/addon/index.js +1 -1
- package/dist/.pikku/addon/pikku-addon-types.gen.d.ts +1 -1
- package/dist/.pikku/addon/pikku-addon-types.gen.js +1 -1
- package/dist/.pikku/agent/index.d.ts +1 -1
- package/dist/.pikku/agent/index.js +1 -1
- package/dist/.pikku/agent/pikku-agent-types.gen.d.ts +6 -6
- package/dist/.pikku/agent/pikku-model-aliases.gen.js +1 -1
- package/dist/.pikku/analytics/index.d.ts +7 -0
- package/dist/.pikku/analytics/index.js +7 -0
- package/dist/.pikku/analytics/pikku-analytics-types.gen.d.ts +5 -0
- package/dist/.pikku/analytics/pikku-analytics-types.gen.js +4 -0
- package/dist/.pikku/auth/auth.types.d.ts +1 -1
- package/dist/.pikku/auth/auth.types.js +1 -1
- package/dist/.pikku/auth/index.d.ts +1 -1
- package/dist/.pikku/auth/index.js +1 -1
- package/dist/.pikku/auth/pikku-auth-types.gen.d.ts +1 -1
- package/dist/.pikku/auth/pikku-auth-types.gen.js +1 -1
- package/dist/.pikku/channel/index.d.ts +1 -1
- package/dist/.pikku/channel/index.js +1 -1
- package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +3 -3
- package/dist/.pikku/channel/pikku-channel-types.gen.js +1 -1
- package/dist/.pikku/cli/index.d.ts +1 -1
- package/dist/.pikku/cli/index.js +1 -1
- package/dist/.pikku/cli/pikku-cli-channel.d.ts +7 -7
- package/dist/.pikku/cli/pikku-cli-channel.js +31 -1
- package/dist/.pikku/cli/pikku-cli-client.gen.d.ts +1 -1
- package/dist/.pikku/cli/pikku-cli-client.gen.js +1 -1
- package/dist/.pikku/cli/pikku-cli-contracts-meta.gen.d.ts +1 -1
- package/dist/.pikku/cli/pikku-cli-contracts-meta.gen.js +1 -1
- package/dist/.pikku/cli/pikku-cli-contracts-meta.gen.json +170 -0
- package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +2 -2
- package/dist/.pikku/cli/pikku-cli-types.gen.js +1 -1
- package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +1 -1
- package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.json +170 -0
- package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +1 -1
- package/dist/.pikku/cli/pikku-cli-wirings.gen.js +1 -1
- package/dist/.pikku/cli/pikku-cli.gen.d.ts +1 -1
- package/dist/.pikku/cli/pikku-cli.gen.js +1 -1
- package/dist/.pikku/error/index.d.ts +1 -1
- package/dist/.pikku/error/index.js +1 -1
- package/dist/.pikku/error/pikku-error-types.gen.d.ts +1 -1
- package/dist/.pikku/error/pikku-error-types.gen.js +1 -1
- package/dist/.pikku/function/index.d.ts +1 -1
- package/dist/.pikku/function/index.js +1 -1
- package/dist/.pikku/function/pikku-function-types.gen.d.ts +8 -7
- package/dist/.pikku/function/pikku-function-types.gen.js +1 -1
- package/dist/.pikku/function/pikku-functions-meta.gen.js +1 -1
- package/dist/.pikku/function/pikku-functions-meta.gen.json +235 -27
- package/dist/.pikku/function/pikku-functions.gen.js +9 -1
- package/dist/.pikku/gateway/index.d.ts +1 -1
- package/dist/.pikku/gateway/index.js +1 -1
- package/dist/.pikku/gateway/pikku-gateway-types.gen.d.ts +1 -1
- package/dist/.pikku/gateway/pikku-gateway-types.gen.js +1 -1
- package/dist/.pikku/http/index.d.ts +1 -1
- package/dist/.pikku/http/index.js +1 -1
- package/dist/.pikku/http/pikku-http-types.gen.d.ts +1 -1
- package/dist/.pikku/http/pikku-http-types.gen.js +1 -1
- package/dist/.pikku/mcp/index.d.ts +1 -1
- package/dist/.pikku/mcp/index.js +1 -1
- package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +1 -1
- package/dist/.pikku/mcp/pikku-mcp-types.gen.js +1 -1
- package/dist/.pikku/middleware/index.d.ts +1 -1
- package/dist/.pikku/middleware/index.js +1 -1
- package/dist/.pikku/middleware/pikku-middleware-types.gen.d.ts +1 -1
- package/dist/.pikku/middleware/pikku-middleware-types.gen.js +1 -1
- package/dist/.pikku/pikku-bootstrap-scenarios.gen.d.ts +1 -1
- package/dist/.pikku/pikku-bootstrap-scenarios.gen.js +1 -1
- package/dist/.pikku/pikku-bootstrap.gen.d.ts +1 -1
- package/dist/.pikku/pikku-bootstrap.gen.js +1 -1
- package/dist/.pikku/pikku-services.gen.d.ts +5 -1
- package/dist/.pikku/pikku-services.gen.js +4 -0
- package/dist/.pikku/queue/index.d.ts +1 -1
- package/dist/.pikku/queue/index.js +1 -1
- package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +1 -1
- package/dist/.pikku/queue/pikku-queue-types.gen.js +1 -1
- package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +1 -1
- package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.d.ts +1 -1
- package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.js +1 -1
- package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +1 -1
- package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.json +10 -0
- package/dist/.pikku/scenarios/index.d.ts +1 -1
- package/dist/.pikku/scenarios/index.js +1 -1
- package/dist/.pikku/scenarios/pikku-personas.gen.d.ts +1 -1
- package/dist/.pikku/scenarios/pikku-personas.gen.js +1 -1
- package/dist/.pikku/scenarios/pikku-scenario-functions-meta.gen.js +1 -1
- package/dist/.pikku/scenarios/pikku-scenario-functions.gen.d.ts +1 -1
- package/dist/.pikku/scenarios/pikku-scenario-types.gen.d.ts +1 -1
- package/dist/.pikku/scenarios/pikku-scenario-wirings-meta.gen.js +1 -1
- package/dist/.pikku/scenarios/pikku-scenario-wirings.gen.d.ts +1 -1
- package/dist/.pikku/scenarios/schemas/register.gen.d.ts +1 -1
- package/dist/.pikku/scenarios/schemas/register.gen.js +1 -1
- package/dist/.pikku/scheduler/index.d.ts +1 -1
- package/dist/.pikku/scheduler/index.js +1 -1
- package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
- package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +1 -1
- package/dist/.pikku/schemas/register.gen.js +31 -1
- package/dist/.pikku/schemas/schemas/FabricChangesAskInput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/FabricChangesAskOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/FabricChangesClaimInput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/FabricChangesClaimOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/FabricChangesDoneInput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/FabricChangesDoneOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/FabricChangesListInput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/FabricChangesListOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/FabricChangesShotInput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/FabricChangesShotOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/FabricChangesShowInput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/FabricChangesShowOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/FabricDeployApplyOutput.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/FabricFindingsListOutput.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/FabricProjectsListOutput.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/FabricPublishOutput.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/FabricRollbackOutput.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/FabricSecretsDeleteOutput.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/FabricSecretsRotateOutput.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/PikkuAnalyticsOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/PikkuFeatureFlagsScaffoldOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/PikkuFlagsInput.schema.json +1 -0
- package/dist/.pikku/scopes/index.d.ts +2 -1
- package/dist/.pikku/scopes/index.js +2 -1
- package/dist/.pikku/scopes/pikku-flags-meta.gen.json +1 -0
- package/dist/.pikku/scopes/pikku-flags.gen.d.ts +41 -0
- package/dist/.pikku/scopes/pikku-flags.gen.js +34 -0
- package/dist/.pikku/scopes/pikku-personas.gen.js +1 -1
- package/dist/.pikku/scopes/pikku-roles.gen.d.ts +1 -1
- package/dist/.pikku/scopes/pikku-scope-types.gen.d.ts +2 -1
- package/dist/.pikku/scopes/pikku-scope-types.gen.js +2 -1
- package/dist/.pikku/scopes/pikku-scopes.gen.d.ts +1 -1
- package/dist/.pikku/secrets/index.d.ts +1 -1
- package/dist/.pikku/secrets/index.js +1 -1
- package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +1 -1
- package/dist/.pikku/secrets/pikku-secret-types.gen.js +1 -1
- package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +1 -1
- package/dist/.pikku/secrets/pikku-secrets.gen.js +1 -1
- package/dist/.pikku/services/pikku-meta-service.gen.d.ts +1 -1
- package/dist/.pikku/services/pikku-meta-service.gen.js +1 -1
- package/dist/.pikku/setup/index.d.ts +1 -1
- package/dist/.pikku/setup/index.js +1 -1
- package/dist/.pikku/setup/pikku-setup-types.gen.d.ts +2 -2
- package/dist/.pikku/setup/pikku-setup-types.gen.js +1 -1
- package/dist/.pikku/trigger/index.d.ts +1 -1
- package/dist/.pikku/trigger/index.js +1 -1
- package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +1 -1
- package/dist/.pikku/trigger/pikku-trigger-types.gen.js +1 -1
- package/dist/.pikku/variables/index.d.ts +1 -1
- package/dist/.pikku/variables/index.js +1 -1
- package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +1 -1
- package/dist/.pikku/variables/pikku-variable-types.gen.js +1 -1
- package/dist/.pikku/variables/pikku-variables.gen.d.ts +1 -1
- package/dist/.pikku/variables/pikku-variables.gen.js +1 -1
- package/dist/.pikku/workflow/index.d.ts +1 -1
- package/dist/.pikku/workflow/index.js +1 -1
- package/dist/.pikku/workflow/meta/allWorkflow.gen.json +42 -6
- package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +1 -1
- package/dist/.pikku/workflow/pikku-workflow-types.gen.js +1 -1
- package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +1 -1
- package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +1 -1
- package/dist/bin/pikku-bin.mjs +2 -2
- package/dist/src/deploy/analyzer/analyzer.d.ts +8 -1
- package/dist/src/deploy/analyzer/analyzer.js +212 -52
- package/dist/src/deploy/analyzer/grouping.d.ts +57 -0
- package/dist/src/deploy/analyzer/grouping.js +148 -0
- package/dist/src/deploy/analyzer/index.d.ts +1 -0
- package/dist/src/deploy/analyzer/naming.d.ts +1 -0
- package/dist/src/deploy/analyzer/naming.js +9 -0
- package/dist/src/deploy/build-pipeline.d.ts +2 -0
- package/dist/src/deploy/build-pipeline.js +24 -0
- package/dist/src/fabric/fabric-commands.d.ts +323 -138
- package/dist/src/fabric/fabric-commands.js +135 -0
- package/dist/src/fabric/functions/add.function.d.ts +3 -3
- package/dist/src/fabric/functions/addon-verify.function.d.ts +9 -9
- package/dist/src/fabric/functions/changes-ask.function.d.ts +34 -0
- package/dist/src/fabric/functions/changes-ask.function.js +30 -0
- package/dist/src/fabric/functions/changes-claim.function.d.ts +50 -0
- package/dist/src/fabric/functions/changes-claim.function.js +43 -0
- package/dist/src/fabric/functions/changes-done.function.d.ts +55 -0
- package/dist/src/fabric/functions/changes-done.function.js +59 -0
- package/dist/src/fabric/functions/changes-list.function.d.ts +60 -0
- package/dist/src/fabric/functions/changes-list.function.js +82 -0
- package/dist/src/fabric/functions/changes-shot.function.d.ts +66 -0
- package/dist/src/fabric/functions/changes-shot.function.js +56 -0
- package/dist/src/fabric/functions/changes-show.function.d.ts +41 -0
- package/dist/src/fabric/functions/changes-show.function.js +80 -0
- package/dist/src/fabric/functions/db-schema.function.d.ts +3 -3
- package/dist/src/fabric/functions/deploy-list.function.d.ts +3 -3
- package/dist/src/fabric/functions/deploy-units.function.d.ts +3 -3
- package/dist/src/fabric/functions/deploy.function.d.ts +12 -12
- package/dist/src/fabric/functions/deploy.function.js +6 -5
- package/dist/src/fabric/functions/domains-add.function.d.ts +7 -7
- package/dist/src/fabric/functions/domains-list.function.d.ts +3 -3
- package/dist/src/fabric/functions/domains-remove.function.d.ts +3 -3
- package/dist/src/fabric/functions/errors.function.d.ts +3 -3
- package/dist/src/fabric/functions/findings-clear.function.d.ts +3 -3
- package/dist/src/fabric/functions/findings-flush.function.d.ts +3 -3
- package/dist/src/fabric/functions/findings-list.function.d.ts +3 -3
- package/dist/src/fabric/functions/init.function.d.ts +3 -3
- package/dist/src/fabric/functions/link.function.d.ts +3 -3
- package/dist/src/fabric/functions/link.function.js +3 -2
- package/dist/src/fabric/functions/llm-key.function.d.ts +9 -9
- package/dist/src/fabric/functions/login.function.d.ts +3 -3
- package/dist/src/fabric/functions/logs.function.d.ts +3 -3
- package/dist/src/fabric/functions/logs.function.js +2 -1
- package/dist/src/fabric/functions/metrics.function.d.ts +3 -3
- package/dist/src/fabric/functions/projects-list.function.d.ts +3 -3
- package/dist/src/fabric/functions/publish.function.d.ts +3 -3
- package/dist/src/fabric/functions/report.function.d.ts +15 -15
- package/dist/src/fabric/functions/rollback.function.d.ts +9 -9
- package/dist/src/fabric/functions/secrets-delete.function.d.ts +3 -3
- package/dist/src/fabric/functions/secrets-list.function.d.ts +3 -3
- package/dist/src/fabric/functions/secrets-rotate.function.d.ts +3 -3
- package/dist/src/fabric/functions/secrets-set.function.d.ts +3 -3
- package/dist/src/fabric/functions/smoke.function.d.ts +3 -3
- package/dist/src/fabric/functions/status.function.d.ts +3 -3
- package/dist/src/fabric/functions/trace.function.d.ts +3 -3
- package/dist/src/fabric/functions/validate.function.d.ts +7 -7
- package/dist/src/fabric/functions/variables-get.function.d.ts +3 -3
- package/dist/src/fabric/functions/variables-set.function.d.ts +6 -6
- package/dist/src/fabric/lib/changes.d.ts +38 -0
- package/dist/src/fabric/lib/changes.js +70 -0
- package/dist/src/fabric/lib/errors.d.ts +21 -0
- package/dist/src/fabric/lib/errors.js +21 -0
- package/dist/src/fabric/lib/finding.d.ts +3 -3
- package/dist/src/fabric/lib/git.d.ts +3 -2
- package/dist/src/fabric/lib/git.js +10 -8
- package/dist/src/fabric/lib/output.d.ts +20 -0
- package/dist/src/fabric/lib/output.js +32 -7
- package/dist/src/functions/commands/all.d.ts +1 -1
- package/dist/src/functions/commands/audit.d.ts +1 -1
- package/dist/src/functions/commands/binary.d.ts +3 -3
- package/dist/src/functions/commands/bootstrap.d.ts +1 -1
- package/dist/src/functions/commands/bootstrap.js +3 -0
- package/dist/src/functions/commands/db-audit.d.ts +1 -1
- package/dist/src/functions/commands/db-baseline.d.ts +1 -1
- package/dist/src/functions/commands/db-check.d.ts +1 -1
- package/dist/src/functions/commands/db-codegen.d.ts +1 -1
- package/dist/src/functions/commands/db-export.d.ts +1 -1
- package/dist/src/functions/commands/db-generate.d.ts +1 -1
- package/dist/src/functions/commands/db-migrate.d.ts +1 -1
- package/dist/src/functions/commands/db-reset.d.ts +3 -3
- package/dist/src/functions/commands/deploy-apply.d.ts +3 -3
- package/dist/src/functions/commands/deploy-apply.js +36 -3
- package/dist/src/functions/commands/deploy-info.d.ts +1 -1
- package/dist/src/functions/commands/deploy-plan.d.ts +3 -3
- package/dist/src/functions/commands/deploy-plan.js +2 -0
- package/dist/src/functions/commands/dev-agent-runner.d.ts +9 -7
- package/dist/src/functions/commands/dev-agent-runner.js +56 -12
- package/dist/src/functions/commands/dev.d.ts +3 -3
- package/dist/src/functions/commands/dev.js +60 -6
- package/dist/src/functions/commands/dist.d.ts +3 -3
- package/dist/src/functions/commands/dist.js +2 -9
- package/dist/src/functions/commands/doc.d.ts +3 -3
- package/dist/src/functions/commands/emails-init.d.ts +1 -1
- package/dist/src/functions/commands/enable.d.ts +9 -9
- package/dist/src/functions/commands/import-n8n.d.ts +3 -3
- package/dist/src/functions/commands/info.d.ts +4 -4
- package/dist/src/functions/commands/init-or-warn.d.ts +19 -0
- package/dist/src/functions/commands/init-or-warn.js +25 -0
- package/dist/src/functions/commands/knowledge-index.d.ts +6 -6
- package/dist/src/functions/commands/knowledge-plan.d.ts +15 -15
- package/dist/src/functions/commands/knowledge-reconcile.d.ts +6 -6
- package/dist/src/functions/commands/knowledge-validate.d.ts +6 -6
- package/dist/src/functions/commands/login.d.ts +7 -7
- package/dist/src/functions/commands/meta.d.ts +34 -34
- package/dist/src/functions/commands/new-addon.d.ts +3 -3
- package/dist/src/functions/commands/new-function.d.ts +3 -3
- package/dist/src/functions/commands/new-middleware.d.ts +3 -3
- package/dist/src/functions/commands/new-permission.d.ts +3 -3
- package/dist/src/functions/commands/new-wiring.d.ts +3 -3
- package/dist/src/functions/commands/persona-sync.d.ts +3 -3
- package/dist/src/functions/commands/persona.d.ts +7 -7
- package/dist/src/functions/commands/pikku-command-bootstrap.d.ts +1 -1
- package/dist/src/functions/commands/pikku-command-summary.d.ts +1 -1
- package/dist/src/functions/commands/roles-audit.d.ts +1 -1
- package/dist/src/functions/commands/roles-prune.d.ts +3 -3
- package/dist/src/functions/commands/scenario.d.ts +7 -7
- package/dist/src/functions/commands/scopes-audit.d.ts +1 -1
- package/dist/src/functions/commands/scopes-prune.d.ts +3 -3
- package/dist/src/functions/commands/semver.d.ts +1 -1
- package/dist/src/functions/commands/serve.d.ts +3 -3
- package/dist/src/functions/commands/serve.js +40 -3
- package/dist/src/functions/commands/skills.d.ts +6 -6
- package/dist/src/functions/commands/update.d.ts +1 -1
- package/dist/src/functions/commands/validate.d.ts +6 -6
- package/dist/src/functions/commands/versions-check.d.ts +1 -1
- package/dist/src/functions/commands/versions-init.d.ts +3 -3
- package/dist/src/functions/commands/versions-update.d.ts +1 -1
- package/dist/src/functions/commands/watch.d.ts +3 -3
- package/dist/src/functions/db/zod-codegen.d.ts +19 -19
- package/dist/src/functions/knowledge/schemas.d.ts +5 -5
- package/dist/src/functions/runtimes/fetch/index.d.ts +1 -1
- package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.d.ts +1 -1
- package/dist/src/functions/runtimes/tanstack-start/pikku-command-tanstack-start.d.ts +1 -1
- package/dist/src/functions/runtimes/websocket/pikku-command-websocket-typed.d.ts +1 -1
- package/dist/src/functions/surface/build-surface-doc.js +1 -1
- package/dist/src/functions/surface/surface-doc.types.d.ts +1 -1
- package/dist/src/functions/surface/surface-editorial.js +5 -0
- package/dist/src/functions/validate/pikku-barrel-checks.js +2 -22
- package/dist/src/functions/validate/validate.d.ts +2 -2
- package/dist/src/functions/validate/websocket-deps-checks.d.ts +1 -1
- package/dist/src/functions/wirings/agent/pikku-command-agent-types.d.ts +1 -1
- package/dist/src/functions/wirings/agent/pikku-command-agent.d.ts +1 -1
- package/dist/src/functions/wirings/agent/pikku-command-public-agent.d.ts +1 -1
- package/dist/src/functions/wirings/agent-scorer/pikku-command-agent-scorer.d.ts +1 -1
- package/dist/src/functions/wirings/analytics/pikku-command-analytics.d.ts +11 -0
- package/dist/src/functions/wirings/analytics/pikku-command-analytics.js +66 -0
- package/dist/src/functions/wirings/analytics/serialize-analytics.d.ts +30 -0
- package/dist/src/functions/wirings/analytics/serialize-analytics.js +141 -0
- package/dist/src/functions/wirings/auth/pikku-command-auth.d.ts +3 -3
- package/dist/src/functions/wirings/auth/pikku-command-auth.js +2 -6
- package/dist/src/functions/wirings/auth/serialize-auth-gen.d.ts +1 -1
- package/dist/src/functions/wirings/auth/serialize-auth-gen.js +15 -36
- package/dist/src/functions/wirings/channels/pikku-command-channel-types.d.ts +1 -1
- package/dist/src/functions/wirings/channels/pikku-command-channels-map.d.ts +1 -1
- package/dist/src/functions/wirings/channels/pikku-command-channels.d.ts +1 -1
- package/dist/src/functions/wirings/cli/pikku-command-cli-entry.d.ts +1 -1
- package/dist/src/functions/wirings/cli/pikku-command-cli-types.d.ts +1 -1
- package/dist/src/functions/wirings/cli/pikku-command-cli.d.ts +1 -1
- package/dist/src/functions/wirings/console/pikku-command-console-functions.d.ts +1 -1
- package/dist/src/functions/wirings/console/pikku-command-nodes-meta.d.ts +1 -1
- package/dist/src/functions/wirings/credentials/pikku-command-credentials.d.ts +1 -1
- package/dist/src/functions/wirings/emails/pikku-command-emails.d.ts +1 -1
- package/dist/src/functions/wirings/errors/pikku-command-error-types.d.ts +1 -1
- package/dist/src/functions/wirings/flags/pikku-command-feature-flags-scaffold.d.ts +1 -0
- package/dist/src/functions/wirings/flags/pikku-command-feature-flags-scaffold.js +36 -0
- package/dist/src/functions/wirings/flags/pikku-command-flags.d.ts +7 -0
- package/dist/src/functions/wirings/flags/pikku-command-flags.js +36 -0
- package/dist/src/functions/wirings/flags/serialize-feature-flags-scaffold.d.ts +13 -0
- package/dist/src/functions/wirings/flags/serialize-feature-flags-scaffold.js +73 -0
- package/dist/src/functions/wirings/flags/serialize-flags-types.d.ts +14 -0
- package/dist/src/functions/wirings/flags/serialize-flags-types.js +68 -0
- package/dist/src/functions/wirings/functions/pikku-command-addon-types.d.ts +1 -1
- package/dist/src/functions/wirings/functions/pikku-command-function-types-split.d.ts +3 -3
- package/dist/src/functions/wirings/functions/pikku-command-function-types-split.js +1 -1
- package/dist/src/functions/wirings/functions/pikku-command-functions.d.ts +1 -1
- package/dist/src/functions/wirings/functions/pikku-command-leaf-indexes.d.ts +2 -2
- package/dist/src/functions/wirings/functions/pikku-command-leaf-indexes.js +2 -1
- package/dist/src/functions/wirings/functions/pikku-command-services.d.ts +1 -1
- package/dist/src/functions/wirings/functions/pikku-command-services.js +9 -2
- package/dist/src/functions/wirings/functions/schemas.d.ts +1 -1
- package/dist/src/functions/wirings/functions/serialize-function-types.d.ts +1 -1
- package/dist/src/functions/wirings/functions/serialize-function-types.js +9 -4
- package/dist/src/functions/wirings/gateway/pikku-command-gateway-types.d.ts +3 -3
- package/dist/src/functions/wirings/gateway/pikku-command-gateway.d.ts +1 -1
- package/dist/src/functions/wirings/graph/pikku-command-graph-wirings.d.ts +1 -1
- package/dist/src/functions/wirings/http/pikku-command-http-map.d.ts +1 -1
- package/dist/src/functions/wirings/http/pikku-command-http-routes.d.ts +1 -1
- package/dist/src/functions/wirings/http/pikku-command-http-types.d.ts +1 -1
- package/dist/src/functions/wirings/http/pikku-command-openapi.d.ts +1 -1
- package/dist/src/functions/wirings/mcp/pikku-command-mcp-json.d.ts +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.d.ts +1 -1
- package/dist/src/functions/wirings/middleware/pikku-command-middleware.d.ts +1 -1
- package/dist/src/functions/wirings/package/pikku-command-package-types.d.ts +4 -3
- package/dist/src/functions/wirings/package/pikku-command-package-types.js +14 -1
- package/dist/src/functions/wirings/package/pikku-command-package.d.ts +1 -1
- package/dist/src/functions/wirings/package/serialize-package-types.d.ts +1 -0
- package/dist/src/functions/wirings/package/serialize-package-types.js +15 -0
- package/dist/src/functions/wirings/permissions/pikku-command-permissions.d.ts +1 -1
- package/dist/src/functions/wirings/personas/pikku-command-personas.d.ts +3 -3
- package/dist/src/functions/wirings/queue/pikku-command-queue-map.d.ts +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-types.d.ts +1 -1
- package/dist/src/functions/wirings/queue/pikku-command-queue.d.ts +1 -1
- package/dist/src/functions/wirings/queue/pikku-queue-map.d.ts +1 -1
- package/dist/src/functions/wirings/realtime/pikku-command-events-scaffold.d.ts +1 -1
- package/dist/src/functions/wirings/realtime/pikku-command-realtime.d.ts +1 -1
- package/dist/src/functions/wirings/remote-jobs/pikku-command-remote-jobs.d.ts +1 -1
- package/dist/src/functions/wirings/roles/pikku-command-roles.d.ts +3 -3
- package/dist/src/functions/wirings/rpc/pikku-command-public-rpc.d.ts +1 -1
- package/dist/src/functions/wirings/rpc/pikku-command-react-query.d.ts +1 -1
- package/dist/src/functions/wirings/rpc/pikku-command-remote-rpc.d.ts +1 -1
- package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.d.ts +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.d.ts +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.d.ts +1 -1
- package/dist/src/functions/wirings/scopes/pikku-command-scopes.d.ts +3 -3
- package/dist/src/functions/wirings/secrets/pikku-command-secrets.d.ts +1 -1
- package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.d.ts +3 -3
- package/dist/src/functions/wirings/triggers/pikku-command-trigger.d.ts +1 -1
- package/dist/src/functions/wirings/variables/pikku-command-variables.d.ts +1 -1
- package/dist/src/functions/wirings/virtual-user/pikku-command-virtual-user-functions.d.ts +1 -1
- package/dist/src/functions/wirings/webhook/pikku-command-webhook.d.ts +1 -1
- package/dist/src/functions/wirings/workflow/pikku-command-workflow-routes.d.ts +1 -1
- package/dist/src/functions/wirings/workflow/pikku-command-workflow.d.ts +1 -1
- package/dist/src/functions/workflows/all.workflow.js +34 -9
- package/dist/src/services.js +7 -0
- package/dist/src/utils/analytics-schemas-file.d.ts +6 -0
- package/dist/src/utils/analytics-schemas-file.js +9 -0
- package/dist/src/utils/file-import-path.js +4 -1
- package/dist/src/utils/pikku-cli-config.d.ts +2 -2
- package/dist/src/utils/pikku-cli-config.js +28 -0
- package/dist/src/utils/remove-legacy-scaffold-file.js +4 -0
- package/dist/src/utils/resolve-from-project.d.ts +5 -0
- package/dist/src/utils/resolve-from-project.js +8 -2
- package/dist/src/utils/tsc-check.d.ts +11 -15
- package/dist/src/utils/tsc-check.js +97 -86
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +32 -25
- package/snippets.json +1 -1
- package/surface.json +743 -27
- package/CHANGELOG.md +0 -9599
- package/console-app/assets/HelpPanel-nYO2hRY5.js +0 -1
- package/console-app/assets/architecture-TIHT7OUA-B-c05-x5.js +0 -1
- package/console-app/assets/architectureDiagram-T3A2C74G-BAH1O4B7.js +0 -36
- package/console-app/assets/blockDiagram-VBNYF7ZC-T3kmcPgj.js +0 -132
- package/console-app/assets/c4Diagram-5PPSVZJV-DRva89Br.js +0 -10
- package/console-app/assets/channel-DJ3jfSNX.js +0 -1
- package/console-app/assets/chunk-7BUUIJ7U-Bb538aSH.js +0 -1
- package/console-app/assets/chunk-7Z6QIM7H-uxzNGOHh.js +0 -10
- package/console-app/assets/chunk-I66GZJ75-DksrbEtn.js +0 -127
- package/console-app/assets/chunk-JQJVKLGR-BnRvPhDK.js +0 -156
- package/console-app/assets/chunk-QR6OTTB3-CgQotuzQ.js +0 -62
- package/console-app/assets/chunk-RYQCIY6F-Cei0abOq.js +0 -1
- package/console-app/assets/chunk-UBXNYLIW-B55XJk4O.js +0 -1
- package/console-app/assets/chunk-W5SLKNZC-gFa01tuI.js +0 -1
- package/console-app/assets/chunk-WRU74C26-C3ESZQ-F.js +0 -70
- package/console-app/assets/chunk-XXDRQBXY-D0tL6SVk.js +0 -1
- package/console-app/assets/classDiagram-JCYQIIEL-BqEwCDi8.js +0 -1
- package/console-app/assets/classDiagram-v2-OCEON4UE-BqEwCDi8.js +0 -1
- package/console-app/assets/cose-bilkent-JH36ORCC-CUxqwjs-.js +0 -1
- package/console-app/assets/cynefin-VYW2F7L2-Dh1yOBBs.js +0 -1
- package/console-app/assets/cytoscape.esm-B-NFISlW.js +0 -321
- package/console-app/assets/dagre-DKjebq_c.js +0 -1
- package/console-app/assets/dagre-VZM6K2ZE-BllFBMe9.js +0 -4
- package/console-app/assets/erDiagram-JOGREHBK-Bg0FPLS0.js +0 -85
- package/console-app/assets/eventmodeling-45OFAUF4-CVovwmpS.js +0 -1
- package/console-app/assets/flowDiagram-UKHOOZJN-DwRgEyXD.js +0 -1
- package/console-app/assets/ganttDiagram-PKOTCBZU-BBxxHrPG.js +0 -292
- package/console-app/assets/gitGraph-TEB2WS4Q-Cn1MjFvM.js +0 -1
- package/console-app/assets/graphlib-IlWVLY3o.js +0 -1
- package/console-app/assets/index-C8MC-uMB.css +0 -1
- package/console-app/assets/index-Deds7K2I.js +0 -290
- package/console-app/assets/info-DKCQHKI2-C2R7hV-y.js +0 -1
- package/console-app/assets/isUndefined-T4snU1Mx.js +0 -1
- package/console-app/assets/linear-BQOZezXu.js +0 -1
- package/console-app/assets/map-BmPfXn7V.js +0 -1
- package/console-app/assets/mermaid.core-B02bSmuz.js +0 -42
- package/console-app/assets/packet-7NZHBO7P-CkYMF0Cd.js +0 -1
- package/console-app/assets/pie-RZYD4A2V-BFMvieVM.js +0 -1
- package/console-app/assets/radar-I7S5WNFK-C_2tp7_w.js +0 -1
- package/console-app/assets/railroad-3IZDKUUU-DwlFJLv5.js +0 -1
- package/console-app/assets/railroad-abnf-AHOZXSZD-Cyu_rpdZ.js +0 -1
- package/console-app/assets/railroad-ebnf-EBAXGLYW-BLiwK-H7.js +0 -1
- package/console-app/assets/railroad-peg-LSFZ7HO6-BUDTDYmP.js +0 -1
- package/console-app/assets/src-BI35UZf8.js +0 -1
- package/console-app/assets/stateDiagram-v2-UEYNNEHI-BsP8TwKV.js +0 -1
- package/console-app/assets/swimlanes-SLNWSIFB-DvAJxCGQ.js +0 -2
- package/console-app/assets/swimlanesDiagram-ULZ7WXOC-BAXO3Id2.js +0 -8
- package/console-app/assets/treeView-QDETBFTQ-DnlS0s0_.js +0 -1
- package/console-app/assets/treemap-6X3UGDF4-CiUoxlJe.js +0 -1
- package/console-app/assets/wardley-OPB4EBWU-DrTySJtR.js +0 -1
- package/dist/.pikku/console/index.d.ts +0 -1
- package/dist/.pikku/console/index.js +0 -1
- package/dist/.pikku/console/pikku-node-types.gen.d.ts +0 -6
- package/dist/.pikku/console/pikku-node-types.gen.js +0 -1
- package/dist/.pikku/pikku-meta-service.gen.d.ts +0 -7
- package/dist/.pikku/pikku-meta-service.gen.js +0 -9
- package/dist/.pikku/pikku-types.gen.d.ts +0 -17
- package/dist/.pikku/pikku-types.gen.js +0 -28
- package/dist/.pikku/workflow/pikku-personas.gen.d.ts +0 -15
- package/dist/.pikku/workflow/pikku-personas.gen.js +0 -17
- package/dist/src/functions/surface/collect-surface.d.ts +0 -58
- package/dist/src/functions/surface/collect-surface.js +0 -613
- /package/console-app/assets/{sizeCapture-X5ZJPWSS-B0uUizjq.js → sizeCapture-INFHLROL-B0uUizjq.js} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export declare const pikkuTriggerTypes: import("#pikku/function").PikkuFunctionConfig<{
|
|
2
2
|
bootstrap?: boolean;
|
|
3
|
-
}, void, "rpc" | "session", import("#pikku/function").
|
|
3
|
+
}, void, "rpc" | "session", import("#pikku/function").PikkuFunction<{
|
|
4
4
|
bootstrap?: boolean;
|
|
5
|
-
}, void, "rpc" | "session", import("#pikku/function").WiredServices
|
|
5
|
+
}, void, "rpc" | "session", import("#pikku/function").WiredServices> | import("#pikku/function").PikkuFunctionSessionless<{
|
|
6
6
|
bootstrap?: boolean;
|
|
7
|
-
}, void, "rpc" | "session", import("#pikku/function").WiredServices>, undefined, undefined>;
|
|
7
|
+
}, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown>, undefined, undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const pikkuTrigger: import("#pikku/function").PikkuFunctionConfig<void, boolean | undefined, "rpc" | "session", import("#pikku/function").
|
|
1
|
+
export declare const pikkuTrigger: import("#pikku/function").PikkuFunctionConfig<void, boolean | undefined, "rpc" | "session", import("#pikku/function").PikkuFunction<void, boolean | undefined, "rpc" | "session", import("#pikku/function").WiredServices> | import("#pikku/function").PikkuFunctionSessionless<void, boolean | undefined, "rpc" | "session", import("#pikku/function").WiredServices, unknown>, undefined, undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const pikkuVariables: import("#pikku/function").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku/function").
|
|
1
|
+
export declare const pikkuVariables: import("#pikku/function").PikkuFunctionConfig<void, void, "rpc" | "session", import("#pikku/function").PikkuFunction<void, void, "rpc" | "session", import("#pikku/function").WiredServices> | import("#pikku/function").PikkuFunctionSessionless<void, void, "rpc" | "session", import("#pikku/function").WiredServices, unknown>, undefined, undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const pikkuVirtualUserFunctions: import("#pikku/function").PikkuFunctionConfig<void, boolean, "rpc" | "session", import("#pikku/function").
|
|
1
|
+
export declare const pikkuVirtualUserFunctions: import("#pikku/function").PikkuFunctionConfig<void, boolean, "rpc" | "session", import("#pikku/function").PikkuFunction<void, boolean, "rpc" | "session", import("#pikku/function").WiredServices> | import("#pikku/function").PikkuFunctionSessionless<void, boolean, "rpc" | "session", import("#pikku/function").WiredServices, unknown>, undefined, undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const pikkuWebhook: import("#pikku/function").PikkuFunctionConfig<void, boolean, "rpc" | "session", import("#pikku/function").
|
|
1
|
+
export declare const pikkuWebhook: import("#pikku/function").PikkuFunctionConfig<void, boolean, "rpc" | "session", import("#pikku/function").PikkuFunction<void, boolean, "rpc" | "session", import("#pikku/function").WiredServices> | import("#pikku/function").PikkuFunctionSessionless<void, boolean, "rpc" | "session", import("#pikku/function").WiredServices, unknown>, undefined, undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const pikkuWorkflowRoutes: import("#pikku/function").PikkuFunctionConfig<void, boolean, "rpc" | "session", import("#pikku/function").
|
|
1
|
+
export declare const pikkuWorkflowRoutes: import("#pikku/function").PikkuFunctionConfig<void, boolean, "rpc" | "session", import("#pikku/function").PikkuFunction<void, boolean, "rpc" | "session", import("#pikku/function").WiredServices> | import("#pikku/function").PikkuFunctionSessionless<void, boolean, "rpc" | "session", import("#pikku/function").WiredServices, unknown>, undefined, undefined>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
type WorkflowCommandInput = {
|
|
2
2
|
bootstrap?: boolean;
|
|
3
3
|
};
|
|
4
|
-
export declare const pikkuWorkflow: import("#pikku/function").PikkuFunctionConfig<WorkflowCommandInput, boolean | undefined, "rpc" | "session", import("#pikku/function").
|
|
4
|
+
export declare const pikkuWorkflow: import("#pikku/function").PikkuFunctionConfig<WorkflowCommandInput, boolean | undefined, "rpc" | "session", import("#pikku/function").PikkuFunction<WorkflowCommandInput, boolean | undefined, "rpc" | "session", import("#pikku/function").WiredServices> | import("#pikku/function").PikkuFunctionSessionless<WorkflowCommandInput, boolean | undefined, "rpc" | "session", import("#pikku/function").WiredServices, unknown>, undefined, undefined>;
|
|
5
5
|
export {};
|
|
@@ -16,6 +16,13 @@ const scaffoldFiles = (config) => {
|
|
|
16
16
|
});
|
|
17
17
|
if (config.scaffold?.rpc && config.publicRpcFile)
|
|
18
18
|
files.push({ file: config.publicRpcFile, generator: 'pikkuPublicRPC' });
|
|
19
|
+
if (config.scaffold?.analytics && config.analyticsFile)
|
|
20
|
+
files.push({ file: config.analyticsFile, generator: 'pikkuAnalytics' });
|
|
21
|
+
if (config.scaffold?.featureFlags && config.featureFlagsFile)
|
|
22
|
+
files.push({
|
|
23
|
+
file: config.featureFlagsFile,
|
|
24
|
+
generator: 'pikkuFeatureFlagsScaffold',
|
|
25
|
+
});
|
|
19
26
|
if (config.scaffold?.console && config.consoleFunctionsFile)
|
|
20
27
|
files.push({
|
|
21
28
|
file: config.consoleFunctionsFile,
|
|
@@ -66,14 +73,15 @@ export const allWorkflow = pikkuWorkflowComplexFunc({
|
|
|
66
73
|
await workflow.do('Bootstrap inspect', async () => {
|
|
67
74
|
await getInspectorState(false, true, true);
|
|
68
75
|
});
|
|
69
|
-
//
|
|
70
|
-
//
|
|
71
|
-
// inspector reading a project's zod schemas, for one — fails until
|
|
72
|
-
//
|
|
76
|
+
// All before the function types: the function leaf imports ScopeId and
|
|
77
|
+
// FeatureFlagName from these, so any later import of '#pikku/function' —
|
|
78
|
+
// the inspector reading a project's zod schemas, for one — fails until
|
|
79
|
+
// they exist.
|
|
73
80
|
await workflow.do('Bootstrap scope definition types', 'pikkuScopeDefinitionTypes', null);
|
|
74
81
|
await workflow.do('Bootstrap error types', 'pikkuErrorTypes', null);
|
|
75
82
|
await workflow.do('Bootstrap scopes', 'pikkuScopes', { bootstrap: true });
|
|
76
83
|
await workflow.do('Bootstrap roles', 'pikkuRoles', { bootstrap: true });
|
|
84
|
+
await workflow.do('Bootstrap flags', 'pikkuFlags', { bootstrap: true });
|
|
77
85
|
await workflow.do('Bootstrap personas', 'pikkuPersonas', {
|
|
78
86
|
bootstrap: true,
|
|
79
87
|
});
|
|
@@ -140,6 +148,7 @@ export const allWorkflow = pikkuWorkflowComplexFunc({
|
|
|
140
148
|
await Promise.all([
|
|
141
149
|
workflow.do('Secret definition types', 'pikkuSecretDefinitionTypes', null),
|
|
142
150
|
workflow.do('Scope definition types', 'pikkuScopeDefinitionTypes', null),
|
|
151
|
+
workflow.do('Analytics definition types', 'pikkuAnalyticsDefinitionTypes', null),
|
|
143
152
|
workflow.do('Variable definition types', 'pikkuVariableDefinitionTypes', null),
|
|
144
153
|
]);
|
|
145
154
|
await workflow.do('Function types split', 'pikkuFunctionTypesSplit', {});
|
|
@@ -204,6 +213,8 @@ export const allWorkflow = pikkuWorkflowComplexFunc({
|
|
|
204
213
|
await Promise.all([
|
|
205
214
|
workflow.do('Graph wirings', 'pikkuGraphWirings', null),
|
|
206
215
|
workflow.do('Public RPC', 'pikkuPublicRPC', null),
|
|
216
|
+
workflow.do('Analytics ingest', 'pikkuAnalytics', null),
|
|
217
|
+
workflow.do('Feature flag wire', 'pikkuFeatureFlagsScaffold', null),
|
|
207
218
|
workflow.do('Console functions', 'pikkuConsoleFunctions', null),
|
|
208
219
|
workflow.do('Virtual user functions', 'pikkuVirtualUserFunctions', null),
|
|
209
220
|
workflow.do('Events scaffold', 'pikkuEventsScaffold', null),
|
|
@@ -214,6 +225,7 @@ export const allWorkflow = pikkuWorkflowComplexFunc({
|
|
|
214
225
|
workflow.do('Credentials', 'pikkuCredentials', null),
|
|
215
226
|
workflow.do('Scopes', 'pikkuScopes', {}),
|
|
216
227
|
workflow.do('Roles', 'pikkuRoles', {}),
|
|
228
|
+
workflow.do('Flags', 'pikkuFlags', {}),
|
|
217
229
|
workflow.do('Personas', 'pikkuPersonas', {}),
|
|
218
230
|
workflow.do('Variables', 'pikkuVariables', null),
|
|
219
231
|
workflow.do('Addon types', 'pikkuAddonTypes', null),
|
|
@@ -234,14 +246,29 @@ export const allWorkflow = pikkuWorkflowComplexFunc({
|
|
|
234
246
|
// Re-inspect above — are reflected in pikku-secrets-meta.gen.json. Without
|
|
235
247
|
// this the declaration only lands on a second `pikku` run, and a cold
|
|
236
248
|
// project deploys without ever being asked for the value.
|
|
249
|
+
//
|
|
250
|
+
// Middleware is in the same boat and fails far louder: pikkuAuth writes
|
|
251
|
+
// auth-middleware.gen.ts, whose top-level addGlobalMiddleware registers the
|
|
252
|
+
// better-auth session bridge. The Middleware pass above ran before that file
|
|
253
|
+
// existed, so pikku-middleware.gen.ts — the only thing that side-effect
|
|
254
|
+
// imports it — leaves it out, and a first-ever build ships with NO session
|
|
255
|
+
// middleware at all: every session-requiring function answers
|
|
256
|
+
// 'Authentication required' however the caller authenticated. It corrects
|
|
257
|
+
// itself on the next run, which is why it only ever bites a clean checkout
|
|
258
|
+
// (a CI deploy that wipes generated scaffolds, most of all).
|
|
237
259
|
const stateAfterScaffold = await getInspectorState();
|
|
238
260
|
if (stateAfterScaffold.auth.definition ||
|
|
239
261
|
stateAfterScaffold.personas.definitions.length > 0) {
|
|
240
|
-
await Promise.all([
|
|
262
|
+
const [, , , middlewareAfterScaffold] = await Promise.all([
|
|
241
263
|
workflow.do('Secrets (post-scaffold)', 'pikkuSecrets', null),
|
|
242
264
|
workflow.do('Credentials (post-scaffold)', 'pikkuCredentials', null),
|
|
243
265
|
workflow.do('Variables (post-scaffold)', 'pikkuVariables', null),
|
|
266
|
+
workflow.do('Middleware (post-scaffold)', 'pikkuMiddleware', null),
|
|
244
267
|
]);
|
|
268
|
+
if (middlewareAfterScaffold &&
|
|
269
|
+
!allImports.includes(config.middlewareFile)) {
|
|
270
|
+
allImports.push(config.middlewareFile);
|
|
271
|
+
}
|
|
245
272
|
}
|
|
246
273
|
const schemas = await workflow.do('Schemas', 'pikkuSchemas', null);
|
|
247
274
|
if (schemas) {
|
|
@@ -415,10 +442,8 @@ export const allWorkflow = pikkuWorkflowComplexFunc({
|
|
|
415
442
|
// (like assertSingleCoreVersion) so it reliably fails the run.
|
|
416
443
|
if (config.tsc || config.tscSummary) {
|
|
417
444
|
const errorCount = await workflow.do('Type check', async () => {
|
|
418
|
-
const
|
|
419
|
-
logger.info(config.tsc
|
|
420
|
-
? renderTscFull(diagnostics, config.rootDir, formatHost)
|
|
421
|
-
: renderTscSummary(result));
|
|
445
|
+
const result = runProjectTypecheck(config.tsconfig, config.rootDir);
|
|
446
|
+
logger.info(config.tsc ? renderTscFull(result) : renderTscSummary(result));
|
|
422
447
|
return result.errorCount;
|
|
423
448
|
});
|
|
424
449
|
if (errorCount > 0) {
|
package/dist/src/services.js
CHANGED
|
@@ -249,6 +249,13 @@ export const createSingletonServices = async (config) => {
|
|
|
249
249
|
config.workflowRoutesFile,
|
|
250
250
|
config.publicRpcFile,
|
|
251
251
|
config.publicAgentFile,
|
|
252
|
+
// The analytics ingest is generated into the scaffold dir and nothing
|
|
253
|
+
// imports it — it is a wiring, not a module anyone calls — so without
|
|
254
|
+
// this the route is written and never registered: no HTTP wiring, no
|
|
255
|
+
// entry in the fetch client, an endpoint that 404s.
|
|
256
|
+
config.analyticsFile,
|
|
257
|
+
// Same for the feature flag read wire.
|
|
258
|
+
config.featureFlagsFile,
|
|
252
259
|
// The auth scaffold (catch-all routes + session middleware) and its
|
|
253
260
|
// sibling secrets file (defineSecret per provider) are generated into the
|
|
254
261
|
// scaffold dir, which may live outside srcDirectories (e.g. a project's
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The schemas module always sits beside the ingest that imports it, so there is
|
|
3
|
+
* nothing to configure: a settable path could be moved out from under the
|
|
4
|
+
* generated `./analytics.schemas.gen.js` import and nothing would write it.
|
|
5
|
+
*/
|
|
6
|
+
export declare const analyticsSchemasFile: (analyticsFile: string | undefined) => string | undefined;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { dirname, join } from 'node:path';
|
|
2
|
+
/**
|
|
3
|
+
* The schemas module always sits beside the ingest that imports it, so there is
|
|
4
|
+
* nothing to configure: a settable path could be moved out from under the
|
|
5
|
+
* generated `./analytics.schemas.gen.js` import and nothing would write it.
|
|
6
|
+
*/
|
|
7
|
+
export const analyticsSchemasFile = (analyticsFile) => analyticsFile
|
|
8
|
+
? join(dirname(analyticsFile), 'analytics.schemas.gen.ts')
|
|
9
|
+
: undefined;
|
|
@@ -19,7 +19,10 @@ forceRelative = false) => {
|
|
|
19
19
|
}
|
|
20
20
|
const posixPath = filePath.replace(/\\/g, '/');
|
|
21
21
|
if (posixPath.includes('node_modules/')) {
|
|
22
|
-
|
|
22
|
+
// An isolated store (bun's node_modules/.bun, pnpm's node_modules/.pnpm)
|
|
23
|
+
// nests a second node_modules inside the first, so the package specifier
|
|
24
|
+
// follows the last separator rather than the first.
|
|
25
|
+
const nodeModulesIndex = posixPath.lastIndexOf('node_modules/');
|
|
23
26
|
filePath = posixPath.substring(nodeModulesIndex + 'node_modules/'.length);
|
|
24
27
|
if (filePath.startsWith('@types/')) {
|
|
25
28
|
filePath = filePath.substring('@types/'.length);
|
|
@@ -24,7 +24,7 @@ export { PikkuCLIConfigError };
|
|
|
24
24
|
* exact leak the split exists to prevent, silently, and only in a deployed
|
|
25
25
|
* bundle. Nothing downstream can detect it, so it is rejected here.
|
|
26
26
|
*/
|
|
27
|
-
export declare const assertSchemaDirectoriesAreDistinct: (config: Pick<PikkuCLIConfig,
|
|
27
|
+
export declare const assertSchemaDirectoriesAreDistinct: (config: Pick<PikkuCLIConfig, 'schemaDirectory' | 'scenarioSchemaDirectory'>) => void;
|
|
28
28
|
/**
|
|
29
29
|
* The `metaLocale` a project gets when its config does not name one.
|
|
30
30
|
*
|
|
@@ -51,5 +51,5 @@ export declare const normalizeMetaLocale: (metaLocale: unknown) => string;
|
|
|
51
51
|
* stored `/app/` matches nothing at all — a frontend that silently never
|
|
52
52
|
* appears rather than an error anyone can act on.
|
|
53
53
|
*/
|
|
54
|
-
export declare const resolveFrontendConfig: (frontend: NonNullable<PikkuCLIInput[
|
|
54
|
+
export declare const resolveFrontendConfig: (frontend: NonNullable<PikkuCLIInput['frontend']>, configDir: string) => NonNullable<PikkuCLIConfig['frontend']>;
|
|
55
55
|
export declare const validateCLIConfig: (cliConfig: PikkuCLIConfig, required: Array<keyof PikkuCLIConfig>) => void;
|
|
@@ -383,6 +383,8 @@ const _getPikkuCLIConfig = async (logger, configFile = undefined, requiredFields
|
|
|
383
383
|
// setting it here wins and the pikkuDir-derived default is skipped.
|
|
384
384
|
const SCAFFOLD_OUTPUT_FIELDS = {
|
|
385
385
|
rpc: 'publicRpcFile',
|
|
386
|
+
analytics: 'analyticsFile',
|
|
387
|
+
featureFlags: 'featureFlagsFile',
|
|
386
388
|
agent: 'publicAgentFile',
|
|
387
389
|
console: 'consoleFunctionsFile',
|
|
388
390
|
scenarios: 'scenariosFunctionsFile',
|
|
@@ -425,6 +427,12 @@ const _getPikkuCLIConfig = async (logger, configFile = undefined, requiredFields
|
|
|
425
427
|
if (result.scaffold?.workflow && !result.workflowRoutesSchemasFile) {
|
|
426
428
|
result.workflowRoutesSchemasFile = join(resolvedScaffoldDir, 'workflow', 'workflow-routes.schemas.gen.ts');
|
|
427
429
|
}
|
|
430
|
+
if (result.scaffold?.analytics && !result.analyticsFile) {
|
|
431
|
+
result.analyticsFile = join(resolvedScaffoldDir, 'analytics', 'analytics.gen.ts');
|
|
432
|
+
}
|
|
433
|
+
if (result.scaffold?.featureFlags && !result.featureFlagsFile) {
|
|
434
|
+
result.featureFlagsFile = join(resolvedScaffoldDir, 'feature-flags', 'feature-flags.gen.ts');
|
|
435
|
+
}
|
|
428
436
|
if (result.scaffold?.rpc && !result.publicRpcFile) {
|
|
429
437
|
result.publicRpcFile = join(resolvedScaffoldDir, 'rpc', 'rpc-public.gen.ts');
|
|
430
438
|
}
|
|
@@ -713,6 +721,18 @@ const _getPikkuCLIConfig = async (logger, configFile = undefined, requiredFields
|
|
|
713
721
|
if (!result.credentialsMetaJsonFile) {
|
|
714
722
|
result.credentialsMetaJsonFile = join(credentialsDir, 'pikku-credentials-meta.gen.json');
|
|
715
723
|
}
|
|
724
|
+
// Analytics definer leaf. Written whatever `scaffold.analytics` says: the
|
|
725
|
+
// declaration is how a project names what it measures, and the scaffold
|
|
726
|
+
// only decides whether an ingest wire is generated for it.
|
|
727
|
+
if (!result.analyticsTypesFile) {
|
|
728
|
+
result.analyticsTypesFile = join(result.outDir, 'analytics', 'pikku-analytics-types.gen.ts');
|
|
729
|
+
}
|
|
730
|
+
// The declared events, for the console's catalog. Written on the same terms
|
|
731
|
+
// as the definer leaf and for the same reason: what a project measures is
|
|
732
|
+
// readable whether or not an ingest wire was scaffolded for it.
|
|
733
|
+
if (!result.analyticsMetaJsonFile) {
|
|
734
|
+
result.analyticsMetaJsonFile = join(result.outDir, 'analytics', 'pikku-analytics-meta.gen.json');
|
|
735
|
+
}
|
|
716
736
|
// Scopes (ScopeId union + declared scope set)
|
|
717
737
|
const scopesDir = join(result.outDir, 'scopes');
|
|
718
738
|
if (!result.scopeTypesFile) {
|
|
@@ -732,6 +752,14 @@ const _getPikkuCLIConfig = async (logger, configFile = undefined, requiredFields
|
|
|
732
752
|
if (!result.rolesMetaJsonFile) {
|
|
733
753
|
result.rolesMetaJsonFile = join(scopesDir, 'pikku-roles-meta.gen.json');
|
|
734
754
|
}
|
|
755
|
+
// Feature flags. Beside the scopes their `anyOf` names, for the same reason
|
|
756
|
+
// roles sit there: a flag is unreadable without them.
|
|
757
|
+
if (!result.flagsFile) {
|
|
758
|
+
result.flagsFile = join(scopesDir, 'pikku-flags.gen.ts');
|
|
759
|
+
}
|
|
760
|
+
if (!result.flagsMetaJsonFile) {
|
|
761
|
+
result.flagsMetaJsonFile = join(scopesDir, 'pikku-flags-meta.gen.json');
|
|
762
|
+
}
|
|
735
763
|
// Personas. Beside the roles they are checked against, for the same reason
|
|
736
764
|
// roles sit beside their scopes.
|
|
737
765
|
if (!result.personasFile) {
|
|
@@ -2,6 +2,7 @@ import { rm } from 'node:fs/promises';
|
|
|
2
2
|
import { existsSync, readFileSync } from 'node:fs';
|
|
3
3
|
import { basename, dirname, join } from 'node:path';
|
|
4
4
|
import { remoteJobsSchemasFile } from './remote-jobs-schemas-file.js';
|
|
5
|
+
import { analyticsSchemasFile } from './analytics-schemas-file.js';
|
|
5
6
|
const scaffoldFiles = (config) => {
|
|
6
7
|
const authDir = config.authFile ? dirname(config.authFile) : undefined;
|
|
7
8
|
return [
|
|
@@ -12,6 +13,9 @@ const scaffoldFiles = (config) => {
|
|
|
12
13
|
config.workflowRoutesSchemasFile,
|
|
13
14
|
config.publicRpcFile,
|
|
14
15
|
config.publicRpcSchemasFile,
|
|
16
|
+
config.analyticsFile,
|
|
17
|
+
analyticsSchemasFile(config.analyticsFile),
|
|
18
|
+
config.featureFlagsFile,
|
|
15
19
|
config.remoteRpcWorkersFile,
|
|
16
20
|
config.remoteRpcSchemasFile,
|
|
17
21
|
config.remoteJobsFile,
|
|
@@ -9,6 +9,11 @@
|
|
|
9
9
|
* skew surfaces as a missing subpath export from a package the project never
|
|
10
10
|
* imported. Resolving against the project's own package.json keeps one core in
|
|
11
11
|
* play.
|
|
12
|
+
*
|
|
13
|
+
* Only an absolute path is a copy in the project. A runtime that hands a bare
|
|
14
|
+
* specifier straight back — bun does this for the modules it implements itself,
|
|
15
|
+
* `ws` among them — has resolved nothing from the project, and saying so lets
|
|
16
|
+
* the caller fall back rather than import the runtime's own copy by accident.
|
|
12
17
|
*/
|
|
13
18
|
export declare const resolveFromProject: (rootDir: string, specifier: string) => string | undefined;
|
|
14
19
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';
|
|
2
|
-
import { join } from 'node:path';
|
|
2
|
+
import { isAbsolute, join } from 'node:path';
|
|
3
3
|
/**
|
|
4
4
|
* Resolves a package as the *project* would, not as the CLI would.
|
|
5
5
|
*
|
|
@@ -11,10 +11,16 @@ import { join } from 'node:path';
|
|
|
11
11
|
* skew surfaces as a missing subpath export from a package the project never
|
|
12
12
|
* imported. Resolving against the project's own package.json keeps one core in
|
|
13
13
|
* play.
|
|
14
|
+
*
|
|
15
|
+
* Only an absolute path is a copy in the project. A runtime that hands a bare
|
|
16
|
+
* specifier straight back — bun does this for the modules it implements itself,
|
|
17
|
+
* `ws` among them — has resolved nothing from the project, and saying so lets
|
|
18
|
+
* the caller fall back rather than import the runtime's own copy by accident.
|
|
14
19
|
*/
|
|
15
20
|
export const resolveFromProject = (rootDir, specifier) => {
|
|
16
21
|
try {
|
|
17
|
-
|
|
22
|
+
const resolved = createRequire(join(rootDir, 'package.json')).resolve(specifier);
|
|
23
|
+
return isAbsolute(resolved) ? resolved : undefined;
|
|
18
24
|
}
|
|
19
25
|
catch {
|
|
20
26
|
return undefined;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import ts from 'typescript';
|
|
2
1
|
import { PikkuError } from '@pikku/core/errors';
|
|
3
2
|
export declare class PikkuTypecheckFailedError extends PikkuError {
|
|
4
3
|
}
|
|
@@ -17,12 +16,13 @@ export interface TscCheckResult {
|
|
|
17
16
|
diagnostics: TscDiagnostic[];
|
|
18
17
|
}
|
|
19
18
|
/**
|
|
20
|
-
* Turn raw tsc
|
|
21
|
-
* already-
|
|
22
|
-
* Anything under node_modules or outside the project root
|
|
23
|
-
* output stays focused on the user's own code (and not lib
|
|
19
|
+
* Turn raw `tsc --pretty false` output into a filtered, structured result.
|
|
20
|
+
* Pure — it takes already-captured output so it can be unit-tested without
|
|
21
|
+
* running a compiler. Anything under node_modules or outside the project root
|
|
22
|
+
* is dropped so the output stays focused on the user's own code (and not lib
|
|
23
|
+
* .d.ts noise).
|
|
24
24
|
*/
|
|
25
|
-
export declare const
|
|
25
|
+
export declare const parseTscOutput: (output: string, rootDir: string) => TscCheckResult;
|
|
26
26
|
/**
|
|
27
27
|
* Compact, token-frugal render of a type-check result: a one-line header plus
|
|
28
28
|
* one line per diagnostic (no code frames), capped. Used by `--tsc-summary` so
|
|
@@ -30,17 +30,13 @@ export declare const collectTscDiagnostics: (diagnostics: readonly ts.Diagnostic
|
|
|
30
30
|
*/
|
|
31
31
|
export declare const renderTscSummary: (result: TscCheckResult, maxLines?: number) => string;
|
|
32
32
|
/**
|
|
33
|
-
* Full render:
|
|
33
|
+
* Full render: every project diagnostic, uncapped, one per line.
|
|
34
34
|
*/
|
|
35
|
-
export declare const renderTscFull: (
|
|
35
|
+
export declare const renderTscFull: (result: TscCheckResult) => string;
|
|
36
36
|
/**
|
|
37
37
|
* Run a real `tsc --noEmit` over the project's own tsconfig — the correct
|
|
38
38
|
* source of truth (lib, paths, strict), unlike the inspector's stripped-down
|
|
39
|
-
* traversal program. Returns
|
|
40
|
-
*
|
|
39
|
+
* traversal program. Returns the structured result so the caller can pick the
|
|
40
|
+
* compact (`--tsc-summary`) or full (`--tsc`) render.
|
|
41
41
|
*/
|
|
42
|
-
export declare const runProjectTypecheck: (tsconfigPath: string, rootDir: string) =>
|
|
43
|
-
result: TscCheckResult;
|
|
44
|
-
diagnostics: ts.Diagnostic[];
|
|
45
|
-
formatHost: ts.FormatDiagnosticsHost;
|
|
46
|
-
};
|
|
42
|
+
export declare const runProjectTypecheck: (tsconfigPath: string, rootDir: string) => TscCheckResult;
|
|
@@ -1,33 +1,18 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { dirname, isAbsolute, join, relative } from 'node:path';
|
|
1
|
+
import { spawnSync } from 'node:child_process';
|
|
2
|
+
import { dirname, isAbsolute, join, relative, resolve } from 'node:path';
|
|
3
3
|
import { createRequire } from 'node:module';
|
|
4
4
|
import { PikkuError } from '@pikku/core/errors';
|
|
5
|
-
// Type-check with the PROJECT's own TypeScript when it has one — the CLI's
|
|
6
|
-
// bundled compiler can be a different major (e.g. TS 6 vs a project on TS 5)
|
|
7
|
-
// and produce diagnostics the project's real `tsc` never would (seen as
|
|
8
|
-
// phantom TS2591 "Cannot find name 'process'" on a tsconfig that is clean
|
|
9
|
-
// under the project's compiler). Falls back to the CLI's typescript.
|
|
10
|
-
const loadProjectTs = (rootDir) => {
|
|
11
|
-
try {
|
|
12
|
-
return createRequire(join(rootDir, 'noop.cjs'))('typescript');
|
|
13
|
-
}
|
|
14
|
-
catch {
|
|
15
|
-
return ts;
|
|
16
|
-
}
|
|
17
|
-
};
|
|
18
5
|
// A type-check failure is expected (the --tsc gate did its job) — throw a
|
|
19
6
|
// PikkuError so the runner logs the message alone, not a stack trace.
|
|
20
7
|
export class PikkuTypecheckFailedError extends PikkuError {
|
|
21
8
|
}
|
|
22
|
-
const CATEGORY = {
|
|
23
|
-
[ts.DiagnosticCategory.Error]: 'error',
|
|
24
|
-
[ts.DiagnosticCategory.Warning]: 'warning',
|
|
25
|
-
[ts.DiagnosticCategory.Suggestion]: 'suggestion',
|
|
26
|
-
[ts.DiagnosticCategory.Message]: 'message',
|
|
27
|
-
};
|
|
28
9
|
const MAX_MESSAGE_LENGTH = 200;
|
|
29
10
|
const DEFAULT_MAX_LINES = 50;
|
|
30
11
|
const NO_FILE = '(project)';
|
|
12
|
+
const MAX_OUTPUT_BYTES = 64 * 1024 * 1024;
|
|
13
|
+
// `<file>(<line>,<col>): <category> TS<code>: <message>`, with the location
|
|
14
|
+
// absent on project-wide diagnostics such as TS18003 (no inputs found).
|
|
15
|
+
const DIAGNOSTIC_LINE = /^(?:(.+?)\((\d+),(\d+)\): )?(error|warning|message|suggestion) TS(\d+): (.*)$/;
|
|
31
16
|
const isProjectFile = (fileName, rootDir) => {
|
|
32
17
|
if (fileName.includes('/node_modules/'))
|
|
33
18
|
return false;
|
|
@@ -35,40 +20,94 @@ const isProjectFile = (fileName, rootDir) => {
|
|
|
35
20
|
return !rel.startsWith('..') && !isAbsolute(rel);
|
|
36
21
|
};
|
|
37
22
|
/**
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
23
|
+
* Locate the compiler to type-check with, preferring the PROJECT's own — a
|
|
24
|
+
* different major than the project's produces diagnostics its real `tsc` never
|
|
25
|
+
* would (seen as phantom TS2591 "Cannot find name 'process'" on a tsconfig that
|
|
26
|
+
* is clean under the project's compiler). Falls back to the CLI's typescript.
|
|
27
|
+
*
|
|
28
|
+
* Resolved through `typescript/package.json` rather than `node_modules/.bin`
|
|
29
|
+
* so it works on every platform, and run with `process.execPath` so a project
|
|
30
|
+
* on TypeScript 7 — which ships a binary but no importable compiler API — is
|
|
31
|
+
* driven exactly like one on 5 or 6.
|
|
32
|
+
*/
|
|
33
|
+
const resolveTsc = (rootDir) => {
|
|
34
|
+
const fromProject = createRequire(join(rootDir, 'noop.cjs'));
|
|
35
|
+
try {
|
|
36
|
+
return join(dirname(fromProject.resolve('typescript/package.json')), 'bin', 'tsc');
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
const own = createRequire(import.meta.url);
|
|
40
|
+
return join(dirname(own.resolve('typescript/package.json')), 'bin', 'tsc');
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Turn raw `tsc --pretty false` output into a filtered, structured result.
|
|
45
|
+
* Pure — it takes already-captured output so it can be unit-tested without
|
|
46
|
+
* running a compiler. Anything under node_modules or outside the project root
|
|
47
|
+
* is dropped so the output stays focused on the user's own code (and not lib
|
|
48
|
+
* .d.ts noise).
|
|
42
49
|
*/
|
|
43
|
-
export const
|
|
50
|
+
export const parseTscOutput = (output, rootDir) => {
|
|
44
51
|
const files = new Set();
|
|
45
52
|
const collected = [];
|
|
46
53
|
let errorCount = 0;
|
|
47
54
|
let warningCount = 0;
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
if (
|
|
53
|
-
|
|
54
|
-
continue;
|
|
55
|
-
file = relative(rootDir, d.file.fileName);
|
|
56
|
-
const lc = d.file.getLineAndCharacterOfPosition(d.start ?? 0);
|
|
57
|
-
line = lc.line + 1;
|
|
58
|
-
column = lc.character + 1;
|
|
55
|
+
let current = null;
|
|
56
|
+
const flush = () => {
|
|
57
|
+
if (!current)
|
|
58
|
+
return;
|
|
59
|
+
if (current.message.length > MAX_MESSAGE_LENGTH) {
|
|
60
|
+
current.message = `${current.message.slice(0, MAX_MESSAGE_LENGTH - 1)}…`;
|
|
59
61
|
}
|
|
60
|
-
|
|
61
|
-
if (category === 'error')
|
|
62
|
+
if (current.category === 'error')
|
|
62
63
|
errorCount++;
|
|
63
|
-
else if (category === 'warning')
|
|
64
|
+
else if (current.category === 'warning')
|
|
64
65
|
warningCount++;
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
66
|
+
files.add(current.file);
|
|
67
|
+
collected.push(current);
|
|
68
|
+
current = null;
|
|
69
|
+
};
|
|
70
|
+
for (const raw of output.split('\n')) {
|
|
71
|
+
const line = raw.replace(/\r$/, '');
|
|
72
|
+
const match = DIAGNOSTIC_LINE.exec(line);
|
|
73
|
+
if (match) {
|
|
74
|
+
flush();
|
|
75
|
+
const [, fileName, lineNo, columnNo, category, code, message] = match;
|
|
76
|
+
if (fileName) {
|
|
77
|
+
const absolute = isAbsolute(fileName)
|
|
78
|
+
? fileName
|
|
79
|
+
: resolve(rootDir, fileName);
|
|
80
|
+
// Skip the whole diagnostic, elaborations included.
|
|
81
|
+
if (!isProjectFile(absolute, rootDir))
|
|
82
|
+
continue;
|
|
83
|
+
current = {
|
|
84
|
+
file: relative(rootDir, absolute),
|
|
85
|
+
line: Number(lineNo),
|
|
86
|
+
column: Number(columnNo),
|
|
87
|
+
code: Number(code),
|
|
88
|
+
category: category,
|
|
89
|
+
message: message ?? '',
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
current = {
|
|
94
|
+
file: NO_FILE,
|
|
95
|
+
line: 0,
|
|
96
|
+
column: 0,
|
|
97
|
+
code: Number(code),
|
|
98
|
+
category: category,
|
|
99
|
+
message: message ?? '',
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
// Indented lines continue the previous message (tsc's elaborations);
|
|
105
|
+
// anything else — blank lines, the trailing "Found N errors" — is noise.
|
|
106
|
+
if (current && /^\s+\S/.test(line)) {
|
|
107
|
+
current.message = `${current.message} ${line.trim()}`;
|
|
68
108
|
}
|
|
69
|
-
files.add(file);
|
|
70
|
-
collected.push({ file, line, column, code: d.code, category, message });
|
|
71
109
|
}
|
|
110
|
+
flush();
|
|
72
111
|
collected.sort((a, b) => a.file === b.file ? a.line - b.line : a.file < b.file ? -1 : 1);
|
|
73
112
|
return {
|
|
74
113
|
errorCount,
|
|
@@ -107,53 +146,25 @@ export const renderTscSummary = (result, maxLines = DEFAULT_MAX_LINES) => {
|
|
|
107
146
|
return lines.join('\n');
|
|
108
147
|
};
|
|
109
148
|
/**
|
|
110
|
-
* Full render:
|
|
149
|
+
* Full render: every project diagnostic, uncapped, one per line.
|
|
111
150
|
*/
|
|
112
|
-
export const renderTscFull = (
|
|
113
|
-
|
|
114
|
-
if (filtered.length === 0)
|
|
151
|
+
export const renderTscFull = (result) => {
|
|
152
|
+
if (result.diagnostics.length === 0)
|
|
115
153
|
return 'Type check passed — no errors.';
|
|
116
|
-
return
|
|
154
|
+
return result.diagnostics
|
|
155
|
+
.map((d) => {
|
|
156
|
+
const at = d.line > 0 ? `${d.file}:${d.line}:${d.column}` : d.file;
|
|
157
|
+
return `${at} TS${d.code} ${d.message}`;
|
|
158
|
+
})
|
|
159
|
+
.join('\n');
|
|
117
160
|
};
|
|
118
161
|
/**
|
|
119
162
|
* Run a real `tsc --noEmit` over the project's own tsconfig — the correct
|
|
120
163
|
* source of truth (lib, paths, strict), unlike the inspector's stripped-down
|
|
121
|
-
* traversal program. Returns
|
|
122
|
-
*
|
|
164
|
+
* traversal program. Returns the structured result so the caller can pick the
|
|
165
|
+
* compact (`--tsc-summary`) or full (`--tsc`) render.
|
|
123
166
|
*/
|
|
124
167
|
export const runProjectTypecheck = (tsconfigPath, rootDir) => {
|
|
125
|
-
const
|
|
126
|
-
|
|
127
|
-
getCanonicalFileName: (f) => f,
|
|
128
|
-
getCurrentDirectory: () => rootDir,
|
|
129
|
-
getNewLine: () => tsImpl.sys.newLine,
|
|
130
|
-
};
|
|
131
|
-
const configFile = tsImpl.readConfigFile(tsconfigPath, tsImpl.sys.readFile);
|
|
132
|
-
if (configFile.error) {
|
|
133
|
-
const diagnostics = [configFile.error];
|
|
134
|
-
return {
|
|
135
|
-
result: collectTscDiagnostics(diagnostics, rootDir),
|
|
136
|
-
diagnostics,
|
|
137
|
-
formatHost,
|
|
138
|
-
};
|
|
139
|
-
}
|
|
140
|
-
const parsed = tsImpl.parseJsonConfigFileContent(configFile.config, tsImpl.sys, dirname(tsconfigPath));
|
|
141
|
-
const program = tsImpl.createProgram({
|
|
142
|
-
rootNames: parsed.fileNames,
|
|
143
|
-
options: {
|
|
144
|
-
...parsed.options,
|
|
145
|
-
noEmit: true,
|
|
146
|
-
incremental: false,
|
|
147
|
-
tsBuildInfoFile: undefined,
|
|
148
|
-
},
|
|
149
|
-
});
|
|
150
|
-
const diagnostics = [
|
|
151
|
-
...parsed.errors,
|
|
152
|
-
...tsImpl.getPreEmitDiagnostics(program),
|
|
153
|
-
];
|
|
154
|
-
return {
|
|
155
|
-
result: collectTscDiagnostics(diagnostics, rootDir),
|
|
156
|
-
diagnostics,
|
|
157
|
-
formatHost,
|
|
158
|
-
};
|
|
168
|
+
const run = spawnSync(process.execPath, [resolveTsc(rootDir), '-p', tsconfigPath, '--noEmit', '--pretty', 'false'], { cwd: rootDir, encoding: 'utf8', maxBuffer: MAX_OUTPUT_BYTES });
|
|
169
|
+
return parseTscOutput(`${run.stdout ?? ''}\n${run.stderr ?? ''}`, rootDir);
|
|
159
170
|
};
|