@pikku/cli 0.11.3 → 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.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 +1 -1
- 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 +1 -1
- package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.json +43 -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 +71 -20
- package/dist/.pikku/function/pikku-function-types.gen.js +27 -3
- package/dist/.pikku/function/pikku-functions-meta.gen.js +1 -1
- package/dist/.pikku/function/pikku-functions-meta.gen.json +645 -195
- 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 +1 -1
- 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 +1 -1
- 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 +5 -1
- package/dist/.pikku/pikku-services.gen.js +4 -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 +1 -1
- 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 +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 +1 -1
- 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 -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/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 +1 -1
- 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 +29 -2
- package/dist/src/functions/commands/all.d.ts +1 -1
- package/dist/src/functions/commands/all.js +79 -176
- 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/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 -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 +8 -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 +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 +1 -1
- 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 +1 -1
- 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 +2 -1
- 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 +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 +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 +5 -5
- package/dist/src/functions/wirings/functions/pikku-command-functions.d.ts +1 -1
- package/dist/src/functions/wirings/functions/pikku-command-functions.js +1 -1
- 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-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 +1 -2
- package/dist/src/functions/wirings/functions/serialize-function-imports.js +10 -17
- package/dist/src/functions/wirings/functions/serialize-function-types.d.ts +1 -1
- package/dist/src/functions/wirings/functions/serialize-function-types.js +99 -32
- 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 +1 -1
- 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 +5 -2
- 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 +13 -4
- 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 +3 -3
- 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/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 +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 +5 -2
- package/dist/src/functions/wirings/queue/serialize-queue-map.js +12 -40
- 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 +2 -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 +85 -60
- 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 +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 +6 -35
- package/dist/src/functions/wirings/workflow/serialize-workflow-map.d.ts +4 -2
- 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 +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 +53 -6
- 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/pikku-cli-config.js +77 -14
- 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 +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,195 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generates type definitions for MCP wirings
|
|
3
|
-
*/
|
|
4
|
-
export const serializeMCPTypes = (functionTypesImportPath: string) => {
|
|
5
|
-
return `/**
|
|
6
|
-
* MCP-specific type definitions for tree-shaking optimization
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
import {
|
|
10
|
-
CoreMCPResource,
|
|
11
|
-
CoreMCPTool,
|
|
12
|
-
CoreMCPPrompt,
|
|
13
|
-
wireMCPResource as wireMCPResourceCore,
|
|
14
|
-
wireMCPTool as wireMCPToolCore,
|
|
15
|
-
wireMCPPrompt as wireMCPPromptCore,
|
|
16
|
-
MCPResourceResponse,
|
|
17
|
-
MCPToolResponse,
|
|
18
|
-
MCPPromptResponse,
|
|
19
|
-
AssertMCPResourceURIParams
|
|
20
|
-
} from '@pikku/core/mcp'
|
|
21
|
-
|
|
22
|
-
import type { PikkuFunctionConfig, PikkuFunctionSessionless, InferZodOutput } from '${functionTypesImportPath}'
|
|
23
|
-
import type { ZodLike } from '@pikku/core'
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Type definition for MCP resources that provide data to AI models.
|
|
27
|
-
*
|
|
28
|
-
* @template In - Input type for the resource request
|
|
29
|
-
* @template URI - URI template string type for compile-time parameter validation
|
|
30
|
-
*/
|
|
31
|
-
type MCPResourceWiring<In, URI extends string> = CoreMCPResource<PikkuFunctionConfig<In, MCPResourceResponse, 'rpc' | 'session' | 'mcp'>> & { uri: URI }
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Type definition for MCP tools that AI models can invoke.
|
|
35
|
-
*
|
|
36
|
-
* @template In - Input type for the tool invocation
|
|
37
|
-
*/
|
|
38
|
-
type MCPToolWiring<In> = CoreMCPTool<PikkuFunctionConfig<In, MCPToolResponse, 'rpc' | 'session' | 'mcp'>>
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Type definition for MCP prompts that provide templates to AI models.
|
|
42
|
-
*
|
|
43
|
-
* @template In - Input type for the prompt parameters
|
|
44
|
-
*/
|
|
45
|
-
type MCPPromptWiring<In> = CoreMCPPrompt<PikkuFunctionConfig<In, MCPPromptResponse, 'rpc' | 'session' | 'mcp'>>
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Registers an MCP resource with the Pikku framework.
|
|
49
|
-
* Resources provide data that AI models can access.
|
|
50
|
-
*
|
|
51
|
-
* @template In - Input type for the resource request
|
|
52
|
-
* @template URI - URI template string for compile-time parameter validation
|
|
53
|
-
* @param mcpResource - MCP resource definition with data provider function
|
|
54
|
-
*/
|
|
55
|
-
export const wireMCPResource = <In, URI extends string>(
|
|
56
|
-
mcpResource: MCPResourceWiring<In, URI> & AssertMCPResourceURIParams<In, URI>
|
|
57
|
-
) => {
|
|
58
|
-
wireMCPResourceCore(mcpResource as any)
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Registers an MCP tool with the Pikku framework.
|
|
63
|
-
* Tools are functions that AI models can invoke.
|
|
64
|
-
*
|
|
65
|
-
* @template In - Input type for the tool invocation
|
|
66
|
-
* @param mcpTool - MCP tool definition with action function
|
|
67
|
-
*/
|
|
68
|
-
export const wireMCPTool = <In>(
|
|
69
|
-
mcpTool: MCPToolWiring<In>
|
|
70
|
-
) => {
|
|
71
|
-
wireMCPToolCore(mcpTool as any)
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* Registers an MCP prompt with the Pikku framework.
|
|
76
|
-
* Prompts provide templates that AI models can use.
|
|
77
|
-
*
|
|
78
|
-
* @template In - Input type for the prompt parameters
|
|
79
|
-
* @param mcpPrompt - MCP prompt definition with template function
|
|
80
|
-
*/
|
|
81
|
-
export const wireMCPPrompt = <In>(
|
|
82
|
-
mcpPrompt: MCPPromptWiring<In>
|
|
83
|
-
) => {
|
|
84
|
-
wireMCPPromptCore(mcpPrompt as any)
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* Configuration for MCP prompt with Zod schema input validation.
|
|
89
|
-
*/
|
|
90
|
-
type MCPPromptFuncConfigWithSchema<InputSchema extends ZodLike> = {
|
|
91
|
-
func: PikkuFunctionSessionless<InferZodOutput<InputSchema>, MCPPromptResponse, 'mcp' | 'rpc'>
|
|
92
|
-
name?: string
|
|
93
|
-
input: InputSchema
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
/**
|
|
97
|
-
* Creates a function for handling MCP prompt requests.
|
|
98
|
-
* These functions generate prompt templates for AI models.
|
|
99
|
-
*
|
|
100
|
-
* Supports two patterns:
|
|
101
|
-
* 1. Generic types: \`pikkuMCPPromptFunc<Input>({ func: ... })\`
|
|
102
|
-
* 2. Zod schemas: \`pikkuMCPPromptFunc({ input: z.object(...), func: ... })\`
|
|
103
|
-
*
|
|
104
|
-
* @template In - Input type for the prompt parameters (inferred from schema if provided)
|
|
105
|
-
* @param func - Function definition, either direct function or configuration object
|
|
106
|
-
* @returns The unwrapped function for internal use
|
|
107
|
-
*/
|
|
108
|
-
export function pikkuMCPPromptFunc<InputSchema extends ZodLike>(
|
|
109
|
-
config: MCPPromptFuncConfigWithSchema<InputSchema>
|
|
110
|
-
): PikkuFunctionConfig<InferZodOutput<InputSchema>, MCPPromptResponse, 'mcp' | 'rpc'>
|
|
111
|
-
export function pikkuMCPPromptFunc<In>(
|
|
112
|
-
func:
|
|
113
|
-
| PikkuFunctionSessionless<In, MCPPromptResponse, 'mcp' | 'rpc'>
|
|
114
|
-
| {
|
|
115
|
-
func: PikkuFunctionSessionless<In, MCPPromptResponse, 'mcp' | 'rpc'>
|
|
116
|
-
name?: string
|
|
117
|
-
}
|
|
118
|
-
): PikkuFunctionConfig<In, MCPPromptResponse, 'mcp' | 'rpc'>
|
|
119
|
-
export function pikkuMCPPromptFunc(func: any): any {
|
|
120
|
-
return typeof func === 'function' ? { func } : func
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
/**
|
|
124
|
-
* Configuration for MCP tool with Zod schema input validation.
|
|
125
|
-
*/
|
|
126
|
-
type MCPToolFuncConfigWithSchema<InputSchema extends ZodLike> = {
|
|
127
|
-
func: PikkuFunctionSessionless<InferZodOutput<InputSchema>, MCPToolResponse, 'mcp' | 'rpc'>
|
|
128
|
-
name?: string
|
|
129
|
-
input: InputSchema
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
/**
|
|
133
|
-
* Creates a function for handling MCP tool invocations.
|
|
134
|
-
* These functions perform actions that AI models can request.
|
|
135
|
-
*
|
|
136
|
-
* Supports two patterns:
|
|
137
|
-
* 1. Generic types: \`pikkuMCPToolFunc<Input>({ func: ... })\`
|
|
138
|
-
* 2. Zod schemas: \`pikkuMCPToolFunc({ input: z.object(...), func: ... })\`
|
|
139
|
-
*
|
|
140
|
-
* @template In - Input type for the tool invocation (inferred from schema if provided)
|
|
141
|
-
* @param func - Function definition, either direct function or configuration object
|
|
142
|
-
* @returns The unwrapped function for internal use
|
|
143
|
-
*/
|
|
144
|
-
export function pikkuMCPToolFunc<InputSchema extends ZodLike>(
|
|
145
|
-
config: MCPToolFuncConfigWithSchema<InputSchema>
|
|
146
|
-
): PikkuFunctionConfig<InferZodOutput<InputSchema>, MCPToolResponse, 'mcp' | 'rpc'>
|
|
147
|
-
export function pikkuMCPToolFunc<In>(
|
|
148
|
-
func:
|
|
149
|
-
| PikkuFunctionSessionless<In, MCPToolResponse, 'mcp' | 'rpc'>
|
|
150
|
-
| {
|
|
151
|
-
func: PikkuFunctionSessionless<In, MCPToolResponse, 'mcp' | 'rpc'>
|
|
152
|
-
name?: string
|
|
153
|
-
}
|
|
154
|
-
): PikkuFunctionConfig<In, MCPToolResponse, 'mcp' | 'rpc'>
|
|
155
|
-
export function pikkuMCPToolFunc(func: any): any {
|
|
156
|
-
return typeof func === 'function' ? { func } : func
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
/**
|
|
160
|
-
* Configuration for MCP resource with Zod schema input validation.
|
|
161
|
-
*/
|
|
162
|
-
type MCPResourceFuncConfigWithSchema<InputSchema extends ZodLike> = {
|
|
163
|
-
func: PikkuFunctionSessionless<InferZodOutput<InputSchema>, MCPResourceResponse, 'mcp' | 'rpc'>
|
|
164
|
-
name?: string
|
|
165
|
-
input: InputSchema
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
/**
|
|
169
|
-
* Creates a function for handling MCP resource requests.
|
|
170
|
-
* These functions provide data that AI models can access.
|
|
171
|
-
*
|
|
172
|
-
* Supports two patterns:
|
|
173
|
-
* 1. Generic types: \`pikkuMCPResourceFunc<Input>({ func: ... })\`
|
|
174
|
-
* 2. Zod schemas: \`pikkuMCPResourceFunc({ input: z.object(...), func: ... })\`
|
|
175
|
-
*
|
|
176
|
-
* @template In - Input type for the resource request (inferred from schema if provided)
|
|
177
|
-
* @param func - Function definition, either direct function or configuration object
|
|
178
|
-
* @returns The unwrapped function for internal use
|
|
179
|
-
*/
|
|
180
|
-
export function pikkuMCPResourceFunc<InputSchema extends ZodLike>(
|
|
181
|
-
config: MCPResourceFuncConfigWithSchema<InputSchema>
|
|
182
|
-
): PikkuFunctionConfig<InferZodOutput<InputSchema>, MCPResourceResponse, 'mcp' | 'rpc'>
|
|
183
|
-
export function pikkuMCPResourceFunc<In>(
|
|
184
|
-
func:
|
|
185
|
-
| PikkuFunctionSessionless<In, MCPResourceResponse, 'mcp' | 'rpc'>
|
|
186
|
-
| {
|
|
187
|
-
func: PikkuFunctionSessionless<In, MCPResourceResponse, 'mcp' | 'rpc'>
|
|
188
|
-
name?: string
|
|
189
|
-
}
|
|
190
|
-
): PikkuFunctionConfig<In, MCPResourceResponse, 'mcp' | 'rpc'>
|
|
191
|
-
export function pikkuMCPResourceFunc(func: any): any {
|
|
192
|
-
return typeof func === 'function' ? { func } : func
|
|
193
|
-
}
|
|
194
|
-
`
|
|
195
|
-
}
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js'
|
|
2
|
-
import { writeFileInDir } from '../../../utils/file-writer.js'
|
|
3
|
-
import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js'
|
|
4
|
-
import { serializeMiddlewareImports } from './serialize-middleware-imports.js'
|
|
5
|
-
import { serializeMiddlewareGroupsMeta } from './serialize-middleware-groups-meta.js'
|
|
6
|
-
import { getFileImportRelativePath } from '../../../utils/file-import-path.js'
|
|
7
|
-
|
|
8
|
-
export const pikkuMiddleware: any = pikkuSessionlessFunc<
|
|
9
|
-
void,
|
|
10
|
-
boolean | undefined
|
|
11
|
-
>({
|
|
12
|
-
func: async ({ logger, config, getInspectorState }) => {
|
|
13
|
-
const state = await getInspectorState()
|
|
14
|
-
const { middleware } = state
|
|
15
|
-
const { middlewareFile, packageMappings, schema } = config
|
|
16
|
-
|
|
17
|
-
let filesGenerated = false
|
|
18
|
-
|
|
19
|
-
// Check if there are any middleware groups
|
|
20
|
-
const hasHTTPGroups = state.http.routeMiddleware.size > 0
|
|
21
|
-
const hasTagGroups = state.middleware.tagMiddleware.size > 0
|
|
22
|
-
|
|
23
|
-
if (hasHTTPGroups || hasTagGroups) {
|
|
24
|
-
const metaData = serializeMiddlewareGroupsMeta(state)
|
|
25
|
-
|
|
26
|
-
// Write JSON file
|
|
27
|
-
await writeFileInDir(
|
|
28
|
-
logger,
|
|
29
|
-
config.middlewareGroupsMetaJsonFile,
|
|
30
|
-
JSON.stringify(metaData, null, 2)
|
|
31
|
-
)
|
|
32
|
-
|
|
33
|
-
// Calculate relative path from TS file to JSON file
|
|
34
|
-
const jsonImportPath = getFileImportRelativePath(
|
|
35
|
-
config.middlewareGroupsMetaFile,
|
|
36
|
-
config.middlewareGroupsMetaJsonFile,
|
|
37
|
-
packageMappings
|
|
38
|
-
)
|
|
39
|
-
|
|
40
|
-
// Write TypeScript file that imports JSON
|
|
41
|
-
const supportsImportAttributes = schema?.supportsImportAttributes ?? false
|
|
42
|
-
const importStatement = supportsImportAttributes
|
|
43
|
-
? `import metaData from '${jsonImportPath}' with { type: 'json' }`
|
|
44
|
-
: `import metaData from '${jsonImportPath}'`
|
|
45
|
-
|
|
46
|
-
const packageNameValue = config.externalPackageName
|
|
47
|
-
? `'${config.externalPackageName}'`
|
|
48
|
-
: 'null'
|
|
49
|
-
|
|
50
|
-
const tsContent = `import { pikkuState } from '@pikku/core'
|
|
51
|
-
${importStatement}
|
|
52
|
-
|
|
53
|
-
// HTTP middleware groups metadata
|
|
54
|
-
if (metaData.httpGroups && Object.keys(metaData.httpGroups).length > 0) {
|
|
55
|
-
pikkuState(${packageNameValue}, 'middleware', 'httpGroupMeta', metaData.httpGroups)
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
// Tag middleware groups metadata
|
|
59
|
-
if (metaData.tagGroups && Object.keys(metaData.tagGroups).length > 0) {
|
|
60
|
-
pikkuState(${packageNameValue}, 'middleware', 'tagGroupMeta', metaData.tagGroups)
|
|
61
|
-
}
|
|
62
|
-
`
|
|
63
|
-
|
|
64
|
-
await writeFileInDir(logger, config.middlewareGroupsMetaFile, tsContent)
|
|
65
|
-
|
|
66
|
-
// Always generate middleware imports file when groups exist (even if empty)
|
|
67
|
-
await writeFileInDir(
|
|
68
|
-
logger,
|
|
69
|
-
middlewareFile,
|
|
70
|
-
serializeMiddlewareImports(
|
|
71
|
-
middlewareFile,
|
|
72
|
-
middleware,
|
|
73
|
-
state.http,
|
|
74
|
-
packageMappings
|
|
75
|
-
)
|
|
76
|
-
)
|
|
77
|
-
|
|
78
|
-
filesGenerated = true
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
return filesGenerated
|
|
82
|
-
},
|
|
83
|
-
middleware: [
|
|
84
|
-
logCommandInfoAndTime({
|
|
85
|
-
commandStart: 'Serializing Pikku middleware',
|
|
86
|
-
commandEnd: 'Serialized Pikku middleware',
|
|
87
|
-
}),
|
|
88
|
-
],
|
|
89
|
-
})
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import type { InspectorState } from '@pikku/inspector'
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Generates the middleware groups metadata that stores metadata about
|
|
5
|
-
* tag-based and HTTP middleware groups for visualization and inspection.
|
|
6
|
-
*
|
|
7
|
-
* This includes services, middleware count, factory status, etc.
|
|
8
|
-
*/
|
|
9
|
-
export const serializeMiddlewareGroupsMeta = (state: InspectorState) => {
|
|
10
|
-
// Serialize HTTP middleware groups metadata
|
|
11
|
-
const httpGroups: Record<string, any> = {}
|
|
12
|
-
for (const [pattern, meta] of state.http.routeMiddleware.entries()) {
|
|
13
|
-
httpGroups[pattern] = {
|
|
14
|
-
exportName: meta.exportName,
|
|
15
|
-
sourceFile: meta.sourceFile,
|
|
16
|
-
position: meta.position,
|
|
17
|
-
services: meta.services,
|
|
18
|
-
middlewareCount: meta.middlewareCount,
|
|
19
|
-
isFactory: meta.isFactory,
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
// Serialize tag middleware groups metadata
|
|
24
|
-
const tagGroups: Record<string, any> = {}
|
|
25
|
-
for (const [tag, meta] of state.middleware.tagMiddleware.entries()) {
|
|
26
|
-
tagGroups[tag] = {
|
|
27
|
-
exportName: meta.exportName,
|
|
28
|
-
sourceFile: meta.sourceFile,
|
|
29
|
-
position: meta.position,
|
|
30
|
-
services: meta.services,
|
|
31
|
-
middlewareCount: meta.middlewareCount,
|
|
32
|
-
isFactory: meta.isFactory,
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
return {
|
|
37
|
-
httpGroups,
|
|
38
|
-
tagGroups,
|
|
39
|
-
}
|
|
40
|
-
}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { getFileImportRelativePath } from '../../../utils/file-import-path.js'
|
|
2
|
-
import type {
|
|
3
|
-
InspectorMiddlewareState,
|
|
4
|
-
InspectorHTTPState,
|
|
5
|
-
InspectorState,
|
|
6
|
-
} from '@pikku/inspector'
|
|
7
|
-
|
|
8
|
-
export const serializeMiddlewareImports = (
|
|
9
|
-
outputPath: string,
|
|
10
|
-
middlewareState: InspectorMiddlewareState,
|
|
11
|
-
httpState: InspectorHTTPState,
|
|
12
|
-
packageMappings: Record<string, string> = {},
|
|
13
|
-
fullState?: InspectorState
|
|
14
|
-
) => {
|
|
15
|
-
const serializedImports: string[] = []
|
|
16
|
-
const serializedFactoryCalls: string[] = []
|
|
17
|
-
|
|
18
|
-
// Collect factory imports and calls for HTTP middleware groups
|
|
19
|
-
const httpFactories = new Map<
|
|
20
|
-
string,
|
|
21
|
-
{ exportName: string; filePath: string }
|
|
22
|
-
>()
|
|
23
|
-
for (const [, groupMeta] of httpState.routeMiddleware.entries()) {
|
|
24
|
-
if (groupMeta.exportName && groupMeta.isFactory) {
|
|
25
|
-
const filePath = getFileImportRelativePath(
|
|
26
|
-
outputPath,
|
|
27
|
-
groupMeta.sourceFile,
|
|
28
|
-
packageMappings
|
|
29
|
-
)
|
|
30
|
-
httpFactories.set(groupMeta.exportName, {
|
|
31
|
-
exportName: groupMeta.exportName,
|
|
32
|
-
filePath,
|
|
33
|
-
})
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
// Collect factory imports and calls for tag middleware groups
|
|
38
|
-
const tagFactories = new Map<
|
|
39
|
-
string,
|
|
40
|
-
{ exportName: string; filePath: string }
|
|
41
|
-
>()
|
|
42
|
-
for (const [, groupMeta] of middlewareState.tagMiddleware.entries()) {
|
|
43
|
-
if (groupMeta.exportName && groupMeta.isFactory) {
|
|
44
|
-
const filePath = getFileImportRelativePath(
|
|
45
|
-
outputPath,
|
|
46
|
-
groupMeta.sourceFile,
|
|
47
|
-
packageMappings
|
|
48
|
-
)
|
|
49
|
-
tagFactories.set(groupMeta.exportName, {
|
|
50
|
-
exportName: groupMeta.exportName,
|
|
51
|
-
filePath,
|
|
52
|
-
})
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
// Combine all factories and deduplicate by exportName (same factory might be used in multiple groups)
|
|
57
|
-
const allFactories = new Map([...httpFactories, ...tagFactories])
|
|
58
|
-
|
|
59
|
-
// Add factory imports and calls
|
|
60
|
-
if (allFactories.size > 0) {
|
|
61
|
-
serializedImports.push(
|
|
62
|
-
'/* Call middleware group factories to register at module evaluation */'
|
|
63
|
-
)
|
|
64
|
-
|
|
65
|
-
// Import factories
|
|
66
|
-
for (const [exportName, { filePath }] of allFactories) {
|
|
67
|
-
serializedImports.push(`import { ${exportName} } from '${filePath}'`)
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
// Call factories
|
|
71
|
-
for (const [exportName] of allFactories) {
|
|
72
|
-
serializedFactoryCalls.push(`${exportName}()`)
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
// Return combined output
|
|
77
|
-
return [...serializedImports, ...serializedFactoryCalls].join('\n')
|
|
78
|
-
}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js'
|
|
2
|
-
import { writeFileInDir } from '../../../utils/file-writer.js'
|
|
3
|
-
import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js'
|
|
4
|
-
import { serializePackageFactories } from './serialize-package.js'
|
|
5
|
-
|
|
6
|
-
export const pikkuPackage: any = pikkuSessionlessFunc<
|
|
7
|
-
void,
|
|
8
|
-
boolean | undefined
|
|
9
|
-
>({
|
|
10
|
-
func: async ({ logger, config, getInspectorState }) => {
|
|
11
|
-
const { externalPackageName, packageMappings, packageFile } = config
|
|
12
|
-
|
|
13
|
-
// Only generate for external packages
|
|
14
|
-
if (!externalPackageName) {
|
|
15
|
-
logger.info({
|
|
16
|
-
message:
|
|
17
|
-
'Skipping package factories - not an external package (externalPackageName not set)',
|
|
18
|
-
type: 'skip',
|
|
19
|
-
})
|
|
20
|
-
return false
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
if (!packageFile) {
|
|
24
|
-
logger.info({
|
|
25
|
-
message: 'Skipping package factories - packageFile not configured',
|
|
26
|
-
type: 'skip',
|
|
27
|
-
})
|
|
28
|
-
return false
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
const state = await getInspectorState()
|
|
32
|
-
const { filesAndMethods } = state
|
|
33
|
-
|
|
34
|
-
const {
|
|
35
|
-
pikkuConfigFactory,
|
|
36
|
-
singletonServicesFactory,
|
|
37
|
-
wireServicesFactory,
|
|
38
|
-
} = filesAndMethods
|
|
39
|
-
|
|
40
|
-
const content = serializePackageFactories(
|
|
41
|
-
packageFile,
|
|
42
|
-
externalPackageName,
|
|
43
|
-
pikkuConfigFactory
|
|
44
|
-
? {
|
|
45
|
-
file: pikkuConfigFactory.file,
|
|
46
|
-
variable: pikkuConfigFactory.variable,
|
|
47
|
-
}
|
|
48
|
-
: undefined,
|
|
49
|
-
singletonServicesFactory
|
|
50
|
-
? {
|
|
51
|
-
file: singletonServicesFactory.file,
|
|
52
|
-
variable: singletonServicesFactory.variable,
|
|
53
|
-
}
|
|
54
|
-
: undefined,
|
|
55
|
-
wireServicesFactory
|
|
56
|
-
? {
|
|
57
|
-
file: wireServicesFactory.file,
|
|
58
|
-
variable: wireServicesFactory.variable,
|
|
59
|
-
}
|
|
60
|
-
: undefined,
|
|
61
|
-
packageMappings
|
|
62
|
-
)
|
|
63
|
-
|
|
64
|
-
if (!content) {
|
|
65
|
-
logger.info({
|
|
66
|
-
message: 'Skipping package factories - no service factories found',
|
|
67
|
-
type: 'skip',
|
|
68
|
-
})
|
|
69
|
-
return false
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
await writeFileInDir(logger, packageFile, content)
|
|
73
|
-
return true
|
|
74
|
-
},
|
|
75
|
-
middleware: [
|
|
76
|
-
logCommandInfoAndTime({
|
|
77
|
-
commandStart: 'Generating package service factories',
|
|
78
|
-
commandEnd: 'Generated package service factories',
|
|
79
|
-
}),
|
|
80
|
-
],
|
|
81
|
-
})
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { getFileImportRelativePath } from '../../../utils/file-import-path.js'
|
|
2
|
-
|
|
3
|
-
export interface PackageFactoryInfo {
|
|
4
|
-
file: string
|
|
5
|
-
variable: string
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
export const serializePackageFactories = (
|
|
9
|
-
outputPath: string,
|
|
10
|
-
packageName: string,
|
|
11
|
-
configFactory: PackageFactoryInfo | undefined,
|
|
12
|
-
singletonServicesFactory: PackageFactoryInfo | undefined,
|
|
13
|
-
wireServicesFactory: PackageFactoryInfo | undefined,
|
|
14
|
-
packageMappings: Record<string, string> = {}
|
|
15
|
-
) => {
|
|
16
|
-
const imports: string[] = [
|
|
17
|
-
`import { addPackageServiceFactories } from '@pikku/core'`,
|
|
18
|
-
]
|
|
19
|
-
|
|
20
|
-
const factoryEntries: string[] = []
|
|
21
|
-
|
|
22
|
-
if (configFactory) {
|
|
23
|
-
const filePath = getFileImportRelativePath(
|
|
24
|
-
outputPath,
|
|
25
|
-
configFactory.file,
|
|
26
|
-
packageMappings
|
|
27
|
-
)
|
|
28
|
-
imports.push(
|
|
29
|
-
`import { ${configFactory.variable} as createConfig } from '${filePath}'`
|
|
30
|
-
)
|
|
31
|
-
factoryEntries.push(` createConfig,`)
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
if (singletonServicesFactory) {
|
|
35
|
-
const filePath = getFileImportRelativePath(
|
|
36
|
-
outputPath,
|
|
37
|
-
singletonServicesFactory.file,
|
|
38
|
-
packageMappings
|
|
39
|
-
)
|
|
40
|
-
imports.push(
|
|
41
|
-
`import { ${singletonServicesFactory.variable} as createSingletonServices } from '${filePath}'`
|
|
42
|
-
)
|
|
43
|
-
factoryEntries.push(` createSingletonServices,`)
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
if (wireServicesFactory) {
|
|
47
|
-
const filePath = getFileImportRelativePath(
|
|
48
|
-
outputPath,
|
|
49
|
-
wireServicesFactory.file,
|
|
50
|
-
packageMappings
|
|
51
|
-
)
|
|
52
|
-
imports.push(
|
|
53
|
-
`import { ${wireServicesFactory.variable} as createWireServices } from '${filePath}'`
|
|
54
|
-
)
|
|
55
|
-
factoryEntries.push(` createWireServices,`)
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
// Only generate if at least one factory is defined
|
|
59
|
-
if (factoryEntries.length === 0) {
|
|
60
|
-
return null
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
return `${imports.join('\n')}
|
|
64
|
-
|
|
65
|
-
addPackageServiceFactories('${packageName}', {
|
|
66
|
-
${factoryEntries.join('\n')}
|
|
67
|
-
})
|
|
68
|
-
`
|
|
69
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js'
|
|
2
|
-
import { writeFileInDir } from '../../../utils/file-writer.js'
|
|
3
|
-
import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js'
|
|
4
|
-
import { serializePermissionsImports } from './serialize-permissions-imports.js'
|
|
5
|
-
|
|
6
|
-
export const pikkuPermissions: any = pikkuSessionlessFunc<
|
|
7
|
-
void,
|
|
8
|
-
boolean | undefined
|
|
9
|
-
>({
|
|
10
|
-
func: async ({ logger, config, getInspectorState }) => {
|
|
11
|
-
const state = await getInspectorState()
|
|
12
|
-
const { permissions } = state
|
|
13
|
-
const { permissionsFile, packageMappings } = config
|
|
14
|
-
|
|
15
|
-
let filesGenerated = false
|
|
16
|
-
|
|
17
|
-
// Check if there are any permission group factories
|
|
18
|
-
const hasHTTPFactories = Array.from(
|
|
19
|
-
state.http.routePermissions.values()
|
|
20
|
-
).some((meta: any) => meta.exportName && meta.isFactory)
|
|
21
|
-
const hasTagFactories = Array.from(
|
|
22
|
-
state.permissions.tagPermissions.values()
|
|
23
|
-
).some((meta: any) => meta.exportName && meta.isFactory)
|
|
24
|
-
const hasFactories = hasHTTPFactories || hasTagFactories
|
|
25
|
-
|
|
26
|
-
// Generate permissions imports file if there are factories
|
|
27
|
-
if (hasFactories) {
|
|
28
|
-
await writeFileInDir(
|
|
29
|
-
logger,
|
|
30
|
-
permissionsFile,
|
|
31
|
-
serializePermissionsImports(
|
|
32
|
-
permissionsFile,
|
|
33
|
-
permissions,
|
|
34
|
-
state.http,
|
|
35
|
-
packageMappings
|
|
36
|
-
)
|
|
37
|
-
)
|
|
38
|
-
filesGenerated = true
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
return filesGenerated
|
|
42
|
-
},
|
|
43
|
-
middleware: [
|
|
44
|
-
logCommandInfoAndTime({
|
|
45
|
-
commandStart: 'Serializing Pikku permissions',
|
|
46
|
-
commandEnd: 'Serialized Pikku permissions',
|
|
47
|
-
}),
|
|
48
|
-
],
|
|
49
|
-
})
|