@justscale/core 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +261 -0
- package/bin/just.js +34 -0
- package/dist/app.d.ts +56 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +182 -0
- package/dist/app.js.map +1 -0
- package/dist/builder/build-context.d.ts +8 -0
- package/dist/builder/build-context.d.ts.map +1 -0
- package/dist/builder/build-context.js +4 -0
- package/dist/builder/build-context.js.map +1 -0
- package/dist/builder/builder.d.ts +60 -0
- package/dist/builder/builder.d.ts.map +1 -0
- package/dist/builder/builder.js +72 -0
- package/dist/builder/builder.js.map +1 -0
- package/dist/builder/create-builder.d.ts +36 -0
- package/dist/builder/create-builder.d.ts.map +1 -0
- package/dist/builder/create-builder.js +66 -0
- package/dist/builder/create-builder.js.map +1 -0
- package/dist/builder/execute.d.ts +37 -0
- package/dist/builder/execute.d.ts.map +1 -0
- package/dist/builder/execute.js +62 -0
- package/dist/builder/execute.js.map +1 -0
- package/dist/builder/feature-builder.d.ts +147 -0
- package/dist/builder/feature-builder.d.ts.map +1 -0
- package/dist/builder/feature-builder.js +138 -0
- package/dist/builder/feature-builder.js.map +1 -0
- package/dist/builder/index.d.ts +35 -0
- package/dist/builder/index.d.ts.map +1 -0
- package/dist/builder/index.js +37 -0
- package/dist/builder/index.js.map +1 -0
- package/dist/builder/plugin.d.ts +90 -0
- package/dist/builder/plugin.d.ts.map +1 -0
- package/dist/builder/plugin.js +101 -0
- package/dist/builder/plugin.js.map +1 -0
- package/dist/builder/plugins/query.d.ts +31 -0
- package/dist/builder/plugins/query.d.ts.map +1 -0
- package/dist/builder/plugins/query.js +42 -0
- package/dist/builder/plugins/query.js.map +1 -0
- package/dist/builder/plugins/validation.d.ts +12 -0
- package/dist/builder/plugins/validation.d.ts.map +1 -0
- package/dist/builder/plugins/validation.js +12 -0
- package/dist/builder/plugins/validation.js.map +1 -0
- package/dist/builder/sort.d.ts +27 -0
- package/dist/builder/sort.d.ts.map +1 -0
- package/dist/builder/sort.js +210 -0
- package/dist/builder/sort.js.map +1 -0
- package/dist/builder/stop.d.ts +24 -0
- package/dist/builder/stop.d.ts.map +1 -0
- package/dist/builder/stop.js +27 -0
- package/dist/builder/stop.js.map +1 -0
- package/dist/builder/test/permits-type-spike.d.ts +8 -0
- package/dist/builder/test/permits-type-spike.d.ts.map +1 -0
- package/dist/builder/test/permits-type-spike.js +117 -0
- package/dist/builder/test/permits-type-spike.js.map +1 -0
- package/dist/builder/types.d.ts +678 -0
- package/dist/builder/types.d.ts.map +1 -0
- package/dist/builder/types.js +98 -0
- package/dist/builder/types.js.map +1 -0
- package/dist/builder/validation.d.ts +101 -0
- package/dist/builder/validation.d.ts.map +1 -0
- package/dist/builder/validation.js +335 -0
- package/dist/builder/validation.js.map +1 -0
- package/dist/cli/adapter.d.ts +23 -0
- package/dist/cli/adapter.d.ts.map +1 -0
- package/dist/cli/adapter.js +26 -0
- package/dist/cli/adapter.js.map +1 -0
- package/dist/cli/args.d.ts +150 -0
- package/dist/cli/args.d.ts.map +1 -0
- package/dist/cli/args.js +172 -0
- package/dist/cli/args.js.map +1 -0
- package/dist/cli/assemble.d.ts +20 -0
- package/dist/cli/assemble.d.ts.map +1 -0
- package/dist/cli/assemble.js +55 -0
- package/dist/cli/assemble.js.map +1 -0
- package/dist/cli/bin/main.d.ts +26 -0
- package/dist/cli/bin/main.d.ts.map +1 -0
- package/dist/cli/bin/main.js +475 -0
- package/dist/cli/bin/main.js.map +1 -0
- package/dist/cli/build/migrations-plugin.d.ts +21 -0
- package/dist/cli/build/migrations-plugin.d.ts.map +1 -0
- package/dist/cli/build/migrations-plugin.js +41 -0
- package/dist/cli/build/migrations-plugin.js.map +1 -0
- package/dist/cli/build/process-plugin.d.ts +29 -0
- package/dist/cli/build/process-plugin.d.ts.map +1 -0
- package/dist/cli/build/process-plugin.js +66 -0
- package/dist/cli/build/process-plugin.js.map +1 -0
- package/dist/cli/builder/create-cli-builder.d.ts +42 -0
- package/dist/cli/builder/create-cli-builder.d.ts.map +1 -0
- package/dist/cli/builder/create-cli-builder.js +104 -0
- package/dist/cli/builder/create-cli-builder.js.map +1 -0
- package/dist/cli/builder/index.d.ts +8 -0
- package/dist/cli/builder/index.d.ts.map +1 -0
- package/dist/cli/builder/index.js +7 -0
- package/dist/cli/builder/index.js.map +1 -0
- package/dist/cli/builder/types.d.ts +113 -0
- package/dist/cli/builder/types.d.ts.map +1 -0
- package/dist/cli/builder/types.js +7 -0
- package/dist/cli/builder/types.js.map +1 -0
- package/dist/cli/cluster.d.ts +8 -0
- package/dist/cli/cluster.d.ts.map +1 -0
- package/dist/cli/cluster.js +145 -0
- package/dist/cli/cluster.js.map +1 -0
- package/dist/cli/current-app.d.ts +36 -0
- package/dist/cli/current-app.d.ts.map +1 -0
- package/dist/cli/current-app.js +21 -0
- package/dist/cli/current-app.js.map +1 -0
- package/dist/cli/define-app.d.ts +35 -0
- package/dist/cli/define-app.d.ts.map +1 -0
- package/dist/cli/define-app.js +79 -0
- package/dist/cli/define-app.js.map +1 -0
- package/dist/cli/define-main.d.ts +33 -0
- package/dist/cli/define-main.d.ts.map +1 -0
- package/dist/cli/define-main.js +67 -0
- package/dist/cli/define-main.js.map +1 -0
- package/dist/cli/define-project.d.ts +93 -0
- package/dist/cli/define-project.d.ts.map +1 -0
- package/dist/cli/define-project.js +85 -0
- package/dist/cli/define-project.js.map +1 -0
- package/dist/cli/dev-server.d.ts +20 -0
- package/dist/cli/dev-server.d.ts.map +1 -0
- package/dist/cli/dev-server.js +131 -0
- package/dist/cli/dev-server.js.map +1 -0
- package/dist/cli/discovery.d.ts +29 -0
- package/dist/cli/discovery.d.ts.map +1 -0
- package/dist/cli/discovery.js +142 -0
- package/dist/cli/discovery.js.map +1 -0
- package/dist/cli/factory.d.ts +43 -0
- package/dist/cli/factory.d.ts.map +1 -0
- package/dist/cli/factory.js +52 -0
- package/dist/cli/factory.js.map +1 -0
- package/dist/cli/generators/ai.d.ts +3 -0
- package/dist/cli/generators/ai.d.ts.map +1 -0
- package/dist/cli/generators/ai.js +65 -0
- package/dist/cli/generators/ai.js.map +1 -0
- package/dist/cli/generators/ci.d.ts +5 -0
- package/dist/cli/generators/ci.d.ts.map +1 -0
- package/dist/cli/generators/ci.js +102 -0
- package/dist/cli/generators/ci.js.map +1 -0
- package/dist/cli/generators/detect.d.ts +15 -0
- package/dist/cli/generators/detect.d.ts.map +1 -0
- package/dist/cli/generators/detect.js +75 -0
- package/dist/cli/generators/detect.js.map +1 -0
- package/dist/cli/generators/ide.d.ts +3 -0
- package/dist/cli/generators/ide.d.ts.map +1 -0
- package/dist/cli/generators/ide.js +179 -0
- package/dist/cli/generators/ide.js.map +1 -0
- package/dist/cli/generators/index.d.ts +5 -0
- package/dist/cli/generators/index.d.ts.map +1 -0
- package/dist/cli/generators/index.js +5 -0
- package/dist/cli/generators/index.js.map +1 -0
- package/dist/cli/index.d.ts +81 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +88 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/io.d.ts +131 -0
- package/dist/cli/io.d.ts.map +1 -0
- package/dist/cli/io.js +373 -0
- package/dist/cli/io.js.map +1 -0
- package/dist/cli/mcp/server.d.ts +23 -0
- package/dist/cli/mcp/server.d.ts.map +1 -0
- package/dist/cli/mcp/server.js +148 -0
- package/dist/cli/mcp/server.js.map +1 -0
- package/dist/cli/parser.d.ts +106 -0
- package/dist/cli/parser.d.ts.map +1 -0
- package/dist/cli/parser.js +520 -0
- package/dist/cli/parser.js.map +1 -0
- package/dist/cli/runner.d.ts +75 -0
- package/dist/cli/runner.d.ts.map +1 -0
- package/dist/cli/runner.js +422 -0
- package/dist/cli/runner.js.map +1 -0
- package/dist/cli/service.d.ts +61 -0
- package/dist/cli/service.d.ts.map +1 -0
- package/dist/cli/service.js +95 -0
- package/dist/cli/service.js.map +1 -0
- package/dist/cli/types.d.ts +47 -0
- package/dist/cli/types.d.ts.map +1 -0
- package/dist/cli/types.js +20 -0
- package/dist/cli/types.js.map +1 -0
- package/dist/cli/wizard.d.ts +11 -0
- package/dist/cli/wizard.d.ts.map +1 -0
- package/dist/cli/wizard.js +2 -0
- package/dist/cli/wizard.js.map +1 -0
- package/dist/cli/workspace-controller.d.ts +36 -0
- package/dist/cli/workspace-controller.d.ts.map +1 -0
- package/dist/cli/workspace-controller.js +896 -0
- package/dist/cli/workspace-controller.js.map +1 -0
- package/dist/cluster/client.d.ts +101 -0
- package/dist/cluster/client.d.ts.map +1 -0
- package/dist/cluster/client.js +256 -0
- package/dist/cluster/client.js.map +1 -0
- package/dist/cluster/cluster.d.ts +82 -0
- package/dist/cluster/cluster.d.ts.map +1 -0
- package/dist/cluster/cluster.js +27 -0
- package/dist/cluster/cluster.js.map +1 -0
- package/dist/cluster/coordinator/cluster-node.model.d.ts +14 -0
- package/dist/cluster/coordinator/cluster-node.model.d.ts.map +1 -0
- package/dist/cluster/coordinator/cluster-node.model.js +15 -0
- package/dist/cluster/coordinator/cluster-node.model.js.map +1 -0
- package/dist/cluster/coordinator/cluster-signals.d.ts +45 -0
- package/dist/cluster/coordinator/cluster-signals.d.ts.map +1 -0
- package/dist/cluster/coordinator/cluster-signals.js +24 -0
- package/dist/cluster/coordinator/cluster-signals.js.map +1 -0
- package/dist/cluster/coordinator/coordinator.process.d.ts +21 -0
- package/dist/cluster/coordinator/coordinator.process.d.ts.map +1 -0
- package/dist/cluster/coordinator/coordinator.process.js +221 -0
- package/dist/cluster/coordinator/coordinator.process.js.map +1 -0
- package/dist/cluster/coordinator/index.d.ts +13 -0
- package/dist/cluster/coordinator/index.d.ts.map +1 -0
- package/dist/cluster/coordinator/index.js +13 -0
- package/dist/cluster/coordinator/index.js.map +1 -0
- package/dist/cluster/coordinator/node-lifecycle.d.ts +31 -0
- package/dist/cluster/coordinator/node-lifecycle.d.ts.map +1 -0
- package/dist/cluster/coordinator/node-lifecycle.js +178 -0
- package/dist/cluster/coordinator/node-lifecycle.js.map +1 -0
- package/dist/cluster/index.d.ts +45 -0
- package/dist/cluster/index.d.ts.map +1 -0
- package/dist/cluster/index.js +57 -0
- package/dist/cluster/index.js.map +1 -0
- package/dist/cluster/protocol.d.ts +204 -0
- package/dist/cluster/protocol.d.ts.map +1 -0
- package/dist/cluster/protocol.js +274 -0
- package/dist/cluster/protocol.js.map +1 -0
- package/dist/cluster/scheduled-task/builder.d.ts +24 -0
- package/dist/cluster/scheduled-task/builder.d.ts.map +1 -0
- package/dist/cluster/scheduled-task/builder.js +63 -0
- package/dist/cluster/scheduled-task/builder.js.map +1 -0
- package/dist/cluster/scheduled-task/factory.d.ts +76 -0
- package/dist/cluster/scheduled-task/factory.d.ts.map +1 -0
- package/dist/cluster/scheduled-task/factory.js +64 -0
- package/dist/cluster/scheduled-task/factory.js.map +1 -0
- package/dist/cluster/scheduled-task/index.d.ts +43 -0
- package/dist/cluster/scheduled-task/index.d.ts.map +1 -0
- package/dist/cluster/scheduled-task/index.js +45 -0
- package/dist/cluster/scheduled-task/index.js.map +1 -0
- package/dist/cluster/scheduled-task/transport.d.ts +12 -0
- package/dist/cluster/scheduled-task/transport.d.ts.map +1 -0
- package/dist/cluster/scheduled-task/transport.js +146 -0
- package/dist/cluster/scheduled-task/transport.js.map +1 -0
- package/dist/cluster/scheduled-task/types.d.ts +89 -0
- package/dist/cluster/scheduled-task/types.d.ts.map +1 -0
- package/dist/cluster/scheduled-task/types.js +7 -0
- package/dist/cluster/scheduled-task/types.js.map +1 -0
- package/dist/cluster/server.d.ts +87 -0
- package/dist/cluster/server.d.ts.map +1 -0
- package/dist/cluster/server.js +290 -0
- package/dist/cluster/server.js.map +1 -0
- package/dist/cluster/transport.d.ts +86 -0
- package/dist/cluster/transport.d.ts.map +1 -0
- package/dist/cluster/transport.js +138 -0
- package/dist/cluster/transport.js.map +1 -0
- package/dist/core/container-hooks.d.ts +22 -0
- package/dist/core/container-hooks.d.ts.map +1 -0
- package/dist/core/container-hooks.js +29 -0
- package/dist/core/container-hooks.js.map +1 -0
- package/dist/core/container-reflection.d.ts +71 -0
- package/dist/core/container-reflection.d.ts.map +1 -0
- package/dist/core/container-reflection.js +60 -0
- package/dist/core/container-reflection.js.map +1 -0
- package/dist/core/context.d.ts +146 -0
- package/dist/core/context.d.ts.map +1 -0
- package/dist/core/context.js +155 -0
- package/dist/core/context.js.map +1 -0
- package/dist/core/contribution.d.ts +152 -0
- package/dist/core/contribution.d.ts.map +1 -0
- package/dist/core/contribution.js +213 -0
- package/dist/core/contribution.js.map +1 -0
- package/dist/core/controller.contextual.d.ts +193 -0
- package/dist/core/controller.contextual.d.ts.map +1 -0
- package/dist/core/controller.contextual.js +459 -0
- package/dist/core/controller.contextual.js.map +1 -0
- package/dist/core/controller.d.ts +510 -0
- package/dist/core/controller.d.ts.map +1 -0
- package/dist/core/controller.js +411 -0
- package/dist/core/controller.js.map +1 -0
- package/dist/core/controller.procedure.d.ts +147 -0
- package/dist/core/controller.procedure.d.ts.map +1 -0
- package/dist/core/controller.procedure.js +115 -0
- package/dist/core/controller.procedure.js.map +1 -0
- package/dist/core/disposable.d.ts +126 -0
- package/dist/core/disposable.d.ts.map +1 -0
- package/dist/core/disposable.js +179 -0
- package/dist/core/disposable.js.map +1 -0
- package/dist/core/hmr.d.ts +83 -0
- package/dist/core/hmr.d.ts.map +1 -0
- package/dist/core/hmr.js +211 -0
- package/dist/core/hmr.js.map +1 -0
- package/dist/core/index.d.ts +17 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +25 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/internal/routes.d.ts +26 -0
- package/dist/core/internal/routes.d.ts.map +1 -0
- package/dist/core/internal/routes.js +48 -0
- package/dist/core/internal/routes.js.map +1 -0
- package/dist/core/lifecycle-impl.d.ts +45 -0
- package/dist/core/lifecycle-impl.d.ts.map +1 -0
- package/dist/core/lifecycle-impl.js +102 -0
- package/dist/core/lifecycle-impl.js.map +1 -0
- package/dist/core/lifecycle.d.ts +86 -0
- package/dist/core/lifecycle.d.ts.map +1 -0
- package/dist/core/lifecycle.js +38 -0
- package/dist/core/lifecycle.js.map +1 -0
- package/dist/core/logger.d.ts +282 -0
- package/dist/core/logger.d.ts.map +1 -0
- package/dist/core/logger.js +368 -0
- package/dist/core/logger.js.map +1 -0
- package/dist/core/middleware.d.ts +108 -0
- package/dist/core/middleware.d.ts.map +1 -0
- package/dist/core/middleware.js +60 -0
- package/dist/core/middleware.js.map +1 -0
- package/dist/core/openapi-methods.d.ts +61 -0
- package/dist/core/openapi-methods.d.ts.map +1 -0
- package/dist/core/openapi-methods.js +53 -0
- package/dist/core/openapi-methods.js.map +1 -0
- package/dist/core/plugin.d.ts +209 -0
- package/dist/core/plugin.d.ts.map +1 -0
- package/dist/core/plugin.js +36 -0
- package/dist/core/plugin.js.map +1 -0
- package/dist/core/scope-bridge.d.ts +19 -0
- package/dist/core/scope-bridge.d.ts.map +1 -0
- package/dist/core/scope-bridge.js +34 -0
- package/dist/core/scope-bridge.js.map +1 -0
- package/dist/core/service.d.ts +429 -0
- package/dist/core/service.d.ts.map +1 -0
- package/dist/core/service.js +875 -0
- package/dist/core/service.js.map +1 -0
- package/dist/features/channel/backend.d.ts +98 -0
- package/dist/features/channel/backend.d.ts.map +1 -0
- package/dist/features/channel/backend.js +75 -0
- package/dist/features/channel/backend.js.map +1 -0
- package/dist/features/channel/channel.d.ts +18 -0
- package/dist/features/channel/channel.d.ts.map +1 -0
- package/dist/features/channel/channel.js +219 -0
- package/dist/features/channel/channel.js.map +1 -0
- package/dist/features/channel/channels.d.ts +87 -0
- package/dist/features/channel/channels.d.ts.map +1 -0
- package/dist/features/channel/channels.js +252 -0
- package/dist/features/channel/channels.js.map +1 -0
- package/dist/features/channel/feature.d.ts +40 -0
- package/dist/features/channel/feature.d.ts.map +1 -0
- package/dist/features/channel/feature.js +44 -0
- package/dist/features/channel/feature.js.map +1 -0
- package/dist/features/channel/index.d.ts +41 -0
- package/dist/features/channel/index.d.ts.map +1 -0
- package/dist/features/channel/index.js +41 -0
- package/dist/features/channel/index.js.map +1 -0
- package/dist/features/channel/types.d.ts +165 -0
- package/dist/features/channel/types.d.ts.map +1 -0
- package/dist/features/channel/types.js +10 -0
- package/dist/features/channel/types.js.map +1 -0
- package/dist/features/config/cli/config-controller.d.ts +77 -0
- package/dist/features/config/cli/config-controller.d.ts.map +1 -0
- package/dist/features/config/cli/config-controller.js +209 -0
- package/dist/features/config/cli/config-controller.js.map +1 -0
- package/dist/features/config/cli/index.d.ts +9 -0
- package/dist/features/config/cli/index.d.ts.map +1 -0
- package/dist/features/config/cli/index.js +9 -0
- package/dist/features/config/cli/index.js.map +1 -0
- package/dist/features/config/cli/profile-controller.d.ts +87 -0
- package/dist/features/config/cli/profile-controller.d.ts.map +1 -0
- package/dist/features/config/cli/profile-controller.js +223 -0
- package/dist/features/config/cli/profile-controller.js.map +1 -0
- package/dist/features/config/cli/utils.d.ts +14 -0
- package/dist/features/config/cli/utils.d.ts.map +1 -0
- package/dist/features/config/cli/utils.js +29 -0
- package/dist/features/config/cli/utils.js.map +1 -0
- package/dist/features/config/config-of.d.ts +36 -0
- package/dist/features/config/config-of.d.ts.map +1 -0
- package/dist/features/config/config-of.js +36 -0
- package/dist/features/config/config-of.js.map +1 -0
- package/dist/features/config/config-service.d.ts +54 -0
- package/dist/features/config/config-service.d.ts.map +1 -0
- package/dist/features/config/config-service.js +184 -0
- package/dist/features/config/config-service.js.map +1 -0
- package/dist/features/config/create-config.d.ts +21 -0
- package/dist/features/config/create-config.d.ts.map +1 -0
- package/dist/features/config/create-config.js +16 -0
- package/dist/features/config/create-config.js.map +1 -0
- package/dist/features/config/define-config-partial.d.ts +13 -0
- package/dist/features/config/define-config-partial.d.ts.map +1 -0
- package/dist/features/config/define-config-partial.js +19 -0
- package/dist/features/config/define-config-partial.js.map +1 -0
- package/dist/features/config/env-service.d.ts +54 -0
- package/dist/features/config/env-service.d.ts.map +1 -0
- package/dist/features/config/env-service.js +115 -0
- package/dist/features/config/env-service.js.map +1 -0
- package/dist/features/config/file-watcher.d.ts +13 -0
- package/dist/features/config/file-watcher.d.ts.map +1 -0
- package/dist/features/config/file-watcher.js +98 -0
- package/dist/features/config/file-watcher.js.map +1 -0
- package/dist/features/config/index.d.ts +21 -0
- package/dist/features/config/index.d.ts.map +1 -0
- package/dist/features/config/index.js +24 -0
- package/dist/features/config/index.js.map +1 -0
- package/dist/features/config/profile-service.d.ts +59 -0
- package/dist/features/config/profile-service.d.ts.map +1 -0
- package/dist/features/config/profile-service.js +114 -0
- package/dist/features/config/profile-service.js.map +1 -0
- package/dist/features/config/types.d.ts +38 -0
- package/dist/features/config/types.d.ts.map +1 -0
- package/dist/features/config/types.js +17 -0
- package/dist/features/config/types.js.map +1 -0
- package/dist/features/contract/contract.d.ts +264 -0
- package/dist/features/contract/contract.d.ts.map +1 -0
- package/dist/features/contract/contract.js +183 -0
- package/dist/features/contract/contract.js.map +1 -0
- package/dist/features/contract/index.d.ts +2 -0
- package/dist/features/contract/index.d.ts.map +1 -0
- package/dist/features/contract/index.js +2 -0
- package/dist/features/contract/index.js.map +1 -0
- package/dist/features/env/contribute.d.ts +70 -0
- package/dist/features/env/contribute.d.ts.map +1 -0
- package/dist/features/env/contribute.js +195 -0
- package/dist/features/env/contribute.js.map +1 -0
- package/dist/features/environment/create-environment.d.ts +58 -0
- package/dist/features/environment/create-environment.d.ts.map +1 -0
- package/dist/features/environment/create-environment.js +22 -0
- package/dist/features/environment/create-environment.js.map +1 -0
- package/dist/features/environment/index.d.ts +12 -0
- package/dist/features/environment/index.d.ts.map +1 -0
- package/dist/features/environment/index.js +10 -0
- package/dist/features/environment/index.js.map +1 -0
- package/dist/features/environment/load.d.ts +59 -0
- package/dist/features/environment/load.d.ts.map +1 -0
- package/dist/features/environment/load.js +117 -0
- package/dist/features/environment/load.js.map +1 -0
- package/dist/features/environment/types.d.ts +165 -0
- package/dist/features/environment/types.d.ts.map +1 -0
- package/dist/features/environment/types.js +18 -0
- package/dist/features/environment/types.js.map +1 -0
- package/dist/features/feature-flags/create-feature-flag-provider.d.ts +21 -0
- package/dist/features/feature-flags/create-feature-flag-provider.d.ts.map +1 -0
- package/dist/features/feature-flags/create-feature-flag-provider.js +16 -0
- package/dist/features/feature-flags/create-feature-flag-provider.js.map +1 -0
- package/dist/features/feature-flags/define-feature-flag-partial.d.ts +20 -0
- package/dist/features/feature-flags/define-feature-flag-partial.d.ts.map +1 -0
- package/dist/features/feature-flags/define-feature-flag-partial.js +26 -0
- package/dist/features/feature-flags/define-feature-flag-partial.js.map +1 -0
- package/dist/features/feature-flags/feature-flag-of.d.ts +16 -0
- package/dist/features/feature-flags/feature-flag-of.d.ts.map +1 -0
- package/dist/features/feature-flags/feature-flag-of.js +16 -0
- package/dist/features/feature-flags/feature-flag-of.js.map +1 -0
- package/dist/features/feature-flags/feature-flag-service.d.ts +22 -0
- package/dist/features/feature-flags/feature-flag-service.d.ts.map +1 -0
- package/dist/features/feature-flags/feature-flag-service.js +112 -0
- package/dist/features/feature-flags/feature-flag-service.js.map +1 -0
- package/dist/features/feature-flags/index.d.ts +15 -0
- package/dist/features/feature-flags/index.d.ts.map +1 -0
- package/dist/features/feature-flags/index.js +12 -0
- package/dist/features/feature-flags/index.js.map +1 -0
- package/dist/features/feature-flags/types.d.ts +30 -0
- package/dist/features/feature-flags/types.d.ts.map +1 -0
- package/dist/features/feature-flags/types.js +8 -0
- package/dist/features/feature-flags/types.js.map +1 -0
- package/dist/features/index.d.ts +6 -0
- package/dist/features/index.d.ts.map +1 -0
- package/dist/features/index.js +7 -0
- package/dist/features/index.js.map +1 -0
- package/dist/features/lock/index.d.ts +4 -0
- package/dist/features/lock/index.d.ts.map +1 -0
- package/dist/features/lock/index.js +4 -0
- package/dist/features/lock/index.js.map +1 -0
- package/dist/features/lock/lock-service.d.ts +74 -0
- package/dist/features/lock/lock-service.d.ts.map +1 -0
- package/dist/features/lock/lock-service.js +210 -0
- package/dist/features/lock/lock-service.js.map +1 -0
- package/dist/features/lock/memory.d.ts +60 -0
- package/dist/features/lock/memory.d.ts.map +1 -0
- package/dist/features/lock/memory.js +194 -0
- package/dist/features/lock/memory.js.map +1 -0
- package/dist/features/lock/types.d.ts +151 -0
- package/dist/features/lock/types.d.ts.map +1 -0
- package/dist/features/lock/types.js +17 -0
- package/dist/features/lock/types.js.map +1 -0
- package/dist/features/memory/index.d.ts +18 -0
- package/dist/features/memory/index.d.ts.map +1 -0
- package/dist/features/memory/index.js +18 -0
- package/dist/features/memory/index.js.map +1 -0
- package/dist/features/memory/lock-feature.d.ts +21 -0
- package/dist/features/memory/lock-feature.d.ts.map +1 -0
- package/dist/features/memory/lock-feature.js +24 -0
- package/dist/features/memory/lock-feature.js.map +1 -0
- package/dist/features/secrets/create-secret-provider.d.ts +31 -0
- package/dist/features/secrets/create-secret-provider.d.ts.map +1 -0
- package/dist/features/secrets/create-secret-provider.js +26 -0
- package/dist/features/secrets/create-secret-provider.js.map +1 -0
- package/dist/features/secrets/define-secret-partial.d.ts +16 -0
- package/dist/features/secrets/define-secret-partial.d.ts.map +1 -0
- package/dist/features/secrets/define-secret-partial.js +26 -0
- package/dist/features/secrets/define-secret-partial.js.map +1 -0
- package/dist/features/secrets/index.d.ts +17 -0
- package/dist/features/secrets/index.d.ts.map +1 -0
- package/dist/features/secrets/index.js +14 -0
- package/dist/features/secrets/index.js.map +1 -0
- package/dist/features/secrets/secret-of.d.ts +19 -0
- package/dist/features/secrets/secret-of.d.ts.map +1 -0
- package/dist/features/secrets/secret-of.js +21 -0
- package/dist/features/secrets/secret-of.js.map +1 -0
- package/dist/features/secrets/secret-service.d.ts +21 -0
- package/dist/features/secrets/secret-service.d.ts.map +1 -0
- package/dist/features/secrets/secret-service.js +28 -0
- package/dist/features/secrets/secret-service.js.map +1 -0
- package/dist/features/secrets/types.d.ts +30 -0
- package/dist/features/secrets/types.d.ts.map +1 -0
- package/dist/features/secrets/types.js +8 -0
- package/dist/features/secrets/types.js.map +1 -0
- package/dist/features/vault/env-var-vault.d.ts +24 -0
- package/dist/features/vault/env-var-vault.d.ts.map +1 -0
- package/dist/features/vault/env-var-vault.js +43 -0
- package/dist/features/vault/env-var-vault.js.map +1 -0
- package/dist/features/vault/hardcoded-vault.d.ts +34 -0
- package/dist/features/vault/hardcoded-vault.d.ts.map +1 -0
- package/dist/features/vault/hardcoded-vault.js +46 -0
- package/dist/features/vault/hardcoded-vault.js.map +1 -0
- package/dist/features/vault/hashicorp-vault.d.ts +32 -0
- package/dist/features/vault/hashicorp-vault.d.ts.map +1 -0
- package/dist/features/vault/hashicorp-vault.js +69 -0
- package/dist/features/vault/hashicorp-vault.js.map +1 -0
- package/dist/features/vault/index.d.ts +13 -0
- package/dist/features/vault/index.d.ts.map +1 -0
- package/dist/features/vault/index.js +12 -0
- package/dist/features/vault/index.js.map +1 -0
- package/dist/features/vault/kubernetes-vault.d.ts +27 -0
- package/dist/features/vault/kubernetes-vault.d.ts.map +1 -0
- package/dist/features/vault/kubernetes-vault.js +51 -0
- package/dist/features/vault/kubernetes-vault.js.map +1 -0
- package/dist/features/vault/types.d.ts +41 -0
- package/dist/features/vault/types.d.ts.map +1 -0
- package/dist/features/vault/types.js +21 -0
- package/dist/features/vault/types.js.map +1 -0
- package/dist/index.d.ts +78 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +48 -0
- package/dist/index.js.map +1 -0
- package/dist/justscale.d.ts +63 -0
- package/dist/justscale.d.ts.map +1 -0
- package/dist/justscale.js +501 -0
- package/dist/justscale.js.map +1 -0
- package/dist/kernel/adapter.d.ts +9 -0
- package/dist/kernel/adapter.d.ts.map +1 -0
- package/dist/kernel/adapter.js +2 -0
- package/dist/kernel/adapter.js.map +1 -0
- package/dist/kernel/kernel.d.ts +15 -0
- package/dist/kernel/kernel.d.ts.map +1 -0
- package/dist/kernel/kernel.js +134 -0
- package/dist/kernel/kernel.js.map +1 -0
- package/dist/models/access.d.ts +26 -0
- package/dist/models/access.d.ts.map +1 -0
- package/dist/models/access.js +126 -0
- package/dist/models/access.js.map +1 -0
- package/dist/models/apply-types-config.d.ts +52 -0
- package/dist/models/apply-types-config.d.ts.map +1 -0
- package/dist/models/apply-types-config.js +47 -0
- package/dist/models/apply-types-config.js.map +1 -0
- package/dist/models/define-model.d.ts +249 -0
- package/dist/models/define-model.d.ts.map +1 -0
- package/dist/models/define-model.js +388 -0
- package/dist/models/define-model.js.map +1 -0
- package/dist/models/field.d.ts +309 -0
- package/dist/models/field.d.ts.map +1 -0
- package/dist/models/field.js +312 -0
- package/dist/models/field.js.map +1 -0
- package/dist/models/in-memory/condition-evaluator.d.ts +53 -0
- package/dist/models/in-memory/condition-evaluator.d.ts.map +1 -0
- package/dist/models/in-memory/condition-evaluator.js +593 -0
- package/dist/models/in-memory/condition-evaluator.js.map +1 -0
- package/dist/models/in-memory/in-memory-model.d.ts +89 -0
- package/dist/models/in-memory/in-memory-model.d.ts.map +1 -0
- package/dist/models/in-memory/in-memory-model.js +101 -0
- package/dist/models/in-memory/in-memory-model.js.map +1 -0
- package/dist/models/in-memory/in-memory-repository.d.ts +208 -0
- package/dist/models/in-memory/in-memory-repository.d.ts.map +1 -0
- package/dist/models/in-memory/in-memory-repository.js +618 -0
- package/dist/models/in-memory/in-memory-repository.js.map +1 -0
- package/dist/models/in-memory/in-memory-scheduled-task.repository.d.ts +92 -0
- package/dist/models/in-memory/in-memory-scheduled-task.repository.d.ts.map +1 -0
- package/dist/models/in-memory/in-memory-scheduled-task.repository.js +395 -0
- package/dist/models/in-memory/in-memory-scheduled-task.repository.js.map +1 -0
- package/dist/models/in-memory/index.d.ts +35 -0
- package/dist/models/in-memory/index.d.ts.map +1 -0
- package/dist/models/in-memory/index.js +36 -0
- package/dist/models/in-memory/index.js.map +1 -0
- package/dist/models/index.d.ts +52 -0
- package/dist/models/index.d.ts.map +1 -0
- package/dist/models/index.js +86 -0
- package/dist/models/index.js.map +1 -0
- package/dist/models/model-name-registry.d.ts +16 -0
- package/dist/models/model-name-registry.d.ts.map +1 -0
- package/dist/models/model-name-registry.js +19 -0
- package/dist/models/model-name-registry.js.map +1 -0
- package/dist/models/model.d.ts +15 -0
- package/dist/models/model.d.ts.map +1 -0
- package/dist/models/model.js +114 -0
- package/dist/models/model.js.map +1 -0
- package/dist/models/model.repository.d.ts +318 -0
- package/dist/models/model.repository.d.ts.map +1 -0
- package/dist/models/model.repository.js +146 -0
- package/dist/models/model.repository.js.map +1 -0
- package/dist/models/observable.d.ts +15 -0
- package/dist/models/observable.d.ts.map +1 -0
- package/dist/models/observable.js +64 -0
- package/dist/models/observable.js.map +1 -0
- package/dist/models/proxy.d.ts +5 -0
- package/dist/models/proxy.d.ts.map +1 -0
- package/dist/models/proxy.js +407 -0
- package/dist/models/proxy.js.map +1 -0
- package/dist/models/query.d.ts +574 -0
- package/dist/models/query.d.ts.map +1 -0
- package/dist/models/query.js +701 -0
- package/dist/models/query.js.map +1 -0
- package/dist/models/reference/reference.d.ts +229 -0
- package/dist/models/reference/reference.d.ts.map +1 -0
- package/dist/models/reference/reference.js +331 -0
- package/dist/models/reference/reference.js.map +1 -0
- package/dist/models/reference/transient-ref.d.ts +123 -0
- package/dist/models/reference/transient-ref.d.ts.map +1 -0
- package/dist/models/reference/transient-ref.js +152 -0
- package/dist/models/reference/transient-ref.js.map +1 -0
- package/dist/models/repository.d.ts +53 -0
- package/dist/models/repository.d.ts.map +1 -0
- package/dist/models/repository.js +37 -0
- package/dist/models/repository.js.map +1 -0
- package/dist/models/scheduled-task/index.d.ts +13 -0
- package/dist/models/scheduled-task/index.d.ts.map +1 -0
- package/dist/models/scheduled-task/index.js +12 -0
- package/dist/models/scheduled-task/index.js.map +1 -0
- package/dist/models/scheduled-task/scheduled-task.d.ts +73 -0
- package/dist/models/scheduled-task/scheduled-task.d.ts.map +1 -0
- package/dist/models/scheduled-task/scheduled-task.js +95 -0
- package/dist/models/scheduled-task/scheduled-task.js.map +1 -0
- package/dist/models/scheduled-task/scheduled-task.repository.d.ts +150 -0
- package/dist/models/scheduled-task/scheduled-task.repository.d.ts.map +1 -0
- package/dist/models/scheduled-task/scheduled-task.repository.js +40 -0
- package/dist/models/scheduled-task/scheduled-task.repository.js.map +1 -0
- package/dist/models/stream.d.ts +139 -0
- package/dist/models/stream.d.ts.map +1 -0
- package/dist/models/stream.js +153 -0
- package/dist/models/stream.js.map +1 -0
- package/dist/models/symbols.d.ts +73 -0
- package/dist/models/symbols.d.ts.map +1 -0
- package/dist/models/symbols.js +97 -0
- package/dist/models/symbols.js.map +1 -0
- package/dist/models/types.d.ts +291 -0
- package/dist/models/types.d.ts.map +1 -0
- package/dist/models/types.js +50 -0
- package/dist/models/types.js.map +1 -0
- package/dist/models/watch.d.ts +27 -0
- package/dist/models/watch.d.ts.map +1 -0
- package/dist/models/watch.js +124 -0
- package/dist/models/watch.js.map +1 -0
- package/dist/models/zod-ref.d.ts +46 -0
- package/dist/models/zod-ref.d.ts.map +1 -0
- package/dist/models/zod-ref.js +31 -0
- package/dist/models/zod-ref.js.map +1 -0
- package/dist/process/builtin-serializers.d.ts +19 -0
- package/dist/process/builtin-serializers.d.ts.map +1 -0
- package/dist/process/builtin-serializers.js +213 -0
- package/dist/process/builtin-serializers.js.map +1 -0
- package/dist/process/cluster-plugin.d.ts +129 -0
- package/dist/process/cluster-plugin.d.ts.map +1 -0
- package/dist/process/cluster-plugin.js +175 -0
- package/dist/process/cluster-plugin.js.map +1 -0
- package/dist/process/createProcess.d.ts +67 -0
- package/dist/process/createProcess.d.ts.map +1 -0
- package/dist/process/createProcess.js +111 -0
- package/dist/process/createProcess.js.map +1 -0
- package/dist/process/define-signals.d.ts +113 -0
- package/dist/process/define-signals.d.ts.map +1 -0
- package/dist/process/define-signals.js +222 -0
- package/dist/process/define-signals.js.map +1 -0
- package/dist/process/delay-controller.d.ts +35 -0
- package/dist/process/delay-controller.d.ts.map +1 -0
- package/dist/process/delay-controller.js +55 -0
- package/dist/process/delay-controller.js.map +1 -0
- package/dist/process/index.d.ts +38 -0
- package/dist/process/index.d.ts.map +1 -0
- package/dist/process/index.js +47 -0
- package/dist/process/index.js.map +1 -0
- package/dist/process/primitives.d.ts +393 -0
- package/dist/process/primitives.d.ts.map +1 -0
- package/dist/process/primitives.js +325 -0
- package/dist/process/primitives.js.map +1 -0
- package/dist/process/serialization.d.ts +58 -0
- package/dist/process/serialization.d.ts.map +1 -0
- package/dist/process/serialization.js +220 -0
- package/dist/process/serialization.js.map +1 -0
- package/dist/process/stream-utils.d.ts +123 -0
- package/dist/process/stream-utils.d.ts.map +1 -0
- package/dist/process/stream-utils.js +247 -0
- package/dist/process/stream-utils.js.map +1 -0
- package/dist/process/testing/clock.d.ts +115 -0
- package/dist/process/testing/clock.d.ts.map +1 -0
- package/dist/process/testing/clock.js +166 -0
- package/dist/process/testing/clock.js.map +1 -0
- package/dist/process/testing/index.d.ts +9 -0
- package/dist/process/testing/index.d.ts.map +1 -0
- package/dist/process/testing/index.js +9 -0
- package/dist/process/testing/index.js.map +1 -0
- package/dist/process/testing.d.ts +50 -0
- package/dist/process/testing.d.ts.map +1 -0
- package/dist/process/testing.js +59 -0
- package/dist/process/testing.js.map +1 -0
- package/dist/process/types.d.ts +540 -0
- package/dist/process/types.d.ts.map +1 -0
- package/dist/process/types.js +21 -0
- package/dist/process/types.js.map +1 -0
- package/dist/queue/index.d.ts +2 -0
- package/dist/queue/index.d.ts.map +1 -0
- package/dist/queue/index.js +2 -0
- package/dist/queue/index.js.map +1 -0
- package/dist/queue/queue.d.ts +34 -0
- package/dist/queue/queue.d.ts.map +1 -0
- package/dist/queue/queue.js +108 -0
- package/dist/queue/queue.js.map +1 -0
- package/dist/runtime/process/compiled.d.ts +56 -0
- package/dist/runtime/process/compiled.d.ts.map +1 -0
- package/dist/runtime/process/compiled.js +221 -0
- package/dist/runtime/process/compiled.js.map +1 -0
- package/dist/runtime/process/executor.d.ts +279 -0
- package/dist/runtime/process/executor.d.ts.map +1 -0
- package/dist/runtime/process/executor.js +1941 -0
- package/dist/runtime/process/executor.js.map +1 -0
- package/dist/runtime/process/factory.d.ts +72 -0
- package/dist/runtime/process/factory.d.ts.map +1 -0
- package/dist/runtime/process/factory.js +78 -0
- package/dist/runtime/process/factory.js.map +1 -0
- package/dist/runtime/process/freeze.d.ts +5 -0
- package/dist/runtime/process/freeze.d.ts.map +1 -0
- package/dist/runtime/process/freeze.js +94 -0
- package/dist/runtime/process/freeze.js.map +1 -0
- package/dist/runtime/process/scheduled-task-timer.d.ts +52 -0
- package/dist/runtime/process/scheduled-task-timer.d.ts.map +1 -0
- package/dist/runtime/process/scheduled-task-timer.js +104 -0
- package/dist/runtime/process/scheduled-task-timer.js.map +1 -0
- package/dist/runtime/process/signal-bus.d.ts +186 -0
- package/dist/runtime/process/signal-bus.d.ts.map +1 -0
- package/dist/runtime/process/signal-bus.js +256 -0
- package/dist/runtime/process/signal-bus.js.map +1 -0
- package/dist/runtime/process/state-serializer.d.ts +30 -0
- package/dist/runtime/process/state-serializer.d.ts.map +1 -0
- package/dist/runtime/process/state-serializer.js +244 -0
- package/dist/runtime/process/state-serializer.js.map +1 -0
- package/dist/runtime/process/storage.d.ts +96 -0
- package/dist/runtime/process/storage.d.ts.map +1 -0
- package/dist/runtime/process/storage.js +165 -0
- package/dist/runtime/process/storage.js.map +1 -0
- package/dist/runtime/process/timer-scheduler.d.ts +115 -0
- package/dist/runtime/process/timer-scheduler.d.ts.map +1 -0
- package/dist/runtime/process/timer-scheduler.js +192 -0
- package/dist/runtime/process/timer-scheduler.js.map +1 -0
- package/dist/runtime/process/trace.d.ts +17 -0
- package/dist/runtime/process/trace.d.ts.map +1 -0
- package/dist/runtime/process/trace.js +26 -0
- package/dist/runtime/process/trace.js.map +1 -0
- package/dist/runtime/protobuf/encoding/index.d.ts +26 -0
- package/dist/runtime/protobuf/encoding/index.d.ts.map +1 -0
- package/dist/runtime/protobuf/encoding/index.js +30 -0
- package/dist/runtime/protobuf/encoding/index.js.map +1 -0
- package/dist/runtime/protobuf/encoding/reader.d.ts +182 -0
- package/dist/runtime/protobuf/encoding/reader.d.ts.map +1 -0
- package/dist/runtime/protobuf/encoding/reader.js +353 -0
- package/dist/runtime/protobuf/encoding/reader.js.map +1 -0
- package/dist/runtime/protobuf/encoding/varint.d.ts +67 -0
- package/dist/runtime/protobuf/encoding/varint.d.ts.map +1 -0
- package/dist/runtime/protobuf/encoding/varint.js +117 -0
- package/dist/runtime/protobuf/encoding/varint.js.map +1 -0
- package/dist/runtime/protobuf/encoding/wire-types.d.ts +62 -0
- package/dist/runtime/protobuf/encoding/wire-types.d.ts.map +1 -0
- package/dist/runtime/protobuf/encoding/wire-types.js +103 -0
- package/dist/runtime/protobuf/encoding/wire-types.js.map +1 -0
- package/dist/runtime/protobuf/encoding/writer.d.ts +147 -0
- package/dist/runtime/protobuf/encoding/writer.d.ts.map +1 -0
- package/dist/runtime/protobuf/encoding/writer.js +214 -0
- package/dist/runtime/protobuf/encoding/writer.js.map +1 -0
- package/dist/runtime/protobuf/index.d.ts +3 -0
- package/dist/runtime/protobuf/index.d.ts.map +1 -0
- package/dist/runtime/protobuf/index.js +3 -0
- package/dist/runtime/protobuf/index.js.map +1 -0
- package/dist/runtime/protobuf/serialized.d.ts +48 -0
- package/dist/runtime/protobuf/serialized.d.ts.map +1 -0
- package/dist/runtime/protobuf/serialized.js +517 -0
- package/dist/runtime/protobuf/serialized.js.map +1 -0
- package/package.json +209 -0
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Contribution pattern - multi-implementation tokens.
|
|
3
|
+
*
|
|
4
|
+
* `defineContribution<T>` creates an abstract DI token that accepts multiple
|
|
5
|
+
* implementations. The framework provides a default aggregator that collects
|
|
6
|
+
* contributions via `register(t: T)` and exposes the aggregated interface
|
|
7
|
+
* defined by the `aggregate` function.
|
|
8
|
+
*
|
|
9
|
+
* `createContribution(Token, { inject, factory })` creates a self-registering
|
|
10
|
+
* contribution service. When added to the app, it injects the default
|
|
11
|
+
* aggregator, calls its `register()` method with the factory output, and
|
|
12
|
+
* returns the impl.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* // 1. Declare the multi-impl token
|
|
17
|
+
* abstract class AbstractPrincipalProvider extends defineContribution<PrincipalProvider>(
|
|
18
|
+
* 'AbstractPrincipalProvider',
|
|
19
|
+
* {
|
|
20
|
+
* aggregate: (contribs) => ({
|
|
21
|
+
* async resolve(ctx) {
|
|
22
|
+
* const lists = await Promise.all(contribs.map((c) => c.resolve(ctx)));
|
|
23
|
+
* return lists.flat();
|
|
24
|
+
* },
|
|
25
|
+
* }),
|
|
26
|
+
* },
|
|
27
|
+
* ) {}
|
|
28
|
+
*
|
|
29
|
+
* // 2. Create independent contributions
|
|
30
|
+
* export const AuthResolver = createContribution(AbstractPrincipalProvider, {
|
|
31
|
+
* inject: { users: UserRepository },
|
|
32
|
+
* factory: ({ users }) => ({
|
|
33
|
+
* async resolve(ctx) { / * ... * / return []; },
|
|
34
|
+
* }),
|
|
35
|
+
* });
|
|
36
|
+
*
|
|
37
|
+
* // 3. Add them to the app - default aggregator is auto-registered
|
|
38
|
+
* JustScale()
|
|
39
|
+
* .add(AuthResolver)
|
|
40
|
+
* .add(DomainResolver)
|
|
41
|
+
* .build();
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
import { defineService, defineAbstract, } from './service.js';
|
|
45
|
+
// ============================================================================
|
|
46
|
+
// Symbols - runtime markers for the builder + container
|
|
47
|
+
// ============================================================================
|
|
48
|
+
/** Marks an abstract class as a contribution token (vs a single-impl abstract). */
|
|
49
|
+
export const CONTRIBUTION_MARKER = Symbol('justscale:contributionMarker');
|
|
50
|
+
/**
|
|
51
|
+
* On a contribution-marked abstract class, holds the default aggregating
|
|
52
|
+
* service def. The builder registers this once when it sees any contribution
|
|
53
|
+
* referencing the token (see `justscale.ts` processComponent).
|
|
54
|
+
*/
|
|
55
|
+
export const CONTRIBUTION_DEFAULT = Symbol('justscale:contributionDefault');
|
|
56
|
+
/**
|
|
57
|
+
* On a service def created via `createContribution()`, points to the parent
|
|
58
|
+
* contribution token. The builder uses this to auto-register the default
|
|
59
|
+
* aggregator.
|
|
60
|
+
*/
|
|
61
|
+
export const CONTRIBUTES_TO = Symbol('justscale:contributesTo');
|
|
62
|
+
// ============================================================================
|
|
63
|
+
// defineContribution
|
|
64
|
+
// ============================================================================
|
|
65
|
+
/**
|
|
66
|
+
* Define an abstract DI token that accepts multiple contributions.
|
|
67
|
+
*
|
|
68
|
+
* Returns an abstract class you extend with `abstract class X extends ...`
|
|
69
|
+
* (same shape as `defineAbstract`). The difference:
|
|
70
|
+
* - `defineAbstract` is a SINGLE-impl token - bind one via `bindService`.
|
|
71
|
+
* - `defineContribution` is a MULTI-impl token - add contributions via
|
|
72
|
+
* `createContribution(X, { ... })`. The framework auto-wires a default
|
|
73
|
+
* aggregator that calls the `aggregate` function with all registered
|
|
74
|
+
* contributions.
|
|
75
|
+
*
|
|
76
|
+
* @param name Human-readable name for debugging and error messages.
|
|
77
|
+
* @param opts `aggregate` - builds the aggregated interface from the list
|
|
78
|
+
* of registered contributions. Called lazily (every time the aggregated
|
|
79
|
+
* interface is used, OR cached - see note below).
|
|
80
|
+
*
|
|
81
|
+
* @example
|
|
82
|
+
* ```typescript
|
|
83
|
+
* abstract class AbstractPrincipalProvider extends defineContribution<PrincipalProvider>(
|
|
84
|
+
* 'AbstractPrincipalProvider',
|
|
85
|
+
* {
|
|
86
|
+
* aggregate: (contribs) => ({
|
|
87
|
+
* async resolve(ctx) {
|
|
88
|
+
* const lists = await Promise.all(contribs.map((c) => c.resolve(ctx)));
|
|
89
|
+
* return lists.flat();
|
|
90
|
+
* },
|
|
91
|
+
* }),
|
|
92
|
+
* },
|
|
93
|
+
* ) {}
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
96
|
+
export function defineContribution(name, opts) {
|
|
97
|
+
const abstractToken = defineAbstract(name);
|
|
98
|
+
// The default aggregator: exposes BOTH the aggregated T interface AND register().
|
|
99
|
+
// Only T is reachable via the abstract token; register() is found via runtime cast.
|
|
100
|
+
const defaultService = defineService({
|
|
101
|
+
inject: {},
|
|
102
|
+
factory: () => {
|
|
103
|
+
const contributions = [];
|
|
104
|
+
const aggregated = opts.aggregate(contributions);
|
|
105
|
+
return Object.assign(aggregated, {
|
|
106
|
+
register(contribution) {
|
|
107
|
+
contributions.push(contribution);
|
|
108
|
+
},
|
|
109
|
+
});
|
|
110
|
+
},
|
|
111
|
+
provides: [abstractToken],
|
|
112
|
+
});
|
|
113
|
+
// Stamp metadata on the abstract token
|
|
114
|
+
Object.defineProperty(abstractToken, CONTRIBUTION_MARKER, {
|
|
115
|
+
value: true,
|
|
116
|
+
enumerable: false,
|
|
117
|
+
configurable: false,
|
|
118
|
+
});
|
|
119
|
+
Object.defineProperty(abstractToken, CONTRIBUTION_DEFAULT, {
|
|
120
|
+
value: defaultService,
|
|
121
|
+
enumerable: false,
|
|
122
|
+
configurable: false,
|
|
123
|
+
});
|
|
124
|
+
return abstractToken;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Type guard: is this a contribution-kind abstract class?
|
|
128
|
+
*/
|
|
129
|
+
export function isContributionToken(value) {
|
|
130
|
+
return ((typeof value === 'function' || typeof value === 'object') &&
|
|
131
|
+
value !== null &&
|
|
132
|
+
value[CONTRIBUTION_MARKER] === true);
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Retrieve the default aggregating service for a contribution token.
|
|
136
|
+
* Used by the builder to auto-register the default once.
|
|
137
|
+
*/
|
|
138
|
+
export function getContributionDefault(token) {
|
|
139
|
+
return token[CONTRIBUTION_DEFAULT];
|
|
140
|
+
}
|
|
141
|
+
// ============================================================================
|
|
142
|
+
// createContribution
|
|
143
|
+
// ============================================================================
|
|
144
|
+
/**
|
|
145
|
+
* Create a self-registering contribution to a multi-impl token.
|
|
146
|
+
*
|
|
147
|
+
* Returns a `ServiceDef` that, when resolved, injects the contribution token
|
|
148
|
+
* (resolving to the default aggregator), calls the user's `factory` to build
|
|
149
|
+
* the contribution, registers it with the aggregator via `.register()`, and
|
|
150
|
+
* returns the contribution.
|
|
151
|
+
*
|
|
152
|
+
* @example
|
|
153
|
+
* ```typescript
|
|
154
|
+
* export const AuthResolver = createContribution(AbstractPrincipalProvider, {
|
|
155
|
+
* inject: { users: UserRepository },
|
|
156
|
+
* factory: ({ users }) => ({
|
|
157
|
+
* async resolve(ctx) {
|
|
158
|
+
* if (!ctx.user) return [];
|
|
159
|
+
* return [{ type: User, ref: User.ref(ctx.user) }];
|
|
160
|
+
* },
|
|
161
|
+
* }),
|
|
162
|
+
* });
|
|
163
|
+
* ```
|
|
164
|
+
*/
|
|
165
|
+
export function createContribution(token, config) {
|
|
166
|
+
if (!isContributionToken(token)) {
|
|
167
|
+
throw new TypeError('createContribution() requires a defineContribution token. ' +
|
|
168
|
+
'For single-impl abstracts created with defineAbstract, use bindService() instead.');
|
|
169
|
+
}
|
|
170
|
+
// Wraps the user's factory: injects the parent aggregator, calls factory,
|
|
171
|
+
// registers the result, and returns the contribution for individual resolution.
|
|
172
|
+
const parentKey = '__contributionParent';
|
|
173
|
+
const mergedDeps = {
|
|
174
|
+
...config.inject,
|
|
175
|
+
[parentKey]: token,
|
|
176
|
+
};
|
|
177
|
+
const wrappedFactory = (async (deps, resolve) => {
|
|
178
|
+
// Split parent out; rest are user's injects
|
|
179
|
+
const parent = deps[parentKey];
|
|
180
|
+
const { [parentKey]: _ignored, ...userDeps } = deps;
|
|
181
|
+
// Call user's factory - may be sync or async
|
|
182
|
+
const contribution = await config.factory(userDeps, resolve);
|
|
183
|
+
parent.register(contribution);
|
|
184
|
+
return contribution;
|
|
185
|
+
});
|
|
186
|
+
const serviceDef = defineService({
|
|
187
|
+
inject: mergedDeps,
|
|
188
|
+
factory: wrappedFactory,
|
|
189
|
+
});
|
|
190
|
+
// Attach the parent reference so the builder can auto-register the default aggregator
|
|
191
|
+
Object.defineProperty(serviceDef, CONTRIBUTES_TO, {
|
|
192
|
+
value: token,
|
|
193
|
+
enumerable: false,
|
|
194
|
+
configurable: false,
|
|
195
|
+
});
|
|
196
|
+
return serviceDef;
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Type guard: is this service def a contribution?
|
|
200
|
+
*/
|
|
201
|
+
export function isContribution(value) {
|
|
202
|
+
return ((typeof value === 'object' || typeof value === 'function') &&
|
|
203
|
+
value !== null &&
|
|
204
|
+
CONTRIBUTES_TO in value &&
|
|
205
|
+
value[CONTRIBUTES_TO] !== undefined);
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Get the contribution parent token from a contribution service def.
|
|
209
|
+
*/
|
|
210
|
+
export function getContributionParent(def) {
|
|
211
|
+
return def[CONTRIBUTES_TO];
|
|
212
|
+
}
|
|
213
|
+
//# sourceMappingURL=contribution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contribution.js","sourceRoot":"","sources":["../../src/core/contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Contextual Controllers
|
|
3
|
+
*
|
|
4
|
+
* Controllers that are invoked programmatically with caller-provided context,
|
|
5
|
+
* rather than bound directly to a transport. Ideal for WebSocket, event-driven,
|
|
6
|
+
* and similar scenarios where you need:
|
|
7
|
+
*
|
|
8
|
+
* 1. Multiple commands over a persistent connection
|
|
9
|
+
* 2. Shared session context across command handlers
|
|
10
|
+
* 3. Proper cleanup via Disposable
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* const RoomProcedures = createController
|
|
15
|
+
* .withContext<GameSession>()
|
|
16
|
+
* .create({
|
|
17
|
+
* inject: { rooms: RoomService },
|
|
18
|
+
* routes: (services) => ({
|
|
19
|
+
* join: Procedure('room/:roomId/join')
|
|
20
|
+
* .handle(({ session, params }) => {
|
|
21
|
+
* services.rooms.addPlayer(params.roomId, session.user)
|
|
22
|
+
* return { joined: params.roomId }
|
|
23
|
+
* })
|
|
24
|
+
* })
|
|
25
|
+
* })
|
|
26
|
+
*
|
|
27
|
+
* // In WebSocket handler
|
|
28
|
+
* const ctrl = container.resolve(RoomProcedures)
|
|
29
|
+
* using session = ctrl.createSession({ user, ws })
|
|
30
|
+
* await session.run()
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
import type { z } from 'zod';
|
|
34
|
+
import type { Logger } from './service.js';
|
|
35
|
+
import type { Middleware, Guard } from './middleware.js';
|
|
36
|
+
import { type BuiltinContext } from './controller.js';
|
|
37
|
+
/**
|
|
38
|
+
* A WebSocket-like interface that provides raw message stream.
|
|
39
|
+
* Used by session.run() for automatic message loop handling.
|
|
40
|
+
*/
|
|
41
|
+
export interface RawMessageSource {
|
|
42
|
+
/** Async iterator of raw messages */
|
|
43
|
+
rawMessages(): AsyncIterable<string | Buffer>;
|
|
44
|
+
/** Send a message */
|
|
45
|
+
send(data: string | Buffer): void;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Handler context for procedures.
|
|
49
|
+
* Extends BuiltinContext with session context, params, body, and signal.
|
|
50
|
+
*/
|
|
51
|
+
export interface ProcedureHandlerContext<TSession, TParams = Record<string, string>, TBody = unknown> extends BuiltinContext {
|
|
52
|
+
/** Session context (user, ws, etc.) */
|
|
53
|
+
session: TSession;
|
|
54
|
+
/** Path parameters extracted from procedure path */
|
|
55
|
+
params: TParams;
|
|
56
|
+
/** Request body (validated if schema provided) */
|
|
57
|
+
body: TBody;
|
|
58
|
+
/** AbortSignal for cancellation/timeout support */
|
|
59
|
+
signal: AbortSignal;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Options for session.run()
|
|
63
|
+
*/
|
|
64
|
+
export interface RunOptions {
|
|
65
|
+
/** Custom message parser (default: JSON { command, payload }) */
|
|
66
|
+
parse?: (raw: string | Buffer) => {
|
|
67
|
+
command: string;
|
|
68
|
+
payload: unknown;
|
|
69
|
+
};
|
|
70
|
+
/** Custom response serializer (default: JSON.stringify) */
|
|
71
|
+
serialize?: (result: unknown) => string | Buffer;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Options for session creation
|
|
75
|
+
*/
|
|
76
|
+
export interface SessionOptions {
|
|
77
|
+
/** Default timeout for all procedures (ms) */
|
|
78
|
+
defaultTimeout?: number;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Request status
|
|
82
|
+
*/
|
|
83
|
+
export type RequestStatus = 'pending' | 'completed' | 'failed' | 'cancelled';
|
|
84
|
+
/**
|
|
85
|
+
* A handle to an in-flight procedure request.
|
|
86
|
+
* Enables waiting for results, streaming, and cancellation.
|
|
87
|
+
*/
|
|
88
|
+
export interface ProcedureRequest<T> {
|
|
89
|
+
/** Wait for single result (or final result from generator) */
|
|
90
|
+
join(): Promise<T>;
|
|
91
|
+
/** Stream multiple results (for generator handlers) */
|
|
92
|
+
subscribe(): AsyncGenerator<T>;
|
|
93
|
+
/** Cancel execution (aborts signal, closes generator) */
|
|
94
|
+
cancel(): void;
|
|
95
|
+
/** Current request status */
|
|
96
|
+
readonly status: RequestStatus;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* A session binding context to a contextual controller.
|
|
100
|
+
* Implements Disposable for automatic cleanup.
|
|
101
|
+
*/
|
|
102
|
+
export interface Session<TSessionContext> extends Disposable {
|
|
103
|
+
/** The bound context */
|
|
104
|
+
readonly context: TSessionContext;
|
|
105
|
+
/**
|
|
106
|
+
* Invoke a procedure by command path.
|
|
107
|
+
* Returns a request handle for waiting/streaming/cancelling.
|
|
108
|
+
*/
|
|
109
|
+
invoke(command: string, payload: unknown): ProcedureRequest<unknown>;
|
|
110
|
+
/**
|
|
111
|
+
* Run the message loop (requires context to have a `ws` with rawMessages()).
|
|
112
|
+
* Blocks until disconnect, tracks all requests.
|
|
113
|
+
*/
|
|
114
|
+
run(options?: RunOptions): Promise<void>;
|
|
115
|
+
/**
|
|
116
|
+
* Register a cleanup callback.
|
|
117
|
+
* Callbacks run on disposal in LIFO order.
|
|
118
|
+
*/
|
|
119
|
+
onDispose(fn: () => void | Promise<void>): void;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* A resolved step - middleware or guard function ready for execution.
|
|
123
|
+
*/
|
|
124
|
+
export interface ResolvedStep {
|
|
125
|
+
type: 'use' | 'guard';
|
|
126
|
+
fn: Middleware<any, any> | Guard<any>;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* A compiled procedure ready for matching.
|
|
130
|
+
*/
|
|
131
|
+
export interface CompiledProcedure {
|
|
132
|
+
/** Procedure name from the controller's routes object */
|
|
133
|
+
name: string;
|
|
134
|
+
/** Full path as string */
|
|
135
|
+
path: string;
|
|
136
|
+
/** Path segments */
|
|
137
|
+
segments: string[];
|
|
138
|
+
/** Compiled regex pattern */
|
|
139
|
+
pattern: RegExp;
|
|
140
|
+
/** Parameter names extracted from path */
|
|
141
|
+
paramNames: string[];
|
|
142
|
+
/** Body schema (if any) */
|
|
143
|
+
schema?: z.ZodType;
|
|
144
|
+
/** Resolved steps - middleware and guards in execution order */
|
|
145
|
+
steps: ResolvedStep[];
|
|
146
|
+
/** Handler function */
|
|
147
|
+
handler: (ctx: any) => unknown | Promise<unknown>;
|
|
148
|
+
/** Timeout in ms (if any) */
|
|
149
|
+
timeout?: number;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Runtime instance of a contextual controller.
|
|
153
|
+
*/
|
|
154
|
+
export interface ContextualControllerInstance<TSessionContext> {
|
|
155
|
+
/** Compiled procedures */
|
|
156
|
+
procedures: CompiledProcedure[];
|
|
157
|
+
/** Create a new session with the given context */
|
|
158
|
+
createSession(context: TSessionContext, options?: SessionOptions): Session<TSessionContext>;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Error thrown when a procedure is not found.
|
|
162
|
+
*/
|
|
163
|
+
export declare class ProcedureNotFoundError extends Error {
|
|
164
|
+
readonly command: string;
|
|
165
|
+
constructor(command: string);
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Error thrown when a guard denies access.
|
|
169
|
+
*/
|
|
170
|
+
export declare class GuardDeniedError extends Error {
|
|
171
|
+
readonly command: string;
|
|
172
|
+
constructor(command: string);
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Error thrown when a procedure times out.
|
|
176
|
+
*/
|
|
177
|
+
export declare class TimeoutError extends Error {
|
|
178
|
+
readonly command: string;
|
|
179
|
+
readonly timeoutMs: number;
|
|
180
|
+
constructor(command: string, timeoutMs: number);
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Error thrown when a request is cancelled.
|
|
184
|
+
*/
|
|
185
|
+
export declare class CancellationError extends Error {
|
|
186
|
+
constructor();
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Create a contextual controller instance from compiled procedures.
|
|
190
|
+
* This is called by the withContext() factory.
|
|
191
|
+
*/
|
|
192
|
+
export declare function createContextualControllerInstance<TSessionContext>(procedures: CompiledProcedure[], createLogger: (context: string) => Logger, routesProxy?: Record<string, unknown>): ContextualControllerInstance<TSessionContext>;
|
|
193
|
+
//# sourceMappingURL=controller.contextual.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controller.contextual.d.ts","sourceRoot":"","sources":["../../src/core/controller.contextual.ts"],"names":[],"mappings":"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"}
|