@pikku/cli 0.11.2 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli.schema.json +1 -1
- package/console-app/android-chrome-192x192.png +0 -0
- package/console-app/android-chrome-512x512.png +0 -0
- package/console-app/apple-touch-icon.png +0 -0
- package/console-app/assets/index-0Ui5UudO.css +1 -0
- package/console-app/assets/index-C19L3UJu.js +637 -0
- package/console-app/favicon-16x16.png +0 -0
- package/console-app/favicon-32x32.png +0 -0
- package/console-app/favicon.ico +0 -0
- package/console-app/index.html +29 -0
- package/console-app/pikku-console-logo.png +0 -0
- package/console-app/site.webmanifest +19 -0
- package/console-app/wiring-icons/cron.svg +6 -0
- package/console-app/wiring-icons/function.png +0 -0
- package/console-app/wiring-icons/http.svg +2 -0
- package/console-app/wiring-icons/mcp.svg +1 -0
- package/console-app/wiring-icons/queue.svg +18 -0
- package/console-app/wiring-icons/sse.svg +5 -0
- package/console-app/wiring-icons/websocket.svg +8 -0
- package/dist/.pikku/agent/pikku-agent-types.gen.d.ts +19 -0
- package/dist/.pikku/agent/pikku-agent-types.gen.js +4 -0
- package/dist/.pikku/agent/pikku-agent-wirings-meta.gen.js +6 -0
- package/dist/.pikku/agent/pikku-agent-wirings-meta.gen.json +3 -0
- package/dist/.pikku/agent/pikku-agent-wirings.gen.d.ts +4 -0
- package/dist/.pikku/agent/pikku-agent-wirings.gen.js +4 -0
- package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +65 -10
- package/dist/.pikku/channel/pikku-channel-types.gen.js +23 -16
- package/dist/.pikku/channel/pikku-channels-meta.gen.js +3 -2
- package/dist/.pikku/channel/pikku-channels.gen.d.ts +1 -1
- package/dist/.pikku/channel/pikku-channels.gen.js +1 -1
- package/dist/.pikku/cli/pikku-cli-channel.js +18 -3
- package/dist/.pikku/cli/pikku-cli-client.gen.d.ts +1 -1
- package/dist/.pikku/cli/pikku-cli-client.gen.js +1 -1
- package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +9 -1
- package/dist/.pikku/cli/pikku-cli-types.gen.js +12 -2
- package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +2 -2
- package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.json +45 -12
- package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +1 -1
- package/dist/.pikku/cli/pikku-cli-wirings.gen.js +1 -1
- package/dist/.pikku/cli/pikku-cli.gen.d.ts +1 -5
- package/dist/.pikku/cli/pikku-cli.gen.js +1 -5
- package/dist/.pikku/console/pikku-node-types.gen.d.ts +6 -0
- package/dist/.pikku/console/pikku-node-types.gen.js +1 -0
- package/dist/.pikku/function/pikku-function-types.gen.d.ts +180 -37
- package/dist/.pikku/function/pikku-function-types.gen.js +63 -53
- package/dist/.pikku/function/pikku-functions-meta.gen.js +2 -2
- package/dist/.pikku/function/pikku-functions-meta.gen.json +624 -506
- package/dist/.pikku/function/pikku-functions.gen.d.ts +1 -0
- package/dist/.pikku/function/pikku-functions.gen.js +119 -0
- package/dist/.pikku/http/pikku-http-types.gen.d.ts +54 -3
- package/dist/.pikku/http/pikku-http-types.gen.js +11 -2
- package/dist/.pikku/http/pikku-http-wirings-meta.gen.js +3 -10
- package/dist/.pikku/http/pikku-http-wirings-meta.gen.json +9 -0
- package/dist/.pikku/http/pikku-http-wirings.gen.d.ts +1 -1
- package/dist/.pikku/http/pikku-http-wirings.gen.js +1 -1
- package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +68 -29
- package/dist/.pikku/mcp/pikku-mcp-types.gen.js +8 -42
- package/dist/.pikku/mcp/pikku-mcp-wirings-meta.gen.js +4 -4
- package/dist/.pikku/mcp/pikku-mcp-wirings.gen.d.ts +1 -1
- package/dist/.pikku/mcp/pikku-mcp-wirings.gen.js +2 -2
- package/dist/.pikku/node/pikku-node-types.gen.d.ts +1 -0
- package/dist/.pikku/node/pikku-node-types.gen.js +1 -0
- package/dist/.pikku/pikku-bootstrap.gen.d.ts +9 -10
- package/dist/.pikku/pikku-bootstrap.gen.js +17 -8
- package/dist/.pikku/pikku-services.gen.d.ts +7 -2
- package/dist/.pikku/pikku-services.gen.js +5 -0
- package/dist/.pikku/pikku-types.gen.d.ts +4 -1
- package/dist/.pikku/pikku-types.gen.js +7 -1
- package/dist/.pikku/pikku-websocket.gen.d.ts +1 -1
- package/dist/.pikku/pikku-websocket.gen.js +1 -1
- package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +1 -1
- package/dist/.pikku/queue/pikku-queue-types.gen.js +2 -2
- package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +2 -2
- package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.d.ts +1 -1
- package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.js +1 -1
- package/dist/.pikku/rpc/pikku-remote-rpc-workers.gen.d.ts +6 -3
- package/dist/.pikku/rpc/pikku-remote-rpc-workers.gen.js +6 -3
- package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.d.ts +1 -0
- package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +6 -0
- package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.json +61 -0
- package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
- package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +2 -2
- package/dist/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.js +2 -2
- package/dist/.pikku/scheduler/pikku-schedulers-wirings.gen.d.ts +1 -1
- package/dist/.pikku/scheduler/pikku-schedulers-wirings.gen.js +1 -1
- package/dist/.pikku/schemas/register.gen.js +33 -15
- package/dist/.pikku/schemas/schemas/BootstrapInput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/ConsoleCommandInput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/PikkuAIAgentOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/PikkuConsoleFunctionsOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/PikkuNodesMetaOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/PikkuPackageOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/PikkuPublicAgentOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/PikkuSchemasOutput.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/PikkuTriggerOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/PikkuVersionsInitInput.schema.json +1 -0
- package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +5 -0
- package/dist/.pikku/secrets/pikku-secret-types.gen.js +4 -0
- package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +11 -0
- package/dist/.pikku/secrets/pikku-secrets.gen.js +10 -0
- package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +113 -0
- package/dist/.pikku/trigger/pikku-trigger-types.gen.js +33 -0
- package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +5 -0
- package/dist/.pikku/variables/pikku-variable-types.gen.js +4 -0
- package/dist/.pikku/variables/pikku-variables.gen.d.ts +11 -0
- package/dist/.pikku/variables/pikku-variables.gen.js +10 -0
- package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +71 -53
- package/dist/.pikku/workflow/pikku-workflow-types.gen.js +23 -35
- package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +3 -3
- package/dist/.pikku/workflow/pikku-workflow-wirings.gen.d.ts +2 -6
- package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +2 -6
- package/dist/bin/pikku.js +20 -47
- package/dist/src/cli.wiring.js +29 -2
- package/dist/src/functions/commands/all.d.ts +1 -1
- package/dist/src/functions/commands/all.js +109 -168
- package/dist/src/functions/commands/bootstrap.d.ts +1 -1
- package/dist/src/functions/commands/bootstrap.js +13 -29
- package/dist/src/functions/commands/console.d.ts +7 -0
- package/dist/src/functions/commands/console.js +106 -0
- package/dist/src/functions/commands/pikku-command-bootstrap.d.ts +4 -0
- package/dist/src/functions/commands/pikku-command-bootstrap.js +67 -0
- package/dist/src/functions/commands/pikku-command-summary.d.ts +1 -0
- package/dist/src/functions/commands/pikku-command-summary.js +55 -0
- package/dist/src/functions/commands/versions-check.d.ts +1 -0
- package/dist/src/functions/commands/versions-check.js +17 -0
- package/dist/src/functions/commands/versions-init.d.ts +7 -0
- package/dist/src/functions/commands/versions-init.js +15 -0
- package/dist/src/functions/commands/versions-update.d.ts +1 -0
- package/dist/src/functions/commands/versions-update.js +20 -0
- package/dist/src/functions/commands/watch.d.ts +1 -1
- package/dist/src/functions/commands/watch.js +4 -5
- package/dist/src/functions/runtimes/fetch/index.d.ts +1 -0
- package/dist/src/functions/{wirings → runtimes}/fetch/index.js +3 -3
- package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.d.ts +1 -1
- package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.js +6 -8
- package/dist/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.d.ts +1 -1
- package/dist/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.js +49 -43
- package/dist/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.js +45 -35
- package/dist/src/functions/runtimes/websocket/pikku-command-websocket-typed.d.ts +1 -0
- package/dist/src/functions/{wirings/channels → runtimes/websocket}/pikku-command-websocket-typed.js +2 -2
- package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent-types.d.ts +1 -0
- package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent-types.js +19 -0
- package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent.d.ts +1 -0
- package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent.js +68 -0
- package/dist/src/functions/wirings/ai-agent/pikku-command-public-agent.d.ts +1 -0
- package/dist/src/functions/wirings/ai-agent/pikku-command-public-agent.js +23 -0
- package/dist/src/functions/wirings/ai-agent/serialize-agent-map.d.ts +4 -0
- package/dist/src/functions/wirings/ai-agent/serialize-agent-map.js +48 -0
- package/dist/src/functions/wirings/ai-agent/serialize-ai-agent-types.d.ts +1 -0
- package/dist/src/functions/wirings/ai-agent/serialize-ai-agent-types.js +31 -0
- package/dist/src/functions/wirings/ai-agent/serialize-public-agent.d.ts +1 -0
- package/dist/src/functions/wirings/ai-agent/serialize-public-agent.js +90 -0
- package/dist/src/functions/wirings/channels/pikku-channels.d.ts +1 -1
- package/dist/src/functions/wirings/channels/pikku-channels.js +2 -2
- package/dist/src/functions/wirings/channels/pikku-command-channel-types.d.ts +1 -1
- package/dist/src/functions/wirings/channels/pikku-command-channel-types.js +3 -3
- package/dist/src/functions/wirings/channels/pikku-command-channels-map.d.ts +1 -1
- package/dist/src/functions/wirings/channels/pikku-command-channels-map.js +2 -2
- package/dist/src/functions/wirings/channels/pikku-command-channels.d.ts +1 -1
- package/dist/src/functions/wirings/channels/pikku-command-channels.js +19 -3
- package/dist/src/functions/wirings/channels/serialize-channel-types.d.ts +1 -1
- package/dist/src/functions/wirings/channels/serialize-channel-types.js +97 -10
- package/dist/src/functions/wirings/channels/serialize-typed-channel-map.d.ts +2 -1
- package/dist/src/functions/wirings/channels/serialize-typed-channel-map.js +9 -10
- package/dist/src/functions/wirings/cli/pikku-command-cli-entry.d.ts +1 -1
- package/dist/src/functions/wirings/cli/pikku-command-cli-entry.js +3 -7
- package/dist/src/functions/wirings/cli/pikku-command-cli-types.d.ts +1 -1
- package/dist/src/functions/wirings/cli/pikku-command-cli-types.js +1 -1
- package/dist/src/functions/wirings/cli/pikku-command-cli.d.ts +1 -1
- package/dist/src/functions/wirings/cli/pikku-command-cli.js +11 -3
- package/dist/src/functions/wirings/cli/serialize-channel-cli.js +8 -8
- package/dist/src/functions/wirings/cli/serialize-cli-types.js +14 -1
- package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.d.ts +2 -2
- package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.js +10 -11
- package/dist/src/functions/wirings/console/pikku-command-console-functions.d.ts +1 -0
- package/dist/src/functions/wirings/console/pikku-command-console-functions.js +23 -0
- package/dist/src/functions/wirings/console/pikku-command-node-types.d.ts +1 -0
- package/dist/src/functions/wirings/console/pikku-command-node-types.js +21 -0
- package/dist/src/functions/wirings/console/pikku-command-nodes-meta.d.ts +1 -0
- package/dist/src/functions/wirings/console/pikku-command-nodes-meta.js +79 -0
- package/dist/src/functions/wirings/console/serialize-console-functions.d.ts +1 -0
- package/dist/src/functions/wirings/console/serialize-console-functions.js +229 -0
- package/dist/src/functions/wirings/console/serialize-node-types.d.ts +1 -0
- package/dist/src/functions/wirings/console/serialize-node-types.js +11 -0
- package/dist/src/functions/wirings/functions/pikku-command-external-types.d.ts +1 -0
- package/dist/src/functions/wirings/functions/pikku-command-external-types.js +33 -0
- package/dist/src/functions/wirings/functions/pikku-command-function-types-split.d.ts +1 -1
- package/dist/src/functions/wirings/functions/pikku-command-function-types-split.js +2 -2
- package/dist/src/functions/wirings/functions/pikku-command-function-types.d.ts +1 -1
- package/dist/src/functions/wirings/functions/pikku-command-function-types.js +8 -3
- package/dist/src/functions/wirings/functions/pikku-command-functions.d.ts +1 -1
- package/dist/src/functions/wirings/functions/pikku-command-functions.js +34 -19
- package/dist/src/functions/wirings/functions/pikku-command-services.d.ts +1 -1
- package/dist/src/functions/wirings/functions/pikku-command-services.js +2 -2
- package/dist/src/functions/wirings/functions/schemas.d.ts +1 -4
- package/dist/src/functions/wirings/functions/schemas.js +8 -9
- package/dist/src/functions/wirings/functions/serialize-external-types.d.ts +1 -0
- package/dist/src/functions/wirings/functions/serialize-external-types.js +77 -0
- package/dist/src/functions/wirings/functions/serialize-function-imports.d.ts +4 -3
- package/dist/src/functions/wirings/functions/serialize-function-imports.js +16 -19
- package/dist/src/functions/wirings/functions/serialize-function-types.d.ts +1 -1
- package/dist/src/functions/wirings/functions/serialize-function-types.js +256 -42
- package/dist/src/functions/wirings/functions/serialize-pikku-types-hub.d.ts +1 -1
- package/dist/src/functions/wirings/functions/serialize-pikku-types-hub.js +22 -21
- package/dist/src/functions/wirings/http/pikku-command-http-map.d.ts +1 -1
- package/dist/src/functions/wirings/http/pikku-command-http-map.js +4 -4
- package/dist/src/functions/wirings/http/pikku-command-http-routes.d.ts +1 -1
- package/dist/src/functions/wirings/http/pikku-command-http-routes.js +19 -3
- package/dist/src/functions/wirings/http/pikku-command-http-types.d.ts +1 -1
- package/dist/src/functions/wirings/http/pikku-command-http-types.js +1 -1
- package/dist/src/functions/wirings/http/pikku-command-openapi.d.ts +1 -1
- package/dist/src/functions/wirings/http/pikku-command-openapi.js +11 -9
- package/dist/src/functions/wirings/http/pikku-http-routes.d.ts +1 -1
- package/dist/src/functions/wirings/http/pikku-http-routes.js +2 -2
- package/dist/src/functions/wirings/http/serialize-http-types.js +64 -3
- package/dist/src/functions/wirings/http/serialize-typed-http-map.d.ts +5 -2
- package/dist/src/functions/wirings/http/serialize-typed-http-map.js +43 -31
- package/dist/src/functions/wirings/mcp/pikku-command-mcp-json.d.ts +1 -1
- package/dist/src/functions/wirings/mcp/pikku-command-mcp-json.js +5 -6
- package/dist/src/functions/wirings/mcp/pikku-command-mcp-types.d.ts +1 -1
- package/dist/src/functions/wirings/mcp/pikku-command-mcp-types.js +1 -1
- package/dist/src/functions/wirings/mcp/pikku-command-mcp.d.ts +1 -1
- package/dist/src/functions/wirings/mcp/pikku-command-mcp.js +28 -10
- package/dist/src/functions/wirings/mcp/serialize-mcp-types.js +81 -38
- package/dist/src/functions/wirings/middleware/pikku-command-middleware.d.ts +1 -1
- package/dist/src/functions/wirings/middleware/pikku-command-middleware.js +11 -31
- package/dist/src/functions/wirings/middleware/serialize-middleware-imports.js +19 -24
- package/dist/src/functions/wirings/package/pikku-command-package-types.d.ts +2 -0
- package/dist/src/functions/wirings/package/pikku-command-package-types.js +30 -0
- package/dist/src/functions/wirings/package/pikku-command-package.d.ts +1 -0
- package/dist/src/functions/wirings/package/pikku-command-package.js +58 -0
- package/dist/src/functions/wirings/package/serialize-package-types.d.ts +2 -0
- package/dist/src/functions/wirings/package/serialize-package-types.js +10 -0
- package/dist/src/functions/wirings/package/serialize-package.d.ts +5 -0
- package/dist/src/functions/wirings/package/serialize-package.js +32 -0
- package/dist/src/functions/wirings/permissions/pikku-command-permissions.d.ts +1 -1
- package/dist/src/functions/wirings/permissions/pikku-command-permissions.js +10 -5
- package/dist/src/functions/wirings/queue/pikku-command-queue-map.d.ts +1 -1
- package/dist/src/functions/wirings/queue/pikku-command-queue-map.js +3 -3
- package/dist/src/functions/wirings/queue/pikku-command-queue-service.d.ts +1 -1
- package/dist/src/functions/wirings/queue/pikku-command-queue-service.js +2 -2
- package/dist/src/functions/wirings/queue/pikku-command-queue-types.d.ts +1 -1
- package/dist/src/functions/wirings/queue/pikku-command-queue-types.js +1 -1
- package/dist/src/functions/wirings/queue/pikku-command-queue.d.ts +1 -1
- package/dist/src/functions/wirings/queue/pikku-command-queue.js +11 -3
- package/dist/src/functions/wirings/queue/pikku-queue-map.d.ts +1 -1
- package/dist/src/functions/wirings/queue/pikku-queue-map.js +3 -3
- package/dist/src/functions/wirings/queue/pikku-queue.d.ts +1 -1
- package/dist/src/functions/wirings/queue/pikku-queue.js +2 -10
- package/dist/src/functions/wirings/queue/serialize-queue-map.d.ts +5 -2
- package/dist/src/functions/wirings/queue/serialize-queue-map.js +13 -24
- package/dist/src/functions/wirings/queue/serialize-queue-meta.js +9 -10
- package/dist/src/functions/wirings/queue/serialize-queue-types.js +1 -1
- package/dist/src/functions/wirings/rpc/pikku-command-public-rpc.d.ts +1 -1
- package/dist/src/functions/wirings/rpc/pikku-command-public-rpc.js +2 -2
- package/dist/src/functions/wirings/rpc/pikku-command-remote-rpc.d.ts +1 -1
- package/dist/src/functions/wirings/rpc/pikku-command-remote-rpc.js +1 -1
- package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.d.ts +1 -1
- package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.js +2 -2
- package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.d.ts +2 -2
- package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.js +12 -7
- package/dist/src/functions/wirings/rpc/pikku-command-rpc.d.ts +1 -1
- package/dist/src/functions/wirings/rpc/pikku-command-rpc.js +5 -2
- package/dist/src/functions/wirings/rpc/serialize-public-rpc.d.ts +1 -1
- package/dist/src/functions/wirings/rpc/serialize-public-rpc.js +11 -6
- package/dist/src/functions/wirings/rpc/serialize-remote-rpc.js +5 -2
- package/dist/src/functions/wirings/rpc/serialize-rpc-wrapper.js +19 -8
- package/dist/src/functions/wirings/rpc/serialize-typed-rpc-map.d.ts +6 -3
- package/dist/src/functions/wirings/rpc/serialize-typed-rpc-map.js +130 -59
- package/dist/src/functions/wirings/scheduler/pikku-command-scheduler-types.d.ts +1 -1
- package/dist/src/functions/wirings/scheduler/pikku-command-scheduler-types.js +1 -1
- package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.d.ts +1 -1
- package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.js +11 -2
- package/dist/src/functions/wirings/scheduler/serialize-scheduler-meta.d.ts +1 -1
- package/dist/src/functions/wirings/scheduler/serialize-scheduler-meta.js +13 -12
- package/dist/src/functions/wirings/scheduler/serialize-scheduler-types.js +1 -1
- package/dist/src/functions/wirings/secrets/pikku-command-secrets.d.ts +1 -0
- package/dist/src/functions/wirings/secrets/pikku-command-secrets.js +31 -0
- package/dist/src/functions/wirings/secrets/serialize-secrets-types.d.ts +9 -0
- package/dist/src/functions/wirings/secrets/serialize-secrets-types.js +64 -0
- package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.d.ts +1 -0
- package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.js +24 -0
- package/dist/src/functions/wirings/triggers/pikku-command-trigger.d.ts +1 -0
- package/dist/src/functions/wirings/triggers/pikku-command-trigger.js +40 -0
- package/dist/src/functions/wirings/triggers/serialize-trigger-meta.d.ts +5 -0
- package/dist/src/functions/wirings/triggers/serialize-trigger-meta.js +35 -0
- package/dist/src/functions/wirings/triggers/serialize-trigger-types.d.ts +4 -0
- package/dist/src/functions/wirings/triggers/serialize-trigger-types.js +163 -0
- package/dist/src/functions/wirings/variables/pikku-command-variables.d.ts +1 -0
- package/dist/src/functions/wirings/variables/pikku-command-variables.js +31 -0
- package/dist/src/functions/wirings/variables/serialize-variables-types.d.ts +9 -0
- package/dist/src/functions/wirings/variables/serialize-variables-types.js +53 -0
- package/dist/src/functions/wirings/workflow/pikku-command-workflow.d.ts +1 -1
- package/dist/src/functions/wirings/workflow/pikku-command-workflow.js +29 -20
- package/dist/src/functions/wirings/workflow/serialize-workflow-map.d.ts +7 -2
- package/dist/src/functions/wirings/workflow/serialize-workflow-map.js +87 -38
- package/dist/src/functions/wirings/workflow/serialize-workflow-meta.d.ts +1 -3
- package/dist/src/functions/wirings/workflow/serialize-workflow-meta.js +42 -18
- package/dist/src/functions/wirings/workflow/serialize-workflow-registration.d.ts +7 -0
- package/dist/src/functions/wirings/workflow/serialize-workflow-registration.js +26 -0
- package/dist/src/functions/wirings/workflow/serialize-workflow-types.d.ts +1 -4
- package/dist/src/functions/wirings/workflow/serialize-workflow-types.js +121 -63
- package/dist/src/functions/wirings/workflow/serialize-workflow-workers.d.ts +1 -1
- package/dist/src/functions/wirings/workflow/serialize-workflow-workers.js +15 -28
- package/dist/src/services/cli-logger-forwarder.service.d.ts +1 -1
- package/dist/src/services/cli-logger-forwarder.service.js +1 -1
- package/dist/src/services/cli-logger.service.d.ts +1 -1
- package/dist/src/services/cli-logger.service.js +1 -1
- package/dist/src/services.d.ts +1 -1
- package/dist/src/services.js +56 -6
- package/dist/src/utils/command-summary.d.ts +3 -0
- package/dist/src/utils/command-summary.js +3 -0
- package/dist/src/utils/contract-versions.d.ts +6 -0
- package/dist/src/utils/contract-versions.js +25 -0
- package/dist/src/utils/file-import-path.js +20 -6
- package/dist/src/utils/generate-bootstrap-file.js +1 -1
- package/dist/src/utils/pikku-cli-config.js +104 -13
- package/dist/src/utils/pikku-files-and-methods.d.ts +0 -1
- package/dist/src/utils/pikku-files-and-methods.js +15 -60
- package/dist/src/utils/serialize-import-map.d.ts +2 -1
- package/dist/src/utils/serialize-import-map.js +3 -54
- package/dist/src/utils/serialize-meta-ts.d.ts +8 -0
- package/dist/src/utils/serialize-meta-ts.js +12 -0
- package/dist/src/utils/serialize-schemas.d.ts +3 -0
- package/dist/src/utils/serialize-schemas.js +38 -0
- package/dist/src/utils/strip-verbose-meta.d.ts +43 -0
- package/dist/src/utils/strip-verbose-meta.js +210 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +20 -8
- package/.pikku/channel/pikku-channel-types.gen.ts +0 -91
- package/.pikku/channel/pikku-channels-map.gen.d.ts +0 -47
- package/.pikku/channel/pikku-channels-meta.gen.ts +0 -5
- package/.pikku/channel/pikku-channels.gen.ts +0 -4
- package/.pikku/cli/pikku-cli-channel.ts +0 -92
- package/.pikku/cli/pikku-cli-client.gen.ts +0 -54
- package/.pikku/cli/pikku-cli-types.gen.ts +0 -92
- package/.pikku/cli/pikku-cli-wirings-meta.gen.json +0 -146
- package/.pikku/cli/pikku-cli-wirings-meta.gen.ts +0 -7
- package/.pikku/cli/pikku-cli-wirings.gen.ts +0 -6
- package/.pikku/cli/pikku-cli.gen.ts +0 -41
- package/.pikku/function/pikku-function-types.gen.ts +0 -426
- package/.pikku/function/pikku-functions-meta.gen.json +0 -988
- package/.pikku/function/pikku-functions-meta.gen.ts +0 -6
- package/.pikku/function/pikku-functions-meta.min.gen.json +0 -212
- package/.pikku/function/pikku-functions-meta.min.gen.ts +0 -6
- package/.pikku/http/pikku-http-types.gen.ts +0 -86
- package/.pikku/http/pikku-http-wirings-map.gen.d.ts +0 -46
- package/.pikku/http/pikku-http-wirings-meta.gen.ts +0 -13
- package/.pikku/http/pikku-http-wirings.gen.ts +0 -4
- package/.pikku/mcp/pikku-mcp-types.gen.ts +0 -140
- package/.pikku/mcp/pikku-mcp-wirings-meta.gen.json +0 -5
- package/.pikku/mcp/pikku-mcp-wirings-meta.gen.ts +0 -9
- package/.pikku/mcp/pikku-mcp-wirings.gen.ts +0 -4
- package/.pikku/mcp/pikku-mcp.gen.json +0 -5
- package/.pikku/pikku-bootstrap.gen.ts +0 -19
- package/.pikku/pikku-services.gen.ts +0 -27
- package/.pikku/pikku-types.gen.ts +0 -27
- package/.pikku/pikku-websocket.gen.ts +0 -90
- package/.pikku/queue/pikku-queue-types.gen.ts +0 -27
- package/.pikku/queue/pikku-queue-workers-wirings-map.gen.d.ts +0 -60
- package/.pikku/queue/pikku-queue-workers-wirings-meta.gen.json +0 -1
- package/.pikku/queue/pikku-queue-workers-wirings-meta.gen.ts +0 -8
- package/.pikku/queue/pikku-queue-workers-wirings.gen.ts +0 -4
- package/.pikku/rpc/pikku-remote-rpc-workers.gen.ts +0 -27
- package/.pikku/rpc/pikku-rpc-wirings-map.gen.d.ts +0 -57
- package/.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts +0 -99
- package/.pikku/scheduler/pikku-scheduler-types.gen.ts +0 -25
- package/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.json +0 -1
- package/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.ts +0 -8
- package/.pikku/scheduler/pikku-schedulers-wirings.gen.ts +0 -4
- package/.pikku/schemas/register.gen.ts +0 -63
- package/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuCLIOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuChannelsOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuFunctionsOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuHTTPOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuMCPOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuMiddlewareOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuPermissionsOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuPublicRPCOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuQueueOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuRPCOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuRemoteRPCOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuSchedulerOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuSchemasOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuWorkflowOutput.schema.json +0 -1
- package/.pikku/services/config.gen.json +0 -99
- package/.pikku/services/getInspectorState.gen.json +0 -10
- package/.pikku/services/jwt.gen.json +0 -13
- package/.pikku/services/logger.gen.json +0 -25
- package/.pikku/services/queueService.gen.json +0 -14
- package/.pikku/services/schedulerService.gen.json +0 -17
- package/.pikku/services/schema.gen.json +0 -14
- package/.pikku/services/variables.gen.json +0 -13
- package/.pikku/services/workflowService.gen.json +0 -31
- package/.pikku/workflow/pikku-workflow-map.gen.d.ts +0 -62
- package/.pikku/workflow/pikku-workflow-types.gen.ts +0 -97
- package/.pikku/workflow/pikku-workflow-wirings-meta.gen.json +0 -1
- package/.pikku/workflow/pikku-workflow-wirings-meta.gen.ts +0 -8
- package/.pikku/workflow/pikku-workflow-wirings.gen.ts +0 -8
- package/CHANGELOG.md +0 -935
- package/bin/pikku.ts +0 -88
- package/build.sh +0 -75
- package/dist/.pikku/function/pikku-functions-meta.min.gen.js +0 -6
- package/dist/.pikku/function/pikku-functions-meta.min.gen.json +0 -212
- package/dist/src/functions/wirings/channels/pikku-command-websocket-typed.d.ts +0 -1
- package/dist/src/functions/wirings/fetch/index.d.ts +0 -1
- package/dist/src/functions/wirings/functions/pikku-function-types.d.ts +0 -1
- package/dist/src/functions/wirings/functions/pikku-function-types.js +0 -18
- package/dist/src/functions/wirings/http/openapi-spec-generator.d.ts +0 -81
- package/dist/src/functions/wirings/http/openapi-spec-generator.js +0 -152
- package/dist/src/functions/wirings/mcp/serialize-mcp-json.d.ts +0 -5
- package/dist/src/functions/wirings/mcp/serialize-mcp-json.js +0 -101
- package/dist/src/functions/wirings/middleware/serialize-middleware-groups-meta.d.ts +0 -11
- package/dist/src/functions/wirings/middleware/serialize-middleware-groups-meta.js +0 -36
- package/dist/src/functions/wirings/services/pikku-command-service-metadata.d.ts +0 -1
- package/dist/src/functions/wirings/services/pikku-command-service-metadata.js +0 -22
- package/dist/src/functions/wirings/workflow/pikku-command-workflow-map.d.ts +0 -1
- package/dist/src/functions/wirings/workflow/pikku-command-workflow-map.js +0 -12
- package/dist/src/functions/wirings/workflow/pikku-command-workflow-types.d.ts +0 -1
- package/dist/src/functions/wirings/workflow/pikku-command-workflow-types.js +0 -13
- package/dist/src/functions/wirings/workflow/serialize-workflow-wirings.d.ts +0 -8
- package/dist/src/functions/wirings/workflow/serialize-workflow-wirings.js +0 -30
- package/dist/src/utils/custom-types-generator.d.ts +0 -2
- package/dist/src/utils/custom-types-generator.js +0 -43
- package/dist/src/utils/schema-generator.d.ts +0 -6
- package/dist/src/utils/schema-generator.js +0 -118
- package/pikku.config.json +0 -29
- package/run-tests.sh +0 -53
- package/src/cli.wiring.ts +0 -112
- package/src/functions/commands/all.ts +0 -266
- package/src/functions/commands/bootstrap.ts +0 -43
- package/src/functions/commands/watch.ts +0 -61
- package/src/functions/runtimes/nextjs/pikku-command-nextjs.ts +0 -132
- package/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.ts +0 -268
- package/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.ts +0 -201
- package/src/functions/wirings/channels/pikku-channels.ts +0 -59
- package/src/functions/wirings/channels/pikku-command-channel-types.ts +0 -25
- package/src/functions/wirings/channels/pikku-command-channels-map.ts +0 -26
- package/src/functions/wirings/channels/pikku-command-channels.ts +0 -40
- package/src/functions/wirings/channels/pikku-command-websocket-typed.ts +0 -37
- package/src/functions/wirings/channels/serialize-channel-types.ts +0 -94
- package/src/functions/wirings/channels/serialize-typed-channel-map.ts +0 -172
- package/src/functions/wirings/channels/serialize-websocket-wrapper.ts +0 -89
- package/src/functions/wirings/cli/pikku-command-cli-entry.ts +0 -216
- package/src/functions/wirings/cli/pikku-command-cli-types.ts +0 -48
- package/src/functions/wirings/cli/pikku-command-cli.ts +0 -62
- package/src/functions/wirings/cli/serialize-channel-cli-client.ts +0 -184
- package/src/functions/wirings/cli/serialize-channel-cli.ts +0 -134
- package/src/functions/wirings/cli/serialize-cli-types.ts +0 -101
- package/src/functions/wirings/cli/serialize-local-cli-bootstrap.ts +0 -80
- package/src/functions/wirings/fetch/index.ts +0 -36
- package/src/functions/wirings/functions/pikku-command-function-types-split.ts +0 -60
- package/src/functions/wirings/functions/pikku-command-function-types.ts +0 -43
- package/src/functions/wirings/functions/pikku-command-functions.ts +0 -94
- package/src/functions/wirings/functions/pikku-command-services.ts +0 -140
- package/src/functions/wirings/functions/pikku-function-types.ts +0 -43
- package/src/functions/wirings/functions/schemas.ts +0 -46
- package/src/functions/wirings/functions/serialize-function-imports.ts +0 -71
- package/src/functions/wirings/functions/serialize-function-types.ts +0 -439
- package/src/functions/wirings/functions/serialize-pikku-types-hub.ts +0 -38
- package/src/functions/wirings/http/openapi-spec-generator.ts +0 -265
- package/src/functions/wirings/http/pikku-command-http-map.ts +0 -27
- package/src/functions/wirings/http/pikku-command-http-routes.ts +0 -36
- package/src/functions/wirings/http/pikku-command-http-types.ts +0 -25
- package/src/functions/wirings/http/pikku-command-openapi.ts +0 -63
- package/src/functions/wirings/http/pikku-http-routes.ts +0 -61
- package/src/functions/wirings/http/serialize-fetch-wrapper.ts +0 -67
- package/src/functions/wirings/http/serialize-http-types.ts +0 -89
- package/src/functions/wirings/http/serialize-typed-http-map.ts +0 -154
- package/src/functions/wirings/mcp/pikku-command-mcp-json.ts +0 -33
- package/src/functions/wirings/mcp/pikku-command-mcp-types.ts +0 -25
- package/src/functions/wirings/mcp/pikku-command-mcp.ts +0 -140
- package/src/functions/wirings/mcp/serialize-mcp-json.ts +0 -159
- package/src/functions/wirings/mcp/serialize-mcp-types.ts +0 -143
- package/src/functions/wirings/middleware/pikku-command-middleware.ts +0 -85
- package/src/functions/wirings/middleware/serialize-middleware-groups-meta.ts +0 -40
- package/src/functions/wirings/middleware/serialize-middleware-imports.ts +0 -78
- package/src/functions/wirings/permissions/pikku-command-permissions.ts +0 -49
- package/src/functions/wirings/permissions/serialize-permissions-imports.test.ts +0 -274
- package/src/functions/wirings/permissions/serialize-permissions-imports.ts +0 -78
- package/src/functions/wirings/queue/pikku-command-queue-map.ts +0 -26
- package/src/functions/wirings/queue/pikku-command-queue-service.ts +0 -37
- package/src/functions/wirings/queue/pikku-command-queue-types.ts +0 -25
- package/src/functions/wirings/queue/pikku-command-queue.ts +0 -66
- package/src/functions/wirings/queue/pikku-queue-map.ts +0 -26
- package/src/functions/wirings/queue/pikku-queue.ts +0 -75
- package/src/functions/wirings/queue/serialize-queue-map.ts +0 -119
- package/src/functions/wirings/queue/serialize-queue-meta.ts +0 -24
- package/src/functions/wirings/queue/serialize-queue-types.ts +0 -30
- package/src/functions/wirings/queue/serialize-queue-wrapper.ts +0 -35
- package/src/functions/wirings/rpc/pikku-command-public-rpc.ts +0 -32
- package/src/functions/wirings/rpc/pikku-command-remote-rpc.ts +0 -35
- package/src/functions/wirings/rpc/pikku-command-rpc-client.ts +0 -35
- package/src/functions/wirings/rpc/pikku-command-rpc-map.ts +0 -48
- package/src/functions/wirings/rpc/pikku-command-rpc.ts +0 -49
- package/src/functions/wirings/rpc/serialize-public-rpc.ts +0 -37
- package/src/functions/wirings/rpc/serialize-remote-rpc.ts +0 -30
- package/src/functions/wirings/rpc/serialize-rpc-wrapper.ts +0 -68
- package/src/functions/wirings/rpc/serialize-typed-rpc-map.ts +0 -128
- package/src/functions/wirings/scheduler/pikku-command-scheduler-types.ts +0 -25
- package/src/functions/wirings/scheduler/pikku-command-scheduler.ts +0 -67
- package/src/functions/wirings/scheduler/serialize-scheduler-meta.ts +0 -37
- package/src/functions/wirings/scheduler/serialize-scheduler-types.ts +0 -28
- package/src/functions/wirings/services/pikku-command-service-metadata.ts +0 -25
- package/src/functions/wirings/workflow/pikku-command-workflow-map.ts +0 -24
- package/src/functions/wirings/workflow/pikku-command-workflow-types.ts +0 -29
- package/src/functions/wirings/workflow/pikku-command-workflow.ts +0 -151
- package/src/functions/wirings/workflow/serialize-workflow-map.ts +0 -123
- package/src/functions/wirings/workflow/serialize-workflow-meta.ts +0 -33
- package/src/functions/wirings/workflow/serialize-workflow-types.ts +0 -103
- package/src/functions/wirings/workflow/serialize-workflow-wirings.ts +0 -47
- package/src/functions/wirings/workflow/serialize-workflow-workers.ts +0 -60
- package/src/middleware/log-command-info-and-time.ts +0 -35
- package/src/services/cli-logger-forwarder.service.ts +0 -99
- package/src/services/cli-logger.service.ts +0 -108
- package/src/services.ts +0 -315
- package/src/utils/check-required-types.ts +0 -65
- package/src/utils/command-summary.ts +0 -103
- package/src/utils/custom-types-generator.ts +0 -55
- package/src/utils/file-import-path.test.ts +0 -175
- package/src/utils/file-import-path.ts +0 -53
- package/src/utils/file-imports-serializer.ts +0 -25
- package/src/utils/file-writer.ts +0 -72
- package/src/utils/generate-bootstrap-file.ts +0 -43
- package/src/utils/get-cli-version.ts +0 -28
- package/src/utils/pikku-cli-config.ts +0 -462
- package/src/utils/pikku-files-and-methods.ts +0 -145
- package/src/utils/schema-generator.ts +0 -172
- package/src/utils/serialize-import-map.ts +0 -102
- package/tsconfig.json +0 -21
- package/types/application-types.d.ts +0 -27
- package/types/config.d.ts +0 -270
- /package/dist/.pikku/{function/pikku-functions-meta.min.gen.d.ts → agent/pikku-agent-wirings-meta.gen.d.ts} +0 -0
- /package/dist/.pikku/{workflow/pikku-workflow-wirings-meta.gen.json → channel/pikku-channels-meta.gen.json} +0 -0
- /package/dist/src/functions/{wirings/channels → runtimes/websocket}/serialize-websocket-wrapper.d.ts +0 -0
- /package/dist/src/functions/{wirings/channels → runtimes/websocket}/serialize-websocket-wrapper.js +0 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { getFileImportRelativePath } from '../../../utils/file-import-path.js';
|
|
2
|
+
export const serializeWorkflowRegistration = (outputPath, metaImportPath, workflowNames, workflowFiles, _graphFiles, packageMappings, _packageName) => {
|
|
3
|
+
const lines = [];
|
|
4
|
+
const hasWorkflows = workflowNames.length > 0;
|
|
5
|
+
const hasDslWorkflows = workflowFiles.size > 0;
|
|
6
|
+
if (hasDslWorkflows) {
|
|
7
|
+
lines.push(`import { addWorkflow } from '@pikku/core/workflow'`);
|
|
8
|
+
}
|
|
9
|
+
if (hasWorkflows) {
|
|
10
|
+
lines.push(`import '${metaImportPath}'`);
|
|
11
|
+
}
|
|
12
|
+
const sortedWorkflows = Array.from(workflowFiles.entries()).sort((a, b) => a[0].localeCompare(b[0]));
|
|
13
|
+
for (const [, { path, exportedName }] of sortedWorkflows) {
|
|
14
|
+
const importPath = getFileImportRelativePath(outputPath, path, packageMappings);
|
|
15
|
+
lines.push(`import { ${exportedName} } from '${importPath}'`);
|
|
16
|
+
}
|
|
17
|
+
lines.push('');
|
|
18
|
+
for (const [pikkuFuncId, { exportedName }] of sortedWorkflows) {
|
|
19
|
+
lines.push(`addWorkflow('${pikkuFuncId}', ${exportedName})`);
|
|
20
|
+
}
|
|
21
|
+
if (hasWorkflows) {
|
|
22
|
+
lines.push('');
|
|
23
|
+
lines.push(`export type WorkflowNames = '${workflowNames.join("' | '")}'`);
|
|
24
|
+
}
|
|
25
|
+
return lines.join('\n');
|
|
26
|
+
};
|
|
@@ -1,4 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* Generates type definitions for workflow wirings
|
|
3
|
-
*/
|
|
4
|
-
export declare const serializeWorkflowTypes: (functionTypesImportPath: string, rpcMapImportPath: string) => string;
|
|
1
|
+
export declare const serializeWorkflowTypes: (functionTypesImportPath: string, rpcMapImportPath: string, workflowMapImportPath: string) => string;
|
|
@@ -1,24 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
import {
|
|
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'
|
|
16
|
+
|
|
17
|
+
export { WorkflowCancelledException }
|
|
10
18
|
import type { PikkuFunctionSessionless, PikkuFunctionConfig } from '${functionTypesImportPath}'
|
|
11
|
-
import type { RPCMap } from '${rpcMapImportPath}'
|
|
19
|
+
import type { RPCMap, FlattenedRPCMap } from '${rpcMapImportPath}'
|
|
20
|
+
import type { WorkflowMap, GraphsMap } from '${workflowMapImportPath}'
|
|
21
|
+
|
|
22
|
+
export { template }
|
|
12
23
|
|
|
13
|
-
/**
|
|
14
|
-
* Typed workflow wire with RPC awareness
|
|
15
|
-
* Provides type-safe workflow.do() for RPC steps
|
|
16
|
-
*/
|
|
17
24
|
export interface TypedWorkflow extends PikkuWorkflowWire {
|
|
18
|
-
/**
|
|
19
|
-
* Execute a workflow step with RPC invocation (typed based on available RPCs)
|
|
20
|
-
* @template K - RPC name from the RPC map
|
|
21
|
-
*/
|
|
22
25
|
do<K extends keyof RPCMap>(
|
|
23
26
|
stepName: string,
|
|
24
27
|
rpcName: K,
|
|
@@ -26,10 +29,6 @@ export interface TypedWorkflow extends PikkuWorkflowWire {
|
|
|
26
29
|
options?: WorkflowStepOptions
|
|
27
30
|
): Promise<RPCMap[K]['output']>
|
|
28
31
|
|
|
29
|
-
/**
|
|
30
|
-
* Execute a workflow step with inline function
|
|
31
|
-
* @template T - Return type of the inline function
|
|
32
|
-
*/
|
|
33
32
|
do<T>(
|
|
34
33
|
stepName: string,
|
|
35
34
|
fn: () => T | Promise<T>,
|
|
@@ -37,31 +36,11 @@ export interface TypedWorkflow extends PikkuWorkflowWire {
|
|
|
37
36
|
): Promise<T>
|
|
38
37
|
}
|
|
39
38
|
|
|
40
|
-
/**
|
|
41
|
-
* Workflow function type with typed workflow service
|
|
42
|
-
* Includes the workflow wire object with typed RPC methods
|
|
43
|
-
*/
|
|
44
39
|
export type PikkuFunctionWorkflow<
|
|
45
40
|
In = unknown,
|
|
46
41
|
Out = never
|
|
47
|
-
> = PikkuFunctionSessionless<
|
|
48
|
-
|
|
49
|
-
Out,
|
|
50
|
-
'workflow'
|
|
51
|
-
>
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Creates a workflow function with typed input and output.
|
|
55
|
-
* Workflow functions have access to the workflow wire object for step execution.
|
|
56
|
-
*
|
|
57
|
-
* This is the permissive mode - workflows that don't conform to simple DSL will fall back
|
|
58
|
-
* to basic extraction with a warning.
|
|
59
|
-
*
|
|
60
|
-
* @template In - Input type for the workflow
|
|
61
|
-
* @template Out - Output type for the workflow
|
|
62
|
-
* @param func - Function definition, either direct function or configuration object
|
|
63
|
-
* @returns The normalized configuration object
|
|
64
|
-
*/
|
|
42
|
+
> = PikkuFunctionSessionless<In, Out, 'workflow'>
|
|
43
|
+
|
|
65
44
|
export const pikkuWorkflowFunc = <In, Out = unknown>(
|
|
66
45
|
func:
|
|
67
46
|
| PikkuFunctionWorkflow<In, Out>
|
|
@@ -70,25 +49,7 @@ export const pikkuWorkflowFunc = <In, Out = unknown>(
|
|
|
70
49
|
return typeof func === 'function' ? { func } : func
|
|
71
50
|
}
|
|
72
51
|
|
|
73
|
-
|
|
74
|
-
* Creates a simple workflow function with typed input and output.
|
|
75
|
-
* Simple workflows must conform to the restricted DSL for static analysis.
|
|
76
|
-
*
|
|
77
|
-
* This is the strict mode - workflows that don't conform to simple DSL will cause
|
|
78
|
-
* a critical error during inspection.
|
|
79
|
-
*
|
|
80
|
-
* Constraints:
|
|
81
|
-
* - Must use only workflow.do() with RPC form (no inline functions)
|
|
82
|
-
* - Only if/else, for..of, and Promise.all(array.map()) control flow allowed
|
|
83
|
-
* - Step names must be unique (except across mutually exclusive branches)
|
|
84
|
-
* - All workflow calls must be awaited
|
|
85
|
-
*
|
|
86
|
-
* @template In - Input type for the workflow
|
|
87
|
-
* @template Out - Output type for the workflow
|
|
88
|
-
* @param func - Function definition, either direct function or configuration object
|
|
89
|
-
* @returns The normalized configuration object
|
|
90
|
-
*/
|
|
91
|
-
export const pikkuSimpleWorkflowFunc = <In, Out = unknown>(
|
|
52
|
+
export const pikkuWorkflowComplexFunc = <In, Out = unknown>(
|
|
92
53
|
func:
|
|
93
54
|
| PikkuFunctionWorkflow<In, Out>
|
|
94
55
|
| PikkuFunctionConfig<In, Out, 'workflow', PikkuFunctionWorkflow<In, Out>>
|
|
@@ -96,5 +57,102 @@ export const pikkuSimpleWorkflowFunc = <In, Out = unknown>(
|
|
|
96
57
|
return typeof func === 'function' ? { func } : func
|
|
97
58
|
}
|
|
98
59
|
|
|
60
|
+
type TypedRef<T> = { $ref: string; path?: string } & { __phantomType?: T }
|
|
61
|
+
|
|
62
|
+
type TemplateString = {
|
|
63
|
+
$template: {
|
|
64
|
+
parts: string[]
|
|
65
|
+
expressions: Array<{ $ref: string; path?: string }>
|
|
66
|
+
}
|
|
67
|
+
} & { __brand: 'TemplateString' }
|
|
68
|
+
|
|
69
|
+
type InputWithRefs<T> = {
|
|
70
|
+
[K in keyof T]?: T[K] | TypedRef<T[K]> | TypedRef<unknown> | TemplateString
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
type NodeInputType<FuncMap extends Record<string, string>, K extends keyof FuncMap> =
|
|
74
|
+
FuncMap[K] extends keyof FlattenedRPCMap
|
|
75
|
+
? InputWithRefs<FlattenedRPCMap[FuncMap[K]]['input']>
|
|
76
|
+
: Record<string, unknown>
|
|
77
|
+
|
|
78
|
+
type NodeOutputKeys<FuncMap extends Record<string, string>, N extends string> =
|
|
79
|
+
N extends keyof FuncMap
|
|
80
|
+
? FuncMap[N] extends keyof FlattenedRPCMap
|
|
81
|
+
? keyof FlattenedRPCMap[FuncMap[N]]['output'] & string
|
|
82
|
+
: string
|
|
83
|
+
: string
|
|
84
|
+
|
|
85
|
+
type RefFunction<FuncMap extends Record<string, string>> = {
|
|
86
|
+
<N extends Extract<keyof FuncMap, string>>(
|
|
87
|
+
nodeId: N,
|
|
88
|
+
path: NodeOutputKeys<FuncMap, N>
|
|
89
|
+
): TypedRef<unknown>
|
|
90
|
+
(nodeId: 'trigger' | '$item', path?: string): TypedRef<unknown>
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
type TemplateFunction = (templateStr: string, refs: TypedRef<unknown>[]) => TemplateString
|
|
94
|
+
|
|
95
|
+
type GraphNodeConfigMap<FuncMap extends Record<string, string>> = {
|
|
96
|
+
[K in Extract<keyof FuncMap, string>]?: {
|
|
97
|
+
next?: NextConfig<Extract<keyof FuncMap, string>>
|
|
98
|
+
input?:
|
|
99
|
+
| NodeInputType<FuncMap, K>
|
|
100
|
+
| (() => NodeInputType<FuncMap, K>)
|
|
101
|
+
| ((ref: RefFunction<FuncMap>, template: TemplateFunction) => NodeInputType<FuncMap, K>)
|
|
102
|
+
onError?: Extract<keyof FuncMap, string> | Extract<keyof FuncMap, string>[]
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
type NextConfig<NodeIds extends string> = NodeIds | NodeIds[] | { if: string; then: NodeIds; else?: NodeIds }
|
|
107
|
+
|
|
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
|
+
}
|
|
115
|
+
|
|
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
|
+
>
|
|
135
|
+
}
|
|
136
|
+
|
|
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
|
+
>
|
|
145
|
+
}
|
|
146
|
+
|
|
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
|
+
>
|
|
156
|
+
}
|
|
99
157
|
`;
|
|
100
158
|
};
|
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Generate queue workers
|
|
2
|
+
* Generate queue workers for workflow orchestration
|
|
3
3
|
*/
|
|
4
4
|
export const serializeWorkflowWorkers = (pathToPikkuTypes) => {
|
|
5
5
|
return `/**
|
|
6
|
-
*
|
|
7
|
-
* Do not edit manually - regenerate with 'npx pikku'
|
|
6
|
+
* Workflow queue workers for orchestration
|
|
8
7
|
*/
|
|
9
8
|
import { pikkuSessionlessFunc, wireQueueWorker } from '${pathToPikkuTypes}'
|
|
10
9
|
|
|
11
|
-
/**
|
|
12
|
-
* Worker input types for generated queue workers
|
|
13
|
-
*/
|
|
14
10
|
export type WorkflowStepInput = {
|
|
15
11
|
runId: string
|
|
16
12
|
stepName: string
|
|
@@ -18,43 +14,34 @@ export type WorkflowStepInput = {
|
|
|
18
14
|
data: any
|
|
19
15
|
}
|
|
20
16
|
|
|
21
|
-
export const pikkuWorkflowWorker = pikkuSessionlessFunc<
|
|
22
|
-
WorkflowStepInput,
|
|
23
|
-
void
|
|
24
|
-
>({
|
|
17
|
+
export const pikkuWorkflowWorker = pikkuSessionlessFunc<WorkflowStepInput, void>({
|
|
25
18
|
func: async ({ workflowService }, { runId, stepName, rpcName, data }, { rpc }) => {
|
|
26
19
|
await workflowService!.executeWorkflowStep(runId, stepName, rpcName, data, rpc)
|
|
27
20
|
}
|
|
28
21
|
})
|
|
29
22
|
|
|
30
|
-
export const pikkuWorkflowOrchestrator = pikkuSessionlessFunc<
|
|
31
|
-
{ runId: string },
|
|
32
|
-
void
|
|
33
|
-
>({
|
|
23
|
+
export const pikkuWorkflowOrchestrator = pikkuSessionlessFunc<{ runId: string }, void>({
|
|
34
24
|
func: async ({ workflowService }, { runId }, { rpc }) => {
|
|
35
25
|
await workflowService!.orchestrateWorkflow(runId, rpc)
|
|
36
26
|
}
|
|
37
27
|
})
|
|
38
28
|
|
|
39
|
-
export const pikkuWorkflowSleeper = pikkuSessionlessFunc<
|
|
40
|
-
{ runId: string, stepId: string },
|
|
41
|
-
void
|
|
42
|
-
>({
|
|
29
|
+
export const pikkuWorkflowSleeper = pikkuSessionlessFunc<{ runId: string, stepId: string }, void>({
|
|
43
30
|
func: async ({ workflowService }, { runId, stepId }) => {
|
|
44
|
-
await workflowService!.
|
|
31
|
+
await workflowService!.executeWorkflowSleepCompleted(runId, stepId)
|
|
45
32
|
},
|
|
46
|
-
|
|
47
|
-
internal: true,
|
|
33
|
+
remote: true,
|
|
48
34
|
})
|
|
49
35
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
36
|
+
export const pikkuRemoteInternalRPC = pikkuSessionlessFunc<{ rpcName: string, data?: any }, any>({
|
|
37
|
+
func: async (_services, { rpcName, data }, { rpc }) => {
|
|
38
|
+
return await (rpc.invoke as any)(rpcName, data)
|
|
39
|
+
},
|
|
40
|
+
remote: true,
|
|
53
41
|
})
|
|
54
42
|
|
|
55
|
-
wireQueueWorker({
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
})
|
|
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 })
|
|
59
46
|
`;
|
|
60
47
|
};
|
package/dist/src/services.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { ForwardedLogMessage } from './services/cli-logger-forwarder.service.js'
|
|
|
5
5
|
/**
|
|
6
6
|
* Default CLI renderer that logs output using the logger
|
|
7
7
|
*/
|
|
8
|
-
export declare const defaultCLIRenderer: import("@pikku/core").CorePikkuCLIRender<ForwardedLogMessage, SingletonServices, import("@pikku/core").CoreUserSession>;
|
|
8
|
+
export declare const defaultCLIRenderer: import("@pikku/core/cli").CorePikkuCLIRender<ForwardedLogMessage, SingletonServices, import("@pikku/core").CoreUserSession>;
|
|
9
9
|
export declare const createConfig: CreateConfig<Config, [PikkuCLIConfig]>;
|
|
10
10
|
/**
|
|
11
11
|
* 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, 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
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
|
};
|
|
@@ -183,17 +200,47 @@ export const createSingletonServices = async (config) => {
|
|
|
183
200
|
// Run inspector WITHOUT filters to get full state
|
|
184
201
|
const wiringFiles = (await Promise.all(srcDirectories.map((dir) => glob(`${path.join(rootDir, dir)}/**/*.ts`, {
|
|
185
202
|
ignore: config.ignoreFiles || [],
|
|
203
|
+
absolute: true,
|
|
186
204
|
})))).flat();
|
|
187
|
-
|
|
205
|
+
const manifest = !setupOnly
|
|
206
|
+
? ((await loadManifest(join(config.outDir, 'versions.json'))) ??
|
|
207
|
+
undefined)
|
|
208
|
+
: undefined;
|
|
209
|
+
unfilteredState = await inspect(logger, wiringFiles, {
|
|
188
210
|
setupOnly,
|
|
211
|
+
rootDir,
|
|
212
|
+
isExternalPackage: config.externalPackage,
|
|
189
213
|
types: {
|
|
190
214
|
configFileType: config.configFile,
|
|
191
215
|
userSessionType: config.userSessionType,
|
|
192
216
|
singletonServicesFactoryType: config.singletonServicesFactoryType,
|
|
193
217
|
wireServicesFactoryType: config.wireServicesFactoryType,
|
|
194
218
|
},
|
|
219
|
+
tags: config.tags,
|
|
220
|
+
externalPackages: config.externalPackages,
|
|
221
|
+
schemaConfig: !setupOnly
|
|
222
|
+
? {
|
|
223
|
+
tsconfig: config.tsconfig,
|
|
224
|
+
schemasFromTypes: config.schemasFromTypes,
|
|
225
|
+
schema: config.schema,
|
|
226
|
+
}
|
|
227
|
+
: undefined,
|
|
228
|
+
openAPI: !setupOnly && config.openAPI
|
|
229
|
+
? { additionalInfo: config.openAPI.additionalInfo }
|
|
230
|
+
: undefined,
|
|
231
|
+
manifest,
|
|
232
|
+
modelConfig: config.models || config.agentDefaults || config.agentOverrides
|
|
233
|
+
? {
|
|
234
|
+
models: config.models,
|
|
235
|
+
agentDefaults: config.agentDefaults,
|
|
236
|
+
agentOverrides: config.agentOverrides,
|
|
237
|
+
}
|
|
238
|
+
: undefined,
|
|
195
239
|
});
|
|
196
|
-
|
|
240
|
+
if ('diagnostics' in unfilteredState &&
|
|
241
|
+
unfilteredState.diagnostics.length > 0) {
|
|
242
|
+
processDiagnostics(unfilteredState.diagnostics, config.lint);
|
|
243
|
+
}
|
|
197
244
|
if (stateOutput && 'typesLookup' in unfilteredState) {
|
|
198
245
|
try {
|
|
199
246
|
logger.info(`Saving inspector state to ${stateOutput}`);
|
|
@@ -211,11 +258,14 @@ export const createSingletonServices = async (config) => {
|
|
|
211
258
|
const filteredState = filterInspectorState(unfilteredState, filters, logger);
|
|
212
259
|
return filteredState;
|
|
213
260
|
};
|
|
261
|
+
const workflowService = new InMemoryWorkflowService();
|
|
214
262
|
return {
|
|
215
263
|
config,
|
|
216
264
|
logger,
|
|
217
265
|
variables,
|
|
266
|
+
secrets: new LocalSecretService(variables),
|
|
218
267
|
getInspectorState,
|
|
268
|
+
workflowService,
|
|
219
269
|
};
|
|
220
270
|
};
|
|
221
271
|
export const createWireServices = async ({ logger }, { cli, channel }) => {
|
|
@@ -3,10 +3,13 @@ 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;
|
|
11
|
+
nodes?: number;
|
|
12
|
+
workflowGraphs?: number;
|
|
10
13
|
[key: string]: number | undefined;
|
|
11
14
|
}
|
|
12
15
|
/**
|
|
@@ -48,10 +48,13 @@ 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',
|
|
56
|
+
nodes: 'Node',
|
|
57
|
+
workflowGraphs: 'Workflow graph',
|
|
55
58
|
};
|
|
56
59
|
for (const [key, label] of Object.entries(statLabels)) {
|
|
57
60
|
const value = this.stats[key];
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { VersionManifest } from '@pikku/inspector';
|
|
2
|
+
import { createEmptyManifest } from '@pikku/inspector';
|
|
3
|
+
export { createEmptyManifest };
|
|
4
|
+
export type { ContractEntry, 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
|
+
}
|
|
@@ -4,13 +4,27 @@ export const getFileImportRelativePath = (from, to, packageMappings) => {
|
|
|
4
4
|
if (!/^\.+\//.test(filePath)) {
|
|
5
5
|
filePath = `./${filePath}`;
|
|
6
6
|
}
|
|
7
|
-
|
|
8
|
-
if (
|
|
9
|
-
const nodeModulesIndex =
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
const posixPath = filePath.replace(/\\/g, '/');
|
|
8
|
+
if (posixPath.includes('node_modules/')) {
|
|
9
|
+
const nodeModulesIndex = posixPath.indexOf('node_modules/');
|
|
10
|
+
filePath = posixPath.substring(nodeModulesIndex + 'node_modules/'.length);
|
|
11
|
+
if (filePath.startsWith('@types/')) {
|
|
12
|
+
filePath = filePath.substring('@types/'.length);
|
|
13
|
+
const parts = filePath.split('/');
|
|
14
|
+
if (parts[0].includes('__')) {
|
|
15
|
+
const [scope, name] = parts[0].split('__');
|
|
16
|
+
parts[0] = `@${scope}/${name}`;
|
|
17
|
+
filePath = parts.join('/');
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
if (filePath.endsWith('.d.ts')) {
|
|
21
|
+
filePath = filePath.slice(0, -5);
|
|
22
|
+
}
|
|
23
|
+
else if (filePath.endsWith('.ts')) {
|
|
24
|
+
filePath = filePath.slice(0, -3) + '.js';
|
|
12
25
|
}
|
|
13
|
-
|
|
26
|
+
filePath = filePath.replace(/\/index$/, '').replace(/\/index\.js$/, '');
|
|
27
|
+
return filePath;
|
|
14
28
|
}
|
|
15
29
|
const absolutePath = resolve(dirname(from), to);
|
|
16
30
|
const fromAbsolutePath = resolve(dirname(from));
|
|
@@ -7,7 +7,7 @@ export const generateBootstrapFile = async (logger, config, bootstrapFile, speci
|
|
|
7
7
|
if (hasMiddleware) {
|
|
8
8
|
commonImports.push(config.middlewareFile);
|
|
9
9
|
}
|
|
10
|
-
commonImports.push(config.
|
|
10
|
+
commonImports.push(config.functionsMetaFile, config.functionsFile);
|
|
11
11
|
// Add schema if it exists
|
|
12
12
|
if (schemas) {
|
|
13
13
|
commonImports.push(`${config.schemaDirectory}/register.gen.ts`);
|