@pikku/cli 0.11.3 → 0.12.1
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/cli.schema.json +1 -1
- package/console-app/android-chrome-192x192.png +0 -0
- package/console-app/android-chrome-512x512.png +0 -0
- package/console-app/apple-touch-icon.png +0 -0
- package/console-app/assets/index-0Ui5UudO.css +1 -0
- package/console-app/assets/index-DiYPTQU_.js +676 -0
- package/console-app/favicon-16x16.png +0 -0
- package/console-app/favicon-32x32.png +0 -0
- package/console-app/favicon.ico +0 -0
- package/console-app/index.html +34 -0
- package/console-app/pikku-console-logo.png +0 -0
- package/console-app/site.webmanifest +19 -0
- package/console-app/wiring-icons/cron.svg +6 -0
- package/console-app/wiring-icons/function.png +0 -0
- package/console-app/wiring-icons/http.svg +2 -0
- package/console-app/wiring-icons/mcp.svg +1 -0
- package/console-app/wiring-icons/queue.svg +18 -0
- package/console-app/wiring-icons/sse.svg +5 -0
- package/console-app/wiring-icons/websocket.svg +8 -0
- package/dist/.pikku/agent/pikku-agent-types.gen.d.ts +46 -0
- package/dist/.pikku/agent/pikku-agent-types.gen.js +17 -0
- package/dist/.pikku/agent/pikku-agent-wirings-meta.gen.d.ts +1 -0
- package/dist/.pikku/agent/pikku-agent-wirings-meta.gen.js +6 -0
- package/dist/.pikku/agent/pikku-agent-wirings-meta.gen.json +3 -0
- package/dist/.pikku/agent/pikku-agent-wirings.gen.d.ts +4 -0
- package/dist/.pikku/agent/pikku-agent-wirings.gen.js +4 -0
- package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +27 -14
- package/dist/.pikku/channel/pikku-channel-types.gen.js +21 -4
- package/dist/.pikku/channel/pikku-channels-meta.gen.js +2 -2
- package/dist/.pikku/channel/pikku-channels.gen.d.ts +1 -1
- package/dist/.pikku/channel/pikku-channels.gen.js +1 -1
- package/dist/.pikku/cli/pikku-cli-channel.js +72 -3
- package/dist/.pikku/cli/pikku-cli-client.gen.d.ts +1 -1
- package/dist/.pikku/cli/pikku-cli-client.gen.js +1 -1
- package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +9 -1
- package/dist/.pikku/cli/pikku-cli-types.gen.js +12 -2
- package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +2 -2
- package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.json +261 -11
- 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 -5
- package/dist/.pikku/cli/pikku-cli.gen.js +1 -5
- package/dist/.pikku/console/pikku-node-types.gen.d.ts +6 -0
- package/dist/.pikku/console/pikku-node-types.gen.js +1 -0
- package/dist/.pikku/function/pikku-function-types.gen.d.ts +83 -29
- package/dist/.pikku/function/pikku-function-types.gen.js +51 -15
- package/dist/.pikku/function/pikku-functions-meta.gen.js +2 -2
- package/dist/.pikku/function/pikku-functions-meta.gen.json +896 -192
- package/dist/.pikku/function/pikku-functions.gen.d.ts +1 -0
- package/dist/.pikku/function/pikku-functions.gen.js +119 -0
- package/dist/.pikku/http/pikku-http-types.gen.d.ts +55 -19
- package/dist/.pikku/http/pikku-http-types.gen.js +11 -2
- package/dist/.pikku/http/pikku-http-wirings-meta.gen.js +2 -2
- package/dist/.pikku/http/pikku-http-wirings.gen.d.ts +1 -1
- package/dist/.pikku/http/pikku-http-wirings.gen.js +1 -1
- package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +26 -27
- package/dist/.pikku/mcp/pikku-mcp-types.gen.js +2 -12
- package/dist/.pikku/mcp/pikku-mcp-wirings-meta.gen.js +2 -2
- package/dist/.pikku/mcp/pikku-mcp-wirings.gen.d.ts +1 -1
- package/dist/.pikku/mcp/pikku-mcp-wirings.gen.js +2 -2
- package/dist/.pikku/node/pikku-node-types.gen.d.ts +1 -0
- package/dist/.pikku/node/pikku-node-types.gen.js +1 -0
- package/dist/.pikku/pikku-bootstrap.gen.d.ts +5 -4
- package/dist/.pikku/pikku-bootstrap.gen.js +13 -2
- package/dist/.pikku/pikku-services.gen.d.ts +6 -1
- package/dist/.pikku/pikku-services.gen.js +5 -0
- package/dist/.pikku/pikku-types.gen.d.ts +4 -2
- package/dist/.pikku/pikku-types.gen.js +7 -3
- package/dist/.pikku/pikku-websocket.gen.d.ts +1 -1
- package/dist/.pikku/pikku-websocket.gen.js +1 -1
- package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +1 -1
- package/dist/.pikku/queue/pikku-queue-types.gen.js +2 -2
- 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-remote-rpc-workers.gen.d.ts +3 -3
- package/dist/.pikku/rpc/pikku-remote-rpc-workers.gen.js +3 -3
- package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.d.ts +1 -0
- package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +6 -0
- package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.json +70 -0
- package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
- package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +2 -2
- package/dist/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.js +2 -2
- package/dist/.pikku/scheduler/pikku-schedulers-wirings.gen.d.ts +1 -1
- package/dist/.pikku/scheduler/pikku-schedulers-wirings.gen.js +1 -1
- package/dist/.pikku/schemas/register.gen.js +43 -19
- package/dist/.pikku/schemas/schemas/BootstrapInput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/ConsoleCommandInput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/PikkuAIAgentOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/PikkuCLIOutput.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/PikkuChannelsOutput.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/PikkuConsoleFunctionsOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/PikkuFunctionsOutput.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/PikkuHTTPOutput.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/PikkuMCPOutput.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/PikkuMiddlewareOutput.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/PikkuNewAddonInput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/PikkuNewFunctionInput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/PikkuNewMiddlewareInput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/PikkuNewPermissionInput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/PikkuNewWiringInput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/PikkuNodesMetaOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/PikkuPackageOutput.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/PikkuPermissionsOutput.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/PikkuPublicAgentOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/PikkuPublicRPCOutput.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/PikkuQueueOutput.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/PikkuRPCOutput.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/PikkuRemoteRPCOutput.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/PikkuSchedulerOutput.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/PikkuSchemasOutput.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/PikkuTriggerOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/PikkuVersionsInitInput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/PikkuWorkflowOutput.schema.json +1 -1
- package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +5 -0
- package/dist/.pikku/secrets/pikku-secret-types.gen.js +4 -0
- package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +11 -0
- package/dist/.pikku/secrets/pikku-secrets.gen.js +10 -0
- package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +113 -0
- package/dist/.pikku/trigger/pikku-trigger-types.gen.js +33 -0
- package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +5 -0
- package/dist/.pikku/variables/pikku-variable-types.gen.js +4 -0
- package/dist/.pikku/variables/pikku-variables.gen.d.ts +11 -0
- package/dist/.pikku/variables/pikku-variables.gen.js +10 -0
- package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +28 -180
- package/dist/.pikku/workflow/pikku-workflow-types.gen.js +18 -106
- package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +2 -2
- package/dist/.pikku/workflow/pikku-workflow-wirings.gen.d.ts +1 -1
- package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +1 -1
- package/dist/bin/pikku.js +20 -47
- package/dist/src/cli.wiring.js +210 -2
- package/dist/src/functions/commands/all.d.ts +1 -1
- package/dist/src/functions/commands/all.js +83 -180
- package/dist/src/functions/commands/bootstrap.d.ts +1 -1
- package/dist/src/functions/commands/bootstrap.js +13 -22
- package/dist/src/functions/commands/console.d.ts +7 -0
- package/dist/src/functions/commands/console.js +106 -0
- package/dist/src/functions/commands/info.d.ts +9 -0
- package/dist/src/functions/commands/info.js +283 -0
- package/dist/src/functions/commands/new-addon.d.ts +34 -0
- package/dist/src/functions/commands/new-addon.js +636 -0
- package/dist/src/functions/commands/new-function.d.ts +10 -0
- package/dist/src/functions/commands/new-function.js +79 -0
- package/dist/src/functions/commands/new-middleware.d.ts +10 -0
- package/dist/src/functions/commands/new-middleware.js +48 -0
- package/dist/src/functions/commands/new-permission.d.ts +10 -0
- package/dist/src/functions/commands/new-permission.js +45 -0
- package/dist/src/functions/commands/new-wiring.d.ts +10 -0
- package/dist/src/functions/commands/new-wiring.js +102 -0
- package/dist/src/functions/commands/pikku-command-bootstrap.d.ts +4 -0
- package/dist/src/functions/commands/pikku-command-bootstrap.js +38 -0
- package/dist/src/functions/commands/pikku-command-summary.d.ts +1 -0
- package/dist/src/functions/commands/pikku-command-summary.js +55 -0
- package/dist/src/functions/commands/versions-check.d.ts +1 -0
- package/dist/src/functions/commands/versions-check.js +99 -0
- package/dist/src/functions/commands/versions-init.d.ts +7 -0
- package/dist/src/functions/commands/versions-init.js +15 -0
- package/dist/src/functions/commands/versions-update.d.ts +1 -0
- package/dist/src/functions/commands/versions-update.js +20 -0
- package/dist/src/functions/commands/watch.d.ts +1 -1
- package/dist/src/functions/commands/watch.js +4 -5
- package/dist/src/functions/runtimes/fetch/index.d.ts +1 -0
- package/dist/src/functions/{wirings → runtimes}/fetch/index.js +3 -3
- package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.d.ts +1 -1
- package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.js +6 -7
- package/dist/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.d.ts +1 -1
- package/dist/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.js +4 -16
- package/dist/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.js +4 -8
- package/dist/src/functions/runtimes/websocket/pikku-command-websocket-typed.d.ts +1 -0
- package/dist/src/functions/{wirings/channels → runtimes/websocket}/pikku-command-websocket-typed.js +2 -2
- package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent-types.d.ts +1 -0
- package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent-types.js +20 -0
- package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent.d.ts +1 -0
- package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent.js +68 -0
- package/dist/src/functions/wirings/ai-agent/pikku-command-public-agent.d.ts +1 -0
- package/dist/src/functions/wirings/ai-agent/pikku-command-public-agent.js +23 -0
- package/dist/src/functions/wirings/ai-agent/serialize-agent-map.d.ts +4 -0
- package/dist/src/functions/wirings/ai-agent/serialize-agent-map.js +48 -0
- package/dist/src/functions/wirings/ai-agent/serialize-ai-agent-types.d.ts +1 -0
- package/dist/src/functions/wirings/ai-agent/serialize-ai-agent-types.js +76 -0
- package/dist/src/functions/wirings/ai-agent/serialize-public-agent.d.ts +1 -0
- package/dist/src/functions/wirings/ai-agent/serialize-public-agent.js +68 -0
- 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 +3 -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 +2 -2
- 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 +1 -1
- package/dist/src/functions/wirings/channels/serialize-channel-types.js +47 -17
- package/dist/src/functions/wirings/channels/serialize-typed-channel-map.d.ts +5 -4
- package/dist/src/functions/wirings/channels/serialize-typed-channel-map.js +8 -8
- 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 +3 -7
- 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 +1 -1
- 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 +2 -2
- package/dist/src/functions/wirings/cli/serialize-channel-cli.d.ts +1 -1
- package/dist/src/functions/wirings/cli/serialize-channel-cli.js +8 -8
- package/dist/src/functions/wirings/cli/serialize-cli-types.js +14 -1
- package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.d.ts +3 -3
- package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.js +10 -11
- package/dist/src/functions/wirings/console/pikku-command-console-functions.d.ts +1 -0
- package/dist/src/functions/wirings/console/pikku-command-console-functions.js +24 -0
- package/dist/src/functions/wirings/console/pikku-command-node-types.d.ts +1 -0
- package/dist/src/functions/wirings/console/pikku-command-node-types.js +21 -0
- package/dist/src/functions/wirings/console/pikku-command-nodes-meta.d.ts +1 -0
- package/dist/src/functions/wirings/console/pikku-command-nodes-meta.js +79 -0
- package/dist/src/functions/wirings/console/serialize-console-functions.d.ts +1 -0
- package/dist/src/functions/wirings/console/serialize-console-functions.js +90 -0
- package/dist/src/functions/wirings/console/serialize-node-types.d.ts +1 -0
- package/dist/src/functions/wirings/console/serialize-node-types.js +11 -0
- package/dist/src/functions/wirings/functions/pikku-command-addon-types.d.ts +1 -0
- package/dist/src/functions/wirings/functions/pikku-command-addon-types.js +33 -0
- package/dist/src/functions/wirings/functions/pikku-command-function-types-split.d.ts +1 -1
- package/dist/src/functions/wirings/functions/pikku-command-function-types-split.js +2 -2
- package/dist/src/functions/wirings/functions/pikku-command-function-types.d.ts +1 -1
- package/dist/src/functions/wirings/functions/pikku-command-function-types.js +6 -6
- package/dist/src/functions/wirings/functions/pikku-command-functions.d.ts +1 -1
- package/dist/src/functions/wirings/functions/pikku-command-functions.js +9 -15
- package/dist/src/functions/wirings/functions/pikku-command-services.d.ts +1 -1
- package/dist/src/functions/wirings/functions/pikku-command-services.js +1 -1
- package/dist/src/functions/wirings/functions/schemas.d.ts +1 -4
- package/dist/src/functions/wirings/functions/schemas.js +8 -10
- package/dist/src/functions/wirings/functions/serialize-addon-types.d.ts +1 -0
- package/dist/src/functions/wirings/functions/serialize-addon-types.js +78 -0
- package/dist/src/functions/wirings/functions/serialize-function-imports.d.ts +3 -4
- package/dist/src/functions/wirings/functions/serialize-function-imports.js +13 -20
- package/dist/src/functions/wirings/functions/serialize-function-types.d.ts +1 -1
- package/dist/src/functions/wirings/functions/serialize-function-types.js +126 -45
- package/dist/src/functions/wirings/functions/serialize-pikku-types-hub.d.ts +1 -1
- package/dist/src/functions/wirings/functions/serialize-pikku-types-hub.js +5 -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 +4 -4
- 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 +1 -1
- package/dist/src/functions/wirings/http/pikku-command-openapi.d.ts +1 -1
- package/dist/src/functions/wirings/http/pikku-command-openapi.js +11 -9
- 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.js +65 -20
- package/dist/src/functions/wirings/http/serialize-typed-http-map.d.ts +7 -4
- package/dist/src/functions/wirings/http/serialize-typed-http-map.js +33 -46
- 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 +5 -6
- 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 +1 -1
- package/dist/src/functions/wirings/mcp/pikku-command-mcp.d.ts +1 -1
- package/dist/src/functions/wirings/mcp/pikku-command-mcp.js +14 -5
- package/dist/src/functions/wirings/mcp/serialize-mcp-types.js +27 -36
- package/dist/src/functions/wirings/middleware/pikku-command-middleware.d.ts +1 -1
- package/dist/src/functions/wirings/middleware/pikku-command-middleware.js +11 -34
- package/dist/src/functions/wirings/middleware/serialize-middleware-imports.js +19 -24
- package/dist/src/functions/wirings/package/pikku-command-package-types.d.ts +2 -0
- package/dist/src/functions/wirings/package/pikku-command-package-types.js +30 -0
- package/dist/src/functions/wirings/package/pikku-command-package.d.ts +1 -1
- package/dist/src/functions/wirings/package/pikku-command-package.js +8 -8
- package/dist/src/functions/wirings/package/serialize-package-types.d.ts +2 -0
- package/dist/src/functions/wirings/package/serialize-package-types.js +10 -0
- package/dist/src/functions/wirings/package/serialize-package.js +2 -2
- package/dist/src/functions/wirings/permissions/pikku-command-permissions.d.ts +1 -1
- package/dist/src/functions/wirings/permissions/pikku-command-permissions.js +7 -7
- 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 +3 -3
- 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 +2 -2
- 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 +1 -1
- 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 +3 -3
- 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 +6 -3
- package/dist/src/functions/wirings/queue/serialize-queue-map.js +12 -40
- package/dist/src/functions/wirings/queue/serialize-queue-meta.d.ts +1 -1
- package/dist/src/functions/wirings/queue/serialize-queue-meta.js +9 -10
- package/dist/src/functions/wirings/queue/serialize-queue-types.js +1 -1
- 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 +2 -2
- 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 +1 -1
- package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.d.ts +1 -1
- package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.js +2 -2
- package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.d.ts +2 -2
- package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.js +14 -9
- package/dist/src/functions/wirings/rpc/pikku-command-rpc.d.ts +1 -1
- package/dist/src/functions/wirings/rpc/pikku-command-rpc.js +3 -2
- package/dist/src/functions/wirings/rpc/serialize-public-rpc.d.ts +1 -1
- package/dist/src/functions/wirings/rpc/serialize-public-rpc.js +34 -20
- package/dist/src/functions/wirings/rpc/serialize-remote-rpc.js +2 -2
- package/dist/src/functions/wirings/rpc/serialize-rpc-wrapper.js +55 -8
- package/dist/src/functions/wirings/rpc/serialize-typed-rpc-map.d.ts +11 -3
- package/dist/src/functions/wirings/rpc/serialize-typed-rpc-map.js +106 -71
- 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 +1 -1
- 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 +2 -2
- package/dist/src/functions/wirings/scheduler/serialize-scheduler-meta.js +13 -12
- package/dist/src/functions/wirings/scheduler/serialize-scheduler-types.js +1 -1
- package/dist/src/functions/wirings/secrets/pikku-command-secrets.d.ts +1 -0
- package/dist/src/functions/wirings/secrets/pikku-command-secrets.js +31 -0
- package/dist/src/functions/wirings/secrets/serialize-secrets-types.d.ts +9 -0
- package/dist/src/functions/wirings/secrets/serialize-secrets-types.js +64 -0
- package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.d.ts +1 -0
- package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.js +24 -0
- package/dist/src/functions/wirings/triggers/pikku-command-trigger.d.ts +1 -0
- package/dist/src/functions/wirings/triggers/pikku-command-trigger.js +40 -0
- package/dist/src/functions/wirings/triggers/serialize-trigger-meta.d.ts +5 -0
- package/dist/src/functions/wirings/triggers/serialize-trigger-meta.js +35 -0
- package/dist/src/functions/wirings/triggers/serialize-trigger-types.d.ts +4 -0
- package/dist/src/functions/wirings/triggers/serialize-trigger-types.js +163 -0
- package/dist/src/functions/wirings/variables/pikku-command-variables.d.ts +1 -0
- package/dist/src/functions/wirings/variables/pikku-command-variables.js +31 -0
- package/dist/src/functions/wirings/variables/serialize-variables-types.d.ts +9 -0
- package/dist/src/functions/wirings/variables/serialize-variables-types.js +53 -0
- package/dist/src/functions/wirings/workflow/pikku-command-workflow.d.ts +1 -1
- package/dist/src/functions/wirings/workflow/pikku-command-workflow.js +8 -37
- package/dist/src/functions/wirings/workflow/serialize-workflow-map.d.ts +5 -3
- package/dist/src/functions/wirings/workflow/serialize-workflow-map.js +63 -12
- package/dist/src/functions/wirings/workflow/serialize-workflow-meta.js +32 -33
- package/dist/src/functions/wirings/workflow/serialize-workflow-registration.d.ts +1 -1
- package/dist/src/functions/wirings/workflow/serialize-workflow-registration.js +4 -31
- package/dist/src/functions/wirings/workflow/serialize-workflow-types.d.ts +1 -6
- package/dist/src/functions/wirings/workflow/serialize-workflow-types.js +60 -256
- package/dist/src/functions/wirings/workflow/serialize-workflow-workers.js +5 -5
- package/dist/src/services/cli-logger-forwarder.service.d.ts +4 -3
- package/dist/src/services/cli-logger-forwarder.service.js +1 -1
- package/dist/src/services/cli-logger.service.d.ts +3 -2
- package/dist/src/services/cli-logger.service.js +1 -1
- package/dist/src/services.d.ts +5 -4
- package/dist/src/services.js +53 -7
- package/dist/src/utils/check-required-types.d.ts +1 -1
- package/dist/src/utils/command-summary.d.ts +2 -1
- package/dist/src/utils/command-summary.js +2 -1
- package/dist/src/utils/contract-versions.d.ts +6 -0
- package/dist/src/utils/contract-versions.js +25 -0
- package/dist/src/utils/file-import-path.js +20 -6
- package/dist/src/utils/file-writer.d.ts +6 -1
- package/dist/src/utils/file-writer.js +14 -1
- package/dist/src/utils/generate-bootstrap-file.d.ts +2 -2
- package/dist/src/utils/openapi/codegen.d.ts +19 -0
- package/dist/src/utils/openapi/codegen.js +288 -0
- package/dist/src/utils/openapi/naming.d.ts +30 -0
- package/dist/src/utils/openapi/naming.js +167 -0
- package/dist/src/utils/openapi/parse-openapi.d.ts +36 -0
- package/dist/src/utils/openapi/parse-openapi.js +196 -0
- package/dist/src/utils/openapi/zod-codegen.d.ts +53 -0
- package/dist/src/utils/openapi/zod-codegen.js +251 -0
- package/dist/src/utils/pikku-cli-config.d.ts +2 -2
- package/dist/src/utils/pikku-cli-config.js +80 -23
- package/dist/src/utils/pikku-files-and-methods.d.ts +1 -2
- package/dist/src/utils/pikku-files-and-methods.js +15 -60
- package/dist/src/utils/serialize-import-map.d.ts +3 -2
- package/dist/src/utils/serialize-import-map.js +4 -55
- package/dist/src/utils/serialize-meta-ts.d.ts +8 -0
- package/dist/src/utils/serialize-meta-ts.js +12 -0
- package/dist/src/utils/serialize-schemas.d.ts +3 -0
- package/dist/src/utils/serialize-schemas.js +38 -0
- package/dist/src/utils/strip-verbose-meta.d.ts +5 -5
- package/dist/src/utils/strip-verbose-meta.js +15 -15
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +19 -10
- package/.pikku/channel/pikku-channel-types.gen.ts +0 -148
- package/.pikku/channel/pikku-channels-map.gen.d.ts +0 -47
- package/.pikku/channel/pikku-channels-meta.gen.json +0 -1
- package/.pikku/channel/pikku-channels-meta.gen.ts +0 -7
- package/.pikku/channel/pikku-channels.gen.ts +0 -4
- package/.pikku/cli/pikku-cli-channel.ts +0 -92
- package/.pikku/cli/pikku-cli-client.gen.ts +0 -54
- package/.pikku/cli/pikku-cli-types.gen.ts +0 -92
- package/.pikku/cli/pikku-cli-wirings-meta.gen.json +0 -147
- package/.pikku/cli/pikku-cli-wirings-meta.gen.ts +0 -7
- package/.pikku/cli/pikku-cli-wirings.gen.ts +0 -6
- package/.pikku/cli/pikku-cli.gen.ts +0 -41
- package/.pikku/forge/pikku-forge-types.gen.ts +0 -83
- package/.pikku/function/pikku-function-types.gen.ts +0 -572
- package/.pikku/function/pikku-functions-meta-verbose.gen.json +0 -1030
- package/.pikku/function/pikku-functions-meta.gen.json +0 -656
- package/.pikku/function/pikku-functions-meta.gen.ts +0 -6
- package/.pikku/http/pikku-http-types.gen.ts +0 -102
- package/.pikku/http/pikku-http-wirings-map.gen.d.ts +0 -46
- package/.pikku/http/pikku-http-wirings-meta.gen.json +0 -9
- package/.pikku/http/pikku-http-wirings-meta.gen.ts +0 -7
- package/.pikku/http/pikku-http-wirings.gen.ts +0 -4
- package/.pikku/mcp/pikku-mcp-types.gen.ts +0 -192
- package/.pikku/mcp/pikku-mcp-wirings-meta.gen.json +0 -5
- package/.pikku/mcp/pikku-mcp-wirings-meta.gen.ts +0 -9
- package/.pikku/mcp/pikku-mcp-wirings.gen.ts +0 -4
- package/.pikku/mcp/pikku-mcp.gen.json +0 -5
- package/.pikku/pikku-bootstrap.gen.ts +0 -17
- package/.pikku/pikku-services.gen.ts +0 -28
- package/.pikku/pikku-types.gen.ts +0 -30
- package/.pikku/pikku-websocket.gen.ts +0 -90
- package/.pikku/queue/pikku-queue-types.gen.ts +0 -27
- package/.pikku/queue/pikku-queue-workers-wirings-map.gen.d.ts +0 -60
- package/.pikku/queue/pikku-queue-workers-wirings-meta.gen.json +0 -1
- package/.pikku/queue/pikku-queue-workers-wirings-meta.gen.ts +0 -8
- package/.pikku/queue/pikku-queue-workers-wirings.gen.ts +0 -4
- package/.pikku/rpc/pikku-remote-rpc-workers.gen.ts +0 -30
- package/.pikku/rpc/pikku-rpc-wirings-map.gen.d.ts +0 -62
- package/.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts +0 -105
- package/.pikku/scheduler/pikku-scheduler-types.gen.ts +0 -25
- package/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.json +0 -1
- package/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.ts +0 -8
- package/.pikku/scheduler/pikku-schedulers-wirings.gen.ts +0 -4
- package/.pikku/schemas/register.gen.ts +0 -71
- package/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuCLIOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuChannelsOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuForgeNodesOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuFunctionsOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuHTTPOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuMCPOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuMiddlewareOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuPackageOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuPermissionsOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuPublicRPCOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuQueueOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuRPCOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuRemoteRPCOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuSchedulerOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuSchemasOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuWorkflowOutput.schema.json +0 -1
- package/.pikku/services/config.gen.json +0 -104
- package/.pikku/services/getInspectorState.gen.json +0 -10
- package/.pikku/services/jwt.gen.json +0 -13
- package/.pikku/services/logger.gen.json +0 -25
- package/.pikku/services/queueService.gen.json +0 -14
- package/.pikku/services/schedulerService.gen.json +0 -17
- package/.pikku/services/schema.gen.json +0 -14
- package/.pikku/services/secrets.gen.json +0 -13
- package/.pikku/services/variables.gen.json +0 -13
- package/.pikku/services/workflowService.gen.json +0 -31
- package/.pikku/workflow/pikku-workflow-map.gen.d.ts +0 -28
- package/.pikku/workflow/pikku-workflow-types.gen.ts +0 -349
- package/.pikku/workflow/pikku-workflow-wirings-meta.gen.ts +0 -9
- package/.pikku/workflow/pikku-workflow-wirings.gen.ts +0 -3
- package/CHANGELOG.md +0 -957
- package/bin/pikku.ts +0 -88
- package/build.sh +0 -75
- package/dist/.pikku/forge/pikku-forge-types.gen.d.ts +0 -72
- package/dist/.pikku/forge/pikku-forge-types.gen.js +0 -55
- package/dist/.pikku/schemas/schemas/PikkuForgeNodesOutput.schema.json +0 -1
- package/dist/src/functions/wirings/channels/pikku-command-websocket-typed.d.ts +0 -1
- package/dist/src/functions/wirings/fetch/index.d.ts +0 -1
- package/dist/src/functions/wirings/forge/pikku-command-forge-nodes.d.ts +0 -1
- package/dist/src/functions/wirings/forge/pikku-command-forge-nodes.js +0 -90
- package/dist/src/functions/wirings/forge/pikku-command-forge-types.d.ts +0 -1
- package/dist/src/functions/wirings/forge/pikku-command-forge-types.js +0 -26
- package/dist/src/functions/wirings/forge/serialize-forge-types.d.ts +0 -4
- package/dist/src/functions/wirings/forge/serialize-forge-types.js +0 -90
- package/dist/src/functions/wirings/functions/pikku-function-types.d.ts +0 -1
- package/dist/src/functions/wirings/functions/pikku-function-types.js +0 -18
- package/dist/src/functions/wirings/http/openapi-spec-generator.d.ts +0 -81
- package/dist/src/functions/wirings/http/openapi-spec-generator.js +0 -152
- package/dist/src/functions/wirings/mcp/serialize-mcp-json.d.ts +0 -5
- package/dist/src/functions/wirings/mcp/serialize-mcp-json.js +0 -102
- package/dist/src/functions/wirings/middleware/serialize-middleware-groups-meta.d.ts +0 -11
- package/dist/src/functions/wirings/middleware/serialize-middleware-groups-meta.js +0 -36
- package/dist/src/functions/wirings/services/pikku-command-service-metadata.d.ts +0 -1
- package/dist/src/functions/wirings/services/pikku-command-service-metadata.js +0 -22
- package/dist/src/utils/custom-types-generator.d.ts +0 -2
- package/dist/src/utils/custom-types-generator.js +0 -41
- package/dist/src/utils/schema-generator.d.ts +0 -7
- package/dist/src/utils/schema-generator.js +0 -238
- package/pikku.config.json +0 -29
- package/run-tests.sh +0 -53
- package/src/cli.wiring.ts +0 -112
- package/src/functions/commands/all.ts +0 -313
- package/src/functions/commands/bootstrap.ts +0 -35
- package/src/functions/commands/watch.ts +0 -61
- package/src/functions/runtimes/nextjs/pikku-command-nextjs.ts +0 -131
- package/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.ts +0 -282
- package/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.ts +0 -215
- package/src/functions/wirings/channels/pikku-channels.ts +0 -59
- package/src/functions/wirings/channels/pikku-command-channel-types.ts +0 -25
- package/src/functions/wirings/channels/pikku-command-channels-map.ts +0 -26
- package/src/functions/wirings/channels/pikku-command-channels.ts +0 -83
- package/src/functions/wirings/channels/pikku-command-websocket-typed.ts +0 -37
- package/src/functions/wirings/channels/serialize-channel-types.ts +0 -151
- package/src/functions/wirings/channels/serialize-typed-channel-map.ts +0 -173
- package/src/functions/wirings/channels/serialize-websocket-wrapper.ts +0 -89
- package/src/functions/wirings/cli/pikku-command-cli-entry.ts +0 -216
- package/src/functions/wirings/cli/pikku-command-cli-types.ts +0 -48
- package/src/functions/wirings/cli/pikku-command-cli.ts +0 -81
- package/src/functions/wirings/cli/serialize-channel-cli-client.ts +0 -184
- package/src/functions/wirings/cli/serialize-channel-cli.ts +0 -134
- package/src/functions/wirings/cli/serialize-cli-types.ts +0 -101
- package/src/functions/wirings/cli/serialize-local-cli-bootstrap.ts +0 -80
- package/src/functions/wirings/fetch/index.ts +0 -36
- package/src/functions/wirings/forge/pikku-command-forge-nodes.ts +0 -135
- package/src/functions/wirings/forge/pikku-command-forge-types.ts +0 -38
- package/src/functions/wirings/forge/serialize-forge-types.ts +0 -94
- package/src/functions/wirings/functions/pikku-command-function-types-split.ts +0 -61
- package/src/functions/wirings/functions/pikku-command-function-types.ts +0 -50
- package/src/functions/wirings/functions/pikku-command-functions.ts +0 -104
- package/src/functions/wirings/functions/pikku-command-services.ts +0 -140
- package/src/functions/wirings/functions/pikku-function-types.ts +0 -45
- package/src/functions/wirings/functions/schemas.ts +0 -56
- package/src/functions/wirings/functions/serialize-function-imports.ts +0 -80
- package/src/functions/wirings/functions/serialize-function-types.ts +0 -587
- package/src/functions/wirings/functions/serialize-pikku-types-hub.ts +0 -39
- package/src/functions/wirings/http/openapi-spec-generator.ts +0 -265
- package/src/functions/wirings/http/pikku-command-http-map.ts +0 -27
- package/src/functions/wirings/http/pikku-command-http-routes.ts +0 -80
- package/src/functions/wirings/http/pikku-command-http-types.ts +0 -25
- package/src/functions/wirings/http/pikku-command-openapi.ts +0 -64
- package/src/functions/wirings/http/pikku-http-routes.ts +0 -61
- package/src/functions/wirings/http/serialize-fetch-wrapper.ts +0 -67
- package/src/functions/wirings/http/serialize-http-types.ts +0 -105
- package/src/functions/wirings/http/serialize-typed-http-map.ts +0 -178
- package/src/functions/wirings/mcp/pikku-command-mcp-json.ts +0 -33
- package/src/functions/wirings/mcp/pikku-command-mcp-types.ts +0 -25
- package/src/functions/wirings/mcp/pikku-command-mcp.ts +0 -162
- package/src/functions/wirings/mcp/serialize-mcp-json.ts +0 -161
- package/src/functions/wirings/mcp/serialize-mcp-types.ts +0 -195
- package/src/functions/wirings/middleware/pikku-command-middleware.ts +0 -89
- package/src/functions/wirings/middleware/serialize-middleware-groups-meta.ts +0 -40
- package/src/functions/wirings/middleware/serialize-middleware-imports.ts +0 -78
- package/src/functions/wirings/package/pikku-command-package.ts +0 -81
- package/src/functions/wirings/package/serialize-package.ts +0 -69
- package/src/functions/wirings/permissions/pikku-command-permissions.ts +0 -49
- package/src/functions/wirings/permissions/serialize-permissions-imports.test.ts +0 -274
- package/src/functions/wirings/permissions/serialize-permissions-imports.ts +0 -78
- package/src/functions/wirings/queue/pikku-command-queue-map.ts +0 -26
- package/src/functions/wirings/queue/pikku-command-queue-service.ts +0 -37
- package/src/functions/wirings/queue/pikku-command-queue-types.ts +0 -25
- package/src/functions/wirings/queue/pikku-command-queue.ts +0 -86
- package/src/functions/wirings/queue/pikku-queue-map.ts +0 -26
- package/src/functions/wirings/queue/pikku-queue.ts +0 -66
- package/src/functions/wirings/queue/serialize-queue-map.ts +0 -134
- package/src/functions/wirings/queue/serialize-queue-meta.ts +0 -24
- package/src/functions/wirings/queue/serialize-queue-types.ts +0 -30
- package/src/functions/wirings/queue/serialize-queue-wrapper.ts +0 -35
- package/src/functions/wirings/rpc/pikku-command-public-rpc.ts +0 -32
- package/src/functions/wirings/rpc/pikku-command-remote-rpc.ts +0 -35
- package/src/functions/wirings/rpc/pikku-command-rpc-client.ts +0 -35
- package/src/functions/wirings/rpc/pikku-command-rpc-map.ts +0 -51
- package/src/functions/wirings/rpc/pikku-command-rpc.ts +0 -49
- package/src/functions/wirings/rpc/serialize-public-rpc.ts +0 -37
- package/src/functions/wirings/rpc/serialize-remote-rpc.ts +0 -33
- package/src/functions/wirings/rpc/serialize-rpc-wrapper.ts +0 -68
- package/src/functions/wirings/rpc/serialize-typed-rpc-map.ts +0 -194
- package/src/functions/wirings/scheduler/pikku-command-scheduler-types.ts +0 -25
- package/src/functions/wirings/scheduler/pikku-command-scheduler.ts +0 -88
- package/src/functions/wirings/scheduler/serialize-scheduler-meta.ts +0 -37
- package/src/functions/wirings/scheduler/serialize-scheduler-types.ts +0 -28
- package/src/functions/wirings/services/pikku-command-service-metadata.ts +0 -25
- package/src/functions/wirings/workflow/pikku-command-workflow.ts +0 -218
- package/src/functions/wirings/workflow/serialize-workflow-map.ts +0 -121
- package/src/functions/wirings/workflow/serialize-workflow-meta.ts +0 -73
- package/src/functions/wirings/workflow/serialize-workflow-registration.ts +0 -83
- package/src/functions/wirings/workflow/serialize-workflow-types.ts +0 -357
- package/src/functions/wirings/workflow/serialize-workflow-workers.ts +0 -47
- package/src/middleware/log-command-info-and-time.ts +0 -35
- package/src/services/cli-logger-forwarder.service.ts +0 -99
- package/src/services/cli-logger.service.ts +0 -108
- package/src/services.ts +0 -322
- package/src/utils/check-required-types.ts +0 -65
- package/src/utils/command-summary.ts +0 -107
- package/src/utils/custom-types-generator.ts +0 -55
- package/src/utils/file-import-path.test.ts +0 -175
- package/src/utils/file-import-path.ts +0 -53
- package/src/utils/file-imports-serializer.ts +0 -25
- package/src/utils/file-writer.ts +0 -72
- package/src/utils/generate-bootstrap-file.ts +0 -43
- package/src/utils/get-cli-version.ts +0 -28
- package/src/utils/pikku-cli-config.ts +0 -495
- package/src/utils/pikku-files-and-methods.ts +0 -145
- package/src/utils/schema-generator.ts +0 -335
- package/src/utils/serialize-import-map.ts +0 -102
- package/src/utils/strip-verbose-meta.ts +0 -254
- package/tsconfig.json +0 -21
- package/types/application-types.d.ts +0 -27
- package/types/config.d.ts +0 -304
- /package/dist/src/functions/{wirings/channels → runtimes/websocket}/serialize-websocket-wrapper.d.ts +0 -0
- /package/dist/src/functions/{wirings/channels → runtimes/websocket}/serialize-websocket-wrapper.js +0 -0
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js'
|
|
2
|
-
import { checkRequiredTypes } from '../../../utils/check-required-types.js'
|
|
3
|
-
import { getFileImportRelativePath } from '../../../utils/file-import-path.js'
|
|
4
|
-
import { writeFileInDir } from '../../../utils/file-writer.js'
|
|
5
|
-
import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js'
|
|
6
|
-
import { serializeNextJsBackendWrapper as serializeNextBackendWrapper } from './serialize-nextjs-backend-wrapper.js'
|
|
7
|
-
import { serializeNextJsHTTPWrapper as serializeNextHTTPWrapper } from './serialize-nextjs-http-wrapper.js'
|
|
8
|
-
|
|
9
|
-
export const pikkuNext: any = pikkuSessionlessFunc<void, void>({
|
|
10
|
-
func: async ({ logger, config, getInspectorState }) => {
|
|
11
|
-
const {
|
|
12
|
-
nextBackendFile,
|
|
13
|
-
nextHTTPFile,
|
|
14
|
-
httpMapDeclarationFile,
|
|
15
|
-
rpcMapDeclarationFile,
|
|
16
|
-
packageMappings,
|
|
17
|
-
fetchFile,
|
|
18
|
-
} = config
|
|
19
|
-
|
|
20
|
-
// If both files are undefined, clean up any existing files and return
|
|
21
|
-
if (!nextBackendFile && !nextHTTPFile) {
|
|
22
|
-
logger.info({
|
|
23
|
-
message:
|
|
24
|
-
'Skipping generating nextjs wrapper since nextjs outfile is not defined.',
|
|
25
|
-
type: 'skip',
|
|
26
|
-
})
|
|
27
|
-
return
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
const visitState = await getInspectorState()
|
|
31
|
-
|
|
32
|
-
if (nextHTTPFile && !fetchFile) {
|
|
33
|
-
throw new Error(
|
|
34
|
-
'fetchFile is required in pikku config in order for nextJS http wrapper to work'
|
|
35
|
-
)
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
if ((nextBackendFile || nextHTTPFile) && !rpcMapDeclarationFile) {
|
|
39
|
-
throw new Error(
|
|
40
|
-
'rpcMapDeclarationFile is required in pikku config in order for nextJS wrapper to work'
|
|
41
|
-
)
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
if (nextBackendFile) {
|
|
45
|
-
checkRequiredTypes(visitState.filesAndMethodsErrors, {
|
|
46
|
-
config: true,
|
|
47
|
-
singletonServicesFactory: true,
|
|
48
|
-
wireServicesFactory: true,
|
|
49
|
-
})
|
|
50
|
-
|
|
51
|
-
const {
|
|
52
|
-
pikkuConfigFactory,
|
|
53
|
-
singletonServicesFactory,
|
|
54
|
-
wireServicesFactory,
|
|
55
|
-
} = visitState.filesAndMethods
|
|
56
|
-
|
|
57
|
-
if (
|
|
58
|
-
!pikkuConfigFactory ||
|
|
59
|
-
!singletonServicesFactory ||
|
|
60
|
-
!wireServicesFactory
|
|
61
|
-
) {
|
|
62
|
-
throw new Error('Required types not found')
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
const pikkuConfigImport = `import { ${pikkuConfigFactory.variable} as createConfig } from '${getFileImportRelativePath(nextBackendFile, pikkuConfigFactory.file, packageMappings)}'`
|
|
66
|
-
const singletonServicesImport = `import { ${singletonServicesFactory.variable} as createSingletonServices } from '${getFileImportRelativePath(nextBackendFile, singletonServicesFactory.file, packageMappings)}'`
|
|
67
|
-
const wireServicesImport = `import { ${wireServicesFactory.variable} as createWireServices } from '${getFileImportRelativePath(nextBackendFile, wireServicesFactory.file, packageMappings)}'`
|
|
68
|
-
|
|
69
|
-
const bootstrapPath = getFileImportRelativePath(
|
|
70
|
-
nextBackendFile,
|
|
71
|
-
config.bootstrapFile,
|
|
72
|
-
packageMappings
|
|
73
|
-
)
|
|
74
|
-
|
|
75
|
-
const routesMapDeclarationPath = getFileImportRelativePath(
|
|
76
|
-
nextBackendFile,
|
|
77
|
-
httpMapDeclarationFile,
|
|
78
|
-
packageMappings
|
|
79
|
-
)
|
|
80
|
-
|
|
81
|
-
const rpcMapDeclarationPath = getFileImportRelativePath(
|
|
82
|
-
nextBackendFile,
|
|
83
|
-
rpcMapDeclarationFile,
|
|
84
|
-
packageMappings
|
|
85
|
-
)
|
|
86
|
-
|
|
87
|
-
const content = serializeNextBackendWrapper(
|
|
88
|
-
bootstrapPath,
|
|
89
|
-
routesMapDeclarationPath,
|
|
90
|
-
rpcMapDeclarationPath,
|
|
91
|
-
pikkuConfigImport,
|
|
92
|
-
singletonServicesImport,
|
|
93
|
-
wireServicesImport
|
|
94
|
-
)
|
|
95
|
-
await writeFileInDir(logger, nextBackendFile, content)
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
if (nextHTTPFile && fetchFile) {
|
|
99
|
-
const routesMapDeclarationPath = getFileImportRelativePath(
|
|
100
|
-
nextHTTPFile,
|
|
101
|
-
httpMapDeclarationFile,
|
|
102
|
-
packageMappings
|
|
103
|
-
)
|
|
104
|
-
|
|
105
|
-
const rpcMapDeclarationPath = getFileImportRelativePath(
|
|
106
|
-
nextHTTPFile,
|
|
107
|
-
rpcMapDeclarationFile,
|
|
108
|
-
packageMappings
|
|
109
|
-
)
|
|
110
|
-
|
|
111
|
-
const fetchPath = getFileImportRelativePath(
|
|
112
|
-
nextHTTPFile,
|
|
113
|
-
fetchFile,
|
|
114
|
-
packageMappings
|
|
115
|
-
)
|
|
116
|
-
|
|
117
|
-
const content = serializeNextHTTPWrapper(
|
|
118
|
-
routesMapDeclarationPath,
|
|
119
|
-
rpcMapDeclarationPath,
|
|
120
|
-
fetchPath
|
|
121
|
-
)
|
|
122
|
-
await writeFileInDir(logger, nextHTTPFile, content)
|
|
123
|
-
}
|
|
124
|
-
},
|
|
125
|
-
middleware: [
|
|
126
|
-
logCommandInfoAndTime({
|
|
127
|
-
commandStart: 'Generating nextjs wrapper',
|
|
128
|
-
commandEnd: 'Generated nextjs wrapper',
|
|
129
|
-
}),
|
|
130
|
-
],
|
|
131
|
-
})
|
|
@@ -1,282 +0,0 @@
|
|
|
1
|
-
export const serializeNextJsBackendWrapper = (
|
|
2
|
-
bootstrapPath: string,
|
|
3
|
-
routesMapPath: string,
|
|
4
|
-
rpcMapPath: string,
|
|
5
|
-
configImport: string,
|
|
6
|
-
singleServicesFactoryImport: string,
|
|
7
|
-
wireServicesImport: string
|
|
8
|
-
) => {
|
|
9
|
-
return `'server-only'
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* This file provides a wrapper around the PikkuNextJS class to allow for methods to be type checked against your routes.
|
|
13
|
-
* It ensures type safety for route handling methods when integrating with the @pikku/core framework.
|
|
14
|
-
*/
|
|
15
|
-
import { PikkuNextJS } from '@pikku/next'
|
|
16
|
-
import { NextRequest } from 'next/server.js'
|
|
17
|
-
import type { HTTPWiringsMap, HTTPWiringHandlerOf, HTTPWiringsWithMethod } from '${routesMapPath}'
|
|
18
|
-
import type { FlattenedRPCMap } from '${rpcMapPath}'
|
|
19
|
-
|
|
20
|
-
type RouteContext = { params: Promise<Record<string, string | string[]>> }
|
|
21
|
-
|
|
22
|
-
${configImport}
|
|
23
|
-
${singleServicesFactoryImport}
|
|
24
|
-
${wireServicesImport}
|
|
25
|
-
|
|
26
|
-
import '${bootstrapPath}'
|
|
27
|
-
|
|
28
|
-
let _pikku: PikkuNextJS | undefined
|
|
29
|
-
let _removeAPIPrefix = true
|
|
30
|
-
|
|
31
|
-
export const removeAPIPrefix = (enable: boolean) => {
|
|
32
|
-
_removeAPIPrefix = enable
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Initializes and returns an instance of PikkuNextJS with helper methods for handling route requests.
|
|
37
|
-
*
|
|
38
|
-
* @returns An object containing methods for making dynamic and static action requests, as well as session retrieval.
|
|
39
|
-
*/
|
|
40
|
-
export const pikku = (_options?: any) => {
|
|
41
|
-
if (!_pikku) {
|
|
42
|
-
_pikku = new PikkuNextJS(
|
|
43
|
-
createConfig as any,
|
|
44
|
-
createSingletonServices as any,
|
|
45
|
-
createWireServices
|
|
46
|
-
)
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Makes a dynamic action request for a specified route and method.
|
|
51
|
-
* Dynamic requests may access headers and cookies and are therefore unsuitable for precompile stages.
|
|
52
|
-
*
|
|
53
|
-
* @template Route - The route key from the HTTPWiringsMap.
|
|
54
|
-
* @template Method - The method key from the specified route.
|
|
55
|
-
* @param route - The route identifier.
|
|
56
|
-
* @param method - The HTTP method to be used for the request.
|
|
57
|
-
* @param data - The input data for the request, defaults to null.
|
|
58
|
-
* @returns A promise that resolves to the output of the route handler.
|
|
59
|
-
*/
|
|
60
|
-
const dynamicActionRequest = async <
|
|
61
|
-
Route extends keyof HTTPWiringsMap,
|
|
62
|
-
Method extends keyof HTTPWiringsMap[Route]
|
|
63
|
-
>(
|
|
64
|
-
route: Route,
|
|
65
|
-
method: Method,
|
|
66
|
-
data: HTTPWiringHandlerOf<Route, Method>['input'] = null
|
|
67
|
-
): Promise<HTTPWiringHandlerOf<Route, Method>['output']> => {
|
|
68
|
-
return _pikku!.actionRequest(route, method, data as any)
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* Makes a static action request for a specified route and method.
|
|
73
|
-
* Static requests do not depend on headers or cookies and are suitable for precompile stages.
|
|
74
|
-
*
|
|
75
|
-
* @template Route - The route key from the HTTPWiringsMap.
|
|
76
|
-
* @template Method - The method key from the specified route.
|
|
77
|
-
* @param route - The route identifier.
|
|
78
|
-
* @param method - The HTTP method to be used for the request.
|
|
79
|
-
* @param data - The input data for the request, defaults to null.
|
|
80
|
-
* @returns A promise that resolves to the output of the route handler.
|
|
81
|
-
*/
|
|
82
|
-
const staticActionRequest = async <
|
|
83
|
-
Route extends keyof HTTPWiringsMap,
|
|
84
|
-
Method extends keyof HTTPWiringsMap[Route]
|
|
85
|
-
>(
|
|
86
|
-
route: Route,
|
|
87
|
-
method: Method,
|
|
88
|
-
data: HTTPWiringHandlerOf<Route, Method>['input'] = null
|
|
89
|
-
): Promise<HTTPWiringHandlerOf<Route, Method>['output']> => {
|
|
90
|
-
return _pikku!.staticActionRequest(route, method, data as any)
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
/**
|
|
94
|
-
* Makes a dynamic POST request for a specified route.
|
|
95
|
-
*
|
|
96
|
-
* @template Route - The route key with the POST method.
|
|
97
|
-
* @param route - The route identifier.
|
|
98
|
-
* @param data - The input data for the POST request (required if input type is defined).
|
|
99
|
-
* @returns A promise that resolves to the output of the POST handler.
|
|
100
|
-
*/
|
|
101
|
-
const dynamicPost = <Route extends HTTPWiringsWithMethod<'POST'>>(
|
|
102
|
-
route: Route,
|
|
103
|
-
...args: HTTPWiringHandlerOf<Route, 'POST'>['input'] extends null | undefined
|
|
104
|
-
? [data?: HTTPWiringHandlerOf<Route, 'POST'>['input']]
|
|
105
|
-
: [data: NonNullable<HTTPWiringHandlerOf<Route, 'POST'>['input']>]
|
|
106
|
-
): Promise<HTTPWiringHandlerOf<Route, 'POST'>['output']> => {
|
|
107
|
-
return dynamicActionRequest(route, 'POST', args[0] ?? null)
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* Makes a dynamic GET request for a specified route.
|
|
112
|
-
*
|
|
113
|
-
* @template Route - The route key with the GET method.
|
|
114
|
-
* @param route - The route identifier.
|
|
115
|
-
* @param data - The input data for the GET request (required if input type is defined).
|
|
116
|
-
* @returns A promise that resolves to the output of the GET handler.
|
|
117
|
-
*/
|
|
118
|
-
const dynamicGet = <Route extends HTTPWiringsWithMethod<'GET'>>(
|
|
119
|
-
route: Route,
|
|
120
|
-
...args: HTTPWiringHandlerOf<Route, 'GET'>['input'] extends null | undefined
|
|
121
|
-
? [data?: HTTPWiringHandlerOf<Route, 'GET'>['input']]
|
|
122
|
-
: [data: NonNullable<HTTPWiringHandlerOf<Route, 'GET'>['input']>]
|
|
123
|
-
): Promise<HTTPWiringHandlerOf<Route, 'GET'>['output']> => {
|
|
124
|
-
return dynamicActionRequest(route, 'GET', args[0] ?? null)
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
/**
|
|
128
|
-
* Makes a dynamic PATCH request for a specified route.
|
|
129
|
-
*
|
|
130
|
-
* @template Route - The route key with the PATCH method.
|
|
131
|
-
* @param route - The route identifier.
|
|
132
|
-
* @param data - The input data for the PATCH request (required if input type is defined).
|
|
133
|
-
* @returns A promise that resolves to the output of the PATCH handler.
|
|
134
|
-
*/
|
|
135
|
-
const dynamicPatch = <Route extends HTTPWiringsWithMethod<'PATCH'>>(
|
|
136
|
-
route: Route,
|
|
137
|
-
...args: HTTPWiringHandlerOf<Route, 'PATCH'>['input'] extends null | undefined
|
|
138
|
-
? [data?: HTTPWiringHandlerOf<Route, 'PATCH'>['input']]
|
|
139
|
-
: [data: NonNullable<HTTPWiringHandlerOf<Route, 'PATCH'>['input']>]
|
|
140
|
-
): Promise<HTTPWiringHandlerOf<Route, 'PATCH'>['output']> => {
|
|
141
|
-
return dynamicActionRequest(route, 'PATCH', args[0] ?? null)
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
/**
|
|
145
|
-
* Makes a dynamic DELETE request for a specified route.
|
|
146
|
-
*
|
|
147
|
-
* @template Route - The route key with the DELETE method.
|
|
148
|
-
* @param route - The route identifier.
|
|
149
|
-
* @param data - The input data for the DELETE request (required if input type is defined).
|
|
150
|
-
* @returns A promise that resolves to the output of the DELETE handler.
|
|
151
|
-
*/
|
|
152
|
-
const dynamicDel = <Route extends HTTPWiringsWithMethod<'DELETE'>>(
|
|
153
|
-
route: Route,
|
|
154
|
-
...args: HTTPWiringHandlerOf<Route, 'DELETE'>['input'] extends null | undefined
|
|
155
|
-
? [data?: HTTPWiringHandlerOf<Route, 'DELETE'>['input']]
|
|
156
|
-
: [data: NonNullable<HTTPWiringHandlerOf<Route, 'DELETE'>['input']>]
|
|
157
|
-
): Promise<HTTPWiringHandlerOf<Route, 'DELETE'>['output']> => {
|
|
158
|
-
return dynamicActionRequest(route, 'DELETE', args[0] ?? null)
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
// Static Requests
|
|
162
|
-
|
|
163
|
-
/**
|
|
164
|
-
* Makes a static POST request for a specified route.
|
|
165
|
-
*
|
|
166
|
-
* @template Route - The route key with the POST method.
|
|
167
|
-
* @param route - The route identifier.
|
|
168
|
-
* @param data - The input data for the POST request (required if input type is defined).
|
|
169
|
-
* @returns A promise that resolves to the output of the POST handler.
|
|
170
|
-
*/
|
|
171
|
-
const staticPost = <Route extends HTTPWiringsWithMethod<'POST'>>(
|
|
172
|
-
route: Route,
|
|
173
|
-
...args: HTTPWiringHandlerOf<Route, 'POST'>['input'] extends null | undefined
|
|
174
|
-
? [data?: HTTPWiringHandlerOf<Route, 'POST'>['input']]
|
|
175
|
-
: [data: NonNullable<HTTPWiringHandlerOf<Route, 'POST'>['input']>]
|
|
176
|
-
): Promise<HTTPWiringHandlerOf<Route, 'POST'>['output']> => {
|
|
177
|
-
return staticActionRequest(route, 'POST', args[0] ?? null)
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
/**
|
|
181
|
-
* Makes a static GET request for a specified route.
|
|
182
|
-
*
|
|
183
|
-
* @template Route - The route key with the GET method.
|
|
184
|
-
* @param route - The route identifier.
|
|
185
|
-
* @param data - The input data for the GET request (required if input type is defined).
|
|
186
|
-
* @returns A promise that resolves to the output of the GET handler.
|
|
187
|
-
*/
|
|
188
|
-
const staticGet = <Route extends HTTPWiringsWithMethod<'GET'>>(
|
|
189
|
-
route: Route,
|
|
190
|
-
...args: HTTPWiringHandlerOf<Route, 'GET'>['input'] extends null | undefined
|
|
191
|
-
? [data?: HTTPWiringHandlerOf<Route, 'GET'>['input']]
|
|
192
|
-
: [data: NonNullable<HTTPWiringHandlerOf<Route, 'GET'>['input']>]
|
|
193
|
-
): Promise<HTTPWiringHandlerOf<Route, 'GET'>['output']> => {
|
|
194
|
-
return staticActionRequest(route, 'GET', args[0] ?? null)
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
// RPC Requests
|
|
198
|
-
|
|
199
|
-
/**
|
|
200
|
-
* Makes a dynamic RPC request.
|
|
201
|
-
*
|
|
202
|
-
* @template Name - The RPC function name from the FlattenedRPCMap.
|
|
203
|
-
* @param name - The RPC function identifier.
|
|
204
|
-
* @param data - The input data for the RPC request (required if input type is defined).
|
|
205
|
-
* @returns A promise that resolves to the output of the RPC handler.
|
|
206
|
-
*/
|
|
207
|
-
const rpc = async <Name extends keyof FlattenedRPCMap>(
|
|
208
|
-
rpcName: Name,
|
|
209
|
-
...args: FlattenedRPCMap[Name]['input'] extends null | undefined
|
|
210
|
-
? [data?: FlattenedRPCMap[Name]['input']]
|
|
211
|
-
: [data: NonNullable<FlattenedRPCMap[Name]['input']>]
|
|
212
|
-
): Promise<FlattenedRPCMap[Name]['output']> => {
|
|
213
|
-
return dynamicActionRequest('/rpc/:rpcName' as '/rpc/:rpcName', 'POST', { rpcName, data: args[0] ?? null }) as unknown as FlattenedRPCMap[Name]['output']
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
/**
|
|
217
|
-
* Makes a static RPC request.
|
|
218
|
-
* Note: In HTTP wrapper context, both rpc and staticRPC behave the same way.
|
|
219
|
-
*
|
|
220
|
-
* @template Name - The RPC function name from the FlattenedRPCMap.
|
|
221
|
-
* @param name - The RPC function identifier.
|
|
222
|
-
* @param data - The input data for the RPC request (required if input type is defined).
|
|
223
|
-
* @returns A promise that resolves to the output of the RPC handler.
|
|
224
|
-
*/
|
|
225
|
-
const staticRPC = async <Name extends keyof FlattenedRPCMap>(
|
|
226
|
-
rpcName: Name,
|
|
227
|
-
...args: FlattenedRPCMap[Name]['input'] extends null | undefined
|
|
228
|
-
? [data?: FlattenedRPCMap[Name]['input']]
|
|
229
|
-
: [data: NonNullable<FlattenedRPCMap[Name]['input']>]
|
|
230
|
-
): Promise<FlattenedRPCMap[Name]['output']> => {
|
|
231
|
-
return staticActionRequest('/rpc/:rpcName' as '/rpc/:rpcName', 'POST', { rpcName, data: args[0] ?? null }) as unknown as FlattenedRPCMap[Name]['output']
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
return {
|
|
235
|
-
rpc,
|
|
236
|
-
get: dynamicGet,
|
|
237
|
-
post: dynamicPost,
|
|
238
|
-
patch: dynamicPatch,
|
|
239
|
-
del: dynamicDel,
|
|
240
|
-
staticGet,
|
|
241
|
-
staticPost,
|
|
242
|
-
staticRPC,
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
/**
|
|
247
|
-
* Pre-bound API request handler for Next.js App Router route handlers.
|
|
248
|
-
* Use this to directly export route handlers without losing context.
|
|
249
|
-
*
|
|
250
|
-
* @param req - The Next.js request object.
|
|
251
|
-
* @param context - Next.js route context (unused by Pikku, but required by Next.js signature).
|
|
252
|
-
* @returns A promise that resolves to a Next.js Response object.
|
|
253
|
-
*
|
|
254
|
-
* @example
|
|
255
|
-
* export const GET = pikkuAPIRequest
|
|
256
|
-
* export const POST = pikkuAPIRequest
|
|
257
|
-
*/
|
|
258
|
-
export const pikkuAPIRequest = (
|
|
259
|
-
req: NextRequest,
|
|
260
|
-
context: RouteContext
|
|
261
|
-
): Promise<Response> => {
|
|
262
|
-
if (!_pikku) {
|
|
263
|
-
_pikku = new PikkuNextJS(
|
|
264
|
-
createConfig as any,
|
|
265
|
-
createSingletonServices as any,
|
|
266
|
-
createWireServices
|
|
267
|
-
)
|
|
268
|
-
}
|
|
269
|
-
if (_removeAPIPrefix) {
|
|
270
|
-
const url = new URL(req.url)
|
|
271
|
-
url.pathname = url.pathname.replace(/^\\/api/, '') || '/'
|
|
272
|
-
req = new NextRequest(url.toString(), {
|
|
273
|
-
method: req.method,
|
|
274
|
-
headers: req.headers,
|
|
275
|
-
body: req.body,
|
|
276
|
-
duplex: 'half',
|
|
277
|
-
} as any)
|
|
278
|
-
}
|
|
279
|
-
return _pikku.apiRequest(req)
|
|
280
|
-
}
|
|
281
|
-
`
|
|
282
|
-
}
|
|
@@ -1,215 +0,0 @@
|
|
|
1
|
-
export const serializeNextJsHTTPWrapper = (
|
|
2
|
-
routesMapPath: string,
|
|
3
|
-
rpcMapPath: string,
|
|
4
|
-
pikkuFetchImport: string
|
|
5
|
-
) => {
|
|
6
|
-
return `'server-only'
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* This file provides a wrapper around the PikkuNextJS class to allow for methods to be type checked against your routes.
|
|
10
|
-
* It ensures type safety for route handling methods when integrating with the @pikku/core framework.
|
|
11
|
-
*/
|
|
12
|
-
import { CorePikkuFetchOptions } from '@pikku/fetch'
|
|
13
|
-
import type { HTTPWiringsMap, HTTPWiringHandlerOf, HTTPWiringsWithMethod } from '${routesMapPath}'
|
|
14
|
-
import type { FlattenedRPCMap } from '${rpcMapPath}'
|
|
15
|
-
import { PikkuFetch } from '${pikkuFetchImport}'
|
|
16
|
-
|
|
17
|
-
let _pikku: PikkuFetch | undefined
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Initializes and returns an instance of PikkuNextJS with helper methods for handling route requests.
|
|
21
|
-
*
|
|
22
|
-
* @returns An object containing methods for making dynamic and static action requests, as well as session retrieval.
|
|
23
|
-
*/
|
|
24
|
-
export const pikku = (options?: CorePikkuFetchOptions) => {
|
|
25
|
-
if (!_pikku) {
|
|
26
|
-
_pikku = new PikkuFetch(options)
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
const dynamicActionRequest = async <
|
|
30
|
-
Route extends keyof HTTPWiringsMap,
|
|
31
|
-
Method extends keyof HTTPWiringsMap[Route]
|
|
32
|
-
>(
|
|
33
|
-
route: Route,
|
|
34
|
-
method: Method,
|
|
35
|
-
data: HTTPWiringHandlerOf<Route, Method>['input'] = null
|
|
36
|
-
): Promise<HTTPWiringHandlerOf<Route, Method>['output']> => {
|
|
37
|
-
return (_pikku! as any)[(method as string).toLowerCase()](route, data as any)
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Makes a static action request for a specified route and method.
|
|
42
|
-
* Static requests do not depend on headers or cookies and are suitable for precompile stages.
|
|
43
|
-
*
|
|
44
|
-
* @template Route - The route key from the HTTPWiringsMap.
|
|
45
|
-
* @template Method - The method key from the specified route.
|
|
46
|
-
* @param route - The route identifier.
|
|
47
|
-
* @param method - The HTTP method to be used for the request.
|
|
48
|
-
* @param data - The input data for the request, defaults to null.
|
|
49
|
-
* @returns A promise that resolves to the output of the route handler.
|
|
50
|
-
*/
|
|
51
|
-
const staticActionRequest = async <
|
|
52
|
-
Route extends keyof HTTPWiringsMap,
|
|
53
|
-
Method extends keyof HTTPWiringsMap[Route]
|
|
54
|
-
>(
|
|
55
|
-
route: Route,
|
|
56
|
-
method: Method,
|
|
57
|
-
data: HTTPWiringHandlerOf<Route, Method>['input'] = null
|
|
58
|
-
): Promise<HTTPWiringHandlerOf<Route, Method>['output']> => {
|
|
59
|
-
return (_pikku! as any)[(method as string).toLowerCase()](route, data as any)
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* Makes a dynamic POST request for a specified route.
|
|
64
|
-
*
|
|
65
|
-
* @template Route - The route key with the POST method.
|
|
66
|
-
* @param route - The route identifier.
|
|
67
|
-
* @param data - The input data for the POST request (required if input type is defined).
|
|
68
|
-
* @returns A promise that resolves to the output of the POST handler.
|
|
69
|
-
*/
|
|
70
|
-
const dynamicPost = <Route extends HTTPWiringsWithMethod<'POST'>>(
|
|
71
|
-
route: Route,
|
|
72
|
-
...args: HTTPWiringHandlerOf<Route, 'POST'>['input'] extends null | undefined
|
|
73
|
-
? [data?: HTTPWiringHandlerOf<Route, 'POST'>['input']]
|
|
74
|
-
: [data: NonNullable<HTTPWiringHandlerOf<Route, 'POST'>['input']>]
|
|
75
|
-
): Promise<HTTPWiringHandlerOf<Route, 'POST'>['output']> => {
|
|
76
|
-
return dynamicActionRequest(route, 'POST', args[0] ?? null)
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* Makes a dynamic GET request for a specified route.
|
|
81
|
-
*
|
|
82
|
-
* @template Route - The route key with the GET method.
|
|
83
|
-
* @param route - The route identifier.
|
|
84
|
-
* @param data - The input data for the GET request (required if input type is defined).
|
|
85
|
-
* @returns A promise that resolves to the output of the GET handler.
|
|
86
|
-
*/
|
|
87
|
-
const dynamicGet = <Route extends HTTPWiringsWithMethod<'GET'>>(
|
|
88
|
-
route: Route,
|
|
89
|
-
...args: HTTPWiringHandlerOf<Route, 'GET'>['input'] extends null | undefined
|
|
90
|
-
? [data?: HTTPWiringHandlerOf<Route, 'GET'>['input']]
|
|
91
|
-
: [data: NonNullable<HTTPWiringHandlerOf<Route, 'GET'>['input']>]
|
|
92
|
-
): Promise<HTTPWiringHandlerOf<Route, 'GET'>['output']> => {
|
|
93
|
-
return dynamicActionRequest(route, 'GET', args[0] ?? null)
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
/**
|
|
97
|
-
* Makes a dynamic PATCH request for a specified route.
|
|
98
|
-
*
|
|
99
|
-
* @template Route - The route key with the PATCH method.
|
|
100
|
-
* @param route - The route identifier.
|
|
101
|
-
* @param data - The input data for the PATCH request (required if input type is defined).
|
|
102
|
-
* @returns A promise that resolves to the output of the PATCH handler.
|
|
103
|
-
*/
|
|
104
|
-
const dynamicPatch = <Route extends HTTPWiringsWithMethod<'PATCH'>>(
|
|
105
|
-
route: Route,
|
|
106
|
-
...args: HTTPWiringHandlerOf<Route, 'PATCH'>['input'] extends null | undefined
|
|
107
|
-
? [data?: HTTPWiringHandlerOf<Route, 'PATCH'>['input']]
|
|
108
|
-
: [data: NonNullable<HTTPWiringHandlerOf<Route, 'PATCH'>['input']>]
|
|
109
|
-
): Promise<HTTPWiringHandlerOf<Route, 'PATCH'>['output']> => {
|
|
110
|
-
return dynamicActionRequest(route, 'PATCH', args[0] ?? null)
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
/**
|
|
114
|
-
* Makes a dynamic DELETE request for a specified route.
|
|
115
|
-
*
|
|
116
|
-
* @template Route - The route key with the DELETE method.
|
|
117
|
-
* @param route - The route identifier.
|
|
118
|
-
* @param data - The input data for the DELETE request (required if input type is defined).
|
|
119
|
-
* @returns A promise that resolves to the output of the DELETE handler.
|
|
120
|
-
*/
|
|
121
|
-
const dynamicDel = <Route extends HTTPWiringsWithMethod<'DELETE'>>(
|
|
122
|
-
route: Route,
|
|
123
|
-
...args: HTTPWiringHandlerOf<Route, 'DELETE'>['input'] extends null | undefined
|
|
124
|
-
? [data?: HTTPWiringHandlerOf<Route, 'DELETE'>['input']]
|
|
125
|
-
: [data: NonNullable<HTTPWiringHandlerOf<Route, 'DELETE'>['input']>]
|
|
126
|
-
): Promise<HTTPWiringHandlerOf<Route, 'DELETE'>['output']> => {
|
|
127
|
-
return dynamicActionRequest(route, 'DELETE', args[0] ?? null)
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
// Static Requests
|
|
131
|
-
|
|
132
|
-
/**
|
|
133
|
-
* Makes a static POST request for a specified route.
|
|
134
|
-
*
|
|
135
|
-
* @template Route - The route key with the POST method.
|
|
136
|
-
* @param route - The route identifier.
|
|
137
|
-
* @param data - The input data for the POST request (required if input type is defined).
|
|
138
|
-
* @returns A promise that resolves to the output of the POST handler.
|
|
139
|
-
*/
|
|
140
|
-
const staticPost = <Route extends HTTPWiringsWithMethod<'POST'>>(
|
|
141
|
-
route: Route,
|
|
142
|
-
...args: HTTPWiringHandlerOf<Route, 'POST'>['input'] extends null | undefined
|
|
143
|
-
? [data?: HTTPWiringHandlerOf<Route, 'POST'>['input']]
|
|
144
|
-
: [data: NonNullable<HTTPWiringHandlerOf<Route, 'POST'>['input']>]
|
|
145
|
-
): Promise<HTTPWiringHandlerOf<Route, 'POST'>['output']> => {
|
|
146
|
-
return staticActionRequest(route, 'POST', args[0] ?? null)
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
/**
|
|
150
|
-
* Makes a static GET request for a specified route.
|
|
151
|
-
*
|
|
152
|
-
* @template Route - The route key with the GET method.
|
|
153
|
-
* @param route - The route identifier.
|
|
154
|
-
* @param data - The input data for the GET request (required if input type is defined).
|
|
155
|
-
* @returns A promise that resolves to the output of the GET handler.
|
|
156
|
-
*/
|
|
157
|
-
const staticGet = <Route extends HTTPWiringsWithMethod<'GET'>>(
|
|
158
|
-
route: Route,
|
|
159
|
-
...args: HTTPWiringHandlerOf<Route, 'GET'>['input'] extends null | undefined
|
|
160
|
-
? [data?: HTTPWiringHandlerOf<Route, 'GET'>['input']]
|
|
161
|
-
: [data: NonNullable<HTTPWiringHandlerOf<Route, 'GET'>['input']>]
|
|
162
|
-
): Promise<HTTPWiringHandlerOf<Route, 'GET'>['output']> => {
|
|
163
|
-
return staticActionRequest(route, 'GET', args[0] ?? null)
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
// RPC Requests
|
|
167
|
-
|
|
168
|
-
/**
|
|
169
|
-
* Makes a dynamic RPC request.
|
|
170
|
-
*
|
|
171
|
-
* @template Name - The RPC function name from the FlattenedRPCMap.
|
|
172
|
-
* @param name - The RPC function identifier.
|
|
173
|
-
* @param data - The input data for the RPC request (required if input type is defined).
|
|
174
|
-
* @returns A promise that resolves to the output of the RPC handler.
|
|
175
|
-
*/
|
|
176
|
-
const rpc = async <Name extends keyof FlattenedRPCMap>(
|
|
177
|
-
rpcName: Name,
|
|
178
|
-
...args: FlattenedRPCMap[Name]['input'] extends null | undefined
|
|
179
|
-
? [data?: FlattenedRPCMap[Name]['input']]
|
|
180
|
-
: [data: NonNullable<FlattenedRPCMap[Name]['input']>]
|
|
181
|
-
): Promise<FlattenedRPCMap[Name]['output']> => {
|
|
182
|
-
return dynamicActionRequest('/rpc/:rpcName' as '/rpc/:rpcName', 'POST', { rpcName, data: args[0] ?? null }) as unknown as FlattenedRPCMap[Name]['output']
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
/**
|
|
186
|
-
* Makes a static RPC request.
|
|
187
|
-
* Note: In HTTP wrapper context, both rpc and rpcStatic behave the same way.
|
|
188
|
-
*
|
|
189
|
-
* @template Name - The RPC function name from the FlattenedRPCMap.
|
|
190
|
-
* @param name - The RPC function identifier.
|
|
191
|
-
* @param data - The input data for the RPC request (required if input type is defined).
|
|
192
|
-
* @returns A promise that resolves to the output of the RPC handler.
|
|
193
|
-
*/
|
|
194
|
-
const staticRPC = async <Name extends keyof FlattenedRPCMap>(
|
|
195
|
-
rpcName: Name,
|
|
196
|
-
...args: FlattenedRPCMap[Name]['input'] extends null | undefined
|
|
197
|
-
? [data?: FlattenedRPCMap[Name]['input']]
|
|
198
|
-
: [data: NonNullable<FlattenedRPCMap[Name]['input']>]
|
|
199
|
-
): Promise<FlattenedRPCMap[Name]['output']> => {
|
|
200
|
-
return staticActionRequest('/rpc/:rpcName' as '/rpc/:rpcName', 'POST', { rpcName, data: args[0] ?? null }) as unknown as FlattenedRPCMap[Name]['output']
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
return {
|
|
204
|
-
rpc,
|
|
205
|
-
get: dynamicGet,
|
|
206
|
-
post: dynamicPost,
|
|
207
|
-
patch: dynamicPatch,
|
|
208
|
-
del: dynamicDel,
|
|
209
|
-
staticGet,
|
|
210
|
-
staticPost,
|
|
211
|
-
staticRPC
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
`
|
|
215
|
-
}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { pikkuVoidFunc } from '../../../../.pikku/pikku-types.gen.js'
|
|
2
|
-
import { serializeFileImports } from '../../../utils/file-imports-serializer.js'
|
|
3
|
-
import { writeFileInDir } from '../../../utils/file-writer.js'
|
|
4
|
-
import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js'
|
|
5
|
-
import { getFileImportRelativePath } from '../../../utils/file-import-path.js'
|
|
6
|
-
|
|
7
|
-
export const pikkuChannels: any = pikkuVoidFunc({
|
|
8
|
-
func: async ({ logger, config, getInspectorState }) => {
|
|
9
|
-
const visitState = await getInspectorState()
|
|
10
|
-
const {
|
|
11
|
-
channelsWiringFile,
|
|
12
|
-
channelsWiringMetaFile,
|
|
13
|
-
channelsWiringMetaJsonFile,
|
|
14
|
-
packageMappings,
|
|
15
|
-
schema,
|
|
16
|
-
} = config
|
|
17
|
-
const { channels } = visitState
|
|
18
|
-
|
|
19
|
-
await writeFileInDir(
|
|
20
|
-
logger,
|
|
21
|
-
channelsWiringFile,
|
|
22
|
-
serializeFileImports(
|
|
23
|
-
'addChannel',
|
|
24
|
-
channelsWiringFile,
|
|
25
|
-
channels.files,
|
|
26
|
-
packageMappings
|
|
27
|
-
)
|
|
28
|
-
)
|
|
29
|
-
|
|
30
|
-
await writeFileInDir(
|
|
31
|
-
logger,
|
|
32
|
-
channelsWiringMetaJsonFile,
|
|
33
|
-
JSON.stringify(channels.meta, null, 2)
|
|
34
|
-
)
|
|
35
|
-
|
|
36
|
-
const jsonImportPath = getFileImportRelativePath(
|
|
37
|
-
channelsWiringMetaFile,
|
|
38
|
-
channelsWiringMetaJsonFile,
|
|
39
|
-
packageMappings
|
|
40
|
-
)
|
|
41
|
-
|
|
42
|
-
const supportsImportAttributes = schema?.supportsImportAttributes ?? false
|
|
43
|
-
const importStatement = supportsImportAttributes
|
|
44
|
-
? `import metaData from '${jsonImportPath}' with { type: 'json' }`
|
|
45
|
-
: `import metaData from '${jsonImportPath}'`
|
|
46
|
-
|
|
47
|
-
await writeFileInDir(
|
|
48
|
-
logger,
|
|
49
|
-
channelsWiringMetaFile,
|
|
50
|
-
`import { pikkuState } from '@pikku/core'\nimport { ChannelsMeta } from '@pikku/core/channel'\n${importStatement}\npikkuState(null, 'channel', 'meta', metaData as ChannelsMeta)`
|
|
51
|
-
)
|
|
52
|
-
},
|
|
53
|
-
middleware: [
|
|
54
|
-
logCommandInfoAndTime({
|
|
55
|
-
commandStart: 'Finding Channels',
|
|
56
|
-
commandEnd: 'Found channels',
|
|
57
|
-
}),
|
|
58
|
-
],
|
|
59
|
-
})
|