@pikku/cli 0.11.2 → 0.12.0
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-C19L3UJu.js +637 -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 +29 -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 +19 -0
- package/dist/.pikku/agent/pikku-agent-types.gen.js +4 -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 +65 -10
- package/dist/.pikku/channel/pikku-channel-types.gen.js +23 -16
- package/dist/.pikku/channel/pikku-channels-meta.gen.js +3 -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 +18 -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 +45 -12
- 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 +180 -37
- package/dist/.pikku/function/pikku-function-types.gen.js +63 -53
- package/dist/.pikku/function/pikku-functions-meta.gen.js +2 -2
- package/dist/.pikku/function/pikku-functions-meta.gen.json +624 -506
- 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 +54 -3
- package/dist/.pikku/http/pikku-http-types.gen.js +11 -2
- package/dist/.pikku/http/pikku-http-wirings-meta.gen.js +3 -10
- package/dist/.pikku/http/pikku-http-wirings-meta.gen.json +9 -0
- 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 +68 -29
- package/dist/.pikku/mcp/pikku-mcp-types.gen.js +8 -42
- package/dist/.pikku/mcp/pikku-mcp-wirings-meta.gen.js +4 -4
- 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 +9 -10
- package/dist/.pikku/pikku-bootstrap.gen.js +17 -8
- package/dist/.pikku/pikku-services.gen.d.ts +7 -2
- package/dist/.pikku/pikku-services.gen.js +5 -0
- package/dist/.pikku/pikku-types.gen.d.ts +4 -1
- package/dist/.pikku/pikku-types.gen.js +7 -1
- 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 +6 -3
- package/dist/.pikku/rpc/pikku-remote-rpc-workers.gen.js +6 -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 +61 -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 +33 -15
- 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/PikkuConsoleFunctionsOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/PikkuNodesMetaOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/PikkuPackageOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/PikkuPublicAgentOutput.schema.json +1 -0
- 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/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 +71 -53
- package/dist/.pikku/workflow/pikku-workflow-types.gen.js +23 -35
- package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +3 -3
- package/dist/.pikku/workflow/pikku-workflow-wirings.gen.d.ts +2 -6
- package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +2 -6
- package/dist/bin/pikku.js +20 -47
- package/dist/src/cli.wiring.js +29 -2
- package/dist/src/functions/commands/all.d.ts +1 -1
- package/dist/src/functions/commands/all.js +109 -168
- package/dist/src/functions/commands/bootstrap.d.ts +1 -1
- package/dist/src/functions/commands/bootstrap.js +13 -29
- package/dist/src/functions/commands/console.d.ts +7 -0
- package/dist/src/functions/commands/console.js +106 -0
- package/dist/src/functions/commands/pikku-command-bootstrap.d.ts +4 -0
- package/dist/src/functions/commands/pikku-command-bootstrap.js +67 -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 +17 -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 -8
- 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 +49 -43
- package/dist/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.js +45 -35
- 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 +19 -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 +31 -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 +90 -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 +19 -3
- package/dist/src/functions/wirings/channels/serialize-channel-types.d.ts +1 -1
- package/dist/src/functions/wirings/channels/serialize-channel-types.js +97 -10
- package/dist/src/functions/wirings/channels/serialize-typed-channel-map.d.ts +2 -1
- package/dist/src/functions/wirings/channels/serialize-typed-channel-map.js +9 -10
- 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 +11 -3
- 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 +2 -2
- 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 +23 -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 +229 -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-external-types.d.ts +1 -0
- package/dist/src/functions/wirings/functions/pikku-command-external-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 +8 -3
- package/dist/src/functions/wirings/functions/pikku-command-functions.d.ts +1 -1
- package/dist/src/functions/wirings/functions/pikku-command-functions.js +34 -19
- package/dist/src/functions/wirings/functions/pikku-command-services.d.ts +1 -1
- package/dist/src/functions/wirings/functions/pikku-command-services.js +2 -2
- package/dist/src/functions/wirings/functions/schemas.d.ts +1 -4
- package/dist/src/functions/wirings/functions/schemas.js +8 -9
- package/dist/src/functions/wirings/functions/serialize-external-types.d.ts +1 -0
- package/dist/src/functions/wirings/functions/serialize-external-types.js +77 -0
- package/dist/src/functions/wirings/functions/serialize-function-imports.d.ts +4 -3
- package/dist/src/functions/wirings/functions/serialize-function-imports.js +16 -19
- package/dist/src/functions/wirings/functions/serialize-function-types.d.ts +1 -1
- package/dist/src/functions/wirings/functions/serialize-function-types.js +256 -42
- 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 +22 -21
- 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 +19 -3
- 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 +64 -3
- package/dist/src/functions/wirings/http/serialize-typed-http-map.d.ts +5 -2
- package/dist/src/functions/wirings/http/serialize-typed-http-map.js +43 -31
- 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 +28 -10
- package/dist/src/functions/wirings/mcp/serialize-mcp-types.js +81 -38
- package/dist/src/functions/wirings/middleware/pikku-command-middleware.d.ts +1 -1
- package/dist/src/functions/wirings/middleware/pikku-command-middleware.js +11 -31
- 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 -0
- package/dist/src/functions/wirings/package/pikku-command-package.js +58 -0
- 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.d.ts +5 -0
- package/dist/src/functions/wirings/package/serialize-package.js +32 -0
- package/dist/src/functions/wirings/permissions/pikku-command-permissions.d.ts +1 -1
- package/dist/src/functions/wirings/permissions/pikku-command-permissions.js +10 -5
- 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 +11 -3
- 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 +2 -10
- package/dist/src/functions/wirings/queue/serialize-queue-map.d.ts +5 -2
- package/dist/src/functions/wirings/queue/serialize-queue-map.js +13 -24
- 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 +12 -7
- package/dist/src/functions/wirings/rpc/pikku-command-rpc.d.ts +1 -1
- package/dist/src/functions/wirings/rpc/pikku-command-rpc.js +5 -2
- package/dist/src/functions/wirings/rpc/serialize-public-rpc.d.ts +1 -1
- package/dist/src/functions/wirings/rpc/serialize-public-rpc.js +11 -6
- package/dist/src/functions/wirings/rpc/serialize-remote-rpc.js +5 -2
- package/dist/src/functions/wirings/rpc/serialize-rpc-wrapper.js +19 -8
- package/dist/src/functions/wirings/rpc/serialize-typed-rpc-map.d.ts +6 -3
- package/dist/src/functions/wirings/rpc/serialize-typed-rpc-map.js +130 -59
- 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 +11 -2
- package/dist/src/functions/wirings/scheduler/serialize-scheduler-meta.d.ts +1 -1
- 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 +29 -20
- package/dist/src/functions/wirings/workflow/serialize-workflow-map.d.ts +7 -2
- package/dist/src/functions/wirings/workflow/serialize-workflow-map.js +87 -38
- package/dist/src/functions/wirings/workflow/serialize-workflow-meta.d.ts +1 -3
- package/dist/src/functions/wirings/workflow/serialize-workflow-meta.js +42 -18
- package/dist/src/functions/wirings/workflow/serialize-workflow-registration.d.ts +7 -0
- package/dist/src/functions/wirings/workflow/serialize-workflow-registration.js +26 -0
- package/dist/src/functions/wirings/workflow/serialize-workflow-types.d.ts +1 -4
- package/dist/src/functions/wirings/workflow/serialize-workflow-types.js +121 -63
- package/dist/src/functions/wirings/workflow/serialize-workflow-workers.d.ts +1 -1
- package/dist/src/functions/wirings/workflow/serialize-workflow-workers.js +15 -28
- package/dist/src/services/cli-logger-forwarder.service.d.ts +1 -1
- package/dist/src/services/cli-logger-forwarder.service.js +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 +1 -1
- package/dist/src/services.js +56 -6
- package/dist/src/utils/command-summary.d.ts +3 -0
- package/dist/src/utils/command-summary.js +3 -0
- 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/generate-bootstrap-file.js +1 -1
- package/dist/src/utils/pikku-cli-config.js +104 -13
- package/dist/src/utils/pikku-files-and-methods.d.ts +0 -1
- package/dist/src/utils/pikku-files-and-methods.js +15 -60
- package/dist/src/utils/serialize-import-map.d.ts +2 -1
- package/dist/src/utils/serialize-import-map.js +3 -54
- 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 +43 -0
- package/dist/src/utils/strip-verbose-meta.js +210 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +20 -8
- package/.pikku/channel/pikku-channel-types.gen.ts +0 -91
- package/.pikku/channel/pikku-channels-map.gen.d.ts +0 -47
- package/.pikku/channel/pikku-channels-meta.gen.ts +0 -5
- 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 -146
- 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/function/pikku-function-types.gen.ts +0 -426
- package/.pikku/function/pikku-functions-meta.gen.json +0 -988
- package/.pikku/function/pikku-functions-meta.gen.ts +0 -6
- package/.pikku/function/pikku-functions-meta.min.gen.json +0 -212
- package/.pikku/function/pikku-functions-meta.min.gen.ts +0 -6
- package/.pikku/http/pikku-http-types.gen.ts +0 -86
- package/.pikku/http/pikku-http-wirings-map.gen.d.ts +0 -46
- package/.pikku/http/pikku-http-wirings-meta.gen.ts +0 -13
- package/.pikku/http/pikku-http-wirings.gen.ts +0 -4
- package/.pikku/mcp/pikku-mcp-types.gen.ts +0 -140
- 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 -19
- package/.pikku/pikku-services.gen.ts +0 -27
- package/.pikku/pikku-types.gen.ts +0 -27
- 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 -27
- package/.pikku/rpc/pikku-rpc-wirings-map.gen.d.ts +0 -57
- package/.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts +0 -99
- 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 -63
- 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/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/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 -99
- 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/variables.gen.json +0 -13
- package/.pikku/services/workflowService.gen.json +0 -31
- package/.pikku/workflow/pikku-workflow-map.gen.d.ts +0 -62
- package/.pikku/workflow/pikku-workflow-types.gen.ts +0 -97
- package/.pikku/workflow/pikku-workflow-wirings-meta.gen.json +0 -1
- package/.pikku/workflow/pikku-workflow-wirings-meta.gen.ts +0 -8
- package/.pikku/workflow/pikku-workflow-wirings.gen.ts +0 -8
- package/CHANGELOG.md +0 -935
- package/bin/pikku.ts +0 -88
- package/build.sh +0 -75
- package/dist/.pikku/function/pikku-functions-meta.min.gen.js +0 -6
- package/dist/.pikku/function/pikku-functions-meta.min.gen.json +0 -212
- 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/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 -101
- 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/functions/wirings/workflow/pikku-command-workflow-map.d.ts +0 -1
- package/dist/src/functions/wirings/workflow/pikku-command-workflow-map.js +0 -12
- package/dist/src/functions/wirings/workflow/pikku-command-workflow-types.d.ts +0 -1
- package/dist/src/functions/wirings/workflow/pikku-command-workflow-types.js +0 -13
- package/dist/src/functions/wirings/workflow/serialize-workflow-wirings.d.ts +0 -8
- package/dist/src/functions/wirings/workflow/serialize-workflow-wirings.js +0 -30
- package/dist/src/utils/custom-types-generator.d.ts +0 -2
- package/dist/src/utils/custom-types-generator.js +0 -43
- package/dist/src/utils/schema-generator.d.ts +0 -6
- package/dist/src/utils/schema-generator.js +0 -118
- 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 -266
- package/src/functions/commands/bootstrap.ts +0 -43
- package/src/functions/commands/watch.ts +0 -61
- package/src/functions/runtimes/nextjs/pikku-command-nextjs.ts +0 -132
- package/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.ts +0 -268
- package/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.ts +0 -201
- 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 -40
- package/src/functions/wirings/channels/pikku-command-websocket-typed.ts +0 -37
- package/src/functions/wirings/channels/serialize-channel-types.ts +0 -94
- package/src/functions/wirings/channels/serialize-typed-channel-map.ts +0 -172
- 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 -62
- 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/functions/pikku-command-function-types-split.ts +0 -60
- package/src/functions/wirings/functions/pikku-command-function-types.ts +0 -43
- package/src/functions/wirings/functions/pikku-command-functions.ts +0 -94
- package/src/functions/wirings/functions/pikku-command-services.ts +0 -140
- package/src/functions/wirings/functions/pikku-function-types.ts +0 -43
- package/src/functions/wirings/functions/schemas.ts +0 -46
- package/src/functions/wirings/functions/serialize-function-imports.ts +0 -71
- package/src/functions/wirings/functions/serialize-function-types.ts +0 -439
- package/src/functions/wirings/functions/serialize-pikku-types-hub.ts +0 -38
- 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 -36
- package/src/functions/wirings/http/pikku-command-http-types.ts +0 -25
- package/src/functions/wirings/http/pikku-command-openapi.ts +0 -63
- 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 -89
- package/src/functions/wirings/http/serialize-typed-http-map.ts +0 -154
- 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 -140
- package/src/functions/wirings/mcp/serialize-mcp-json.ts +0 -159
- package/src/functions/wirings/mcp/serialize-mcp-types.ts +0 -143
- package/src/functions/wirings/middleware/pikku-command-middleware.ts +0 -85
- 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/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 -66
- package/src/functions/wirings/queue/pikku-queue-map.ts +0 -26
- package/src/functions/wirings/queue/pikku-queue.ts +0 -75
- package/src/functions/wirings/queue/serialize-queue-map.ts +0 -119
- 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 -48
- 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 -30
- package/src/functions/wirings/rpc/serialize-rpc-wrapper.ts +0 -68
- package/src/functions/wirings/rpc/serialize-typed-rpc-map.ts +0 -128
- package/src/functions/wirings/scheduler/pikku-command-scheduler-types.ts +0 -25
- package/src/functions/wirings/scheduler/pikku-command-scheduler.ts +0 -67
- 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-map.ts +0 -24
- package/src/functions/wirings/workflow/pikku-command-workflow-types.ts +0 -29
- package/src/functions/wirings/workflow/pikku-command-workflow.ts +0 -151
- package/src/functions/wirings/workflow/serialize-workflow-map.ts +0 -123
- package/src/functions/wirings/workflow/serialize-workflow-meta.ts +0 -33
- package/src/functions/wirings/workflow/serialize-workflow-types.ts +0 -103
- package/src/functions/wirings/workflow/serialize-workflow-wirings.ts +0 -47
- package/src/functions/wirings/workflow/serialize-workflow-workers.ts +0 -60
- 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 -315
- package/src/utils/check-required-types.ts +0 -65
- package/src/utils/command-summary.ts +0 -103
- 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 -462
- package/src/utils/pikku-files-and-methods.ts +0 -145
- package/src/utils/schema-generator.ts +0 -172
- package/src/utils/serialize-import-map.ts +0 -102
- package/tsconfig.json +0 -21
- package/types/application-types.d.ts +0 -27
- package/types/config.d.ts +0 -270
- /package/dist/.pikku/{function/pikku-functions-meta.min.gen.d.ts → agent/pikku-agent-wirings-meta.gen.d.ts} +0 -0
- /package/dist/.pikku/{workflow/pikku-workflow-wirings-meta.gen.json → channel/pikku-channels-meta.gen.json} +0 -0
- /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,184 +0,0 @@
|
|
|
1
|
-
import { CLIProgramMeta, CLICommandMeta } from '@pikku/core/cli'
|
|
2
|
-
import { getFileImportRelativePath } from '../../../utils/file-import-path.js'
|
|
3
|
-
import { Config } from '../../../../types/application-types.js'
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Collect all unique renderer names from CLI metadata (populated by inspector)
|
|
7
|
-
*/
|
|
8
|
-
export function collectRendererNames(programMeta: CLIProgramMeta): Set<string> {
|
|
9
|
-
const rendererNames = new Set<string>()
|
|
10
|
-
|
|
11
|
-
// Add program-level default renderer
|
|
12
|
-
if (programMeta.defaultRenderName) {
|
|
13
|
-
rendererNames.add(programMeta.defaultRenderName)
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
// Recursively collect renderer names from commands
|
|
17
|
-
function collectFromCommand(command: CLICommandMeta): void {
|
|
18
|
-
if (command.renderName) {
|
|
19
|
-
rendererNames.add(command.renderName)
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
// Recursively process subcommands
|
|
23
|
-
if (command.subcommands) {
|
|
24
|
-
for (const subCommand of Object.values(command.subcommands)) {
|
|
25
|
-
collectFromCommand(subCommand)
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
// Process all commands
|
|
31
|
-
for (const command of Object.values(programMeta.commands)) {
|
|
32
|
-
collectFromCommand(command)
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
return rendererNames
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Build a renderers map for CLI commands
|
|
40
|
-
*/
|
|
41
|
-
function buildRenderersMap(programMeta: CLIProgramMeta): string {
|
|
42
|
-
const entries: string[] = []
|
|
43
|
-
|
|
44
|
-
// Build map entries for each command that has a renderer
|
|
45
|
-
function addCommandRenderer(command: CLICommandMeta, path: string[]): void {
|
|
46
|
-
const commandId = path.join('.')
|
|
47
|
-
if (command.renderName) {
|
|
48
|
-
entries.push(` '${commandId}': ${command.renderName}`)
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
// Recursively process subcommands
|
|
52
|
-
if (command.subcommands) {
|
|
53
|
-
for (const [subName, subCommand] of Object.entries(command.subcommands)) {
|
|
54
|
-
addCommandRenderer(subCommand, [...path, subName])
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
// Process all commands
|
|
60
|
-
for (const [commandName, command] of Object.entries(programMeta.commands)) {
|
|
61
|
-
addCommandRenderer(command, [commandName])
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
if (entries.length === 0) {
|
|
65
|
-
return '{}'
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
return `{\n${entries.join(',\n')}\n }`
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* Serializes a CLI-over-Channel client bootstrap file
|
|
73
|
-
* Similar to local CLI bootstrap but uses WebSocket connection
|
|
74
|
-
*/
|
|
75
|
-
export function serializeChannelCLIClient(
|
|
76
|
-
programName: string,
|
|
77
|
-
programMeta: CLIProgramMeta,
|
|
78
|
-
clientFile: string,
|
|
79
|
-
config: Config,
|
|
80
|
-
cliBootstrapPath: string,
|
|
81
|
-
channelRoute?: string,
|
|
82
|
-
renderersMeta?: Record<string, any>
|
|
83
|
-
): string {
|
|
84
|
-
const capitalizedName =
|
|
85
|
-
programName.charAt(0).toUpperCase() + programName.slice(1).replace(/-/g, '')
|
|
86
|
-
const finalChannelRoute = channelRoute || `/cli/${programName}`
|
|
87
|
-
|
|
88
|
-
// Get relative import path to CLI bootstrap (for metadata)
|
|
89
|
-
const bootstrapImportPath = getFileImportRelativePath(
|
|
90
|
-
clientFile,
|
|
91
|
-
cliBootstrapPath,
|
|
92
|
-
config.packageMappings
|
|
93
|
-
)
|
|
94
|
-
|
|
95
|
-
// Collect all unique renderer names from CLI metadata (populated by inspector)
|
|
96
|
-
const rendererNames = collectRendererNames(programMeta)
|
|
97
|
-
|
|
98
|
-
// Generate renderer imports from their source files
|
|
99
|
-
let rendererImports = ''
|
|
100
|
-
if (rendererNames.size > 0 && renderersMeta) {
|
|
101
|
-
const importsByFile = new Map<string, string[]>()
|
|
102
|
-
|
|
103
|
-
for (const rendererName of rendererNames) {
|
|
104
|
-
const meta = renderersMeta[rendererName]
|
|
105
|
-
if (meta?.exportedName && meta?.filePath) {
|
|
106
|
-
const relativePath = getFileImportRelativePath(
|
|
107
|
-
clientFile,
|
|
108
|
-
meta.filePath,
|
|
109
|
-
config.packageMappings
|
|
110
|
-
)
|
|
111
|
-
if (!importsByFile.has(relativePath)) {
|
|
112
|
-
importsByFile.set(relativePath, [])
|
|
113
|
-
}
|
|
114
|
-
importsByFile.get(relativePath)!.push(meta.exportedName)
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
// Generate import statements
|
|
119
|
-
for (const [path, names] of importsByFile) {
|
|
120
|
-
rendererImports += `import { ${names.join(', ')} } from '${path}'\n`
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
// Build renderers map
|
|
125
|
-
const renderersMap = buildRenderersMap(programMeta)
|
|
126
|
-
|
|
127
|
-
// Determine default renderer
|
|
128
|
-
const defaultRendererCode = programMeta.defaultRenderName
|
|
129
|
-
? `,\n defaultRenderer: ${programMeta.defaultRenderName}`
|
|
130
|
-
: ''
|
|
131
|
-
|
|
132
|
-
return `
|
|
133
|
-
import { executeCLIViaChannel } from '@pikku/core/cli/channel'
|
|
134
|
-
import { CorePikkuWebsocket } from '@pikku/websocket'
|
|
135
|
-
import '${bootstrapImportPath}'
|
|
136
|
-
${rendererImports}
|
|
137
|
-
/**
|
|
138
|
-
* ${capitalizedName} CLI Client (via WebSocket Channel)
|
|
139
|
-
* Executes CLI commands over a WebSocket connection
|
|
140
|
-
*/
|
|
141
|
-
export async function ${capitalizedName}CLIClient(
|
|
142
|
-
ws: WebSocket,
|
|
143
|
-
args?: string[]
|
|
144
|
-
): Promise<void> {
|
|
145
|
-
// Create Pikku WebSocket wrapper
|
|
146
|
-
const pikkuWS = new CorePikkuWebsocket(ws)
|
|
147
|
-
|
|
148
|
-
// Register renderers for CLI commands
|
|
149
|
-
const renderers = ${renderersMap}
|
|
150
|
-
|
|
151
|
-
await executeCLIViaChannel({
|
|
152
|
-
programName: '${programName}',
|
|
153
|
-
pikkuWS,
|
|
154
|
-
args,
|
|
155
|
-
renderers${defaultRendererCode},
|
|
156
|
-
})
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
// Export as default for easy importing
|
|
160
|
-
export default ${capitalizedName}CLIClient
|
|
161
|
-
|
|
162
|
-
// For direct execution (if this file is run directly)
|
|
163
|
-
if (import.meta.url === \`file://\${process.argv[1]}\`) {
|
|
164
|
-
const url = process.env.PIKKU_WS_URL || 'ws://localhost:4002${finalChannelRoute}'
|
|
165
|
-
|
|
166
|
-
// Create WebSocket instance
|
|
167
|
-
let WebSocketImpl: any
|
|
168
|
-
if (typeof WebSocket !== 'undefined') {
|
|
169
|
-
WebSocketImpl = WebSocket
|
|
170
|
-
} else {
|
|
171
|
-
// Node.js environment - dynamically import 'ws'
|
|
172
|
-
const wsModule = await import('ws')
|
|
173
|
-
WebSocketImpl = wsModule.default
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
const ws = new WebSocketImpl(url) as WebSocket
|
|
177
|
-
${capitalizedName}CLIClient(ws, process.argv.slice(2)).catch(error => {
|
|
178
|
-
console.error('Fatal channel CLI error:', error)
|
|
179
|
-
// TODO: We get an error code even when it exists cleanly, investigate
|
|
180
|
-
// process.exit(1)
|
|
181
|
-
})
|
|
182
|
-
}
|
|
183
|
-
`
|
|
184
|
-
}
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
import { CLIProgramMeta } from '@pikku/core/cli'
|
|
2
|
-
import { getFileImportRelativePath } from '../../../utils/file-import-path.js'
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Serializes a wireChannel call from CLI metadata
|
|
6
|
-
* This creates a WebSocket backend for all CLI commands
|
|
7
|
-
*/
|
|
8
|
-
export function serializeChannelCLI(
|
|
9
|
-
programName: string,
|
|
10
|
-
programMeta: CLIProgramMeta,
|
|
11
|
-
channelFile: string,
|
|
12
|
-
functionFiles: Map<string, { path: string; exportedName: string }>,
|
|
13
|
-
packageMappings: Record<string, string>,
|
|
14
|
-
channelTypesFile: string,
|
|
15
|
-
functionTypesFile: string,
|
|
16
|
-
channelName?: string,
|
|
17
|
-
channelRoute?: string
|
|
18
|
-
): string {
|
|
19
|
-
const finalChannelName = channelName || `${programName}-cli`
|
|
20
|
-
const finalChannelRoute = channelRoute || `/cli/${programName}`
|
|
21
|
-
// Flatten all commands into a single routing map
|
|
22
|
-
const commandMap: Record<
|
|
23
|
-
string,
|
|
24
|
-
{ pikkuFuncName: string; importPath?: string }
|
|
25
|
-
> = {}
|
|
26
|
-
|
|
27
|
-
const collectCommands = (
|
|
28
|
-
commands: Record<string, any>,
|
|
29
|
-
path: string[] = []
|
|
30
|
-
) => {
|
|
31
|
-
for (const [name, cmd] of Object.entries(commands)) {
|
|
32
|
-
const fullPath = [...path, name]
|
|
33
|
-
const commandKey = fullPath.join('.')
|
|
34
|
-
|
|
35
|
-
if (cmd.pikkuFuncName) {
|
|
36
|
-
commandMap[commandKey] = {
|
|
37
|
-
pikkuFuncName: cmd.pikkuFuncName,
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
// Recursively process subcommands
|
|
42
|
-
if (cmd.subcommands) {
|
|
43
|
-
collectCommands(cmd.subcommands, fullPath)
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
collectCommands(programMeta.commands)
|
|
49
|
-
|
|
50
|
-
// Generate imports from function file locations
|
|
51
|
-
const funcNames = [
|
|
52
|
-
...new Set(Object.values(commandMap).map((v) => v.pikkuFuncName)),
|
|
53
|
-
]
|
|
54
|
-
const imports = funcNames
|
|
55
|
-
.map((pikkuFuncName) => {
|
|
56
|
-
const fileInfo = functionFiles.get(pikkuFuncName)
|
|
57
|
-
if (!fileInfo) {
|
|
58
|
-
throw new Error(`Function not found in files map: ${pikkuFuncName}`)
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
const importPath = getFileImportRelativePath(
|
|
62
|
-
channelFile,
|
|
63
|
-
fileInfo.path,
|
|
64
|
-
packageMappings
|
|
65
|
-
)
|
|
66
|
-
return `import { ${fileInfo.exportedName} } from '${importPath}'`
|
|
67
|
-
})
|
|
68
|
-
.join('\n')
|
|
69
|
-
|
|
70
|
-
// Get relative path to channel types file
|
|
71
|
-
const channelTypesPath = getFileImportRelativePath(
|
|
72
|
-
channelFile,
|
|
73
|
-
channelTypesFile,
|
|
74
|
-
packageMappings
|
|
75
|
-
)
|
|
76
|
-
|
|
77
|
-
// Get relative path to function types file
|
|
78
|
-
const functionTypesPath = getFileImportRelativePath(
|
|
79
|
-
channelFile,
|
|
80
|
-
functionTypesFile,
|
|
81
|
-
packageMappings
|
|
82
|
-
)
|
|
83
|
-
|
|
84
|
-
return `/**
|
|
85
|
-
* WebSocket channel backend for '${programName}' CLI commands
|
|
86
|
-
*/
|
|
87
|
-
import { wireChannel } from '${channelTypesPath}'
|
|
88
|
-
import { pikkuMiddleware } from '${functionTypesPath}'
|
|
89
|
-
${imports}
|
|
90
|
-
|
|
91
|
-
// Middleware to close the channel after CLI command completes
|
|
92
|
-
const cliCloseOnComplete = pikkuMiddleware(async (_services, { channel }, next) => {
|
|
93
|
-
const closeChannel = () => {
|
|
94
|
-
setTimeout(async () => {
|
|
95
|
-
try {
|
|
96
|
-
// This gives time for the response to be sent before closing
|
|
97
|
-
await channel?.close()
|
|
98
|
-
} catch (err) {
|
|
99
|
-
// Ignore errors on close
|
|
100
|
-
}
|
|
101
|
-
}, 200)
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
try {
|
|
105
|
-
const result = await next()
|
|
106
|
-
closeChannel()
|
|
107
|
-
return result
|
|
108
|
-
} catch (error) {
|
|
109
|
-
closeChannel()
|
|
110
|
-
throw error
|
|
111
|
-
}
|
|
112
|
-
})
|
|
113
|
-
|
|
114
|
-
wireChannel({
|
|
115
|
-
name: '${finalChannelName}',
|
|
116
|
-
route: '${finalChannelRoute}',
|
|
117
|
-
auth: false,
|
|
118
|
-
onMessageWiring: {
|
|
119
|
-
command: {
|
|
120
|
-
${Object.entries(commandMap)
|
|
121
|
-
.map(
|
|
122
|
-
([commandKey, { pikkuFuncName }]) =>
|
|
123
|
-
` '${commandKey}': {
|
|
124
|
-
func: ${pikkuFuncName},
|
|
125
|
-
middleware: [cliCloseOnComplete],
|
|
126
|
-
}`
|
|
127
|
-
)
|
|
128
|
-
.join(',\n')}
|
|
129
|
-
}
|
|
130
|
-
},
|
|
131
|
-
tags: ['cli', '${programName}']
|
|
132
|
-
})
|
|
133
|
-
`
|
|
134
|
-
}
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generates type definitions for CLI wirings
|
|
3
|
-
*/
|
|
4
|
-
export const serializeCLITypes = (
|
|
5
|
-
functionTypesImportPath: string,
|
|
6
|
-
userSessionTypeImport: string,
|
|
7
|
-
userSessionTypeName: string,
|
|
8
|
-
singletonServicesTypeImport: string,
|
|
9
|
-
singletonServicesTypeName: string
|
|
10
|
-
) => {
|
|
11
|
-
return `/**
|
|
12
|
-
|
|
13
|
-
* CLI-specific type definitions for tree-shaking optimization
|
|
14
|
-
*/
|
|
15
|
-
|
|
16
|
-
import { CoreCLI, wireCLI as wireCLICore, CorePikkuCLIRender, CoreCLICommandConfig } from '@pikku/core/cli'
|
|
17
|
-
import type { PikkuFunctionConfig, PikkuMiddleware } from '${functionTypesImportPath}'
|
|
18
|
-
${userSessionTypeImport}
|
|
19
|
-
${singletonServicesTypeImport}
|
|
20
|
-
|
|
21
|
-
${singletonServicesTypeName !== 'SingletonServices' ? `type SingletonServices = ${singletonServicesTypeName}` : ''}
|
|
22
|
-
${userSessionTypeName !== 'Session' ? `type Session = ${userSessionTypeName}` : ''}
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Type-safe CLI renderer definition that can access your application's services.
|
|
26
|
-
* Use this to define custom renderers for CLI command output.
|
|
27
|
-
*
|
|
28
|
-
* @template Data - The output data type from the CLI command
|
|
29
|
-
* @template RequiredServices - The services required for this renderer
|
|
30
|
-
*/
|
|
31
|
-
type PikkuCLIRender<Data, RequiredServices extends SingletonServices = SingletonServices> = CorePikkuCLIRender<Data, RequiredServices, Session>
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Creates a type-safe CLI renderer with access to your application's singleton services.
|
|
35
|
-
* The renderer receives the full singleton services and output data to format and display results.
|
|
36
|
-
*
|
|
37
|
-
* @template Data - The output data type from the CLI command
|
|
38
|
-
* @template RequiredServices - The minimum services required for type checking (defaults to SingletonServices)
|
|
39
|
-
* @param render - Function that receives singleton services and data to render output
|
|
40
|
-
* @returns A CLI renderer configuration
|
|
41
|
-
*
|
|
42
|
-
* @example
|
|
43
|
-
* \`\`\`typescript
|
|
44
|
-
* const myRenderer = pikkuCLIRender<MyData>(({ logger }, data) => {
|
|
45
|
-
* logger.info(data.message)
|
|
46
|
-
* })
|
|
47
|
-
* \`\`\`
|
|
48
|
-
*/
|
|
49
|
-
export const pikkuCLIRender = <Data, RequiredServices extends SingletonServices = SingletonServices>(
|
|
50
|
-
render: (services: SingletonServices, data: Data) => void | Promise<void>
|
|
51
|
-
): PikkuCLIRender<Data, RequiredServices> => {
|
|
52
|
-
return render as any
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* CLI command configuration with project-specific types.
|
|
57
|
-
* Uses CoreCLICommandConfig from @pikku/core with local middleware and render types.
|
|
58
|
-
*/
|
|
59
|
-
type CLICommandConfig<Func extends PikkuFunctionConfig<In, Out, 'cli' | 'rpc' | 'session'>, In = any, Out = any, Params extends string = string> = CoreCLICommandConfig<Func, PikkuMiddleware, PikkuCLIRender<any>, Params>
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Type definition for CLI applications with commands and global options.
|
|
63
|
-
*
|
|
64
|
-
* @template Commands - Type describing the command structure
|
|
65
|
-
* @template GlobalOptions - Type for global CLI options
|
|
66
|
-
*/
|
|
67
|
-
type CLIWiring<Commands extends Record<string, CoreCLICommandConfig<any, PikkuMiddleware, PikkuCLIRender<any>, any>>, GlobalOptions> = CoreCLI<Commands, GlobalOptions, PikkuMiddleware, PikkuCLIRender<any>>
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* Registers a CLI application with the Pikku framework.
|
|
71
|
-
* Creates command-line interfaces with type-safe commands and options.
|
|
72
|
-
*
|
|
73
|
-
* @template Commands - Type describing the command structure
|
|
74
|
-
* @template GlobalOptions - Type for global CLI options
|
|
75
|
-
* @param cli - CLI definition with program name, commands, and global options
|
|
76
|
-
*/
|
|
77
|
-
export const wireCLI = <Commands extends Record<string, CoreCLICommandConfig<any, PikkuMiddleware, PikkuCLIRender<any>, any>>, GlobalOptions>(
|
|
78
|
-
cli: CLIWiring<Commands, GlobalOptions>
|
|
79
|
-
) => {
|
|
80
|
-
wireCLICore(cli as any)
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* Creates a CLI command definition with automatic option inference from the function's input type.
|
|
85
|
-
* This allows TypeScript to automatically derive CLI options from the function signature.
|
|
86
|
-
*
|
|
87
|
-
* @template FuncConfig - The Pikku function config type
|
|
88
|
-
* @template Params - The parameters string literal type
|
|
89
|
-
* @param config - CLI command configuration
|
|
90
|
-
* @returns CLI command configuration with inferred types
|
|
91
|
-
*/
|
|
92
|
-
export const pikkuCLICommand = <
|
|
93
|
-
FuncConfig extends PikkuFunctionConfig<any, any, 'cli' | 'rpc' | 'session'>,
|
|
94
|
-
Params extends string
|
|
95
|
-
>(
|
|
96
|
-
config: CLICommandConfig<FuncConfig, any, any, Params>
|
|
97
|
-
): CoreCLICommandConfig<FuncConfig, PikkuMiddleware, PikkuCLIRender<any>, string> => {
|
|
98
|
-
return config as any
|
|
99
|
-
}
|
|
100
|
-
`
|
|
101
|
-
}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { getFileImportRelativePath } from '../../../utils/file-import-path.js'
|
|
2
|
-
import { Config } from '../../../../types/application-types.js'
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Serializes the local (in-program) CLI bootstrap code
|
|
6
|
-
*/
|
|
7
|
-
export function serializeLocalCLIBootstrap(
|
|
8
|
-
programName: string,
|
|
9
|
-
_programMeta: any,
|
|
10
|
-
bootstrapFile: string,
|
|
11
|
-
config: Config,
|
|
12
|
-
pikkuConfigFactory: { file: string; variable: string },
|
|
13
|
-
singletonServicesFactory: { file: string; variable: string },
|
|
14
|
-
wireServicesFactory: { file: string; variable: string }
|
|
15
|
-
): string {
|
|
16
|
-
const capitalizedName =
|
|
17
|
-
programName.charAt(0).toUpperCase() + programName.slice(1).replace(/-/g, '')
|
|
18
|
-
|
|
19
|
-
// Get relative import paths
|
|
20
|
-
const pikkuConfigPath = getFileImportRelativePath(
|
|
21
|
-
bootstrapFile,
|
|
22
|
-
pikkuConfigFactory.file,
|
|
23
|
-
config.packageMappings
|
|
24
|
-
)
|
|
25
|
-
const singletonServicesPath = getFileImportRelativePath(
|
|
26
|
-
bootstrapFile,
|
|
27
|
-
singletonServicesFactory.file,
|
|
28
|
-
config.packageMappings
|
|
29
|
-
)
|
|
30
|
-
const wireServicesPath = getFileImportRelativePath(
|
|
31
|
-
bootstrapFile,
|
|
32
|
-
wireServicesFactory.file,
|
|
33
|
-
config.packageMappings
|
|
34
|
-
)
|
|
35
|
-
const cliBootstrapPath = getFileImportRelativePath(
|
|
36
|
-
bootstrapFile,
|
|
37
|
-
config.bootstrapFile,
|
|
38
|
-
config.packageMappings
|
|
39
|
-
)
|
|
40
|
-
|
|
41
|
-
return `
|
|
42
|
-
import { executeCLI, CLIError } from '@pikku/core/cli'
|
|
43
|
-
import { ${pikkuConfigFactory.variable} as createConfig } from '${pikkuConfigPath}'
|
|
44
|
-
import { ${singletonServicesFactory.variable} as createSingletonServices } from '${singletonServicesPath}'
|
|
45
|
-
import { ${wireServicesFactory.variable} as createWireServices } from '${wireServicesPath}'
|
|
46
|
-
import '${cliBootstrapPath}'
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* ${capitalizedName} CLI function
|
|
50
|
-
* Handles command line arguments and executes the appropriate function
|
|
51
|
-
*/
|
|
52
|
-
export async function ${capitalizedName}CLI(args: string[]): Promise<void> {
|
|
53
|
-
try {
|
|
54
|
-
await executeCLI({
|
|
55
|
-
programName: '${programName}',
|
|
56
|
-
args: args || process.argv.slice(2),
|
|
57
|
-
createConfig,
|
|
58
|
-
createSingletonServices,
|
|
59
|
-
createWireServices,
|
|
60
|
-
})
|
|
61
|
-
} catch (error) {
|
|
62
|
-
if (error instanceof CLIError) {
|
|
63
|
-
process.exit(error.exitCode)
|
|
64
|
-
}
|
|
65
|
-
throw error
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
// Export as default for easy importing
|
|
70
|
-
export default ${capitalizedName}CLI
|
|
71
|
-
|
|
72
|
-
// For direct execution (if this file is run directly)
|
|
73
|
-
if (import.meta.url === \`file://\${process.argv[1]}\`) {
|
|
74
|
-
${capitalizedName}CLI(process.argv.slice(2)).catch(error => {
|
|
75
|
-
console.error('Fatal error:', error.message)
|
|
76
|
-
process.exit(1)
|
|
77
|
-
})
|
|
78
|
-
}
|
|
79
|
-
`
|
|
80
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js'
|
|
2
|
-
import { serializeFetchWrapper } from '../http/serialize-fetch-wrapper.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
|
-
|
|
7
|
-
export const pikkuFetch: any = pikkuSessionlessFunc<void, void>({
|
|
8
|
-
func: async ({ logger, config }) => {
|
|
9
|
-
const { fetchFile, httpMapDeclarationFile, packageMappings } = config
|
|
10
|
-
|
|
11
|
-
// If fetchFile is not set, clean up any existing file and return
|
|
12
|
-
if (!fetchFile) {
|
|
13
|
-
logger.info({
|
|
14
|
-
message:
|
|
15
|
-
"Skipping generating fetch wrapper since fetchFile isn't set in the pikku config.",
|
|
16
|
-
type: 'skip',
|
|
17
|
-
})
|
|
18
|
-
return
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
const routesMapDeclarationPath = getFileImportRelativePath(
|
|
22
|
-
fetchFile,
|
|
23
|
-
httpMapDeclarationFile,
|
|
24
|
-
packageMappings
|
|
25
|
-
)
|
|
26
|
-
|
|
27
|
-
const content = [serializeFetchWrapper(routesMapDeclarationPath)]
|
|
28
|
-
await writeFileInDir(logger, fetchFile, content.join('\n'))
|
|
29
|
-
},
|
|
30
|
-
middleware: [
|
|
31
|
-
logCommandInfoAndTime({
|
|
32
|
-
commandStart: 'Generating fetch wrapper',
|
|
33
|
-
commandEnd: 'Generated fetch wrapper',
|
|
34
|
-
}),
|
|
35
|
-
],
|
|
36
|
-
})
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js'
|
|
2
|
-
import { getFileImportRelativePath } from '../../../utils/file-import-path.js'
|
|
3
|
-
import { checkRequiredTypes } from '../../../utils/check-required-types.js'
|
|
4
|
-
import { writeFileInDir } from '../../../utils/file-writer.js'
|
|
5
|
-
import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js'
|
|
6
|
-
import { serializeFunctionTypes } from './serialize-function-types.js'
|
|
7
|
-
|
|
8
|
-
export const pikkuFunctionTypesSplit: any = pikkuSessionlessFunc<void, void>({
|
|
9
|
-
func: async ({ logger, config, getInspectorState }) => {
|
|
10
|
-
const visitState = await getInspectorState()
|
|
11
|
-
const {
|
|
12
|
-
functionTypesFile,
|
|
13
|
-
packageMappings,
|
|
14
|
-
rpcInternalMapDeclarationFile,
|
|
15
|
-
servicesFile,
|
|
16
|
-
} = config
|
|
17
|
-
|
|
18
|
-
// Check for required types
|
|
19
|
-
checkRequiredTypes(visitState.filesAndMethodsErrors, {
|
|
20
|
-
userSessionType: true,
|
|
21
|
-
wireServiceType: true,
|
|
22
|
-
singletonServicesType: true,
|
|
23
|
-
})
|
|
24
|
-
|
|
25
|
-
const {
|
|
26
|
-
userSessionType,
|
|
27
|
-
wireServicesType,
|
|
28
|
-
singletonServicesType,
|
|
29
|
-
pikkuConfigType,
|
|
30
|
-
} = visitState.filesAndMethods
|
|
31
|
-
|
|
32
|
-
if (!userSessionType || !wireServicesType || !singletonServicesType) {
|
|
33
|
-
throw new Error('Required types not found')
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
const configTypeImport = pikkuConfigType
|
|
37
|
-
? `import type { ${pikkuConfigType.type} } from '${getFileImportRelativePath(functionTypesFile, pikkuConfigType.typePath, packageMappings)}'`
|
|
38
|
-
: '// Config type not found, will use fallback'
|
|
39
|
-
|
|
40
|
-
const content = serializeFunctionTypes(
|
|
41
|
-
`import type { ${userSessionType.type} } from '${getFileImportRelativePath(functionTypesFile, userSessionType.typePath, packageMappings)}'`,
|
|
42
|
-
userSessionType.type,
|
|
43
|
-
`import type { ${singletonServicesType.type} } from '${getFileImportRelativePath(functionTypesFile, singletonServicesType.typePath, packageMappings)}'`,
|
|
44
|
-
singletonServicesType.type,
|
|
45
|
-
`import type { ${wireServicesType.type} } from '${getFileImportRelativePath(functionTypesFile, wireServicesType.typePath, packageMappings)}'`,
|
|
46
|
-
wireServicesType.type,
|
|
47
|
-
`import type { TypedPikkuRPC } from '${getFileImportRelativePath(functionTypesFile, rpcInternalMapDeclarationFile, packageMappings)}'`,
|
|
48
|
-
`import type { RequiredSingletonServices, RequiredWireServices } from '${getFileImportRelativePath(functionTypesFile, servicesFile, packageMappings)}'`,
|
|
49
|
-
configTypeImport
|
|
50
|
-
)
|
|
51
|
-
|
|
52
|
-
await writeFileInDir(logger, functionTypesFile, content)
|
|
53
|
-
},
|
|
54
|
-
middleware: [
|
|
55
|
-
logCommandInfoAndTime({
|
|
56
|
-
commandStart: 'Creating function types',
|
|
57
|
-
commandEnd: 'Created function types',
|
|
58
|
-
}),
|
|
59
|
-
],
|
|
60
|
-
})
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js'
|
|
2
|
-
import { getFileImportRelativePath } from '../../../utils/file-import-path.js'
|
|
3
|
-
import { writeFileInDir } from '../../../utils/file-writer.js'
|
|
4
|
-
import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js'
|
|
5
|
-
import { serializePikkuTypesHub } from './serialize-pikku-types-hub.js'
|
|
6
|
-
|
|
7
|
-
export const pikkuFunctionTypes: any = pikkuSessionlessFunc<void, void>({
|
|
8
|
-
func: async ({ logger, config }) => {
|
|
9
|
-
const {
|
|
10
|
-
typesDeclarationFile: typesFile,
|
|
11
|
-
packageMappings,
|
|
12
|
-
functionTypesFile,
|
|
13
|
-
httpTypesFile,
|
|
14
|
-
channelsTypesFile,
|
|
15
|
-
schedulersTypesFile,
|
|
16
|
-
queueTypesFile,
|
|
17
|
-
mcpTypesFile,
|
|
18
|
-
cliTypesFile,
|
|
19
|
-
} = config
|
|
20
|
-
|
|
21
|
-
const content = serializePikkuTypesHub(
|
|
22
|
-
getFileImportRelativePath(typesFile, functionTypesFile, packageMappings),
|
|
23
|
-
getFileImportRelativePath(typesFile, httpTypesFile, packageMappings),
|
|
24
|
-
getFileImportRelativePath(typesFile, channelsTypesFile, packageMappings),
|
|
25
|
-
getFileImportRelativePath(
|
|
26
|
-
typesFile,
|
|
27
|
-
schedulersTypesFile,
|
|
28
|
-
packageMappings
|
|
29
|
-
),
|
|
30
|
-
getFileImportRelativePath(typesFile, queueTypesFile, packageMappings),
|
|
31
|
-
getFileImportRelativePath(typesFile, mcpTypesFile, packageMappings),
|
|
32
|
-
getFileImportRelativePath(typesFile, cliTypesFile, packageMappings)
|
|
33
|
-
)
|
|
34
|
-
|
|
35
|
-
await writeFileInDir(logger, typesFile, content)
|
|
36
|
-
},
|
|
37
|
-
middleware: [
|
|
38
|
-
logCommandInfoAndTime({
|
|
39
|
-
commandStart: 'Creating api types hub',
|
|
40
|
-
commandEnd: 'Created api types hub',
|
|
41
|
-
}),
|
|
42
|
-
],
|
|
43
|
-
})
|