@pikku/cli 0.11.2 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli.schema.json +1 -1
- package/console-app/android-chrome-192x192.png +0 -0
- package/console-app/android-chrome-512x512.png +0 -0
- package/console-app/apple-touch-icon.png +0 -0
- package/console-app/assets/index-0Ui5UudO.css +1 -0
- package/console-app/assets/index-C19L3UJu.js +637 -0
- package/console-app/favicon-16x16.png +0 -0
- package/console-app/favicon-32x32.png +0 -0
- package/console-app/favicon.ico +0 -0
- package/console-app/index.html +29 -0
- package/console-app/pikku-console-logo.png +0 -0
- package/console-app/site.webmanifest +19 -0
- package/console-app/wiring-icons/cron.svg +6 -0
- package/console-app/wiring-icons/function.png +0 -0
- package/console-app/wiring-icons/http.svg +2 -0
- package/console-app/wiring-icons/mcp.svg +1 -0
- package/console-app/wiring-icons/queue.svg +18 -0
- package/console-app/wiring-icons/sse.svg +5 -0
- package/console-app/wiring-icons/websocket.svg +8 -0
- package/dist/.pikku/agent/pikku-agent-types.gen.d.ts +19 -0
- package/dist/.pikku/agent/pikku-agent-types.gen.js +4 -0
- package/dist/.pikku/agent/pikku-agent-wirings-meta.gen.js +6 -0
- package/dist/.pikku/agent/pikku-agent-wirings-meta.gen.json +3 -0
- package/dist/.pikku/agent/pikku-agent-wirings.gen.d.ts +4 -0
- package/dist/.pikku/agent/pikku-agent-wirings.gen.js +4 -0
- package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +65 -10
- package/dist/.pikku/channel/pikku-channel-types.gen.js +23 -16
- package/dist/.pikku/channel/pikku-channels-meta.gen.js +3 -2
- package/dist/.pikku/channel/pikku-channels.gen.d.ts +1 -1
- package/dist/.pikku/channel/pikku-channels.gen.js +1 -1
- package/dist/.pikku/cli/pikku-cli-channel.js +18 -3
- package/dist/.pikku/cli/pikku-cli-client.gen.d.ts +1 -1
- package/dist/.pikku/cli/pikku-cli-client.gen.js +1 -1
- package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +9 -1
- package/dist/.pikku/cli/pikku-cli-types.gen.js +12 -2
- package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +2 -2
- package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.json +45 -12
- package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +1 -1
- package/dist/.pikku/cli/pikku-cli-wirings.gen.js +1 -1
- package/dist/.pikku/cli/pikku-cli.gen.d.ts +1 -5
- package/dist/.pikku/cli/pikku-cli.gen.js +1 -5
- package/dist/.pikku/console/pikku-node-types.gen.d.ts +6 -0
- package/dist/.pikku/console/pikku-node-types.gen.js +1 -0
- package/dist/.pikku/function/pikku-function-types.gen.d.ts +180 -37
- package/dist/.pikku/function/pikku-function-types.gen.js +63 -53
- package/dist/.pikku/function/pikku-functions-meta.gen.js +2 -2
- package/dist/.pikku/function/pikku-functions-meta.gen.json +624 -506
- package/dist/.pikku/function/pikku-functions.gen.d.ts +1 -0
- package/dist/.pikku/function/pikku-functions.gen.js +119 -0
- package/dist/.pikku/http/pikku-http-types.gen.d.ts +54 -3
- package/dist/.pikku/http/pikku-http-types.gen.js +11 -2
- package/dist/.pikku/http/pikku-http-wirings-meta.gen.js +3 -10
- package/dist/.pikku/http/pikku-http-wirings-meta.gen.json +9 -0
- package/dist/.pikku/http/pikku-http-wirings.gen.d.ts +1 -1
- package/dist/.pikku/http/pikku-http-wirings.gen.js +1 -1
- package/dist/.pikku/mcp/pikku-mcp-types.gen.d.ts +68 -29
- package/dist/.pikku/mcp/pikku-mcp-types.gen.js +8 -42
- package/dist/.pikku/mcp/pikku-mcp-wirings-meta.gen.js +4 -4
- package/dist/.pikku/mcp/pikku-mcp-wirings.gen.d.ts +1 -1
- package/dist/.pikku/mcp/pikku-mcp-wirings.gen.js +2 -2
- package/dist/.pikku/node/pikku-node-types.gen.d.ts +1 -0
- package/dist/.pikku/node/pikku-node-types.gen.js +1 -0
- package/dist/.pikku/pikku-bootstrap.gen.d.ts +9 -10
- package/dist/.pikku/pikku-bootstrap.gen.js +17 -8
- package/dist/.pikku/pikku-services.gen.d.ts +7 -2
- package/dist/.pikku/pikku-services.gen.js +5 -0
- package/dist/.pikku/pikku-types.gen.d.ts +4 -1
- package/dist/.pikku/pikku-types.gen.js +7 -1
- package/dist/.pikku/pikku-websocket.gen.d.ts +1 -1
- package/dist/.pikku/pikku-websocket.gen.js +1 -1
- package/dist/.pikku/queue/pikku-queue-types.gen.d.ts +1 -1
- package/dist/.pikku/queue/pikku-queue-types.gen.js +2 -2
- package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +2 -2
- package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.d.ts +1 -1
- package/dist/.pikku/queue/pikku-queue-workers-wirings.gen.js +1 -1
- package/dist/.pikku/rpc/pikku-remote-rpc-workers.gen.d.ts +6 -3
- package/dist/.pikku/rpc/pikku-remote-rpc-workers.gen.js +6 -3
- package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.d.ts +1 -0
- package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +6 -0
- package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.json +61 -0
- package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +1 -1
- package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +2 -2
- package/dist/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.js +2 -2
- package/dist/.pikku/scheduler/pikku-schedulers-wirings.gen.d.ts +1 -1
- package/dist/.pikku/scheduler/pikku-schedulers-wirings.gen.js +1 -1
- package/dist/.pikku/schemas/register.gen.js +33 -15
- package/dist/.pikku/schemas/schemas/BootstrapInput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/ConsoleCommandInput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/PikkuAIAgentOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/PikkuConsoleFunctionsOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/PikkuNodesMetaOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/PikkuPackageOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/PikkuPublicAgentOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/PikkuSchemasOutput.schema.json +1 -1
- package/dist/.pikku/schemas/schemas/PikkuTriggerOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/PikkuVersionsInitInput.schema.json +1 -0
- package/dist/.pikku/secrets/pikku-secret-types.gen.d.ts +5 -0
- package/dist/.pikku/secrets/pikku-secret-types.gen.js +4 -0
- package/dist/.pikku/secrets/pikku-secrets.gen.d.ts +11 -0
- package/dist/.pikku/secrets/pikku-secrets.gen.js +10 -0
- package/dist/.pikku/trigger/pikku-trigger-types.gen.d.ts +113 -0
- package/dist/.pikku/trigger/pikku-trigger-types.gen.js +33 -0
- package/dist/.pikku/variables/pikku-variable-types.gen.d.ts +5 -0
- package/dist/.pikku/variables/pikku-variable-types.gen.js +4 -0
- package/dist/.pikku/variables/pikku-variables.gen.d.ts +11 -0
- package/dist/.pikku/variables/pikku-variables.gen.js +10 -0
- package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +71 -53
- package/dist/.pikku/workflow/pikku-workflow-types.gen.js +23 -35
- package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +3 -3
- package/dist/.pikku/workflow/pikku-workflow-wirings.gen.d.ts +2 -6
- package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +2 -6
- package/dist/bin/pikku.js +20 -47
- package/dist/src/cli.wiring.js +29 -2
- package/dist/src/functions/commands/all.d.ts +1 -1
- package/dist/src/functions/commands/all.js +109 -168
- package/dist/src/functions/commands/bootstrap.d.ts +1 -1
- package/dist/src/functions/commands/bootstrap.js +13 -29
- package/dist/src/functions/commands/console.d.ts +7 -0
- package/dist/src/functions/commands/console.js +106 -0
- package/dist/src/functions/commands/pikku-command-bootstrap.d.ts +4 -0
- package/dist/src/functions/commands/pikku-command-bootstrap.js +67 -0
- package/dist/src/functions/commands/pikku-command-summary.d.ts +1 -0
- package/dist/src/functions/commands/pikku-command-summary.js +55 -0
- package/dist/src/functions/commands/versions-check.d.ts +1 -0
- package/dist/src/functions/commands/versions-check.js +17 -0
- package/dist/src/functions/commands/versions-init.d.ts +7 -0
- package/dist/src/functions/commands/versions-init.js +15 -0
- package/dist/src/functions/commands/versions-update.d.ts +1 -0
- package/dist/src/functions/commands/versions-update.js +20 -0
- package/dist/src/functions/commands/watch.d.ts +1 -1
- package/dist/src/functions/commands/watch.js +4 -5
- package/dist/src/functions/runtimes/fetch/index.d.ts +1 -0
- package/dist/src/functions/{wirings → runtimes}/fetch/index.js +3 -3
- package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.d.ts +1 -1
- package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.js +6 -8
- package/dist/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.d.ts +1 -1
- package/dist/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.js +49 -43
- package/dist/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.js +45 -35
- package/dist/src/functions/runtimes/websocket/pikku-command-websocket-typed.d.ts +1 -0
- package/dist/src/functions/{wirings/channels → runtimes/websocket}/pikku-command-websocket-typed.js +2 -2
- package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent-types.d.ts +1 -0
- package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent-types.js +19 -0
- package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent.d.ts +1 -0
- package/dist/src/functions/wirings/ai-agent/pikku-command-ai-agent.js +68 -0
- package/dist/src/functions/wirings/ai-agent/pikku-command-public-agent.d.ts +1 -0
- package/dist/src/functions/wirings/ai-agent/pikku-command-public-agent.js +23 -0
- package/dist/src/functions/wirings/ai-agent/serialize-agent-map.d.ts +4 -0
- package/dist/src/functions/wirings/ai-agent/serialize-agent-map.js +48 -0
- package/dist/src/functions/wirings/ai-agent/serialize-ai-agent-types.d.ts +1 -0
- package/dist/src/functions/wirings/ai-agent/serialize-ai-agent-types.js +31 -0
- package/dist/src/functions/wirings/ai-agent/serialize-public-agent.d.ts +1 -0
- package/dist/src/functions/wirings/ai-agent/serialize-public-agent.js +90 -0
- package/dist/src/functions/wirings/channels/pikku-channels.d.ts +1 -1
- package/dist/src/functions/wirings/channels/pikku-channels.js +2 -2
- package/dist/src/functions/wirings/channels/pikku-command-channel-types.d.ts +1 -1
- package/dist/src/functions/wirings/channels/pikku-command-channel-types.js +3 -3
- package/dist/src/functions/wirings/channels/pikku-command-channels-map.d.ts +1 -1
- package/dist/src/functions/wirings/channels/pikku-command-channels-map.js +2 -2
- package/dist/src/functions/wirings/channels/pikku-command-channels.d.ts +1 -1
- package/dist/src/functions/wirings/channels/pikku-command-channels.js +19 -3
- package/dist/src/functions/wirings/channels/serialize-channel-types.d.ts +1 -1
- package/dist/src/functions/wirings/channels/serialize-channel-types.js +97 -10
- package/dist/src/functions/wirings/channels/serialize-typed-channel-map.d.ts +2 -1
- package/dist/src/functions/wirings/channels/serialize-typed-channel-map.js +9 -10
- package/dist/src/functions/wirings/cli/pikku-command-cli-entry.d.ts +1 -1
- package/dist/src/functions/wirings/cli/pikku-command-cli-entry.js +3 -7
- package/dist/src/functions/wirings/cli/pikku-command-cli-types.d.ts +1 -1
- package/dist/src/functions/wirings/cli/pikku-command-cli-types.js +1 -1
- package/dist/src/functions/wirings/cli/pikku-command-cli.d.ts +1 -1
- package/dist/src/functions/wirings/cli/pikku-command-cli.js +11 -3
- package/dist/src/functions/wirings/cli/serialize-channel-cli.js +8 -8
- package/dist/src/functions/wirings/cli/serialize-cli-types.js +14 -1
- package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.d.ts +2 -2
- package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.js +10 -11
- package/dist/src/functions/wirings/console/pikku-command-console-functions.d.ts +1 -0
- package/dist/src/functions/wirings/console/pikku-command-console-functions.js +23 -0
- package/dist/src/functions/wirings/console/pikku-command-node-types.d.ts +1 -0
- package/dist/src/functions/wirings/console/pikku-command-node-types.js +21 -0
- package/dist/src/functions/wirings/console/pikku-command-nodes-meta.d.ts +1 -0
- package/dist/src/functions/wirings/console/pikku-command-nodes-meta.js +79 -0
- package/dist/src/functions/wirings/console/serialize-console-functions.d.ts +1 -0
- package/dist/src/functions/wirings/console/serialize-console-functions.js +229 -0
- package/dist/src/functions/wirings/console/serialize-node-types.d.ts +1 -0
- package/dist/src/functions/wirings/console/serialize-node-types.js +11 -0
- package/dist/src/functions/wirings/functions/pikku-command-external-types.d.ts +1 -0
- package/dist/src/functions/wirings/functions/pikku-command-external-types.js +33 -0
- package/dist/src/functions/wirings/functions/pikku-command-function-types-split.d.ts +1 -1
- package/dist/src/functions/wirings/functions/pikku-command-function-types-split.js +2 -2
- package/dist/src/functions/wirings/functions/pikku-command-function-types.d.ts +1 -1
- package/dist/src/functions/wirings/functions/pikku-command-function-types.js +8 -3
- package/dist/src/functions/wirings/functions/pikku-command-functions.d.ts +1 -1
- package/dist/src/functions/wirings/functions/pikku-command-functions.js +34 -19
- package/dist/src/functions/wirings/functions/pikku-command-services.d.ts +1 -1
- package/dist/src/functions/wirings/functions/pikku-command-services.js +2 -2
- package/dist/src/functions/wirings/functions/schemas.d.ts +1 -4
- package/dist/src/functions/wirings/functions/schemas.js +8 -9
- package/dist/src/functions/wirings/functions/serialize-external-types.d.ts +1 -0
- package/dist/src/functions/wirings/functions/serialize-external-types.js +77 -0
- package/dist/src/functions/wirings/functions/serialize-function-imports.d.ts +4 -3
- package/dist/src/functions/wirings/functions/serialize-function-imports.js +16 -19
- package/dist/src/functions/wirings/functions/serialize-function-types.d.ts +1 -1
- package/dist/src/functions/wirings/functions/serialize-function-types.js +256 -42
- package/dist/src/functions/wirings/functions/serialize-pikku-types-hub.d.ts +1 -1
- package/dist/src/functions/wirings/functions/serialize-pikku-types-hub.js +22 -21
- package/dist/src/functions/wirings/http/pikku-command-http-map.d.ts +1 -1
- package/dist/src/functions/wirings/http/pikku-command-http-map.js +4 -4
- package/dist/src/functions/wirings/http/pikku-command-http-routes.d.ts +1 -1
- package/dist/src/functions/wirings/http/pikku-command-http-routes.js +19 -3
- package/dist/src/functions/wirings/http/pikku-command-http-types.d.ts +1 -1
- package/dist/src/functions/wirings/http/pikku-command-http-types.js +1 -1
- package/dist/src/functions/wirings/http/pikku-command-openapi.d.ts +1 -1
- package/dist/src/functions/wirings/http/pikku-command-openapi.js +11 -9
- package/dist/src/functions/wirings/http/pikku-http-routes.d.ts +1 -1
- package/dist/src/functions/wirings/http/pikku-http-routes.js +2 -2
- package/dist/src/functions/wirings/http/serialize-http-types.js +64 -3
- package/dist/src/functions/wirings/http/serialize-typed-http-map.d.ts +5 -2
- package/dist/src/functions/wirings/http/serialize-typed-http-map.js +43 -31
- package/dist/src/functions/wirings/mcp/pikku-command-mcp-json.d.ts +1 -1
- package/dist/src/functions/wirings/mcp/pikku-command-mcp-json.js +5 -6
- package/dist/src/functions/wirings/mcp/pikku-command-mcp-types.d.ts +1 -1
- package/dist/src/functions/wirings/mcp/pikku-command-mcp-types.js +1 -1
- package/dist/src/functions/wirings/mcp/pikku-command-mcp.d.ts +1 -1
- package/dist/src/functions/wirings/mcp/pikku-command-mcp.js +28 -10
- package/dist/src/functions/wirings/mcp/serialize-mcp-types.js +81 -38
- package/dist/src/functions/wirings/middleware/pikku-command-middleware.d.ts +1 -1
- package/dist/src/functions/wirings/middleware/pikku-command-middleware.js +11 -31
- package/dist/src/functions/wirings/middleware/serialize-middleware-imports.js +19 -24
- package/dist/src/functions/wirings/package/pikku-command-package-types.d.ts +2 -0
- package/dist/src/functions/wirings/package/pikku-command-package-types.js +30 -0
- package/dist/src/functions/wirings/package/pikku-command-package.d.ts +1 -0
- package/dist/src/functions/wirings/package/pikku-command-package.js +58 -0
- package/dist/src/functions/wirings/package/serialize-package-types.d.ts +2 -0
- package/dist/src/functions/wirings/package/serialize-package-types.js +10 -0
- package/dist/src/functions/wirings/package/serialize-package.d.ts +5 -0
- package/dist/src/functions/wirings/package/serialize-package.js +32 -0
- package/dist/src/functions/wirings/permissions/pikku-command-permissions.d.ts +1 -1
- package/dist/src/functions/wirings/permissions/pikku-command-permissions.js +10 -5
- package/dist/src/functions/wirings/queue/pikku-command-queue-map.d.ts +1 -1
- package/dist/src/functions/wirings/queue/pikku-command-queue-map.js +3 -3
- package/dist/src/functions/wirings/queue/pikku-command-queue-service.d.ts +1 -1
- package/dist/src/functions/wirings/queue/pikku-command-queue-service.js +2 -2
- package/dist/src/functions/wirings/queue/pikku-command-queue-types.d.ts +1 -1
- package/dist/src/functions/wirings/queue/pikku-command-queue-types.js +1 -1
- package/dist/src/functions/wirings/queue/pikku-command-queue.d.ts +1 -1
- package/dist/src/functions/wirings/queue/pikku-command-queue.js +11 -3
- package/dist/src/functions/wirings/queue/pikku-queue-map.d.ts +1 -1
- package/dist/src/functions/wirings/queue/pikku-queue-map.js +3 -3
- package/dist/src/functions/wirings/queue/pikku-queue.d.ts +1 -1
- package/dist/src/functions/wirings/queue/pikku-queue.js +2 -10
- package/dist/src/functions/wirings/queue/serialize-queue-map.d.ts +5 -2
- package/dist/src/functions/wirings/queue/serialize-queue-map.js +13 -24
- package/dist/src/functions/wirings/queue/serialize-queue-meta.js +9 -10
- package/dist/src/functions/wirings/queue/serialize-queue-types.js +1 -1
- package/dist/src/functions/wirings/rpc/pikku-command-public-rpc.d.ts +1 -1
- package/dist/src/functions/wirings/rpc/pikku-command-public-rpc.js +2 -2
- package/dist/src/functions/wirings/rpc/pikku-command-remote-rpc.d.ts +1 -1
- package/dist/src/functions/wirings/rpc/pikku-command-remote-rpc.js +1 -1
- package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.d.ts +1 -1
- package/dist/src/functions/wirings/rpc/pikku-command-rpc-client.js +2 -2
- package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.d.ts +2 -2
- package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.js +12 -7
- package/dist/src/functions/wirings/rpc/pikku-command-rpc.d.ts +1 -1
- package/dist/src/functions/wirings/rpc/pikku-command-rpc.js +5 -2
- package/dist/src/functions/wirings/rpc/serialize-public-rpc.d.ts +1 -1
- package/dist/src/functions/wirings/rpc/serialize-public-rpc.js +11 -6
- package/dist/src/functions/wirings/rpc/serialize-remote-rpc.js +5 -2
- package/dist/src/functions/wirings/rpc/serialize-rpc-wrapper.js +19 -8
- package/dist/src/functions/wirings/rpc/serialize-typed-rpc-map.d.ts +6 -3
- package/dist/src/functions/wirings/rpc/serialize-typed-rpc-map.js +130 -59
- package/dist/src/functions/wirings/scheduler/pikku-command-scheduler-types.d.ts +1 -1
- package/dist/src/functions/wirings/scheduler/pikku-command-scheduler-types.js +1 -1
- package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.d.ts +1 -1
- package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.js +11 -2
- package/dist/src/functions/wirings/scheduler/serialize-scheduler-meta.d.ts +1 -1
- package/dist/src/functions/wirings/scheduler/serialize-scheduler-meta.js +13 -12
- package/dist/src/functions/wirings/scheduler/serialize-scheduler-types.js +1 -1
- package/dist/src/functions/wirings/secrets/pikku-command-secrets.d.ts +1 -0
- package/dist/src/functions/wirings/secrets/pikku-command-secrets.js +31 -0
- package/dist/src/functions/wirings/secrets/serialize-secrets-types.d.ts +9 -0
- package/dist/src/functions/wirings/secrets/serialize-secrets-types.js +64 -0
- package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.d.ts +1 -0
- package/dist/src/functions/wirings/triggers/pikku-command-trigger-types.js +24 -0
- package/dist/src/functions/wirings/triggers/pikku-command-trigger.d.ts +1 -0
- package/dist/src/functions/wirings/triggers/pikku-command-trigger.js +40 -0
- package/dist/src/functions/wirings/triggers/serialize-trigger-meta.d.ts +5 -0
- package/dist/src/functions/wirings/triggers/serialize-trigger-meta.js +35 -0
- package/dist/src/functions/wirings/triggers/serialize-trigger-types.d.ts +4 -0
- package/dist/src/functions/wirings/triggers/serialize-trigger-types.js +163 -0
- package/dist/src/functions/wirings/variables/pikku-command-variables.d.ts +1 -0
- package/dist/src/functions/wirings/variables/pikku-command-variables.js +31 -0
- package/dist/src/functions/wirings/variables/serialize-variables-types.d.ts +9 -0
- package/dist/src/functions/wirings/variables/serialize-variables-types.js +53 -0
- package/dist/src/functions/wirings/workflow/pikku-command-workflow.d.ts +1 -1
- package/dist/src/functions/wirings/workflow/pikku-command-workflow.js +29 -20
- package/dist/src/functions/wirings/workflow/serialize-workflow-map.d.ts +7 -2
- package/dist/src/functions/wirings/workflow/serialize-workflow-map.js +87 -38
- package/dist/src/functions/wirings/workflow/serialize-workflow-meta.d.ts +1 -3
- package/dist/src/functions/wirings/workflow/serialize-workflow-meta.js +42 -18
- package/dist/src/functions/wirings/workflow/serialize-workflow-registration.d.ts +7 -0
- package/dist/src/functions/wirings/workflow/serialize-workflow-registration.js +26 -0
- package/dist/src/functions/wirings/workflow/serialize-workflow-types.d.ts +1 -4
- package/dist/src/functions/wirings/workflow/serialize-workflow-types.js +121 -63
- package/dist/src/functions/wirings/workflow/serialize-workflow-workers.d.ts +1 -1
- package/dist/src/functions/wirings/workflow/serialize-workflow-workers.js +15 -28
- package/dist/src/services/cli-logger-forwarder.service.d.ts +1 -1
- package/dist/src/services/cli-logger-forwarder.service.js +1 -1
- package/dist/src/services/cli-logger.service.d.ts +1 -1
- package/dist/src/services/cli-logger.service.js +1 -1
- package/dist/src/services.d.ts +1 -1
- package/dist/src/services.js +56 -6
- package/dist/src/utils/command-summary.d.ts +3 -0
- package/dist/src/utils/command-summary.js +3 -0
- package/dist/src/utils/contract-versions.d.ts +6 -0
- package/dist/src/utils/contract-versions.js +25 -0
- package/dist/src/utils/file-import-path.js +20 -6
- package/dist/src/utils/generate-bootstrap-file.js +1 -1
- package/dist/src/utils/pikku-cli-config.js +104 -13
- package/dist/src/utils/pikku-files-and-methods.d.ts +0 -1
- package/dist/src/utils/pikku-files-and-methods.js +15 -60
- package/dist/src/utils/serialize-import-map.d.ts +2 -1
- package/dist/src/utils/serialize-import-map.js +3 -54
- package/dist/src/utils/serialize-meta-ts.d.ts +8 -0
- package/dist/src/utils/serialize-meta-ts.js +12 -0
- package/dist/src/utils/serialize-schemas.d.ts +3 -0
- package/dist/src/utils/serialize-schemas.js +38 -0
- package/dist/src/utils/strip-verbose-meta.d.ts +43 -0
- package/dist/src/utils/strip-verbose-meta.js +210 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +20 -8
- package/.pikku/channel/pikku-channel-types.gen.ts +0 -91
- package/.pikku/channel/pikku-channels-map.gen.d.ts +0 -47
- package/.pikku/channel/pikku-channels-meta.gen.ts +0 -5
- package/.pikku/channel/pikku-channels.gen.ts +0 -4
- package/.pikku/cli/pikku-cli-channel.ts +0 -92
- package/.pikku/cli/pikku-cli-client.gen.ts +0 -54
- package/.pikku/cli/pikku-cli-types.gen.ts +0 -92
- package/.pikku/cli/pikku-cli-wirings-meta.gen.json +0 -146
- package/.pikku/cli/pikku-cli-wirings-meta.gen.ts +0 -7
- package/.pikku/cli/pikku-cli-wirings.gen.ts +0 -6
- package/.pikku/cli/pikku-cli.gen.ts +0 -41
- package/.pikku/function/pikku-function-types.gen.ts +0 -426
- package/.pikku/function/pikku-functions-meta.gen.json +0 -988
- package/.pikku/function/pikku-functions-meta.gen.ts +0 -6
- package/.pikku/function/pikku-functions-meta.min.gen.json +0 -212
- package/.pikku/function/pikku-functions-meta.min.gen.ts +0 -6
- package/.pikku/http/pikku-http-types.gen.ts +0 -86
- package/.pikku/http/pikku-http-wirings-map.gen.d.ts +0 -46
- package/.pikku/http/pikku-http-wirings-meta.gen.ts +0 -13
- package/.pikku/http/pikku-http-wirings.gen.ts +0 -4
- package/.pikku/mcp/pikku-mcp-types.gen.ts +0 -140
- package/.pikku/mcp/pikku-mcp-wirings-meta.gen.json +0 -5
- package/.pikku/mcp/pikku-mcp-wirings-meta.gen.ts +0 -9
- package/.pikku/mcp/pikku-mcp-wirings.gen.ts +0 -4
- package/.pikku/mcp/pikku-mcp.gen.json +0 -5
- package/.pikku/pikku-bootstrap.gen.ts +0 -19
- package/.pikku/pikku-services.gen.ts +0 -27
- package/.pikku/pikku-types.gen.ts +0 -27
- package/.pikku/pikku-websocket.gen.ts +0 -90
- package/.pikku/queue/pikku-queue-types.gen.ts +0 -27
- package/.pikku/queue/pikku-queue-workers-wirings-map.gen.d.ts +0 -60
- package/.pikku/queue/pikku-queue-workers-wirings-meta.gen.json +0 -1
- package/.pikku/queue/pikku-queue-workers-wirings-meta.gen.ts +0 -8
- package/.pikku/queue/pikku-queue-workers-wirings.gen.ts +0 -4
- package/.pikku/rpc/pikku-remote-rpc-workers.gen.ts +0 -27
- package/.pikku/rpc/pikku-rpc-wirings-map.gen.d.ts +0 -57
- package/.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts +0 -99
- package/.pikku/scheduler/pikku-scheduler-types.gen.ts +0 -25
- package/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.json +0 -1
- package/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.ts +0 -8
- package/.pikku/scheduler/pikku-schedulers-wirings.gen.ts +0 -4
- package/.pikku/schemas/register.gen.ts +0 -63
- package/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuCLIOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuChannelsOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuFunctionsOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuHTTPOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuMCPOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuMiddlewareOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuPermissionsOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuPublicRPCOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuQueueOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuRPCOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuRemoteRPCOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuSchedulerOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuSchemasOutput.schema.json +0 -1
- package/.pikku/schemas/schemas/PikkuWorkflowOutput.schema.json +0 -1
- package/.pikku/services/config.gen.json +0 -99
- package/.pikku/services/getInspectorState.gen.json +0 -10
- package/.pikku/services/jwt.gen.json +0 -13
- package/.pikku/services/logger.gen.json +0 -25
- package/.pikku/services/queueService.gen.json +0 -14
- package/.pikku/services/schedulerService.gen.json +0 -17
- package/.pikku/services/schema.gen.json +0 -14
- package/.pikku/services/variables.gen.json +0 -13
- package/.pikku/services/workflowService.gen.json +0 -31
- package/.pikku/workflow/pikku-workflow-map.gen.d.ts +0 -62
- package/.pikku/workflow/pikku-workflow-types.gen.ts +0 -97
- package/.pikku/workflow/pikku-workflow-wirings-meta.gen.json +0 -1
- package/.pikku/workflow/pikku-workflow-wirings-meta.gen.ts +0 -8
- package/.pikku/workflow/pikku-workflow-wirings.gen.ts +0 -8
- package/CHANGELOG.md +0 -935
- package/bin/pikku.ts +0 -88
- package/build.sh +0 -75
- package/dist/.pikku/function/pikku-functions-meta.min.gen.js +0 -6
- package/dist/.pikku/function/pikku-functions-meta.min.gen.json +0 -212
- package/dist/src/functions/wirings/channels/pikku-command-websocket-typed.d.ts +0 -1
- package/dist/src/functions/wirings/fetch/index.d.ts +0 -1
- package/dist/src/functions/wirings/functions/pikku-function-types.d.ts +0 -1
- package/dist/src/functions/wirings/functions/pikku-function-types.js +0 -18
- package/dist/src/functions/wirings/http/openapi-spec-generator.d.ts +0 -81
- package/dist/src/functions/wirings/http/openapi-spec-generator.js +0 -152
- package/dist/src/functions/wirings/mcp/serialize-mcp-json.d.ts +0 -5
- package/dist/src/functions/wirings/mcp/serialize-mcp-json.js +0 -101
- package/dist/src/functions/wirings/middleware/serialize-middleware-groups-meta.d.ts +0 -11
- package/dist/src/functions/wirings/middleware/serialize-middleware-groups-meta.js +0 -36
- package/dist/src/functions/wirings/services/pikku-command-service-metadata.d.ts +0 -1
- package/dist/src/functions/wirings/services/pikku-command-service-metadata.js +0 -22
- package/dist/src/functions/wirings/workflow/pikku-command-workflow-map.d.ts +0 -1
- package/dist/src/functions/wirings/workflow/pikku-command-workflow-map.js +0 -12
- package/dist/src/functions/wirings/workflow/pikku-command-workflow-types.d.ts +0 -1
- package/dist/src/functions/wirings/workflow/pikku-command-workflow-types.js +0 -13
- package/dist/src/functions/wirings/workflow/serialize-workflow-wirings.d.ts +0 -8
- package/dist/src/functions/wirings/workflow/serialize-workflow-wirings.js +0 -30
- package/dist/src/utils/custom-types-generator.d.ts +0 -2
- package/dist/src/utils/custom-types-generator.js +0 -43
- package/dist/src/utils/schema-generator.d.ts +0 -6
- package/dist/src/utils/schema-generator.js +0 -118
- package/pikku.config.json +0 -29
- package/run-tests.sh +0 -53
- package/src/cli.wiring.ts +0 -112
- package/src/functions/commands/all.ts +0 -266
- package/src/functions/commands/bootstrap.ts +0 -43
- package/src/functions/commands/watch.ts +0 -61
- package/src/functions/runtimes/nextjs/pikku-command-nextjs.ts +0 -132
- package/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.ts +0 -268
- package/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.ts +0 -201
- package/src/functions/wirings/channels/pikku-channels.ts +0 -59
- package/src/functions/wirings/channels/pikku-command-channel-types.ts +0 -25
- package/src/functions/wirings/channels/pikku-command-channels-map.ts +0 -26
- package/src/functions/wirings/channels/pikku-command-channels.ts +0 -40
- package/src/functions/wirings/channels/pikku-command-websocket-typed.ts +0 -37
- package/src/functions/wirings/channels/serialize-channel-types.ts +0 -94
- package/src/functions/wirings/channels/serialize-typed-channel-map.ts +0 -172
- package/src/functions/wirings/channels/serialize-websocket-wrapper.ts +0 -89
- package/src/functions/wirings/cli/pikku-command-cli-entry.ts +0 -216
- package/src/functions/wirings/cli/pikku-command-cli-types.ts +0 -48
- package/src/functions/wirings/cli/pikku-command-cli.ts +0 -62
- package/src/functions/wirings/cli/serialize-channel-cli-client.ts +0 -184
- package/src/functions/wirings/cli/serialize-channel-cli.ts +0 -134
- package/src/functions/wirings/cli/serialize-cli-types.ts +0 -101
- package/src/functions/wirings/cli/serialize-local-cli-bootstrap.ts +0 -80
- package/src/functions/wirings/fetch/index.ts +0 -36
- package/src/functions/wirings/functions/pikku-command-function-types-split.ts +0 -60
- package/src/functions/wirings/functions/pikku-command-function-types.ts +0 -43
- package/src/functions/wirings/functions/pikku-command-functions.ts +0 -94
- package/src/functions/wirings/functions/pikku-command-services.ts +0 -140
- package/src/functions/wirings/functions/pikku-function-types.ts +0 -43
- package/src/functions/wirings/functions/schemas.ts +0 -46
- package/src/functions/wirings/functions/serialize-function-imports.ts +0 -71
- package/src/functions/wirings/functions/serialize-function-types.ts +0 -439
- package/src/functions/wirings/functions/serialize-pikku-types-hub.ts +0 -38
- package/src/functions/wirings/http/openapi-spec-generator.ts +0 -265
- package/src/functions/wirings/http/pikku-command-http-map.ts +0 -27
- package/src/functions/wirings/http/pikku-command-http-routes.ts +0 -36
- package/src/functions/wirings/http/pikku-command-http-types.ts +0 -25
- package/src/functions/wirings/http/pikku-command-openapi.ts +0 -63
- package/src/functions/wirings/http/pikku-http-routes.ts +0 -61
- package/src/functions/wirings/http/serialize-fetch-wrapper.ts +0 -67
- package/src/functions/wirings/http/serialize-http-types.ts +0 -89
- package/src/functions/wirings/http/serialize-typed-http-map.ts +0 -154
- package/src/functions/wirings/mcp/pikku-command-mcp-json.ts +0 -33
- package/src/functions/wirings/mcp/pikku-command-mcp-types.ts +0 -25
- package/src/functions/wirings/mcp/pikku-command-mcp.ts +0 -140
- package/src/functions/wirings/mcp/serialize-mcp-json.ts +0 -159
- package/src/functions/wirings/mcp/serialize-mcp-types.ts +0 -143
- package/src/functions/wirings/middleware/pikku-command-middleware.ts +0 -85
- package/src/functions/wirings/middleware/serialize-middleware-groups-meta.ts +0 -40
- package/src/functions/wirings/middleware/serialize-middleware-imports.ts +0 -78
- package/src/functions/wirings/permissions/pikku-command-permissions.ts +0 -49
- package/src/functions/wirings/permissions/serialize-permissions-imports.test.ts +0 -274
- package/src/functions/wirings/permissions/serialize-permissions-imports.ts +0 -78
- package/src/functions/wirings/queue/pikku-command-queue-map.ts +0 -26
- package/src/functions/wirings/queue/pikku-command-queue-service.ts +0 -37
- package/src/functions/wirings/queue/pikku-command-queue-types.ts +0 -25
- package/src/functions/wirings/queue/pikku-command-queue.ts +0 -66
- package/src/functions/wirings/queue/pikku-queue-map.ts +0 -26
- package/src/functions/wirings/queue/pikku-queue.ts +0 -75
- package/src/functions/wirings/queue/serialize-queue-map.ts +0 -119
- package/src/functions/wirings/queue/serialize-queue-meta.ts +0 -24
- package/src/functions/wirings/queue/serialize-queue-types.ts +0 -30
- package/src/functions/wirings/queue/serialize-queue-wrapper.ts +0 -35
- package/src/functions/wirings/rpc/pikku-command-public-rpc.ts +0 -32
- package/src/functions/wirings/rpc/pikku-command-remote-rpc.ts +0 -35
- package/src/functions/wirings/rpc/pikku-command-rpc-client.ts +0 -35
- package/src/functions/wirings/rpc/pikku-command-rpc-map.ts +0 -48
- package/src/functions/wirings/rpc/pikku-command-rpc.ts +0 -49
- package/src/functions/wirings/rpc/serialize-public-rpc.ts +0 -37
- package/src/functions/wirings/rpc/serialize-remote-rpc.ts +0 -30
- package/src/functions/wirings/rpc/serialize-rpc-wrapper.ts +0 -68
- package/src/functions/wirings/rpc/serialize-typed-rpc-map.ts +0 -128
- package/src/functions/wirings/scheduler/pikku-command-scheduler-types.ts +0 -25
- package/src/functions/wirings/scheduler/pikku-command-scheduler.ts +0 -67
- package/src/functions/wirings/scheduler/serialize-scheduler-meta.ts +0 -37
- package/src/functions/wirings/scheduler/serialize-scheduler-types.ts +0 -28
- package/src/functions/wirings/services/pikku-command-service-metadata.ts +0 -25
- package/src/functions/wirings/workflow/pikku-command-workflow-map.ts +0 -24
- package/src/functions/wirings/workflow/pikku-command-workflow-types.ts +0 -29
- package/src/functions/wirings/workflow/pikku-command-workflow.ts +0 -151
- package/src/functions/wirings/workflow/serialize-workflow-map.ts +0 -123
- package/src/functions/wirings/workflow/serialize-workflow-meta.ts +0 -33
- package/src/functions/wirings/workflow/serialize-workflow-types.ts +0 -103
- package/src/functions/wirings/workflow/serialize-workflow-wirings.ts +0 -47
- package/src/functions/wirings/workflow/serialize-workflow-workers.ts +0 -60
- package/src/middleware/log-command-info-and-time.ts +0 -35
- package/src/services/cli-logger-forwarder.service.ts +0 -99
- package/src/services/cli-logger.service.ts +0 -108
- package/src/services.ts +0 -315
- package/src/utils/check-required-types.ts +0 -65
- package/src/utils/command-summary.ts +0 -103
- package/src/utils/custom-types-generator.ts +0 -55
- package/src/utils/file-import-path.test.ts +0 -175
- package/src/utils/file-import-path.ts +0 -53
- package/src/utils/file-imports-serializer.ts +0 -25
- package/src/utils/file-writer.ts +0 -72
- package/src/utils/generate-bootstrap-file.ts +0 -43
- package/src/utils/get-cli-version.ts +0 -28
- package/src/utils/pikku-cli-config.ts +0 -462
- package/src/utils/pikku-files-and-methods.ts +0 -145
- package/src/utils/schema-generator.ts +0 -172
- package/src/utils/serialize-import-map.ts +0 -102
- package/tsconfig.json +0 -21
- package/types/application-types.d.ts +0 -27
- package/types/config.d.ts +0 -270
- /package/dist/.pikku/{function/pikku-functions-meta.min.gen.d.ts → agent/pikku-agent-wirings-meta.gen.d.ts} +0 -0
- /package/dist/.pikku/{workflow/pikku-workflow-wirings-meta.gen.json → channel/pikku-channels-meta.gen.json} +0 -0
- /package/dist/src/functions/{wirings/channels → runtimes/websocket}/serialize-websocket-wrapper.d.ts +0 -0
- /package/dist/src/functions/{wirings/channels → runtimes/websocket}/serialize-websocket-wrapper.js +0 -0
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
import { HTTPWiringsMeta } from '@pikku/core/http'
|
|
2
|
-
import { serializeImportMap } from '../../../utils/serialize-import-map.js'
|
|
3
|
-
import { MetaInputTypes, TypesMap } from '@pikku/inspector'
|
|
4
|
-
import { FunctionsMeta } from '@pikku/core'
|
|
5
|
-
import { generateCustomTypes } from '../../../utils/custom-types-generator.js'
|
|
6
|
-
|
|
7
|
-
export const serializeTypedHTTPWiringsMap = (
|
|
8
|
-
relativeToPath: string,
|
|
9
|
-
packageMappings: Record<string, string>,
|
|
10
|
-
typesMap: TypesMap,
|
|
11
|
-
functionsMeta: FunctionsMeta,
|
|
12
|
-
wiringsMeta: HTTPWiringsMeta,
|
|
13
|
-
metaTypes: MetaInputTypes
|
|
14
|
-
) => {
|
|
15
|
-
const requiredTypes = new Set<string>()
|
|
16
|
-
const serializedCustomTypes = generateCustomTypes(typesMap, requiredTypes)
|
|
17
|
-
const serializedMetaTypes = generateMetaTypes(metaTypes, typesMap)
|
|
18
|
-
const serializedHTTPWirings = generateHTTPWirings(
|
|
19
|
-
wiringsMeta,
|
|
20
|
-
functionsMeta,
|
|
21
|
-
typesMap,
|
|
22
|
-
requiredTypes
|
|
23
|
-
)
|
|
24
|
-
|
|
25
|
-
const serializedImportMap = serializeImportMap(
|
|
26
|
-
relativeToPath,
|
|
27
|
-
packageMappings,
|
|
28
|
-
typesMap,
|
|
29
|
-
requiredTypes
|
|
30
|
-
)
|
|
31
|
-
|
|
32
|
-
return `/**
|
|
33
|
-
* This provides the structure needed for typescript to be aware of routes and their return types
|
|
34
|
-
*/
|
|
35
|
-
|
|
36
|
-
${serializedImportMap}
|
|
37
|
-
${serializedCustomTypes}
|
|
38
|
-
${serializedMetaTypes}
|
|
39
|
-
|
|
40
|
-
interface HTTPWiringHandler<I, O> {
|
|
41
|
-
input: I;
|
|
42
|
-
output: O;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
${serializedHTTPWirings}
|
|
46
|
-
|
|
47
|
-
export type HTTPWiringHandlerOf<HTTPWiring extends keyof HTTPWiringsMap, Method extends keyof HTTPWiringsMap[HTTPWiring]> =
|
|
48
|
-
HTTPWiringsMap[HTTPWiring][Method] extends { input: infer I; output: infer O }
|
|
49
|
-
? HTTPWiringHandler<I, O>
|
|
50
|
-
: never;
|
|
51
|
-
|
|
52
|
-
export type HTTPWiringsWithMethod<Method extends string> = {
|
|
53
|
-
[HTTPWiring in keyof HTTPWiringsMap]: Method extends keyof HTTPWiringsMap[HTTPWiring] ? HTTPWiring : never;
|
|
54
|
-
}[keyof HTTPWiringsMap];
|
|
55
|
-
`
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
function generateHTTPWirings(
|
|
59
|
-
routesMeta: HTTPWiringsMeta,
|
|
60
|
-
functionsMeta: FunctionsMeta,
|
|
61
|
-
typesMap: TypesMap,
|
|
62
|
-
requiredTypes: Set<string>
|
|
63
|
-
) {
|
|
64
|
-
// Initialize an object to collect routes
|
|
65
|
-
const routesObj: Record<
|
|
66
|
-
string,
|
|
67
|
-
Record<string, { inputType: string; outputType: string }>
|
|
68
|
-
> = {}
|
|
69
|
-
|
|
70
|
-
for (const methods of Object.values(routesMeta)) {
|
|
71
|
-
for (const meta of Object.values(methods)) {
|
|
72
|
-
const { route, method, pikkuFuncName } = meta
|
|
73
|
-
const functionMeta = functionsMeta[pikkuFuncName]
|
|
74
|
-
if (!functionMeta) {
|
|
75
|
-
throw new Error(
|
|
76
|
-
`Function ${pikkuFuncName} not found in functionsMeta. Please check your configuration.`
|
|
77
|
-
)
|
|
78
|
-
}
|
|
79
|
-
const input = functionMeta.inputs ? functionMeta.inputs[0] : undefined
|
|
80
|
-
const output = functionMeta.outputs ? functionMeta.outputs[0] : undefined
|
|
81
|
-
|
|
82
|
-
// Initialize the route entry if it doesn't exist
|
|
83
|
-
if (!routesObj[route]) {
|
|
84
|
-
routesObj[route] = {}
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
// Store the input and output types separately for RouteHandler
|
|
88
|
-
const inputType = input ? typesMap.getTypeMeta(input).uniqueName : 'null'
|
|
89
|
-
const outputType = output
|
|
90
|
-
? typesMap.getTypeMeta(output).uniqueName
|
|
91
|
-
: 'null'
|
|
92
|
-
|
|
93
|
-
requiredTypes.add(inputType)
|
|
94
|
-
requiredTypes.add(outputType)
|
|
95
|
-
|
|
96
|
-
// Add method entry
|
|
97
|
-
routesObj[route][method] = {
|
|
98
|
-
inputType,
|
|
99
|
-
outputType,
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
// Build the routes object as a string
|
|
105
|
-
let routesStr = 'export type HTTPWiringsMap = {\n'
|
|
106
|
-
|
|
107
|
-
for (const [routePath, methods] of Object.entries(routesObj)) {
|
|
108
|
-
routesStr += ` readonly '${routePath}': {\n`
|
|
109
|
-
for (const [method, handler] of Object.entries(methods)) {
|
|
110
|
-
routesStr += ` readonly ${method.toUpperCase()}: HTTPWiringHandler<${handler.inputType}, ${handler.outputType}>,\n`
|
|
111
|
-
}
|
|
112
|
-
routesStr += ' },\n'
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
routesStr += '};'
|
|
116
|
-
|
|
117
|
-
return routesStr
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
const generateMetaTypes = (metaTypes: MetaInputTypes, typesMap: TypesMap) => {
|
|
121
|
-
const nameToTypeMap = Array.from(metaTypes.entries()).reduce<
|
|
122
|
-
Map<string, string>
|
|
123
|
-
>((result, [_name, { query, body, params }]) => {
|
|
124
|
-
const { uniqueName } = typesMap.getTypeMeta(_name)
|
|
125
|
-
const queryType =
|
|
126
|
-
query && query.length > 0
|
|
127
|
-
? `Pick<${uniqueName}, '${query?.join("' | '")}'>`
|
|
128
|
-
: undefined
|
|
129
|
-
if (queryType) {
|
|
130
|
-
result.set(`${uniqueName}Query`, queryType)
|
|
131
|
-
}
|
|
132
|
-
const paramsType =
|
|
133
|
-
params && params.length > 0
|
|
134
|
-
? `Pick<${uniqueName}, '${params.join("' | '")}'>`
|
|
135
|
-
: undefined
|
|
136
|
-
if (paramsType) {
|
|
137
|
-
result.set(`${uniqueName}Params`, paramsType)
|
|
138
|
-
}
|
|
139
|
-
const bodyType =
|
|
140
|
-
(body && body.length > 0) || (params && params.length > 0)
|
|
141
|
-
? `Omit<${uniqueName}, '${[...new Set([...(query || []), ...(params || [])])].join("' | '")}'>`
|
|
142
|
-
: uniqueName!
|
|
143
|
-
if (bodyType) {
|
|
144
|
-
result.set(`${uniqueName}Body`, bodyType)
|
|
145
|
-
}
|
|
146
|
-
return result
|
|
147
|
-
}, new Map())
|
|
148
|
-
|
|
149
|
-
return `
|
|
150
|
-
// The '& {}' is a workaround for not directly refering to a type since it confuses typescript
|
|
151
|
-
${Array.from(nameToTypeMap.entries())
|
|
152
|
-
.map(([name, type]) => `export type ${name} = ${type} & {}`)
|
|
153
|
-
.join('\n')}`
|
|
154
|
-
}
|
|
@@ -1,33 +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 { serializeMCPJson } from './serialize-mcp-json.js'
|
|
5
|
-
|
|
6
|
-
export const pikkuMCPJSON: any = pikkuSessionlessFunc<void, void>({
|
|
7
|
-
func: async ({ logger, config, getInspectorState }) => {
|
|
8
|
-
const { mcpEndpoints, functions } = await getInspectorState()
|
|
9
|
-
const { mcpJsonFile, schemaDirectory } = config
|
|
10
|
-
|
|
11
|
-
// Generate MCP JSON file
|
|
12
|
-
if (mcpJsonFile) {
|
|
13
|
-
const mcpJson = await serializeMCPJson(
|
|
14
|
-
logger,
|
|
15
|
-
schemaDirectory,
|
|
16
|
-
functions.meta,
|
|
17
|
-
functions.typesMap,
|
|
18
|
-
mcpEndpoints.resourcesMeta,
|
|
19
|
-
mcpEndpoints.toolsMeta,
|
|
20
|
-
mcpEndpoints.promptsMeta
|
|
21
|
-
)
|
|
22
|
-
await writeFileInDir(logger, mcpJsonFile, mcpJson, {
|
|
23
|
-
ignoreModifyComment: true,
|
|
24
|
-
})
|
|
25
|
-
}
|
|
26
|
-
},
|
|
27
|
-
middleware: [
|
|
28
|
-
logCommandInfoAndTime({
|
|
29
|
-
commandStart: 'Generating MCP JSON',
|
|
30
|
-
commandEnd: 'Generated MCP JSON',
|
|
31
|
-
}),
|
|
32
|
-
],
|
|
33
|
-
})
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js'
|
|
2
|
-
import { writeFileInDir } from '../../../utils/file-writer.js'
|
|
3
|
-
import { getFileImportRelativePath } from '../../../utils/file-import-path.js'
|
|
4
|
-
import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js'
|
|
5
|
-
import { serializeMCPTypes } from './serialize-mcp-types.js'
|
|
6
|
-
|
|
7
|
-
export const pikkuMCPTypes: any = pikkuSessionlessFunc<void, void>({
|
|
8
|
-
func: async ({ logger, config }) => {
|
|
9
|
-
const { mcpTypesFile, functionTypesFile, packageMappings } = config
|
|
10
|
-
|
|
11
|
-
const functionTypesImportPath = getFileImportRelativePath(
|
|
12
|
-
mcpTypesFile,
|
|
13
|
-
functionTypesFile,
|
|
14
|
-
packageMappings
|
|
15
|
-
)
|
|
16
|
-
const content = serializeMCPTypes(functionTypesImportPath)
|
|
17
|
-
await writeFileInDir(logger, mcpTypesFile, content)
|
|
18
|
-
},
|
|
19
|
-
middleware: [
|
|
20
|
-
logCommandInfoAndTime({
|
|
21
|
-
commandStart: 'Creating MCP types',
|
|
22
|
-
commandEnd: 'Created MCP types',
|
|
23
|
-
}),
|
|
24
|
-
],
|
|
25
|
-
})
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
import { pikkuSessionlessFunc } from '../../../../.pikku/pikku-types.gen.js'
|
|
2
|
-
import { serializeFileImports } from '../../../utils/file-imports-serializer.js'
|
|
3
|
-
import { writeFileInDir } from '../../../utils/file-writer.js'
|
|
4
|
-
import { logCommandInfoAndTime } from '../../../middleware/log-command-info-and-time.js'
|
|
5
|
-
import { readFile } from 'fs/promises'
|
|
6
|
-
import { join } from 'path'
|
|
7
|
-
import { getFileImportRelativePath } from '../../../utils/file-import-path.js'
|
|
8
|
-
|
|
9
|
-
// Helper function to generate arguments from schema
|
|
10
|
-
const generateArgumentsFromSchema = async (
|
|
11
|
-
inputSchema: string | null,
|
|
12
|
-
schemaDirectory: string,
|
|
13
|
-
typesMap: any,
|
|
14
|
-
logger: any
|
|
15
|
-
): Promise<Array<{ name: string; description: string; required: boolean }>> => {
|
|
16
|
-
if (!inputSchema) return []
|
|
17
|
-
|
|
18
|
-
if (
|
|
19
|
-
['boolean', 'string', 'number', 'null', 'undefined', 'void'].includes(
|
|
20
|
-
inputSchema
|
|
21
|
-
)
|
|
22
|
-
) {
|
|
23
|
-
return []
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
const uniqueName = typesMap.getUniqueName(inputSchema)
|
|
27
|
-
if (!uniqueName) return []
|
|
28
|
-
|
|
29
|
-
try {
|
|
30
|
-
const schemaPath = join(
|
|
31
|
-
schemaDirectory,
|
|
32
|
-
'schemas',
|
|
33
|
-
`${uniqueName}.schema.json`
|
|
34
|
-
)
|
|
35
|
-
const schemaContent = await readFile(schemaPath, 'utf-8')
|
|
36
|
-
const schema = JSON.parse(schemaContent)
|
|
37
|
-
|
|
38
|
-
const argumentsArray: Array<{
|
|
39
|
-
name: string
|
|
40
|
-
description: string
|
|
41
|
-
required: boolean
|
|
42
|
-
}> = []
|
|
43
|
-
if (schema && typeof schema === 'object' && schema.properties) {
|
|
44
|
-
const properties = schema.properties as Record<string, any>
|
|
45
|
-
const required = (schema.required as string[]) || []
|
|
46
|
-
|
|
47
|
-
for (const [propName, propSchema] of Object.entries(properties)) {
|
|
48
|
-
argumentsArray.push({
|
|
49
|
-
name: propName,
|
|
50
|
-
description: propSchema.description || `${propName} parameter`,
|
|
51
|
-
required: required.includes(propName),
|
|
52
|
-
})
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
return argumentsArray
|
|
56
|
-
} catch (e) {
|
|
57
|
-
logger.warn(`Could not load schema for type: ${uniqueName}`)
|
|
58
|
-
return []
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
export const pikkuMCP: any = pikkuSessionlessFunc<void, boolean | undefined>({
|
|
63
|
-
func: async ({ logger, config, getInspectorState }) => {
|
|
64
|
-
const { mcpEndpoints, functions } = await getInspectorState()
|
|
65
|
-
const {
|
|
66
|
-
mcpWiringsFile,
|
|
67
|
-
mcpWiringsMetaFile,
|
|
68
|
-
packageMappings,
|
|
69
|
-
schemaDirectory,
|
|
70
|
-
schema,
|
|
71
|
-
} = config
|
|
72
|
-
|
|
73
|
-
await writeFileInDir(
|
|
74
|
-
logger,
|
|
75
|
-
mcpWiringsFile,
|
|
76
|
-
serializeFileImports(
|
|
77
|
-
'wireMCPResource or wireMCPTool',
|
|
78
|
-
mcpWiringsFile,
|
|
79
|
-
mcpEndpoints.files,
|
|
80
|
-
packageMappings
|
|
81
|
-
)
|
|
82
|
-
)
|
|
83
|
-
|
|
84
|
-
// Populate arguments for prompts meta before serializing
|
|
85
|
-
const promptsMetaWithArguments = { ...mcpEndpoints.promptsMeta }
|
|
86
|
-
for (const promptMeta of Object.values(promptsMetaWithArguments) as any[]) {
|
|
87
|
-
const functionMeta = functions.meta[promptMeta.pikkuFuncName]
|
|
88
|
-
if (functionMeta) {
|
|
89
|
-
const inputType = functionMeta.inputs?.[0]
|
|
90
|
-
promptMeta.arguments = await generateArgumentsFromSchema(
|
|
91
|
-
inputType || null,
|
|
92
|
-
schemaDirectory || '',
|
|
93
|
-
functions.typesMap,
|
|
94
|
-
logger
|
|
95
|
-
)
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
const metaData = {
|
|
100
|
-
resourcesMeta: mcpEndpoints.resourcesMeta,
|
|
101
|
-
toolsMeta: mcpEndpoints.toolsMeta,
|
|
102
|
-
promptsMeta: promptsMetaWithArguments,
|
|
103
|
-
}
|
|
104
|
-
await writeFileInDir(
|
|
105
|
-
logger,
|
|
106
|
-
config.mcpWiringsMetaJsonFile,
|
|
107
|
-
JSON.stringify(metaData, null, 2)
|
|
108
|
-
)
|
|
109
|
-
|
|
110
|
-
const jsonImportPath = getFileImportRelativePath(
|
|
111
|
-
mcpWiringsMetaFile,
|
|
112
|
-
config.mcpWiringsMetaJsonFile,
|
|
113
|
-
packageMappings
|
|
114
|
-
)
|
|
115
|
-
|
|
116
|
-
const supportsImportAttributes = schema?.supportsImportAttributes ?? false
|
|
117
|
-
const importStatement = supportsImportAttributes
|
|
118
|
-
? `import metaData from '${jsonImportPath}' with { type: 'json' }`
|
|
119
|
-
: `import metaData from '${jsonImportPath}'`
|
|
120
|
-
|
|
121
|
-
await writeFileInDir(
|
|
122
|
-
logger,
|
|
123
|
-
mcpWiringsMetaFile,
|
|
124
|
-
`import { pikkuState } from '@pikku/core'
|
|
125
|
-
import type { MCPResourceMeta, MCPToolMeta, MCPPromptMeta } from '@pikku/core/mcp'
|
|
126
|
-
${importStatement}
|
|
127
|
-
pikkuState('mcp', 'resourcesMeta', metaData.resourcesMeta as MCPResourceMeta)
|
|
128
|
-
pikkuState('mcp', 'toolsMeta', metaData.toolsMeta as MCPToolMeta)
|
|
129
|
-
pikkuState('mcp', 'promptsMeta', metaData.promptsMeta as MCPPromptMeta)`
|
|
130
|
-
)
|
|
131
|
-
|
|
132
|
-
return true
|
|
133
|
-
},
|
|
134
|
-
middleware: [
|
|
135
|
-
logCommandInfoAndTime({
|
|
136
|
-
commandStart: 'Finding MCP endpoints',
|
|
137
|
-
commandEnd: 'Found MCP endpoints',
|
|
138
|
-
}),
|
|
139
|
-
],
|
|
140
|
-
})
|
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
import { readFile } from 'fs/promises'
|
|
2
|
-
import { join } from 'path'
|
|
3
|
-
import { MCPResourceMeta, MCPToolMeta, MCPPromptMeta } from '@pikku/core/mcp'
|
|
4
|
-
import { FunctionsMeta, JSONValue } from '@pikku/core'
|
|
5
|
-
import { TypesMap } from '@pikku/inspector'
|
|
6
|
-
import { CLILogger } from '../../../services/cli-logger.service.js'
|
|
7
|
-
|
|
8
|
-
interface MCPEndpoint {
|
|
9
|
-
name: string
|
|
10
|
-
description?: string
|
|
11
|
-
parameters?: JSONValue
|
|
12
|
-
returns?: JSONValue
|
|
13
|
-
streaming?: boolean
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export const serializeMCPJson = async (
|
|
17
|
-
logger: CLILogger,
|
|
18
|
-
schemaDirectory: string,
|
|
19
|
-
functionsMeta: FunctionsMeta,
|
|
20
|
-
typesMap: TypesMap,
|
|
21
|
-
mcpResourceMeta: MCPResourceMeta,
|
|
22
|
-
mcpToolMeta: MCPToolMeta,
|
|
23
|
-
mcpPromptMeta: MCPPromptMeta
|
|
24
|
-
): Promise<string> => {
|
|
25
|
-
const tools: MCPEndpoint[] = []
|
|
26
|
-
const resources: MCPEndpoint[] = []
|
|
27
|
-
const prompts: any[] = []
|
|
28
|
-
|
|
29
|
-
// Helper function to load schema from file
|
|
30
|
-
const loadSchema = async (
|
|
31
|
-
typeName: string | undefined
|
|
32
|
-
): Promise<JSONValue | undefined> => {
|
|
33
|
-
if (
|
|
34
|
-
!typeName ||
|
|
35
|
-
['boolean', 'string', 'number', 'null', 'undefined', 'void'].includes(
|
|
36
|
-
typeName
|
|
37
|
-
)
|
|
38
|
-
) {
|
|
39
|
-
return undefined
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
const uniqueName = typesMap.getUniqueName(typeName)
|
|
43
|
-
if (!uniqueName) {
|
|
44
|
-
return undefined
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
try {
|
|
48
|
-
const schemaPath = join(
|
|
49
|
-
schemaDirectory,
|
|
50
|
-
'schemas',
|
|
51
|
-
`${uniqueName}.schema.json`
|
|
52
|
-
)
|
|
53
|
-
const schemaContent = await readFile(schemaPath, 'utf-8')
|
|
54
|
-
return JSON.parse(schemaContent)
|
|
55
|
-
} catch (e) {
|
|
56
|
-
logger.warn(`Could not load schema for type: ${uniqueName}`)
|
|
57
|
-
return undefined
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
// Process MCP resources
|
|
62
|
-
for (const [name, endpointMeta] of Object.entries(mcpResourceMeta)) {
|
|
63
|
-
const functionMeta = functionsMeta[endpointMeta.pikkuFuncName]
|
|
64
|
-
if (!functionMeta) {
|
|
65
|
-
logger.warn(
|
|
66
|
-
`Function ${endpointMeta.pikkuFuncName} not found in functionsMeta. Skipping resource ${name}.`
|
|
67
|
-
)
|
|
68
|
-
continue
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
const inputType = functionMeta.inputs?.[0]
|
|
72
|
-
const outputType = functionMeta.outputs?.[0]
|
|
73
|
-
|
|
74
|
-
const parameters = await loadSchema(inputType)
|
|
75
|
-
const returns = await loadSchema(outputType)
|
|
76
|
-
|
|
77
|
-
const endpoint = {
|
|
78
|
-
uri: name,
|
|
79
|
-
name,
|
|
80
|
-
description: endpointMeta.description,
|
|
81
|
-
...(parameters && { parameters }),
|
|
82
|
-
...(returns && { returns }),
|
|
83
|
-
...(endpointMeta.streaming && { streaming: true }),
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
resources.push(endpoint)
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
// Process MCP tools
|
|
90
|
-
for (const [name, endpointMeta] of Object.entries(mcpToolMeta)) {
|
|
91
|
-
const functionMeta = functionsMeta[endpointMeta.pikkuFuncName]
|
|
92
|
-
if (!functionMeta) {
|
|
93
|
-
logger.warn(
|
|
94
|
-
`Function ${endpointMeta.pikkuFuncName} not found in functionsMeta. Skipping tool ${name}.`
|
|
95
|
-
)
|
|
96
|
-
continue
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
const inputType = functionMeta.inputs?.[0]
|
|
100
|
-
const outputType = functionMeta.outputs?.[0]
|
|
101
|
-
|
|
102
|
-
const parameters = await loadSchema(inputType)
|
|
103
|
-
const returns = await loadSchema(outputType)
|
|
104
|
-
|
|
105
|
-
const endpoint = {
|
|
106
|
-
name,
|
|
107
|
-
description: endpointMeta.description,
|
|
108
|
-
...(parameters && { parameters }),
|
|
109
|
-
...(returns && { returns }),
|
|
110
|
-
...(endpointMeta.streaming && { streaming: true }),
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
tools.push(endpoint)
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
// Process MCP prompts
|
|
117
|
-
for (const [name, endpointMeta] of Object.entries(mcpPromptMeta)) {
|
|
118
|
-
const functionMeta = functionsMeta[endpointMeta.pikkuFuncName]
|
|
119
|
-
if (!functionMeta) {
|
|
120
|
-
logger.warn(
|
|
121
|
-
`Function ${endpointMeta.pikkuFuncName} not found in functionsMeta. Skipping prompt ${name}.`
|
|
122
|
-
)
|
|
123
|
-
continue
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
const inputType = functionMeta.inputs?.[0]
|
|
127
|
-
// TODO: this needs to be a json schema type, not any
|
|
128
|
-
const inputSchema: any = await loadSchema(inputType)
|
|
129
|
-
|
|
130
|
-
// Generate arguments from input schema
|
|
131
|
-
const argumentsArray: any[] = []
|
|
132
|
-
if (
|
|
133
|
-
inputSchema &&
|
|
134
|
-
typeof inputSchema === 'object' &&
|
|
135
|
-
inputSchema.properties
|
|
136
|
-
) {
|
|
137
|
-
const properties = inputSchema.properties as Record<string, any>
|
|
138
|
-
const required = (inputSchema.required as string[]) || []
|
|
139
|
-
|
|
140
|
-
for (const [propName, propSchema] of Object.entries(properties)) {
|
|
141
|
-
argumentsArray.push({
|
|
142
|
-
name: propName,
|
|
143
|
-
description: propSchema.description || `${propName} parameter`,
|
|
144
|
-
required: required.includes(propName),
|
|
145
|
-
})
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
const prompt = {
|
|
150
|
-
name,
|
|
151
|
-
description: endpointMeta.description,
|
|
152
|
-
arguments: argumentsArray,
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
prompts.push(prompt)
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
return JSON.stringify({ tools, resources, prompts }, null, 2)
|
|
159
|
-
}
|
|
@@ -1,143 +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 } from '${functionTypesImportPath}'
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Type definition for MCP resources that provide data to AI models.
|
|
26
|
-
*
|
|
27
|
-
* @template In - Input type for the resource request
|
|
28
|
-
* @template URI - URI template string type for compile-time parameter validation
|
|
29
|
-
*/
|
|
30
|
-
type MCPResourceWiring<In, URI extends string> = CoreMCPResource<PikkuFunctionConfig<In, MCPResourceResponse, 'rpc' | 'session' | 'mcp'>> & { uri: URI }
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Type definition for MCP tools that AI models can invoke.
|
|
34
|
-
*
|
|
35
|
-
* @template In - Input type for the tool invocation
|
|
36
|
-
*/
|
|
37
|
-
type MCPToolWiring<In> = CoreMCPTool<PikkuFunctionConfig<In, MCPToolResponse, 'rpc' | 'session' | 'mcp'>>
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Type definition for MCP prompts that provide templates to AI models.
|
|
41
|
-
*
|
|
42
|
-
* @template In - Input type for the prompt parameters
|
|
43
|
-
*/
|
|
44
|
-
type MCPPromptWiring<In> = CoreMCPPrompt<PikkuFunctionConfig<In, MCPPromptResponse, 'rpc' | 'session' | 'mcp'>>
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Registers an MCP resource with the Pikku framework.
|
|
48
|
-
* Resources provide data that AI models can access.
|
|
49
|
-
*
|
|
50
|
-
* @template In - Input type for the resource request
|
|
51
|
-
* @template URI - URI template string for compile-time parameter validation
|
|
52
|
-
* @param mcpResource - MCP resource definition with data provider function
|
|
53
|
-
*/
|
|
54
|
-
export const wireMCPResource = <In, URI extends string>(
|
|
55
|
-
mcpResource: MCPResourceWiring<In, URI> & AssertMCPResourceURIParams<In, URI>
|
|
56
|
-
) => {
|
|
57
|
-
wireMCPResourceCore(mcpResource as any)
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Registers an MCP tool with the Pikku framework.
|
|
62
|
-
* Tools are functions that AI models can invoke.
|
|
63
|
-
*
|
|
64
|
-
* @template In - Input type for the tool invocation
|
|
65
|
-
* @param mcpTool - MCP tool definition with action function
|
|
66
|
-
*/
|
|
67
|
-
export const wireMCPTool = <In>(
|
|
68
|
-
mcpTool: MCPToolWiring<In>
|
|
69
|
-
) => {
|
|
70
|
-
wireMCPToolCore(mcpTool as any)
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* Registers an MCP prompt with the Pikku framework.
|
|
75
|
-
* Prompts provide templates that AI models can use.
|
|
76
|
-
*
|
|
77
|
-
* @template In - Input type for the prompt parameters
|
|
78
|
-
* @param mcpPrompt - MCP prompt definition with template function
|
|
79
|
-
*/
|
|
80
|
-
export const wireMCPPrompt = <In>(
|
|
81
|
-
mcpPrompt: MCPPromptWiring<In>
|
|
82
|
-
) => {
|
|
83
|
-
wireMCPPromptCore(mcpPrompt as any)
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* Creates a function for handling MCP prompt requests.
|
|
88
|
-
* These functions generate prompt templates for AI models.
|
|
89
|
-
*
|
|
90
|
-
* @template In - Input type for the prompt parameters
|
|
91
|
-
* @param func - Function definition, either direct function or configuration object
|
|
92
|
-
* @returns The unwrapped function for internal use
|
|
93
|
-
*/
|
|
94
|
-
export const pikkuMCPPromptFunc = <In>(
|
|
95
|
-
func:
|
|
96
|
-
| PikkuFunctionSessionless<In, MCPPromptResponse, 'mcp'>
|
|
97
|
-
| {
|
|
98
|
-
func: PikkuFunctionSessionless<In, MCPPromptResponse, 'mcp'>
|
|
99
|
-
name?: string
|
|
100
|
-
}
|
|
101
|
-
): PikkuFunctionConfig<In, MCPPromptResponse, 'mcp'> => {
|
|
102
|
-
return typeof func === 'function' ? { func } : func
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
/**
|
|
106
|
-
* Creates a function for handling MCP tool invocations.
|
|
107
|
-
* These functions perform actions that AI models can request.
|
|
108
|
-
*
|
|
109
|
-
* @template In - Input type for the tool invocation
|
|
110
|
-
* @param func - Function definition, either direct function or configuration object
|
|
111
|
-
* @returns The unwrapped function for internal use
|
|
112
|
-
*/
|
|
113
|
-
export const pikkuMCPToolFunc = <In>(
|
|
114
|
-
func:
|
|
115
|
-
| PikkuFunctionSessionless<In, MCPToolResponse, 'mcp'>
|
|
116
|
-
| {
|
|
117
|
-
func: PikkuFunctionSessionless<In, MCPToolResponse, 'mcp'>
|
|
118
|
-
name?: string
|
|
119
|
-
}
|
|
120
|
-
): PikkuFunctionConfig<In, MCPToolResponse, 'mcp'> => {
|
|
121
|
-
return typeof func === 'function' ? { func } : func
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
/**
|
|
125
|
-
* Creates a function for handling MCP resource requests.
|
|
126
|
-
* These functions provide data that AI models can access.
|
|
127
|
-
*
|
|
128
|
-
* @template In - Input type for the resource request
|
|
129
|
-
* @param func - Function definition, either direct function or configuration object
|
|
130
|
-
* @returns The unwrapped function for internal use
|
|
131
|
-
*/
|
|
132
|
-
export const pikkuMCPResourceFunc = <In>(
|
|
133
|
-
func:
|
|
134
|
-
| PikkuFunctionSessionless<In, MCPResourceResponse, 'mcp'>
|
|
135
|
-
| {
|
|
136
|
-
func: PikkuFunctionSessionless<In, MCPResourceResponse, 'mcp'>
|
|
137
|
-
name?: string
|
|
138
|
-
}
|
|
139
|
-
): PikkuFunctionConfig<In, MCPResourceResponse, 'mcp'> => {
|
|
140
|
-
return typeof func === 'function' ? { func } : func
|
|
141
|
-
}
|
|
142
|
-
`
|
|
143
|
-
}
|