@pikku/cli 0.11.1 → 0.11.3
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/.pikku/channel/pikku-channel-types.gen.ts +73 -17
- package/.pikku/channel/pikku-channels-map.gen.d.ts +11 -11
- package/.pikku/channel/pikku-channels-meta.gen.json +1 -0
- package/.pikku/channel/pikku-channels-meta.gen.ts +4 -2
- package/.pikku/channel/pikku-channels.gen.ts +1 -1
- package/.pikku/cli/pikku-cli-channel.ts +2 -2
- package/.pikku/cli/pikku-cli-client.gen.ts +1 -3
- package/.pikku/cli/pikku-cli-types.gen.ts +3 -3
- package/.pikku/cli/pikku-cli-wirings-meta.gen.json +147 -0
- package/.pikku/cli/pikku-cli-wirings-meta.gen.ts +4 -157
- package/.pikku/cli/pikku-cli-wirings.gen.ts +3 -3
- package/.pikku/cli/pikku-cli.gen.ts +3 -3
- package/.pikku/forge/pikku-forge-types.gen.ts +83 -0
- package/.pikku/function/pikku-function-types.gen.ts +223 -91
- package/.pikku/function/pikku-functions-meta-verbose.gen.json +1030 -0
- package/.pikku/function/pikku-functions-meta.gen.json +656 -0
- package/.pikku/function/pikku-functions-meta.gen.ts +4 -970
- package/.pikku/http/pikku-http-types.gen.ts +20 -4
- package/.pikku/http/pikku-http-wirings-map.gen.d.ts +11 -11
- package/.pikku/http/pikku-http-wirings-meta.gen.json +9 -0
- package/.pikku/http/pikku-http-wirings-meta.gen.ts +4 -10
- package/.pikku/http/pikku-http-wirings.gen.ts +1 -1
- package/.pikku/mcp/pikku-mcp-types.gen.ts +72 -20
- package/.pikku/mcp/pikku-mcp-wirings-meta.gen.json +5 -0
- package/.pikku/mcp/pikku-mcp-wirings-meta.gen.ts +6 -4
- package/.pikku/mcp/pikku-mcp-wirings.gen.ts +1 -1
- package/.pikku/pikku-bootstrap.gen.ts +7 -12
- package/.pikku/pikku-services.gen.ts +6 -7
- package/.pikku/pikku-types.gen.ts +4 -1
- package/.pikku/pikku-websocket.gen.ts +1 -1
- package/.pikku/queue/pikku-queue-types.gen.ts +2 -2
- package/.pikku/queue/pikku-queue-workers-wirings-map.gen.d.ts +11 -11
- package/.pikku/queue/pikku-queue-workers-wirings-meta.gen.json +1 -0
- package/.pikku/queue/pikku-queue-workers-wirings-meta.gen.ts +5 -7
- package/.pikku/queue/pikku-queue-workers-wirings.gen.ts +1 -1
- package/.pikku/rpc/pikku-remote-rpc-workers.gen.ts +5 -2
- package/.pikku/rpc/pikku-rpc-wirings-map.gen.d.ts +19 -14
- package/.pikku/rpc/pikku-rpc-wirings-map.internal.gen.d.ts +46 -39
- package/.pikku/scheduler/pikku-scheduler-types.gen.ts +2 -2
- package/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.json +1 -0
- package/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.ts +5 -2
- package/.pikku/scheduler/pikku-schedulers-wirings.gen.ts +1 -1
- package/.pikku/schemas/register.gen.ts +31 -23
- package/.pikku/schemas/schemas/PikkuCLIConfig.schema.json +1 -1
- package/.pikku/schemas/schemas/PikkuCLIOutput.schema.json +1 -1
- package/.pikku/schemas/schemas/PikkuChannelsOutput.schema.json +1 -1
- package/.pikku/schemas/schemas/PikkuForgeNodesOutput.schema.json +1 -0
- package/.pikku/schemas/schemas/PikkuFunctionsOutput.schema.json +1 -1
- package/.pikku/schemas/schemas/PikkuHTTPOutput.schema.json +1 -1
- package/.pikku/schemas/schemas/PikkuMCPOutput.schema.json +1 -1
- package/.pikku/schemas/schemas/PikkuMiddlewareOutput.schema.json +1 -1
- package/.pikku/schemas/schemas/PikkuPackageOutput.schema.json +1 -0
- package/.pikku/schemas/schemas/PikkuPermissionsOutput.schema.json +1 -1
- package/.pikku/schemas/schemas/PikkuPublicRPCOutput.schema.json +1 -1
- package/.pikku/schemas/schemas/PikkuQueueOutput.schema.json +1 -1
- package/.pikku/schemas/schemas/PikkuRPCOutput.schema.json +1 -1
- package/.pikku/schemas/schemas/PikkuRemoteRPCOutput.schema.json +1 -1
- package/.pikku/schemas/schemas/PikkuSchedulerOutput.schema.json +1 -1
- package/.pikku/schemas/schemas/PikkuSchemasOutput.schema.json +1 -1
- package/.pikku/schemas/schemas/PikkuWorkflowOutput.schema.json +1 -1
- package/.pikku/services/config.gen.json +104 -0
- package/.pikku/services/getInspectorState.gen.json +10 -0
- package/.pikku/services/jwt.gen.json +13 -0
- package/.pikku/services/logger.gen.json +25 -0
- package/.pikku/services/queueService.gen.json +14 -0
- package/.pikku/services/schedulerService.gen.json +17 -0
- package/.pikku/services/schema.gen.json +14 -0
- package/.pikku/services/secrets.gen.json +13 -0
- package/.pikku/services/variables.gen.json +13 -0
- package/.pikku/services/workflowService.gen.json +31 -0
- package/.pikku/workflow/pikku-workflow-map.gen.d.ts +2 -36
- package/.pikku/workflow/pikku-workflow-types.gen.ts +305 -48
- package/.pikku/workflow/pikku-workflow-wirings-meta.gen.ts +6 -2
- package/.pikku/workflow/pikku-workflow-wirings.gen.ts +1 -2
- package/CHANGELOG.md +44 -1
- package/bin/pikku.ts +6 -32
- package/build.sh +53 -31
- package/cli.schema.json +1 -1
- package/dist/.pikku/channel/pikku-channel-types.gen.d.ts +51 -10
- package/dist/.pikku/channel/pikku-channel-types.gen.js +3 -13
- package/dist/.pikku/channel/pikku-channels-meta.gen.js +3 -2
- package/dist/.pikku/channel/pikku-channels-meta.gen.json +1 -0
- 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 +2 -2
- package/dist/.pikku/cli/pikku-cli-client.gen.d.ts +1 -1
- package/dist/.pikku/cli/pikku-cli-client.gen.js +1 -3
- package/dist/.pikku/cli/pikku-cli-types.gen.d.ts +3 -3
- package/dist/.pikku/cli/pikku-cli-types.gen.js +1 -1
- package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.js +3 -157
- package/dist/.pikku/cli/pikku-cli-wirings-meta.gen.json +147 -0
- package/dist/.pikku/cli/pikku-cli-wirings.gen.d.ts +2 -2
- package/dist/.pikku/cli/pikku-cli-wirings.gen.js +2 -2
- package/dist/.pikku/cli/pikku-cli.gen.d.ts +1 -1
- package/dist/.pikku/cli/pikku-cli.gen.js +3 -3
- package/dist/.pikku/forge/pikku-forge-types.gen.d.ts +72 -0
- package/dist/.pikku/forge/pikku-forge-types.gen.js +55 -0
- package/dist/.pikku/function/pikku-function-types.gen.d.ts +141 -99
- package/dist/.pikku/function/pikku-function-types.gen.js +52 -62
- package/dist/.pikku/function/pikku-functions-meta.gen.js +3 -969
- package/dist/.pikku/function/pikku-functions-meta.gen.json +656 -0
- package/dist/.pikku/http/pikku-http-types.gen.d.ts +19 -4
- package/dist/.pikku/http/pikku-http-types.gen.js +1 -1
- 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 +57 -17
- package/dist/.pikku/mcp/pikku-mcp-types.gen.js +7 -31
- package/dist/.pikku/mcp/pikku-mcp-wirings-meta.gen.js +5 -4
- package/dist/.pikku/mcp/pikku-mcp-wirings-meta.gen.json +5 -0
- package/dist/.pikku/mcp/pikku-mcp-wirings.gen.d.ts +1 -1
- package/dist/.pikku/mcp/pikku-mcp-wirings.gen.js +1 -1
- package/dist/.pikku/pikku-bootstrap.gen.d.ts +7 -12
- package/dist/.pikku/pikku-bootstrap.gen.js +7 -12
- package/dist/.pikku/pikku-services.gen.d.ts +5 -7
- package/dist/.pikku/pikku-services.gen.js +3 -5
- package/dist/.pikku/pikku-types.gen.d.ts +2 -1
- package/dist/.pikku/pikku-types.gen.js +3 -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 +2 -2
- package/dist/.pikku/queue/pikku-queue-types.gen.js +1 -1
- package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.js +3 -7
- package/dist/.pikku/queue/pikku-queue-workers-wirings-meta.gen.json +1 -0
- 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 +9 -9
- package/dist/.pikku/rpc/pikku-remote-rpc-workers.gen.js +5 -2
- package/dist/.pikku/scheduler/pikku-scheduler-types.gen.d.ts +2 -2
- package/dist/.pikku/scheduler/pikku-scheduler-types.gen.js +1 -1
- package/dist/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.js +3 -2
- package/dist/.pikku/scheduler/pikku-schedulers-wirings-meta.gen.json +1 -0
- 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 +19 -15
- 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/PikkuForgeNodesOutput.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/PikkuPackageOutput.schema.json +1 -0
- package/dist/.pikku/schemas/schemas/PikkuPermissionsOutput.schema.json +1 -1
- 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/PikkuWorkflowOutput.schema.json +1 -1
- package/dist/.pikku/workflow/pikku-workflow-types.gen.d.ts +213 -39
- package/dist/.pikku/workflow/pikku-workflow-types.gen.js +106 -16
- package/dist/.pikku/workflow/pikku-workflow-wirings-meta.gen.js +3 -2
- package/dist/.pikku/workflow/pikku-workflow-wirings.gen.d.ts +1 -1
- package/dist/.pikku/workflow/pikku-workflow-wirings.gen.js +1 -2
- package/dist/bin/pikku.js +5 -26
- package/dist/src/cli.wiring.js +4 -4
- package/dist/src/functions/commands/all.js +172 -94
- package/dist/src/functions/commands/bootstrap.js +21 -16
- package/dist/src/functions/commands/watch.js +6 -3
- package/dist/src/functions/runtimes/nextjs/pikku-command-nextjs.js +12 -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 +74 -22
- package/dist/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.d.ts +1 -1
- package/dist/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.js +72 -20
- package/dist/src/functions/wirings/channels/pikku-channels.js +9 -2
- package/dist/src/functions/wirings/channels/pikku-command-channels.js +18 -2
- package/dist/src/functions/wirings/channels/serialize-channel-types.js +72 -16
- package/dist/src/functions/wirings/channels/serialize-typed-channel-map.js +1 -2
- package/dist/src/functions/wirings/cli/pikku-command-cli-entry.js +4 -4
- package/dist/src/functions/wirings/cli/pikku-command-cli-types.js +1 -1
- package/dist/src/functions/wirings/cli/pikku-command-cli.js +17 -3
- package/dist/src/functions/wirings/cli/serialize-channel-cli.js +1 -1
- package/dist/src/functions/wirings/cli/serialize-cli-types.js +2 -2
- package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.d.ts +1 -1
- package/dist/src/functions/wirings/cli/serialize-local-cli-bootstrap.js +4 -4
- package/dist/src/functions/wirings/forge/pikku-command-forge-nodes.d.ts +1 -0
- package/dist/src/functions/wirings/forge/pikku-command-forge-nodes.js +90 -0
- package/dist/src/functions/wirings/forge/pikku-command-forge-types.d.ts +1 -0
- package/dist/src/functions/wirings/forge/pikku-command-forge-types.js +26 -0
- package/dist/src/functions/wirings/forge/serialize-forge-types.d.ts +4 -0
- package/dist/src/functions/wirings/forge/serialize-forge-types.js +90 -0
- package/dist/src/functions/wirings/functions/pikku-command-function-types-split.js +4 -4
- package/dist/src/functions/wirings/functions/pikku-command-function-types.js +7 -2
- package/dist/src/functions/wirings/functions/pikku-command-functions.js +35 -10
- package/dist/src/functions/wirings/functions/pikku-command-services.d.ts +1 -1
- package/dist/src/functions/wirings/functions/pikku-command-services.js +24 -24
- package/dist/src/functions/wirings/functions/pikku-function-types.js +2 -2
- package/dist/src/functions/wirings/functions/schemas.d.ts +1 -1
- package/dist/src/functions/wirings/functions/schemas.js +5 -4
- package/dist/src/functions/wirings/functions/serialize-function-imports.d.ts +3 -1
- package/dist/src/functions/wirings/functions/serialize-function-imports.js +7 -3
- package/dist/src/functions/wirings/functions/serialize-function-types.d.ts +1 -1
- package/dist/src/functions/wirings/functions/serialize-function-types.js +224 -91
- 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 +19 -21
- package/dist/src/functions/wirings/http/openapi-spec-generator.js +5 -5
- package/dist/src/functions/wirings/http/pikku-command-http-routes.js +18 -2
- package/dist/src/functions/wirings/http/pikku-command-openapi.js +2 -2
- package/dist/src/functions/wirings/http/pikku-http-routes.js +9 -2
- package/dist/src/functions/wirings/http/serialize-http-types.js +19 -3
- package/dist/src/functions/wirings/http/serialize-typed-http-map.js +33 -8
- package/dist/src/functions/wirings/mcp/pikku-command-mcp.js +29 -6
- package/dist/src/functions/wirings/mcp/serialize-mcp-json.js +3 -2
- package/dist/src/functions/wirings/mcp/serialize-mcp-types.js +71 -19
- package/dist/src/functions/wirings/middleware/pikku-command-middleware.js +29 -2
- package/dist/src/functions/wirings/middleware/serialize-middleware-groups-meta.d.ts +5 -2
- package/dist/src/functions/wirings/middleware/serialize-middleware-groups-meta.js +5 -13
- 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.d.ts +5 -0
- package/dist/src/functions/wirings/package/serialize-package.js +32 -0
- package/dist/src/functions/wirings/queue/pikku-command-queue.js +17 -3
- package/dist/src/functions/wirings/queue/pikku-queue.js +9 -11
- package/dist/src/functions/wirings/queue/serialize-queue-map.js +20 -3
- package/dist/src/functions/wirings/queue/serialize-queue-meta.d.ts +2 -1
- package/dist/src/functions/wirings/queue/serialize-queue-meta.js +10 -1
- package/dist/src/functions/wirings/queue/serialize-queue-types.js +1 -1
- package/dist/src/functions/wirings/rpc/pikku-command-rpc-map.js +4 -4
- package/dist/src/functions/wirings/rpc/pikku-command-rpc.js +9 -2
- package/dist/src/functions/wirings/rpc/serialize-public-rpc.js +11 -4
- package/dist/src/functions/wirings/rpc/serialize-remote-rpc.js +4 -1
- package/dist/src/functions/wirings/rpc/serialize-rpc-wrapper.js +3 -3
- package/dist/src/functions/wirings/rpc/serialize-typed-rpc-map.d.ts +1 -1
- package/dist/src/functions/wirings/rpc/serialize-typed-rpc-map.js +54 -8
- package/dist/src/functions/wirings/scheduler/pikku-command-scheduler.js +15 -3
- package/dist/src/functions/wirings/scheduler/serialize-scheduler-meta.d.ts +2 -1
- package/dist/src/functions/wirings/scheduler/serialize-scheduler-meta.js +11 -1
- package/dist/src/functions/wirings/scheduler/serialize-scheduler-types.js +1 -1
- package/dist/src/functions/wirings/services/pikku-command-service-metadata.d.ts +1 -0
- package/dist/src/functions/wirings/services/pikku-command-service-metadata.js +22 -0
- package/dist/src/functions/wirings/workflow/pikku-command-workflow.js +58 -16
- package/dist/src/functions/wirings/workflow/serialize-workflow-map.d.ts +3 -0
- package/dist/src/functions/wirings/workflow/serialize-workflow-map.js +30 -32
- package/dist/src/functions/wirings/workflow/serialize-workflow-meta.d.ts +1 -2
- package/dist/src/functions/wirings/workflow/serialize-workflow-meta.js +43 -8
- package/dist/src/functions/wirings/workflow/serialize-workflow-registration.d.ts +7 -0
- package/dist/src/functions/wirings/workflow/serialize-workflow-registration.js +53 -0
- package/dist/src/functions/wirings/workflow/serialize-workflow-types.d.ts +4 -2
- package/dist/src/functions/wirings/workflow/serialize-workflow-types.js +308 -49
- package/dist/src/functions/wirings/workflow/serialize-workflow-workers.d.ts +1 -1
- package/dist/src/functions/wirings/workflow/serialize-workflow-workers.js +16 -29
- package/dist/src/middleware/log-command-info-and-time.d.ts +2 -2
- package/dist/src/middleware/log-command-info-and-time.js +1 -4
- package/dist/src/services/cli-logger-forwarder.service.js +1 -1
- package/dist/src/services.d.ts +2 -7
- package/dist/src/services.js +18 -13
- package/dist/src/utils/check-required-types.d.ts +2 -2
- package/dist/src/utils/check-required-types.js +2 -3
- package/dist/src/utils/command-summary.d.ts +2 -0
- package/dist/src/utils/command-summary.js +2 -0
- package/dist/src/utils/custom-types-generator.js +13 -15
- package/dist/src/utils/generate-bootstrap-file.js +1 -1
- package/dist/src/utils/pikku-cli-config.js +65 -4
- package/dist/src/utils/pikku-files-and-methods.d.ts +2 -2
- package/dist/src/utils/pikku-files-and-methods.js +4 -4
- package/dist/src/utils/schema-generator.d.ts +4 -3
- package/dist/src/utils/schema-generator.js +135 -15
- 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 +11 -9
- package/src/cli.wiring.ts +4 -4
- package/src/functions/commands/all.ts +203 -107
- package/src/functions/commands/bootstrap.ts +23 -16
- package/src/functions/commands/watch.ts +6 -3
- package/src/functions/runtimes/nextjs/pikku-command-nextjs.ts +26 -6
- package/src/functions/runtimes/nextjs/serialize-nextjs-backend-wrapper.ts +75 -22
- package/src/functions/runtimes/nextjs/serialize-nextjs-http-wrapper.ts +72 -19
- package/src/functions/wirings/channels/pikku-channels.ts +27 -3
- package/src/functions/wirings/channels/pikku-command-channels.ts +46 -3
- package/src/functions/wirings/channels/serialize-channel-types.ts +72 -16
- package/src/functions/wirings/channels/serialize-typed-channel-map.ts +3 -2
- package/src/functions/wirings/cli/pikku-command-cli-entry.ts +4 -4
- package/src/functions/wirings/cli/pikku-command-cli-types.ts +1 -1
- package/src/functions/wirings/cli/pikku-command-cli.ts +45 -3
- package/src/functions/wirings/cli/serialize-channel-cli.ts +1 -1
- package/src/functions/wirings/cli/serialize-cli-types.ts +2 -2
- package/src/functions/wirings/cli/serialize-local-cli-bootstrap.ts +5 -5
- package/src/functions/wirings/forge/pikku-command-forge-nodes.ts +135 -0
- package/src/functions/wirings/forge/pikku-command-forge-types.ts +38 -0
- package/src/functions/wirings/forge/serialize-forge-types.ts +94 -0
- package/src/functions/wirings/functions/pikku-command-function-types-split.ts +9 -8
- package/src/functions/wirings/functions/pikku-command-function-types.ts +17 -10
- package/src/functions/wirings/functions/pikku-command-functions.ts +59 -14
- package/src/functions/wirings/functions/pikku-command-services.ts +26 -26
- package/src/functions/wirings/functions/pikku-function-types.ts +3 -1
- package/src/functions/wirings/functions/schemas.ts +14 -4
- package/src/functions/wirings/functions/serialize-function-imports.ts +12 -3
- package/src/functions/wirings/functions/serialize-function-types.ts +227 -93
- package/src/functions/wirings/functions/serialize-pikku-types-hub.ts +27 -26
- package/src/functions/wirings/http/openapi-spec-generator.ts +15 -6
- package/src/functions/wirings/http/pikku-command-http-routes.ts +46 -2
- package/src/functions/wirings/http/pikku-command-openapi.ts +3 -2
- package/src/functions/wirings/http/pikku-http-routes.ts +28 -2
- package/src/functions/wirings/http/serialize-http-types.ts +19 -3
- package/src/functions/wirings/http/serialize-typed-http-map.ts +32 -8
- package/src/functions/wirings/mcp/pikku-command-mcp.ts +58 -10
- package/src/functions/wirings/mcp/serialize-mcp-json.ts +8 -6
- package/src/functions/wirings/mcp/serialize-mcp-types.ts +71 -19
- package/src/functions/wirings/middleware/pikku-command-middleware.ts +39 -2
- package/src/functions/wirings/middleware/serialize-middleware-groups-meta.ts +4 -19
- package/src/functions/wirings/package/pikku-command-package.ts +81 -0
- package/src/functions/wirings/package/serialize-package.ts +69 -0
- package/src/functions/wirings/permissions/pikku-command-permissions.ts +2 -2
- package/src/functions/wirings/queue/pikku-command-queue.ts +47 -2
- package/src/functions/wirings/queue/pikku-queue.ts +26 -10
- package/src/functions/wirings/queue/serialize-queue-map.ts +18 -3
- package/src/functions/wirings/queue/serialize-queue-meta.ts +15 -1
- package/src/functions/wirings/queue/serialize-queue-types.ts +1 -1
- package/src/functions/wirings/rpc/pikku-command-rpc-map.ts +7 -4
- package/src/functions/wirings/rpc/pikku-command-rpc.ts +25 -2
- package/src/functions/wirings/rpc/serialize-public-rpc.ts +11 -4
- package/src/functions/wirings/rpc/serialize-remote-rpc.ts +4 -1
- package/src/functions/wirings/rpc/serialize-rpc-wrapper.ts +3 -3
- package/src/functions/wirings/rpc/serialize-typed-rpc-map.ts +74 -8
- package/src/functions/wirings/scheduler/pikku-command-scheduler.ts +51 -4
- package/src/functions/wirings/scheduler/serialize-scheduler-meta.ts +20 -1
- package/src/functions/wirings/scheduler/serialize-scheduler-types.ts +1 -1
- package/src/functions/wirings/services/pikku-command-service-metadata.ts +25 -0
- package/src/functions/wirings/workflow/pikku-command-workflow.ts +114 -19
- package/src/functions/wirings/workflow/serialize-workflow-map.ts +38 -40
- package/src/functions/wirings/workflow/serialize-workflow-meta.ts +68 -11
- package/src/functions/wirings/workflow/serialize-workflow-registration.ts +83 -0
- package/src/functions/wirings/workflow/serialize-workflow-types.ts +311 -49
- package/src/functions/wirings/workflow/serialize-workflow-workers.ts +16 -29
- package/src/middleware/log-command-info-and-time.ts +3 -6
- package/src/services/cli-logger-forwarder.service.ts +1 -1
- package/src/services.ts +23 -16
- package/src/utils/check-required-types.ts +4 -7
- package/src/utils/command-summary.ts +4 -0
- package/src/utils/custom-types-generator.ts +15 -15
- package/src/utils/generate-bootstrap-file.ts +1 -1
- package/src/utils/pikku-cli-config.ts +105 -5
- package/src/utils/pikku-files-and-methods.ts +10 -13
- package/src/utils/schema-generator.ts +185 -22
- package/src/utils/strip-verbose-meta.ts +254 -0
- package/types/application-types.d.ts +1 -1
- package/types/config.d.ts +47 -2
- package/.pikku/function/pikku-functions-meta.min.gen.ts +0 -211
- package/.pikku/function/pikku-functions.gen.ts +0 -84
- package/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.ts +0 -47
- package/dist/.pikku/function/pikku-functions-meta.min.gen.d.ts +0 -1
- package/dist/.pikku/function/pikku-functions-meta.min.gen.js +0 -211
- package/dist/.pikku/function/pikku-functions.gen.d.ts +0 -1
- package/dist/.pikku/function/pikku-functions.gen.js +0 -83
- package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.d.ts +0 -1
- package/dist/.pikku/rpc/pikku-rpc-wirings-meta.internal.gen.js +0 -47
- package/dist/.pikku/schemas/schemas/PikkuRemoteInternalRPCInput.schema.json +0 -1
- 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 -11
- package/src/functions/wirings/workflow/pikku-command-workflow-map.ts +0 -24
- package/src/functions/wirings/workflow/pikku-command-workflow-types.ts +0 -22
package/build.sh
CHANGED
|
@@ -1,52 +1,74 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
2
|
|
|
3
|
-
# Exit on error
|
|
4
3
|
set -e
|
|
5
4
|
|
|
6
5
|
echo "Starting Pikku CLI build process..."
|
|
7
6
|
|
|
8
|
-
#
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
7
|
+
# Clean .pikku directory
|
|
8
|
+
rm -rf .pikku
|
|
9
|
+
|
|
10
|
+
# Create minimal bootstrap stub files
|
|
11
|
+
echo "Creating minimal bootstrap stub files..."
|
|
12
|
+
mkdir -p .pikku/function .pikku/cli
|
|
13
|
+
|
|
14
|
+
cat > .pikku/pikku-types.gen.ts << 'EOF'
|
|
15
|
+
/**
|
|
16
|
+
* Bootstrap stub - minimal types for initial build
|
|
17
|
+
*/
|
|
18
|
+
export * from './function/pikku-function-types.gen.js'
|
|
19
|
+
export * from './cli/pikku-cli-types.gen.js'
|
|
20
|
+
EOF
|
|
21
|
+
|
|
22
|
+
cat > .pikku/function/pikku-function-types.gen.ts << 'EOF'
|
|
23
|
+
/**
|
|
24
|
+
* Bootstrap stub - minimal function types
|
|
25
|
+
*/
|
|
26
|
+
export const pikkuFunc = <In, Out = unknown>(func: any) => {
|
|
27
|
+
return typeof func === 'function' ? { func } : func
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export const pikkuSessionlessFunc = <In, Out = unknown>(func: any) => {
|
|
31
|
+
return typeof func === 'function' ? { func } : func
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export const pikkuVoidFunc = (func: any) => {
|
|
35
|
+
return typeof func === 'function' ? { func } : func
|
|
36
|
+
}
|
|
37
|
+
EOF
|
|
38
|
+
|
|
39
|
+
cat > .pikku/cli/pikku-cli-types.gen.ts << 'EOF'
|
|
40
|
+
/**
|
|
41
|
+
* Bootstrap stub - minimal CLI types
|
|
42
|
+
*/
|
|
43
|
+
export { wireCLI } from '@pikku/core/cli'
|
|
44
|
+
|
|
45
|
+
export const pikkuCLICommand = (config: any) => {
|
|
46
|
+
return config
|
|
47
|
+
}
|
|
48
|
+
EOF
|
|
49
|
+
|
|
50
|
+
cat > .pikku/pikku-bootstrap.gen.ts << 'EOF'
|
|
51
|
+
/**
|
|
52
|
+
* Bootstrap stub - empty bootstrap file
|
|
53
|
+
*/
|
|
54
|
+
EOF
|
|
55
|
+
|
|
56
|
+
# Build TypeScript with stubs
|
|
24
57
|
echo "Building TypeScript to dist..."
|
|
25
58
|
yarn tsc -b
|
|
26
59
|
|
|
27
|
-
#
|
|
28
|
-
# The types we generated in step 2 were from the old published version.
|
|
29
|
-
# We need to regenerate them with the newly built local version to ensure
|
|
30
|
-
# the generated files reflect the actual current state of the CLI.
|
|
60
|
+
# Regenerate types with newly built CLI
|
|
31
61
|
echo "Removing .pikku directory (generated from published version)..."
|
|
32
62
|
rm -rf .pikku
|
|
33
63
|
|
|
34
|
-
# Step 5: Regenerate types using the newly built local CLI
|
|
35
|
-
# Use the freshly built local version (from dist) to regenerate Pikku types.
|
|
36
|
-
# This ensures the generated files are in sync with the current codebase.
|
|
37
64
|
echo "Regenerating Pikku types using local CLI..."
|
|
38
65
|
yarn pikku
|
|
39
66
|
|
|
40
|
-
#
|
|
41
|
-
# Compile again now that we have the correct generated types from the local version.
|
|
42
|
-
# This ensures the final dist reflects the true current state of both the source
|
|
43
|
-
# and the generated type files.
|
|
67
|
+
# Rebuild with generated types
|
|
44
68
|
echo "Rebuilding TypeScript with local types..."
|
|
45
69
|
yarn tsc -b
|
|
46
70
|
|
|
47
|
-
#
|
|
48
|
-
# The schema is generated as part of the Pikku type generation process
|
|
49
|
-
# and needs to be copied to the root of the package for distribution
|
|
71
|
+
# Copy schema file
|
|
50
72
|
echo "Copying schema file..."
|
|
51
73
|
cp .pikku/schemas/schemas/PikkuCLIConfig.schema.json cli.schema.json
|
|
52
74
|
|
package/cli.schema.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","additionalProperties":false,"properties":{"outDir":{"type":"string"},"schemaDirectory":{"type":"string"},"typesDeclarationFile":{"type":"string"},"functionsFile":{"type":"string"},"functionsMetaFile":{"type":"string"},"
|
|
1
|
+
{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","additionalProperties":false,"properties":{"outDir":{"type":"string"},"schemaDirectory":{"type":"string"},"typesDeclarationFile":{"type":"string"},"functionsFile":{"type":"string"},"functionsMetaFile":{"type":"string"},"functionsMetaJsonFile":{"type":"string"},"functionTypesFile":{"type":"string"},"httpWiringsFile":{"type":"string"},"httpWiringMetaFile":{"type":"string"},"httpWiringMetaJsonFile":{"type":"string"},"httpMapDeclarationFile":{"type":"string"},"httpTypesFile":{"type":"string"},"channelsWiringFile":{"type":"string"},"channelsWiringMetaFile":{"type":"string"},"channelsWiringMetaJsonFile":{"type":"string"},"channelsMapDeclarationFile":{"type":"string"},"channelsTypesFile":{"type":"string"},"rpcInternalWiringMetaFile":{"type":"string"},"rpcInternalWiringMetaJsonFile":{"type":"string"},"rpcInternalMapDeclarationFile":{"type":"string"},"rpcMapDeclarationFile":{"type":"string"},"schedulersWiringFile":{"type":"string"},"schedulersWiringMetaFile":{"type":"string"},"schedulersWiringMetaJsonFile":{"type":"string"},"schedulersTypesFile":{"type":"string"},"queueWorkersWiringFile":{"type":"string"},"queueWorkersWiringMetaFile":{"type":"string"},"queueWorkersWiringMetaJsonFile":{"type":"string"},"queueMapDeclarationFile":{"type":"string"},"queueTypesFile":{"type":"string"},"workflowsWiringFile":{"type":"string"},"workflowsWiringMetaFile":{"type":"string"},"workflowsWorkersFile":{"type":"string"},"workflowMapDeclarationFile":{"type":"string"},"workflowTypesFile":{"type":"string"},"workflowMetaDir":{"type":"string"},"mcpWiringsFile":{"type":"string"},"mcpWiringsMetaFile":{"type":"string"},"mcpWiringsMetaJsonFile":{"type":"string"},"mcpTypesFile":{"type":"string"},"cliWiringsFile":{"type":"string"},"cliWiringMetaFile":{"type":"string"},"cliWiringMetaJsonFile":{"type":"string"},"cliBootstrapFile":{"type":"string"},"cliTypesFile":{"type":"string"},"servicesFile":{"type":"string"},"middlewareFile":{"type":"string"},"middlewareGroupsMetaFile":{"type":"string"},"middlewareGroupsMetaJsonFile":{"type":"string"},"permissionsFile":{"type":"string"},"bootstrapFile":{"type":"string"},"packageFile":{"type":"string"},"forgeTypesFile":{"type":"string"},"$schema":{"type":"string"},"extends":{"type":"string"},"rootDir":{"type":"string"},"srcDirectories":{"type":"array","items":{"type":"string"}},"ignoreFiles":{"type":"array","items":{"type":"string"}},"packageMappings":{"type":"object","additionalProperties":{"type":"string"}},"externalPackages":{"type":"object","additionalProperties":{"type":"string"}},"externalPackage":{"type":"boolean"},"externalPackageName":{"type":"string"},"configFile":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"types":{"type":"array","items":{"type":"string"}},"userSessionType":{"type":"string"},"singletonServicesFactoryType":{"type":"string"},"wireServicesFactoryType":{"type":"string"},"configDir":{"type":"string"},"tsconfig":{"type":"string"},"nextBackendFile":{"type":"string"},"nextHTTPFile":{"type":"string"},"fetchFile":{"type":"string"},"websocketFile":{"type":"string"},"rpcWiringsFile":{"type":"string"},"queueWiringsFile":{"type":"string"},"mcpJsonFile":{"type":"string"},"openAPI":{"type":"object","properties":{"outputFile":{"type":"string"},"additionalInfo":{"$ref":"#/definitions/OpenAPISpecInfo"}},"required":["outputFile","additionalInfo"],"additionalProperties":false},"schema":{"type":"object","properties":{"additionalProperties":{"type":"boolean"},"supportsImportAttributes":{"type":"boolean"}},"additionalProperties":false},"cli":{"type":"object","properties":{"entrypoints":{"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"object","properties":{"type":{"type":"string","const":"local"},"path":{"type":"string"}},"required":["type","path"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"channel"},"name":{"type":"string"},"route":{"type":"string"},"wirePath":{"type":"string"},"path":{"type":"string"}},"required":["type","wirePath"],"additionalProperties":false},{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"type":{"type":"string","const":"local"},"path":{"type":"string"}},"required":["type","path"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"channel"},"name":{"type":"string"},"route":{"type":"string"},"wirePath":{"type":"string"},"path":{"type":"string"}},"required":["type","wirePath"],"additionalProperties":false}]}}]}}},"additionalProperties":false},"workflows":{"anyOf":[{"type":"object","properties":{"singleQueue":{"type":"boolean","const":true},"path":{"type":"string"},"orchestratorQueue":{"type":"string"},"workerQueue":{"type":"string"}},"required":["singleQueue","path"],"additionalProperties":false},{"type":"object","properties":{"singleQueue":{"type":"boolean","const":false},"dir":{"type":"string"},"orchestratorQueuePrefix":{"type":"string"},"workerQueuePrefix":{"type":"string"}},"required":["singleQueue","dir"],"additionalProperties":false}]},"rpc":{"type":"object","properties":{"remoteRpcWorkersPath":{"type":"string"},"publicRpcPath":{"type":"string"}},"additionalProperties":false},"forceRequiredServices":{"type":"array","items":{"type":"string"}},"schemasFromTypes":{"type":"array","items":{"type":"string"}},"stateOutput":{"type":"string"},"stateInput":{"type":"string"},"forge":{"type":"object","properties":{"verboseMeta":{"type":"boolean"},"node":{"type":"object","properties":{"categories":{"type":"array","items":{"type":"string"}},"icon":{"type":"string"},"displayName":{"type":"string"},"description":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false},"forgeNodesMetaJsonFile":{"type":"string"},"filters":{"$ref":"#/definitions/InspectorFilters"}},"required":["bootstrapFile","channelsMapDeclarationFile","channelsTypesFile","channelsWiringFile","channelsWiringMetaFile","channelsWiringMetaJsonFile","cliBootstrapFile","cliTypesFile","cliWiringMetaFile","cliWiringMetaJsonFile","cliWiringsFile","configDir","filters","forgeTypesFile","functionTypesFile","functionsFile","functionsMetaFile","functionsMetaJsonFile","httpMapDeclarationFile","httpTypesFile","httpWiringMetaFile","httpWiringMetaJsonFile","httpWiringsFile","mcpTypesFile","mcpWiringsFile","mcpWiringsMetaFile","mcpWiringsMetaJsonFile","middlewareFile","middlewareGroupsMetaFile","middlewareGroupsMetaJsonFile","outDir","packageFile","packageMappings","permissionsFile","queueMapDeclarationFile","queueTypesFile","queueWorkersWiringFile","queueWorkersWiringMetaFile","queueWorkersWiringMetaJsonFile","rootDir","rpcInternalMapDeclarationFile","rpcInternalWiringMetaFile","rpcInternalWiringMetaJsonFile","rpcMapDeclarationFile","schedulersTypesFile","schedulersWiringFile","schedulersWiringMetaFile","schedulersWiringMetaJsonFile","schemaDirectory","servicesFile","srcDirectories","tsconfig","typesDeclarationFile","workflowMapDeclarationFile","workflowMetaDir","workflowTypesFile","workflowsWiringFile","workflowsWiringMetaFile","workflowsWorkersFile"],"definitions":{"OpenAPISpecInfo":{"type":"object","properties":{"info":{"type":"object","properties":{"title":{"type":"string"},"version":{"type":"string"},"description":{"type":"string"},"termsOfService":{"type":"string"},"contact":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"},"email":{"type":"string"}},"additionalProperties":false},"license":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"}},"required":["name"],"additionalProperties":false}},"required":["title","version","description"],"additionalProperties":false},"servers":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"}},"required":["url"],"additionalProperties":false}},"tags":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"}},"required":["name"],"additionalProperties":false}},"externalDocs":{"type":"object","properties":{"description":{"type":"string"},"url":{"type":"string"}},"required":["url"],"additionalProperties":false},"securitySchemes":{"type":"object"},"security":{"type":"array","items":{"type":"object","additionalProperties":{"type":"array","items":{}}}}},"required":["info","servers"],"additionalProperties":false},"InspectorFilters":{"type":"object","properties":{"names":{"type":"array","items":{"type":"string"}},"tags":{"type":"array","items":{"type":"string"}},"types":{"type":"array","items":{"type":"string"}},"directories":{"type":"array","items":{"type":"string"}},"httpRoutes":{"type":"array","items":{"type":"string"}},"httpMethods":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}}}
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This file was generated by @pikku/cli@0.11.
|
|
2
|
+
* This file was generated by @pikku/cli@0.11.3
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
5
|
|
|
6
6
|
* Channel-specific type definitions for tree-shaking optimization
|
|
7
7
|
*/
|
|
8
8
|
import { CoreChannel } from '@pikku/core/channel';
|
|
9
|
-
import { CorePikkuFunctionConfig } from '@pikku/core';
|
|
10
9
|
import { AssertHTTPWiringParams } from '@pikku/core/http';
|
|
11
|
-
import type {
|
|
10
|
+
import type { PikkuFunctionConfig, PikkuFunctionSessionless, PikkuPermission, PikkuMiddleware } from '../function/pikku-function-types.gen.js';
|
|
11
|
+
import type { ZodLike, CorePermissionGroup } from '@pikku/core';
|
|
12
|
+
/**
|
|
13
|
+
* Helper type to infer the output type from a Zod schema
|
|
14
|
+
*/
|
|
15
|
+
type InferZodOutput<T> = T extends ZodLike<infer U> ? U : never;
|
|
12
16
|
/**
|
|
13
17
|
* Type definition for WebSocket channels with typed data exchange.
|
|
14
18
|
* Supports connection, disconnection, and message handling.
|
|
@@ -17,7 +21,7 @@ import type { PikkuFunction, PikkuFunctionSessionless, PikkuPermission, PikkuMid
|
|
|
17
21
|
* @template ChannelData - Type of data exchanged through the channel
|
|
18
22
|
* @template Channel - String literal type for the channel name
|
|
19
23
|
*/
|
|
20
|
-
type ChannelWiring<ChannelData, Channel extends string> = CoreChannel<ChannelData, Channel,
|
|
24
|
+
type ChannelWiring<ChannelData, Channel extends string> = CoreChannel<ChannelData, Channel, PikkuFunctionConfig<void, any, 'channel' | 'session' | 'rpc'>, PikkuFunctionConfig<void, void, 'channel' | 'session' | 'rpc'>, PikkuFunctionConfig<any, any, 'channel' | 'session' | 'rpc'>, PikkuPermission, PikkuMiddleware>;
|
|
21
25
|
/**
|
|
22
26
|
* Creates a function that handles WebSocket channel connections.
|
|
23
27
|
* Called when a client connects to a channel.
|
|
@@ -26,7 +30,7 @@ type ChannelWiring<ChannelData, Channel extends string> = CoreChannel<ChannelDat
|
|
|
26
30
|
* @param func - Function definition, either direct function or configuration object
|
|
27
31
|
* @returns The normalized configuration object
|
|
28
32
|
*/
|
|
29
|
-
export declare const pikkuChannelConnectionFunc: <Out = unknown>(func: PikkuFunctionSessionless<void, Out,
|
|
33
|
+
export declare const pikkuChannelConnectionFunc: <Out = unknown>(func: PikkuFunctionSessionless<void, Out, "channel" | "session" | "rpc"> | PikkuFunctionConfig<void, Out, "channel" | "session" | "rpc">) => PikkuFunctionConfig<void, Out, "rpc" | "channel" | "session">;
|
|
30
34
|
/**
|
|
31
35
|
* Creates a function that handles WebSocket channel disconnections.
|
|
32
36
|
* Called when a client disconnects from a channel.
|
|
@@ -34,18 +38,55 @@ export declare const pikkuChannelConnectionFunc: <Out = unknown>(func: PikkuFunc
|
|
|
34
38
|
* @param func - Function definition, either direct function or configuration object
|
|
35
39
|
* @returns The normalized configuration object
|
|
36
40
|
*/
|
|
37
|
-
export declare const pikkuChannelDisconnectionFunc: (func: PikkuFunctionSessionless<void, void,
|
|
41
|
+
export declare const pikkuChannelDisconnectionFunc: (func: PikkuFunctionSessionless<void, void, "channel"> | PikkuFunctionConfig<void, void, "channel" | "session" | "rpc">) => PikkuFunctionConfig<void, void, "rpc" | "channel" | "session">;
|
|
42
|
+
/**
|
|
43
|
+
* Configuration object for channel functions with Zod schema validation.
|
|
44
|
+
*/
|
|
45
|
+
type PikkuChannelFuncConfigWithSchema<InputSchema extends ZodLike, OutputSchema extends ZodLike | undefined = undefined> = {
|
|
46
|
+
name?: string;
|
|
47
|
+
tags?: string[];
|
|
48
|
+
expose?: boolean;
|
|
49
|
+
internal?: boolean;
|
|
50
|
+
func: PikkuFunctionSessionless<InferZodOutput<InputSchema>, OutputSchema extends ZodLike ? InferZodOutput<OutputSchema> : unknown, 'channel' | 'session' | 'rpc'>;
|
|
51
|
+
auth?: boolean;
|
|
52
|
+
permissions?: CorePermissionGroup<PikkuPermission<InferZodOutput<InputSchema>>>;
|
|
53
|
+
middleware?: PikkuMiddleware[];
|
|
54
|
+
input: InputSchema;
|
|
55
|
+
output?: OutputSchema;
|
|
56
|
+
};
|
|
38
57
|
/**
|
|
39
58
|
* Creates a function that handles WebSocket channel messages.
|
|
40
59
|
* Called when a message is received on a channel.
|
|
41
|
-
* This is the same as pikkuSessionlessFunc but with ChannelData = unknown by default.
|
|
42
60
|
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
61
|
+
* Supports two patterns:
|
|
62
|
+
* 1. Generic types: `pikkuChannelFunc<Input, Output>({ func: ... })`
|
|
63
|
+
* 2. Zod schemas: `pikkuChannelFunc({ input: z.object(...), func: ... })`
|
|
64
|
+
*
|
|
65
|
+
* @template In - Input type for channel messages (inferred from schema if provided)
|
|
66
|
+
* @template Out - Output type for channel responses (inferred from schema if provided)
|
|
45
67
|
* @param func - Function definition, either direct function or configuration object
|
|
46
68
|
* @returns The normalized configuration object
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* ```typescript
|
|
72
|
+
* // Pattern 1: Using generic types
|
|
73
|
+
* const handleMessage = pikkuChannelFunc<{text: string}, {received: boolean}>({
|
|
74
|
+
* func: async (_services, { text }) => ({ received: true })
|
|
75
|
+
* })
|
|
76
|
+
*
|
|
77
|
+
* // Pattern 2: Using Zod schemas
|
|
78
|
+
* const messageInput = z.object({ text: z.string() })
|
|
79
|
+
* const messageOutput = z.object({ received: z.boolean() })
|
|
80
|
+
*
|
|
81
|
+
* const handleMessage = pikkuChannelFunc({
|
|
82
|
+
* input: messageInput,
|
|
83
|
+
* output: messageOutput,
|
|
84
|
+
* func: async (_services, { text }) => ({ received: true })
|
|
85
|
+
* })
|
|
86
|
+
* ```
|
|
47
87
|
*/
|
|
48
|
-
export declare
|
|
88
|
+
export declare function pikkuChannelFunc<InputSchema extends ZodLike, OutputSchema extends ZodLike | undefined = undefined>(config: PikkuChannelFuncConfigWithSchema<InputSchema, OutputSchema>): PikkuFunctionConfig<InferZodOutput<InputSchema>, OutputSchema extends ZodLike ? InferZodOutput<OutputSchema> : unknown, 'channel' | 'session' | 'rpc'>;
|
|
89
|
+
export declare function pikkuChannelFunc<In, Out = unknown>(func: PikkuFunctionSessionless<In, Out, 'channel' | 'session' | 'rpc'> | PikkuFunctionConfig<In, Out, 'channel' | 'session' | 'rpc'>): PikkuFunctionConfig<In, Out, 'channel' | 'session' | 'rpc'>;
|
|
49
90
|
/**
|
|
50
91
|
* Registers a WebSocket channel with the Pikku framework.
|
|
51
92
|
*
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This file was generated by @pikku/cli@0.11.
|
|
2
|
+
* This file was generated by @pikku/cli@0.11.3
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
5
|
|
|
@@ -27,19 +27,9 @@ export const pikkuChannelConnectionFunc = (func) => {
|
|
|
27
27
|
export const pikkuChannelDisconnectionFunc = (func) => {
|
|
28
28
|
return typeof func === 'function' ? { func } : func;
|
|
29
29
|
};
|
|
30
|
-
|
|
31
|
-
* Creates a function that handles WebSocket channel messages.
|
|
32
|
-
* Called when a message is received on a channel.
|
|
33
|
-
* This is the same as pikkuSessionlessFunc but with ChannelData = unknown by default.
|
|
34
|
-
*
|
|
35
|
-
* @template In - Input type for channel messages
|
|
36
|
-
* @template Out - Output type for channel responses
|
|
37
|
-
* @param func - Function definition, either direct function or configuration object
|
|
38
|
-
* @returns The normalized configuration object
|
|
39
|
-
*/
|
|
40
|
-
export const pikkuChannelFunc = (func) => {
|
|
30
|
+
export function pikkuChannelFunc(func) {
|
|
41
31
|
return typeof func === 'function' ? { func } : func;
|
|
42
|
-
}
|
|
32
|
+
}
|
|
43
33
|
/**
|
|
44
34
|
* Registers a WebSocket channel with the Pikku framework.
|
|
45
35
|
*
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This file was generated by @pikku/cli@0.11.
|
|
2
|
+
* This file was generated by @pikku/cli@0.11.3
|
|
3
3
|
*/
|
|
4
4
|
import { pikkuState } from '@pikku/core';
|
|
5
|
-
|
|
5
|
+
import metaData from './pikku-channels-meta.gen.json' with { type: 'json' };
|
|
6
|
+
pikkuState(null, 'channel', 'meta', metaData);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This file was generated by @pikku/cli@0.11.
|
|
2
|
+
* This file was generated by @pikku/cli@0.11.3
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
5
|
* WebSocket channel backend for 'pikku' CLI commands
|
|
@@ -17,7 +17,7 @@ import { pikkuQueueService } from '../../src/functions/wirings/queue/pikku-comma
|
|
|
17
17
|
import { pikkuOpenAPI } from '../../src/functions/wirings/http/pikku-command-openapi.js';
|
|
18
18
|
import { pikkuNext } from '../../src/functions/runtimes/nextjs/pikku-command-nextjs.js';
|
|
19
19
|
// Middleware to close the channel after CLI command completes
|
|
20
|
-
const cliCloseOnComplete = pikkuMiddleware(async (
|
|
20
|
+
const cliCloseOnComplete = pikkuMiddleware(async (_services, { channel }, next) => {
|
|
21
21
|
const closeChannel = () => {
|
|
22
22
|
setTimeout(async () => {
|
|
23
23
|
try {
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This file was generated by @pikku/cli@0.11.
|
|
2
|
+
* This file was generated by @pikku/cli@0.11.3
|
|
3
3
|
*/
|
|
4
4
|
import { executeCLIViaChannel } from '@pikku/core/cli/channel';
|
|
5
5
|
import { CorePikkuWebsocket } from '@pikku/websocket';
|
|
6
6
|
import '../pikku-bootstrap.gen.js';
|
|
7
|
-
import { clientCLIRenderer } from '../../src/services.js';
|
|
8
7
|
/**
|
|
9
8
|
* Pikku CLI Client (via WebSocket Channel)
|
|
10
9
|
* Executes CLI commands over a WebSocket connection
|
|
@@ -19,7 +18,6 @@ export async function PikkuCLIClient(ws, args) {
|
|
|
19
18
|
pikkuWS,
|
|
20
19
|
args,
|
|
21
20
|
renderers,
|
|
22
|
-
defaultRenderer: clientCLIRenderer,
|
|
23
21
|
});
|
|
24
22
|
}
|
|
25
23
|
// Export as default for easy importing
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This file was generated by @pikku/cli@0.11.
|
|
2
|
+
* This file was generated by @pikku/cli@0.11.3
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
5
|
|
|
@@ -39,7 +39,7 @@ export declare const pikkuCLIRender: <Data, RequiredServices extends SingletonSe
|
|
|
39
39
|
* CLI command configuration with project-specific types.
|
|
40
40
|
* Uses CoreCLICommandConfig from @pikku/core with local middleware and render types.
|
|
41
41
|
*/
|
|
42
|
-
type CLICommandConfig<Func extends PikkuFunctionConfig<In, Out>, In = any, Out = any, Params extends string = string> = CoreCLICommandConfig<Func, PikkuMiddleware, PikkuCLIRender<any>, Params>;
|
|
42
|
+
type CLICommandConfig<Func extends PikkuFunctionConfig<In, Out, 'cli' | 'rpc' | 'session'>, In = any, Out = any, Params extends string = string> = CoreCLICommandConfig<Func, PikkuMiddleware, PikkuCLIRender<any>, Params>;
|
|
43
43
|
/**
|
|
44
44
|
* Type definition for CLI applications with commands and global options.
|
|
45
45
|
*
|
|
@@ -65,5 +65,5 @@ export declare const wireCLI: <Commands extends Record<string, CoreCLICommandCon
|
|
|
65
65
|
* @param config - CLI command configuration
|
|
66
66
|
* @returns CLI command configuration with inferred types
|
|
67
67
|
*/
|
|
68
|
-
export declare const pikkuCLICommand: <FuncConfig extends PikkuFunctionConfig<any, any>, Params extends string>(config: CLICommandConfig<FuncConfig, any, any, Params>) => CoreCLICommandConfig<FuncConfig, PikkuMiddleware, PikkuCLIRender<any>, string>;
|
|
68
|
+
export declare const pikkuCLICommand: <FuncConfig extends PikkuFunctionConfig<any, any, "cli" | "rpc" | "session">, Params extends string>(config: CLICommandConfig<FuncConfig, any, any, Params>) => CoreCLICommandConfig<FuncConfig, PikkuMiddleware, PikkuCLIRender<any>, string>;
|
|
69
69
|
export {};
|
|
@@ -1,160 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This file was generated by @pikku/cli@0.11.
|
|
2
|
+
* This file was generated by @pikku/cli@0.11.3
|
|
3
3
|
*/
|
|
4
4
|
import { pikkuState } from '@pikku/core';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
"pikku": {
|
|
8
|
-
"program": "pikku",
|
|
9
|
-
"commands": {
|
|
10
|
-
"all": {
|
|
11
|
-
"pikkuFuncName": "all",
|
|
12
|
-
"positionals": [],
|
|
13
|
-
"options": {
|
|
14
|
-
"tags": {
|
|
15
|
-
"description": "Filter functions by tags (comma-separated)",
|
|
16
|
-
"short": "t"
|
|
17
|
-
},
|
|
18
|
-
"types": {
|
|
19
|
-
"description": "Filter functions by types (comma-separated)"
|
|
20
|
-
},
|
|
21
|
-
"directories": {
|
|
22
|
-
"description": "Filter functions by directories (comma-separated)",
|
|
23
|
-
"short": "d"
|
|
24
|
-
},
|
|
25
|
-
"httpMethods": {
|
|
26
|
-
"description": "Filter HTTP routes by methods (comma-separated)"
|
|
27
|
-
},
|
|
28
|
-
"httpRoutes": {
|
|
29
|
-
"description": "Filter HTTP routes by route patterns (comma-separated)"
|
|
30
|
-
},
|
|
31
|
-
"names": {
|
|
32
|
-
"description": "Filter functions by name patterns (supports wildcards)",
|
|
33
|
-
"short": "n"
|
|
34
|
-
}
|
|
35
|
-
},
|
|
36
|
-
"description": "Generate all Pikku files (types, schemas, wirings, etc.)",
|
|
37
|
-
"isDefault": true
|
|
38
|
-
},
|
|
39
|
-
"bootstrap": {
|
|
40
|
-
"pikkuFuncName": "bootstrap",
|
|
41
|
-
"positionals": [],
|
|
42
|
-
"options": {},
|
|
43
|
-
"description": "Generate only type files (setup phase only)"
|
|
44
|
-
},
|
|
45
|
-
"watch": {
|
|
46
|
-
"pikkuFuncName": "watch",
|
|
47
|
-
"positionals": [],
|
|
48
|
-
"options": {},
|
|
49
|
-
"description": "Watch for file changes and regenerate automatically"
|
|
50
|
-
},
|
|
51
|
-
"schemas": {
|
|
52
|
-
"pikkuFuncName": "pikkuSchemas",
|
|
53
|
-
"positionals": [],
|
|
54
|
-
"options": {},
|
|
55
|
-
"description": "Generate JSON schemas for function input/output types"
|
|
56
|
-
},
|
|
57
|
-
"fetch": {
|
|
58
|
-
"pikkuFuncName": "pikkuFetch",
|
|
59
|
-
"positionals": [],
|
|
60
|
-
"options": {},
|
|
61
|
-
"description": "Generate type-safe HTTP fetch client"
|
|
62
|
-
},
|
|
63
|
-
"websocket": {
|
|
64
|
-
"pikkuFuncName": "pikkuWebSocketTyped",
|
|
65
|
-
"positionals": [],
|
|
66
|
-
"options": {},
|
|
67
|
-
"description": "Generate type-safe WebSocket client"
|
|
68
|
-
},
|
|
69
|
-
"rpc": {
|
|
70
|
-
"pikkuFuncName": "pikkuRPCClient",
|
|
71
|
-
"positionals": [],
|
|
72
|
-
"options": {},
|
|
73
|
-
"description": "Generate RPC client wrappers"
|
|
74
|
-
},
|
|
75
|
-
"queue-service": {
|
|
76
|
-
"pikkuFuncName": "pikkuQueueService",
|
|
77
|
-
"positionals": [],
|
|
78
|
-
"options": {},
|
|
79
|
-
"description": "Generate queue service wrapper"
|
|
80
|
-
},
|
|
81
|
-
"openapi": {
|
|
82
|
-
"pikkuFuncName": "pikkuOpenAPI",
|
|
83
|
-
"positionals": [],
|
|
84
|
-
"options": {},
|
|
85
|
-
"description": "Generate OpenAPI specification from HTTP routes"
|
|
86
|
-
},
|
|
87
|
-
"nextjs": {
|
|
88
|
-
"pikkuFuncName": "pikkuNext",
|
|
89
|
-
"positionals": [],
|
|
90
|
-
"options": {},
|
|
91
|
-
"description": "Generate Next.js backend and HTTP wrappers"
|
|
92
|
-
}
|
|
93
|
-
},
|
|
94
|
-
"options": {
|
|
95
|
-
"config": {
|
|
96
|
-
"description": "Path to pikku.config.json file",
|
|
97
|
-
"short": "c"
|
|
98
|
-
},
|
|
99
|
-
"logLevel": {
|
|
100
|
-
"description": "Set log level",
|
|
101
|
-
"short": "l",
|
|
102
|
-
"choices": [
|
|
103
|
-
"trace",
|
|
104
|
-
"debug",
|
|
105
|
-
"info",
|
|
106
|
-
"warn",
|
|
107
|
-
"error",
|
|
108
|
-
"critical"
|
|
109
|
-
]
|
|
110
|
-
},
|
|
111
|
-
"userSessionType": {
|
|
112
|
-
"description": "Specify which UserSession type to use (when multiple exist)"
|
|
113
|
-
},
|
|
114
|
-
"singletonServicesFactoryType": {
|
|
115
|
-
"description": "Specify which singleton services factory to use"
|
|
116
|
-
},
|
|
117
|
-
"sessionServicesFactoryType": {
|
|
118
|
-
"description": "Specify which session services factory to use"
|
|
119
|
-
},
|
|
120
|
-
"stateOutput": {
|
|
121
|
-
"description": "Save inspector state to JSON file for reuse"
|
|
122
|
-
},
|
|
123
|
-
"stateInput": {
|
|
124
|
-
"description": "Load inspector state from JSON file (skips inspection)"
|
|
125
|
-
}
|
|
126
|
-
},
|
|
127
|
-
"defaultRenderName": "clientCLIRenderer"
|
|
128
|
-
}
|
|
129
|
-
},
|
|
130
|
-
"renderers": {
|
|
131
|
-
"defaultCLIRenderer": {
|
|
132
|
-
"name": "defaultCLIRenderer",
|
|
133
|
-
"exportedName": "defaultCLIRenderer",
|
|
134
|
-
"services": {
|
|
135
|
-
"optimized": true,
|
|
136
|
-
"services": [
|
|
137
|
-
"logger",
|
|
138
|
-
"getInspectorState",
|
|
139
|
-
"schema",
|
|
140
|
-
"jwt",
|
|
141
|
-
"config",
|
|
142
|
-
"variables",
|
|
143
|
-
"workflowService",
|
|
144
|
-
"queueService",
|
|
145
|
-
"schedulerService"
|
|
146
|
-
]
|
|
147
|
-
},
|
|
148
|
-
"filePath": "/home/runner/work/pikku/pikku/packages/cli/src/services.ts"
|
|
149
|
-
},
|
|
150
|
-
"clientCLIRenderer": {
|
|
151
|
-
"name": "clientCLIRenderer",
|
|
152
|
-
"exportedName": "clientCLIRenderer",
|
|
153
|
-
"services": {
|
|
154
|
-
"optimized": true,
|
|
155
|
-
"services": []
|
|
156
|
-
},
|
|
157
|
-
"filePath": "/home/runner/work/pikku/pikku/packages/cli/src/services.ts"
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
});
|
|
5
|
+
import metaData from './pikku-cli-wirings-meta.gen.json' with { type: 'json' };
|
|
6
|
+
pikkuState(null, 'cli', 'meta', metaData);
|