@pikku/cli 0.12.105 → 0.12.107
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 +7306 -0
- package/console-app/assets/abnfDiagram-N423BO3Z-C5uToS9v.js +1 -0
- package/console-app/assets/arc-D8VmsdJb.js +1 -0
- package/console-app/assets/architecture-TIHT7OUA-B1IpeRpl.js +1 -0
- package/console-app/assets/architectureDiagram-T3A2C74G-BzJDRfv4.js +36 -0
- package/console-app/assets/{blockDiagram-677ZJIJ3-CMNoQhwm.js → blockDiagram-VBNYF7ZC-X5G9Ch-D.js} +5 -5
- package/console-app/assets/c4Diagram-5PPSVZJV-B59aO2Sc.js +10 -0
- package/console-app/assets/channel-sTJGzqn9.js +1 -0
- package/console-app/assets/{chunk-32BRIVSS-DC3ZGIPN.js → chunk-2GRJ4B5K-Bwe32j_R.js} +1 -1
- package/console-app/assets/{chunk-HOUHSVGY-DMorD8Ib.js → chunk-4I5QYGJK-Beg_uQQN.js} +1 -1
- package/console-app/assets/chunk-5RXB4S5H-0HaMiv3k.js +231 -0
- package/console-app/assets/{chunk-MOJQB5TN-6BhXmDyj.js → chunk-6Q2QTUOP-CXxkExOq.js} +1 -1
- package/console-app/assets/chunk-7Z6QIM7H-zUqPbrvp.js +10 -0
- package/console-app/assets/{chunk-V7JOEXUC-JMjbqEgu.js → chunk-GF5L2VYU-CY0wGPcJ.js} +3 -3
- package/console-app/assets/chunk-I66GZJ75-BP5UNkJY.js +127 -0
- package/console-app/assets/chunk-JQJVKLGR-3dvnUUZN.js +156 -0
- package/console-app/assets/{chunk-VR4S4FIN-BcHHugM0.js → chunk-KBJHAD2P-ChD7o2bf.js} +1 -1
- package/console-app/assets/{chunk-KEIR6QF5-DNzq6p3w.js → chunk-KEIR6QF5-BICK3FdT.js} +32 -32
- package/console-app/assets/chunk-NSK5VX7P-oG1nh33f.js +2 -0
- package/console-app/assets/{chunk-ZGVPDNZ5-CENGdlFJ.js → chunk-QR6OTTB3-D_uKJrj6.js} +3 -3
- package/console-app/assets/chunk-RYQCIY6F-CtYhP8W5.js +1 -0
- package/console-app/assets/chunk-UBXNYLIW-CMgD3fvL.js +1 -0
- package/console-app/assets/{chunk-C7G6YPKG-BVtRZIEZ.js → chunk-W5SLKNZC-cjI56NCs.js} +1 -1
- package/console-app/assets/{chunk-Q4XR5HBZ-i4zkt4cc.js → chunk-WRU74C26-BQqHgerX.js} +7 -7
- package/console-app/assets/chunk-XXDRQBXY-CLdTtHL4.js +1 -0
- package/console-app/assets/classDiagram-JCYQIIEL-Dh0wx8TK.js +1 -0
- package/console-app/assets/classDiagram-v2-OCEON4UE-Dh0wx8TK.js +1 -0
- package/console-app/assets/cose-bilkent-JH36ORCC-DcHzDpDb.js +1 -0
- package/console-app/assets/cynefin-VYW2F7L2-Cn2zn-8-.js +1 -0
- package/console-app/assets/cynefinDiagram-MW4NZA55-C00zINdu.js +62 -0
- package/console-app/assets/cytoscape.esm-B-NFISlW.js +321 -0
- package/console-app/assets/dagre-DE2imcyX.js +1 -0
- package/console-app/assets/dagre-VZM6K2ZE-Bb2uZ7tL.js +4 -0
- package/console-app/assets/defaultLocale-BFoDCU3G.js +1 -0
- package/console-app/assets/{diagram-OA4YK3LP-BmjCoGBZ.js → diagram-7IWD3JNH-DUN-JIa1.js} +3 -3
- package/console-app/assets/{diagram-FQU43EPY-C667dC19.js → diagram-B4RE2ZJO-Ct5iRFhI.js} +1 -1
- package/console-app/assets/diagram-LBJQPF4R-BZ2Hrr-9.js +24 -0
- package/console-app/assets/diagram-Q27KOJAE-BHaThj6T.js +24 -0
- package/console-app/assets/diagram-UB23O5K3-CH-SzBoh.js +41 -0
- package/console-app/assets/dist-CsdsWTxp.js +1 -0
- package/console-app/assets/ebnfDiagram-BXEA7PRR-BkjeNaQH.js +1 -0
- package/console-app/assets/{erDiagram-Q63AITRT-BAtdfbq3.js → erDiagram-JOGREHBK-BdL77bY3.js} +3 -3
- package/console-app/assets/eventmodeling-45OFAUF4-C6PNVeIU.js +1 -0
- package/console-app/assets/flowDiagram-UKHOOZJN-CmURPvo2.js +1 -0
- package/console-app/assets/ganttDiagram-PKOTCBZU-DfgO68Ez.js +292 -0
- package/console-app/assets/gitGraph-TEB2WS4Q-BNbepAzP.js +1 -0
- package/console-app/assets/{gitGraphDiagram-IHSO6WYX-D9fpmYRm.js → gitGraphDiagram-DS77QQ5N-Crb8obGB.js} +4 -4
- package/console-app/assets/graphlib-IlWVLY3o.js +1 -0
- package/console-app/assets/index-Dsydm-nw.css +1 -0
- package/console-app/assets/index-g8jA8DJo.js +290 -0
- package/console-app/assets/info-DKCQHKI2-D9tXUXel.js +1 -0
- package/console-app/assets/infoDiagram-6WML65LV-BvG8ufLa.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-BWoGxEjO.js} +3 -3
- package/console-app/assets/{journeyDiagram-5HDEW3XC-DKH8UvEq.js → journeyDiagram-NVQOT4AX-CR4YcPHg.js} +3 -3
- package/console-app/assets/{kanban-definition-HUTT4EX6-BODtp_fB.js → kanban-definition-27J2QSJJ-DYfc5EZe.js} +6 -6
- package/console-app/assets/{katex-Vhh-h91d.js → katex-CXMH3UgJ.js} +3 -3
- package/console-app/assets/{line-Do9j3HRL.js → line-NIaf8Mfw.js} +1 -1
- package/console-app/assets/linear-DB_1BE-l.js +1 -0
- package/console-app/assets/map-BmPfXn7V.js +1 -0
- package/console-app/assets/{mermaid-parser.core-CYJsdwMO.js → mermaid-parser.core-BqCVMHRZ.js} +3 -3
- package/console-app/assets/mermaid.core-CYaeERjF.js +42 -0
- package/console-app/assets/{mindmap-definition-LN4V7U3C-D7IWNYnf.js → mindmap-definition-FAOFIHXS-BCjT2v4F.js} +3 -3
- package/console-app/assets/{ordinal-hYBb2elL.js → ordinal-BDEzSJ7C.js} +1 -1
- package/console-app/assets/packet-7NZHBO7P-CzFZvntp.js +1 -0
- package/console-app/assets/path-fybaL0A-.js +1 -0
- package/console-app/assets/pegDiagram-VL7TDLO6-3iMotW64.js +1 -0
- package/console-app/assets/pie-RZYD4A2V-CXIoUTJn.js +1 -0
- package/console-app/assets/pieDiagram-7S7Q4E2Y-B-EOKkdd.js +39 -0
- package/console-app/assets/{quadrantDiagram-ABIIQ3AL-CI840rae.js → quadrantDiagram-CIZ2JOQS-DDdq8l2N.js} +2 -2
- package/console-app/assets/radar-I7S5WNFK-9SLSkJ73.js +1 -0
- package/console-app/assets/railroad-3IZDKUUU-DdJ88Ord.js +1 -0
- package/console-app/assets/railroad-abnf-AHOZXSZD-D2QiLT8B.js +1 -0
- package/console-app/assets/railroad-ebnf-EBAXGLYW-CSMqj9L2.js +1 -0
- package/console-app/assets/railroad-peg-LSFZ7HO6-Cg1-F8im.js +1 -0
- package/console-app/assets/railroadDiagram-AXF67PYL-BMW_s9QW.js +1 -0
- package/console-app/assets/{requirementDiagram-TGXJPOKE-CyHrMdrC.js → requirementDiagram-LRYGKXZP-BzcnEvjk.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-Dh2TFvuG.js} +2 -2
- package/console-app/assets/sequenceDiagram-SI44F4Z6-b-m-tQYz.js +162 -0
- package/console-app/assets/src-Dm8O0hiD.js +1 -0
- package/console-app/assets/stateDiagram-OKZ733FA-W98kCkqj.js +1 -0
- package/console-app/assets/stateDiagram-v2-UEYNNEHI-DpnoMNHC.js +1 -0
- package/console-app/assets/swimlanes-SLNWSIFB-0q_y6cLu.js +2 -0
- package/console-app/assets/swimlanesDiagram-ULZ7WXOC-BmGtOaWo.js +8 -0
- package/console-app/assets/timeline-definition-Z64GVDOM-DmsNlhwe.js +120 -0
- package/console-app/assets/treeView-QDETBFTQ-DY7A9uJm.js +1 -0
- package/console-app/assets/treemap-6X3UGDF4-DI73Vm90.js +1 -0
- package/console-app/assets/vennDiagram-T6HMQDX7-Czpr9diJ.js +34 -0
- package/console-app/assets/wardley-OPB4EBWU-C39AmDqd.js +1 -0
- package/console-app/assets/{wardleyDiagram-EHGQE667-Cw2M8s0p.js → wardleyDiagram-T6FBY63Y-DOtWBvnk.js} +36 -36
- package/console-app/assets/{xychartDiagram-FW5EYKEG-BxMLZdbF.js → xychartDiagram-ELKLHX3M-VHHuGrWV.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 +38 -18
- 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 +112 -90
- 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 -3
- 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 +90 -27
- 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.d.ts +4 -4
- package/dist/src/functions/commands/dev.js +9 -8
- 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 +4 -2
- 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 +8 -6
- 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 +1 -1
- 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 +16 -2
- 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 -4
- 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 +5 -3
- 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 +1 -1
- package/dist/src/functions/wirings/emails/serialize-emails.js +2 -2
- 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-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 -4
- 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 +4 -8
- 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 -6
- 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 +3 -2
- 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.js +3 -4
- 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 +5 -4
- 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 -17
- 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 -49
- 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 -3
- 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 -3
- 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 -4
- 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 +4 -3
- 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 +82 -12
- 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.js +5 -1
- 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
package/surface.json
ADDED
|
@@ -0,0 +1,4464 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.12.107",
|
|
3
|
+
"entryPoints": [
|
|
4
|
+
{
|
|
5
|
+
"id": "app",
|
|
6
|
+
"job": "build an app",
|
|
7
|
+
"summary": "This is the door you open to build a service. The CLI generates a barrel per concern into .pikku, package.json maps #pikku onto it, and everything below runs in the order you actually meet it while building — write a function, give it what it needs, decide how the world reaches it, say who may call it, compose it, then drive the whole thing in a test.",
|
|
8
|
+
"specifierBase": "#pikku",
|
|
9
|
+
"leaves": [
|
|
10
|
+
{
|
|
11
|
+
"specifier": "#pikku/function",
|
|
12
|
+
"name": "function",
|
|
13
|
+
"step": "create a function",
|
|
14
|
+
"summary": "The function definers every wiring eventually points at, and the types they are written against.",
|
|
15
|
+
"symbols": [
|
|
16
|
+
{
|
|
17
|
+
"name": "InferSchemaOutput",
|
|
18
|
+
"kind": "type",
|
|
19
|
+
"origin": {
|
|
20
|
+
"via": "generated"
|
|
21
|
+
},
|
|
22
|
+
"summary": "Helper type to infer the output type from a Standard Schema",
|
|
23
|
+
"docs": "Helper type to infer the output type from a Standard Schema"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"name": "NodeConfig",
|
|
27
|
+
"kind": "type",
|
|
28
|
+
"origin": {
|
|
29
|
+
"via": "generated"
|
|
30
|
+
},
|
|
31
|
+
"summary": "Inline node configuration for function definitions.",
|
|
32
|
+
"docs": "Inline node configuration for function definitions."
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"name": "pikkuApprovalDescription",
|
|
36
|
+
"kind": "function",
|
|
37
|
+
"origin": {
|
|
38
|
+
"via": "generated"
|
|
39
|
+
},
|
|
40
|
+
"summary": "Factory function for creating approval description functions with tree-shaking support.",
|
|
41
|
+
"docs": "Factory function for creating approval description functions with tree-shaking support."
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"name": "PikkuApprovalDescription",
|
|
45
|
+
"kind": "type",
|
|
46
|
+
"origin": {
|
|
47
|
+
"via": "generated"
|
|
48
|
+
},
|
|
49
|
+
"summary": "A function that generates a human-readable description of a pending approval action. Used by AI agents to show meaningful approval prompts instead of raw tool arguments.",
|
|
50
|
+
"docs": "A function that generates a human-readable description of a pending approval action.\nUsed by AI agents to show meaningful approval prompts instead of raw tool arguments."
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"name": "pikkuFunc",
|
|
54
|
+
"kind": "function",
|
|
55
|
+
"origin": {
|
|
56
|
+
"via": "generated"
|
|
57
|
+
},
|
|
58
|
+
"summary": "Creates a Pikku function that can be either session-aware or sessionless. This is the main function wrapper for creating API endpoints.",
|
|
59
|
+
"docs": "Creates a Pikku function that can be either session-aware or sessionless.\nThis is the main function wrapper for creating API endpoints.\n\nDefine the input and output with Zod schemas — the function's types are\ninferred from them, and the schemas double as runtime validation."
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"name": "PikkuFunction",
|
|
63
|
+
"kind": "type",
|
|
64
|
+
"origin": {
|
|
65
|
+
"via": "generated"
|
|
66
|
+
},
|
|
67
|
+
"summary": "A session-aware API function that requires user authentication. Use this for protected endpoints that need access to user session data.",
|
|
68
|
+
"docs": "A session-aware API function that requires user authentication.\nUse this for protected endpoints that need access to user session data."
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"name": "PikkuFunctionConfig",
|
|
72
|
+
"kind": "type",
|
|
73
|
+
"origin": {
|
|
74
|
+
"via": "generated"
|
|
75
|
+
},
|
|
76
|
+
"summary": "Configuration object for Pikku functions with optional middleware, permissions, tags, and documentation. This type wraps CorePikkuFunctionConfig with the user's custom types.",
|
|
77
|
+
"docs": "Configuration object for Pikku functions with optional middleware, permissions, tags, and documentation.\nThis type wraps CorePikkuFunctionConfig with the user's custom types."
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"name": "PikkuFunctionSessionless",
|
|
81
|
+
"kind": "type",
|
|
82
|
+
"origin": {
|
|
83
|
+
"via": "generated"
|
|
84
|
+
},
|
|
85
|
+
"summary": "A sessionless API function that doesn't require user authentication. Use this for public endpoints, health checks, or operations that don't need user context.",
|
|
86
|
+
"docs": "A sessionless API function that doesn't require user authentication.\nUse this for public endpoints, health checks, or operations that don't need user context."
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"name": "pikkuListFunc",
|
|
90
|
+
"kind": "function",
|
|
91
|
+
"origin": {
|
|
92
|
+
"via": "generated"
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"name": "pikkuRemoteChannelFunc",
|
|
97
|
+
"kind": "function",
|
|
98
|
+
"origin": {
|
|
99
|
+
"via": "generated"
|
|
100
|
+
},
|
|
101
|
+
"summary": "Declares a capability the connected client answers, reachable from any `wireChannel` function as `channel.remote(name, input)`.",
|
|
102
|
+
"docs": "Declares a capability the connected client answers, reachable from any\n`wireChannel` function as `channel.remote(name, input)`.\n\nThere is no `func`: this side owns the contract, the client owns the body.\nThe `description` is what a person is shown when asked to approve the call,\nso write it for them rather than for the caller."
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"name": "pikkuSessionlessFunc",
|
|
106
|
+
"kind": "function",
|
|
107
|
+
"origin": {
|
|
108
|
+
"via": "generated"
|
|
109
|
+
},
|
|
110
|
+
"summary": "Creates a sessionless Pikku function that doesn't require user authentication. Use this for public endpoints, webhooks, or background tasks.",
|
|
111
|
+
"docs": "Creates a sessionless Pikku function that doesn't require user authentication.\nUse this for public endpoints, webhooks, or background tasks.\n\nDefine the input and output with Zod schemas — the function's types are\ninferred from them, and the schemas double as runtime validation."
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"name": "pikkuVoidFunc",
|
|
115
|
+
"kind": "function",
|
|
116
|
+
"origin": {
|
|
117
|
+
"via": "generated"
|
|
118
|
+
},
|
|
119
|
+
"summary": "Creates a function that takes no input and returns no output. Useful for health checks, triggers, or cleanup operations.",
|
|
120
|
+
"docs": "Creates a function that takes no input and returns no output.\nUseful for health checks, triggers, or cleanup operations."
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"name": "ref",
|
|
124
|
+
"kind": "function",
|
|
125
|
+
"origin": {
|
|
126
|
+
"via": "generated"
|
|
127
|
+
},
|
|
128
|
+
"summary": "References a registered function by name for use in any wiring. Works for both local and addon functions — resolves via RPC at runtime.",
|
|
129
|
+
"docs": "References a registered function by name for use in any wiring.\nWorks for both local and addon functions — resolves via RPC at runtime."
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"name": "refChannel",
|
|
133
|
+
"kind": "function",
|
|
134
|
+
"origin": {
|
|
135
|
+
"via": "generated"
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"name": "refCLI",
|
|
140
|
+
"kind": "function",
|
|
141
|
+
"origin": {
|
|
142
|
+
"via": "generated"
|
|
143
|
+
}
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"name": "refHTTP",
|
|
147
|
+
"kind": "function",
|
|
148
|
+
"origin": {
|
|
149
|
+
"via": "generated"
|
|
150
|
+
}
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"name": "Services",
|
|
154
|
+
"kind": "interface",
|
|
155
|
+
"origin": {
|
|
156
|
+
"via": "package",
|
|
157
|
+
"packageName": "@pikku/templates-functions"
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"name": "Session",
|
|
162
|
+
"kind": "type",
|
|
163
|
+
"origin": {
|
|
164
|
+
"via": "generated"
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"name": "SingletonServices",
|
|
169
|
+
"kind": "interface",
|
|
170
|
+
"origin": {
|
|
171
|
+
"via": "package",
|
|
172
|
+
"packageName": "@pikku/templates-functions"
|
|
173
|
+
}
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"name": "WiredServices",
|
|
177
|
+
"kind": "type",
|
|
178
|
+
"origin": {
|
|
179
|
+
"via": "generated"
|
|
180
|
+
}
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"name": "WiredSingletonServices",
|
|
184
|
+
"kind": "type",
|
|
185
|
+
"origin": {
|
|
186
|
+
"via": "generated"
|
|
187
|
+
},
|
|
188
|
+
"summary": "The services a wired function actually receives. The inspector records which services each wired `func`, `permissions` and `middleware` destructures and emits them as `RequiredSingletonServices`; intersecting that here makes those services **non-optional** at every call site. A service is optional only when nothing destructures it — in which case it is never created either. This is why an `if (!service)` guard inside a function body is always dead code.",
|
|
189
|
+
"docs": "The services a wired function actually receives. The inspector records which\nservices each wired `func`, `permissions` and `middleware` destructures and\nemits them as `RequiredSingletonServices`; intersecting that here makes those\nservices **non-optional** at every call site. A service is optional only when\nnothing destructures it — in which case it is never created either. This is\nwhy an `if (!service)` guard inside a function body is always dead code."
|
|
190
|
+
}
|
|
191
|
+
]
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
"specifier": "#pikku/setup",
|
|
195
|
+
"name": "setup",
|
|
196
|
+
"step": "create a function",
|
|
197
|
+
"summary": "The three factories a project declares exactly once — its config, its singleton services and its per-wire services. An addon declares the same three in its own flavour, handed the logger, variables and secrets the host application already built. Everything else on this page is imported by features; these are imported by bootstrap and then left alone.",
|
|
198
|
+
"symbols": [
|
|
199
|
+
{
|
|
200
|
+
"name": "Config",
|
|
201
|
+
"kind": "interface",
|
|
202
|
+
"origin": {
|
|
203
|
+
"via": "package",
|
|
204
|
+
"packageName": "@pikku/templates-functions"
|
|
205
|
+
}
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
"name": "pikkuConfig",
|
|
209
|
+
"kind": "function",
|
|
210
|
+
"origin": {
|
|
211
|
+
"via": "generated"
|
|
212
|
+
},
|
|
213
|
+
"summary": "Creates a Pikku config factory. Use this to define your application's configuration factory.",
|
|
214
|
+
"docs": "Creates a Pikku config factory.\nUse this to define your application's configuration factory."
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
"name": "pikkuServices",
|
|
218
|
+
"kind": "function",
|
|
219
|
+
"origin": {
|
|
220
|
+
"via": "generated"
|
|
221
|
+
},
|
|
222
|
+
"summary": "Creates a Pikku singleton services factory. Use this to define services that are created once and shared across all requests.",
|
|
223
|
+
"docs": "Creates a Pikku singleton services factory.\nUse this to define services that are created once and shared across all requests."
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
"name": "pikkuWireServices",
|
|
227
|
+
"kind": "function",
|
|
228
|
+
"origin": {
|
|
229
|
+
"via": "generated"
|
|
230
|
+
},
|
|
231
|
+
"summary": "Creates a Pikku wire services factory. Use this to define services that are created per-request/session.",
|
|
232
|
+
"docs": "Creates a Pikku wire services factory.\nUse this to define services that are created per-request/session."
|
|
233
|
+
}
|
|
234
|
+
]
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
"specifier": "#pikku/addon",
|
|
238
|
+
"name": "addon",
|
|
239
|
+
"step": "enhance it",
|
|
240
|
+
"summary": "Installs an addon into this application, on its own or over rpc against a remote one.",
|
|
241
|
+
"symbols": [
|
|
242
|
+
{
|
|
243
|
+
"name": "wireAddon",
|
|
244
|
+
"kind": "function",
|
|
245
|
+
"origin": {
|
|
246
|
+
"via": "core",
|
|
247
|
+
"subpath": "./addon"
|
|
248
|
+
}
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
"name": "wireRemoteAddon",
|
|
252
|
+
"kind": "function",
|
|
253
|
+
"origin": {
|
|
254
|
+
"via": "core",
|
|
255
|
+
"subpath": "./addon"
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
]
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
"specifier": "#pikku/error",
|
|
262
|
+
"name": "error",
|
|
263
|
+
"step": "enhance it",
|
|
264
|
+
"summary": "The errors your functions throw and the HTTP status each one maps to, so a thrown error is part of the contract rather than a stack trace.",
|
|
265
|
+
"symbols": [
|
|
266
|
+
{
|
|
267
|
+
"name": "addError",
|
|
268
|
+
"kind": "function",
|
|
269
|
+
"origin": {
|
|
270
|
+
"via": "core",
|
|
271
|
+
"subpath": "./errors"
|
|
272
|
+
}
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
"name": "AIProviderAuthError",
|
|
276
|
+
"kind": "class",
|
|
277
|
+
"origin": {
|
|
278
|
+
"via": "core",
|
|
279
|
+
"subpath": "./errors"
|
|
280
|
+
}
|
|
281
|
+
},
|
|
282
|
+
{
|
|
283
|
+
"name": "AIProviderNotConfiguredError",
|
|
284
|
+
"kind": "class",
|
|
285
|
+
"origin": {
|
|
286
|
+
"via": "core",
|
|
287
|
+
"subpath": "./errors"
|
|
288
|
+
}
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
"name": "BadGatewayError",
|
|
292
|
+
"kind": "class",
|
|
293
|
+
"origin": {
|
|
294
|
+
"via": "core",
|
|
295
|
+
"subpath": "./errors"
|
|
296
|
+
}
|
|
297
|
+
},
|
|
298
|
+
{
|
|
299
|
+
"name": "BadRequestError",
|
|
300
|
+
"kind": "class",
|
|
301
|
+
"origin": {
|
|
302
|
+
"via": "core",
|
|
303
|
+
"subpath": "./errors"
|
|
304
|
+
}
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
"name": "ConflictError",
|
|
308
|
+
"kind": "class",
|
|
309
|
+
"origin": {
|
|
310
|
+
"via": "core",
|
|
311
|
+
"subpath": "./errors"
|
|
312
|
+
}
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
"name": "ErrorDetails",
|
|
316
|
+
"kind": "interface",
|
|
317
|
+
"origin": {
|
|
318
|
+
"via": "core",
|
|
319
|
+
"subpath": "./errors"
|
|
320
|
+
}
|
|
321
|
+
},
|
|
322
|
+
{
|
|
323
|
+
"name": "ExpectationFailedError",
|
|
324
|
+
"kind": "class",
|
|
325
|
+
"origin": {
|
|
326
|
+
"via": "core",
|
|
327
|
+
"subpath": "./errors"
|
|
328
|
+
}
|
|
329
|
+
},
|
|
330
|
+
{
|
|
331
|
+
"name": "ForbiddenError",
|
|
332
|
+
"kind": "class",
|
|
333
|
+
"origin": {
|
|
334
|
+
"via": "core",
|
|
335
|
+
"subpath": "./errors"
|
|
336
|
+
}
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
"name": "GatewayTimeoutError",
|
|
340
|
+
"kind": "class",
|
|
341
|
+
"origin": {
|
|
342
|
+
"via": "core",
|
|
343
|
+
"subpath": "./errors"
|
|
344
|
+
}
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
"name": "GoneError",
|
|
348
|
+
"kind": "class",
|
|
349
|
+
"origin": {
|
|
350
|
+
"via": "core",
|
|
351
|
+
"subpath": "./errors"
|
|
352
|
+
}
|
|
353
|
+
},
|
|
354
|
+
{
|
|
355
|
+
"name": "HTTPVersionNotSupportedError",
|
|
356
|
+
"kind": "class",
|
|
357
|
+
"origin": {
|
|
358
|
+
"via": "core",
|
|
359
|
+
"subpath": "./errors"
|
|
360
|
+
}
|
|
361
|
+
},
|
|
362
|
+
{
|
|
363
|
+
"name": "InternalServerError",
|
|
364
|
+
"kind": "class",
|
|
365
|
+
"origin": {
|
|
366
|
+
"via": "core",
|
|
367
|
+
"subpath": "./errors"
|
|
368
|
+
}
|
|
369
|
+
},
|
|
370
|
+
{
|
|
371
|
+
"name": "InvalidMiddlewareWireError",
|
|
372
|
+
"kind": "class",
|
|
373
|
+
"origin": {
|
|
374
|
+
"via": "core",
|
|
375
|
+
"subpath": "./errors"
|
|
376
|
+
}
|
|
377
|
+
},
|
|
378
|
+
{
|
|
379
|
+
"name": "InvalidOriginError",
|
|
380
|
+
"kind": "class",
|
|
381
|
+
"origin": {
|
|
382
|
+
"via": "core",
|
|
383
|
+
"subpath": "./errors"
|
|
384
|
+
}
|
|
385
|
+
},
|
|
386
|
+
{
|
|
387
|
+
"name": "InvalidSessionError",
|
|
388
|
+
"kind": "class",
|
|
389
|
+
"origin": {
|
|
390
|
+
"via": "core",
|
|
391
|
+
"subpath": "./errors"
|
|
392
|
+
}
|
|
393
|
+
},
|
|
394
|
+
{
|
|
395
|
+
"name": "isExpectedError",
|
|
396
|
+
"kind": "function",
|
|
397
|
+
"origin": {
|
|
398
|
+
"via": "core",
|
|
399
|
+
"subpath": "./errors"
|
|
400
|
+
},
|
|
401
|
+
"summary": "A `PikkuError`, or any error carrying `expected: true` — the marker that survives serialization across a workflow step boundary and rehydration as a plain `Error`. Callers log the message alone for these, the full stack for everything else.",
|
|
402
|
+
"docs": "A `PikkuError`, or any error carrying `expected: true` — the marker that\nsurvives serialization across a workflow step boundary and rehydration as a\nplain `Error`. Callers log the message alone for these, the full stack for\neverything else."
|
|
403
|
+
},
|
|
404
|
+
{
|
|
405
|
+
"name": "LengthRequiredError",
|
|
406
|
+
"kind": "class",
|
|
407
|
+
"origin": {
|
|
408
|
+
"via": "core",
|
|
409
|
+
"subpath": "./errors"
|
|
410
|
+
}
|
|
411
|
+
},
|
|
412
|
+
{
|
|
413
|
+
"name": "LocalEnvironmentOnlyError",
|
|
414
|
+
"kind": "class",
|
|
415
|
+
"origin": {
|
|
416
|
+
"via": "core",
|
|
417
|
+
"subpath": "./errors"
|
|
418
|
+
}
|
|
419
|
+
},
|
|
420
|
+
{
|
|
421
|
+
"name": "LockedError",
|
|
422
|
+
"kind": "class",
|
|
423
|
+
"origin": {
|
|
424
|
+
"via": "core",
|
|
425
|
+
"subpath": "./errors"
|
|
426
|
+
}
|
|
427
|
+
},
|
|
428
|
+
{
|
|
429
|
+
"name": "MaxComputeTimeReachedError",
|
|
430
|
+
"kind": "class",
|
|
431
|
+
"origin": {
|
|
432
|
+
"via": "core",
|
|
433
|
+
"subpath": "./errors"
|
|
434
|
+
}
|
|
435
|
+
},
|
|
436
|
+
{
|
|
437
|
+
"name": "MethodNotAllowedError",
|
|
438
|
+
"kind": "class",
|
|
439
|
+
"origin": {
|
|
440
|
+
"via": "core",
|
|
441
|
+
"subpath": "./errors"
|
|
442
|
+
}
|
|
443
|
+
},
|
|
444
|
+
{
|
|
445
|
+
"name": "MissingCredentialError",
|
|
446
|
+
"kind": "class",
|
|
447
|
+
"origin": {
|
|
448
|
+
"via": "core",
|
|
449
|
+
"subpath": "./errors"
|
|
450
|
+
}
|
|
451
|
+
},
|
|
452
|
+
{
|
|
453
|
+
"name": "MissingSchemaError",
|
|
454
|
+
"kind": "class",
|
|
455
|
+
"origin": {
|
|
456
|
+
"via": "core",
|
|
457
|
+
"subpath": "./errors"
|
|
458
|
+
}
|
|
459
|
+
},
|
|
460
|
+
{
|
|
461
|
+
"name": "MissingScopeError",
|
|
462
|
+
"kind": "class",
|
|
463
|
+
"origin": {
|
|
464
|
+
"via": "core",
|
|
465
|
+
"subpath": "./errors"
|
|
466
|
+
}
|
|
467
|
+
},
|
|
468
|
+
{
|
|
469
|
+
"name": "MissingServiceError",
|
|
470
|
+
"kind": "class",
|
|
471
|
+
"origin": {
|
|
472
|
+
"via": "core",
|
|
473
|
+
"subpath": "./errors"
|
|
474
|
+
}
|
|
475
|
+
},
|
|
476
|
+
{
|
|
477
|
+
"name": "MissingSessionError",
|
|
478
|
+
"kind": "class",
|
|
479
|
+
"origin": {
|
|
480
|
+
"via": "core",
|
|
481
|
+
"subpath": "./errors"
|
|
482
|
+
}
|
|
483
|
+
},
|
|
484
|
+
{
|
|
485
|
+
"name": "NotAcceptableError",
|
|
486
|
+
"kind": "class",
|
|
487
|
+
"origin": {
|
|
488
|
+
"via": "core",
|
|
489
|
+
"subpath": "./errors"
|
|
490
|
+
}
|
|
491
|
+
},
|
|
492
|
+
{
|
|
493
|
+
"name": "NotFoundError",
|
|
494
|
+
"kind": "class",
|
|
495
|
+
"origin": {
|
|
496
|
+
"via": "core",
|
|
497
|
+
"subpath": "./errors"
|
|
498
|
+
}
|
|
499
|
+
},
|
|
500
|
+
{
|
|
501
|
+
"name": "NotImplementedError",
|
|
502
|
+
"kind": "class",
|
|
503
|
+
"origin": {
|
|
504
|
+
"via": "core",
|
|
505
|
+
"subpath": "./errors"
|
|
506
|
+
}
|
|
507
|
+
},
|
|
508
|
+
{
|
|
509
|
+
"name": "PayloadTooLargeError",
|
|
510
|
+
"kind": "class",
|
|
511
|
+
"origin": {
|
|
512
|
+
"via": "core",
|
|
513
|
+
"subpath": "./errors"
|
|
514
|
+
}
|
|
515
|
+
},
|
|
516
|
+
{
|
|
517
|
+
"name": "PaymentRequiredError",
|
|
518
|
+
"kind": "class",
|
|
519
|
+
"origin": {
|
|
520
|
+
"via": "core",
|
|
521
|
+
"subpath": "./errors"
|
|
522
|
+
}
|
|
523
|
+
},
|
|
524
|
+
{
|
|
525
|
+
"name": "PikkuError",
|
|
526
|
+
"kind": "class",
|
|
527
|
+
"origin": {
|
|
528
|
+
"via": "core",
|
|
529
|
+
"subpath": "./errors"
|
|
530
|
+
}
|
|
531
|
+
},
|
|
532
|
+
{
|
|
533
|
+
"name": "PikkuMissingMetaError",
|
|
534
|
+
"kind": "class",
|
|
535
|
+
"origin": {
|
|
536
|
+
"via": "core",
|
|
537
|
+
"subpath": "./errors"
|
|
538
|
+
}
|
|
539
|
+
},
|
|
540
|
+
{
|
|
541
|
+
"name": "PreconditionFailedError",
|
|
542
|
+
"kind": "class",
|
|
543
|
+
"origin": {
|
|
544
|
+
"via": "core",
|
|
545
|
+
"subpath": "./errors"
|
|
546
|
+
}
|
|
547
|
+
},
|
|
548
|
+
{
|
|
549
|
+
"name": "ProxyAuthenticationRequiredError",
|
|
550
|
+
"kind": "class",
|
|
551
|
+
"origin": {
|
|
552
|
+
"via": "core",
|
|
553
|
+
"subpath": "./errors"
|
|
554
|
+
}
|
|
555
|
+
},
|
|
556
|
+
{
|
|
557
|
+
"name": "RangeNotSatisfiableError",
|
|
558
|
+
"kind": "class",
|
|
559
|
+
"origin": {
|
|
560
|
+
"via": "core",
|
|
561
|
+
"subpath": "./errors"
|
|
562
|
+
}
|
|
563
|
+
},
|
|
564
|
+
{
|
|
565
|
+
"name": "ReadonlySessionError",
|
|
566
|
+
"kind": "class",
|
|
567
|
+
"origin": {
|
|
568
|
+
"via": "core",
|
|
569
|
+
"subpath": "./errors"
|
|
570
|
+
}
|
|
571
|
+
},
|
|
572
|
+
{
|
|
573
|
+
"name": "RequestTimeoutError",
|
|
574
|
+
"kind": "class",
|
|
575
|
+
"origin": {
|
|
576
|
+
"via": "core",
|
|
577
|
+
"subpath": "./errors"
|
|
578
|
+
}
|
|
579
|
+
},
|
|
580
|
+
{
|
|
581
|
+
"name": "SerializedError",
|
|
582
|
+
"kind": "interface",
|
|
583
|
+
"origin": {
|
|
584
|
+
"via": "core",
|
|
585
|
+
"subpath": "./errors"
|
|
586
|
+
}
|
|
587
|
+
},
|
|
588
|
+
{
|
|
589
|
+
"name": "ServiceUnavailableError",
|
|
590
|
+
"kind": "class",
|
|
591
|
+
"origin": {
|
|
592
|
+
"via": "core",
|
|
593
|
+
"subpath": "./errors"
|
|
594
|
+
}
|
|
595
|
+
},
|
|
596
|
+
{
|
|
597
|
+
"name": "SystemRoleImmutableError",
|
|
598
|
+
"kind": "class",
|
|
599
|
+
"origin": {
|
|
600
|
+
"via": "core",
|
|
601
|
+
"subpath": "./errors"
|
|
602
|
+
},
|
|
603
|
+
"summary": "An administrative operation targeted a role that is declared in code.",
|
|
604
|
+
"docs": "An administrative operation targeted a role that is declared in code.\n\nSystem roles ship with the product: the console may show and grant them, but\nrenaming, re-scoping or deleting one would let a UI action silently change\nwhat a declared persona means, and what every scenario written against that\nrole is actually testing."
|
|
605
|
+
},
|
|
606
|
+
{
|
|
607
|
+
"name": "SystemRoleShadowedError",
|
|
608
|
+
"kind": "class",
|
|
609
|
+
"origin": {
|
|
610
|
+
"via": "core",
|
|
611
|
+
"subpath": "./errors"
|
|
612
|
+
},
|
|
613
|
+
"summary": "A role was created with the name of a role declared in code.",
|
|
614
|
+
"docs": "A role was created with the name of a role declared in code.\n\nShadowing is refused rather than merged: two rows answering to one name make\n\"does Susan hold `buyer`?\" depend on which one the store happened to return."
|
|
615
|
+
},
|
|
616
|
+
{
|
|
617
|
+
"name": "TooManyRequestsError",
|
|
618
|
+
"kind": "class",
|
|
619
|
+
"origin": {
|
|
620
|
+
"via": "core",
|
|
621
|
+
"subpath": "./errors"
|
|
622
|
+
}
|
|
623
|
+
},
|
|
624
|
+
{
|
|
625
|
+
"name": "UnauthorizedError",
|
|
626
|
+
"kind": "class",
|
|
627
|
+
"origin": {
|
|
628
|
+
"via": "core",
|
|
629
|
+
"subpath": "./errors"
|
|
630
|
+
}
|
|
631
|
+
},
|
|
632
|
+
{
|
|
633
|
+
"name": "UnprocessableContentError",
|
|
634
|
+
"kind": "class",
|
|
635
|
+
"origin": {
|
|
636
|
+
"via": "core",
|
|
637
|
+
"subpath": "./errors"
|
|
638
|
+
}
|
|
639
|
+
},
|
|
640
|
+
{
|
|
641
|
+
"name": "UnsupportedMediaTypeError",
|
|
642
|
+
"kind": "class",
|
|
643
|
+
"origin": {
|
|
644
|
+
"via": "core",
|
|
645
|
+
"subpath": "./errors"
|
|
646
|
+
}
|
|
647
|
+
},
|
|
648
|
+
{
|
|
649
|
+
"name": "URITooLongError",
|
|
650
|
+
"kind": "class",
|
|
651
|
+
"origin": {
|
|
652
|
+
"via": "core",
|
|
653
|
+
"subpath": "./errors"
|
|
654
|
+
}
|
|
655
|
+
},
|
|
656
|
+
{
|
|
657
|
+
"name": "WeakKeyMaterialError",
|
|
658
|
+
"kind": "class",
|
|
659
|
+
"origin": {
|
|
660
|
+
"via": "core",
|
|
661
|
+
"subpath": "./errors"
|
|
662
|
+
}
|
|
663
|
+
}
|
|
664
|
+
]
|
|
665
|
+
},
|
|
666
|
+
{
|
|
667
|
+
"specifier": "#pikku/middleware",
|
|
668
|
+
"name": "middleware",
|
|
669
|
+
"step": "enhance it",
|
|
670
|
+
"summary": "Middleware is one concept regardless of what it ends up attached to, so it is one import: define it here, then register it globally, against a tag, or against an HTTP route or channel.",
|
|
671
|
+
"symbols": [
|
|
672
|
+
{
|
|
673
|
+
"name": "addChannelMiddleware",
|
|
674
|
+
"kind": "function",
|
|
675
|
+
"origin": {
|
|
676
|
+
"via": "generated"
|
|
677
|
+
}
|
|
678
|
+
},
|
|
679
|
+
{
|
|
680
|
+
"name": "addGlobalMiddleware",
|
|
681
|
+
"kind": "function",
|
|
682
|
+
"origin": {
|
|
683
|
+
"via": "generated"
|
|
684
|
+
},
|
|
685
|
+
"summary": "Wire-agnostic global middleware. Runs at the top of every wiring's middleware chain — before wire-, tag-, and function-level entries.",
|
|
686
|
+
"docs": "Wire-agnostic global middleware. Runs at the top of every wiring's\nmiddleware chain — before wire-, tag-, and function-level entries.\n\nResolution order: global -> wire -> tag -> function."
|
|
687
|
+
},
|
|
688
|
+
{
|
|
689
|
+
"name": "addHTTPMiddleware",
|
|
690
|
+
"kind": "function",
|
|
691
|
+
"origin": {
|
|
692
|
+
"via": "generated"
|
|
693
|
+
},
|
|
694
|
+
"summary": "Registers HTTP middleware either globally or for a specific route pattern.",
|
|
695
|
+
"docs": "Registers HTTP middleware either globally or for a specific route pattern.\n\nWhen a string route pattern is provided along with middleware, the middleware\nis applied only to that route. Otherwise, if an array is provided, it is treated\nas global middleware (applied to all routes)."
|
|
696
|
+
},
|
|
697
|
+
{
|
|
698
|
+
"name": "addTagMiddleware",
|
|
699
|
+
"kind": "function",
|
|
700
|
+
"origin": {
|
|
701
|
+
"via": "generated"
|
|
702
|
+
},
|
|
703
|
+
"summary": "Tag-scoped middleware. Applies to any wiring that carries the matching tag.",
|
|
704
|
+
"docs": "Tag-scoped middleware. Applies to any wiring that carries the matching tag."
|
|
705
|
+
},
|
|
706
|
+
{
|
|
707
|
+
"name": "cors",
|
|
708
|
+
"kind": "function",
|
|
709
|
+
"origin": {
|
|
710
|
+
"via": "core",
|
|
711
|
+
"subpath": "./middleware"
|
|
712
|
+
},
|
|
713
|
+
"summary": "Sets CORS headers on every response and short-circuits OPTIONS preflight with a 204. `origin: true` reflects the request origin; an array reflects a matching origin and otherwise sends no `Access-Control-Allow-Origin` at all, so the browser reports \"origin not allowed\" rather than an origin mismatch against whichever entry happened to be first.",
|
|
714
|
+
"docs": "Sets CORS headers on every response and short-circuits OPTIONS preflight\nwith a 204. `origin: true` reflects the request origin; an array reflects a\nmatching origin and otherwise sends no `Access-Control-Allow-Origin` at all,\nso the browser reports \"origin not allowed\" rather than an origin mismatch\nagainst whichever entry happened to be first."
|
|
715
|
+
},
|
|
716
|
+
{
|
|
717
|
+
"name": "MiddlewarePriority",
|
|
718
|
+
"kind": "type",
|
|
719
|
+
"origin": {
|
|
720
|
+
"via": "core",
|
|
721
|
+
"subpath": "./middleware"
|
|
722
|
+
},
|
|
723
|
+
"summary": "Execution order: `highest` runs first (outermost in the onion), `lowest` runs last, closest to the function.",
|
|
724
|
+
"docs": "Execution order: `highest` runs first (outermost in the onion), `lowest`\nruns last, closest to the function."
|
|
725
|
+
},
|
|
726
|
+
{
|
|
727
|
+
"name": "pikkuAgentMiddleware",
|
|
728
|
+
"kind": "function",
|
|
729
|
+
"origin": {
|
|
730
|
+
"via": "generated"
|
|
731
|
+
}
|
|
732
|
+
},
|
|
733
|
+
{
|
|
734
|
+
"name": "pikkuChannelMiddleware",
|
|
735
|
+
"kind": "function",
|
|
736
|
+
"origin": {
|
|
737
|
+
"via": "generated"
|
|
738
|
+
}
|
|
739
|
+
},
|
|
740
|
+
{
|
|
741
|
+
"name": "PikkuChannelMiddleware",
|
|
742
|
+
"kind": "type",
|
|
743
|
+
"origin": {
|
|
744
|
+
"via": "generated"
|
|
745
|
+
}
|
|
746
|
+
},
|
|
747
|
+
{
|
|
748
|
+
"name": "pikkuChannelMiddlewareFactory",
|
|
749
|
+
"kind": "function",
|
|
750
|
+
"origin": {
|
|
751
|
+
"via": "generated"
|
|
752
|
+
}
|
|
753
|
+
},
|
|
754
|
+
{
|
|
755
|
+
"name": "pikkuMiddleware",
|
|
756
|
+
"kind": "function",
|
|
757
|
+
"origin": {
|
|
758
|
+
"via": "generated"
|
|
759
|
+
},
|
|
760
|
+
"summary": "Factory function for creating middleware with tree-shaking support. Supports both direct function and configuration object syntax.",
|
|
761
|
+
"docs": "Factory function for creating middleware with tree-shaking support.\nSupports both direct function and configuration object syntax."
|
|
762
|
+
},
|
|
763
|
+
{
|
|
764
|
+
"name": "PikkuMiddleware",
|
|
765
|
+
"kind": "type",
|
|
766
|
+
"origin": {
|
|
767
|
+
"via": "generated"
|
|
768
|
+
},
|
|
769
|
+
"summary": "Type-safe middleware definition that can access your application's services and session. Use this to define reusable middleware that can be applied to multiple wirings.",
|
|
770
|
+
"docs": "Type-safe middleware definition that can access your application's services and session.\nUse this to define reusable middleware that can be applied to multiple wirings."
|
|
771
|
+
},
|
|
772
|
+
{
|
|
773
|
+
"name": "pikkuMiddlewareFactory",
|
|
774
|
+
"kind": "function",
|
|
775
|
+
"origin": {
|
|
776
|
+
"via": "generated"
|
|
777
|
+
},
|
|
778
|
+
"summary": "Factory function for creating middleware factories Use this when your middleware needs configuration/input parameters",
|
|
779
|
+
"docs": "Factory function for creating middleware factories\nUse this when your middleware needs configuration/input parameters"
|
|
780
|
+
}
|
|
781
|
+
]
|
|
782
|
+
},
|
|
783
|
+
{
|
|
784
|
+
"specifier": "#pikku/secrets",
|
|
785
|
+
"name": "secrets",
|
|
786
|
+
"step": "enhance it",
|
|
787
|
+
"summary": "Secrets a function can use without ever holding, declared here and resolved by the secrets service at runtime.",
|
|
788
|
+
"symbols": [
|
|
789
|
+
{
|
|
790
|
+
"name": "CredentialsMap",
|
|
791
|
+
"kind": "type",
|
|
792
|
+
"origin": {
|
|
793
|
+
"via": "generated"
|
|
794
|
+
}
|
|
795
|
+
},
|
|
796
|
+
{
|
|
797
|
+
"name": "defineSecret",
|
|
798
|
+
"kind": "function",
|
|
799
|
+
"origin": {
|
|
800
|
+
"via": "core",
|
|
801
|
+
"subpath": "./secret"
|
|
802
|
+
}
|
|
803
|
+
},
|
|
804
|
+
{
|
|
805
|
+
"name": "TypedSecretService",
|
|
806
|
+
"kind": "class",
|
|
807
|
+
"origin": {
|
|
808
|
+
"via": "generated"
|
|
809
|
+
}
|
|
810
|
+
}
|
|
811
|
+
]
|
|
812
|
+
},
|
|
813
|
+
{
|
|
814
|
+
"specifier": "#pikku/variables",
|
|
815
|
+
"name": "variables",
|
|
816
|
+
"step": "enhance it",
|
|
817
|
+
"summary": "Configuration a function reads through the variables service, declared once so a deployment can be checked for what it is missing.",
|
|
818
|
+
"symbols": [
|
|
819
|
+
{
|
|
820
|
+
"name": "defineVariable",
|
|
821
|
+
"kind": "function",
|
|
822
|
+
"origin": {
|
|
823
|
+
"via": "core",
|
|
824
|
+
"subpath": "./variable"
|
|
825
|
+
}
|
|
826
|
+
},
|
|
827
|
+
{
|
|
828
|
+
"name": "TypedVariablesService",
|
|
829
|
+
"kind": "class",
|
|
830
|
+
"origin": {
|
|
831
|
+
"via": "generated"
|
|
832
|
+
}
|
|
833
|
+
},
|
|
834
|
+
{
|
|
835
|
+
"name": "VariablesMap",
|
|
836
|
+
"kind": "interface",
|
|
837
|
+
"origin": {
|
|
838
|
+
"via": "generated"
|
|
839
|
+
}
|
|
840
|
+
}
|
|
841
|
+
]
|
|
842
|
+
},
|
|
843
|
+
{
|
|
844
|
+
"specifier": "#pikku/channel",
|
|
845
|
+
"name": "channel",
|
|
846
|
+
"step": "wire it up",
|
|
847
|
+
"summary": "Wires a function to a websocket channel, its message routes and its pub/sub topics.",
|
|
848
|
+
"symbols": [
|
|
849
|
+
{
|
|
850
|
+
"name": "defineChannelRoutes",
|
|
851
|
+
"kind": "function",
|
|
852
|
+
"origin": {
|
|
853
|
+
"via": "generated"
|
|
854
|
+
},
|
|
855
|
+
"summary": "Type-safe helper for defining channel message routes that can be composed. Returns the routes record as-is for use with wireChannel's onMessageWiring.",
|
|
856
|
+
"docs": "Type-safe helper for defining channel message routes that can be composed.\nReturns the routes record as-is for use with wireChannel's onMessageWiring."
|
|
857
|
+
},
|
|
858
|
+
{
|
|
859
|
+
"name": "pikkuChannelConnectionFunc",
|
|
860
|
+
"kind": "function",
|
|
861
|
+
"origin": {
|
|
862
|
+
"via": "generated"
|
|
863
|
+
},
|
|
864
|
+
"summary": "Creates a function that handles WebSocket channel connections. Called when a client connects to a channel.",
|
|
865
|
+
"docs": "Creates a function that handles WebSocket channel connections.\nCalled when a client connects to a channel."
|
|
866
|
+
},
|
|
867
|
+
{
|
|
868
|
+
"name": "pikkuChannelDisconnectionFunc",
|
|
869
|
+
"kind": "function",
|
|
870
|
+
"origin": {
|
|
871
|
+
"via": "generated"
|
|
872
|
+
},
|
|
873
|
+
"summary": "Creates a function that handles WebSocket channel disconnections. Called when a client disconnects from a channel.",
|
|
874
|
+
"docs": "Creates a function that handles WebSocket channel disconnections.\nCalled when a client disconnects from a channel."
|
|
875
|
+
},
|
|
876
|
+
{
|
|
877
|
+
"name": "pikkuChannelFunc",
|
|
878
|
+
"kind": "function",
|
|
879
|
+
"origin": {
|
|
880
|
+
"via": "generated"
|
|
881
|
+
},
|
|
882
|
+
"summary": "Creates a function that handles WebSocket channel messages. Called when a message is received on a channel.",
|
|
883
|
+
"docs": "Creates a function that handles WebSocket channel messages.\nCalled when a message is received on a channel.\n\nSupports two patterns:\n1. Generic types: `pikkuChannelFunc<Input, Output>({ func: ... })`\n2. Zod schemas: `pikkuChannelFunc({ input: z.object(...), func: ... })`"
|
|
884
|
+
},
|
|
885
|
+
{
|
|
886
|
+
"name": "wireChannel",
|
|
887
|
+
"kind": "function",
|
|
888
|
+
"origin": {
|
|
889
|
+
"via": "generated"
|
|
890
|
+
},
|
|
891
|
+
"summary": "Registers a WebSocket channel with the Pikku framework.",
|
|
892
|
+
"docs": "Registers a WebSocket channel with the Pikku framework."
|
|
893
|
+
}
|
|
894
|
+
]
|
|
895
|
+
},
|
|
896
|
+
{
|
|
897
|
+
"specifier": "#pikku/cli",
|
|
898
|
+
"name": "cli",
|
|
899
|
+
"step": "wire it up",
|
|
900
|
+
"summary": "Wires a function as a command, with its flags and arguments derived from the function input.",
|
|
901
|
+
"symbols": [
|
|
902
|
+
{
|
|
903
|
+
"name": "defineCLICommands",
|
|
904
|
+
"kind": "function",
|
|
905
|
+
"origin": {
|
|
906
|
+
"via": "generated"
|
|
907
|
+
},
|
|
908
|
+
"summary": "Type-safe helper for defining CLI commands that can be composed and spread into wireCLI.",
|
|
909
|
+
"docs": "Type-safe helper for defining CLI commands that can be composed and spread into wireCLI."
|
|
910
|
+
},
|
|
911
|
+
{
|
|
912
|
+
"name": "pikkuCLICommand",
|
|
913
|
+
"kind": "function",
|
|
914
|
+
"origin": {
|
|
915
|
+
"via": "generated"
|
|
916
|
+
},
|
|
917
|
+
"summary": "Creates a CLI command definition with automatic option inference from the function's input type. This allows TypeScript to automatically derive CLI options from the function signature.",
|
|
918
|
+
"docs": "Creates a CLI command definition with automatic option inference from the function's input type.\nThis allows TypeScript to automatically derive CLI options from the function signature."
|
|
919
|
+
},
|
|
920
|
+
{
|
|
921
|
+
"name": "pikkuCLIRender",
|
|
922
|
+
"kind": "function",
|
|
923
|
+
"origin": {
|
|
924
|
+
"via": "generated"
|
|
925
|
+
},
|
|
926
|
+
"summary": "Creates a type-safe CLI renderer with access to your application's singleton services. The renderer receives the full singleton services and output data to format and display results.",
|
|
927
|
+
"docs": "Creates a type-safe CLI renderer with access to your application's singleton services.\nThe renderer receives the full singleton services and output data to format and display results."
|
|
928
|
+
},
|
|
929
|
+
{
|
|
930
|
+
"name": "wireCLI",
|
|
931
|
+
"kind": "function",
|
|
932
|
+
"origin": {
|
|
933
|
+
"via": "generated"
|
|
934
|
+
},
|
|
935
|
+
"summary": "Registers a CLI application with the Pikku framework. Creates command-line interfaces with type-safe commands and options.",
|
|
936
|
+
"docs": "Registers a CLI application with the Pikku framework.\nCreates command-line interfaces with type-safe commands and options."
|
|
937
|
+
}
|
|
938
|
+
]
|
|
939
|
+
},
|
|
940
|
+
{
|
|
941
|
+
"specifier": "#pikku/gateway",
|
|
942
|
+
"name": "gateway",
|
|
943
|
+
"step": "wire it up",
|
|
944
|
+
"summary": "Wires a function behind a gateway that receives requests on behalf of another system.",
|
|
945
|
+
"symbols": [
|
|
946
|
+
{
|
|
947
|
+
"name": "GatewayAdapter",
|
|
948
|
+
"kind": "interface",
|
|
949
|
+
"origin": {
|
|
950
|
+
"via": "core",
|
|
951
|
+
"subpath": "./gateway"
|
|
952
|
+
}
|
|
953
|
+
},
|
|
954
|
+
{
|
|
955
|
+
"name": "GatewayInboundMessage",
|
|
956
|
+
"kind": "interface",
|
|
957
|
+
"origin": {
|
|
958
|
+
"via": "core",
|
|
959
|
+
"subpath": "./gateway"
|
|
960
|
+
}
|
|
961
|
+
},
|
|
962
|
+
{
|
|
963
|
+
"name": "GatewayOutboundMessage",
|
|
964
|
+
"kind": "interface",
|
|
965
|
+
"origin": {
|
|
966
|
+
"via": "core",
|
|
967
|
+
"subpath": "./gateway"
|
|
968
|
+
}
|
|
969
|
+
},
|
|
970
|
+
{
|
|
971
|
+
"name": "GatewayTransportType",
|
|
972
|
+
"kind": "type",
|
|
973
|
+
"origin": {
|
|
974
|
+
"via": "core",
|
|
975
|
+
"subpath": "./gateway"
|
|
976
|
+
},
|
|
977
|
+
"summary": "'webhook' the platform POSTs to us, 'websocket' the client connects to us, 'listener' no route at all.",
|
|
978
|
+
"docs": "'webhook' the platform POSTs to us, 'websocket' the client connects to us, 'listener' no route at all."
|
|
979
|
+
},
|
|
980
|
+
{
|
|
981
|
+
"name": "GatewayWiring",
|
|
982
|
+
"kind": "type",
|
|
983
|
+
"origin": {
|
|
984
|
+
"via": "generated"
|
|
985
|
+
},
|
|
986
|
+
"summary": "Type definition for gateway wirings. Declares a gateway name, its transport and its target pikku function.",
|
|
987
|
+
"docs": "Type definition for gateway wirings.\nDeclares a gateway name, its transport and its target pikku function."
|
|
988
|
+
},
|
|
989
|
+
{
|
|
990
|
+
"name": "PikkuGatewayAdapterFactory",
|
|
991
|
+
"kind": "type",
|
|
992
|
+
"origin": {
|
|
993
|
+
"via": "generated"
|
|
994
|
+
},
|
|
995
|
+
"summary": "Builds a {@link GatewayAdapter} from your application's services. The core factory type is handed `CoreSingletonServices`; this one receives the services your project actually registered.",
|
|
996
|
+
"docs": "Builds a {@link GatewayAdapter} from your application's services.\nThe core factory type is handed `CoreSingletonServices`; this one receives\nthe services your project actually registered."
|
|
997
|
+
},
|
|
998
|
+
{
|
|
999
|
+
"name": "WebhookVerificationResult",
|
|
1000
|
+
"kind": "type",
|
|
1001
|
+
"origin": {
|
|
1002
|
+
"via": "core",
|
|
1003
|
+
"subpath": "./gateway"
|
|
1004
|
+
}
|
|
1005
|
+
},
|
|
1006
|
+
{
|
|
1007
|
+
"name": "wireGateway",
|
|
1008
|
+
"kind": "function",
|
|
1009
|
+
"origin": {
|
|
1010
|
+
"via": "generated"
|
|
1011
|
+
},
|
|
1012
|
+
"summary": "Registers a gateway with the Pikku framework. Runs everywhere — inspector extracts at build time.",
|
|
1013
|
+
"docs": "Registers a gateway with the Pikku framework.\nRuns everywhere — inspector extracts at build time."
|
|
1014
|
+
}
|
|
1015
|
+
]
|
|
1016
|
+
},
|
|
1017
|
+
{
|
|
1018
|
+
"specifier": "#pikku/http",
|
|
1019
|
+
"name": "http",
|
|
1020
|
+
"step": "wire it up",
|
|
1021
|
+
"summary": "Wires a function to an HTTP route, with the path parameters checked against the function input.",
|
|
1022
|
+
"symbols": [
|
|
1023
|
+
{
|
|
1024
|
+
"name": "defineHTTPRoutes",
|
|
1025
|
+
"kind": "function",
|
|
1026
|
+
"origin": {
|
|
1027
|
+
"via": "generated"
|
|
1028
|
+
},
|
|
1029
|
+
"summary": "Type-safe helper for defining route contracts that can be composed.",
|
|
1030
|
+
"docs": "Type-safe helper for defining route contracts that can be composed."
|
|
1031
|
+
},
|
|
1032
|
+
{
|
|
1033
|
+
"name": "wireHTTP",
|
|
1034
|
+
"kind": "function",
|
|
1035
|
+
"origin": {
|
|
1036
|
+
"via": "generated"
|
|
1037
|
+
},
|
|
1038
|
+
"summary": "Registers an HTTP wiring with the Pikku framework.",
|
|
1039
|
+
"docs": "Registers an HTTP wiring with the Pikku framework."
|
|
1040
|
+
},
|
|
1041
|
+
{
|
|
1042
|
+
"name": "wireHTTPRoutes",
|
|
1043
|
+
"kind": "function",
|
|
1044
|
+
"origin": {
|
|
1045
|
+
"via": "generated"
|
|
1046
|
+
},
|
|
1047
|
+
"summary": "Wires multiple HTTP routes from a nested map or array configuration.",
|
|
1048
|
+
"docs": "Wires multiple HTTP routes from a nested map or array configuration."
|
|
1049
|
+
}
|
|
1050
|
+
]
|
|
1051
|
+
},
|
|
1052
|
+
{
|
|
1053
|
+
"specifier": "#pikku/mcp",
|
|
1054
|
+
"name": "mcp",
|
|
1055
|
+
"step": "wire it up",
|
|
1056
|
+
"summary": "Wires a function as an MCP tool, resource or prompt for a model to call.",
|
|
1057
|
+
"symbols": [
|
|
1058
|
+
{
|
|
1059
|
+
"name": "pikkuMCPPromptFunc",
|
|
1060
|
+
"kind": "function",
|
|
1061
|
+
"origin": {
|
|
1062
|
+
"via": "generated"
|
|
1063
|
+
},
|
|
1064
|
+
"summary": "Creates a function for handling MCP prompt requests. These functions generate prompt templates for AI models.",
|
|
1065
|
+
"docs": "Creates a function for handling MCP prompt requests.\nThese functions generate prompt templates for AI models.\n\nSupports two patterns:\n1. Generic types: `pikkuMCPPromptFunc<Input>({ func: ... })`\n2. Zod schemas: `pikkuMCPPromptFunc({ input: z.object(...), func: ... })`"
|
|
1066
|
+
},
|
|
1067
|
+
{
|
|
1068
|
+
"name": "pikkuMCPResourceFunc",
|
|
1069
|
+
"kind": "function",
|
|
1070
|
+
"origin": {
|
|
1071
|
+
"via": "generated"
|
|
1072
|
+
},
|
|
1073
|
+
"summary": "Creates a function for handling MCP resource requests. These functions provide data that AI models can access.",
|
|
1074
|
+
"docs": "Creates a function for handling MCP resource requests.\nThese functions provide data that AI models can access.\n\nSupports two patterns:\n1. Generic types: `pikkuMCPResourceFunc<Input>({ func: ... })`\n2. Zod schemas: `pikkuMCPResourceFunc({ input: z.object(...), func: ... })`"
|
|
1075
|
+
},
|
|
1076
|
+
{
|
|
1077
|
+
"name": "pikkuMCPToolFunc",
|
|
1078
|
+
"kind": "function",
|
|
1079
|
+
"origin": {
|
|
1080
|
+
"via": "generated"
|
|
1081
|
+
},
|
|
1082
|
+
"summary": "Creates a function for handling MCP tool invocations. These functions perform actions that AI models can request.",
|
|
1083
|
+
"docs": "Creates a function for handling MCP tool invocations.\nThese functions perform actions that AI models can request.\n\nSupports two patterns:\n1. Generic types: `pikkuMCPToolFunc<Input>({ func: ... })`\n2. Zod schemas: `pikkuMCPToolFunc({ input: z.object(...), func: ... })`"
|
|
1084
|
+
},
|
|
1085
|
+
{
|
|
1086
|
+
"name": "wireMCPPrompt",
|
|
1087
|
+
"kind": "function",
|
|
1088
|
+
"origin": {
|
|
1089
|
+
"via": "generated"
|
|
1090
|
+
},
|
|
1091
|
+
"summary": "Registers an MCP prompt with the Pikku framework. Prompts provide templates that AI models can use.",
|
|
1092
|
+
"docs": "Registers an MCP prompt with the Pikku framework.\nPrompts provide templates that AI models can use."
|
|
1093
|
+
},
|
|
1094
|
+
{
|
|
1095
|
+
"name": "wireMCPResource",
|
|
1096
|
+
"kind": "function",
|
|
1097
|
+
"origin": {
|
|
1098
|
+
"via": "generated"
|
|
1099
|
+
},
|
|
1100
|
+
"summary": "Registers an MCP resource with the Pikku framework. Resources provide data that AI models can access.",
|
|
1101
|
+
"docs": "Registers an MCP resource with the Pikku framework.\nResources provide data that AI models can access."
|
|
1102
|
+
}
|
|
1103
|
+
]
|
|
1104
|
+
},
|
|
1105
|
+
{
|
|
1106
|
+
"specifier": "#pikku/queue",
|
|
1107
|
+
"name": "queue",
|
|
1108
|
+
"step": "wire it up",
|
|
1109
|
+
"summary": "Wires a function as a queue worker, so a job on the queue runs the same handler an HTTP route would.",
|
|
1110
|
+
"symbols": [
|
|
1111
|
+
{
|
|
1112
|
+
"name": "wireQueueWorker",
|
|
1113
|
+
"kind": "function",
|
|
1114
|
+
"origin": {
|
|
1115
|
+
"via": "generated"
|
|
1116
|
+
},
|
|
1117
|
+
"summary": "Registers a queue worker with the Pikku framework. Workers process background jobs from queues.",
|
|
1118
|
+
"docs": "Registers a queue worker with the Pikku framework.\nWorkers process background jobs from queues."
|
|
1119
|
+
}
|
|
1120
|
+
]
|
|
1121
|
+
},
|
|
1122
|
+
{
|
|
1123
|
+
"specifier": "#pikku/scheduler",
|
|
1124
|
+
"name": "scheduler",
|
|
1125
|
+
"step": "wire it up",
|
|
1126
|
+
"summary": "Wires a function to a cron expression to run it on a schedule.",
|
|
1127
|
+
"symbols": [
|
|
1128
|
+
{
|
|
1129
|
+
"name": "wireScheduler",
|
|
1130
|
+
"kind": "function",
|
|
1131
|
+
"origin": {
|
|
1132
|
+
"via": "generated"
|
|
1133
|
+
},
|
|
1134
|
+
"summary": "Registers a scheduled task with the Pikku framework. Tasks run based on cron expressions and are sessionless.",
|
|
1135
|
+
"docs": "Registers a scheduled task with the Pikku framework.\nTasks run based on cron expressions and are sessionless."
|
|
1136
|
+
}
|
|
1137
|
+
]
|
|
1138
|
+
},
|
|
1139
|
+
{
|
|
1140
|
+
"specifier": "#pikku/trigger",
|
|
1141
|
+
"name": "trigger",
|
|
1142
|
+
"step": "wire it up",
|
|
1143
|
+
"summary": "Wires a function to an event a source emits, rather than to a caller that asks for it.",
|
|
1144
|
+
"symbols": [
|
|
1145
|
+
{
|
|
1146
|
+
"name": "pikkuTriggerFunc",
|
|
1147
|
+
"kind": "function",
|
|
1148
|
+
"origin": {
|
|
1149
|
+
"via": "generated"
|
|
1150
|
+
},
|
|
1151
|
+
"summary": "Creates a trigger function configuration. Use this to define trigger functions that set up subscriptions.",
|
|
1152
|
+
"docs": "Creates a trigger function configuration.\nUse this to define trigger functions that set up subscriptions."
|
|
1153
|
+
},
|
|
1154
|
+
{
|
|
1155
|
+
"name": "wireTrigger",
|
|
1156
|
+
"kind": "function",
|
|
1157
|
+
"origin": {
|
|
1158
|
+
"via": "generated"
|
|
1159
|
+
},
|
|
1160
|
+
"summary": "Registers a trigger with the Pikku framework. Declares a trigger name and its target pikku function. Runs everywhere — inspector extracts at build time.",
|
|
1161
|
+
"docs": "Registers a trigger with the Pikku framework.\nDeclares a trigger name and its target pikku function.\nRuns everywhere — inspector extracts at build time."
|
|
1162
|
+
},
|
|
1163
|
+
{
|
|
1164
|
+
"name": "wireTriggerSource",
|
|
1165
|
+
"kind": "function",
|
|
1166
|
+
"origin": {
|
|
1167
|
+
"via": "generated"
|
|
1168
|
+
},
|
|
1169
|
+
"summary": "Registers a trigger source with the Pikku framework. Provides the subscription function and input data. Only imported in the trigger worker process.",
|
|
1170
|
+
"docs": "Registers a trigger source with the Pikku framework.\nProvides the subscription function and input data.\nOnly imported in the trigger worker process."
|
|
1171
|
+
}
|
|
1172
|
+
]
|
|
1173
|
+
},
|
|
1174
|
+
{
|
|
1175
|
+
"specifier": "#pikku/auth",
|
|
1176
|
+
"name": "auth",
|
|
1177
|
+
"step": "guard it",
|
|
1178
|
+
"summary": "Who may call a function, and what the call is made with: permissions that see the request, auth gates that run before it, and the credentials a function borrows rather than holds.",
|
|
1179
|
+
"symbols": [
|
|
1180
|
+
{
|
|
1181
|
+
"name": "addGlobalPermission",
|
|
1182
|
+
"kind": "function",
|
|
1183
|
+
"origin": {
|
|
1184
|
+
"via": "generated"
|
|
1185
|
+
},
|
|
1186
|
+
"summary": "Wire-agnostic global permissions. Runs at the top of every wiring's permission resolution — before wire-, tag-, and function-level entries.",
|
|
1187
|
+
"docs": "Wire-agnostic global permissions. Runs at the top of every wiring's\npermission resolution — before wire-, tag-, and function-level entries.\n\nResolution order: global -> wire -> tag -> function."
|
|
1188
|
+
},
|
|
1189
|
+
{
|
|
1190
|
+
"name": "defineCredential",
|
|
1191
|
+
"kind": "function",
|
|
1192
|
+
"origin": {
|
|
1193
|
+
"via": "core",
|
|
1194
|
+
"subpath": "./credential"
|
|
1195
|
+
},
|
|
1196
|
+
"summary": "Declares a credential. The body is a no-op that tree-shakes away — the CLI reads the call by AST, so the declaration must be a top-level literal. `type: 'wire'` is per-user, `type: 'singleton'` is platform-wide.",
|
|
1197
|
+
"docs": "Declares a credential. The body is a no-op that tree-shakes away — the CLI\nreads the call by AST, so the declaration must be a top-level literal.\n`type: 'wire'` is per-user, `type: 'singleton'` is platform-wide."
|
|
1198
|
+
},
|
|
1199
|
+
{
|
|
1200
|
+
"name": "pikkuAuth",
|
|
1201
|
+
"kind": "function",
|
|
1202
|
+
"origin": {
|
|
1203
|
+
"via": "generated"
|
|
1204
|
+
},
|
|
1205
|
+
"summary": "Factory function for creating auth-only permissions with tree-shaking support. Auth permissions only receive services and session (no request data), making them evaluable before request data is available.",
|
|
1206
|
+
"docs": "Factory function for creating auth-only permissions with tree-shaking support.\nAuth permissions only receive services and session (no request data),\nmaking them evaluable before request data is available."
|
|
1207
|
+
},
|
|
1208
|
+
{
|
|
1209
|
+
"name": "pikkuBetterAuth",
|
|
1210
|
+
"kind": "function",
|
|
1211
|
+
"origin": {
|
|
1212
|
+
"via": "generated"
|
|
1213
|
+
}
|
|
1214
|
+
},
|
|
1215
|
+
{
|
|
1216
|
+
"name": "pikkuPermission",
|
|
1217
|
+
"kind": "function",
|
|
1218
|
+
"origin": {
|
|
1219
|
+
"via": "generated"
|
|
1220
|
+
},
|
|
1221
|
+
"summary": "Factory function for creating permissions with tree-shaking support. Supports both direct function and configuration object syntax.",
|
|
1222
|
+
"docs": "Factory function for creating permissions with tree-shaking support.\nSupports both direct function and configuration object syntax."
|
|
1223
|
+
},
|
|
1224
|
+
{
|
|
1225
|
+
"name": "PikkuPermission",
|
|
1226
|
+
"kind": "type",
|
|
1227
|
+
"origin": {
|
|
1228
|
+
"via": "generated"
|
|
1229
|
+
},
|
|
1230
|
+
"summary": "Type-safe API permission definition that integrates with your application's session type. Use this to define authorization logic for your API endpoints.",
|
|
1231
|
+
"docs": "Type-safe API permission definition that integrates with your application's session type.\nUse this to define authorization logic for your API endpoints."
|
|
1232
|
+
},
|
|
1233
|
+
{
|
|
1234
|
+
"name": "pikkuPermissionFactory",
|
|
1235
|
+
"kind": "function",
|
|
1236
|
+
"origin": {
|
|
1237
|
+
"via": "generated"
|
|
1238
|
+
},
|
|
1239
|
+
"summary": "Factory function for creating permission factories Use this when your permission needs configuration/input parameters",
|
|
1240
|
+
"docs": "Factory function for creating permission factories\nUse this when your permission needs configuration/input parameters"
|
|
1241
|
+
}
|
|
1242
|
+
]
|
|
1243
|
+
},
|
|
1244
|
+
{
|
|
1245
|
+
"specifier": "#pikku/scopes",
|
|
1246
|
+
"name": "scopes",
|
|
1247
|
+
"step": "guard it",
|
|
1248
|
+
"summary": "The scopes a caller can hold and the roles that grant them, gating a call outside the permission pool.",
|
|
1249
|
+
"symbols": [
|
|
1250
|
+
{
|
|
1251
|
+
"name": "defineScope",
|
|
1252
|
+
"kind": "function",
|
|
1253
|
+
"origin": {
|
|
1254
|
+
"via": "core",
|
|
1255
|
+
"subpath": "./scope"
|
|
1256
|
+
},
|
|
1257
|
+
"summary": "Declares scopes. The body is a no-op that tree-shakes away — the CLI reads the call by AST and generates a `ScopeId` union, so a function referencing an undeclared scope fails the build.",
|
|
1258
|
+
"docs": "Declares scopes. The body is a no-op that tree-shakes away — the CLI reads\nthe call by AST and generates a `ScopeId` union, so a function referencing an\nundeclared scope fails the build.\n\nScopes are keyed by segment at every level: a scope is named by its key, and\nits value describes it. Every node is grantable — the declaration below\nyields `admin`, `admin:invoices`, `admin:invoices:create`,\n`admin:invoices:void` and `billing`."
|
|
1259
|
+
},
|
|
1260
|
+
{
|
|
1261
|
+
"name": "defineSystemRole",
|
|
1262
|
+
"kind": "function",
|
|
1263
|
+
"origin": {
|
|
1264
|
+
"via": "core",
|
|
1265
|
+
"subpath": "./role"
|
|
1266
|
+
},
|
|
1267
|
+
"summary": "No-op function for declaring system roles. This exists purely for TypeScript type checking and will be tree-shaken. The CLI extracts metadata via AST parsing and generates a `SystemRoleName` union, so a persona naming an undeclared role fails the build.",
|
|
1268
|
+
"docs": "No-op function for declaring system roles.\nThis exists purely for TypeScript type checking and will be tree-shaken.\nThe CLI extracts metadata via AST parsing and generates a `SystemRoleName`\nunion, so a persona naming an undeclared role fails the build.\n\nA system role is a role that ships with the product: the console may grant\nit, but cannot rename, re-scope or delete it. Roles an admin composes in the\nconsole are unaffected and are not declared here.\n\nRemoval is deliberately not destructive. Deleting a declaration leaves the\nrow in the store, marked undeclared and inert, until `pikku roles prune` —\nthe same additive contract `defineScope` has, and for the same reason: a\nmid-deploy revocation is not something a code edit should be able to cause."
|
|
1269
|
+
}
|
|
1270
|
+
]
|
|
1271
|
+
},
|
|
1272
|
+
{
|
|
1273
|
+
"specifier": "#pikku/agent",
|
|
1274
|
+
"name": "agent",
|
|
1275
|
+
"step": "orchestrate it",
|
|
1276
|
+
"summary": "Defines an AI agent, the tools it may call and the scorers that judge what it did.",
|
|
1277
|
+
"symbols": [
|
|
1278
|
+
{
|
|
1279
|
+
"name": "agent",
|
|
1280
|
+
"kind": "function",
|
|
1281
|
+
"origin": {
|
|
1282
|
+
"via": "generated"
|
|
1283
|
+
}
|
|
1284
|
+
},
|
|
1285
|
+
{
|
|
1286
|
+
"name": "agentApprove",
|
|
1287
|
+
"kind": "function",
|
|
1288
|
+
"origin": {
|
|
1289
|
+
"via": "generated"
|
|
1290
|
+
}
|
|
1291
|
+
},
|
|
1292
|
+
{
|
|
1293
|
+
"name": "agentResume",
|
|
1294
|
+
"kind": "function",
|
|
1295
|
+
"origin": {
|
|
1296
|
+
"via": "generated"
|
|
1297
|
+
}
|
|
1298
|
+
},
|
|
1299
|
+
{
|
|
1300
|
+
"name": "agentStream",
|
|
1301
|
+
"kind": "function",
|
|
1302
|
+
"origin": {
|
|
1303
|
+
"via": "generated"
|
|
1304
|
+
}
|
|
1305
|
+
},
|
|
1306
|
+
{
|
|
1307
|
+
"name": "pikkuAgent",
|
|
1308
|
+
"kind": "function",
|
|
1309
|
+
"origin": {
|
|
1310
|
+
"via": "generated"
|
|
1311
|
+
}
|
|
1312
|
+
},
|
|
1313
|
+
{
|
|
1314
|
+
"name": "pikkuAgentJudge",
|
|
1315
|
+
"kind": "function",
|
|
1316
|
+
"origin": {
|
|
1317
|
+
"via": "generated"
|
|
1318
|
+
}
|
|
1319
|
+
},
|
|
1320
|
+
{
|
|
1321
|
+
"name": "pikkuAgentScorer",
|
|
1322
|
+
"kind": "function",
|
|
1323
|
+
"origin": {
|
|
1324
|
+
"via": "generated"
|
|
1325
|
+
}
|
|
1326
|
+
}
|
|
1327
|
+
]
|
|
1328
|
+
},
|
|
1329
|
+
{
|
|
1330
|
+
"specifier": "#pikku/workflow",
|
|
1331
|
+
"name": "workflow",
|
|
1332
|
+
"step": "orchestrate it",
|
|
1333
|
+
"summary": "Composes functions into a durable workflow whose steps survive a restart and retry on their own.",
|
|
1334
|
+
"symbols": [
|
|
1335
|
+
{
|
|
1336
|
+
"name": "PikkuFunctionWorkflow",
|
|
1337
|
+
"kind": "type",
|
|
1338
|
+
"origin": {
|
|
1339
|
+
"via": "generated"
|
|
1340
|
+
}
|
|
1341
|
+
},
|
|
1342
|
+
{
|
|
1343
|
+
"name": "pikkuWorkflowComplexFunc",
|
|
1344
|
+
"kind": "function",
|
|
1345
|
+
"origin": {
|
|
1346
|
+
"via": "generated"
|
|
1347
|
+
}
|
|
1348
|
+
},
|
|
1349
|
+
{
|
|
1350
|
+
"name": "pikkuWorkflowFunc",
|
|
1351
|
+
"kind": "function",
|
|
1352
|
+
"origin": {
|
|
1353
|
+
"via": "generated"
|
|
1354
|
+
}
|
|
1355
|
+
},
|
|
1356
|
+
{
|
|
1357
|
+
"name": "pikkuWorkflowGraph",
|
|
1358
|
+
"kind": "function",
|
|
1359
|
+
"origin": {
|
|
1360
|
+
"via": "generated"
|
|
1361
|
+
}
|
|
1362
|
+
},
|
|
1363
|
+
{
|
|
1364
|
+
"name": "TypedWorkflow",
|
|
1365
|
+
"kind": "interface",
|
|
1366
|
+
"origin": {
|
|
1367
|
+
"via": "generated"
|
|
1368
|
+
}
|
|
1369
|
+
},
|
|
1370
|
+
{
|
|
1371
|
+
"name": "WorkflowCancelledException",
|
|
1372
|
+
"kind": "class",
|
|
1373
|
+
"origin": {
|
|
1374
|
+
"via": "core",
|
|
1375
|
+
"subpath": "./workflow"
|
|
1376
|
+
}
|
|
1377
|
+
}
|
|
1378
|
+
]
|
|
1379
|
+
},
|
|
1380
|
+
{
|
|
1381
|
+
"specifier": "#pikku/scenarios",
|
|
1382
|
+
"name": "scenarios",
|
|
1383
|
+
"step": "test it",
|
|
1384
|
+
"summary": "Drives features and scenarios against a real running server, in the vocabulary a user would use.",
|
|
1385
|
+
"symbols": [
|
|
1386
|
+
{
|
|
1387
|
+
"name": "createCookieJar",
|
|
1388
|
+
"kind": "function",
|
|
1389
|
+
"origin": {
|
|
1390
|
+
"via": "core",
|
|
1391
|
+
"subpath": "./workflow"
|
|
1392
|
+
}
|
|
1393
|
+
},
|
|
1394
|
+
{
|
|
1395
|
+
"name": "createScenarioRunner",
|
|
1396
|
+
"kind": "function",
|
|
1397
|
+
"origin": {
|
|
1398
|
+
"via": "core",
|
|
1399
|
+
"subpath": "./workflow"
|
|
1400
|
+
},
|
|
1401
|
+
"summary": "A workflow service with the scenario capability attached — the two lines `pikku scenario run` needs, in one call so no caller has to remember that the capability is installed rather than inherited.",
|
|
1402
|
+
"docs": "A workflow service with the scenario capability attached — the two lines\n`pikku scenario run` needs, in one call so no caller has to remember that the\ncapability is installed rather than inherited.\n\nThe in-memory service is the right engine because a scenario run is a single\nexternal process driving a deployed app over its real transport: there is\nnothing to persist and no second worker to resume it."
|
|
1403
|
+
},
|
|
1404
|
+
{
|
|
1405
|
+
"name": "pikkuAddonScenarioStep",
|
|
1406
|
+
"kind": "function",
|
|
1407
|
+
"origin": {
|
|
1408
|
+
"via": "generated"
|
|
1409
|
+
},
|
|
1410
|
+
"summary": "A step in which a third-party system acts — \"Given Stripe's webhook arrives\", \"When Mailgun bounces it\".",
|
|
1411
|
+
"docs": "A step in which a third-party system acts — \"Given Stripe's webhook arrives\",\n\"When Mailgun bounces it\".\n\n`addon` names the addon that wraps that service, the same name its\n`wireAddon` declares. These steps *are* the mock its consumers currently\nhand-write: shipped by the addon author, maintained with the addon, and the\nsame artifact that appears in the prose.\n\nNote that arranging and asserting are different — \"Stripe's webhook arrives\"\nstubs, \"Then Stripe was charged\" asserts, and only the first is a stub.\n\nLocal-test-only, and never in a virtual user's catalogue: one that could\ninvoke this would forge its own payment success."
|
|
1412
|
+
},
|
|
1413
|
+
{
|
|
1414
|
+
"name": "PikkuBrowserWire",
|
|
1415
|
+
"kind": "interface",
|
|
1416
|
+
"origin": {
|
|
1417
|
+
"via": "core",
|
|
1418
|
+
"subpath": "./workflow"
|
|
1419
|
+
},
|
|
1420
|
+
"summary": "Structural browser handle, present only when the runner provisioned a browser for this step (a `browser` binding on the step config).",
|
|
1421
|
+
"docs": "Structural browser handle, present only when the runner provisioned a\nbrowser for this step (a `browser` binding on the step config).\n\n`@pikku/core` deliberately never imports playwright — it must stay\ndependency-free for edge runtimes. `@pikku/playwright` augments this\ninterface via `declare module`, so `wire.browser.page` is a fully typed\nPlaywright `Page` in a project that installs it."
|
|
1422
|
+
},
|
|
1423
|
+
{
|
|
1424
|
+
"name": "pikkuFeature",
|
|
1425
|
+
"kind": "function",
|
|
1426
|
+
"origin": {
|
|
1427
|
+
"via": "generated"
|
|
1428
|
+
},
|
|
1429
|
+
"summary": "A feature: an ordered group of scenarios, mirroring gherkin's Feature ↔ Scenario structure. Scenarios are referenced by imported identifier, so a renamed or deleted scenario is a compile error rather than a silent skip.",
|
|
1430
|
+
"docs": "A feature: an ordered group of scenarios, mirroring gherkin's Feature ↔\nScenario structure. Scenarios are referenced by imported identifier, so a\nrenamed or deleted scenario is a compile error rather than a silent skip.\n\nA scenario does not have to belong to a feature — a void-input scenario\nstill runs standalone.\n\n```ts\nexport const credentialFeature = pikkuFeature({\n name: 'Credential API',\n tags: ['credential'],\n before: startsMockOAuthServer,\n after: stopsMockOAuthServer,\n scenarios: [\n credentialLazyLoadScenario,\n ...['stripe', 'google'].map((name) => ({\n scenario: credentialRoundTripScenario,\n data: { name },\n })),\n ],\n})\n```"
|
|
1431
|
+
},
|
|
1432
|
+
{
|
|
1433
|
+
"name": "PikkuFeatureEntry",
|
|
1434
|
+
"kind": "type",
|
|
1435
|
+
"origin": {
|
|
1436
|
+
"via": "generated"
|
|
1437
|
+
},
|
|
1438
|
+
"summary": "One entry in a feature's `scenarios` list, validated against itself: a bare scenario, or a scenario paired with the input to run it with. The paired form is gherkin's `Examples:` written as an ordinary loop.",
|
|
1439
|
+
"docs": "One entry in a feature's `scenarios` list, validated against itself: a bare\nscenario, or a scenario paired with the input to run it with. The paired form\nis gherkin's `Examples:` written as an ordinary loop."
|
|
1440
|
+
},
|
|
1441
|
+
{
|
|
1442
|
+
"name": "PikkuFunctionScenario",
|
|
1443
|
+
"kind": "type",
|
|
1444
|
+
"origin": {
|
|
1445
|
+
"via": "generated"
|
|
1446
|
+
},
|
|
1447
|
+
"summary": "`Ctx` types `scenario.context`, defaulting to the body's own output. A hook returns void but shares the scenario's context, so it passes that scenario's output here instead.",
|
|
1448
|
+
"docs": "`Ctx` types `scenario.context`, defaulting to the body's own output. A hook\nreturns void but shares the scenario's context, so it passes that scenario's\noutput here instead."
|
|
1449
|
+
},
|
|
1450
|
+
{
|
|
1451
|
+
"name": "PikkuFunctionScenarioStep",
|
|
1452
|
+
"kind": "type",
|
|
1453
|
+
"origin": {
|
|
1454
|
+
"via": "generated"
|
|
1455
|
+
},
|
|
1456
|
+
"summary": "One surface's implementation of a step.",
|
|
1457
|
+
"docs": "One surface's implementation of a step.\n\nEach binding is typed independently, so a browser binding gets a non-optional\n`wire.browser` and a cli binding a non-optional `wire.cli` without either\nleaking into the other."
|
|
1458
|
+
},
|
|
1459
|
+
{
|
|
1460
|
+
"name": "pikkuPlatformScenarioStep",
|
|
1461
|
+
"kind": "function",
|
|
1462
|
+
"origin": {
|
|
1463
|
+
"via": "generated"
|
|
1464
|
+
},
|
|
1465
|
+
"summary": "A step in which the app acts on itself — \"Given the platform has expired the trial\".",
|
|
1466
|
+
"docs": "A step in which the app acts on itself — \"Given the platform has expired the\ntrial\".\n\nThe grammatical subject of that sentence is not a user of your app; it **is**\nyour app, which is why it is its own declaration rather than a persona with an\nasterisk. A persona is a person.\n\nLocal-test-only, and never in a virtual user's catalogue: a virtual user that\ncould expire its own trial is manufacturing the outcome it exists to discover."
|
|
1467
|
+
},
|
|
1468
|
+
{
|
|
1469
|
+
"name": "pikkuScenario",
|
|
1470
|
+
"kind": "function",
|
|
1471
|
+
"origin": {
|
|
1472
|
+
"via": "generated"
|
|
1473
|
+
},
|
|
1474
|
+
"summary": "A scenario: a complex workflow that drives the app the way users do. Steps run as actors over the REAL transport — `scenario.do(step, rpc, data, { actor: actors.yasser })` — so flows double as e2e tests and staged/production health checks (no state reset; scope what you create).",
|
|
1475
|
+
"docs": "A scenario: a complex workflow that drives the app the way users do.\nSteps run as actors over the REAL transport — `scenario.do(step, rpc,\ndata, { actor: actors.yasser })` — so flows double as e2e tests and\nstaged/production health checks (no state reset; scope what you create)."
|
|
1476
|
+
},
|
|
1477
|
+
{
|
|
1478
|
+
"name": "pikkuScenarioHook",
|
|
1479
|
+
"kind": "function",
|
|
1480
|
+
"origin": {
|
|
1481
|
+
"via": "generated"
|
|
1482
|
+
},
|
|
1483
|
+
"summary": "Declares a scenario hook. Returns the function verbatim — a hook is never registered, so this exists purely to give an inline hook a call site to be contextually typed from, the way every other pikku primitive is.",
|
|
1484
|
+
"docs": "Declares a scenario hook. Returns the function verbatim — a hook is never\nregistered, so this exists purely to give an inline hook a call site to be\ncontextually typed from, the way every other pikku primitive is."
|
|
1485
|
+
},
|
|
1486
|
+
{
|
|
1487
|
+
"name": "PikkuScenarioHook",
|
|
1488
|
+
"kind": "type",
|
|
1489
|
+
"origin": {
|
|
1490
|
+
"via": "generated"
|
|
1491
|
+
},
|
|
1492
|
+
"summary": "A scenario lifecycle hook: the scenario's own `(services, data, wire)` signature with its result discarded. `OutputSchema` types `scenario.context` while the return type stays `void`.",
|
|
1493
|
+
"docs": "A scenario lifecycle hook: the scenario's own `(services, data, wire)`\nsignature with its result discarded. `OutputSchema` types\n`scenario.context` while the return type stays `void`."
|
|
1494
|
+
},
|
|
1495
|
+
{
|
|
1496
|
+
"name": "PikkuScenarioRef",
|
|
1497
|
+
"kind": "type",
|
|
1498
|
+
"origin": {
|
|
1499
|
+
"via": "generated"
|
|
1500
|
+
},
|
|
1501
|
+
"summary": "A scenario as a feature references it. Any `pikkuScenario` export is assignable; `In` is recovered from it so the paired form's `data` is checked against that scenario's own input.",
|
|
1502
|
+
"docs": "A scenario as a feature references it. Any `pikkuScenario` export is\nassignable; `In` is recovered from it so the paired form's `data` is\nchecked against that scenario's own input."
|
|
1503
|
+
},
|
|
1504
|
+
{
|
|
1505
|
+
"name": "pikkuScenarioStep",
|
|
1506
|
+
"kind": "function",
|
|
1507
|
+
"origin": {
|
|
1508
|
+
"via": "generated"
|
|
1509
|
+
},
|
|
1510
|
+
"summary": "A named, reusable scenario step, declaring one implementation per surface an actor can drive it through.",
|
|
1511
|
+
"docs": "A named, reusable scenario step, declaring one implementation per surface an\nactor can drive it through.\n\nThe step's identity is what the actor is trying to do; which surface carries\nit out is a binding. That is what lets one ladder run through a real browser,\nover the websocket, or entirely server-side — and what makes \"how much of this\nflow can a human actually reach\" a number rather than a guess.\n\nSteps are deliberately NOT registered as RPCs: a browser-driving step must\nnever be network-callable."
|
|
1512
|
+
},
|
|
1513
|
+
{
|
|
1514
|
+
"name": "pollUntil",
|
|
1515
|
+
"kind": "function",
|
|
1516
|
+
"origin": {
|
|
1517
|
+
"via": "core",
|
|
1518
|
+
"subpath": "./workflow"
|
|
1519
|
+
}
|
|
1520
|
+
},
|
|
1521
|
+
{
|
|
1522
|
+
"name": "postScenarioJson",
|
|
1523
|
+
"kind": "function",
|
|
1524
|
+
"origin": {
|
|
1525
|
+
"via": "core",
|
|
1526
|
+
"subpath": "./services"
|
|
1527
|
+
},
|
|
1528
|
+
"summary": "POST JSON somewhere and report what came back, without throwing on a 4xx/5xx.",
|
|
1529
|
+
"docs": "POST JSON somewhere and report what came back, without throwing on a 4xx/5xx.\n\nEvery scenario that reaches past a persona was writing this by hand — the same\n`content-type`, the same `JSON.stringify`, the same drain — and the copies had\ndrifted: some returned `res.json()`, which loses the status and throws\noutright when the target answers an empty body or an HTML error page. A\nrefusal is the expected outcome of a permissions scenario, so it has to\nsurvive as data."
|
|
1530
|
+
},
|
|
1531
|
+
{
|
|
1532
|
+
"name": "readScenarioHttpResponse",
|
|
1533
|
+
"kind": "function",
|
|
1534
|
+
"origin": {
|
|
1535
|
+
"via": "core",
|
|
1536
|
+
"subpath": "./services"
|
|
1537
|
+
},
|
|
1538
|
+
"summary": "Drain a response into the shape a step can carry: the parsed body (an empty one counting as no body at all) alongside the text it was parsed from.",
|
|
1539
|
+
"docs": "Drain a response into the shape a step can carry: the parsed body (an empty\none counting as no body at all) alongside the text it was parsed from.\n\n`invokeRaw` returns this, and a step that has to reach past a persona — a\nroute with no RPC, an identity no persona can hold — reaches for this rather\nthan writing the same record by hand."
|
|
1540
|
+
},
|
|
1541
|
+
{
|
|
1542
|
+
"name": "requireScenarioEnv",
|
|
1543
|
+
"kind": "function",
|
|
1544
|
+
"origin": {
|
|
1545
|
+
"via": "core",
|
|
1546
|
+
"subpath": "./workflow"
|
|
1547
|
+
}
|
|
1548
|
+
},
|
|
1549
|
+
{
|
|
1550
|
+
"name": "ScenarioHttpResponse",
|
|
1551
|
+
"kind": "interface",
|
|
1552
|
+
"origin": {
|
|
1553
|
+
"via": "core",
|
|
1554
|
+
"subpath": "./services"
|
|
1555
|
+
},
|
|
1556
|
+
"summary": "What the transport answered, for a step that treats the status as data.",
|
|
1557
|
+
"docs": "What the transport answered, for a step that treats the status as data.\n\nAn HTTP response with its body already drained: the stream can only be read\nonce, and a step's return value crosses into the run record, so the response\nobject itself cannot travel. This is the shape every caller ends up with."
|
|
1558
|
+
},
|
|
1559
|
+
{
|
|
1560
|
+
"name": "ScenarioSurface",
|
|
1561
|
+
"kind": "type",
|
|
1562
|
+
"origin": {
|
|
1563
|
+
"via": "core",
|
|
1564
|
+
"subpath": "./workflow"
|
|
1565
|
+
},
|
|
1566
|
+
"summary": "How an actor drives the system for one step.",
|
|
1567
|
+
"docs": "How an actor drives the system for one step.\n\nA step declares one implementation per surface it supports, and the runner\npicks between them — so the same ladder can run through a real browser, over\nthe websocket, or entirely server-side.\n\n`default` is the floor: it is what every other surface falls back to, so it\ncan never itself fall back."
|
|
1568
|
+
},
|
|
1569
|
+
{
|
|
1570
|
+
"name": "TestIdSelector",
|
|
1571
|
+
"kind": "interface",
|
|
1572
|
+
"origin": {
|
|
1573
|
+
"via": "core",
|
|
1574
|
+
"subpath": "./workflow"
|
|
1575
|
+
},
|
|
1576
|
+
"summary": "How a browser step names an element.",
|
|
1577
|
+
"docs": "How a browser step names an element.\n\nA `data-testid` on its own is rarely enough to name exactly one: `where`\nmatches the element's own data attributes (so a step asserts a status\nwithout reading translated copy back to the app), `prefix` matches a family\nof ids, `containing` picks the match holding a piece of text, and `within`\nscopes the lookup to one row or section.\n\nDeclared here so a step's input type is structural; the driver\n(`@pikku/playwright`) is what resolves it against a real page."
|
|
1578
|
+
},
|
|
1579
|
+
{
|
|
1580
|
+
"name": "TypedPersonas",
|
|
1581
|
+
"kind": "type",
|
|
1582
|
+
"origin": {
|
|
1583
|
+
"via": "generated"
|
|
1584
|
+
}
|
|
1585
|
+
},
|
|
1586
|
+
{
|
|
1587
|
+
"name": "TypedScenario",
|
|
1588
|
+
"kind": "type",
|
|
1589
|
+
"origin": {
|
|
1590
|
+
"via": "generated"
|
|
1591
|
+
},
|
|
1592
|
+
"summary": "`Out` types `scenario.context`.",
|
|
1593
|
+
"docs": "`Out` types `scenario.context`."
|
|
1594
|
+
},
|
|
1595
|
+
{
|
|
1596
|
+
"name": "TypedScenarioSteps",
|
|
1597
|
+
"kind": "interface",
|
|
1598
|
+
"origin": {
|
|
1599
|
+
"via": "generated"
|
|
1600
|
+
},
|
|
1601
|
+
"summary": "The typed half of a scenario wire: `given`/`when`/`then`, narrowed to the names declared by `pikkuScenarioStep` in this project. `given` and `when` differ only in the prose the reporter renders; `then` additionally makes the step's bindings witnesses rather than alternatives.",
|
|
1602
|
+
"docs": "The typed half of a scenario wire: `given`/`when`/`then`, narrowed to the\nnames declared by `pikkuScenarioStep` in this project. `given` and `when`\ndiffer only in the prose the reporter renders; `then` additionally makes the\nstep's bindings witnesses rather than alternatives."
|
|
1603
|
+
}
|
|
1604
|
+
]
|
|
1605
|
+
}
|
|
1606
|
+
]
|
|
1607
|
+
},
|
|
1608
|
+
{
|
|
1609
|
+
"id": "addon",
|
|
1610
|
+
"job": "build an addon",
|
|
1611
|
+
"summary": "An addon declares functions and contracts; the host application decides how the world reaches them. The same barrels are generated under #pikku/addon/*, minus every wiring — an addon that called wireHTTP would be registering a route in a registry it does not own.",
|
|
1612
|
+
"specifierBase": "#pikku",
|
|
1613
|
+
"leaves": [
|
|
1614
|
+
{
|
|
1615
|
+
"specifier": "#pikku/addon/function",
|
|
1616
|
+
"name": "function",
|
|
1617
|
+
"step": "create a function",
|
|
1618
|
+
"summary": "The function definers every wiring eventually points at, and the types they are written against.",
|
|
1619
|
+
"symbols": [
|
|
1620
|
+
{
|
|
1621
|
+
"name": "InferSchemaOutput",
|
|
1622
|
+
"kind": "type",
|
|
1623
|
+
"origin": {
|
|
1624
|
+
"via": "generated"
|
|
1625
|
+
},
|
|
1626
|
+
"summary": "Helper type to infer the output type from a Standard Schema",
|
|
1627
|
+
"docs": "Helper type to infer the output type from a Standard Schema"
|
|
1628
|
+
},
|
|
1629
|
+
{
|
|
1630
|
+
"name": "NodeConfig",
|
|
1631
|
+
"kind": "type",
|
|
1632
|
+
"origin": {
|
|
1633
|
+
"via": "generated"
|
|
1634
|
+
},
|
|
1635
|
+
"summary": "Inline node configuration for function definitions.",
|
|
1636
|
+
"docs": "Inline node configuration for function definitions."
|
|
1637
|
+
},
|
|
1638
|
+
{
|
|
1639
|
+
"name": "pikkuApprovalDescription",
|
|
1640
|
+
"kind": "function",
|
|
1641
|
+
"origin": {
|
|
1642
|
+
"via": "generated"
|
|
1643
|
+
},
|
|
1644
|
+
"summary": "Factory function for creating approval description functions with tree-shaking support.",
|
|
1645
|
+
"docs": "Factory function for creating approval description functions with tree-shaking support."
|
|
1646
|
+
},
|
|
1647
|
+
{
|
|
1648
|
+
"name": "PikkuApprovalDescription",
|
|
1649
|
+
"kind": "type",
|
|
1650
|
+
"origin": {
|
|
1651
|
+
"via": "generated"
|
|
1652
|
+
},
|
|
1653
|
+
"summary": "A function that generates a human-readable description of a pending approval action. Used by AI agents to show meaningful approval prompts instead of raw tool arguments.",
|
|
1654
|
+
"docs": "A function that generates a human-readable description of a pending approval action.\nUsed by AI agents to show meaningful approval prompts instead of raw tool arguments."
|
|
1655
|
+
},
|
|
1656
|
+
{
|
|
1657
|
+
"name": "pikkuFunc",
|
|
1658
|
+
"kind": "function",
|
|
1659
|
+
"origin": {
|
|
1660
|
+
"via": "generated"
|
|
1661
|
+
},
|
|
1662
|
+
"summary": "Creates a Pikku function that can be either session-aware or sessionless. This is the main function wrapper for creating API endpoints.",
|
|
1663
|
+
"docs": "Creates a Pikku function that can be either session-aware or sessionless.\nThis is the main function wrapper for creating API endpoints.\n\nDefine the input and output with Zod schemas — the function's types are\ninferred from them, and the schemas double as runtime validation."
|
|
1664
|
+
},
|
|
1665
|
+
{
|
|
1666
|
+
"name": "PikkuFunction",
|
|
1667
|
+
"kind": "type",
|
|
1668
|
+
"origin": {
|
|
1669
|
+
"via": "generated"
|
|
1670
|
+
},
|
|
1671
|
+
"summary": "A session-aware API function that requires user authentication. Use this for protected endpoints that need access to user session data.",
|
|
1672
|
+
"docs": "A session-aware API function that requires user authentication.\nUse this for protected endpoints that need access to user session data."
|
|
1673
|
+
},
|
|
1674
|
+
{
|
|
1675
|
+
"name": "PikkuFunctionConfig",
|
|
1676
|
+
"kind": "type",
|
|
1677
|
+
"origin": {
|
|
1678
|
+
"via": "generated"
|
|
1679
|
+
},
|
|
1680
|
+
"summary": "Configuration object for Pikku functions with optional middleware, permissions, tags, and documentation. This type wraps CorePikkuFunctionConfig with the user's custom types.",
|
|
1681
|
+
"docs": "Configuration object for Pikku functions with optional middleware, permissions, tags, and documentation.\nThis type wraps CorePikkuFunctionConfig with the user's custom types."
|
|
1682
|
+
},
|
|
1683
|
+
{
|
|
1684
|
+
"name": "PikkuFunctionSessionless",
|
|
1685
|
+
"kind": "type",
|
|
1686
|
+
"origin": {
|
|
1687
|
+
"via": "generated"
|
|
1688
|
+
},
|
|
1689
|
+
"summary": "A sessionless API function that doesn't require user authentication. Use this for public endpoints, health checks, or operations that don't need user context.",
|
|
1690
|
+
"docs": "A sessionless API function that doesn't require user authentication.\nUse this for public endpoints, health checks, or operations that don't need user context."
|
|
1691
|
+
},
|
|
1692
|
+
{
|
|
1693
|
+
"name": "pikkuListFunc",
|
|
1694
|
+
"kind": "function",
|
|
1695
|
+
"origin": {
|
|
1696
|
+
"via": "generated"
|
|
1697
|
+
}
|
|
1698
|
+
},
|
|
1699
|
+
{
|
|
1700
|
+
"name": "pikkuRemoteChannelFunc",
|
|
1701
|
+
"kind": "function",
|
|
1702
|
+
"origin": {
|
|
1703
|
+
"via": "generated"
|
|
1704
|
+
},
|
|
1705
|
+
"summary": "Declares a capability the connected client answers, reachable from any `wireChannel` function as `channel.remote(name, input)`.",
|
|
1706
|
+
"docs": "Declares a capability the connected client answers, reachable from any\n`wireChannel` function as `channel.remote(name, input)`.\n\nThere is no `func`: this side owns the contract, the client owns the body.\nThe `description` is what a person is shown when asked to approve the call,\nso write it for them rather than for the caller."
|
|
1707
|
+
},
|
|
1708
|
+
{
|
|
1709
|
+
"name": "pikkuSessionlessFunc",
|
|
1710
|
+
"kind": "function",
|
|
1711
|
+
"origin": {
|
|
1712
|
+
"via": "generated"
|
|
1713
|
+
},
|
|
1714
|
+
"summary": "Creates a sessionless Pikku function that doesn't require user authentication. Use this for public endpoints, webhooks, or background tasks.",
|
|
1715
|
+
"docs": "Creates a sessionless Pikku function that doesn't require user authentication.\nUse this for public endpoints, webhooks, or background tasks.\n\nDefine the input and output with Zod schemas — the function's types are\ninferred from them, and the schemas double as runtime validation."
|
|
1716
|
+
},
|
|
1717
|
+
{
|
|
1718
|
+
"name": "pikkuVoidFunc",
|
|
1719
|
+
"kind": "function",
|
|
1720
|
+
"origin": {
|
|
1721
|
+
"via": "generated"
|
|
1722
|
+
},
|
|
1723
|
+
"summary": "Creates a function that takes no input and returns no output. Useful for health checks, triggers, or cleanup operations.",
|
|
1724
|
+
"docs": "Creates a function that takes no input and returns no output.\nUseful for health checks, triggers, or cleanup operations."
|
|
1725
|
+
},
|
|
1726
|
+
{
|
|
1727
|
+
"name": "ref",
|
|
1728
|
+
"kind": "function",
|
|
1729
|
+
"origin": {
|
|
1730
|
+
"via": "generated"
|
|
1731
|
+
},
|
|
1732
|
+
"summary": "References a registered function by name for use in any wiring. Works for both local and addon functions — resolves via RPC at runtime.",
|
|
1733
|
+
"docs": "References a registered function by name for use in any wiring.\nWorks for both local and addon functions — resolves via RPC at runtime."
|
|
1734
|
+
},
|
|
1735
|
+
{
|
|
1736
|
+
"name": "refChannel",
|
|
1737
|
+
"kind": "function",
|
|
1738
|
+
"origin": {
|
|
1739
|
+
"via": "generated"
|
|
1740
|
+
}
|
|
1741
|
+
},
|
|
1742
|
+
{
|
|
1743
|
+
"name": "refCLI",
|
|
1744
|
+
"kind": "function",
|
|
1745
|
+
"origin": {
|
|
1746
|
+
"via": "generated"
|
|
1747
|
+
}
|
|
1748
|
+
},
|
|
1749
|
+
{
|
|
1750
|
+
"name": "refHTTP",
|
|
1751
|
+
"kind": "function",
|
|
1752
|
+
"origin": {
|
|
1753
|
+
"via": "generated"
|
|
1754
|
+
}
|
|
1755
|
+
},
|
|
1756
|
+
{
|
|
1757
|
+
"name": "Services",
|
|
1758
|
+
"kind": "interface",
|
|
1759
|
+
"origin": {
|
|
1760
|
+
"via": "package",
|
|
1761
|
+
"packageName": "@pikku/templates-function-addon"
|
|
1762
|
+
}
|
|
1763
|
+
},
|
|
1764
|
+
{
|
|
1765
|
+
"name": "Session",
|
|
1766
|
+
"kind": "type",
|
|
1767
|
+
"origin": {
|
|
1768
|
+
"via": "generated"
|
|
1769
|
+
}
|
|
1770
|
+
},
|
|
1771
|
+
{
|
|
1772
|
+
"name": "SingletonServices",
|
|
1773
|
+
"kind": "interface",
|
|
1774
|
+
"origin": {
|
|
1775
|
+
"via": "package",
|
|
1776
|
+
"packageName": "@pikku/templates-function-addon"
|
|
1777
|
+
}
|
|
1778
|
+
},
|
|
1779
|
+
{
|
|
1780
|
+
"name": "WiredServices",
|
|
1781
|
+
"kind": "type",
|
|
1782
|
+
"origin": {
|
|
1783
|
+
"via": "generated"
|
|
1784
|
+
}
|
|
1785
|
+
},
|
|
1786
|
+
{
|
|
1787
|
+
"name": "WiredSingletonServices",
|
|
1788
|
+
"kind": "type",
|
|
1789
|
+
"origin": {
|
|
1790
|
+
"via": "generated"
|
|
1791
|
+
},
|
|
1792
|
+
"summary": "The services a wired function actually receives. The inspector records which services each wired `func`, `permissions` and `middleware` destructures and emits them as `RequiredSingletonServices`; intersecting that here makes those services **non-optional** at every call site. A service is optional only when nothing destructures it — in which case it is never created either. This is why an `if (!service)` guard inside a function body is always dead code.",
|
|
1793
|
+
"docs": "The services a wired function actually receives. The inspector records which\nservices each wired `func`, `permissions` and `middleware` destructures and\nemits them as `RequiredSingletonServices`; intersecting that here makes those\nservices **non-optional** at every call site. A service is optional only when\nnothing destructures it — in which case it is never created either. This is\nwhy an `if (!service)` guard inside a function body is always dead code."
|
|
1794
|
+
}
|
|
1795
|
+
]
|
|
1796
|
+
},
|
|
1797
|
+
{
|
|
1798
|
+
"specifier": "#pikku/addon/function",
|
|
1799
|
+
"name": "function",
|
|
1800
|
+
"step": "create a function",
|
|
1801
|
+
"summary": "The function definers every wiring eventually points at, and the types they are written against.",
|
|
1802
|
+
"symbols": [
|
|
1803
|
+
{
|
|
1804
|
+
"name": "InferSchemaOutput",
|
|
1805
|
+
"kind": "type",
|
|
1806
|
+
"origin": {
|
|
1807
|
+
"via": "package",
|
|
1808
|
+
"packageName": "@pikku/templates-function-addon"
|
|
1809
|
+
},
|
|
1810
|
+
"summary": "Helper type to infer the output type from a Standard Schema",
|
|
1811
|
+
"docs": "Helper type to infer the output type from a Standard Schema"
|
|
1812
|
+
},
|
|
1813
|
+
{
|
|
1814
|
+
"name": "NodeConfig",
|
|
1815
|
+
"kind": "type",
|
|
1816
|
+
"origin": {
|
|
1817
|
+
"via": "package",
|
|
1818
|
+
"packageName": "@pikku/templates-function-addon"
|
|
1819
|
+
},
|
|
1820
|
+
"summary": "Inline node configuration for function definitions.",
|
|
1821
|
+
"docs": "Inline node configuration for function definitions."
|
|
1822
|
+
},
|
|
1823
|
+
{
|
|
1824
|
+
"name": "pikkuApprovalDescription",
|
|
1825
|
+
"kind": "function",
|
|
1826
|
+
"origin": {
|
|
1827
|
+
"via": "package",
|
|
1828
|
+
"packageName": "@pikku/templates-function-addon"
|
|
1829
|
+
},
|
|
1830
|
+
"summary": "Factory function for creating approval description functions with tree-shaking support.",
|
|
1831
|
+
"docs": "Factory function for creating approval description functions with tree-shaking support."
|
|
1832
|
+
},
|
|
1833
|
+
{
|
|
1834
|
+
"name": "PikkuApprovalDescription",
|
|
1835
|
+
"kind": "type",
|
|
1836
|
+
"origin": {
|
|
1837
|
+
"via": "package",
|
|
1838
|
+
"packageName": "@pikku/templates-function-addon"
|
|
1839
|
+
},
|
|
1840
|
+
"summary": "A function that generates a human-readable description of a pending approval action. Used by AI agents to show meaningful approval prompts instead of raw tool arguments.",
|
|
1841
|
+
"docs": "A function that generates a human-readable description of a pending approval action.\nUsed by AI agents to show meaningful approval prompts instead of raw tool arguments."
|
|
1842
|
+
},
|
|
1843
|
+
{
|
|
1844
|
+
"name": "pikkuFunc",
|
|
1845
|
+
"kind": "function",
|
|
1846
|
+
"origin": {
|
|
1847
|
+
"via": "package",
|
|
1848
|
+
"packageName": "@pikku/templates-function-addon"
|
|
1849
|
+
},
|
|
1850
|
+
"summary": "Creates a Pikku function that can be either session-aware or sessionless. This is the main function wrapper for creating API endpoints.",
|
|
1851
|
+
"docs": "Creates a Pikku function that can be either session-aware or sessionless.\nThis is the main function wrapper for creating API endpoints.\n\nDefine the input and output with Zod schemas — the function's types are\ninferred from them, and the schemas double as runtime validation."
|
|
1852
|
+
},
|
|
1853
|
+
{
|
|
1854
|
+
"name": "PikkuFunction",
|
|
1855
|
+
"kind": "type",
|
|
1856
|
+
"origin": {
|
|
1857
|
+
"via": "package",
|
|
1858
|
+
"packageName": "@pikku/templates-function-addon"
|
|
1859
|
+
},
|
|
1860
|
+
"summary": "A session-aware API function that requires user authentication. Use this for protected endpoints that need access to user session data.",
|
|
1861
|
+
"docs": "A session-aware API function that requires user authentication.\nUse this for protected endpoints that need access to user session data."
|
|
1862
|
+
},
|
|
1863
|
+
{
|
|
1864
|
+
"name": "PikkuFunctionConfig",
|
|
1865
|
+
"kind": "type",
|
|
1866
|
+
"origin": {
|
|
1867
|
+
"via": "package",
|
|
1868
|
+
"packageName": "@pikku/templates-function-addon"
|
|
1869
|
+
},
|
|
1870
|
+
"summary": "Configuration object for Pikku functions with optional middleware, permissions, tags, and documentation. This type wraps CorePikkuFunctionConfig with the user's custom types.",
|
|
1871
|
+
"docs": "Configuration object for Pikku functions with optional middleware, permissions, tags, and documentation.\nThis type wraps CorePikkuFunctionConfig with the user's custom types."
|
|
1872
|
+
},
|
|
1873
|
+
{
|
|
1874
|
+
"name": "PikkuFunctionSessionless",
|
|
1875
|
+
"kind": "type",
|
|
1876
|
+
"origin": {
|
|
1877
|
+
"via": "package",
|
|
1878
|
+
"packageName": "@pikku/templates-function-addon"
|
|
1879
|
+
},
|
|
1880
|
+
"summary": "A sessionless API function that doesn't require user authentication. Use this for public endpoints, health checks, or operations that don't need user context.",
|
|
1881
|
+
"docs": "A sessionless API function that doesn't require user authentication.\nUse this for public endpoints, health checks, or operations that don't need user context."
|
|
1882
|
+
},
|
|
1883
|
+
{
|
|
1884
|
+
"name": "pikkuListFunc",
|
|
1885
|
+
"kind": "function",
|
|
1886
|
+
"origin": {
|
|
1887
|
+
"via": "package",
|
|
1888
|
+
"packageName": "@pikku/templates-function-addon"
|
|
1889
|
+
}
|
|
1890
|
+
},
|
|
1891
|
+
{
|
|
1892
|
+
"name": "pikkuRemoteChannelFunc",
|
|
1893
|
+
"kind": "function",
|
|
1894
|
+
"origin": {
|
|
1895
|
+
"via": "package",
|
|
1896
|
+
"packageName": "@pikku/templates-function-addon"
|
|
1897
|
+
},
|
|
1898
|
+
"summary": "Declares a capability the connected client answers, reachable from any `wireChannel` function as `channel.remote(name, input)`.",
|
|
1899
|
+
"docs": "Declares a capability the connected client answers, reachable from any\n`wireChannel` function as `channel.remote(name, input)`.\n\nThere is no `func`: this side owns the contract, the client owns the body.\nThe `description` is what a person is shown when asked to approve the call,\nso write it for them rather than for the caller."
|
|
1900
|
+
},
|
|
1901
|
+
{
|
|
1902
|
+
"name": "pikkuSessionlessFunc",
|
|
1903
|
+
"kind": "function",
|
|
1904
|
+
"origin": {
|
|
1905
|
+
"via": "package",
|
|
1906
|
+
"packageName": "@pikku/templates-function-addon"
|
|
1907
|
+
},
|
|
1908
|
+
"summary": "Creates a sessionless Pikku function that doesn't require user authentication. Use this for public endpoints, webhooks, or background tasks.",
|
|
1909
|
+
"docs": "Creates a sessionless Pikku function that doesn't require user authentication.\nUse this for public endpoints, webhooks, or background tasks.\n\nDefine the input and output with Zod schemas — the function's types are\ninferred from them, and the schemas double as runtime validation."
|
|
1910
|
+
},
|
|
1911
|
+
{
|
|
1912
|
+
"name": "pikkuVoidFunc",
|
|
1913
|
+
"kind": "function",
|
|
1914
|
+
"origin": {
|
|
1915
|
+
"via": "package",
|
|
1916
|
+
"packageName": "@pikku/templates-function-addon"
|
|
1917
|
+
},
|
|
1918
|
+
"summary": "Creates a function that takes no input and returns no output. Useful for health checks, triggers, or cleanup operations.",
|
|
1919
|
+
"docs": "Creates a function that takes no input and returns no output.\nUseful for health checks, triggers, or cleanup operations."
|
|
1920
|
+
},
|
|
1921
|
+
{
|
|
1922
|
+
"name": "ref",
|
|
1923
|
+
"kind": "function",
|
|
1924
|
+
"origin": {
|
|
1925
|
+
"via": "package",
|
|
1926
|
+
"packageName": "@pikku/templates-function-addon"
|
|
1927
|
+
},
|
|
1928
|
+
"summary": "References a registered function by name for use in any wiring. Works for both local and addon functions — resolves via RPC at runtime.",
|
|
1929
|
+
"docs": "References a registered function by name for use in any wiring.\nWorks for both local and addon functions — resolves via RPC at runtime."
|
|
1930
|
+
},
|
|
1931
|
+
{
|
|
1932
|
+
"name": "refChannel",
|
|
1933
|
+
"kind": "function",
|
|
1934
|
+
"origin": {
|
|
1935
|
+
"via": "package",
|
|
1936
|
+
"packageName": "@pikku/templates-function-addon"
|
|
1937
|
+
}
|
|
1938
|
+
},
|
|
1939
|
+
{
|
|
1940
|
+
"name": "refCLI",
|
|
1941
|
+
"kind": "function",
|
|
1942
|
+
"origin": {
|
|
1943
|
+
"via": "package",
|
|
1944
|
+
"packageName": "@pikku/templates-function-addon"
|
|
1945
|
+
}
|
|
1946
|
+
},
|
|
1947
|
+
{
|
|
1948
|
+
"name": "refHTTP",
|
|
1949
|
+
"kind": "function",
|
|
1950
|
+
"origin": {
|
|
1951
|
+
"via": "package",
|
|
1952
|
+
"packageName": "@pikku/templates-function-addon"
|
|
1953
|
+
}
|
|
1954
|
+
},
|
|
1955
|
+
{
|
|
1956
|
+
"name": "Services",
|
|
1957
|
+
"kind": "interface",
|
|
1958
|
+
"origin": {
|
|
1959
|
+
"via": "package",
|
|
1960
|
+
"packageName": "@pikku/templates-function-addon"
|
|
1961
|
+
}
|
|
1962
|
+
},
|
|
1963
|
+
{
|
|
1964
|
+
"name": "Session",
|
|
1965
|
+
"kind": "type",
|
|
1966
|
+
"origin": {
|
|
1967
|
+
"via": "package",
|
|
1968
|
+
"packageName": "@pikku/templates-function-addon"
|
|
1969
|
+
}
|
|
1970
|
+
},
|
|
1971
|
+
{
|
|
1972
|
+
"name": "SingletonServices",
|
|
1973
|
+
"kind": "interface",
|
|
1974
|
+
"origin": {
|
|
1975
|
+
"via": "package",
|
|
1976
|
+
"packageName": "@pikku/templates-function-addon"
|
|
1977
|
+
}
|
|
1978
|
+
},
|
|
1979
|
+
{
|
|
1980
|
+
"name": "WiredServices",
|
|
1981
|
+
"kind": "type",
|
|
1982
|
+
"origin": {
|
|
1983
|
+
"via": "package",
|
|
1984
|
+
"packageName": "@pikku/templates-function-addon"
|
|
1985
|
+
}
|
|
1986
|
+
},
|
|
1987
|
+
{
|
|
1988
|
+
"name": "WiredSingletonServices",
|
|
1989
|
+
"kind": "type",
|
|
1990
|
+
"origin": {
|
|
1991
|
+
"via": "package",
|
|
1992
|
+
"packageName": "@pikku/templates-function-addon"
|
|
1993
|
+
},
|
|
1994
|
+
"summary": "The services a wired function actually receives. The inspector records which services each wired `func`, `permissions` and `middleware` destructures and emits them as `RequiredSingletonServices`; intersecting that here makes those services **non-optional** at every call site. A service is optional only when nothing destructures it — in which case it is never created either. This is why an `if (!service)` guard inside a function body is always dead code.",
|
|
1995
|
+
"docs": "The services a wired function actually receives. The inspector records which\nservices each wired `func`, `permissions` and `middleware` destructures and\nemits them as `RequiredSingletonServices`; intersecting that here makes those\nservices **non-optional** at every call site. A service is optional only when\nnothing destructures it — in which case it is never created either. This is\nwhy an `if (!service)` guard inside a function body is always dead code."
|
|
1996
|
+
}
|
|
1997
|
+
]
|
|
1998
|
+
},
|
|
1999
|
+
{
|
|
2000
|
+
"specifier": "#pikku/addon/setup",
|
|
2001
|
+
"name": "setup",
|
|
2002
|
+
"step": "create a function",
|
|
2003
|
+
"summary": "The three factories a project declares exactly once — its config, its singleton services and its per-wire services. An addon declares the same three in its own flavour, handed the logger, variables and secrets the host application already built. Everything else on this page is imported by features; these are imported by bootstrap and then left alone.",
|
|
2004
|
+
"symbols": [
|
|
2005
|
+
{
|
|
2006
|
+
"name": "AddonBaseServices",
|
|
2007
|
+
"kind": "type",
|
|
2008
|
+
"origin": {
|
|
2009
|
+
"via": "generated"
|
|
2010
|
+
},
|
|
2011
|
+
"summary": "Base services provided to addon package service factories. These are always available from the parent application.",
|
|
2012
|
+
"docs": "Base services provided to addon package service factories.\nThese are always available from the parent application."
|
|
2013
|
+
},
|
|
2014
|
+
{
|
|
2015
|
+
"name": "Config",
|
|
2016
|
+
"kind": "interface",
|
|
2017
|
+
"origin": {
|
|
2018
|
+
"via": "package",
|
|
2019
|
+
"packageName": "@pikku/templates-function-addon"
|
|
2020
|
+
}
|
|
2021
|
+
},
|
|
2022
|
+
{
|
|
2023
|
+
"name": "pikkuAddonConfig",
|
|
2024
|
+
"kind": "function",
|
|
2025
|
+
"origin": {
|
|
2026
|
+
"via": "generated"
|
|
2027
|
+
},
|
|
2028
|
+
"summary": "Creates a Pikku config factory for addon packages. Unlike pikkuConfig, this receives AddonBaseServices (logger, variables, secrets) from the parent application, so addon packages can read variables/secrets during config creation.",
|
|
2029
|
+
"docs": "Creates a Pikku config factory for addon packages.\nUnlike pikkuConfig, this receives AddonBaseServices (logger, variables, secrets)\nfrom the parent application, so addon packages can read variables/secrets during config creation."
|
|
2030
|
+
},
|
|
2031
|
+
{
|
|
2032
|
+
"name": "pikkuAddonServices",
|
|
2033
|
+
"kind": "function",
|
|
2034
|
+
"origin": {
|
|
2035
|
+
"via": "generated"
|
|
2036
|
+
},
|
|
2037
|
+
"summary": "Creates a Pikku singleton services factory for addon packages. Unlike pikkuServices, this expects the parent application to provide logger, variables, and secrets - no fallbacks needed.",
|
|
2038
|
+
"docs": "Creates a Pikku singleton services factory for addon packages.\nUnlike pikkuServices, this expects the parent application to provide\nlogger, variables, and secrets - no fallbacks needed."
|
|
2039
|
+
},
|
|
2040
|
+
{
|
|
2041
|
+
"name": "pikkuAddonWireServices",
|
|
2042
|
+
"kind": "function",
|
|
2043
|
+
"origin": {
|
|
2044
|
+
"via": "generated"
|
|
2045
|
+
},
|
|
2046
|
+
"summary": "Creates a Pikku wire services factory for addon packages. Wire services are created per-request and have access to the HTTP request context.",
|
|
2047
|
+
"docs": "Creates a Pikku wire services factory for addon packages.\nWire services are created per-request and have access to the HTTP request context."
|
|
2048
|
+
},
|
|
2049
|
+
{
|
|
2050
|
+
"name": "pikkuConfig",
|
|
2051
|
+
"kind": "function",
|
|
2052
|
+
"origin": {
|
|
2053
|
+
"via": "generated"
|
|
2054
|
+
},
|
|
2055
|
+
"summary": "Creates a Pikku config factory. Use this to define your application's configuration factory.",
|
|
2056
|
+
"docs": "Creates a Pikku config factory.\nUse this to define your application's configuration factory."
|
|
2057
|
+
},
|
|
2058
|
+
{
|
|
2059
|
+
"name": "pikkuServices",
|
|
2060
|
+
"kind": "function",
|
|
2061
|
+
"origin": {
|
|
2062
|
+
"via": "generated"
|
|
2063
|
+
},
|
|
2064
|
+
"summary": "Creates a Pikku singleton services factory. Use this to define services that are created once and shared across all requests.",
|
|
2065
|
+
"docs": "Creates a Pikku singleton services factory.\nUse this to define services that are created once and shared across all requests."
|
|
2066
|
+
},
|
|
2067
|
+
{
|
|
2068
|
+
"name": "pikkuWireServices",
|
|
2069
|
+
"kind": "function",
|
|
2070
|
+
"origin": {
|
|
2071
|
+
"via": "generated"
|
|
2072
|
+
},
|
|
2073
|
+
"summary": "Creates a Pikku wire services factory. Use this to define services that are created per-request/session.",
|
|
2074
|
+
"docs": "Creates a Pikku wire services factory.\nUse this to define services that are created per-request/session."
|
|
2075
|
+
}
|
|
2076
|
+
]
|
|
2077
|
+
},
|
|
2078
|
+
{
|
|
2079
|
+
"specifier": "#pikku/addon/setup",
|
|
2080
|
+
"name": "setup",
|
|
2081
|
+
"step": "create a function",
|
|
2082
|
+
"summary": "The three factories a project declares exactly once — its config, its singleton services and its per-wire services. An addon declares the same three in its own flavour, handed the logger, variables and secrets the host application already built. Everything else on this page is imported by features; these are imported by bootstrap and then left alone.",
|
|
2083
|
+
"symbols": [
|
|
2084
|
+
{
|
|
2085
|
+
"name": "AddonBaseServices",
|
|
2086
|
+
"kind": "type",
|
|
2087
|
+
"origin": {
|
|
2088
|
+
"via": "package",
|
|
2089
|
+
"packageName": "@pikku/templates-function-addon"
|
|
2090
|
+
},
|
|
2091
|
+
"summary": "Base services provided to addon package service factories. These are always available from the parent application.",
|
|
2092
|
+
"docs": "Base services provided to addon package service factories.\nThese are always available from the parent application."
|
|
2093
|
+
},
|
|
2094
|
+
{
|
|
2095
|
+
"name": "Config",
|
|
2096
|
+
"kind": "interface",
|
|
2097
|
+
"origin": {
|
|
2098
|
+
"via": "package",
|
|
2099
|
+
"packageName": "@pikku/templates-function-addon"
|
|
2100
|
+
}
|
|
2101
|
+
},
|
|
2102
|
+
{
|
|
2103
|
+
"name": "pikkuAddonConfig",
|
|
2104
|
+
"kind": "function",
|
|
2105
|
+
"origin": {
|
|
2106
|
+
"via": "package",
|
|
2107
|
+
"packageName": "@pikku/templates-function-addon"
|
|
2108
|
+
},
|
|
2109
|
+
"summary": "Creates a Pikku config factory for addon packages. Unlike pikkuConfig, this receives AddonBaseServices (logger, variables, secrets) from the parent application, so addon packages can read variables/secrets during config creation.",
|
|
2110
|
+
"docs": "Creates a Pikku config factory for addon packages.\nUnlike pikkuConfig, this receives AddonBaseServices (logger, variables, secrets)\nfrom the parent application, so addon packages can read variables/secrets during config creation."
|
|
2111
|
+
},
|
|
2112
|
+
{
|
|
2113
|
+
"name": "pikkuAddonServices",
|
|
2114
|
+
"kind": "function",
|
|
2115
|
+
"origin": {
|
|
2116
|
+
"via": "package",
|
|
2117
|
+
"packageName": "@pikku/templates-function-addon"
|
|
2118
|
+
},
|
|
2119
|
+
"summary": "Creates a Pikku singleton services factory for addon packages. Unlike pikkuServices, this expects the parent application to provide logger, variables, and secrets - no fallbacks needed.",
|
|
2120
|
+
"docs": "Creates a Pikku singleton services factory for addon packages.\nUnlike pikkuServices, this expects the parent application to provide\nlogger, variables, and secrets - no fallbacks needed."
|
|
2121
|
+
},
|
|
2122
|
+
{
|
|
2123
|
+
"name": "pikkuAddonWireServices",
|
|
2124
|
+
"kind": "function",
|
|
2125
|
+
"origin": {
|
|
2126
|
+
"via": "package",
|
|
2127
|
+
"packageName": "@pikku/templates-function-addon"
|
|
2128
|
+
},
|
|
2129
|
+
"summary": "Creates a Pikku wire services factory for addon packages. Wire services are created per-request and have access to the HTTP request context.",
|
|
2130
|
+
"docs": "Creates a Pikku wire services factory for addon packages.\nWire services are created per-request and have access to the HTTP request context."
|
|
2131
|
+
},
|
|
2132
|
+
{
|
|
2133
|
+
"name": "pikkuConfig",
|
|
2134
|
+
"kind": "function",
|
|
2135
|
+
"origin": {
|
|
2136
|
+
"via": "package",
|
|
2137
|
+
"packageName": "@pikku/templates-function-addon"
|
|
2138
|
+
},
|
|
2139
|
+
"summary": "Creates a Pikku config factory. Use this to define your application's configuration factory.",
|
|
2140
|
+
"docs": "Creates a Pikku config factory.\nUse this to define your application's configuration factory."
|
|
2141
|
+
},
|
|
2142
|
+
{
|
|
2143
|
+
"name": "pikkuServices",
|
|
2144
|
+
"kind": "function",
|
|
2145
|
+
"origin": {
|
|
2146
|
+
"via": "package",
|
|
2147
|
+
"packageName": "@pikku/templates-function-addon"
|
|
2148
|
+
},
|
|
2149
|
+
"summary": "Creates a Pikku singleton services factory. Use this to define services that are created once and shared across all requests.",
|
|
2150
|
+
"docs": "Creates a Pikku singleton services factory.\nUse this to define services that are created once and shared across all requests."
|
|
2151
|
+
},
|
|
2152
|
+
{
|
|
2153
|
+
"name": "pikkuWireServices",
|
|
2154
|
+
"kind": "function",
|
|
2155
|
+
"origin": {
|
|
2156
|
+
"via": "package",
|
|
2157
|
+
"packageName": "@pikku/templates-function-addon"
|
|
2158
|
+
},
|
|
2159
|
+
"summary": "Creates a Pikku wire services factory. Use this to define services that are created per-request/session.",
|
|
2160
|
+
"docs": "Creates a Pikku wire services factory.\nUse this to define services that are created per-request/session."
|
|
2161
|
+
}
|
|
2162
|
+
]
|
|
2163
|
+
},
|
|
2164
|
+
{
|
|
2165
|
+
"specifier": "#pikku/addon/error",
|
|
2166
|
+
"name": "error",
|
|
2167
|
+
"step": "enhance it",
|
|
2168
|
+
"summary": "The errors your functions throw and the HTTP status each one maps to, so a thrown error is part of the contract rather than a stack trace.",
|
|
2169
|
+
"symbols": [
|
|
2170
|
+
{
|
|
2171
|
+
"name": "addError",
|
|
2172
|
+
"kind": "function",
|
|
2173
|
+
"origin": {
|
|
2174
|
+
"via": "core",
|
|
2175
|
+
"subpath": "./errors"
|
|
2176
|
+
}
|
|
2177
|
+
},
|
|
2178
|
+
{
|
|
2179
|
+
"name": "AIProviderAuthError",
|
|
2180
|
+
"kind": "class",
|
|
2181
|
+
"origin": {
|
|
2182
|
+
"via": "core",
|
|
2183
|
+
"subpath": "./errors"
|
|
2184
|
+
}
|
|
2185
|
+
},
|
|
2186
|
+
{
|
|
2187
|
+
"name": "AIProviderNotConfiguredError",
|
|
2188
|
+
"kind": "class",
|
|
2189
|
+
"origin": {
|
|
2190
|
+
"via": "core",
|
|
2191
|
+
"subpath": "./errors"
|
|
2192
|
+
}
|
|
2193
|
+
},
|
|
2194
|
+
{
|
|
2195
|
+
"name": "BadGatewayError",
|
|
2196
|
+
"kind": "class",
|
|
2197
|
+
"origin": {
|
|
2198
|
+
"via": "core",
|
|
2199
|
+
"subpath": "./errors"
|
|
2200
|
+
}
|
|
2201
|
+
},
|
|
2202
|
+
{
|
|
2203
|
+
"name": "BadRequestError",
|
|
2204
|
+
"kind": "class",
|
|
2205
|
+
"origin": {
|
|
2206
|
+
"via": "core",
|
|
2207
|
+
"subpath": "./errors"
|
|
2208
|
+
}
|
|
2209
|
+
},
|
|
2210
|
+
{
|
|
2211
|
+
"name": "ConflictError",
|
|
2212
|
+
"kind": "class",
|
|
2213
|
+
"origin": {
|
|
2214
|
+
"via": "core",
|
|
2215
|
+
"subpath": "./errors"
|
|
2216
|
+
}
|
|
2217
|
+
},
|
|
2218
|
+
{
|
|
2219
|
+
"name": "ErrorDetails",
|
|
2220
|
+
"kind": "interface",
|
|
2221
|
+
"origin": {
|
|
2222
|
+
"via": "core",
|
|
2223
|
+
"subpath": "./errors"
|
|
2224
|
+
}
|
|
2225
|
+
},
|
|
2226
|
+
{
|
|
2227
|
+
"name": "ExpectationFailedError",
|
|
2228
|
+
"kind": "class",
|
|
2229
|
+
"origin": {
|
|
2230
|
+
"via": "core",
|
|
2231
|
+
"subpath": "./errors"
|
|
2232
|
+
}
|
|
2233
|
+
},
|
|
2234
|
+
{
|
|
2235
|
+
"name": "ForbiddenError",
|
|
2236
|
+
"kind": "class",
|
|
2237
|
+
"origin": {
|
|
2238
|
+
"via": "core",
|
|
2239
|
+
"subpath": "./errors"
|
|
2240
|
+
}
|
|
2241
|
+
},
|
|
2242
|
+
{
|
|
2243
|
+
"name": "GatewayTimeoutError",
|
|
2244
|
+
"kind": "class",
|
|
2245
|
+
"origin": {
|
|
2246
|
+
"via": "core",
|
|
2247
|
+
"subpath": "./errors"
|
|
2248
|
+
}
|
|
2249
|
+
},
|
|
2250
|
+
{
|
|
2251
|
+
"name": "GoneError",
|
|
2252
|
+
"kind": "class",
|
|
2253
|
+
"origin": {
|
|
2254
|
+
"via": "core",
|
|
2255
|
+
"subpath": "./errors"
|
|
2256
|
+
}
|
|
2257
|
+
},
|
|
2258
|
+
{
|
|
2259
|
+
"name": "HTTPVersionNotSupportedError",
|
|
2260
|
+
"kind": "class",
|
|
2261
|
+
"origin": {
|
|
2262
|
+
"via": "core",
|
|
2263
|
+
"subpath": "./errors"
|
|
2264
|
+
}
|
|
2265
|
+
},
|
|
2266
|
+
{
|
|
2267
|
+
"name": "InternalServerError",
|
|
2268
|
+
"kind": "class",
|
|
2269
|
+
"origin": {
|
|
2270
|
+
"via": "core",
|
|
2271
|
+
"subpath": "./errors"
|
|
2272
|
+
}
|
|
2273
|
+
},
|
|
2274
|
+
{
|
|
2275
|
+
"name": "InvalidMiddlewareWireError",
|
|
2276
|
+
"kind": "class",
|
|
2277
|
+
"origin": {
|
|
2278
|
+
"via": "core",
|
|
2279
|
+
"subpath": "./errors"
|
|
2280
|
+
}
|
|
2281
|
+
},
|
|
2282
|
+
{
|
|
2283
|
+
"name": "InvalidOriginError",
|
|
2284
|
+
"kind": "class",
|
|
2285
|
+
"origin": {
|
|
2286
|
+
"via": "core",
|
|
2287
|
+
"subpath": "./errors"
|
|
2288
|
+
}
|
|
2289
|
+
},
|
|
2290
|
+
{
|
|
2291
|
+
"name": "InvalidSessionError",
|
|
2292
|
+
"kind": "class",
|
|
2293
|
+
"origin": {
|
|
2294
|
+
"via": "core",
|
|
2295
|
+
"subpath": "./errors"
|
|
2296
|
+
}
|
|
2297
|
+
},
|
|
2298
|
+
{
|
|
2299
|
+
"name": "isExpectedError",
|
|
2300
|
+
"kind": "function",
|
|
2301
|
+
"origin": {
|
|
2302
|
+
"via": "core",
|
|
2303
|
+
"subpath": "./errors"
|
|
2304
|
+
},
|
|
2305
|
+
"summary": "A `PikkuError`, or any error carrying `expected: true` — the marker that survives serialization across a workflow step boundary and rehydration as a plain `Error`. Callers log the message alone for these, the full stack for everything else.",
|
|
2306
|
+
"docs": "A `PikkuError`, or any error carrying `expected: true` — the marker that\nsurvives serialization across a workflow step boundary and rehydration as a\nplain `Error`. Callers log the message alone for these, the full stack for\neverything else."
|
|
2307
|
+
},
|
|
2308
|
+
{
|
|
2309
|
+
"name": "LengthRequiredError",
|
|
2310
|
+
"kind": "class",
|
|
2311
|
+
"origin": {
|
|
2312
|
+
"via": "core",
|
|
2313
|
+
"subpath": "./errors"
|
|
2314
|
+
}
|
|
2315
|
+
},
|
|
2316
|
+
{
|
|
2317
|
+
"name": "LocalEnvironmentOnlyError",
|
|
2318
|
+
"kind": "class",
|
|
2319
|
+
"origin": {
|
|
2320
|
+
"via": "core",
|
|
2321
|
+
"subpath": "./errors"
|
|
2322
|
+
}
|
|
2323
|
+
},
|
|
2324
|
+
{
|
|
2325
|
+
"name": "LockedError",
|
|
2326
|
+
"kind": "class",
|
|
2327
|
+
"origin": {
|
|
2328
|
+
"via": "core",
|
|
2329
|
+
"subpath": "./errors"
|
|
2330
|
+
}
|
|
2331
|
+
},
|
|
2332
|
+
{
|
|
2333
|
+
"name": "MaxComputeTimeReachedError",
|
|
2334
|
+
"kind": "class",
|
|
2335
|
+
"origin": {
|
|
2336
|
+
"via": "core",
|
|
2337
|
+
"subpath": "./errors"
|
|
2338
|
+
}
|
|
2339
|
+
},
|
|
2340
|
+
{
|
|
2341
|
+
"name": "MethodNotAllowedError",
|
|
2342
|
+
"kind": "class",
|
|
2343
|
+
"origin": {
|
|
2344
|
+
"via": "core",
|
|
2345
|
+
"subpath": "./errors"
|
|
2346
|
+
}
|
|
2347
|
+
},
|
|
2348
|
+
{
|
|
2349
|
+
"name": "MissingCredentialError",
|
|
2350
|
+
"kind": "class",
|
|
2351
|
+
"origin": {
|
|
2352
|
+
"via": "core",
|
|
2353
|
+
"subpath": "./errors"
|
|
2354
|
+
}
|
|
2355
|
+
},
|
|
2356
|
+
{
|
|
2357
|
+
"name": "MissingSchemaError",
|
|
2358
|
+
"kind": "class",
|
|
2359
|
+
"origin": {
|
|
2360
|
+
"via": "core",
|
|
2361
|
+
"subpath": "./errors"
|
|
2362
|
+
}
|
|
2363
|
+
},
|
|
2364
|
+
{
|
|
2365
|
+
"name": "MissingScopeError",
|
|
2366
|
+
"kind": "class",
|
|
2367
|
+
"origin": {
|
|
2368
|
+
"via": "core",
|
|
2369
|
+
"subpath": "./errors"
|
|
2370
|
+
}
|
|
2371
|
+
},
|
|
2372
|
+
{
|
|
2373
|
+
"name": "MissingServiceError",
|
|
2374
|
+
"kind": "class",
|
|
2375
|
+
"origin": {
|
|
2376
|
+
"via": "core",
|
|
2377
|
+
"subpath": "./errors"
|
|
2378
|
+
}
|
|
2379
|
+
},
|
|
2380
|
+
{
|
|
2381
|
+
"name": "MissingSessionError",
|
|
2382
|
+
"kind": "class",
|
|
2383
|
+
"origin": {
|
|
2384
|
+
"via": "core",
|
|
2385
|
+
"subpath": "./errors"
|
|
2386
|
+
}
|
|
2387
|
+
},
|
|
2388
|
+
{
|
|
2389
|
+
"name": "NotAcceptableError",
|
|
2390
|
+
"kind": "class",
|
|
2391
|
+
"origin": {
|
|
2392
|
+
"via": "core",
|
|
2393
|
+
"subpath": "./errors"
|
|
2394
|
+
}
|
|
2395
|
+
},
|
|
2396
|
+
{
|
|
2397
|
+
"name": "NotFoundError",
|
|
2398
|
+
"kind": "class",
|
|
2399
|
+
"origin": {
|
|
2400
|
+
"via": "core",
|
|
2401
|
+
"subpath": "./errors"
|
|
2402
|
+
}
|
|
2403
|
+
},
|
|
2404
|
+
{
|
|
2405
|
+
"name": "NotImplementedError",
|
|
2406
|
+
"kind": "class",
|
|
2407
|
+
"origin": {
|
|
2408
|
+
"via": "core",
|
|
2409
|
+
"subpath": "./errors"
|
|
2410
|
+
}
|
|
2411
|
+
},
|
|
2412
|
+
{
|
|
2413
|
+
"name": "PayloadTooLargeError",
|
|
2414
|
+
"kind": "class",
|
|
2415
|
+
"origin": {
|
|
2416
|
+
"via": "core",
|
|
2417
|
+
"subpath": "./errors"
|
|
2418
|
+
}
|
|
2419
|
+
},
|
|
2420
|
+
{
|
|
2421
|
+
"name": "PaymentRequiredError",
|
|
2422
|
+
"kind": "class",
|
|
2423
|
+
"origin": {
|
|
2424
|
+
"via": "core",
|
|
2425
|
+
"subpath": "./errors"
|
|
2426
|
+
}
|
|
2427
|
+
},
|
|
2428
|
+
{
|
|
2429
|
+
"name": "PikkuError",
|
|
2430
|
+
"kind": "class",
|
|
2431
|
+
"origin": {
|
|
2432
|
+
"via": "core",
|
|
2433
|
+
"subpath": "./errors"
|
|
2434
|
+
}
|
|
2435
|
+
},
|
|
2436
|
+
{
|
|
2437
|
+
"name": "PikkuMissingMetaError",
|
|
2438
|
+
"kind": "class",
|
|
2439
|
+
"origin": {
|
|
2440
|
+
"via": "core",
|
|
2441
|
+
"subpath": "./errors"
|
|
2442
|
+
}
|
|
2443
|
+
},
|
|
2444
|
+
{
|
|
2445
|
+
"name": "PreconditionFailedError",
|
|
2446
|
+
"kind": "class",
|
|
2447
|
+
"origin": {
|
|
2448
|
+
"via": "core",
|
|
2449
|
+
"subpath": "./errors"
|
|
2450
|
+
}
|
|
2451
|
+
},
|
|
2452
|
+
{
|
|
2453
|
+
"name": "ProxyAuthenticationRequiredError",
|
|
2454
|
+
"kind": "class",
|
|
2455
|
+
"origin": {
|
|
2456
|
+
"via": "core",
|
|
2457
|
+
"subpath": "./errors"
|
|
2458
|
+
}
|
|
2459
|
+
},
|
|
2460
|
+
{
|
|
2461
|
+
"name": "RangeNotSatisfiableError",
|
|
2462
|
+
"kind": "class",
|
|
2463
|
+
"origin": {
|
|
2464
|
+
"via": "core",
|
|
2465
|
+
"subpath": "./errors"
|
|
2466
|
+
}
|
|
2467
|
+
},
|
|
2468
|
+
{
|
|
2469
|
+
"name": "ReadonlySessionError",
|
|
2470
|
+
"kind": "class",
|
|
2471
|
+
"origin": {
|
|
2472
|
+
"via": "core",
|
|
2473
|
+
"subpath": "./errors"
|
|
2474
|
+
}
|
|
2475
|
+
},
|
|
2476
|
+
{
|
|
2477
|
+
"name": "RequestTimeoutError",
|
|
2478
|
+
"kind": "class",
|
|
2479
|
+
"origin": {
|
|
2480
|
+
"via": "core",
|
|
2481
|
+
"subpath": "./errors"
|
|
2482
|
+
}
|
|
2483
|
+
},
|
|
2484
|
+
{
|
|
2485
|
+
"name": "SerializedError",
|
|
2486
|
+
"kind": "interface",
|
|
2487
|
+
"origin": {
|
|
2488
|
+
"via": "core",
|
|
2489
|
+
"subpath": "./errors"
|
|
2490
|
+
}
|
|
2491
|
+
},
|
|
2492
|
+
{
|
|
2493
|
+
"name": "ServiceUnavailableError",
|
|
2494
|
+
"kind": "class",
|
|
2495
|
+
"origin": {
|
|
2496
|
+
"via": "core",
|
|
2497
|
+
"subpath": "./errors"
|
|
2498
|
+
}
|
|
2499
|
+
},
|
|
2500
|
+
{
|
|
2501
|
+
"name": "SystemRoleImmutableError",
|
|
2502
|
+
"kind": "class",
|
|
2503
|
+
"origin": {
|
|
2504
|
+
"via": "core",
|
|
2505
|
+
"subpath": "./errors"
|
|
2506
|
+
},
|
|
2507
|
+
"summary": "An administrative operation targeted a role that is declared in code.",
|
|
2508
|
+
"docs": "An administrative operation targeted a role that is declared in code.\n\nSystem roles ship with the product: the console may show and grant them, but\nrenaming, re-scoping or deleting one would let a UI action silently change\nwhat a declared persona means, and what every scenario written against that\nrole is actually testing."
|
|
2509
|
+
},
|
|
2510
|
+
{
|
|
2511
|
+
"name": "SystemRoleShadowedError",
|
|
2512
|
+
"kind": "class",
|
|
2513
|
+
"origin": {
|
|
2514
|
+
"via": "core",
|
|
2515
|
+
"subpath": "./errors"
|
|
2516
|
+
},
|
|
2517
|
+
"summary": "A role was created with the name of a role declared in code.",
|
|
2518
|
+
"docs": "A role was created with the name of a role declared in code.\n\nShadowing is refused rather than merged: two rows answering to one name make\n\"does Susan hold `buyer`?\" depend on which one the store happened to return."
|
|
2519
|
+
},
|
|
2520
|
+
{
|
|
2521
|
+
"name": "TooManyRequestsError",
|
|
2522
|
+
"kind": "class",
|
|
2523
|
+
"origin": {
|
|
2524
|
+
"via": "core",
|
|
2525
|
+
"subpath": "./errors"
|
|
2526
|
+
}
|
|
2527
|
+
},
|
|
2528
|
+
{
|
|
2529
|
+
"name": "UnauthorizedError",
|
|
2530
|
+
"kind": "class",
|
|
2531
|
+
"origin": {
|
|
2532
|
+
"via": "core",
|
|
2533
|
+
"subpath": "./errors"
|
|
2534
|
+
}
|
|
2535
|
+
},
|
|
2536
|
+
{
|
|
2537
|
+
"name": "UnprocessableContentError",
|
|
2538
|
+
"kind": "class",
|
|
2539
|
+
"origin": {
|
|
2540
|
+
"via": "core",
|
|
2541
|
+
"subpath": "./errors"
|
|
2542
|
+
}
|
|
2543
|
+
},
|
|
2544
|
+
{
|
|
2545
|
+
"name": "UnsupportedMediaTypeError",
|
|
2546
|
+
"kind": "class",
|
|
2547
|
+
"origin": {
|
|
2548
|
+
"via": "core",
|
|
2549
|
+
"subpath": "./errors"
|
|
2550
|
+
}
|
|
2551
|
+
},
|
|
2552
|
+
{
|
|
2553
|
+
"name": "URITooLongError",
|
|
2554
|
+
"kind": "class",
|
|
2555
|
+
"origin": {
|
|
2556
|
+
"via": "core",
|
|
2557
|
+
"subpath": "./errors"
|
|
2558
|
+
}
|
|
2559
|
+
},
|
|
2560
|
+
{
|
|
2561
|
+
"name": "WeakKeyMaterialError",
|
|
2562
|
+
"kind": "class",
|
|
2563
|
+
"origin": {
|
|
2564
|
+
"via": "core",
|
|
2565
|
+
"subpath": "./errors"
|
|
2566
|
+
}
|
|
2567
|
+
}
|
|
2568
|
+
]
|
|
2569
|
+
},
|
|
2570
|
+
{
|
|
2571
|
+
"specifier": "#pikku/addon/error",
|
|
2572
|
+
"name": "error",
|
|
2573
|
+
"step": "enhance it",
|
|
2574
|
+
"summary": "The errors your functions throw and the HTTP status each one maps to, so a thrown error is part of the contract rather than a stack trace.",
|
|
2575
|
+
"symbols": [
|
|
2576
|
+
{
|
|
2577
|
+
"name": "addError",
|
|
2578
|
+
"kind": "function",
|
|
2579
|
+
"origin": {
|
|
2580
|
+
"via": "core",
|
|
2581
|
+
"subpath": "./errors"
|
|
2582
|
+
}
|
|
2583
|
+
},
|
|
2584
|
+
{
|
|
2585
|
+
"name": "AIProviderAuthError",
|
|
2586
|
+
"kind": "class",
|
|
2587
|
+
"origin": {
|
|
2588
|
+
"via": "core",
|
|
2589
|
+
"subpath": "./errors"
|
|
2590
|
+
}
|
|
2591
|
+
},
|
|
2592
|
+
{
|
|
2593
|
+
"name": "AIProviderNotConfiguredError",
|
|
2594
|
+
"kind": "class",
|
|
2595
|
+
"origin": {
|
|
2596
|
+
"via": "core",
|
|
2597
|
+
"subpath": "./errors"
|
|
2598
|
+
}
|
|
2599
|
+
},
|
|
2600
|
+
{
|
|
2601
|
+
"name": "BadGatewayError",
|
|
2602
|
+
"kind": "class",
|
|
2603
|
+
"origin": {
|
|
2604
|
+
"via": "core",
|
|
2605
|
+
"subpath": "./errors"
|
|
2606
|
+
}
|
|
2607
|
+
},
|
|
2608
|
+
{
|
|
2609
|
+
"name": "BadRequestError",
|
|
2610
|
+
"kind": "class",
|
|
2611
|
+
"origin": {
|
|
2612
|
+
"via": "core",
|
|
2613
|
+
"subpath": "./errors"
|
|
2614
|
+
}
|
|
2615
|
+
},
|
|
2616
|
+
{
|
|
2617
|
+
"name": "ConflictError",
|
|
2618
|
+
"kind": "class",
|
|
2619
|
+
"origin": {
|
|
2620
|
+
"via": "core",
|
|
2621
|
+
"subpath": "./errors"
|
|
2622
|
+
}
|
|
2623
|
+
},
|
|
2624
|
+
{
|
|
2625
|
+
"name": "ErrorDetails",
|
|
2626
|
+
"kind": "interface",
|
|
2627
|
+
"origin": {
|
|
2628
|
+
"via": "core",
|
|
2629
|
+
"subpath": "./errors"
|
|
2630
|
+
}
|
|
2631
|
+
},
|
|
2632
|
+
{
|
|
2633
|
+
"name": "ExpectationFailedError",
|
|
2634
|
+
"kind": "class",
|
|
2635
|
+
"origin": {
|
|
2636
|
+
"via": "core",
|
|
2637
|
+
"subpath": "./errors"
|
|
2638
|
+
}
|
|
2639
|
+
},
|
|
2640
|
+
{
|
|
2641
|
+
"name": "ForbiddenError",
|
|
2642
|
+
"kind": "class",
|
|
2643
|
+
"origin": {
|
|
2644
|
+
"via": "core",
|
|
2645
|
+
"subpath": "./errors"
|
|
2646
|
+
}
|
|
2647
|
+
},
|
|
2648
|
+
{
|
|
2649
|
+
"name": "GatewayTimeoutError",
|
|
2650
|
+
"kind": "class",
|
|
2651
|
+
"origin": {
|
|
2652
|
+
"via": "core",
|
|
2653
|
+
"subpath": "./errors"
|
|
2654
|
+
}
|
|
2655
|
+
},
|
|
2656
|
+
{
|
|
2657
|
+
"name": "GoneError",
|
|
2658
|
+
"kind": "class",
|
|
2659
|
+
"origin": {
|
|
2660
|
+
"via": "core",
|
|
2661
|
+
"subpath": "./errors"
|
|
2662
|
+
}
|
|
2663
|
+
},
|
|
2664
|
+
{
|
|
2665
|
+
"name": "HTTPVersionNotSupportedError",
|
|
2666
|
+
"kind": "class",
|
|
2667
|
+
"origin": {
|
|
2668
|
+
"via": "core",
|
|
2669
|
+
"subpath": "./errors"
|
|
2670
|
+
}
|
|
2671
|
+
},
|
|
2672
|
+
{
|
|
2673
|
+
"name": "InternalServerError",
|
|
2674
|
+
"kind": "class",
|
|
2675
|
+
"origin": {
|
|
2676
|
+
"via": "core",
|
|
2677
|
+
"subpath": "./errors"
|
|
2678
|
+
}
|
|
2679
|
+
},
|
|
2680
|
+
{
|
|
2681
|
+
"name": "InvalidMiddlewareWireError",
|
|
2682
|
+
"kind": "class",
|
|
2683
|
+
"origin": {
|
|
2684
|
+
"via": "core",
|
|
2685
|
+
"subpath": "./errors"
|
|
2686
|
+
}
|
|
2687
|
+
},
|
|
2688
|
+
{
|
|
2689
|
+
"name": "InvalidOriginError",
|
|
2690
|
+
"kind": "class",
|
|
2691
|
+
"origin": {
|
|
2692
|
+
"via": "core",
|
|
2693
|
+
"subpath": "./errors"
|
|
2694
|
+
}
|
|
2695
|
+
},
|
|
2696
|
+
{
|
|
2697
|
+
"name": "InvalidSessionError",
|
|
2698
|
+
"kind": "class",
|
|
2699
|
+
"origin": {
|
|
2700
|
+
"via": "core",
|
|
2701
|
+
"subpath": "./errors"
|
|
2702
|
+
}
|
|
2703
|
+
},
|
|
2704
|
+
{
|
|
2705
|
+
"name": "isExpectedError",
|
|
2706
|
+
"kind": "function",
|
|
2707
|
+
"origin": {
|
|
2708
|
+
"via": "core",
|
|
2709
|
+
"subpath": "./errors"
|
|
2710
|
+
},
|
|
2711
|
+
"summary": "A `PikkuError`, or any error carrying `expected: true` — the marker that survives serialization across a workflow step boundary and rehydration as a plain `Error`. Callers log the message alone for these, the full stack for everything else.",
|
|
2712
|
+
"docs": "A `PikkuError`, or any error carrying `expected: true` — the marker that\nsurvives serialization across a workflow step boundary and rehydration as a\nplain `Error`. Callers log the message alone for these, the full stack for\neverything else."
|
|
2713
|
+
},
|
|
2714
|
+
{
|
|
2715
|
+
"name": "LengthRequiredError",
|
|
2716
|
+
"kind": "class",
|
|
2717
|
+
"origin": {
|
|
2718
|
+
"via": "core",
|
|
2719
|
+
"subpath": "./errors"
|
|
2720
|
+
}
|
|
2721
|
+
},
|
|
2722
|
+
{
|
|
2723
|
+
"name": "LocalEnvironmentOnlyError",
|
|
2724
|
+
"kind": "class",
|
|
2725
|
+
"origin": {
|
|
2726
|
+
"via": "core",
|
|
2727
|
+
"subpath": "./errors"
|
|
2728
|
+
}
|
|
2729
|
+
},
|
|
2730
|
+
{
|
|
2731
|
+
"name": "LockedError",
|
|
2732
|
+
"kind": "class",
|
|
2733
|
+
"origin": {
|
|
2734
|
+
"via": "core",
|
|
2735
|
+
"subpath": "./errors"
|
|
2736
|
+
}
|
|
2737
|
+
},
|
|
2738
|
+
{
|
|
2739
|
+
"name": "MaxComputeTimeReachedError",
|
|
2740
|
+
"kind": "class",
|
|
2741
|
+
"origin": {
|
|
2742
|
+
"via": "core",
|
|
2743
|
+
"subpath": "./errors"
|
|
2744
|
+
}
|
|
2745
|
+
},
|
|
2746
|
+
{
|
|
2747
|
+
"name": "MethodNotAllowedError",
|
|
2748
|
+
"kind": "class",
|
|
2749
|
+
"origin": {
|
|
2750
|
+
"via": "core",
|
|
2751
|
+
"subpath": "./errors"
|
|
2752
|
+
}
|
|
2753
|
+
},
|
|
2754
|
+
{
|
|
2755
|
+
"name": "MissingCredentialError",
|
|
2756
|
+
"kind": "class",
|
|
2757
|
+
"origin": {
|
|
2758
|
+
"via": "core",
|
|
2759
|
+
"subpath": "./errors"
|
|
2760
|
+
}
|
|
2761
|
+
},
|
|
2762
|
+
{
|
|
2763
|
+
"name": "MissingSchemaError",
|
|
2764
|
+
"kind": "class",
|
|
2765
|
+
"origin": {
|
|
2766
|
+
"via": "core",
|
|
2767
|
+
"subpath": "./errors"
|
|
2768
|
+
}
|
|
2769
|
+
},
|
|
2770
|
+
{
|
|
2771
|
+
"name": "MissingScopeError",
|
|
2772
|
+
"kind": "class",
|
|
2773
|
+
"origin": {
|
|
2774
|
+
"via": "core",
|
|
2775
|
+
"subpath": "./errors"
|
|
2776
|
+
}
|
|
2777
|
+
},
|
|
2778
|
+
{
|
|
2779
|
+
"name": "MissingServiceError",
|
|
2780
|
+
"kind": "class",
|
|
2781
|
+
"origin": {
|
|
2782
|
+
"via": "core",
|
|
2783
|
+
"subpath": "./errors"
|
|
2784
|
+
}
|
|
2785
|
+
},
|
|
2786
|
+
{
|
|
2787
|
+
"name": "MissingSessionError",
|
|
2788
|
+
"kind": "class",
|
|
2789
|
+
"origin": {
|
|
2790
|
+
"via": "core",
|
|
2791
|
+
"subpath": "./errors"
|
|
2792
|
+
}
|
|
2793
|
+
},
|
|
2794
|
+
{
|
|
2795
|
+
"name": "NotAcceptableError",
|
|
2796
|
+
"kind": "class",
|
|
2797
|
+
"origin": {
|
|
2798
|
+
"via": "core",
|
|
2799
|
+
"subpath": "./errors"
|
|
2800
|
+
}
|
|
2801
|
+
},
|
|
2802
|
+
{
|
|
2803
|
+
"name": "NotFoundError",
|
|
2804
|
+
"kind": "class",
|
|
2805
|
+
"origin": {
|
|
2806
|
+
"via": "core",
|
|
2807
|
+
"subpath": "./errors"
|
|
2808
|
+
}
|
|
2809
|
+
},
|
|
2810
|
+
{
|
|
2811
|
+
"name": "NotImplementedError",
|
|
2812
|
+
"kind": "class",
|
|
2813
|
+
"origin": {
|
|
2814
|
+
"via": "core",
|
|
2815
|
+
"subpath": "./errors"
|
|
2816
|
+
}
|
|
2817
|
+
},
|
|
2818
|
+
{
|
|
2819
|
+
"name": "PayloadTooLargeError",
|
|
2820
|
+
"kind": "class",
|
|
2821
|
+
"origin": {
|
|
2822
|
+
"via": "core",
|
|
2823
|
+
"subpath": "./errors"
|
|
2824
|
+
}
|
|
2825
|
+
},
|
|
2826
|
+
{
|
|
2827
|
+
"name": "PaymentRequiredError",
|
|
2828
|
+
"kind": "class",
|
|
2829
|
+
"origin": {
|
|
2830
|
+
"via": "core",
|
|
2831
|
+
"subpath": "./errors"
|
|
2832
|
+
}
|
|
2833
|
+
},
|
|
2834
|
+
{
|
|
2835
|
+
"name": "PikkuError",
|
|
2836
|
+
"kind": "class",
|
|
2837
|
+
"origin": {
|
|
2838
|
+
"via": "core",
|
|
2839
|
+
"subpath": "./errors"
|
|
2840
|
+
}
|
|
2841
|
+
},
|
|
2842
|
+
{
|
|
2843
|
+
"name": "PikkuMissingMetaError",
|
|
2844
|
+
"kind": "class",
|
|
2845
|
+
"origin": {
|
|
2846
|
+
"via": "core",
|
|
2847
|
+
"subpath": "./errors"
|
|
2848
|
+
}
|
|
2849
|
+
},
|
|
2850
|
+
{
|
|
2851
|
+
"name": "PreconditionFailedError",
|
|
2852
|
+
"kind": "class",
|
|
2853
|
+
"origin": {
|
|
2854
|
+
"via": "core",
|
|
2855
|
+
"subpath": "./errors"
|
|
2856
|
+
}
|
|
2857
|
+
},
|
|
2858
|
+
{
|
|
2859
|
+
"name": "ProxyAuthenticationRequiredError",
|
|
2860
|
+
"kind": "class",
|
|
2861
|
+
"origin": {
|
|
2862
|
+
"via": "core",
|
|
2863
|
+
"subpath": "./errors"
|
|
2864
|
+
}
|
|
2865
|
+
},
|
|
2866
|
+
{
|
|
2867
|
+
"name": "RangeNotSatisfiableError",
|
|
2868
|
+
"kind": "class",
|
|
2869
|
+
"origin": {
|
|
2870
|
+
"via": "core",
|
|
2871
|
+
"subpath": "./errors"
|
|
2872
|
+
}
|
|
2873
|
+
},
|
|
2874
|
+
{
|
|
2875
|
+
"name": "ReadonlySessionError",
|
|
2876
|
+
"kind": "class",
|
|
2877
|
+
"origin": {
|
|
2878
|
+
"via": "core",
|
|
2879
|
+
"subpath": "./errors"
|
|
2880
|
+
}
|
|
2881
|
+
},
|
|
2882
|
+
{
|
|
2883
|
+
"name": "RequestTimeoutError",
|
|
2884
|
+
"kind": "class",
|
|
2885
|
+
"origin": {
|
|
2886
|
+
"via": "core",
|
|
2887
|
+
"subpath": "./errors"
|
|
2888
|
+
}
|
|
2889
|
+
},
|
|
2890
|
+
{
|
|
2891
|
+
"name": "SerializedError",
|
|
2892
|
+
"kind": "interface",
|
|
2893
|
+
"origin": {
|
|
2894
|
+
"via": "core",
|
|
2895
|
+
"subpath": "./errors"
|
|
2896
|
+
}
|
|
2897
|
+
},
|
|
2898
|
+
{
|
|
2899
|
+
"name": "ServiceUnavailableError",
|
|
2900
|
+
"kind": "class",
|
|
2901
|
+
"origin": {
|
|
2902
|
+
"via": "core",
|
|
2903
|
+
"subpath": "./errors"
|
|
2904
|
+
}
|
|
2905
|
+
},
|
|
2906
|
+
{
|
|
2907
|
+
"name": "SystemRoleImmutableError",
|
|
2908
|
+
"kind": "class",
|
|
2909
|
+
"origin": {
|
|
2910
|
+
"via": "core",
|
|
2911
|
+
"subpath": "./errors"
|
|
2912
|
+
},
|
|
2913
|
+
"summary": "An administrative operation targeted a role that is declared in code.",
|
|
2914
|
+
"docs": "An administrative operation targeted a role that is declared in code.\n\nSystem roles ship with the product: the console may show and grant them, but\nrenaming, re-scoping or deleting one would let a UI action silently change\nwhat a declared persona means, and what every scenario written against that\nrole is actually testing."
|
|
2915
|
+
},
|
|
2916
|
+
{
|
|
2917
|
+
"name": "SystemRoleShadowedError",
|
|
2918
|
+
"kind": "class",
|
|
2919
|
+
"origin": {
|
|
2920
|
+
"via": "core",
|
|
2921
|
+
"subpath": "./errors"
|
|
2922
|
+
},
|
|
2923
|
+
"summary": "A role was created with the name of a role declared in code.",
|
|
2924
|
+
"docs": "A role was created with the name of a role declared in code.\n\nShadowing is refused rather than merged: two rows answering to one name make\n\"does Susan hold `buyer`?\" depend on which one the store happened to return."
|
|
2925
|
+
},
|
|
2926
|
+
{
|
|
2927
|
+
"name": "TooManyRequestsError",
|
|
2928
|
+
"kind": "class",
|
|
2929
|
+
"origin": {
|
|
2930
|
+
"via": "core",
|
|
2931
|
+
"subpath": "./errors"
|
|
2932
|
+
}
|
|
2933
|
+
},
|
|
2934
|
+
{
|
|
2935
|
+
"name": "UnauthorizedError",
|
|
2936
|
+
"kind": "class",
|
|
2937
|
+
"origin": {
|
|
2938
|
+
"via": "core",
|
|
2939
|
+
"subpath": "./errors"
|
|
2940
|
+
}
|
|
2941
|
+
},
|
|
2942
|
+
{
|
|
2943
|
+
"name": "UnprocessableContentError",
|
|
2944
|
+
"kind": "class",
|
|
2945
|
+
"origin": {
|
|
2946
|
+
"via": "core",
|
|
2947
|
+
"subpath": "./errors"
|
|
2948
|
+
}
|
|
2949
|
+
},
|
|
2950
|
+
{
|
|
2951
|
+
"name": "UnsupportedMediaTypeError",
|
|
2952
|
+
"kind": "class",
|
|
2953
|
+
"origin": {
|
|
2954
|
+
"via": "core",
|
|
2955
|
+
"subpath": "./errors"
|
|
2956
|
+
}
|
|
2957
|
+
},
|
|
2958
|
+
{
|
|
2959
|
+
"name": "URITooLongError",
|
|
2960
|
+
"kind": "class",
|
|
2961
|
+
"origin": {
|
|
2962
|
+
"via": "core",
|
|
2963
|
+
"subpath": "./errors"
|
|
2964
|
+
}
|
|
2965
|
+
},
|
|
2966
|
+
{
|
|
2967
|
+
"name": "WeakKeyMaterialError",
|
|
2968
|
+
"kind": "class",
|
|
2969
|
+
"origin": {
|
|
2970
|
+
"via": "core",
|
|
2971
|
+
"subpath": "./errors"
|
|
2972
|
+
}
|
|
2973
|
+
}
|
|
2974
|
+
]
|
|
2975
|
+
},
|
|
2976
|
+
{
|
|
2977
|
+
"specifier": "#pikku/addon/middleware",
|
|
2978
|
+
"name": "middleware",
|
|
2979
|
+
"step": "enhance it",
|
|
2980
|
+
"summary": "Middleware is one concept regardless of what it ends up attached to, so it is one import: define it here, then register it globally, against a tag, or against an HTTP route or channel.",
|
|
2981
|
+
"symbols": [
|
|
2982
|
+
{
|
|
2983
|
+
"name": "addChannelMiddleware",
|
|
2984
|
+
"kind": "function",
|
|
2985
|
+
"origin": {
|
|
2986
|
+
"via": "generated"
|
|
2987
|
+
}
|
|
2988
|
+
},
|
|
2989
|
+
{
|
|
2990
|
+
"name": "addGlobalMiddleware",
|
|
2991
|
+
"kind": "function",
|
|
2992
|
+
"origin": {
|
|
2993
|
+
"via": "generated"
|
|
2994
|
+
},
|
|
2995
|
+
"summary": "Wire-agnostic global middleware. Runs at the top of every wiring's middleware chain — before wire-, tag-, and function-level entries.",
|
|
2996
|
+
"docs": "Wire-agnostic global middleware. Runs at the top of every wiring's\nmiddleware chain — before wire-, tag-, and function-level entries.\n\nResolution order: global -> wire -> tag -> function."
|
|
2997
|
+
},
|
|
2998
|
+
{
|
|
2999
|
+
"name": "addHTTPMiddleware",
|
|
3000
|
+
"kind": "function",
|
|
3001
|
+
"origin": {
|
|
3002
|
+
"via": "generated"
|
|
3003
|
+
},
|
|
3004
|
+
"summary": "Registers HTTP middleware either globally or for a specific route pattern.",
|
|
3005
|
+
"docs": "Registers HTTP middleware either globally or for a specific route pattern.\n\nWhen a string route pattern is provided along with middleware, the middleware\nis applied only to that route. Otherwise, if an array is provided, it is treated\nas global middleware (applied to all routes)."
|
|
3006
|
+
},
|
|
3007
|
+
{
|
|
3008
|
+
"name": "addTagMiddleware",
|
|
3009
|
+
"kind": "function",
|
|
3010
|
+
"origin": {
|
|
3011
|
+
"via": "generated"
|
|
3012
|
+
},
|
|
3013
|
+
"summary": "Tag-scoped middleware. Applies to any wiring that carries the matching tag.",
|
|
3014
|
+
"docs": "Tag-scoped middleware. Applies to any wiring that carries the matching tag."
|
|
3015
|
+
},
|
|
3016
|
+
{
|
|
3017
|
+
"name": "cors",
|
|
3018
|
+
"kind": "function",
|
|
3019
|
+
"origin": {
|
|
3020
|
+
"via": "core",
|
|
3021
|
+
"subpath": "./middleware"
|
|
3022
|
+
},
|
|
3023
|
+
"summary": "Sets CORS headers on every response and short-circuits OPTIONS preflight with a 204. `origin: true` reflects the request origin; an array reflects a matching origin and otherwise sends no `Access-Control-Allow-Origin` at all, so the browser reports \"origin not allowed\" rather than an origin mismatch against whichever entry happened to be first.",
|
|
3024
|
+
"docs": "Sets CORS headers on every response and short-circuits OPTIONS preflight\nwith a 204. `origin: true` reflects the request origin; an array reflects a\nmatching origin and otherwise sends no `Access-Control-Allow-Origin` at all,\nso the browser reports \"origin not allowed\" rather than an origin mismatch\nagainst whichever entry happened to be first."
|
|
3025
|
+
},
|
|
3026
|
+
{
|
|
3027
|
+
"name": "MiddlewarePriority",
|
|
3028
|
+
"kind": "type",
|
|
3029
|
+
"origin": {
|
|
3030
|
+
"via": "core",
|
|
3031
|
+
"subpath": "./middleware"
|
|
3032
|
+
},
|
|
3033
|
+
"summary": "Execution order: `highest` runs first (outermost in the onion), `lowest` runs last, closest to the function.",
|
|
3034
|
+
"docs": "Execution order: `highest` runs first (outermost in the onion), `lowest`\nruns last, closest to the function."
|
|
3035
|
+
},
|
|
3036
|
+
{
|
|
3037
|
+
"name": "pikkuAgentMiddleware",
|
|
3038
|
+
"kind": "function",
|
|
3039
|
+
"origin": {
|
|
3040
|
+
"via": "generated"
|
|
3041
|
+
}
|
|
3042
|
+
},
|
|
3043
|
+
{
|
|
3044
|
+
"name": "pikkuChannelMiddleware",
|
|
3045
|
+
"kind": "function",
|
|
3046
|
+
"origin": {
|
|
3047
|
+
"via": "generated"
|
|
3048
|
+
}
|
|
3049
|
+
},
|
|
3050
|
+
{
|
|
3051
|
+
"name": "PikkuChannelMiddleware",
|
|
3052
|
+
"kind": "type",
|
|
3053
|
+
"origin": {
|
|
3054
|
+
"via": "generated"
|
|
3055
|
+
}
|
|
3056
|
+
},
|
|
3057
|
+
{
|
|
3058
|
+
"name": "pikkuChannelMiddlewareFactory",
|
|
3059
|
+
"kind": "function",
|
|
3060
|
+
"origin": {
|
|
3061
|
+
"via": "generated"
|
|
3062
|
+
}
|
|
3063
|
+
},
|
|
3064
|
+
{
|
|
3065
|
+
"name": "pikkuMiddleware",
|
|
3066
|
+
"kind": "function",
|
|
3067
|
+
"origin": {
|
|
3068
|
+
"via": "generated"
|
|
3069
|
+
},
|
|
3070
|
+
"summary": "Factory function for creating middleware with tree-shaking support. Supports both direct function and configuration object syntax.",
|
|
3071
|
+
"docs": "Factory function for creating middleware with tree-shaking support.\nSupports both direct function and configuration object syntax."
|
|
3072
|
+
},
|
|
3073
|
+
{
|
|
3074
|
+
"name": "PikkuMiddleware",
|
|
3075
|
+
"kind": "type",
|
|
3076
|
+
"origin": {
|
|
3077
|
+
"via": "generated"
|
|
3078
|
+
},
|
|
3079
|
+
"summary": "Type-safe middleware definition that can access your application's services and session. Use this to define reusable middleware that can be applied to multiple wirings.",
|
|
3080
|
+
"docs": "Type-safe middleware definition that can access your application's services and session.\nUse this to define reusable middleware that can be applied to multiple wirings."
|
|
3081
|
+
},
|
|
3082
|
+
{
|
|
3083
|
+
"name": "pikkuMiddlewareFactory",
|
|
3084
|
+
"kind": "function",
|
|
3085
|
+
"origin": {
|
|
3086
|
+
"via": "generated"
|
|
3087
|
+
},
|
|
3088
|
+
"summary": "Factory function for creating middleware factories Use this when your middleware needs configuration/input parameters",
|
|
3089
|
+
"docs": "Factory function for creating middleware factories\nUse this when your middleware needs configuration/input parameters"
|
|
3090
|
+
}
|
|
3091
|
+
]
|
|
3092
|
+
},
|
|
3093
|
+
{
|
|
3094
|
+
"specifier": "#pikku/addon/middleware",
|
|
3095
|
+
"name": "middleware",
|
|
3096
|
+
"step": "enhance it",
|
|
3097
|
+
"summary": "Middleware is one concept regardless of what it ends up attached to, so it is one import: define it here, then register it globally, against a tag, or against an HTTP route or channel.",
|
|
3098
|
+
"symbols": [
|
|
3099
|
+
{
|
|
3100
|
+
"name": "addChannelMiddleware",
|
|
3101
|
+
"kind": "function",
|
|
3102
|
+
"origin": {
|
|
3103
|
+
"via": "package",
|
|
3104
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3105
|
+
}
|
|
3106
|
+
},
|
|
3107
|
+
{
|
|
3108
|
+
"name": "addGlobalMiddleware",
|
|
3109
|
+
"kind": "function",
|
|
3110
|
+
"origin": {
|
|
3111
|
+
"via": "package",
|
|
3112
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3113
|
+
},
|
|
3114
|
+
"summary": "Wire-agnostic global middleware. Runs at the top of every wiring's middleware chain — before wire-, tag-, and function-level entries.",
|
|
3115
|
+
"docs": "Wire-agnostic global middleware. Runs at the top of every wiring's\nmiddleware chain — before wire-, tag-, and function-level entries.\n\nResolution order: global -> wire -> tag -> function."
|
|
3116
|
+
},
|
|
3117
|
+
{
|
|
3118
|
+
"name": "addHTTPMiddleware",
|
|
3119
|
+
"kind": "function",
|
|
3120
|
+
"origin": {
|
|
3121
|
+
"via": "package",
|
|
3122
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3123
|
+
},
|
|
3124
|
+
"summary": "Registers HTTP middleware either globally or for a specific route pattern.",
|
|
3125
|
+
"docs": "Registers HTTP middleware either globally or for a specific route pattern.\n\nWhen a string route pattern is provided along with middleware, the middleware\nis applied only to that route. Otherwise, if an array is provided, it is treated\nas global middleware (applied to all routes)."
|
|
3126
|
+
},
|
|
3127
|
+
{
|
|
3128
|
+
"name": "addTagMiddleware",
|
|
3129
|
+
"kind": "function",
|
|
3130
|
+
"origin": {
|
|
3131
|
+
"via": "package",
|
|
3132
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3133
|
+
},
|
|
3134
|
+
"summary": "Tag-scoped middleware. Applies to any wiring that carries the matching tag.",
|
|
3135
|
+
"docs": "Tag-scoped middleware. Applies to any wiring that carries the matching tag."
|
|
3136
|
+
},
|
|
3137
|
+
{
|
|
3138
|
+
"name": "cors",
|
|
3139
|
+
"kind": "function",
|
|
3140
|
+
"origin": {
|
|
3141
|
+
"via": "core",
|
|
3142
|
+
"subpath": "./middleware"
|
|
3143
|
+
},
|
|
3144
|
+
"summary": "Sets CORS headers on every response and short-circuits OPTIONS preflight with a 204. `origin: true` reflects the request origin; an array reflects a matching origin and otherwise sends no `Access-Control-Allow-Origin` at all, so the browser reports \"origin not allowed\" rather than an origin mismatch against whichever entry happened to be first.",
|
|
3145
|
+
"docs": "Sets CORS headers on every response and short-circuits OPTIONS preflight\nwith a 204. `origin: true` reflects the request origin; an array reflects a\nmatching origin and otherwise sends no `Access-Control-Allow-Origin` at all,\nso the browser reports \"origin not allowed\" rather than an origin mismatch\nagainst whichever entry happened to be first."
|
|
3146
|
+
},
|
|
3147
|
+
{
|
|
3148
|
+
"name": "MiddlewarePriority",
|
|
3149
|
+
"kind": "type",
|
|
3150
|
+
"origin": {
|
|
3151
|
+
"via": "core",
|
|
3152
|
+
"subpath": "./middleware"
|
|
3153
|
+
},
|
|
3154
|
+
"summary": "Execution order: `highest` runs first (outermost in the onion), `lowest` runs last, closest to the function.",
|
|
3155
|
+
"docs": "Execution order: `highest` runs first (outermost in the onion), `lowest`\nruns last, closest to the function."
|
|
3156
|
+
},
|
|
3157
|
+
{
|
|
3158
|
+
"name": "pikkuAgentMiddleware",
|
|
3159
|
+
"kind": "function",
|
|
3160
|
+
"origin": {
|
|
3161
|
+
"via": "package",
|
|
3162
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3163
|
+
}
|
|
3164
|
+
},
|
|
3165
|
+
{
|
|
3166
|
+
"name": "pikkuChannelMiddleware",
|
|
3167
|
+
"kind": "function",
|
|
3168
|
+
"origin": {
|
|
3169
|
+
"via": "package",
|
|
3170
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3171
|
+
}
|
|
3172
|
+
},
|
|
3173
|
+
{
|
|
3174
|
+
"name": "PikkuChannelMiddleware",
|
|
3175
|
+
"kind": "type",
|
|
3176
|
+
"origin": {
|
|
3177
|
+
"via": "package",
|
|
3178
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3179
|
+
}
|
|
3180
|
+
},
|
|
3181
|
+
{
|
|
3182
|
+
"name": "pikkuChannelMiddlewareFactory",
|
|
3183
|
+
"kind": "function",
|
|
3184
|
+
"origin": {
|
|
3185
|
+
"via": "package",
|
|
3186
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3187
|
+
}
|
|
3188
|
+
},
|
|
3189
|
+
{
|
|
3190
|
+
"name": "pikkuMiddleware",
|
|
3191
|
+
"kind": "function",
|
|
3192
|
+
"origin": {
|
|
3193
|
+
"via": "package",
|
|
3194
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3195
|
+
},
|
|
3196
|
+
"summary": "Factory function for creating middleware with tree-shaking support. Supports both direct function and configuration object syntax.",
|
|
3197
|
+
"docs": "Factory function for creating middleware with tree-shaking support.\nSupports both direct function and configuration object syntax."
|
|
3198
|
+
},
|
|
3199
|
+
{
|
|
3200
|
+
"name": "PikkuMiddleware",
|
|
3201
|
+
"kind": "type",
|
|
3202
|
+
"origin": {
|
|
3203
|
+
"via": "package",
|
|
3204
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3205
|
+
},
|
|
3206
|
+
"summary": "Type-safe middleware definition that can access your application's services and session. Use this to define reusable middleware that can be applied to multiple wirings.",
|
|
3207
|
+
"docs": "Type-safe middleware definition that can access your application's services and session.\nUse this to define reusable middleware that can be applied to multiple wirings."
|
|
3208
|
+
},
|
|
3209
|
+
{
|
|
3210
|
+
"name": "pikkuMiddlewareFactory",
|
|
3211
|
+
"kind": "function",
|
|
3212
|
+
"origin": {
|
|
3213
|
+
"via": "package",
|
|
3214
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3215
|
+
},
|
|
3216
|
+
"summary": "Factory function for creating middleware factories Use this when your middleware needs configuration/input parameters",
|
|
3217
|
+
"docs": "Factory function for creating middleware factories\nUse this when your middleware needs configuration/input parameters"
|
|
3218
|
+
}
|
|
3219
|
+
]
|
|
3220
|
+
},
|
|
3221
|
+
{
|
|
3222
|
+
"specifier": "#pikku/addon/secrets",
|
|
3223
|
+
"name": "secrets",
|
|
3224
|
+
"step": "enhance it",
|
|
3225
|
+
"summary": "Secrets a function can use without ever holding, declared here and resolved by the secrets service at runtime.",
|
|
3226
|
+
"symbols": [
|
|
3227
|
+
{
|
|
3228
|
+
"name": "CredentialsMap",
|
|
3229
|
+
"kind": "type",
|
|
3230
|
+
"origin": {
|
|
3231
|
+
"via": "generated"
|
|
3232
|
+
}
|
|
3233
|
+
},
|
|
3234
|
+
{
|
|
3235
|
+
"name": "defineSecret",
|
|
3236
|
+
"kind": "function",
|
|
3237
|
+
"origin": {
|
|
3238
|
+
"via": "core",
|
|
3239
|
+
"subpath": "./secret"
|
|
3240
|
+
}
|
|
3241
|
+
},
|
|
3242
|
+
{
|
|
3243
|
+
"name": "TypedSecretService",
|
|
3244
|
+
"kind": "class",
|
|
3245
|
+
"origin": {
|
|
3246
|
+
"via": "generated"
|
|
3247
|
+
}
|
|
3248
|
+
}
|
|
3249
|
+
]
|
|
3250
|
+
},
|
|
3251
|
+
{
|
|
3252
|
+
"specifier": "#pikku/addon/secrets",
|
|
3253
|
+
"name": "secrets",
|
|
3254
|
+
"step": "enhance it",
|
|
3255
|
+
"summary": "Secrets a function can use without ever holding, declared here and resolved by the secrets service at runtime.",
|
|
3256
|
+
"symbols": [
|
|
3257
|
+
{
|
|
3258
|
+
"name": "CredentialsMap",
|
|
3259
|
+
"kind": "type",
|
|
3260
|
+
"origin": {
|
|
3261
|
+
"via": "package",
|
|
3262
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3263
|
+
}
|
|
3264
|
+
},
|
|
3265
|
+
{
|
|
3266
|
+
"name": "defineSecret",
|
|
3267
|
+
"kind": "function",
|
|
3268
|
+
"origin": {
|
|
3269
|
+
"via": "core",
|
|
3270
|
+
"subpath": "./secret"
|
|
3271
|
+
}
|
|
3272
|
+
},
|
|
3273
|
+
{
|
|
3274
|
+
"name": "TypedSecretService",
|
|
3275
|
+
"kind": "class",
|
|
3276
|
+
"origin": {
|
|
3277
|
+
"via": "package",
|
|
3278
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3279
|
+
}
|
|
3280
|
+
}
|
|
3281
|
+
]
|
|
3282
|
+
},
|
|
3283
|
+
{
|
|
3284
|
+
"specifier": "#pikku/addon/variables",
|
|
3285
|
+
"name": "variables",
|
|
3286
|
+
"step": "enhance it",
|
|
3287
|
+
"summary": "Configuration a function reads through the variables service, declared once so a deployment can be checked for what it is missing.",
|
|
3288
|
+
"symbols": [
|
|
3289
|
+
{
|
|
3290
|
+
"name": "defineVariable",
|
|
3291
|
+
"kind": "function",
|
|
3292
|
+
"origin": {
|
|
3293
|
+
"via": "core",
|
|
3294
|
+
"subpath": "./variable"
|
|
3295
|
+
}
|
|
3296
|
+
},
|
|
3297
|
+
{
|
|
3298
|
+
"name": "TypedVariablesService",
|
|
3299
|
+
"kind": "class",
|
|
3300
|
+
"origin": {
|
|
3301
|
+
"via": "generated"
|
|
3302
|
+
}
|
|
3303
|
+
},
|
|
3304
|
+
{
|
|
3305
|
+
"name": "VariablesMap",
|
|
3306
|
+
"kind": "interface",
|
|
3307
|
+
"origin": {
|
|
3308
|
+
"via": "generated"
|
|
3309
|
+
}
|
|
3310
|
+
}
|
|
3311
|
+
]
|
|
3312
|
+
},
|
|
3313
|
+
{
|
|
3314
|
+
"specifier": "#pikku/addon/variables",
|
|
3315
|
+
"name": "variables",
|
|
3316
|
+
"step": "enhance it",
|
|
3317
|
+
"summary": "Configuration a function reads through the variables service, declared once so a deployment can be checked for what it is missing.",
|
|
3318
|
+
"symbols": [
|
|
3319
|
+
{
|
|
3320
|
+
"name": "defineVariable",
|
|
3321
|
+
"kind": "function",
|
|
3322
|
+
"origin": {
|
|
3323
|
+
"via": "core",
|
|
3324
|
+
"subpath": "./variable"
|
|
3325
|
+
}
|
|
3326
|
+
},
|
|
3327
|
+
{
|
|
3328
|
+
"name": "TypedVariablesService",
|
|
3329
|
+
"kind": "class",
|
|
3330
|
+
"origin": {
|
|
3331
|
+
"via": "package",
|
|
3332
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3333
|
+
}
|
|
3334
|
+
},
|
|
3335
|
+
{
|
|
3336
|
+
"name": "VariablesMap",
|
|
3337
|
+
"kind": "interface",
|
|
3338
|
+
"origin": {
|
|
3339
|
+
"via": "package",
|
|
3340
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3341
|
+
}
|
|
3342
|
+
}
|
|
3343
|
+
]
|
|
3344
|
+
},
|
|
3345
|
+
{
|
|
3346
|
+
"specifier": "#pikku/addon/channel",
|
|
3347
|
+
"name": "channel",
|
|
3348
|
+
"step": "wire it up",
|
|
3349
|
+
"summary": "Wires a function to a websocket channel, its message routes and its pub/sub topics.",
|
|
3350
|
+
"symbols": [
|
|
3351
|
+
{
|
|
3352
|
+
"name": "defineChannelRoutes",
|
|
3353
|
+
"kind": "function",
|
|
3354
|
+
"origin": {
|
|
3355
|
+
"via": "generated"
|
|
3356
|
+
},
|
|
3357
|
+
"summary": "Type-safe helper for defining channel message routes that can be composed. Returns the routes record as-is for use with wireChannel's onMessageWiring.",
|
|
3358
|
+
"docs": "Type-safe helper for defining channel message routes that can be composed.\nReturns the routes record as-is for use with wireChannel's onMessageWiring."
|
|
3359
|
+
},
|
|
3360
|
+
{
|
|
3361
|
+
"name": "pikkuChannelConnectionFunc",
|
|
3362
|
+
"kind": "function",
|
|
3363
|
+
"origin": {
|
|
3364
|
+
"via": "generated"
|
|
3365
|
+
},
|
|
3366
|
+
"summary": "Creates a function that handles WebSocket channel connections. Called when a client connects to a channel.",
|
|
3367
|
+
"docs": "Creates a function that handles WebSocket channel connections.\nCalled when a client connects to a channel."
|
|
3368
|
+
},
|
|
3369
|
+
{
|
|
3370
|
+
"name": "pikkuChannelDisconnectionFunc",
|
|
3371
|
+
"kind": "function",
|
|
3372
|
+
"origin": {
|
|
3373
|
+
"via": "generated"
|
|
3374
|
+
},
|
|
3375
|
+
"summary": "Creates a function that handles WebSocket channel disconnections. Called when a client disconnects from a channel.",
|
|
3376
|
+
"docs": "Creates a function that handles WebSocket channel disconnections.\nCalled when a client disconnects from a channel."
|
|
3377
|
+
},
|
|
3378
|
+
{
|
|
3379
|
+
"name": "pikkuChannelFunc",
|
|
3380
|
+
"kind": "function",
|
|
3381
|
+
"origin": {
|
|
3382
|
+
"via": "generated"
|
|
3383
|
+
},
|
|
3384
|
+
"summary": "Creates a function that handles WebSocket channel messages. Called when a message is received on a channel.",
|
|
3385
|
+
"docs": "Creates a function that handles WebSocket channel messages.\nCalled when a message is received on a channel.\n\nSupports two patterns:\n1. Generic types: `pikkuChannelFunc<Input, Output>({ func: ... })`\n2. Zod schemas: `pikkuChannelFunc({ input: z.object(...), func: ... })`"
|
|
3386
|
+
}
|
|
3387
|
+
]
|
|
3388
|
+
},
|
|
3389
|
+
{
|
|
3390
|
+
"specifier": "#pikku/addon/channel",
|
|
3391
|
+
"name": "channel",
|
|
3392
|
+
"step": "wire it up",
|
|
3393
|
+
"summary": "Wires a function to a websocket channel, its message routes and its pub/sub topics.",
|
|
3394
|
+
"symbols": [
|
|
3395
|
+
{
|
|
3396
|
+
"name": "defineChannelRoutes",
|
|
3397
|
+
"kind": "function",
|
|
3398
|
+
"origin": {
|
|
3399
|
+
"via": "package",
|
|
3400
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3401
|
+
},
|
|
3402
|
+
"summary": "Type-safe helper for defining channel message routes that can be composed. Returns the routes record as-is for use with wireChannel's onMessageWiring.",
|
|
3403
|
+
"docs": "Type-safe helper for defining channel message routes that can be composed.\nReturns the routes record as-is for use with wireChannel's onMessageWiring."
|
|
3404
|
+
},
|
|
3405
|
+
{
|
|
3406
|
+
"name": "pikkuChannelConnectionFunc",
|
|
3407
|
+
"kind": "function",
|
|
3408
|
+
"origin": {
|
|
3409
|
+
"via": "package",
|
|
3410
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3411
|
+
},
|
|
3412
|
+
"summary": "Creates a function that handles WebSocket channel connections. Called when a client connects to a channel.",
|
|
3413
|
+
"docs": "Creates a function that handles WebSocket channel connections.\nCalled when a client connects to a channel."
|
|
3414
|
+
},
|
|
3415
|
+
{
|
|
3416
|
+
"name": "pikkuChannelDisconnectionFunc",
|
|
3417
|
+
"kind": "function",
|
|
3418
|
+
"origin": {
|
|
3419
|
+
"via": "package",
|
|
3420
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3421
|
+
},
|
|
3422
|
+
"summary": "Creates a function that handles WebSocket channel disconnections. Called when a client disconnects from a channel.",
|
|
3423
|
+
"docs": "Creates a function that handles WebSocket channel disconnections.\nCalled when a client disconnects from a channel."
|
|
3424
|
+
},
|
|
3425
|
+
{
|
|
3426
|
+
"name": "pikkuChannelFunc",
|
|
3427
|
+
"kind": "function",
|
|
3428
|
+
"origin": {
|
|
3429
|
+
"via": "package",
|
|
3430
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3431
|
+
},
|
|
3432
|
+
"summary": "Creates a function that handles WebSocket channel messages. Called when a message is received on a channel.",
|
|
3433
|
+
"docs": "Creates a function that handles WebSocket channel messages.\nCalled when a message is received on a channel.\n\nSupports two patterns:\n1. Generic types: `pikkuChannelFunc<Input, Output>({ func: ... })`\n2. Zod schemas: `pikkuChannelFunc({ input: z.object(...), func: ... })`"
|
|
3434
|
+
}
|
|
3435
|
+
]
|
|
3436
|
+
},
|
|
3437
|
+
{
|
|
3438
|
+
"specifier": "#pikku/addon/http",
|
|
3439
|
+
"name": "http",
|
|
3440
|
+
"step": "wire it up",
|
|
3441
|
+
"summary": "Wires a function to an HTTP route, with the path parameters checked against the function input.",
|
|
3442
|
+
"symbols": [
|
|
3443
|
+
{
|
|
3444
|
+
"name": "defineHTTPRoutes",
|
|
3445
|
+
"kind": "function",
|
|
3446
|
+
"origin": {
|
|
3447
|
+
"via": "generated"
|
|
3448
|
+
},
|
|
3449
|
+
"summary": "Type-safe helper for defining route contracts that can be composed.",
|
|
3450
|
+
"docs": "Type-safe helper for defining route contracts that can be composed."
|
|
3451
|
+
}
|
|
3452
|
+
]
|
|
3453
|
+
},
|
|
3454
|
+
{
|
|
3455
|
+
"specifier": "#pikku/addon/http",
|
|
3456
|
+
"name": "http",
|
|
3457
|
+
"step": "wire it up",
|
|
3458
|
+
"summary": "Wires a function to an HTTP route, with the path parameters checked against the function input.",
|
|
3459
|
+
"symbols": [
|
|
3460
|
+
{
|
|
3461
|
+
"name": "defineHTTPRoutes",
|
|
3462
|
+
"kind": "function",
|
|
3463
|
+
"origin": {
|
|
3464
|
+
"via": "package",
|
|
3465
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3466
|
+
},
|
|
3467
|
+
"summary": "Type-safe helper for defining route contracts that can be composed.",
|
|
3468
|
+
"docs": "Type-safe helper for defining route contracts that can be composed."
|
|
3469
|
+
}
|
|
3470
|
+
]
|
|
3471
|
+
},
|
|
3472
|
+
{
|
|
3473
|
+
"specifier": "#pikku/addon/mcp",
|
|
3474
|
+
"name": "mcp",
|
|
3475
|
+
"step": "wire it up",
|
|
3476
|
+
"summary": "Wires a function as an MCP tool, resource or prompt for a model to call.",
|
|
3477
|
+
"symbols": [
|
|
3478
|
+
{
|
|
3479
|
+
"name": "pikkuMCPPromptFunc",
|
|
3480
|
+
"kind": "function",
|
|
3481
|
+
"origin": {
|
|
3482
|
+
"via": "generated"
|
|
3483
|
+
},
|
|
3484
|
+
"summary": "Creates a function for handling MCP prompt requests. These functions generate prompt templates for AI models.",
|
|
3485
|
+
"docs": "Creates a function for handling MCP prompt requests.\nThese functions generate prompt templates for AI models.\n\nSupports two patterns:\n1. Generic types: `pikkuMCPPromptFunc<Input>({ func: ... })`\n2. Zod schemas: `pikkuMCPPromptFunc({ input: z.object(...), func: ... })`"
|
|
3486
|
+
},
|
|
3487
|
+
{
|
|
3488
|
+
"name": "pikkuMCPResourceFunc",
|
|
3489
|
+
"kind": "function",
|
|
3490
|
+
"origin": {
|
|
3491
|
+
"via": "generated"
|
|
3492
|
+
},
|
|
3493
|
+
"summary": "Creates a function for handling MCP resource requests. These functions provide data that AI models can access.",
|
|
3494
|
+
"docs": "Creates a function for handling MCP resource requests.\nThese functions provide data that AI models can access.\n\nSupports two patterns:\n1. Generic types: `pikkuMCPResourceFunc<Input>({ func: ... })`\n2. Zod schemas: `pikkuMCPResourceFunc({ input: z.object(...), func: ... })`"
|
|
3495
|
+
},
|
|
3496
|
+
{
|
|
3497
|
+
"name": "pikkuMCPToolFunc",
|
|
3498
|
+
"kind": "function",
|
|
3499
|
+
"origin": {
|
|
3500
|
+
"via": "generated"
|
|
3501
|
+
},
|
|
3502
|
+
"summary": "Creates a function for handling MCP tool invocations. These functions perform actions that AI models can request.",
|
|
3503
|
+
"docs": "Creates a function for handling MCP tool invocations.\nThese functions perform actions that AI models can request.\n\nSupports two patterns:\n1. Generic types: `pikkuMCPToolFunc<Input>({ func: ... })`\n2. Zod schemas: `pikkuMCPToolFunc({ input: z.object(...), func: ... })`"
|
|
3504
|
+
}
|
|
3505
|
+
]
|
|
3506
|
+
},
|
|
3507
|
+
{
|
|
3508
|
+
"specifier": "#pikku/addon/mcp",
|
|
3509
|
+
"name": "mcp",
|
|
3510
|
+
"step": "wire it up",
|
|
3511
|
+
"summary": "Wires a function as an MCP tool, resource or prompt for a model to call.",
|
|
3512
|
+
"symbols": [
|
|
3513
|
+
{
|
|
3514
|
+
"name": "pikkuMCPPromptFunc",
|
|
3515
|
+
"kind": "function",
|
|
3516
|
+
"origin": {
|
|
3517
|
+
"via": "package",
|
|
3518
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3519
|
+
},
|
|
3520
|
+
"summary": "Creates a function for handling MCP prompt requests. These functions generate prompt templates for AI models.",
|
|
3521
|
+
"docs": "Creates a function for handling MCP prompt requests.\nThese functions generate prompt templates for AI models.\n\nSupports two patterns:\n1. Generic types: `pikkuMCPPromptFunc<Input>({ func: ... })`\n2. Zod schemas: `pikkuMCPPromptFunc({ input: z.object(...), func: ... })`"
|
|
3522
|
+
},
|
|
3523
|
+
{
|
|
3524
|
+
"name": "pikkuMCPResourceFunc",
|
|
3525
|
+
"kind": "function",
|
|
3526
|
+
"origin": {
|
|
3527
|
+
"via": "package",
|
|
3528
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3529
|
+
},
|
|
3530
|
+
"summary": "Creates a function for handling MCP resource requests. These functions provide data that AI models can access.",
|
|
3531
|
+
"docs": "Creates a function for handling MCP resource requests.\nThese functions provide data that AI models can access.\n\nSupports two patterns:\n1. Generic types: `pikkuMCPResourceFunc<Input>({ func: ... })`\n2. Zod schemas: `pikkuMCPResourceFunc({ input: z.object(...), func: ... })`"
|
|
3532
|
+
},
|
|
3533
|
+
{
|
|
3534
|
+
"name": "pikkuMCPToolFunc",
|
|
3535
|
+
"kind": "function",
|
|
3536
|
+
"origin": {
|
|
3537
|
+
"via": "package",
|
|
3538
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3539
|
+
},
|
|
3540
|
+
"summary": "Creates a function for handling MCP tool invocations. These functions perform actions that AI models can request.",
|
|
3541
|
+
"docs": "Creates a function for handling MCP tool invocations.\nThese functions perform actions that AI models can request.\n\nSupports two patterns:\n1. Generic types: `pikkuMCPToolFunc<Input>({ func: ... })`\n2. Zod schemas: `pikkuMCPToolFunc({ input: z.object(...), func: ... })`"
|
|
3542
|
+
}
|
|
3543
|
+
]
|
|
3544
|
+
},
|
|
3545
|
+
{
|
|
3546
|
+
"specifier": "#pikku/addon/trigger",
|
|
3547
|
+
"name": "trigger",
|
|
3548
|
+
"step": "wire it up",
|
|
3549
|
+
"summary": "Wires a function to an event a source emits, rather than to a caller that asks for it.",
|
|
3550
|
+
"symbols": [
|
|
3551
|
+
{
|
|
3552
|
+
"name": "pikkuTriggerFunc",
|
|
3553
|
+
"kind": "function",
|
|
3554
|
+
"origin": {
|
|
3555
|
+
"via": "generated"
|
|
3556
|
+
},
|
|
3557
|
+
"summary": "Creates a trigger function configuration. Use this to define trigger functions that set up subscriptions.",
|
|
3558
|
+
"docs": "Creates a trigger function configuration.\nUse this to define trigger functions that set up subscriptions."
|
|
3559
|
+
}
|
|
3560
|
+
]
|
|
3561
|
+
},
|
|
3562
|
+
{
|
|
3563
|
+
"specifier": "#pikku/addon/trigger",
|
|
3564
|
+
"name": "trigger",
|
|
3565
|
+
"step": "wire it up",
|
|
3566
|
+
"summary": "Wires a function to an event a source emits, rather than to a caller that asks for it.",
|
|
3567
|
+
"symbols": [
|
|
3568
|
+
{
|
|
3569
|
+
"name": "pikkuTriggerFunc",
|
|
3570
|
+
"kind": "function",
|
|
3571
|
+
"origin": {
|
|
3572
|
+
"via": "package",
|
|
3573
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3574
|
+
},
|
|
3575
|
+
"summary": "Creates a trigger function configuration. Use this to define trigger functions that set up subscriptions.",
|
|
3576
|
+
"docs": "Creates a trigger function configuration.\nUse this to define trigger functions that set up subscriptions."
|
|
3577
|
+
}
|
|
3578
|
+
]
|
|
3579
|
+
},
|
|
3580
|
+
{
|
|
3581
|
+
"specifier": "#pikku/addon/auth",
|
|
3582
|
+
"name": "auth",
|
|
3583
|
+
"step": "guard it",
|
|
3584
|
+
"summary": "Who may call a function, and what the call is made with: permissions that see the request, auth gates that run before it, and the credentials a function borrows rather than holds.",
|
|
3585
|
+
"symbols": [
|
|
3586
|
+
{
|
|
3587
|
+
"name": "addGlobalPermission",
|
|
3588
|
+
"kind": "function",
|
|
3589
|
+
"origin": {
|
|
3590
|
+
"via": "generated"
|
|
3591
|
+
},
|
|
3592
|
+
"summary": "Wire-agnostic global permissions. Runs at the top of every wiring's permission resolution — before wire-, tag-, and function-level entries.",
|
|
3593
|
+
"docs": "Wire-agnostic global permissions. Runs at the top of every wiring's\npermission resolution — before wire-, tag-, and function-level entries.\n\nResolution order: global -> wire -> tag -> function."
|
|
3594
|
+
},
|
|
3595
|
+
{
|
|
3596
|
+
"name": "defineCredential",
|
|
3597
|
+
"kind": "function",
|
|
3598
|
+
"origin": {
|
|
3599
|
+
"via": "core",
|
|
3600
|
+
"subpath": "./credential"
|
|
3601
|
+
},
|
|
3602
|
+
"summary": "Declares a credential. The body is a no-op that tree-shakes away — the CLI reads the call by AST, so the declaration must be a top-level literal. `type: 'wire'` is per-user, `type: 'singleton'` is platform-wide.",
|
|
3603
|
+
"docs": "Declares a credential. The body is a no-op that tree-shakes away — the CLI\nreads the call by AST, so the declaration must be a top-level literal.\n`type: 'wire'` is per-user, `type: 'singleton'` is platform-wide."
|
|
3604
|
+
},
|
|
3605
|
+
{
|
|
3606
|
+
"name": "pikkuAuth",
|
|
3607
|
+
"kind": "function",
|
|
3608
|
+
"origin": {
|
|
3609
|
+
"via": "generated"
|
|
3610
|
+
},
|
|
3611
|
+
"summary": "Factory function for creating auth-only permissions with tree-shaking support. Auth permissions only receive services and session (no request data), making them evaluable before request data is available.",
|
|
3612
|
+
"docs": "Factory function for creating auth-only permissions with tree-shaking support.\nAuth permissions only receive services and session (no request data),\nmaking them evaluable before request data is available."
|
|
3613
|
+
},
|
|
3614
|
+
{
|
|
3615
|
+
"name": "pikkuPermission",
|
|
3616
|
+
"kind": "function",
|
|
3617
|
+
"origin": {
|
|
3618
|
+
"via": "generated"
|
|
3619
|
+
},
|
|
3620
|
+
"summary": "Factory function for creating permissions with tree-shaking support. Supports both direct function and configuration object syntax.",
|
|
3621
|
+
"docs": "Factory function for creating permissions with tree-shaking support.\nSupports both direct function and configuration object syntax."
|
|
3622
|
+
},
|
|
3623
|
+
{
|
|
3624
|
+
"name": "PikkuPermission",
|
|
3625
|
+
"kind": "type",
|
|
3626
|
+
"origin": {
|
|
3627
|
+
"via": "generated"
|
|
3628
|
+
},
|
|
3629
|
+
"summary": "Type-safe API permission definition that integrates with your application's session type. Use this to define authorization logic for your API endpoints.",
|
|
3630
|
+
"docs": "Type-safe API permission definition that integrates with your application's session type.\nUse this to define authorization logic for your API endpoints."
|
|
3631
|
+
},
|
|
3632
|
+
{
|
|
3633
|
+
"name": "pikkuPermissionFactory",
|
|
3634
|
+
"kind": "function",
|
|
3635
|
+
"origin": {
|
|
3636
|
+
"via": "generated"
|
|
3637
|
+
},
|
|
3638
|
+
"summary": "Factory function for creating permission factories Use this when your permission needs configuration/input parameters",
|
|
3639
|
+
"docs": "Factory function for creating permission factories\nUse this when your permission needs configuration/input parameters"
|
|
3640
|
+
}
|
|
3641
|
+
]
|
|
3642
|
+
},
|
|
3643
|
+
{
|
|
3644
|
+
"specifier": "#pikku/addon/auth",
|
|
3645
|
+
"name": "auth",
|
|
3646
|
+
"step": "guard it",
|
|
3647
|
+
"summary": "Who may call a function, and what the call is made with: permissions that see the request, auth gates that run before it, and the credentials a function borrows rather than holds.",
|
|
3648
|
+
"symbols": [
|
|
3649
|
+
{
|
|
3650
|
+
"name": "addGlobalPermission",
|
|
3651
|
+
"kind": "function",
|
|
3652
|
+
"origin": {
|
|
3653
|
+
"via": "package",
|
|
3654
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3655
|
+
},
|
|
3656
|
+
"summary": "Wire-agnostic global permissions. Runs at the top of every wiring's permission resolution — before wire-, tag-, and function-level entries.",
|
|
3657
|
+
"docs": "Wire-agnostic global permissions. Runs at the top of every wiring's\npermission resolution — before wire-, tag-, and function-level entries.\n\nResolution order: global -> wire -> tag -> function."
|
|
3658
|
+
},
|
|
3659
|
+
{
|
|
3660
|
+
"name": "defineCredential",
|
|
3661
|
+
"kind": "function",
|
|
3662
|
+
"origin": {
|
|
3663
|
+
"via": "core",
|
|
3664
|
+
"subpath": "./credential"
|
|
3665
|
+
},
|
|
3666
|
+
"summary": "Declares a credential. The body is a no-op that tree-shakes away — the CLI reads the call by AST, so the declaration must be a top-level literal. `type: 'wire'` is per-user, `type: 'singleton'` is platform-wide.",
|
|
3667
|
+
"docs": "Declares a credential. The body is a no-op that tree-shakes away — the CLI\nreads the call by AST, so the declaration must be a top-level literal.\n`type: 'wire'` is per-user, `type: 'singleton'` is platform-wide."
|
|
3668
|
+
},
|
|
3669
|
+
{
|
|
3670
|
+
"name": "pikkuAuth",
|
|
3671
|
+
"kind": "function",
|
|
3672
|
+
"origin": {
|
|
3673
|
+
"via": "package",
|
|
3674
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3675
|
+
},
|
|
3676
|
+
"summary": "Factory function for creating auth-only permissions with tree-shaking support. Auth permissions only receive services and session (no request data), making them evaluable before request data is available.",
|
|
3677
|
+
"docs": "Factory function for creating auth-only permissions with tree-shaking support.\nAuth permissions only receive services and session (no request data),\nmaking them evaluable before request data is available."
|
|
3678
|
+
},
|
|
3679
|
+
{
|
|
3680
|
+
"name": "pikkuPermission",
|
|
3681
|
+
"kind": "function",
|
|
3682
|
+
"origin": {
|
|
3683
|
+
"via": "package",
|
|
3684
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3685
|
+
},
|
|
3686
|
+
"summary": "Factory function for creating permissions with tree-shaking support. Supports both direct function and configuration object syntax.",
|
|
3687
|
+
"docs": "Factory function for creating permissions with tree-shaking support.\nSupports both direct function and configuration object syntax."
|
|
3688
|
+
},
|
|
3689
|
+
{
|
|
3690
|
+
"name": "PikkuPermission",
|
|
3691
|
+
"kind": "type",
|
|
3692
|
+
"origin": {
|
|
3693
|
+
"via": "package",
|
|
3694
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3695
|
+
},
|
|
3696
|
+
"summary": "Type-safe API permission definition that integrates with your application's session type. Use this to define authorization logic for your API endpoints.",
|
|
3697
|
+
"docs": "Type-safe API permission definition that integrates with your application's session type.\nUse this to define authorization logic for your API endpoints."
|
|
3698
|
+
},
|
|
3699
|
+
{
|
|
3700
|
+
"name": "pikkuPermissionFactory",
|
|
3701
|
+
"kind": "function",
|
|
3702
|
+
"origin": {
|
|
3703
|
+
"via": "package",
|
|
3704
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3705
|
+
},
|
|
3706
|
+
"summary": "Factory function for creating permission factories Use this when your permission needs configuration/input parameters",
|
|
3707
|
+
"docs": "Factory function for creating permission factories\nUse this when your permission needs configuration/input parameters"
|
|
3708
|
+
}
|
|
3709
|
+
]
|
|
3710
|
+
},
|
|
3711
|
+
{
|
|
3712
|
+
"specifier": "#pikku/addon/scopes",
|
|
3713
|
+
"name": "scopes",
|
|
3714
|
+
"step": "guard it",
|
|
3715
|
+
"summary": "The scopes a caller can hold and the roles that grant them, gating a call outside the permission pool.",
|
|
3716
|
+
"symbols": [
|
|
3717
|
+
{
|
|
3718
|
+
"name": "defineScope",
|
|
3719
|
+
"kind": "function",
|
|
3720
|
+
"origin": {
|
|
3721
|
+
"via": "core",
|
|
3722
|
+
"subpath": "./scope"
|
|
3723
|
+
},
|
|
3724
|
+
"summary": "Declares scopes. The body is a no-op that tree-shakes away — the CLI reads the call by AST and generates a `ScopeId` union, so a function referencing an undeclared scope fails the build.",
|
|
3725
|
+
"docs": "Declares scopes. The body is a no-op that tree-shakes away — the CLI reads\nthe call by AST and generates a `ScopeId` union, so a function referencing an\nundeclared scope fails the build.\n\nScopes are keyed by segment at every level: a scope is named by its key, and\nits value describes it. Every node is grantable — the declaration below\nyields `admin`, `admin:invoices`, `admin:invoices:create`,\n`admin:invoices:void` and `billing`."
|
|
3726
|
+
},
|
|
3727
|
+
{
|
|
3728
|
+
"name": "defineSystemRole",
|
|
3729
|
+
"kind": "function",
|
|
3730
|
+
"origin": {
|
|
3731
|
+
"via": "core",
|
|
3732
|
+
"subpath": "./role"
|
|
3733
|
+
},
|
|
3734
|
+
"summary": "No-op function for declaring system roles. This exists purely for TypeScript type checking and will be tree-shaken. The CLI extracts metadata via AST parsing and generates a `SystemRoleName` union, so a persona naming an undeclared role fails the build.",
|
|
3735
|
+
"docs": "No-op function for declaring system roles.\nThis exists purely for TypeScript type checking and will be tree-shaken.\nThe CLI extracts metadata via AST parsing and generates a `SystemRoleName`\nunion, so a persona naming an undeclared role fails the build.\n\nA system role is a role that ships with the product: the console may grant\nit, but cannot rename, re-scope or delete it. Roles an admin composes in the\nconsole are unaffected and are not declared here.\n\nRemoval is deliberately not destructive. Deleting a declaration leaves the\nrow in the store, marked undeclared and inert, until `pikku roles prune` —\nthe same additive contract `defineScope` has, and for the same reason: a\nmid-deploy revocation is not something a code edit should be able to cause."
|
|
3736
|
+
}
|
|
3737
|
+
]
|
|
3738
|
+
},
|
|
3739
|
+
{
|
|
3740
|
+
"specifier": "#pikku/addon/scopes",
|
|
3741
|
+
"name": "scopes",
|
|
3742
|
+
"step": "guard it",
|
|
3743
|
+
"summary": "The scopes a caller can hold and the roles that grant them, gating a call outside the permission pool.",
|
|
3744
|
+
"symbols": [
|
|
3745
|
+
{
|
|
3746
|
+
"name": "defineScope",
|
|
3747
|
+
"kind": "function",
|
|
3748
|
+
"origin": {
|
|
3749
|
+
"via": "core",
|
|
3750
|
+
"subpath": "./scope"
|
|
3751
|
+
},
|
|
3752
|
+
"summary": "Declares scopes. The body is a no-op that tree-shakes away — the CLI reads the call by AST and generates a `ScopeId` union, so a function referencing an undeclared scope fails the build.",
|
|
3753
|
+
"docs": "Declares scopes. The body is a no-op that tree-shakes away — the CLI reads\nthe call by AST and generates a `ScopeId` union, so a function referencing an\nundeclared scope fails the build.\n\nScopes are keyed by segment at every level: a scope is named by its key, and\nits value describes it. Every node is grantable — the declaration below\nyields `admin`, `admin:invoices`, `admin:invoices:create`,\n`admin:invoices:void` and `billing`."
|
|
3754
|
+
},
|
|
3755
|
+
{
|
|
3756
|
+
"name": "defineSystemRole",
|
|
3757
|
+
"kind": "function",
|
|
3758
|
+
"origin": {
|
|
3759
|
+
"via": "core",
|
|
3760
|
+
"subpath": "./role"
|
|
3761
|
+
},
|
|
3762
|
+
"summary": "No-op function for declaring system roles. This exists purely for TypeScript type checking and will be tree-shaken. The CLI extracts metadata via AST parsing and generates a `SystemRoleName` union, so a persona naming an undeclared role fails the build.",
|
|
3763
|
+
"docs": "No-op function for declaring system roles.\nThis exists purely for TypeScript type checking and will be tree-shaken.\nThe CLI extracts metadata via AST parsing and generates a `SystemRoleName`\nunion, so a persona naming an undeclared role fails the build.\n\nA system role is a role that ships with the product: the console may grant\nit, but cannot rename, re-scope or delete it. Roles an admin composes in the\nconsole are unaffected and are not declared here.\n\nRemoval is deliberately not destructive. Deleting a declaration leaves the\nrow in the store, marked undeclared and inert, until `pikku roles prune` —\nthe same additive contract `defineScope` has, and for the same reason: a\nmid-deploy revocation is not something a code edit should be able to cause."
|
|
3764
|
+
}
|
|
3765
|
+
]
|
|
3766
|
+
},
|
|
3767
|
+
{
|
|
3768
|
+
"specifier": "#pikku/addon/agent",
|
|
3769
|
+
"name": "agent",
|
|
3770
|
+
"step": "orchestrate it",
|
|
3771
|
+
"summary": "Defines an AI agent, the tools it may call and the scorers that judge what it did.",
|
|
3772
|
+
"symbols": [
|
|
3773
|
+
{
|
|
3774
|
+
"name": "agent",
|
|
3775
|
+
"kind": "function",
|
|
3776
|
+
"origin": {
|
|
3777
|
+
"via": "generated"
|
|
3778
|
+
}
|
|
3779
|
+
},
|
|
3780
|
+
{
|
|
3781
|
+
"name": "agentApprove",
|
|
3782
|
+
"kind": "function",
|
|
3783
|
+
"origin": {
|
|
3784
|
+
"via": "generated"
|
|
3785
|
+
}
|
|
3786
|
+
},
|
|
3787
|
+
{
|
|
3788
|
+
"name": "agentResume",
|
|
3789
|
+
"kind": "function",
|
|
3790
|
+
"origin": {
|
|
3791
|
+
"via": "generated"
|
|
3792
|
+
}
|
|
3793
|
+
},
|
|
3794
|
+
{
|
|
3795
|
+
"name": "agentStream",
|
|
3796
|
+
"kind": "function",
|
|
3797
|
+
"origin": {
|
|
3798
|
+
"via": "generated"
|
|
3799
|
+
}
|
|
3800
|
+
},
|
|
3801
|
+
{
|
|
3802
|
+
"name": "pikkuAgent",
|
|
3803
|
+
"kind": "function",
|
|
3804
|
+
"origin": {
|
|
3805
|
+
"via": "generated"
|
|
3806
|
+
}
|
|
3807
|
+
},
|
|
3808
|
+
{
|
|
3809
|
+
"name": "pikkuAgentJudge",
|
|
3810
|
+
"kind": "function",
|
|
3811
|
+
"origin": {
|
|
3812
|
+
"via": "generated"
|
|
3813
|
+
}
|
|
3814
|
+
},
|
|
3815
|
+
{
|
|
3816
|
+
"name": "pikkuAgentScorer",
|
|
3817
|
+
"kind": "function",
|
|
3818
|
+
"origin": {
|
|
3819
|
+
"via": "generated"
|
|
3820
|
+
}
|
|
3821
|
+
}
|
|
3822
|
+
]
|
|
3823
|
+
},
|
|
3824
|
+
{
|
|
3825
|
+
"specifier": "#pikku/addon/agent",
|
|
3826
|
+
"name": "agent",
|
|
3827
|
+
"step": "orchestrate it",
|
|
3828
|
+
"summary": "Defines an AI agent, the tools it may call and the scorers that judge what it did.",
|
|
3829
|
+
"symbols": [
|
|
3830
|
+
{
|
|
3831
|
+
"name": "agent",
|
|
3832
|
+
"kind": "function",
|
|
3833
|
+
"origin": {
|
|
3834
|
+
"via": "package",
|
|
3835
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3836
|
+
}
|
|
3837
|
+
},
|
|
3838
|
+
{
|
|
3839
|
+
"name": "agentApprove",
|
|
3840
|
+
"kind": "function",
|
|
3841
|
+
"origin": {
|
|
3842
|
+
"via": "package",
|
|
3843
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3844
|
+
}
|
|
3845
|
+
},
|
|
3846
|
+
{
|
|
3847
|
+
"name": "agentResume",
|
|
3848
|
+
"kind": "function",
|
|
3849
|
+
"origin": {
|
|
3850
|
+
"via": "package",
|
|
3851
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3852
|
+
}
|
|
3853
|
+
},
|
|
3854
|
+
{
|
|
3855
|
+
"name": "agentStream",
|
|
3856
|
+
"kind": "function",
|
|
3857
|
+
"origin": {
|
|
3858
|
+
"via": "package",
|
|
3859
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3860
|
+
}
|
|
3861
|
+
},
|
|
3862
|
+
{
|
|
3863
|
+
"name": "pikkuAgent",
|
|
3864
|
+
"kind": "function",
|
|
3865
|
+
"origin": {
|
|
3866
|
+
"via": "package",
|
|
3867
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3868
|
+
}
|
|
3869
|
+
},
|
|
3870
|
+
{
|
|
3871
|
+
"name": "pikkuAgentJudge",
|
|
3872
|
+
"kind": "function",
|
|
3873
|
+
"origin": {
|
|
3874
|
+
"via": "package",
|
|
3875
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3876
|
+
}
|
|
3877
|
+
},
|
|
3878
|
+
{
|
|
3879
|
+
"name": "pikkuAgentScorer",
|
|
3880
|
+
"kind": "function",
|
|
3881
|
+
"origin": {
|
|
3882
|
+
"via": "package",
|
|
3883
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3884
|
+
}
|
|
3885
|
+
}
|
|
3886
|
+
]
|
|
3887
|
+
},
|
|
3888
|
+
{
|
|
3889
|
+
"specifier": "#pikku/addon/workflow",
|
|
3890
|
+
"name": "workflow",
|
|
3891
|
+
"step": "orchestrate it",
|
|
3892
|
+
"summary": "Composes functions into a durable workflow whose steps survive a restart and retry on their own.",
|
|
3893
|
+
"symbols": [
|
|
3894
|
+
{
|
|
3895
|
+
"name": "PikkuFunctionWorkflow",
|
|
3896
|
+
"kind": "type",
|
|
3897
|
+
"origin": {
|
|
3898
|
+
"via": "generated"
|
|
3899
|
+
}
|
|
3900
|
+
},
|
|
3901
|
+
{
|
|
3902
|
+
"name": "pikkuWorkflowComplexFunc",
|
|
3903
|
+
"kind": "function",
|
|
3904
|
+
"origin": {
|
|
3905
|
+
"via": "generated"
|
|
3906
|
+
}
|
|
3907
|
+
},
|
|
3908
|
+
{
|
|
3909
|
+
"name": "pikkuWorkflowFunc",
|
|
3910
|
+
"kind": "function",
|
|
3911
|
+
"origin": {
|
|
3912
|
+
"via": "generated"
|
|
3913
|
+
}
|
|
3914
|
+
},
|
|
3915
|
+
{
|
|
3916
|
+
"name": "pikkuWorkflowGraph",
|
|
3917
|
+
"kind": "function",
|
|
3918
|
+
"origin": {
|
|
3919
|
+
"via": "generated"
|
|
3920
|
+
}
|
|
3921
|
+
},
|
|
3922
|
+
{
|
|
3923
|
+
"name": "TypedWorkflow",
|
|
3924
|
+
"kind": "interface",
|
|
3925
|
+
"origin": {
|
|
3926
|
+
"via": "generated"
|
|
3927
|
+
}
|
|
3928
|
+
},
|
|
3929
|
+
{
|
|
3930
|
+
"name": "WorkflowCancelledException",
|
|
3931
|
+
"kind": "class",
|
|
3932
|
+
"origin": {
|
|
3933
|
+
"via": "core",
|
|
3934
|
+
"subpath": "./workflow"
|
|
3935
|
+
}
|
|
3936
|
+
}
|
|
3937
|
+
]
|
|
3938
|
+
},
|
|
3939
|
+
{
|
|
3940
|
+
"specifier": "#pikku/addon/workflow",
|
|
3941
|
+
"name": "workflow",
|
|
3942
|
+
"step": "orchestrate it",
|
|
3943
|
+
"summary": "Composes functions into a durable workflow whose steps survive a restart and retry on their own.",
|
|
3944
|
+
"symbols": [
|
|
3945
|
+
{
|
|
3946
|
+
"name": "PikkuFunctionWorkflow",
|
|
3947
|
+
"kind": "type",
|
|
3948
|
+
"origin": {
|
|
3949
|
+
"via": "package",
|
|
3950
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3951
|
+
}
|
|
3952
|
+
},
|
|
3953
|
+
{
|
|
3954
|
+
"name": "pikkuWorkflowComplexFunc",
|
|
3955
|
+
"kind": "function",
|
|
3956
|
+
"origin": {
|
|
3957
|
+
"via": "package",
|
|
3958
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3959
|
+
}
|
|
3960
|
+
},
|
|
3961
|
+
{
|
|
3962
|
+
"name": "pikkuWorkflowFunc",
|
|
3963
|
+
"kind": "function",
|
|
3964
|
+
"origin": {
|
|
3965
|
+
"via": "package",
|
|
3966
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3967
|
+
}
|
|
3968
|
+
},
|
|
3969
|
+
{
|
|
3970
|
+
"name": "pikkuWorkflowGraph",
|
|
3971
|
+
"kind": "function",
|
|
3972
|
+
"origin": {
|
|
3973
|
+
"via": "package",
|
|
3974
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3975
|
+
}
|
|
3976
|
+
},
|
|
3977
|
+
{
|
|
3978
|
+
"name": "TypedWorkflow",
|
|
3979
|
+
"kind": "interface",
|
|
3980
|
+
"origin": {
|
|
3981
|
+
"via": "package",
|
|
3982
|
+
"packageName": "@pikku/templates-function-addon"
|
|
3983
|
+
}
|
|
3984
|
+
},
|
|
3985
|
+
{
|
|
3986
|
+
"name": "WorkflowCancelledException",
|
|
3987
|
+
"kind": "class",
|
|
3988
|
+
"origin": {
|
|
3989
|
+
"via": "core",
|
|
3990
|
+
"subpath": "./workflow"
|
|
3991
|
+
}
|
|
3992
|
+
}
|
|
3993
|
+
]
|
|
3994
|
+
},
|
|
3995
|
+
{
|
|
3996
|
+
"specifier": "#pikku/addon/scenarios",
|
|
3997
|
+
"name": "scenarios",
|
|
3998
|
+
"step": "test it",
|
|
3999
|
+
"summary": "Drives features and scenarios against a real running server, in the vocabulary a user would use.",
|
|
4000
|
+
"symbols": [
|
|
4001
|
+
{
|
|
4002
|
+
"name": "createCookieJar",
|
|
4003
|
+
"kind": "function",
|
|
4004
|
+
"origin": {
|
|
4005
|
+
"via": "core",
|
|
4006
|
+
"subpath": "./workflow"
|
|
4007
|
+
}
|
|
4008
|
+
},
|
|
4009
|
+
{
|
|
4010
|
+
"name": "createScenarioRunner",
|
|
4011
|
+
"kind": "function",
|
|
4012
|
+
"origin": {
|
|
4013
|
+
"via": "core",
|
|
4014
|
+
"subpath": "./workflow"
|
|
4015
|
+
},
|
|
4016
|
+
"summary": "A workflow service with the scenario capability attached — the two lines `pikku scenario run` needs, in one call so no caller has to remember that the capability is installed rather than inherited.",
|
|
4017
|
+
"docs": "A workflow service with the scenario capability attached — the two lines\n`pikku scenario run` needs, in one call so no caller has to remember that the\ncapability is installed rather than inherited.\n\nThe in-memory service is the right engine because a scenario run is a single\nexternal process driving a deployed app over its real transport: there is\nnothing to persist and no second worker to resume it."
|
|
4018
|
+
},
|
|
4019
|
+
{
|
|
4020
|
+
"name": "pikkuAddonScenarioStep",
|
|
4021
|
+
"kind": "function",
|
|
4022
|
+
"origin": {
|
|
4023
|
+
"via": "generated"
|
|
4024
|
+
},
|
|
4025
|
+
"summary": "A step in which a third-party system acts — \"Given Stripe's webhook arrives\", \"When Mailgun bounces it\".",
|
|
4026
|
+
"docs": "A step in which a third-party system acts — \"Given Stripe's webhook arrives\",\n\"When Mailgun bounces it\".\n\n`addon` names the addon that wraps that service, the same name its\n`wireAddon` declares. These steps *are* the mock its consumers currently\nhand-write: shipped by the addon author, maintained with the addon, and the\nsame artifact that appears in the prose.\n\nNote that arranging and asserting are different — \"Stripe's webhook arrives\"\nstubs, \"Then Stripe was charged\" asserts, and only the first is a stub.\n\nLocal-test-only, and never in a virtual user's catalogue: one that could\ninvoke this would forge its own payment success."
|
|
4027
|
+
},
|
|
4028
|
+
{
|
|
4029
|
+
"name": "PikkuBrowserWire",
|
|
4030
|
+
"kind": "interface",
|
|
4031
|
+
"origin": {
|
|
4032
|
+
"via": "core",
|
|
4033
|
+
"subpath": "./workflow"
|
|
4034
|
+
},
|
|
4035
|
+
"summary": "Structural browser handle, present only when the runner provisioned a browser for this step (a `browser` binding on the step config).",
|
|
4036
|
+
"docs": "Structural browser handle, present only when the runner provisioned a\nbrowser for this step (a `browser` binding on the step config).\n\n`@pikku/core` deliberately never imports playwright — it must stay\ndependency-free for edge runtimes. `@pikku/playwright` augments this\ninterface via `declare module`, so `wire.browser.page` is a fully typed\nPlaywright `Page` in a project that installs it."
|
|
4037
|
+
},
|
|
4038
|
+
{
|
|
4039
|
+
"name": "pikkuFeature",
|
|
4040
|
+
"kind": "function",
|
|
4041
|
+
"origin": {
|
|
4042
|
+
"via": "generated"
|
|
4043
|
+
},
|
|
4044
|
+
"summary": "A feature: an ordered group of scenarios, mirroring gherkin's Feature ↔ Scenario structure. Scenarios are referenced by imported identifier, so a renamed or deleted scenario is a compile error rather than a silent skip.",
|
|
4045
|
+
"docs": "A feature: an ordered group of scenarios, mirroring gherkin's Feature ↔\nScenario structure. Scenarios are referenced by imported identifier, so a\nrenamed or deleted scenario is a compile error rather than a silent skip.\n\nA scenario does not have to belong to a feature — a void-input scenario\nstill runs standalone.\n\n```ts\nexport const credentialFeature = pikkuFeature({\n name: 'Credential API',\n tags: ['credential'],\n before: startsMockOAuthServer,\n after: stopsMockOAuthServer,\n scenarios: [\n credentialLazyLoadScenario,\n ...['stripe', 'google'].map((name) => ({\n scenario: credentialRoundTripScenario,\n data: { name },\n })),\n ],\n})\n```"
|
|
4046
|
+
},
|
|
4047
|
+
{
|
|
4048
|
+
"name": "PikkuFeatureEntry",
|
|
4049
|
+
"kind": "type",
|
|
4050
|
+
"origin": {
|
|
4051
|
+
"via": "generated"
|
|
4052
|
+
},
|
|
4053
|
+
"summary": "One entry in a feature's `scenarios` list, validated against itself: a bare scenario, or a scenario paired with the input to run it with. The paired form is gherkin's `Examples:` written as an ordinary loop.",
|
|
4054
|
+
"docs": "One entry in a feature's `scenarios` list, validated against itself: a bare\nscenario, or a scenario paired with the input to run it with. The paired form\nis gherkin's `Examples:` written as an ordinary loop."
|
|
4055
|
+
},
|
|
4056
|
+
{
|
|
4057
|
+
"name": "PikkuFunctionScenario",
|
|
4058
|
+
"kind": "type",
|
|
4059
|
+
"origin": {
|
|
4060
|
+
"via": "generated"
|
|
4061
|
+
},
|
|
4062
|
+
"summary": "`Ctx` types `scenario.context`, defaulting to the body's own output. A hook returns void but shares the scenario's context, so it passes that scenario's output here instead.",
|
|
4063
|
+
"docs": "`Ctx` types `scenario.context`, defaulting to the body's own output. A hook\nreturns void but shares the scenario's context, so it passes that scenario's\noutput here instead."
|
|
4064
|
+
},
|
|
4065
|
+
{
|
|
4066
|
+
"name": "PikkuFunctionScenarioStep",
|
|
4067
|
+
"kind": "type",
|
|
4068
|
+
"origin": {
|
|
4069
|
+
"via": "generated"
|
|
4070
|
+
},
|
|
4071
|
+
"summary": "One surface's implementation of a step.",
|
|
4072
|
+
"docs": "One surface's implementation of a step.\n\nEach binding is typed independently, so a browser binding gets a non-optional\n`wire.browser` and a cli binding a non-optional `wire.cli` without either\nleaking into the other."
|
|
4073
|
+
},
|
|
4074
|
+
{
|
|
4075
|
+
"name": "pikkuPlatformScenarioStep",
|
|
4076
|
+
"kind": "function",
|
|
4077
|
+
"origin": {
|
|
4078
|
+
"via": "generated"
|
|
4079
|
+
},
|
|
4080
|
+
"summary": "A step in which the app acts on itself — \"Given the platform has expired the trial\".",
|
|
4081
|
+
"docs": "A step in which the app acts on itself — \"Given the platform has expired the\ntrial\".\n\nThe grammatical subject of that sentence is not a user of your app; it **is**\nyour app, which is why it is its own declaration rather than a persona with an\nasterisk. A persona is a person.\n\nLocal-test-only, and never in a virtual user's catalogue: a virtual user that\ncould expire its own trial is manufacturing the outcome it exists to discover."
|
|
4082
|
+
},
|
|
4083
|
+
{
|
|
4084
|
+
"name": "pikkuScenario",
|
|
4085
|
+
"kind": "function",
|
|
4086
|
+
"origin": {
|
|
4087
|
+
"via": "generated"
|
|
4088
|
+
},
|
|
4089
|
+
"summary": "A scenario: a complex workflow that drives the app the way users do. Steps run as actors over the REAL transport — `scenario.do(step, rpc, data, { actor: actors.yasser })` — so flows double as e2e tests and staged/production health checks (no state reset; scope what you create).",
|
|
4090
|
+
"docs": "A scenario: a complex workflow that drives the app the way users do.\nSteps run as actors over the REAL transport — `scenario.do(step, rpc,\ndata, { actor: actors.yasser })` — so flows double as e2e tests and\nstaged/production health checks (no state reset; scope what you create)."
|
|
4091
|
+
},
|
|
4092
|
+
{
|
|
4093
|
+
"name": "pikkuScenarioHook",
|
|
4094
|
+
"kind": "function",
|
|
4095
|
+
"origin": {
|
|
4096
|
+
"via": "generated"
|
|
4097
|
+
},
|
|
4098
|
+
"summary": "Declares a scenario hook. Returns the function verbatim — a hook is never registered, so this exists purely to give an inline hook a call site to be contextually typed from, the way every other pikku primitive is.",
|
|
4099
|
+
"docs": "Declares a scenario hook. Returns the function verbatim — a hook is never\nregistered, so this exists purely to give an inline hook a call site to be\ncontextually typed from, the way every other pikku primitive is."
|
|
4100
|
+
},
|
|
4101
|
+
{
|
|
4102
|
+
"name": "PikkuScenarioHook",
|
|
4103
|
+
"kind": "type",
|
|
4104
|
+
"origin": {
|
|
4105
|
+
"via": "generated"
|
|
4106
|
+
},
|
|
4107
|
+
"summary": "A scenario lifecycle hook: the scenario's own `(services, data, wire)` signature with its result discarded. `OutputSchema` types `scenario.context` while the return type stays `void`.",
|
|
4108
|
+
"docs": "A scenario lifecycle hook: the scenario's own `(services, data, wire)`\nsignature with its result discarded. `OutputSchema` types\n`scenario.context` while the return type stays `void`."
|
|
4109
|
+
},
|
|
4110
|
+
{
|
|
4111
|
+
"name": "PikkuScenarioRef",
|
|
4112
|
+
"kind": "type",
|
|
4113
|
+
"origin": {
|
|
4114
|
+
"via": "generated"
|
|
4115
|
+
},
|
|
4116
|
+
"summary": "A scenario as a feature references it. Any `pikkuScenario` export is assignable; `In` is recovered from it so the paired form's `data` is checked against that scenario's own input.",
|
|
4117
|
+
"docs": "A scenario as a feature references it. Any `pikkuScenario` export is\nassignable; `In` is recovered from it so the paired form's `data` is\nchecked against that scenario's own input."
|
|
4118
|
+
},
|
|
4119
|
+
{
|
|
4120
|
+
"name": "pikkuScenarioStep",
|
|
4121
|
+
"kind": "function",
|
|
4122
|
+
"origin": {
|
|
4123
|
+
"via": "generated"
|
|
4124
|
+
},
|
|
4125
|
+
"summary": "A named, reusable scenario step, declaring one implementation per surface an actor can drive it through.",
|
|
4126
|
+
"docs": "A named, reusable scenario step, declaring one implementation per surface an\nactor can drive it through.\n\nThe step's identity is what the actor is trying to do; which surface carries\nit out is a binding. That is what lets one ladder run through a real browser,\nover the websocket, or entirely server-side — and what makes \"how much of this\nflow can a human actually reach\" a number rather than a guess.\n\nSteps are deliberately NOT registered as RPCs: a browser-driving step must\nnever be network-callable."
|
|
4127
|
+
},
|
|
4128
|
+
{
|
|
4129
|
+
"name": "pollUntil",
|
|
4130
|
+
"kind": "function",
|
|
4131
|
+
"origin": {
|
|
4132
|
+
"via": "core",
|
|
4133
|
+
"subpath": "./workflow"
|
|
4134
|
+
}
|
|
4135
|
+
},
|
|
4136
|
+
{
|
|
4137
|
+
"name": "postScenarioJson",
|
|
4138
|
+
"kind": "function",
|
|
4139
|
+
"origin": {
|
|
4140
|
+
"via": "core",
|
|
4141
|
+
"subpath": "./services"
|
|
4142
|
+
},
|
|
4143
|
+
"summary": "POST JSON somewhere and report what came back, without throwing on a 4xx/5xx.",
|
|
4144
|
+
"docs": "POST JSON somewhere and report what came back, without throwing on a 4xx/5xx.\n\nEvery scenario that reaches past a persona was writing this by hand — the same\n`content-type`, the same `JSON.stringify`, the same drain — and the copies had\ndrifted: some returned `res.json()`, which loses the status and throws\noutright when the target answers an empty body or an HTML error page. A\nrefusal is the expected outcome of a permissions scenario, so it has to\nsurvive as data."
|
|
4145
|
+
},
|
|
4146
|
+
{
|
|
4147
|
+
"name": "readScenarioHttpResponse",
|
|
4148
|
+
"kind": "function",
|
|
4149
|
+
"origin": {
|
|
4150
|
+
"via": "core",
|
|
4151
|
+
"subpath": "./services"
|
|
4152
|
+
},
|
|
4153
|
+
"summary": "Drain a response into the shape a step can carry: the parsed body (an empty one counting as no body at all) alongside the text it was parsed from.",
|
|
4154
|
+
"docs": "Drain a response into the shape a step can carry: the parsed body (an empty\none counting as no body at all) alongside the text it was parsed from.\n\n`invokeRaw` returns this, and a step that has to reach past a persona — a\nroute with no RPC, an identity no persona can hold — reaches for this rather\nthan writing the same record by hand."
|
|
4155
|
+
},
|
|
4156
|
+
{
|
|
4157
|
+
"name": "requireScenarioEnv",
|
|
4158
|
+
"kind": "function",
|
|
4159
|
+
"origin": {
|
|
4160
|
+
"via": "core",
|
|
4161
|
+
"subpath": "./workflow"
|
|
4162
|
+
}
|
|
4163
|
+
},
|
|
4164
|
+
{
|
|
4165
|
+
"name": "ScenarioHttpResponse",
|
|
4166
|
+
"kind": "interface",
|
|
4167
|
+
"origin": {
|
|
4168
|
+
"via": "core",
|
|
4169
|
+
"subpath": "./services"
|
|
4170
|
+
},
|
|
4171
|
+
"summary": "What the transport answered, for a step that treats the status as data.",
|
|
4172
|
+
"docs": "What the transport answered, for a step that treats the status as data.\n\nAn HTTP response with its body already drained: the stream can only be read\nonce, and a step's return value crosses into the run record, so the response\nobject itself cannot travel. This is the shape every caller ends up with."
|
|
4173
|
+
},
|
|
4174
|
+
{
|
|
4175
|
+
"name": "ScenarioSurface",
|
|
4176
|
+
"kind": "type",
|
|
4177
|
+
"origin": {
|
|
4178
|
+
"via": "core",
|
|
4179
|
+
"subpath": "./workflow"
|
|
4180
|
+
},
|
|
4181
|
+
"summary": "How an actor drives the system for one step.",
|
|
4182
|
+
"docs": "How an actor drives the system for one step.\n\nA step declares one implementation per surface it supports, and the runner\npicks between them — so the same ladder can run through a real browser, over\nthe websocket, or entirely server-side.\n\n`default` is the floor: it is what every other surface falls back to, so it\ncan never itself fall back."
|
|
4183
|
+
},
|
|
4184
|
+
{
|
|
4185
|
+
"name": "TestIdSelector",
|
|
4186
|
+
"kind": "interface",
|
|
4187
|
+
"origin": {
|
|
4188
|
+
"via": "core",
|
|
4189
|
+
"subpath": "./workflow"
|
|
4190
|
+
},
|
|
4191
|
+
"summary": "How a browser step names an element.",
|
|
4192
|
+
"docs": "How a browser step names an element.\n\nA `data-testid` on its own is rarely enough to name exactly one: `where`\nmatches the element's own data attributes (so a step asserts a status\nwithout reading translated copy back to the app), `prefix` matches a family\nof ids, `containing` picks the match holding a piece of text, and `within`\nscopes the lookup to one row or section.\n\nDeclared here so a step's input type is structural; the driver\n(`@pikku/playwright`) is what resolves it against a real page."
|
|
4193
|
+
},
|
|
4194
|
+
{
|
|
4195
|
+
"name": "TypedPersonas",
|
|
4196
|
+
"kind": "type",
|
|
4197
|
+
"origin": {
|
|
4198
|
+
"via": "generated"
|
|
4199
|
+
}
|
|
4200
|
+
},
|
|
4201
|
+
{
|
|
4202
|
+
"name": "TypedScenario",
|
|
4203
|
+
"kind": "type",
|
|
4204
|
+
"origin": {
|
|
4205
|
+
"via": "generated"
|
|
4206
|
+
},
|
|
4207
|
+
"summary": "`Out` types `scenario.context`.",
|
|
4208
|
+
"docs": "`Out` types `scenario.context`."
|
|
4209
|
+
},
|
|
4210
|
+
{
|
|
4211
|
+
"name": "TypedScenarioSteps",
|
|
4212
|
+
"kind": "interface",
|
|
4213
|
+
"origin": {
|
|
4214
|
+
"via": "generated"
|
|
4215
|
+
},
|
|
4216
|
+
"summary": "The typed half of a scenario wire: `given`/`when`/`then`, narrowed to the names declared by `pikkuScenarioStep` in this project. `given` and `when` differ only in the prose the reporter renders; `then` additionally makes the step's bindings witnesses rather than alternatives.",
|
|
4217
|
+
"docs": "The typed half of a scenario wire: `given`/`when`/`then`, narrowed to the\nnames declared by `pikkuScenarioStep` in this project. `given` and `when`\ndiffer only in the prose the reporter renders; `then` additionally makes the\nstep's bindings witnesses rather than alternatives."
|
|
4218
|
+
}
|
|
4219
|
+
]
|
|
4220
|
+
},
|
|
4221
|
+
{
|
|
4222
|
+
"specifier": "#pikku/addon/scenarios",
|
|
4223
|
+
"name": "scenarios",
|
|
4224
|
+
"step": "test it",
|
|
4225
|
+
"summary": "Drives features and scenarios against a real running server, in the vocabulary a user would use.",
|
|
4226
|
+
"symbols": [
|
|
4227
|
+
{
|
|
4228
|
+
"name": "createCookieJar",
|
|
4229
|
+
"kind": "function",
|
|
4230
|
+
"origin": {
|
|
4231
|
+
"via": "core",
|
|
4232
|
+
"subpath": "./workflow"
|
|
4233
|
+
}
|
|
4234
|
+
},
|
|
4235
|
+
{
|
|
4236
|
+
"name": "createScenarioRunner",
|
|
4237
|
+
"kind": "function",
|
|
4238
|
+
"origin": {
|
|
4239
|
+
"via": "core",
|
|
4240
|
+
"subpath": "./workflow"
|
|
4241
|
+
},
|
|
4242
|
+
"summary": "A workflow service with the scenario capability attached — the two lines `pikku scenario run` needs, in one call so no caller has to remember that the capability is installed rather than inherited.",
|
|
4243
|
+
"docs": "A workflow service with the scenario capability attached — the two lines\n`pikku scenario run` needs, in one call so no caller has to remember that the\ncapability is installed rather than inherited.\n\nThe in-memory service is the right engine because a scenario run is a single\nexternal process driving a deployed app over its real transport: there is\nnothing to persist and no second worker to resume it."
|
|
4244
|
+
},
|
|
4245
|
+
{
|
|
4246
|
+
"name": "pikkuAddonScenarioStep",
|
|
4247
|
+
"kind": "function",
|
|
4248
|
+
"origin": {
|
|
4249
|
+
"via": "package",
|
|
4250
|
+
"packageName": "@pikku/templates-function-addon"
|
|
4251
|
+
},
|
|
4252
|
+
"summary": "A step in which a third-party system acts — \"Given Stripe's webhook arrives\", \"When Mailgun bounces it\".",
|
|
4253
|
+
"docs": "A step in which a third-party system acts — \"Given Stripe's webhook arrives\",\n\"When Mailgun bounces it\".\n\n`addon` names the addon that wraps that service, the same name its\n`wireAddon` declares. These steps *are* the mock its consumers currently\nhand-write: shipped by the addon author, maintained with the addon, and the\nsame artifact that appears in the prose.\n\nNote that arranging and asserting are different — \"Stripe's webhook arrives\"\nstubs, \"Then Stripe was charged\" asserts, and only the first is a stub.\n\nLocal-test-only, and never in a virtual user's catalogue: one that could\ninvoke this would forge its own payment success."
|
|
4254
|
+
},
|
|
4255
|
+
{
|
|
4256
|
+
"name": "PikkuBrowserWire",
|
|
4257
|
+
"kind": "interface",
|
|
4258
|
+
"origin": {
|
|
4259
|
+
"via": "core",
|
|
4260
|
+
"subpath": "./workflow"
|
|
4261
|
+
},
|
|
4262
|
+
"summary": "Structural browser handle, present only when the runner provisioned a browser for this step (a `browser` binding on the step config).",
|
|
4263
|
+
"docs": "Structural browser handle, present only when the runner provisioned a\nbrowser for this step (a `browser` binding on the step config).\n\n`@pikku/core` deliberately never imports playwright — it must stay\ndependency-free for edge runtimes. `@pikku/playwright` augments this\ninterface via `declare module`, so `wire.browser.page` is a fully typed\nPlaywright `Page` in a project that installs it."
|
|
4264
|
+
},
|
|
4265
|
+
{
|
|
4266
|
+
"name": "pikkuFeature",
|
|
4267
|
+
"kind": "function",
|
|
4268
|
+
"origin": {
|
|
4269
|
+
"via": "package",
|
|
4270
|
+
"packageName": "@pikku/templates-function-addon"
|
|
4271
|
+
},
|
|
4272
|
+
"summary": "A feature: an ordered group of scenarios, mirroring gherkin's Feature ↔ Scenario structure. Scenarios are referenced by imported identifier, so a renamed or deleted scenario is a compile error rather than a silent skip.",
|
|
4273
|
+
"docs": "A feature: an ordered group of scenarios, mirroring gherkin's Feature ↔\nScenario structure. Scenarios are referenced by imported identifier, so a\nrenamed or deleted scenario is a compile error rather than a silent skip.\n\nA scenario does not have to belong to a feature — a void-input scenario\nstill runs standalone.\n\n```ts\nexport const credentialFeature = pikkuFeature({\n name: 'Credential API',\n tags: ['credential'],\n before: startsMockOAuthServer,\n after: stopsMockOAuthServer,\n scenarios: [\n credentialLazyLoadScenario,\n ...['stripe', 'google'].map((name) => ({\n scenario: credentialRoundTripScenario,\n data: { name },\n })),\n ],\n})\n```"
|
|
4274
|
+
},
|
|
4275
|
+
{
|
|
4276
|
+
"name": "PikkuFeatureEntry",
|
|
4277
|
+
"kind": "type",
|
|
4278
|
+
"origin": {
|
|
4279
|
+
"via": "package",
|
|
4280
|
+
"packageName": "@pikku/templates-function-addon"
|
|
4281
|
+
},
|
|
4282
|
+
"summary": "One entry in a feature's `scenarios` list, validated against itself: a bare scenario, or a scenario paired with the input to run it with. The paired form is gherkin's `Examples:` written as an ordinary loop.",
|
|
4283
|
+
"docs": "One entry in a feature's `scenarios` list, validated against itself: a bare\nscenario, or a scenario paired with the input to run it with. The paired form\nis gherkin's `Examples:` written as an ordinary loop."
|
|
4284
|
+
},
|
|
4285
|
+
{
|
|
4286
|
+
"name": "PikkuFunctionScenario",
|
|
4287
|
+
"kind": "type",
|
|
4288
|
+
"origin": {
|
|
4289
|
+
"via": "package",
|
|
4290
|
+
"packageName": "@pikku/templates-function-addon"
|
|
4291
|
+
},
|
|
4292
|
+
"summary": "`Ctx` types `scenario.context`, defaulting to the body's own output. A hook returns void but shares the scenario's context, so it passes that scenario's output here instead.",
|
|
4293
|
+
"docs": "`Ctx` types `scenario.context`, defaulting to the body's own output. A hook\nreturns void but shares the scenario's context, so it passes that scenario's\noutput here instead."
|
|
4294
|
+
},
|
|
4295
|
+
{
|
|
4296
|
+
"name": "PikkuFunctionScenarioStep",
|
|
4297
|
+
"kind": "type",
|
|
4298
|
+
"origin": {
|
|
4299
|
+
"via": "package",
|
|
4300
|
+
"packageName": "@pikku/templates-function-addon"
|
|
4301
|
+
},
|
|
4302
|
+
"summary": "One surface's implementation of a step.",
|
|
4303
|
+
"docs": "One surface's implementation of a step.\n\nEach binding is typed independently, so a browser binding gets a non-optional\n`wire.browser` and a cli binding a non-optional `wire.cli` without either\nleaking into the other."
|
|
4304
|
+
},
|
|
4305
|
+
{
|
|
4306
|
+
"name": "pikkuPlatformScenarioStep",
|
|
4307
|
+
"kind": "function",
|
|
4308
|
+
"origin": {
|
|
4309
|
+
"via": "package",
|
|
4310
|
+
"packageName": "@pikku/templates-function-addon"
|
|
4311
|
+
},
|
|
4312
|
+
"summary": "A step in which the app acts on itself — \"Given the platform has expired the trial\".",
|
|
4313
|
+
"docs": "A step in which the app acts on itself — \"Given the platform has expired the\ntrial\".\n\nThe grammatical subject of that sentence is not a user of your app; it **is**\nyour app, which is why it is its own declaration rather than a persona with an\nasterisk. A persona is a person.\n\nLocal-test-only, and never in a virtual user's catalogue: a virtual user that\ncould expire its own trial is manufacturing the outcome it exists to discover."
|
|
4314
|
+
},
|
|
4315
|
+
{
|
|
4316
|
+
"name": "pikkuScenario",
|
|
4317
|
+
"kind": "function",
|
|
4318
|
+
"origin": {
|
|
4319
|
+
"via": "package",
|
|
4320
|
+
"packageName": "@pikku/templates-function-addon"
|
|
4321
|
+
},
|
|
4322
|
+
"summary": "A scenario: a complex workflow that drives the app the way users do. Steps run as actors over the REAL transport — `scenario.do(step, rpc, data, { actor: actors.yasser })` — so flows double as e2e tests and staged/production health checks (no state reset; scope what you create).",
|
|
4323
|
+
"docs": "A scenario: a complex workflow that drives the app the way users do.\nSteps run as actors over the REAL transport — `scenario.do(step, rpc,\ndata, { actor: actors.yasser })` — so flows double as e2e tests and\nstaged/production health checks (no state reset; scope what you create)."
|
|
4324
|
+
},
|
|
4325
|
+
{
|
|
4326
|
+
"name": "pikkuScenarioHook",
|
|
4327
|
+
"kind": "function",
|
|
4328
|
+
"origin": {
|
|
4329
|
+
"via": "package",
|
|
4330
|
+
"packageName": "@pikku/templates-function-addon"
|
|
4331
|
+
},
|
|
4332
|
+
"summary": "Declares a scenario hook. Returns the function verbatim — a hook is never registered, so this exists purely to give an inline hook a call site to be contextually typed from, the way every other pikku primitive is.",
|
|
4333
|
+
"docs": "Declares a scenario hook. Returns the function verbatim — a hook is never\nregistered, so this exists purely to give an inline hook a call site to be\ncontextually typed from, the way every other pikku primitive is."
|
|
4334
|
+
},
|
|
4335
|
+
{
|
|
4336
|
+
"name": "PikkuScenarioHook",
|
|
4337
|
+
"kind": "type",
|
|
4338
|
+
"origin": {
|
|
4339
|
+
"via": "package",
|
|
4340
|
+
"packageName": "@pikku/templates-function-addon"
|
|
4341
|
+
},
|
|
4342
|
+
"summary": "A scenario lifecycle hook: the scenario's own `(services, data, wire)` signature with its result discarded. `OutputSchema` types `scenario.context` while the return type stays `void`.",
|
|
4343
|
+
"docs": "A scenario lifecycle hook: the scenario's own `(services, data, wire)`\nsignature with its result discarded. `OutputSchema` types\n`scenario.context` while the return type stays `void`."
|
|
4344
|
+
},
|
|
4345
|
+
{
|
|
4346
|
+
"name": "PikkuScenarioRef",
|
|
4347
|
+
"kind": "type",
|
|
4348
|
+
"origin": {
|
|
4349
|
+
"via": "package",
|
|
4350
|
+
"packageName": "@pikku/templates-function-addon"
|
|
4351
|
+
},
|
|
4352
|
+
"summary": "A scenario as a feature references it. Any `pikkuScenario` export is assignable; `In` is recovered from it so the paired form's `data` is checked against that scenario's own input.",
|
|
4353
|
+
"docs": "A scenario as a feature references it. Any `pikkuScenario` export is\nassignable; `In` is recovered from it so the paired form's `data` is\nchecked against that scenario's own input."
|
|
4354
|
+
},
|
|
4355
|
+
{
|
|
4356
|
+
"name": "pikkuScenarioStep",
|
|
4357
|
+
"kind": "function",
|
|
4358
|
+
"origin": {
|
|
4359
|
+
"via": "package",
|
|
4360
|
+
"packageName": "@pikku/templates-function-addon"
|
|
4361
|
+
},
|
|
4362
|
+
"summary": "A named, reusable scenario step, declaring one implementation per surface an actor can drive it through.",
|
|
4363
|
+
"docs": "A named, reusable scenario step, declaring one implementation per surface an\nactor can drive it through.\n\nThe step's identity is what the actor is trying to do; which surface carries\nit out is a binding. That is what lets one ladder run through a real browser,\nover the websocket, or entirely server-side — and what makes \"how much of this\nflow can a human actually reach\" a number rather than a guess.\n\nSteps are deliberately NOT registered as RPCs: a browser-driving step must\nnever be network-callable."
|
|
4364
|
+
},
|
|
4365
|
+
{
|
|
4366
|
+
"name": "pollUntil",
|
|
4367
|
+
"kind": "function",
|
|
4368
|
+
"origin": {
|
|
4369
|
+
"via": "core",
|
|
4370
|
+
"subpath": "./workflow"
|
|
4371
|
+
}
|
|
4372
|
+
},
|
|
4373
|
+
{
|
|
4374
|
+
"name": "postScenarioJson",
|
|
4375
|
+
"kind": "function",
|
|
4376
|
+
"origin": {
|
|
4377
|
+
"via": "core",
|
|
4378
|
+
"subpath": "./services"
|
|
4379
|
+
},
|
|
4380
|
+
"summary": "POST JSON somewhere and report what came back, without throwing on a 4xx/5xx.",
|
|
4381
|
+
"docs": "POST JSON somewhere and report what came back, without throwing on a 4xx/5xx.\n\nEvery scenario that reaches past a persona was writing this by hand — the same\n`content-type`, the same `JSON.stringify`, the same drain — and the copies had\ndrifted: some returned `res.json()`, which loses the status and throws\noutright when the target answers an empty body or an HTML error page. A\nrefusal is the expected outcome of a permissions scenario, so it has to\nsurvive as data."
|
|
4382
|
+
},
|
|
4383
|
+
{
|
|
4384
|
+
"name": "readScenarioHttpResponse",
|
|
4385
|
+
"kind": "function",
|
|
4386
|
+
"origin": {
|
|
4387
|
+
"via": "core",
|
|
4388
|
+
"subpath": "./services"
|
|
4389
|
+
},
|
|
4390
|
+
"summary": "Drain a response into the shape a step can carry: the parsed body (an empty one counting as no body at all) alongside the text it was parsed from.",
|
|
4391
|
+
"docs": "Drain a response into the shape a step can carry: the parsed body (an empty\none counting as no body at all) alongside the text it was parsed from.\n\n`invokeRaw` returns this, and a step that has to reach past a persona — a\nroute with no RPC, an identity no persona can hold — reaches for this rather\nthan writing the same record by hand."
|
|
4392
|
+
},
|
|
4393
|
+
{
|
|
4394
|
+
"name": "requireScenarioEnv",
|
|
4395
|
+
"kind": "function",
|
|
4396
|
+
"origin": {
|
|
4397
|
+
"via": "core",
|
|
4398
|
+
"subpath": "./workflow"
|
|
4399
|
+
}
|
|
4400
|
+
},
|
|
4401
|
+
{
|
|
4402
|
+
"name": "ScenarioHttpResponse",
|
|
4403
|
+
"kind": "interface",
|
|
4404
|
+
"origin": {
|
|
4405
|
+
"via": "core",
|
|
4406
|
+
"subpath": "./services"
|
|
4407
|
+
},
|
|
4408
|
+
"summary": "What the transport answered, for a step that treats the status as data.",
|
|
4409
|
+
"docs": "What the transport answered, for a step that treats the status as data.\n\nAn HTTP response with its body already drained: the stream can only be read\nonce, and a step's return value crosses into the run record, so the response\nobject itself cannot travel. This is the shape every caller ends up with."
|
|
4410
|
+
},
|
|
4411
|
+
{
|
|
4412
|
+
"name": "ScenarioSurface",
|
|
4413
|
+
"kind": "type",
|
|
4414
|
+
"origin": {
|
|
4415
|
+
"via": "core",
|
|
4416
|
+
"subpath": "./workflow"
|
|
4417
|
+
},
|
|
4418
|
+
"summary": "How an actor drives the system for one step.",
|
|
4419
|
+
"docs": "How an actor drives the system for one step.\n\nA step declares one implementation per surface it supports, and the runner\npicks between them — so the same ladder can run through a real browser, over\nthe websocket, or entirely server-side.\n\n`default` is the floor: it is what every other surface falls back to, so it\ncan never itself fall back."
|
|
4420
|
+
},
|
|
4421
|
+
{
|
|
4422
|
+
"name": "TestIdSelector",
|
|
4423
|
+
"kind": "interface",
|
|
4424
|
+
"origin": {
|
|
4425
|
+
"via": "core",
|
|
4426
|
+
"subpath": "./workflow"
|
|
4427
|
+
},
|
|
4428
|
+
"summary": "How a browser step names an element.",
|
|
4429
|
+
"docs": "How a browser step names an element.\n\nA `data-testid` on its own is rarely enough to name exactly one: `where`\nmatches the element's own data attributes (so a step asserts a status\nwithout reading translated copy back to the app), `prefix` matches a family\nof ids, `containing` picks the match holding a piece of text, and `within`\nscopes the lookup to one row or section.\n\nDeclared here so a step's input type is structural; the driver\n(`@pikku/playwright`) is what resolves it against a real page."
|
|
4430
|
+
},
|
|
4431
|
+
{
|
|
4432
|
+
"name": "TypedPersonas",
|
|
4433
|
+
"kind": "type",
|
|
4434
|
+
"origin": {
|
|
4435
|
+
"via": "package",
|
|
4436
|
+
"packageName": "@pikku/templates-function-addon"
|
|
4437
|
+
}
|
|
4438
|
+
},
|
|
4439
|
+
{
|
|
4440
|
+
"name": "TypedScenario",
|
|
4441
|
+
"kind": "type",
|
|
4442
|
+
"origin": {
|
|
4443
|
+
"via": "package",
|
|
4444
|
+
"packageName": "@pikku/templates-function-addon"
|
|
4445
|
+
},
|
|
4446
|
+
"summary": "`Out` types `scenario.context`.",
|
|
4447
|
+
"docs": "`Out` types `scenario.context`."
|
|
4448
|
+
},
|
|
4449
|
+
{
|
|
4450
|
+
"name": "TypedScenarioSteps",
|
|
4451
|
+
"kind": "interface",
|
|
4452
|
+
"origin": {
|
|
4453
|
+
"via": "package",
|
|
4454
|
+
"packageName": "@pikku/templates-function-addon"
|
|
4455
|
+
},
|
|
4456
|
+
"summary": "The typed half of a scenario wire: `given`/`when`/`then`, narrowed to the names declared by `pikkuScenarioStep` in this project. `given` and `when` differ only in the prose the reporter renders; `then` additionally makes the step's bindings witnesses rather than alternatives.",
|
|
4457
|
+
"docs": "The typed half of a scenario wire: `given`/`when`/`then`, narrowed to the\nnames declared by `pikkuScenarioStep` in this project. `given` and `when`\ndiffer only in the prose the reporter renders; `then` additionally makes the\nstep's bindings witnesses rather than alternatives."
|
|
4458
|
+
}
|
|
4459
|
+
]
|
|
4460
|
+
}
|
|
4461
|
+
]
|
|
4462
|
+
}
|
|
4463
|
+
]
|
|
4464
|
+
}
|