@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/dist/src/cli.wiring.js
CHANGED
|
@@ -9,11 +9,11 @@ import { pikkuCLICommand, wireCLI } from '../.pikku/cli/pikku-cli-types.gen.js';
|
|
|
9
9
|
import { all } from './functions/commands/all.js';
|
|
10
10
|
import { bootstrap } from './functions/commands/bootstrap.js';
|
|
11
11
|
import { watch } from './functions/commands/watch.js';
|
|
12
|
-
import { clientCLIRenderer } from './services.js'
|
|
12
|
+
// import { clientCLIRenderer } from './services.js'
|
|
13
13
|
wireCLI({
|
|
14
14
|
program: 'pikku',
|
|
15
15
|
description: 'Pikku CLI - Code generation tool for type-safe backend development',
|
|
16
|
-
render: clientCLIRenderer,
|
|
16
|
+
// render: clientCLIRenderer,
|
|
17
17
|
options: {
|
|
18
18
|
config: {
|
|
19
19
|
description: 'Path to pikku.config.json file',
|
|
@@ -30,8 +30,8 @@ wireCLI({
|
|
|
30
30
|
singletonServicesFactoryType: {
|
|
31
31
|
description: 'Specify which singleton services factory to use',
|
|
32
32
|
},
|
|
33
|
-
|
|
34
|
-
description: 'Specify which
|
|
33
|
+
wireServicesFactoryType: {
|
|
34
|
+
description: 'Specify which wire services factory to use',
|
|
35
35
|
},
|
|
36
36
|
stateOutput: {
|
|
37
37
|
description: 'Save inspector state to JSON file for reuse',
|
|
@@ -3,132 +3,203 @@ import { pikkuVoidFunc } from '../../../.pikku/pikku-types.gen.js';
|
|
|
3
3
|
import { getFileImportRelativePath } from '../../utils/file-import-path.js';
|
|
4
4
|
import { writeFileInDir } from '../../utils/file-writer.js';
|
|
5
5
|
import { CommandSummary } from '../../utils/command-summary.js';
|
|
6
|
+
import { pikkuFunctionTypes } from '../wirings/functions/pikku-command-function-types.js';
|
|
7
|
+
import { pikkuFunctionTypesSplit } from '../wirings/functions/pikku-command-function-types-split.js';
|
|
8
|
+
import { pikkuHTTPTypes } from '../wirings/http/pikku-command-http-types.js';
|
|
9
|
+
import { pikkuChannelTypes } from '../wirings/channels/pikku-command-channel-types.js';
|
|
10
|
+
import { pikkuSchedulerTypes } from '../wirings/scheduler/pikku-command-scheduler-types.js';
|
|
11
|
+
import { pikkuQueueTypes } from '../wirings/queue/pikku-command-queue-types.js';
|
|
12
|
+
import { pikkuMCPTypes } from '../wirings/mcp/pikku-command-mcp-types.js';
|
|
13
|
+
import { pikkuCLITypes } from '../wirings/cli/pikku-command-cli-types.js';
|
|
14
|
+
import { pikkuFunctions } from '../wirings/functions/pikku-command-functions.js';
|
|
15
|
+
import { pikkuMiddleware } from '../wirings/middleware/pikku-command-middleware.js';
|
|
16
|
+
import { pikkuPermissions } from '../wirings/permissions/pikku-command-permissions.js';
|
|
17
|
+
import { pikkuServices } from '../wirings/functions/pikku-command-services.js';
|
|
18
|
+
import { pikkuServiceMetadata } from '../wirings/services/pikku-command-service-metadata.js';
|
|
19
|
+
import { pikkuRPC } from '../wirings/rpc/pikku-command-rpc.js';
|
|
20
|
+
import { pikkuRPCExposedMap, pikkuRPCInternalMap, } from '../wirings/rpc/pikku-command-rpc-map.js';
|
|
21
|
+
import { pikkuPublicRPC } from '../wirings/rpc/pikku-command-public-rpc.js';
|
|
22
|
+
import { pikkuRPCClient } from '../wirings/rpc/pikku-command-rpc-client.js';
|
|
23
|
+
import { pikkuSchemas } from '../wirings/functions/schemas.js';
|
|
24
|
+
import { pikkuHTTP } from '../wirings/http/pikku-command-http-routes.js';
|
|
25
|
+
import { pikkuHTTPMap } from '../wirings/http/pikku-command-http-map.js';
|
|
26
|
+
import { pikkuFetch } from '../wirings/fetch/index.js';
|
|
27
|
+
import { pikkuScheduler } from '../wirings/scheduler/pikku-command-scheduler.js';
|
|
28
|
+
import { pikkuWorkflow } from '../wirings/workflow/pikku-command-workflow.js';
|
|
29
|
+
import { pikkuRemoteRPC } from '../wirings/rpc/pikku-command-remote-rpc.js';
|
|
30
|
+
import { pikkuQueue } from '../wirings/queue/pikku-command-queue.js';
|
|
31
|
+
import { pikkuQueueMap } from '../wirings/queue/pikku-command-queue-map.js';
|
|
32
|
+
import { pikkuQueueService } from '../wirings/queue/pikku-command-queue-service.js';
|
|
33
|
+
import { pikkuChannels } from '../wirings/channels/pikku-command-channels.js';
|
|
34
|
+
import { pikkuChannelsMap } from '../wirings/channels/pikku-command-channels-map.js';
|
|
35
|
+
import { pikkuWebSocketTyped } from '../wirings/channels/pikku-command-websocket-typed.js';
|
|
36
|
+
import { pikkuMCP } from '../wirings/mcp/pikku-command-mcp.js';
|
|
37
|
+
import { pikkuMCPJSON } from '../wirings/mcp/pikku-command-mcp-json.js';
|
|
38
|
+
import { pikkuCLI } from '../wirings/cli/pikku-command-cli.js';
|
|
39
|
+
import { pikkuCLIEntry } from '../wirings/cli/pikku-command-cli-entry.js';
|
|
40
|
+
import { pikkuNext } from '../runtimes/nextjs/pikku-command-nextjs.js';
|
|
41
|
+
import { pikkuOpenAPI } from '../wirings/http/pikku-command-openapi.js';
|
|
42
|
+
import { pikkuPackage } from '../wirings/package/pikku-command-package.js';
|
|
43
|
+
import { pikkuForgeNodes } from '../wirings/forge/pikku-command-forge-nodes.js';
|
|
44
|
+
import { pikkuForgeTypes } from '../wirings/forge/pikku-command-forge-types.js';
|
|
6
45
|
export const all = pikkuVoidFunc({
|
|
7
|
-
func: async ({ logger, config,
|
|
46
|
+
func: async ({ logger, config, getInspectorState }) => {
|
|
47
|
+
const wire = {};
|
|
48
|
+
const services = { logger, config, getInspectorState };
|
|
8
49
|
const summary = new CommandSummary('all');
|
|
9
50
|
const allImports = [];
|
|
10
51
|
let typesDeclarationFileExists = true;
|
|
11
52
|
if (!existsSync(config.typesDeclarationFile)) {
|
|
12
53
|
typesDeclarationFileExists = false;
|
|
13
54
|
}
|
|
14
|
-
await
|
|
15
|
-
// This is needed since the wireHTTP function will add the routes to the visitState
|
|
55
|
+
await pikkuFunctionTypes.func(services, null, wire);
|
|
16
56
|
if (!typesDeclarationFileExists) {
|
|
17
57
|
logger.debug(`• Type file first created, inspecting again...`);
|
|
18
58
|
await getInspectorState(true);
|
|
19
59
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
const hasFunctionRegistrations = await
|
|
30
|
-
|
|
31
|
-
const middleware = await rpc.invoke('pikkuMiddleware', null);
|
|
32
|
-
// Middleware must be imported before functions meta to ensure registration happens first
|
|
60
|
+
await pikkuFunctionTypesSplit.func(services, null, wire);
|
|
61
|
+
if (!config.externalPackage) {
|
|
62
|
+
await pikkuHTTPTypes.func(services, null, wire);
|
|
63
|
+
await pikkuChannelTypes.func(services, null, wire);
|
|
64
|
+
await pikkuSchedulerTypes.func(services, null, wire);
|
|
65
|
+
await pikkuQueueTypes.func(services, null, wire);
|
|
66
|
+
await pikkuMCPTypes.func(services, null, wire);
|
|
67
|
+
await pikkuCLITypes.func(services, null, wire);
|
|
68
|
+
}
|
|
69
|
+
const hasFunctionRegistrations = await pikkuFunctions.func(services, wire, null);
|
|
70
|
+
const middleware = await pikkuMiddleware.func(services, null, wire);
|
|
33
71
|
if (middleware) {
|
|
34
72
|
allImports.push(config.middlewareFile);
|
|
35
73
|
}
|
|
36
|
-
|
|
37
|
-
const permissions = await rpc.invoke('pikkuPermissions', null);
|
|
38
|
-
// Permissions must be imported before functions meta to ensure registration happens first
|
|
74
|
+
const permissions = await pikkuPermissions.func(services, null, wire);
|
|
39
75
|
if (permissions) {
|
|
40
76
|
allImports.push(config.permissionsFile);
|
|
41
77
|
}
|
|
42
|
-
// Always import functions meta (needed for all function metadata)
|
|
43
78
|
allImports.push(config.functionsMetaFile);
|
|
44
|
-
// Only import functionsFile if it was generated (has internal/external RPCs)
|
|
45
79
|
if (hasFunctionRegistrations) {
|
|
46
80
|
allImports.push(config.functionsFile);
|
|
47
81
|
}
|
|
48
|
-
|
|
49
|
-
await
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
await rpc.invoke('pikkuRPCClient', null);
|
|
54
|
-
if (hasInternalRPCs) {
|
|
55
|
-
allImports.push(config.rpcInternalWiringMetaFile);
|
|
82
|
+
await pikkuServices.func(services, null, wire);
|
|
83
|
+
await pikkuServiceMetadata.func(services, null, wire);
|
|
84
|
+
const hasPackageFactories = await pikkuPackage.func(services, null, wire);
|
|
85
|
+
if (hasPackageFactories) {
|
|
86
|
+
allImports.push(config.packageFile);
|
|
56
87
|
}
|
|
57
|
-
const
|
|
88
|
+
const hasInternalRPCs = await pikkuRPC.func(services, null, wire);
|
|
89
|
+
const schemas = await pikkuSchemas.func(services, null, wire);
|
|
58
90
|
if (schemas) {
|
|
59
91
|
allImports.push(`${config.schemaDirectory}/register.gen.ts`);
|
|
60
92
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
93
|
+
await pikkuRPCInternalMap.func(services, null, wire);
|
|
94
|
+
await pikkuRPCExposedMap.func(services, null, wire);
|
|
95
|
+
await pikkuPublicRPC.func(services, null, wire);
|
|
96
|
+
await pikkuRPCClient.func(services, null, wire);
|
|
97
|
+
await pikkuForgeTypes.func(services, null, wire);
|
|
98
|
+
if (hasInternalRPCs) {
|
|
99
|
+
allImports.push(config.rpcInternalWiringMetaFile);
|
|
100
|
+
}
|
|
101
|
+
if (!config.externalPackage) {
|
|
102
|
+
const http = await pikkuHTTP.func(services, null, wire);
|
|
103
|
+
if (http) {
|
|
104
|
+
await pikkuHTTPMap.func(services, null, wire);
|
|
105
|
+
await pikkuFetch.func(services, null, wire);
|
|
106
|
+
allImports.push(config.httpWiringMetaFile, config.httpWiringsFile);
|
|
107
|
+
}
|
|
108
|
+
const scheduler = await pikkuScheduler.func(services, null, wire);
|
|
109
|
+
if (scheduler) {
|
|
110
|
+
allImports.push(config.schedulersWiringMetaFile, config.schedulersWiringFile);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
const workflows = await pikkuWorkflow.func(services, null, wire);
|
|
114
|
+
let remoteRPC = false;
|
|
115
|
+
if (!config.externalPackage) {
|
|
116
|
+
remoteRPC = await pikkuRemoteRPC.func(services, null, wire);
|
|
117
|
+
}
|
|
78
118
|
if (workflows || remoteRPC) {
|
|
79
119
|
await getInspectorState(true);
|
|
80
120
|
}
|
|
81
121
|
if (workflows) {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
// Generate CLI
|
|
110
|
-
const cli = await rpc.invoke('pikkuCLI', null);
|
|
111
|
-
if (cli) {
|
|
112
|
-
await rpc.invoke('pikkuCLIEntry', null);
|
|
113
|
-
allImports.push(config.cliWiringMetaFile, config.cliWiringsFile);
|
|
114
|
-
}
|
|
122
|
+
allImports.push(config.workflowsWiringFile);
|
|
123
|
+
}
|
|
124
|
+
if (!config.externalPackage) {
|
|
125
|
+
const queues = await pikkuQueue.func(services, null, wire);
|
|
126
|
+
if (queues) {
|
|
127
|
+
await pikkuQueueMap.func(services, null, wire);
|
|
128
|
+
await pikkuQueueService.func(services, null, wire);
|
|
129
|
+
allImports.push(config.queueWorkersWiringMetaFile, config.queueWorkersWiringFile);
|
|
130
|
+
}
|
|
131
|
+
const channels = await pikkuChannels.func(services, null, wire);
|
|
132
|
+
if (channels) {
|
|
133
|
+
await pikkuChannelsMap.func(services, null, wire);
|
|
134
|
+
await pikkuWebSocketTyped.func(services, null, wire);
|
|
135
|
+
allImports.push(config.channelsWiringMetaFile, config.channelsWiringFile);
|
|
136
|
+
}
|
|
137
|
+
const mcp = await pikkuMCP.func(services, null, wire);
|
|
138
|
+
if (mcp) {
|
|
139
|
+
await pikkuMCPJSON.func(services, null, wire);
|
|
140
|
+
allImports.push(config.mcpWiringsMetaFile, config.mcpWiringsFile);
|
|
141
|
+
}
|
|
142
|
+
const cli = await pikkuCLI.func(services, null, wire);
|
|
143
|
+
if (cli) {
|
|
144
|
+
await pikkuCLIEntry.func(services, null, wire);
|
|
145
|
+
allImports.push(config.cliWiringMetaFile, config.cliWiringsFile);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
await pikkuForgeNodes.func(services, null, wire);
|
|
115
149
|
if (config.nextBackendFile || config.nextHTTPFile) {
|
|
116
|
-
await
|
|
150
|
+
await pikkuNext.func(services, null, wire);
|
|
117
151
|
}
|
|
118
152
|
if (config.openAPI) {
|
|
119
153
|
logger.debug(`• OpenAPI requires a reinspection to pickup new generated types..`);
|
|
120
154
|
await getInspectorState(true);
|
|
121
|
-
await
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
.
|
|
128
|
-
|
|
155
|
+
await pikkuOpenAPI.func(services, null, wire);
|
|
156
|
+
}
|
|
157
|
+
const stateBeforeBootstrap = await getInspectorState();
|
|
158
|
+
const externalPackageBootstraps = [];
|
|
159
|
+
const usedExternalPackages = {};
|
|
160
|
+
if (config.externalPackages &&
|
|
161
|
+
stateBeforeBootstrap.rpc?.usedExternalPackages?.size > 0) {
|
|
162
|
+
for (const namespace of stateBeforeBootstrap.rpc.usedExternalPackages) {
|
|
163
|
+
const packageName = config.externalPackages[namespace];
|
|
164
|
+
if (packageName) {
|
|
165
|
+
const packageBootstrap = `${packageName}/.pikku/pikku-bootstrap.gen.js`;
|
|
166
|
+
externalPackageBootstraps.push(packageBootstrap);
|
|
167
|
+
usedExternalPackages[namespace] = packageName;
|
|
168
|
+
logger.debug(`• External package detected: ${namespace} (${packageName})`);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
const localImports = allImports.map((to) => `import '${getFileImportRelativePath(config.bootstrapFile, to, config.packageMappings)}'`);
|
|
173
|
+
const externalImports = externalPackageBootstraps.map((packagePath) => `import '${packagePath}'`);
|
|
174
|
+
let externalPackagesRegistration = '';
|
|
175
|
+
if (Object.keys(usedExternalPackages).length > 0) {
|
|
176
|
+
externalPackagesRegistration = `
|
|
177
|
+
// Register external package mappings
|
|
178
|
+
import { pikkuState } from '@pikku/core'
|
|
179
|
+
const externalPackages = pikkuState(null, 'rpc', 'externalPackages')
|
|
180
|
+
${Object.entries(usedExternalPackages)
|
|
181
|
+
.map(([ns, pkg]) => `externalPackages.set('${ns}', '${pkg}')`)
|
|
182
|
+
.join('\n')}
|
|
183
|
+
`;
|
|
184
|
+
}
|
|
185
|
+
const allBootstrapImports = [...localImports, ...externalImports]
|
|
186
|
+
.sort((a, b) => {
|
|
187
|
+
const aMeta = a.includes('meta');
|
|
188
|
+
const bMeta = b.includes('meta');
|
|
189
|
+
if (aMeta && !bMeta)
|
|
190
|
+
return -1;
|
|
191
|
+
if (!aMeta && bMeta)
|
|
192
|
+
return 1;
|
|
193
|
+
return 0;
|
|
194
|
+
})
|
|
195
|
+
.join('\n') + externalPackagesRegistration;
|
|
196
|
+
await writeFileInDir(logger, config.bootstrapFile, allBootstrapImports);
|
|
129
197
|
const state = await getInspectorState();
|
|
130
|
-
if (state.http?.meta)
|
|
131
|
-
|
|
198
|
+
if (state.http?.meta) {
|
|
199
|
+
const httpRouteCount = Object.values(state.http.meta).reduce((sum, routes) => sum + Object.keys(routes).length, 0);
|
|
200
|
+
if (httpRouteCount > 0)
|
|
201
|
+
summary.set('httpRoutes', httpRouteCount);
|
|
202
|
+
}
|
|
132
203
|
if (state.channels?.meta)
|
|
133
204
|
summary.set('channels', Object.keys(state.channels.meta).length);
|
|
134
205
|
if (state.scheduledTasks?.meta)
|
|
@@ -143,7 +214,6 @@ export const all = pikkuVoidFunc({
|
|
|
143
214
|
summary.set('mcpEndpoints', mcpTotal);
|
|
144
215
|
}
|
|
145
216
|
if (state.cli?.meta) {
|
|
146
|
-
// Count total CLI commands across all programs
|
|
147
217
|
const totalCommands = Object.values(state.cli.meta).reduce((sum, program) => sum + (program.commands?.length || 0), 0);
|
|
148
218
|
if (totalCommands > 0)
|
|
149
219
|
summary.set('cliCommands', totalCommands);
|
|
@@ -151,11 +221,19 @@ export const all = pikkuVoidFunc({
|
|
|
151
221
|
if (state.workflows?.meta) {
|
|
152
222
|
summary.set('workflows', Object.keys(state.workflows.meta).length);
|
|
153
223
|
}
|
|
154
|
-
|
|
224
|
+
if (state.forgeNodes?.meta) {
|
|
225
|
+
const forgeNodesCount = Object.keys(state.forgeNodes.meta).length;
|
|
226
|
+
if (forgeNodesCount > 0)
|
|
227
|
+
summary.set('forgeNodes', forgeNodesCount);
|
|
228
|
+
}
|
|
229
|
+
if (state.workflows?.graphMeta) {
|
|
230
|
+
const workflowGraphsCount = Object.keys(state.workflows.graphMeta).length;
|
|
231
|
+
if (workflowGraphsCount > 0)
|
|
232
|
+
summary.set('workflowGraphs', workflowGraphsCount);
|
|
233
|
+
}
|
|
155
234
|
if (!logger.isSilent()) {
|
|
156
235
|
console.log(summary.format());
|
|
157
236
|
}
|
|
158
|
-
// Check for critical errors and exit if any were logged
|
|
159
237
|
if (logger.hasCriticalErrors()) {
|
|
160
238
|
process.exit(1);
|
|
161
239
|
}
|
|
@@ -1,22 +1,27 @@
|
|
|
1
1
|
import { pikkuVoidFunc } from '../../../.pikku/pikku-types.gen.js';
|
|
2
|
+
import { pikkuFunctionTypes } from '../wirings/functions/pikku-command-function-types.js';
|
|
3
|
+
import { pikkuFunctionTypesSplit } from '../wirings/functions/pikku-command-function-types-split.js';
|
|
4
|
+
import { pikkuHTTPTypes } from '../wirings/http/pikku-command-http-types.js';
|
|
5
|
+
import { pikkuChannelTypes } from '../wirings/channels/pikku-command-channel-types.js';
|
|
6
|
+
import { pikkuSchedulerTypes } from '../wirings/scheduler/pikku-command-scheduler-types.js';
|
|
7
|
+
import { pikkuQueueTypes } from '../wirings/queue/pikku-command-queue-types.js';
|
|
8
|
+
import { pikkuWorkflow } from '../wirings/workflow/pikku-command-workflow.js';
|
|
9
|
+
import { pikkuMCPTypes } from '../wirings/mcp/pikku-command-mcp-types.js';
|
|
10
|
+
import { pikkuCLITypes } from '../wirings/cli/pikku-command-cli-types.js';
|
|
2
11
|
export const bootstrap = pikkuVoidFunc({
|
|
3
|
-
func: async ({ logger, config,
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
// All subsequent RPC commands will use this cached state
|
|
12
|
+
func: async ({ logger, config, getInspectorState }) => {
|
|
13
|
+
const wire = {};
|
|
14
|
+
const services = { logger, config, getInspectorState };
|
|
7
15
|
await getInspectorState(false, false, true);
|
|
8
|
-
await
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
await
|
|
12
|
-
await
|
|
13
|
-
await
|
|
14
|
-
await
|
|
15
|
-
await
|
|
16
|
-
await
|
|
17
|
-
await rpc.invoke('pikkuMCPTypes', null);
|
|
18
|
-
await rpc.invoke('pikkuCLITypes', null);
|
|
19
|
-
// Check for critical errors and exit if any were logged
|
|
16
|
+
await pikkuFunctionTypes.func(services, null, wire);
|
|
17
|
+
await pikkuFunctionTypesSplit.func(services, null, wire);
|
|
18
|
+
await pikkuHTTPTypes.func(services, null, wire);
|
|
19
|
+
await pikkuChannelTypes.func(services, null, wire);
|
|
20
|
+
await pikkuSchedulerTypes.func(services, null, wire);
|
|
21
|
+
await pikkuQueueTypes.func(services, null, wire);
|
|
22
|
+
await pikkuWorkflow.func(services, null, wire);
|
|
23
|
+
await pikkuMCPTypes.func(services, null, wire);
|
|
24
|
+
await pikkuCLITypes.func(services, null, wire);
|
|
20
25
|
if (logger.hasCriticalErrors()) {
|
|
21
26
|
process.exit(1);
|
|
22
27
|
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { pikkuVoidFunc } from '../../../.pikku/pikku-types.gen.js';
|
|
2
2
|
import chokidar from 'chokidar';
|
|
3
|
+
import { all } from './all.js';
|
|
3
4
|
export const watch = pikkuVoidFunc({
|
|
4
|
-
func: async ({ logger, config,
|
|
5
|
+
func: async ({ logger, config, getInspectorState }) => {
|
|
6
|
+
const services = { logger, config, getInspectorState };
|
|
5
7
|
const configWatcher = chokidar.watch(config.srcDirectories, {
|
|
6
8
|
ignoreInitial: true,
|
|
7
9
|
ignored: /.*\.gen\.tsx?/,
|
|
@@ -18,14 +20,15 @@ export const watch = pikkuVoidFunc({
|
|
|
18
20
|
const handle = async () => {
|
|
19
21
|
try {
|
|
20
22
|
const start = Date.now();
|
|
21
|
-
await
|
|
23
|
+
await all.func(services, null, {});
|
|
22
24
|
logger.info({
|
|
23
25
|
message: `✓ Generated in ${Date.now() - start}ms`,
|
|
24
26
|
type: 'timing',
|
|
25
27
|
});
|
|
26
28
|
}
|
|
27
29
|
catch (err) {
|
|
28
|
-
|
|
30
|
+
console.error(err);
|
|
31
|
+
logger.error('Error running watch');
|
|
29
32
|
}
|
|
30
33
|
};
|
|
31
34
|
await handle();
|
|
@@ -7,7 +7,7 @@ import { serializeNextJsBackendWrapper as serializeNextBackendWrapper } from './
|
|
|
7
7
|
import { serializeNextJsHTTPWrapper as serializeNextHTTPWrapper } from './serialize-nextjs-http-wrapper.js';
|
|
8
8
|
export const pikkuNext = pikkuSessionlessFunc({
|
|
9
9
|
func: async ({ logger, config, getInspectorState }) => {
|
|
10
|
-
const { nextBackendFile, nextHTTPFile, httpMapDeclarationFile, packageMappings, fetchFile, } = config;
|
|
10
|
+
const { nextBackendFile, nextHTTPFile, httpMapDeclarationFile, rpcMapDeclarationFile, packageMappings, fetchFile, } = config;
|
|
11
11
|
// If both files are undefined, clean up any existing files and return
|
|
12
12
|
if (!nextBackendFile && !nextHTTPFile) {
|
|
13
13
|
logger.info({
|
|
@@ -20,31 +20,35 @@ export const pikkuNext = pikkuSessionlessFunc({
|
|
|
20
20
|
if (nextHTTPFile && !fetchFile) {
|
|
21
21
|
throw new Error('fetchFile is required in pikku config in order for nextJS http wrapper to work');
|
|
22
22
|
}
|
|
23
|
+
if ((nextBackendFile || nextHTTPFile) && !rpcMapDeclarationFile) {
|
|
24
|
+
throw new Error('rpcMapDeclarationFile is required in pikku config in order for nextJS wrapper to work');
|
|
25
|
+
}
|
|
23
26
|
if (nextBackendFile) {
|
|
24
|
-
// Check for required types
|
|
25
27
|
checkRequiredTypes(visitState.filesAndMethodsErrors, {
|
|
26
28
|
config: true,
|
|
27
29
|
singletonServicesFactory: true,
|
|
28
|
-
|
|
30
|
+
wireServicesFactory: true,
|
|
29
31
|
});
|
|
30
|
-
const { pikkuConfigFactory, singletonServicesFactory,
|
|
32
|
+
const { pikkuConfigFactory, singletonServicesFactory, wireServicesFactory, } = visitState.filesAndMethods;
|
|
31
33
|
if (!pikkuConfigFactory ||
|
|
32
34
|
!singletonServicesFactory ||
|
|
33
|
-
!
|
|
35
|
+
!wireServicesFactory) {
|
|
34
36
|
throw new Error('Required types not found');
|
|
35
37
|
}
|
|
36
38
|
const pikkuConfigImport = `import { ${pikkuConfigFactory.variable} as createConfig } from '${getFileImportRelativePath(nextBackendFile, pikkuConfigFactory.file, packageMappings)}'`;
|
|
37
39
|
const singletonServicesImport = `import { ${singletonServicesFactory.variable} as createSingletonServices } from '${getFileImportRelativePath(nextBackendFile, singletonServicesFactory.file, packageMappings)}'`;
|
|
38
|
-
const
|
|
40
|
+
const wireServicesImport = `import { ${wireServicesFactory.variable} as createWireServices } from '${getFileImportRelativePath(nextBackendFile, wireServicesFactory.file, packageMappings)}'`;
|
|
39
41
|
const bootstrapPath = getFileImportRelativePath(nextBackendFile, config.bootstrapFile, packageMappings);
|
|
40
42
|
const routesMapDeclarationPath = getFileImportRelativePath(nextBackendFile, httpMapDeclarationFile, packageMappings);
|
|
41
|
-
const
|
|
43
|
+
const rpcMapDeclarationPath = getFileImportRelativePath(nextBackendFile, rpcMapDeclarationFile, packageMappings);
|
|
44
|
+
const content = serializeNextBackendWrapper(bootstrapPath, routesMapDeclarationPath, rpcMapDeclarationPath, pikkuConfigImport, singletonServicesImport, wireServicesImport);
|
|
42
45
|
await writeFileInDir(logger, nextBackendFile, content);
|
|
43
46
|
}
|
|
44
47
|
if (nextHTTPFile && fetchFile) {
|
|
45
48
|
const routesMapDeclarationPath = getFileImportRelativePath(nextHTTPFile, httpMapDeclarationFile, packageMappings);
|
|
49
|
+
const rpcMapDeclarationPath = getFileImportRelativePath(nextHTTPFile, rpcMapDeclarationFile, packageMappings);
|
|
46
50
|
const fetchPath = getFileImportRelativePath(nextHTTPFile, fetchFile, packageMappings);
|
|
47
|
-
const content = serializeNextHTTPWrapper(routesMapDeclarationPath, fetchPath);
|
|
51
|
+
const content = serializeNextHTTPWrapper(routesMapDeclarationPath, rpcMapDeclarationPath, fetchPath);
|
|
48
52
|
await writeFileInDir(logger, nextHTTPFile, content);
|
|
49
53
|
}
|
|
50
54
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const serializeNextJsBackendWrapper: (bootstrapPath: string, routesMapPath: string, configImport: string, singleServicesFactoryImport: string,
|
|
1
|
+
export declare const serializeNextJsBackendWrapper: (bootstrapPath: string, routesMapPath: string, rpcMapPath: string, configImport: string, singleServicesFactoryImport: string, wireServicesImport: string) => string;
|