@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,31 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
export const serializeWorkflowTypes = (functionTypesImportPath, rpcMapImportPath, workflowMapImportPath) => {
|
|
2
|
+
return `import { WorkflowCancelledException } from '@pikku/core/workflow'
|
|
3
|
+
import {
|
|
4
|
+
workflow as coreWorkflow,
|
|
5
|
+
workflowStart as coreWorkflowStart,
|
|
6
|
+
workflowStatus as coreWorkflowStatus,
|
|
7
|
+
graphStart as coreGraphStart,
|
|
8
|
+
} from '@pikku/core/workflow'
|
|
9
|
+
import { template } from '@pikku/core/workflow'
|
|
10
|
+
import {
|
|
11
|
+
pikkuWorkflowGraph as corePikkuWorkflowGraph,
|
|
12
|
+
type PikkuWorkflowGraphConfig,
|
|
13
|
+
type PikkuWorkflowGraphResult,
|
|
14
|
+
} from '@pikku/core/workflow'
|
|
15
|
+
import type { PikkuWorkflowWire, WorkflowStepOptions } from '@pikku/core/workflow'
|
|
11
16
|
|
|
12
|
-
import { PikkuWorkflowWire, WorkflowStepOptions, WorkflowCancelledException } from '@pikku/core/workflow'
|
|
13
|
-
|
|
14
|
-
// Re-export WorkflowCancelledException for use in workflow functions
|
|
15
17
|
export { WorkflowCancelledException }
|
|
16
18
|
import type { PikkuFunctionSessionless, PikkuFunctionConfig } from '${functionTypesImportPath}'
|
|
17
19
|
import type { RPCMap, FlattenedRPCMap } from '${rpcMapImportPath}'
|
|
18
|
-
import type {
|
|
19
|
-
import { createGraph, wireWorkflow as coreWireWorkflow } from '@pikku/core'
|
|
20
|
+
import type { WorkflowMap, GraphsMap } from '${workflowMapImportPath}'
|
|
20
21
|
|
|
21
|
-
|
|
22
|
-
// DSL Workflow Types (pikkuWorkflowFunc, pikkuWorkflowComplexFunc)
|
|
23
|
-
// ============================================================================
|
|
22
|
+
export { template }
|
|
24
23
|
|
|
25
|
-
/**
|
|
26
|
-
* Typed workflow wire with RPC awareness
|
|
27
|
-
* Provides type-safe workflow.do() for RPC steps
|
|
28
|
-
*/
|
|
29
24
|
export interface TypedWorkflow extends PikkuWorkflowWire {
|
|
30
25
|
do<K extends keyof RPCMap>(
|
|
31
26
|
stepName: string,
|
|
@@ -41,17 +36,11 @@ export interface TypedWorkflow extends PikkuWorkflowWire {
|
|
|
41
36
|
): Promise<T>
|
|
42
37
|
}
|
|
43
38
|
|
|
44
|
-
/**
|
|
45
|
-
* Workflow function type with typed workflow service
|
|
46
|
-
*/
|
|
47
39
|
export type PikkuFunctionWorkflow<
|
|
48
40
|
In = unknown,
|
|
49
41
|
Out = never
|
|
50
42
|
> = PikkuFunctionSessionless<In, Out, 'workflow'>
|
|
51
43
|
|
|
52
|
-
/**
|
|
53
|
-
* Creates a DSL-compatible workflow function (serializable, shows in Forge UI)
|
|
54
|
-
*/
|
|
55
44
|
export const pikkuWorkflowFunc = <In, Out = unknown>(
|
|
56
45
|
func:
|
|
57
46
|
| PikkuFunctionWorkflow<In, Out>
|
|
@@ -60,9 +49,6 @@ export const pikkuWorkflowFunc = <In, Out = unknown>(
|
|
|
60
49
|
return typeof func === 'function' ? { func } : func
|
|
61
50
|
}
|
|
62
51
|
|
|
63
|
-
/**
|
|
64
|
-
* Creates a complex workflow function (arbitrary code, hidden from Forge UI)
|
|
65
|
-
*/
|
|
66
52
|
export const pikkuWorkflowComplexFunc = <In, Out = unknown>(
|
|
67
53
|
func:
|
|
68
54
|
| PikkuFunctionWorkflow<In, Out>
|
|
@@ -71,140 +57,8 @@ export const pikkuWorkflowComplexFunc = <In, Out = unknown>(
|
|
|
71
57
|
return typeof func === 'function' ? { func } : func
|
|
72
58
|
}
|
|
73
59
|
|
|
74
|
-
// ============================================================================
|
|
75
|
-
// Graph Workflow Types (pikkuWorkflowGraph)
|
|
76
|
-
// ============================================================================
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* Type-safe graph builder with full RPC autocomplete
|
|
80
|
-
*/
|
|
81
|
-
const graphBuilder = createGraph<FlattenedRPCMap>()
|
|
82
|
-
|
|
83
|
-
/** HTTP wire configuration for graph workflows */
|
|
84
|
-
interface GraphHttpWire<NodeIds extends string> {
|
|
85
|
-
route: string
|
|
86
|
-
method: HTTPMethod
|
|
87
|
-
startNode: NodeIds
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
/** Channel wire configuration for graph workflows */
|
|
91
|
-
interface GraphChannelWire<NodeIds extends string> {
|
|
92
|
-
name: string
|
|
93
|
-
onConnect?: NodeIds
|
|
94
|
-
onDisconnect?: NodeIds
|
|
95
|
-
onMessage?: NodeIds
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
/** Queue wire configuration for graph workflows */
|
|
99
|
-
interface GraphQueueWire<NodeIds extends string> {
|
|
100
|
-
name: string
|
|
101
|
-
startNode: NodeIds
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
/** CLI wire configuration for graph workflows */
|
|
105
|
-
interface GraphCliWire<NodeIds extends string> {
|
|
106
|
-
command: string
|
|
107
|
-
startNode: NodeIds
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
/** MCP wire configurations for graph workflows */
|
|
111
|
-
interface GraphMcpWires<NodeIds extends string> {
|
|
112
|
-
tool?: Array<{ name: string; startNode: NodeIds }>
|
|
113
|
-
prompt?: Array<{ name: string; startNode: NodeIds }>
|
|
114
|
-
resource?: Array<{ uri: string; startNode: NodeIds }>
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
/** Schedule wire configuration for graph workflows */
|
|
118
|
-
interface GraphScheduleWire<NodeIds extends string> {
|
|
119
|
-
cron?: string
|
|
120
|
-
interval?: string
|
|
121
|
-
startNode: NodeIds
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
/** Trigger wire configuration for graph workflows */
|
|
125
|
-
interface GraphTriggerWire<NodeIds extends string> {
|
|
126
|
-
name: string // RPC name of the trigger function
|
|
127
|
-
startNode: NodeIds
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
/** All wire configurations for graph workflows */
|
|
131
|
-
interface GraphWiresConfig<NodeIds extends string> {
|
|
132
|
-
http?: Array<GraphHttpWire<NodeIds>>
|
|
133
|
-
channel?: Array<GraphChannelWire<NodeIds>>
|
|
134
|
-
queue?: Array<GraphQueueWire<NodeIds>>
|
|
135
|
-
cli?: Array<GraphCliWire<NodeIds>>
|
|
136
|
-
mcp?: GraphMcpWires<NodeIds>
|
|
137
|
-
schedule?: Array<GraphScheduleWire<NodeIds>>
|
|
138
|
-
trigger?: Array<GraphTriggerWire<NodeIds>>
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
/** Configuration for graph-based workflow */
|
|
142
|
-
export interface PikkuWorkflowGraphConfig<
|
|
143
|
-
FuncMap extends Record<string, keyof FlattenedRPCMap & string>,
|
|
144
|
-
T
|
|
145
|
-
> {
|
|
146
|
-
/** Workflow name (optional - defaults to exported variable name) */
|
|
147
|
-
name?: string
|
|
148
|
-
/** Optional description */
|
|
149
|
-
description?: string
|
|
150
|
-
/** Optional tags for organization */
|
|
151
|
-
tags?: string[]
|
|
152
|
-
/** Node to RPC function mapping */
|
|
153
|
-
nodes: FuncMap
|
|
154
|
-
/** Wire configurations - how this workflow can be triggered */
|
|
155
|
-
wires?: GraphWiresConfig<Extract<keyof FuncMap, string>>
|
|
156
|
-
/** Node configurations (next, input, onError) */
|
|
157
|
-
config?: T
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
/** Result of pikkuWorkflowGraph - includes metadata for wiring */
|
|
161
|
-
export interface PikkuWorkflowGraphResult<T, NodeIds extends string = string> {
|
|
162
|
-
__type: 'pikkuWorkflowGraph'
|
|
163
|
-
name?: string
|
|
164
|
-
description?: string
|
|
165
|
-
tags?: string[]
|
|
166
|
-
wires?: GraphWiresConfig<NodeIds>
|
|
167
|
-
graph: T
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
/**
|
|
171
|
-
* Creates a graph-based workflow definition with metadata
|
|
172
|
-
* Name defaults to the exported variable name if not provided.
|
|
173
|
-
*
|
|
174
|
-
* @example
|
|
175
|
-
* // Name inferred from exported variable name
|
|
176
|
-
* export const myWorkflow = pikkuWorkflowGraph({
|
|
177
|
-
* description: 'Handles user onboarding',
|
|
178
|
-
* tags: ['onboarding'],
|
|
179
|
-
* nodes: {
|
|
180
|
-
* entry: 'createUser',
|
|
181
|
-
* sendEmail: 'sendWelcomeEmail',
|
|
182
|
-
* },
|
|
183
|
-
* config: {
|
|
184
|
-
* entry: { next: 'sendEmail' },
|
|
185
|
-
* sendEmail: { input: (ref) => ({ to: ref('entry', 'email') }) },
|
|
186
|
-
* },
|
|
187
|
-
* })
|
|
188
|
-
*/
|
|
189
|
-
export function pikkuWorkflowGraph<
|
|
190
|
-
const FuncMap extends Record<string, keyof FlattenedRPCMap & string>
|
|
191
|
-
>(
|
|
192
|
-
config: PikkuWorkflowGraphConfig<FuncMap, GraphNodeConfigMap<FuncMap>>
|
|
193
|
-
): PikkuWorkflowGraphResult<Record<Extract<keyof FuncMap, string>, GraphNodeConfig<Extract<keyof FuncMap, string>>>, Extract<keyof FuncMap, string>> {
|
|
194
|
-
return {
|
|
195
|
-
__type: 'pikkuWorkflowGraph',
|
|
196
|
-
name: config.name,
|
|
197
|
-
description: config.description,
|
|
198
|
-
tags: config.tags,
|
|
199
|
-
wires: config.wires,
|
|
200
|
-
graph: graphBuilder(config.nodes, config.config as any),
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
/** Typed ref value */
|
|
205
60
|
type TypedRef<T> = { $ref: string; path?: string } & { __phantomType?: T }
|
|
206
61
|
|
|
207
|
-
/** Template string type - assignable to string fields */
|
|
208
62
|
type TemplateString = {
|
|
209
63
|
$template: {
|
|
210
64
|
parts: string[]
|
|
@@ -212,62 +66,15 @@ type TemplateString = {
|
|
|
212
66
|
}
|
|
213
67
|
} & { __brand: 'TemplateString' }
|
|
214
68
|
|
|
215
|
-
/**
|
|
216
|
-
* Creates a template string with variable interpolation
|
|
217
|
-
* Uses indexed placeholders $0, $1, etc. with refs array
|
|
218
|
-
*
|
|
219
|
-
* @example
|
|
220
|
-
* template('Hello $0, your order $1 is ready', [ref('trigger', 'name'), ref('step_0', 'orderId')])
|
|
221
|
-
*/
|
|
222
|
-
export function template(templateStr: string, refs: TypedRef<unknown>[]): TemplateString {
|
|
223
|
-
const parts: string[] = []
|
|
224
|
-
const expressions: Array<{ $ref: string; path?: string }> = []
|
|
225
|
-
|
|
226
|
-
// Parse template string: "Hello $0" -> parts: ["Hello ", ""], use refs[0] for expression
|
|
227
|
-
const regex = /\$(\d+)/g
|
|
228
|
-
let lastIndex = 0
|
|
229
|
-
let match
|
|
230
|
-
|
|
231
|
-
while ((match = regex.exec(templateStr)) !== null) {
|
|
232
|
-
// Add the part before this match
|
|
233
|
-
parts.push(templateStr.slice(lastIndex, match.index))
|
|
234
|
-
|
|
235
|
-
// Get the ref by index
|
|
236
|
-
const refIndex = parseInt(match[1]!, 10)
|
|
237
|
-
const refValue = refs[refIndex]
|
|
238
|
-
if (refValue) {
|
|
239
|
-
const expr: { $ref: string; path?: string } = { $ref: refValue.$ref }
|
|
240
|
-
if (refValue.path) {
|
|
241
|
-
expr.path = refValue.path
|
|
242
|
-
}
|
|
243
|
-
expressions.push(expr)
|
|
244
|
-
} else {
|
|
245
|
-
expressions.push({ $ref: 'unknown' })
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
lastIndex = regex.lastIndex
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
// Add the remaining part
|
|
252
|
-
parts.push(templateStr.slice(lastIndex))
|
|
253
|
-
|
|
254
|
-
return {
|
|
255
|
-
$template: { parts, expressions }
|
|
256
|
-
} as TemplateString
|
|
257
|
-
}
|
|
258
|
-
|
|
259
|
-
/** Map input type fields to allow TypedRef or TemplateString for any field */
|
|
260
69
|
type InputWithRefs<T> = {
|
|
261
70
|
[K in keyof T]?: T[K] | TypedRef<T[K]> | TypedRef<unknown> | TemplateString
|
|
262
71
|
}
|
|
263
72
|
|
|
264
|
-
/** Get the input type for a node based on its RPC mapping */
|
|
265
73
|
type NodeInputType<FuncMap extends Record<string, string>, K extends keyof FuncMap> =
|
|
266
74
|
FuncMap[K] extends keyof FlattenedRPCMap
|
|
267
75
|
? InputWithRefs<FlattenedRPCMap[FuncMap[K]]['input']>
|
|
268
76
|
: Record<string, unknown>
|
|
269
77
|
|
|
270
|
-
/** Get the output type keys for a node based on its RPC mapping */
|
|
271
78
|
type NodeOutputKeys<FuncMap extends Record<string, string>, N extends string> =
|
|
272
79
|
N extends keyof FuncMap
|
|
273
80
|
? FuncMap[N] extends keyof FlattenedRPCMap
|
|
@@ -275,7 +82,6 @@ type NodeOutputKeys<FuncMap extends Record<string, string>, N extends string> =
|
|
|
275
82
|
: string
|
|
276
83
|
: string
|
|
277
84
|
|
|
278
|
-
/** Ref function type with path validation */
|
|
279
85
|
type RefFunction<FuncMap extends Record<string, string>> = {
|
|
280
86
|
<N extends Extract<keyof FuncMap, string>>(
|
|
281
87
|
nodeId: N,
|
|
@@ -284,10 +90,8 @@ type RefFunction<FuncMap extends Record<string, string>> = {
|
|
|
284
90
|
(nodeId: 'trigger' | '$item', path?: string): TypedRef<unknown>
|
|
285
91
|
}
|
|
286
92
|
|
|
287
|
-
/** Template function type */
|
|
288
93
|
type TemplateFunction = (templateStr: string, refs: TypedRef<unknown>[]) => TemplateString
|
|
289
94
|
|
|
290
|
-
/** Type helper for node configuration */
|
|
291
95
|
type GraphNodeConfigMap<FuncMap extends Record<string, string>> = {
|
|
292
96
|
[K in Extract<keyof FuncMap, string>]?: {
|
|
293
97
|
next?: NextConfig<Extract<keyof FuncMap, string>>
|
|
@@ -301,54 +105,54 @@ type GraphNodeConfigMap<FuncMap extends Record<string, string>> = {
|
|
|
301
105
|
|
|
302
106
|
type NextConfig<NodeIds extends string> = NodeIds | NodeIds[] | { if: string; then: NodeIds; else?: NodeIds }
|
|
303
107
|
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
108
|
+
export function pikkuWorkflowGraph<
|
|
109
|
+
const FuncMap extends Record<string, keyof FlattenedRPCMap & string>
|
|
110
|
+
>(
|
|
111
|
+
config: PikkuWorkflowGraphConfig<FuncMap, GraphNodeConfigMap<FuncMap>>
|
|
112
|
+
): PikkuWorkflowGraphResult {
|
|
113
|
+
return corePikkuWorkflowGraph(config as any)
|
|
114
|
+
}
|
|
307
115
|
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
116
|
+
export const workflow = <Name extends keyof WorkflowMap>(
|
|
117
|
+
workflowName: Name,
|
|
118
|
+
options?: { pollIntervalMs?: number }
|
|
119
|
+
) => {
|
|
120
|
+
return coreWorkflow<WorkflowMap>(workflowName as string & keyof WorkflowMap, options) as PikkuFunctionConfig<
|
|
121
|
+
WorkflowMap[Name]['input'],
|
|
122
|
+
WorkflowMap[Name]['output'],
|
|
123
|
+
'session' | 'rpc'
|
|
124
|
+
>
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
export const workflowStart = <Name extends keyof WorkflowMap>(
|
|
128
|
+
workflowName: Name
|
|
129
|
+
) => {
|
|
130
|
+
return coreWorkflowStart<WorkflowMap>(workflowName as string & keyof WorkflowMap) as PikkuFunctionConfig<
|
|
131
|
+
WorkflowMap[Name]['input'],
|
|
132
|
+
{ runId: string },
|
|
133
|
+
'session' | 'rpc'
|
|
134
|
+
>
|
|
320
135
|
}
|
|
321
136
|
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
137
|
+
export const workflowStatus = <Name extends keyof WorkflowMap>(
|
|
138
|
+
_workflowName: Name
|
|
139
|
+
) => {
|
|
140
|
+
return coreWorkflowStatus<WorkflowMap>(_workflowName as string & keyof WorkflowMap) as PikkuFunctionConfig<
|
|
141
|
+
{ runId: string },
|
|
142
|
+
{ id: string; status: 'running' | 'completed' | 'failed' | 'cancelled'; output?: WorkflowMap[Name]['output']; error?: { message?: string } },
|
|
143
|
+
'session' | 'rpc'
|
|
144
|
+
>
|
|
328
145
|
}
|
|
329
146
|
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
* })
|
|
340
|
-
*
|
|
341
|
-
* @example
|
|
342
|
-
* // Graph workflow - wires are defined in the graph itself
|
|
343
|
-
* wireWorkflow({
|
|
344
|
-
* enabled: true, // default: true
|
|
345
|
-
* graph: myGraphWorkflow,
|
|
346
|
-
* })
|
|
347
|
-
*/
|
|
348
|
-
export function wireWorkflow<T extends Record<string, GraphNodeConfig<Extract<keyof T, string>>>, NodeIds extends string = string>(
|
|
349
|
-
definition: WorkflowDefinitionFunc | WorkflowDefinitionGraph<T, NodeIds>
|
|
350
|
-
): void {
|
|
351
|
-
coreWireWorkflow(definition as any)
|
|
147
|
+
export const graphStart = <Name extends keyof GraphsMap, Node extends string & keyof GraphsMap[Name]>(
|
|
148
|
+
graphName: Name,
|
|
149
|
+
startNode: Node
|
|
150
|
+
) => {
|
|
151
|
+
return coreGraphStart<GraphsMap>(graphName as string & keyof GraphsMap, startNode as string) as PikkuFunctionConfig<
|
|
152
|
+
GraphsMap[Name][Node] extends { input: infer I } ? I : never,
|
|
153
|
+
{ runId: string },
|
|
154
|
+
'session' | 'rpc'
|
|
155
|
+
>
|
|
352
156
|
}
|
|
353
157
|
`;
|
|
354
158
|
};
|
|
@@ -30,18 +30,18 @@ export const pikkuWorkflowSleeper = pikkuSessionlessFunc<{ runId: string, stepId
|
|
|
30
30
|
func: async ({ workflowService }, { runId, stepId }) => {
|
|
31
31
|
await workflowService!.executeWorkflowSleepCompleted(runId, stepId)
|
|
32
32
|
},
|
|
33
|
-
|
|
33
|
+
remote: true,
|
|
34
34
|
})
|
|
35
35
|
|
|
36
36
|
export const pikkuRemoteInternalRPC = pikkuSessionlessFunc<{ rpcName: string, data?: any }, any>({
|
|
37
37
|
func: async (_services, { rpcName, data }, { rpc }) => {
|
|
38
38
|
return await (rpc.invoke as any)(rpcName, data)
|
|
39
39
|
},
|
|
40
|
-
|
|
40
|
+
remote: true,
|
|
41
41
|
})
|
|
42
42
|
|
|
43
|
-
wireQueueWorker({
|
|
44
|
-
wireQueueWorker({
|
|
45
|
-
wireQueueWorker({
|
|
43
|
+
wireQueueWorker({ name: 'pikku-workflow-step-worker', func: pikkuWorkflowWorker })
|
|
44
|
+
wireQueueWorker({ name: 'pikku-workflow-orchestrator', func: pikkuWorkflowOrchestrator })
|
|
45
|
+
wireQueueWorker({ name: 'pikku-remote-internal-rpc', func: pikkuRemoteInternalRPC })
|
|
46
46
|
`;
|
|
47
47
|
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { Logger
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import type { Logger } from '@pikku/core/services';
|
|
2
|
+
import { LogLevel } from '@pikku/core/services';
|
|
3
|
+
import type { PikkuChannel } from '@pikku/core/channel';
|
|
4
|
+
import type { ErrorCode } from '@pikku/inspector';
|
|
4
5
|
/**
|
|
5
6
|
* Log message structure sent through the channel
|
|
6
7
|
*/
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { Logger
|
|
2
|
-
import {
|
|
1
|
+
import type { Logger } from '@pikku/core/services';
|
|
2
|
+
import { LogLevel } from '@pikku/core/services';
|
|
3
|
+
import type { ErrorCode } from '@pikku/inspector';
|
|
3
4
|
export declare class CLILogger implements Logger {
|
|
4
5
|
private silent;
|
|
5
6
|
private level;
|
package/dist/src/services.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import type { Config, Services, SingletonServices, UserSession } from '../types/application-types.js';
|
|
2
|
-
import { CreateConfig
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import type { CreateConfig } from '@pikku/core';
|
|
3
|
+
import type { CreateWireServices, CreateSingletonServices } from '@pikku/core/internal';
|
|
4
|
+
import type { PikkuCLIConfig } from '../types/config.js';
|
|
5
|
+
import type { ForwardedLogMessage } from './services/cli-logger-forwarder.service.js';
|
|
5
6
|
/**
|
|
6
7
|
* Default CLI renderer that logs output using the logger
|
|
7
8
|
*/
|
|
8
|
-
export declare const defaultCLIRenderer: import("@pikku/core").CorePikkuCLIRender<ForwardedLogMessage, SingletonServices, import("@pikku/core").CoreUserSession>;
|
|
9
|
+
export declare const defaultCLIRenderer: import("@pikku/core/cli").CorePikkuCLIRender<ForwardedLogMessage, SingletonServices, import("@pikku/core").CoreUserSession>;
|
|
9
10
|
export declare const createConfig: CreateConfig<Config, [PikkuCLIConfig]>;
|
|
10
11
|
/**
|
|
11
12
|
* Singleton services factory for the Pikku CLI
|
package/dist/src/services.js
CHANGED
|
@@ -1,14 +1,30 @@
|
|
|
1
1
|
import { pikkuCLIRender } from '@pikku/core/cli';
|
|
2
|
-
import { LocalVariablesService, LocalSecretService, LogLevel, } from '@pikku/core/services';
|
|
2
|
+
import { LocalVariablesService, LocalSecretService, LogLevel, InMemoryWorkflowService, } from '@pikku/core/services';
|
|
3
3
|
import { CLILogger } from './services/cli-logger.service.js';
|
|
4
4
|
import { getPikkuCLIConfig } from './utils/pikku-cli-config.js';
|
|
5
|
-
import { inspect, serializeInspectorState, deserializeInspectorState, filterInspectorState, getInitialInspectorState, } from '@pikku/inspector';
|
|
5
|
+
import { inspect, serializeInspectorState, deserializeInspectorState, filterInspectorState, getInitialInspectorState, ErrorCode, } from '@pikku/inspector';
|
|
6
6
|
import { glob } from 'tinyglobby';
|
|
7
7
|
import path from 'path';
|
|
8
|
-
import { CLILoggerForwarder
|
|
8
|
+
import { CLILoggerForwarder } from './services/cli-logger-forwarder.service.js';
|
|
9
9
|
import { readFile, writeFile } from 'fs/promises';
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
import { loadManifest } from './utils/contract-versions.js';
|
|
11
|
+
import { join } from 'path';
|
|
12
|
+
const DIAGNOSTIC_CODE_TO_LINT_KEY = {
|
|
13
|
+
[ErrorCode.SERVICES_NOT_DESTRUCTURED]: 'servicesNotDestructured',
|
|
14
|
+
[ErrorCode.WIRES_NOT_DESTRUCTURED]: 'wiresNotDestructured',
|
|
15
|
+
};
|
|
16
|
+
function processDiagnostics(diagnostics, lint) {
|
|
17
|
+
for (const diagnostic of diagnostics) {
|
|
18
|
+
const lintKey = DIAGNOSTIC_CODE_TO_LINT_KEY[diagnostic.code];
|
|
19
|
+
const severity = lintKey ? (lint?.[lintKey] ?? 'off') : 'off';
|
|
20
|
+
if (severity === 'error') {
|
|
21
|
+
logger.critical(diagnostic.code, diagnostic.message);
|
|
22
|
+
}
|
|
23
|
+
else if (severity === 'warn') {
|
|
24
|
+
logger.warn(`[${diagnostic.code}] ${diagnostic.message}`);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
12
28
|
const logger = new CLILogger({ logLogo: false, silent: false });
|
|
13
29
|
/**
|
|
14
30
|
* Parse a comma-separated string or array into an array of trimmed, non-empty strings
|
|
@@ -130,6 +146,7 @@ export const createConfig = async (_variablesService, data) => {
|
|
|
130
146
|
return {
|
|
131
147
|
...cliConfig,
|
|
132
148
|
...data,
|
|
149
|
+
tags: cliConfig.tags,
|
|
133
150
|
filters: parseCLIFilters(data),
|
|
134
151
|
preloadedInspectorState,
|
|
135
152
|
};
|
|
@@ -185,17 +202,44 @@ export const createSingletonServices = async (config) => {
|
|
|
185
202
|
ignore: config.ignoreFiles || [],
|
|
186
203
|
absolute: true,
|
|
187
204
|
})))).flat();
|
|
188
|
-
|
|
205
|
+
const manifest = !setupOnly
|
|
206
|
+
? ((await loadManifest(join(config.outDir, 'versions.json'))) ??
|
|
207
|
+
undefined)
|
|
208
|
+
: undefined;
|
|
209
|
+
unfilteredState = await inspect(logger, wiringFiles, {
|
|
189
210
|
setupOnly,
|
|
190
211
|
rootDir,
|
|
212
|
+
isAddon: config.addon,
|
|
191
213
|
types: {
|
|
192
214
|
configFileType: config.configFile,
|
|
193
215
|
userSessionType: config.userSessionType,
|
|
194
216
|
singletonServicesFactoryType: config.singletonServicesFactoryType,
|
|
195
217
|
wireServicesFactoryType: config.wireServicesFactoryType,
|
|
196
218
|
},
|
|
219
|
+
tags: config.tags,
|
|
220
|
+
schemaConfig: !setupOnly
|
|
221
|
+
? {
|
|
222
|
+
tsconfig: config.tsconfig,
|
|
223
|
+
schemasFromTypes: config.schemasFromTypes,
|
|
224
|
+
schema: config.schema,
|
|
225
|
+
}
|
|
226
|
+
: undefined,
|
|
227
|
+
openAPI: !setupOnly && config.openAPI
|
|
228
|
+
? { additionalInfo: config.openAPI.additionalInfo }
|
|
229
|
+
: undefined,
|
|
230
|
+
manifest,
|
|
231
|
+
modelConfig: config.models || config.agentDefaults || config.agentOverrides
|
|
232
|
+
? {
|
|
233
|
+
models: config.models,
|
|
234
|
+
agentDefaults: config.agentDefaults,
|
|
235
|
+
agentOverrides: config.agentOverrides,
|
|
236
|
+
}
|
|
237
|
+
: undefined,
|
|
197
238
|
});
|
|
198
|
-
|
|
239
|
+
if ('diagnostics' in unfilteredState &&
|
|
240
|
+
unfilteredState.diagnostics.length > 0) {
|
|
241
|
+
processDiagnostics(unfilteredState.diagnostics, config.lint);
|
|
242
|
+
}
|
|
199
243
|
if (stateOutput && 'typesLookup' in unfilteredState) {
|
|
200
244
|
try {
|
|
201
245
|
logger.info(`Saving inspector state to ${stateOutput}`);
|
|
@@ -213,12 +257,14 @@ export const createSingletonServices = async (config) => {
|
|
|
213
257
|
const filteredState = filterInspectorState(unfilteredState, filters, logger);
|
|
214
258
|
return filteredState;
|
|
215
259
|
};
|
|
260
|
+
const workflowService = new InMemoryWorkflowService();
|
|
216
261
|
return {
|
|
217
262
|
config,
|
|
218
263
|
logger,
|
|
219
264
|
variables,
|
|
220
265
|
secrets: new LocalSecretService(variables),
|
|
221
266
|
getInspectorState,
|
|
267
|
+
workflowService,
|
|
222
268
|
};
|
|
223
269
|
};
|
|
224
270
|
export const createWireServices = async ({ logger }, { cli, channel }) => {
|
|
@@ -3,11 +3,12 @@ export interface CommandSummaryStats {
|
|
|
3
3
|
channels?: number;
|
|
4
4
|
functions?: number;
|
|
5
5
|
scheduledTasks?: number;
|
|
6
|
+
triggers?: number;
|
|
6
7
|
queueWorkers?: number;
|
|
7
8
|
mcpEndpoints?: number;
|
|
8
9
|
cliCommands?: number;
|
|
9
10
|
workflows?: number;
|
|
10
|
-
|
|
11
|
+
nodes?: number;
|
|
11
12
|
workflowGraphs?: number;
|
|
12
13
|
[key: string]: number | undefined;
|
|
13
14
|
}
|
|
@@ -48,11 +48,12 @@ export class CommandSummary {
|
|
|
48
48
|
channels: 'WebSocket channel',
|
|
49
49
|
functions: 'Function',
|
|
50
50
|
scheduledTasks: 'Scheduled task',
|
|
51
|
+
triggers: 'Trigger',
|
|
51
52
|
queueWorkers: 'Queue worker',
|
|
52
53
|
mcpEndpoints: 'MCP endpoint',
|
|
53
54
|
cliCommands: 'CLI command',
|
|
54
55
|
workflows: 'Workflow',
|
|
55
|
-
|
|
56
|
+
nodes: 'Node',
|
|
56
57
|
workflowGraphs: 'Workflow graph',
|
|
57
58
|
};
|
|
58
59
|
for (const [key, label] of Object.entries(statLabels)) {
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { VersionManifest } from '@pikku/inspector';
|
|
2
|
+
import { createEmptyManifest } from '@pikku/inspector';
|
|
3
|
+
export { createEmptyManifest };
|
|
4
|
+
export type { ContractEntry, VersionHashEntry, VersionValidateError, VersionManifest, VersionManifestEntry, } from '@pikku/inspector';
|
|
5
|
+
export declare function loadManifest(manifestPath: string): Promise<VersionManifest | null>;
|
|
6
|
+
export declare function saveManifest(manifestPath: string, manifest: VersionManifest): Promise<void>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { readFile, writeFile, mkdir } from 'fs/promises';
|
|
2
|
+
import { dirname } from 'path';
|
|
3
|
+
import { serializeManifest, createEmptyManifest } from '@pikku/inspector';
|
|
4
|
+
export { createEmptyManifest };
|
|
5
|
+
export async function loadManifest(manifestPath) {
|
|
6
|
+
try {
|
|
7
|
+
const content = await readFile(manifestPath, 'utf-8');
|
|
8
|
+
const manifest = JSON.parse(content);
|
|
9
|
+
if (manifest.manifestVersion !== 1) {
|
|
10
|
+
throw new Error(`Unsupported manifest version: ${manifest.manifestVersion}`);
|
|
11
|
+
}
|
|
12
|
+
return manifest;
|
|
13
|
+
}
|
|
14
|
+
catch (error) {
|
|
15
|
+
const nodeError = error;
|
|
16
|
+
if (nodeError.code === 'ENOENT') {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
throw error;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
export async function saveManifest(manifestPath, manifest) {
|
|
23
|
+
await mkdir(dirname(manifestPath), { recursive: true });
|
|
24
|
+
await writeFile(manifestPath, serializeManifest(manifest), 'utf-8');
|
|
25
|
+
}
|