@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,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,135 +0,0 @@
|
|
|
1
|
-
import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js'
|
|
2
|
-
import { ErrorCode } from '@pikku/inspector'
|
|
3
|
-
import { writeFileInDir } from '../../../utils/file-writer.js'
|
|
4
|
-
import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js'
|
|
5
|
-
import { readFile } from 'fs/promises'
|
|
6
|
-
import { join, isAbsolute } from 'path'
|
|
7
|
-
import {
|
|
8
|
-
stripVerboseFields,
|
|
9
|
-
hasVerboseFields,
|
|
10
|
-
} from '../../../utils/strip-verbose-meta.js'
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Load and sanitize an SVG icon file.
|
|
14
|
-
* Returns the SVG content as a string, or undefined if not found.
|
|
15
|
-
*/
|
|
16
|
-
const loadIcon = async (
|
|
17
|
-
iconPath: string | undefined,
|
|
18
|
-
rootDir: string,
|
|
19
|
-
logger: any
|
|
20
|
-
): Promise<string | undefined> => {
|
|
21
|
-
if (!iconPath) return undefined
|
|
22
|
-
|
|
23
|
-
// Resolve the full path to the icon
|
|
24
|
-
const fullPath = isAbsolute(iconPath) ? iconPath : join(rootDir, iconPath)
|
|
25
|
-
|
|
26
|
-
try {
|
|
27
|
-
const content = await readFile(fullPath, 'utf-8')
|
|
28
|
-
|
|
29
|
-
// Basic SVG validation - must start with <svg
|
|
30
|
-
const trimmed = content.trim()
|
|
31
|
-
if (!trimmed.startsWith('<svg') && !trimmed.startsWith('<?xml')) {
|
|
32
|
-
logger.warn(`Icon file is not a valid SVG: ${fullPath}`)
|
|
33
|
-
return undefined
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
// Return the sanitized SVG (remove XML declaration if present)
|
|
37
|
-
return trimmed.replace(/<\?xml[^?]*\?>\s*/g, '').trim()
|
|
38
|
-
} catch (e) {
|
|
39
|
-
logger.warn(`Could not load icon: ${fullPath}`)
|
|
40
|
-
return undefined
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
export const pikkuForgeNodes: any = pikkuSessionlessFunc<
|
|
45
|
-
void,
|
|
46
|
-
boolean | undefined
|
|
47
|
-
>({
|
|
48
|
-
func: async ({ logger, config, getInspectorState }) => {
|
|
49
|
-
const { forgeNodes, forgeCredentials } = await getInspectorState()
|
|
50
|
-
const { forgeNodesMetaJsonFile, forge, rootDir } = config
|
|
51
|
-
|
|
52
|
-
const hasNodes = Object.keys(forgeNodes.meta).length > 0
|
|
53
|
-
const hasCredentials = Object.keys(forgeCredentials.meta).length > 0
|
|
54
|
-
|
|
55
|
-
// Only generate if there are forge nodes or credentials
|
|
56
|
-
if (!hasNodes && !hasCredentials) {
|
|
57
|
-
return undefined
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
// Validate categories if configured
|
|
61
|
-
const allowedCategories = forge?.node?.categories
|
|
62
|
-
if (allowedCategories && allowedCategories.length > 0) {
|
|
63
|
-
for (const [name, meta] of Object.entries(forgeNodes.meta) as [
|
|
64
|
-
string,
|
|
65
|
-
any,
|
|
66
|
-
][]) {
|
|
67
|
-
if (!allowedCategories.includes(meta.category)) {
|
|
68
|
-
logger.critical(
|
|
69
|
-
ErrorCode.INVALID_VALUE,
|
|
70
|
-
`Forge node '${name}' has invalid category '${meta.category}'. ` +
|
|
71
|
-
`Allowed categories: ${allowedCategories.join(', ')}`
|
|
72
|
-
)
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
// Build the output metadata - remove per-node icon field
|
|
78
|
-
const outputMeta: Record<string, any> = {}
|
|
79
|
-
for (const [name, meta] of Object.entries(forgeNodes.meta) as [
|
|
80
|
-
string,
|
|
81
|
-
any,
|
|
82
|
-
][]) {
|
|
83
|
-
// Remove icon from node meta - only package-level icon is used
|
|
84
|
-
const { icon: _icon, ...nodeMetaWithoutIcon } = meta
|
|
85
|
-
outputMeta[name] = nodeMetaWithoutIcon
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
// Load package-level icon
|
|
89
|
-
const packageIcon = await loadIcon(forge?.node?.icon, rootDir, logger)
|
|
90
|
-
|
|
91
|
-
const metaData = {
|
|
92
|
-
nodes: outputMeta,
|
|
93
|
-
credentials: forgeCredentials.meta,
|
|
94
|
-
package: {
|
|
95
|
-
displayName: forge?.node?.displayName,
|
|
96
|
-
description: forge?.node?.description,
|
|
97
|
-
icon: packageIcon,
|
|
98
|
-
categories: forge?.node?.categories,
|
|
99
|
-
},
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
if (forgeNodesMetaJsonFile) {
|
|
103
|
-
// Write minimal JSON (runtime-only fields)
|
|
104
|
-
const minimalMeta = stripVerboseFields(metaData)
|
|
105
|
-
await writeFileInDir(
|
|
106
|
-
logger,
|
|
107
|
-
forgeNodesMetaJsonFile,
|
|
108
|
-
JSON.stringify(minimalMeta, null, 2),
|
|
109
|
-
{ ignoreModifyComment: true }
|
|
110
|
-
)
|
|
111
|
-
|
|
112
|
-
// Write verbose JSON only if it has additional fields
|
|
113
|
-
if (hasVerboseFields(metaData)) {
|
|
114
|
-
const verbosePath = forgeNodesMetaJsonFile.replace(
|
|
115
|
-
/\.gen\.json$/,
|
|
116
|
-
'-verbose.gen.json'
|
|
117
|
-
)
|
|
118
|
-
await writeFileInDir(
|
|
119
|
-
logger,
|
|
120
|
-
verbosePath,
|
|
121
|
-
JSON.stringify(metaData, null, 2),
|
|
122
|
-
{ ignoreModifyComment: true }
|
|
123
|
-
)
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
return true
|
|
128
|
-
},
|
|
129
|
-
middleware: [
|
|
130
|
-
logCommandInfoAndTime({
|
|
131
|
-
commandStart: 'Generating Forge nodes metadata',
|
|
132
|
-
commandEnd: 'Generated Forge nodes metadata',
|
|
133
|
-
}),
|
|
134
|
-
],
|
|
135
|
-
})
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js'
|
|
2
|
-
import { writeFileInDir } from '../../../utils/file-writer.js'
|
|
3
|
-
import { getFileImportRelativePath } from '../../../utils/file-import-path.js'
|
|
4
|
-
import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js'
|
|
5
|
-
import { serializeForgeTypes } from './serialize-forge-types.js'
|
|
6
|
-
|
|
7
|
-
export const pikkuForgeTypes: any = pikkuSessionlessFunc<void, void>({
|
|
8
|
-
func: async ({ logger, config }) => {
|
|
9
|
-
const {
|
|
10
|
-
forgeTypesFile,
|
|
11
|
-
rpcInternalMapDeclarationFile,
|
|
12
|
-
packageMappings,
|
|
13
|
-
forge,
|
|
14
|
-
} = config
|
|
15
|
-
|
|
16
|
-
// Get the import path for the RPC map declaration file
|
|
17
|
-
// The declaration file ends in .d.ts, but we need to import from .js
|
|
18
|
-
// getFileImportRelativePath converts .ts -> .js, so .d.ts -> .d.js
|
|
19
|
-
// We need to remove the extra .d extension
|
|
20
|
-
let rpcMapImportPath = getFileImportRelativePath(
|
|
21
|
-
forgeTypesFile,
|
|
22
|
-
rpcInternalMapDeclarationFile,
|
|
23
|
-
packageMappings
|
|
24
|
-
)
|
|
25
|
-
// Fix: .d.ts files should be imported as .js (TypeScript resolves types from .d.ts)
|
|
26
|
-
rpcMapImportPath = rpcMapImportPath.replace('.d.js', '.js')
|
|
27
|
-
|
|
28
|
-
const categories = forge?.node?.categories
|
|
29
|
-
const content = serializeForgeTypes(rpcMapImportPath, categories)
|
|
30
|
-
await writeFileInDir(logger, forgeTypesFile, content)
|
|
31
|
-
},
|
|
32
|
-
middleware: [
|
|
33
|
-
logCommandInfoAndTime({
|
|
34
|
-
commandStart: 'Creating Forge types',
|
|
35
|
-
commandEnd: 'Created Forge types',
|
|
36
|
-
}),
|
|
37
|
-
],
|
|
38
|
-
})
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generates type definitions for Forge wirings with typed category and RPC validation
|
|
3
|
-
*/
|
|
4
|
-
export const serializeForgeTypes = (
|
|
5
|
-
rpcMapImportPath: string,
|
|
6
|
-
categories: string[] | undefined
|
|
7
|
-
) => {
|
|
8
|
-
// Generate category union type - 'never' if no categories configured
|
|
9
|
-
const categoryType = categories?.length
|
|
10
|
-
? categories.map((c) => `'${c}'`).join(' | ')
|
|
11
|
-
: 'never'
|
|
12
|
-
|
|
13
|
-
return `/**
|
|
14
|
-
* Forge-specific type definitions for typed wireForgeNode and wireForgeCredential
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
import { wireForgeNode as wireForgeNodeCore, wireForgeCredential as wireForgeCredentialCore } from '@pikku/core/forge-node'
|
|
18
|
-
import type { CoreForgeNode, CoreForgeCredential } from '@pikku/core/forge-node'
|
|
19
|
-
import type { FlattenedRPCMap } from '${rpcMapImportPath}'
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Valid category values for forge nodes.
|
|
23
|
-
* ${categories?.length ? `Configured categories: ${categories.join(', ')}` : 'No categories configured - wireForgeNode cannot be used until forge.node.categories is defined in pikku.config.json.'}
|
|
24
|
-
*/
|
|
25
|
-
export type ForgeCategory = ${categoryType}
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Valid RPC names that can be used with forge nodes.
|
|
29
|
-
* These are derived from the FlattenedRPCMap which includes both local and external package RPCs.
|
|
30
|
-
*/
|
|
31
|
-
export type ForgeRPCName = keyof FlattenedRPCMap
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Typed forge node configuration.
|
|
35
|
-
* Validates that category and rpc are valid values.
|
|
36
|
-
*/
|
|
37
|
-
export type TypedForgeNode = Omit<CoreForgeNode, 'category' | 'rpc'> & {
|
|
38
|
-
/** Grouping category (validated against forge.node.categories in config) */
|
|
39
|
-
category: ForgeCategory
|
|
40
|
-
/** RPC name to call when node executes (must be a valid RPC name) */
|
|
41
|
-
rpc: ForgeRPCName
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Registers a Forge node with validated category and RPC.
|
|
46
|
-
*
|
|
47
|
-
* @param config - Forge node configuration with typed category and rpc
|
|
48
|
-
*
|
|
49
|
-
* @example
|
|
50
|
-
* \`\`\`typescript
|
|
51
|
-
* wireForgeNode({
|
|
52
|
-
* name: 'send-email',
|
|
53
|
-
* displayName: 'Send Email',
|
|
54
|
-
* category: 'Communication', // Must be in forge.node.categories
|
|
55
|
-
* type: 'action',
|
|
56
|
-
* rpc: 'sendEmail', // Must be a valid RPC name
|
|
57
|
-
* description: 'Sends an email to a recipient'
|
|
58
|
-
* })
|
|
59
|
-
* \`\`\`
|
|
60
|
-
*/
|
|
61
|
-
export const wireForgeNode = (config: TypedForgeNode): void => {
|
|
62
|
-
wireForgeNodeCore(config as CoreForgeNode)
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Registers a Forge credential definition.
|
|
67
|
-
* Credentials define secrets/API keys required by the package.
|
|
68
|
-
*
|
|
69
|
-
* @template T - Zod schema type for the credential structure
|
|
70
|
-
* @param config - Forge credential configuration
|
|
71
|
-
*
|
|
72
|
-
* @example
|
|
73
|
-
* \`\`\`typescript
|
|
74
|
-
* import { z } from 'zod'
|
|
75
|
-
*
|
|
76
|
-
* const apiCredentials = z.object({
|
|
77
|
-
* apiKey: z.string().describe('API key for authentication'),
|
|
78
|
-
* apiSecret: z.string().describe('API secret')
|
|
79
|
-
* })
|
|
80
|
-
*
|
|
81
|
-
* wireForgeCredential({
|
|
82
|
-
* name: 'example-api',
|
|
83
|
-
* displayName: 'Example API Credentials',
|
|
84
|
-
* description: 'Credentials for the example external API',
|
|
85
|
-
* secretId: 'EXAMPLE_API_CREDENTIALS',
|
|
86
|
-
* schema: apiCredentials
|
|
87
|
-
* })
|
|
88
|
-
* \`\`\`
|
|
89
|
-
*/
|
|
90
|
-
export const wireForgeCredential = <T>(config: CoreForgeCredential<T>): void => {
|
|
91
|
-
wireForgeCredentialCore(config)
|
|
92
|
-
}
|
|
93
|
-
`
|
|
94
|
-
}
|
|
@@ -1,61 +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, FlattenedRPCMap } from '${getFileImportRelativePath(functionTypesFile, rpcInternalMapDeclarationFile, packageMappings)}'`,
|
|
48
|
-
`import type { RequiredSingletonServices, RequiredWireServices } from '${getFileImportRelativePath(functionTypesFile, servicesFile, packageMappings)}'`,
|
|
49
|
-
configTypeImport,
|
|
50
|
-
config.externalPackageName
|
|
51
|
-
)
|
|
52
|
-
|
|
53
|
-
await writeFileInDir(logger, functionTypesFile, content)
|
|
54
|
-
},
|
|
55
|
-
middleware: [
|
|
56
|
-
logCommandInfoAndTime({
|
|
57
|
-
commandStart: 'Creating function types',
|
|
58
|
-
commandEnd: 'Created function types',
|
|
59
|
-
}),
|
|
60
|
-
],
|
|
61
|
-
})
|
|
@@ -1,50 +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
|
-
forgeTypesFile,
|
|
20
|
-
} = config
|
|
21
|
-
|
|
22
|
-
const getImportPath = (file: string) =>
|
|
23
|
-
config.externalPackage
|
|
24
|
-
? null
|
|
25
|
-
: getFileImportRelativePath(typesFile, file, packageMappings)
|
|
26
|
-
|
|
27
|
-
// Forge types are included for external packages (they need wireForgeNode/wireForgeCredential)
|
|
28
|
-
const getForgeImportPath = (file: string) =>
|
|
29
|
-
getFileImportRelativePath(typesFile, file, packageMappings)
|
|
30
|
-
|
|
31
|
-
const content = serializePikkuTypesHub(
|
|
32
|
-
getFileImportRelativePath(typesFile, functionTypesFile, packageMappings),
|
|
33
|
-
getImportPath(httpTypesFile),
|
|
34
|
-
getImportPath(channelsTypesFile),
|
|
35
|
-
getImportPath(schedulersTypesFile),
|
|
36
|
-
getImportPath(queueTypesFile),
|
|
37
|
-
getImportPath(mcpTypesFile),
|
|
38
|
-
getImportPath(cliTypesFile),
|
|
39
|
-
getForgeImportPath(forgeTypesFile)
|
|
40
|
-
)
|
|
41
|
-
|
|
42
|
-
await writeFileInDir(logger, typesFile, content)
|
|
43
|
-
},
|
|
44
|
-
middleware: [
|
|
45
|
-
logCommandInfoAndTime({
|
|
46
|
-
commandStart: 'Creating api types hub',
|
|
47
|
-
commandEnd: 'Created api types hub',
|
|
48
|
-
}),
|
|
49
|
-
],
|
|
50
|
-
})
|