@bluelibs/runner 5.1.0 → 5.2.1
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/README.md +25 -15
- package/dist/browser/index.cjs +851 -478
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.mjs +849 -478
- package/dist/browser/index.mjs.map +1 -1
- package/dist/edge/index.cjs +851 -478
- package/dist/edge/index.cjs.map +1 -1
- package/dist/edge/index.mjs +849 -478
- package/dist/edge/index.mjs.map +1 -1
- package/dist/node/node.cjs +1305 -583
- package/dist/node/node.cjs.map +1 -1
- package/dist/node/node.mjs +1299 -583
- package/dist/node/node.mjs.map +1 -1
- package/dist/types/define.d.ts +9 -0
- package/dist/types/definers/builders/asyncContext/fluent-builder.d.ts +6 -0
- package/dist/types/definers/builders/asyncContext/fluent-builder.interface.d.ts +9 -0
- package/dist/types/definers/builders/asyncContext/index.d.ts +10 -0
- package/dist/types/definers/builders/asyncContext/types.d.ts +13 -0
- package/dist/types/definers/builders/asyncContext/utils.d.ts +5 -0
- package/dist/types/definers/builders/asyncContext.d.ts +1 -0
- package/dist/types/definers/builders/core.d.ts +30 -0
- package/dist/types/definers/builders/error/fluent-builder.d.ts +7 -0
- package/dist/types/definers/builders/error/fluent-builder.interface.d.ts +10 -0
- package/dist/types/definers/builders/error/index.d.ts +11 -0
- package/dist/types/definers/builders/error/types.d.ts +14 -0
- package/dist/types/definers/builders/error/utils.d.ts +6 -0
- package/dist/types/definers/builders/error.d.ts +1 -0
- package/dist/types/definers/builders/event/fluent-builder.d.ts +7 -0
- package/dist/types/definers/builders/event/fluent-builder.interface.d.ts +18 -0
- package/dist/types/definers/builders/event/index.d.ts +10 -0
- package/dist/types/definers/builders/event/types.d.ts +8 -0
- package/dist/types/definers/builders/event/utils.d.ts +9 -0
- package/dist/types/definers/builders/event.d.ts +1 -0
- package/dist/types/definers/builders/hook/fluent-builder.d.ts +8 -0
- package/dist/types/definers/builders/hook/fluent-builder.interface.d.ts +27 -0
- package/dist/types/definers/builders/hook/index.d.ts +12 -0
- package/dist/types/definers/builders/hook/types.d.ts +14 -0
- package/dist/types/definers/builders/hook/utils.d.ts +14 -0
- package/dist/types/definers/builders/hook.d.ts +1 -0
- package/dist/types/definers/builders/middleware/index.d.ts +19 -0
- package/dist/types/definers/builders/middleware/resource.d.ts +7 -0
- package/dist/types/definers/builders/middleware/resource.interface.d.ts +18 -0
- package/dist/types/definers/builders/middleware/task.d.ts +7 -0
- package/dist/types/definers/builders/middleware/task.interface.d.ts +18 -0
- package/dist/types/definers/builders/middleware/types.d.ts +13 -0
- package/dist/types/definers/builders/middleware/utils.d.ts +18 -0
- package/dist/types/definers/builders/middleware.d.ts +1 -0
- package/dist/types/definers/builders/override/hook.d.ts +16 -0
- package/dist/types/definers/builders/override/index.d.ts +11 -0
- package/dist/types/definers/builders/override/resource-middleware.d.ts +3 -0
- package/dist/types/definers/builders/override/resource.d.ts +3 -0
- package/dist/types/definers/builders/override/task-middleware.d.ts +3 -0
- package/dist/types/definers/builders/override/task.d.ts +3 -0
- package/dist/types/definers/builders/resource/fluent-builder.d.ts +8 -0
- package/dist/types/definers/builders/resource/fluent-builder.interface.d.ts +42 -0
- package/dist/types/definers/builders/resource/index.d.ts +13 -0
- package/dist/types/definers/builders/resource/types.d.ts +37 -0
- package/dist/types/definers/builders/resource/utils.d.ts +26 -0
- package/dist/types/definers/builders/resource.d.ts +1 -0
- package/dist/types/definers/builders/tag/fluent-builder.d.ts +6 -0
- package/dist/types/definers/builders/tag/fluent-builder.interface.d.ts +8 -0
- package/dist/types/definers/builders/tag/index.d.ts +10 -0
- package/dist/types/definers/builders/tag/types.d.ts +12 -0
- package/dist/types/definers/builders/tag/utils.d.ts +5 -0
- package/dist/types/definers/builders/tag.d.ts +1 -0
- package/dist/types/definers/builders/task/fluent-builder.d.ts +8 -0
- package/dist/types/definers/builders/task/fluent-builder.interface.d.ts +33 -0
- package/dist/types/definers/builders/task/index.d.ts +21 -0
- package/dist/types/definers/builders/task/phantom-builder.d.ts +8 -0
- package/dist/types/definers/builders/task/phantom-builder.interface.d.ts +31 -0
- package/dist/types/definers/builders/task/types.d.ts +34 -0
- package/dist/types/definers/builders/task/utils.d.ts +14 -0
- package/dist/types/definers/builders/task.d.ts +1 -0
- package/dist/types/definers/builders/task.phantom.d.ts +1 -0
- package/dist/types/definers/builders/utils.d.ts +4 -0
- package/dist/types/definers/defineAsyncContext.d.ts +15 -0
- package/dist/types/definers/defineError.d.ts +27 -0
- package/dist/types/definers/defineEvent.d.ts +2 -0
- package/dist/types/definers/defineHook.d.ts +6 -0
- package/dist/types/definers/defineOverride.d.ts +12 -0
- package/dist/types/definers/defineResource.d.ts +2 -0
- package/dist/types/definers/defineResourceMiddleware.d.ts +2 -0
- package/dist/types/definers/defineTag.d.ts +12 -0
- package/dist/types/definers/defineTask.d.ts +18 -0
- package/dist/types/definers/defineTaskMiddleware.d.ts +2 -0
- package/dist/types/definers/middlewareConfig.d.ts +1 -0
- package/dist/types/definers/resourceFork.d.ts +13 -0
- package/dist/types/definers/tools.d.ts +53 -0
- package/dist/types/defs.d.ts +33 -0
- package/dist/types/errors.d.ts +75 -0
- package/dist/types/globals/debug.d.ts +10 -0
- package/dist/types/globals/globalEvents.d.ts +8 -0
- package/dist/types/globals/globalMiddleware.d.ts +97 -0
- package/dist/types/globals/globalResources.d.ts +64 -0
- package/dist/types/globals/globalTags.d.ts +12 -0
- package/dist/types/globals/middleware/cache.middleware.d.ts +36 -0
- package/dist/types/globals/middleware/circuitBreaker.middleware.d.ts +56 -0
- package/dist/types/globals/middleware/concurrency.middleware.d.ts +47 -0
- package/dist/types/globals/middleware/fallback.middleware.d.ts +23 -0
- package/dist/types/globals/middleware/rateLimit.middleware.d.ts +47 -0
- package/dist/types/globals/middleware/requireContext.middleware.d.ts +5 -0
- package/dist/types/globals/middleware/retry.middleware.d.ts +31 -0
- package/dist/types/globals/middleware/temporal.middleware.d.ts +48 -0
- package/dist/types/globals/middleware/timeout.middleware.d.ts +24 -0
- package/dist/types/globals/middleware/tunnel.middleware.d.ts +3 -0
- package/dist/types/globals/resources/debug/debug.resource.d.ts +7 -0
- package/dist/types/globals/resources/debug/debug.tag.d.ts +2 -0
- package/dist/types/globals/resources/debug/debugConfig.resource.d.ts +22 -0
- package/dist/types/globals/resources/debug/executionTracker.middleware.d.ts +50 -0
- package/dist/types/globals/resources/debug/globalEvent.hook.d.ts +27 -0
- package/dist/types/globals/resources/debug/hook.hook.d.ts +30 -0
- package/dist/types/globals/resources/debug/index.d.ts +6 -0
- package/dist/types/globals/resources/debug/middleware.hook.d.ts +30 -0
- package/dist/types/globals/resources/debug/types.d.ts +25 -0
- package/dist/types/globals/resources/debug/utils.d.ts +2 -0
- package/dist/types/globals/resources/httpClientFactory.resource.d.ts +28 -0
- package/dist/types/globals/resources/queue.resource.d.ts +10 -0
- package/dist/types/globals/resources/tunnel/error-utils.d.ts +1 -0
- package/dist/types/globals/resources/tunnel/plan.d.ts +19 -0
- package/dist/types/globals/resources/tunnel/protocol.d.ts +48 -0
- package/dist/types/globals/resources/tunnel/tunnel.policy.tag.d.ts +26 -0
- package/dist/types/globals/resources/tunnel/tunnel.tag.d.ts +2 -0
- package/dist/types/globals/resources/tunnel/types.d.ts +48 -0
- package/dist/types/globals/tunnels/index.d.ts +23 -0
- package/dist/types/globals/types.d.ts +15 -0
- package/dist/types/http-client.d.ts +26 -0
- package/dist/types/http-fetch-tunnel.resource.d.ts +11 -0
- package/dist/types/index.d.ts +44 -0
- package/dist/types/models/DependencyProcessor.d.ts +46 -0
- package/dist/types/models/EventManager.d.ts +115 -0
- package/dist/types/models/ExecutionJournal.d.ts +35 -0
- package/dist/types/models/LogPrinter.d.ts +56 -0
- package/dist/types/models/Logger.d.ts +85 -0
- package/dist/types/models/MiddlewareManager.d.ts +73 -0
- package/dist/types/models/OverrideManager.d.ts +13 -0
- package/dist/types/models/Queue.d.ts +40 -0
- package/dist/types/models/ResourceInitializer.d.ts +20 -0
- package/dist/types/models/RunResult.d.ts +41 -0
- package/dist/types/models/Semaphore.d.ts +80 -0
- package/dist/types/models/Store.d.ts +76 -0
- package/dist/types/models/StoreRegistry.d.ts +49 -0
- package/dist/types/models/StoreValidator.d.ts +8 -0
- package/dist/types/models/TaskRunner.d.ts +28 -0
- package/dist/types/models/UnhandledError.d.ts +11 -0
- package/dist/types/models/event/CycleContext.d.ts +9 -0
- package/dist/types/models/event/EmissionExecutor.d.ts +11 -0
- package/dist/types/models/event/InterceptorPipeline.d.ts +5 -0
- package/dist/types/models/event/ListenerRegistry.d.ts +31 -0
- package/dist/types/models/event/types.d.ts +50 -0
- package/dist/types/models/index.d.ts +13 -0
- package/dist/types/models/middleware/InterceptorRegistry.d.ts +56 -0
- package/dist/types/models/middleware/MiddlewareResolver.d.ts +31 -0
- package/dist/types/models/middleware/ResourceMiddlewareComposer.d.ts +34 -0
- package/dist/types/models/middleware/TaskMiddlewareComposer.d.ts +44 -0
- package/dist/types/models/middleware/ValidationHelper.d.ts +20 -0
- package/dist/types/models/middleware/index.d.ts +6 -0
- package/dist/types/models/middleware/types.d.ts +10 -0
- package/dist/types/models/utils/findCircularDependencies.d.ts +16 -0
- package/dist/types/models/utils/safeStringify.d.ts +3 -0
- package/dist/types/node/durable/bus/MemoryEventBus.d.ts +7 -0
- package/dist/types/node/durable/bus/NoopEventBus.d.ts +6 -0
- package/dist/types/node/durable/bus/RedisEventBus.d.ts +30 -0
- package/dist/types/node/durable/core/CronParser.d.ts +15 -0
- package/dist/types/node/durable/core/DurableContext.d.ts +64 -0
- package/dist/types/node/durable/core/DurableOperator.d.ts +47 -0
- package/dist/types/node/durable/core/DurableResource.d.ts +80 -0
- package/dist/types/node/durable/core/DurableService.d.ts +73 -0
- package/dist/types/node/durable/core/DurableWorker.d.ts +19 -0
- package/dist/types/node/durable/core/StepBuilder.d.ts +23 -0
- package/dist/types/node/durable/core/audit.d.ts +152 -0
- package/dist/types/node/durable/core/createRunnerDurableRuntime.d.ts +18 -0
- package/dist/types/node/durable/core/durable-context/DurableContext.audit.d.ts +14 -0
- package/dist/types/node/durable/core/durable-context/DurableContext.determinism.d.ts +13 -0
- package/dist/types/node/durable/core/durable-context/DurableContext.emit.d.ts +16 -0
- package/dist/types/node/durable/core/durable-context/DurableContext.sleep.d.ts +16 -0
- package/dist/types/node/durable/core/durable-context/DurableContext.steps.d.ts +25 -0
- package/dist/types/node/durable/core/durable-context/DurableContext.switch.d.ts +22 -0
- package/dist/types/node/durable/core/durable-context/DurableContext.waitForSignal.d.ts +23 -0
- package/dist/types/node/durable/core/flowShape.d.ts +50 -0
- package/dist/types/node/durable/core/ids.d.ts +11 -0
- package/dist/types/node/durable/core/index.d.ts +11 -0
- package/dist/types/node/durable/core/interfaces/bus.d.ts +13 -0
- package/dist/types/node/durable/core/interfaces/context.d.ts +105 -0
- package/dist/types/node/durable/core/interfaces/queue.d.ts +17 -0
- package/dist/types/node/durable/core/interfaces/service.d.ts +146 -0
- package/dist/types/node/durable/core/interfaces/store.d.ts +66 -0
- package/dist/types/node/durable/core/managers/AuditLogger.d.ts +29 -0
- package/dist/types/node/durable/core/managers/ExecutionManager.d.ts +48 -0
- package/dist/types/node/durable/core/managers/PollingManager.d.ts +48 -0
- package/dist/types/node/durable/core/managers/ScheduleManager.d.ts +33 -0
- package/dist/types/node/durable/core/managers/SignalHandler.d.ts +25 -0
- package/dist/types/node/durable/core/managers/TaskRegistry.d.ts +16 -0
- package/dist/types/node/durable/core/managers/WaitManager.d.ts +26 -0
- package/dist/types/node/durable/core/managers/index.d.ts +7 -0
- package/dist/types/node/durable/core/resource.d.ts +14 -0
- package/dist/types/node/durable/core/types.d.ts +84 -0
- package/dist/types/node/durable/core/utils.d.ts +28 -0
- package/dist/types/node/durable/dashboard/server.d.ts +20 -0
- package/dist/types/node/durable/emitters/runnerAuditEmitter.d.ts +6 -0
- package/dist/types/node/durable/events.d.ts +76 -0
- package/dist/types/node/durable/index.d.ts +34 -0
- package/dist/types/node/durable/optionalDeps/amqplib.d.ts +1 -0
- package/dist/types/node/durable/optionalDeps/ioredis.d.ts +1 -0
- package/dist/types/node/durable/queue/MemoryQueue.d.ts +12 -0
- package/dist/types/node/durable/queue/RabbitMQQueue.d.ts +30 -0
- package/dist/types/node/durable/resources/isolation.d.ts +15 -0
- package/dist/types/node/durable/resources/memoryDurableResource.d.ts +21 -0
- package/dist/types/node/durable/resources/redisDurableResource.d.ts +35 -0
- package/dist/types/node/durable/store/MemoryStore.d.ts +56 -0
- package/dist/types/node/durable/store/RedisStore.d.ts +89 -0
- package/dist/types/node/durable/test-utils.d.ts +29 -0
- package/dist/types/node/exposure/allowList.d.ts +3 -0
- package/dist/types/node/exposure/authenticator.d.ts +16 -0
- package/dist/types/node/exposure/cors.d.ts +4 -0
- package/dist/types/node/exposure/createNodeExposure.d.ts +2 -0
- package/dist/types/node/exposure/exposureServer.d.ts +18 -0
- package/dist/types/node/exposure/handlers/contextWrapper.d.ts +18 -0
- package/dist/types/node/exposure/handlers/errorHandlers.d.ts +23 -0
- package/dist/types/node/exposure/handlers/eventHandler.d.ts +20 -0
- package/dist/types/node/exposure/handlers/taskHandler.d.ts +24 -0
- package/dist/types/node/exposure/httpResponse.d.ts +10 -0
- package/dist/types/node/exposure/index.d.ts +3 -0
- package/dist/types/node/exposure/logging.d.ts +4 -0
- package/dist/types/node/exposure/multipart.d.ts +36 -0
- package/dist/types/node/exposure/requestBody.d.ts +11 -0
- package/dist/types/node/exposure/requestContext.d.ts +17 -0
- package/dist/types/node/exposure/requestHandlers.d.ts +29 -0
- package/dist/types/node/exposure/resource.d.ts +12 -0
- package/dist/types/node/exposure/resourceTypes.d.ts +73 -0
- package/dist/types/node/exposure/router.d.ts +17 -0
- package/dist/types/node/exposure/serverLifecycle.d.ts +13 -0
- package/dist/types/node/exposure/types.d.ts +45 -0
- package/dist/types/node/exposure/utils.d.ts +17 -0
- package/dist/types/node/files/createNodeFile.d.ts +9 -0
- package/dist/types/node/files/index.d.ts +4 -0
- package/dist/types/node/files/inputFile.model.d.ts +22 -0
- package/dist/types/node/files/inputFile.utils.d.ts +14 -0
- package/dist/types/node/http/http-mixed-client.d.ts +45 -0
- package/dist/types/node/http/http-mixed-client.factory.resource.d.ts +17 -0
- package/dist/types/node/http/http-smart-client.factory.resource.d.ts +16 -0
- package/dist/types/node/http/http-smart-client.model.d.ts +27 -0
- package/dist/types/node/http/index.d.ts +4 -0
- package/dist/types/node/index.d.ts +1 -0
- package/dist/types/node/node.d.ts +193 -0
- package/dist/types/node/platform/createFile.d.ts +9 -0
- package/dist/types/node/tunnel/allowlist.d.ts +7 -0
- package/dist/types/node/tunnel/index.d.ts +2 -0
- package/dist/types/node/upload/manifest.d.ts +23 -0
- package/dist/types/platform/adapters/browser.d.ts +14 -0
- package/dist/types/platform/adapters/edge.d.ts +5 -0
- package/dist/types/platform/adapters/node-als.d.ts +1 -0
- package/dist/types/platform/adapters/node.d.ts +15 -0
- package/dist/types/platform/adapters/universal-generic.d.ts +14 -0
- package/dist/types/platform/adapters/universal.d.ts +18 -0
- package/dist/types/platform/createFile.d.ts +10 -0
- package/dist/types/platform/createWebFile.d.ts +11 -0
- package/dist/types/platform/factory.d.ts +2 -0
- package/dist/types/platform/index.d.ts +27 -0
- package/dist/types/platform/types.d.ts +31 -0
- package/dist/types/processHooks.d.ts +2 -0
- package/dist/types/public-types.d.ts +13 -0
- package/dist/types/public.d.ts +210 -0
- package/dist/types/run.d.ts +14 -0
- package/dist/types/serializer/Serializer.d.ts +84 -0
- package/dist/types/serializer/binary-builtins.d.ts +5 -0
- package/dist/types/serializer/builtins.d.ts +47 -0
- package/dist/types/serializer/deserializer.d.ts +27 -0
- package/dist/types/serializer/error-url-builtins.d.ts +13 -0
- package/dist/types/serializer/graph-serializer.d.ts +27 -0
- package/dist/types/serializer/index.d.ts +6 -0
- package/dist/types/serializer/option-normalizers.d.ts +2 -0
- package/dist/types/serializer/regexp-validator.d.ts +34 -0
- package/dist/types/serializer/serialize-utils.d.ts +15 -0
- package/dist/types/serializer/special-values.d.ts +20 -0
- package/dist/types/serializer/tree-serializer.d.ts +20 -0
- package/dist/types/serializer/type-registry.d.ts +58 -0
- package/dist/types/serializer/types.d.ts +126 -0
- package/dist/types/serializer/validation.d.ts +34 -0
- package/dist/types/testing.d.ts +19 -0
- package/dist/types/tools/detectRunnerMode.d.ts +9 -0
- package/dist/types/tools/getCallerFile.d.ts +1 -0
- package/dist/types/tools/throws.d.ts +7 -0
- package/dist/types/tunnels/buildUniversalManifest.d.ts +24 -0
- package/dist/types/types/asyncContext.d.ts +41 -0
- package/dist/types/types/contracts.d.ts +62 -0
- package/dist/types/types/error.d.ts +39 -0
- package/dist/types/types/event.d.ts +79 -0
- package/dist/types/types/executionJournal.d.ts +29 -0
- package/dist/types/types/hook.d.ts +23 -0
- package/dist/types/types/inputFile.d.ts +34 -0
- package/dist/types/types/meta.d.ts +22 -0
- package/dist/types/types/resource.d.ts +133 -0
- package/dist/types/types/resourceMiddleware.d.ts +48 -0
- package/dist/types/types/runner.d.ts +68 -0
- package/dist/types/types/storeTypes.d.ts +46 -0
- package/dist/types/types/symbols.d.ts +34 -0
- package/dist/types/types/tag.d.ts +45 -0
- package/dist/types/types/task.d.ts +76 -0
- package/dist/types/types/taskMiddleware.d.ts +55 -0
- package/dist/types/types/utilities.d.ts +125 -0
- package/dist/universal/index.cjs +851 -476
- package/dist/universal/index.cjs.map +1 -1
- package/dist/universal/index.mjs +849 -476
- package/dist/universal/index.mjs.map +1 -1
- package/package.json +15 -14
- package/readmes/AI.md +30 -9
- package/dist/browser/index.d.mts +0 -2919
- package/dist/browser/index.d.ts +0 -2919
- package/dist/edge/index.d.mts +0 -2919
- package/dist/edge/index.d.ts +0 -2919
- package/dist/node/node.d.mts +0 -4622
- package/dist/node/node.d.ts +0 -4622
- package/dist/universal/index.d.mts +0 -2919
- package/dist/universal/index.d.ts +0 -2919
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { IAsyncLocalStorage, IPlatformAdapter, PlatformId } from "../types";
|
|
2
|
+
export declare class BrowserPlatformAdapter implements IPlatformAdapter {
|
|
3
|
+
readonly id: PlatformId;
|
|
4
|
+
init(): Promise<void>;
|
|
5
|
+
onUncaughtException(handler: (error: Error) => void): () => void | undefined;
|
|
6
|
+
onUnhandledRejection(handler: (reason: unknown) => void): () => void | undefined;
|
|
7
|
+
onShutdownSignal(handler: () => void): () => void;
|
|
8
|
+
exit(): void;
|
|
9
|
+
getEnv(key: string): string | undefined;
|
|
10
|
+
hasAsyncLocalStorage(): boolean;
|
|
11
|
+
createAsyncLocalStorage<T>(): IAsyncLocalStorage<T>;
|
|
12
|
+
setTimeout: typeof setTimeout;
|
|
13
|
+
clearTimeout: typeof clearTimeout;
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function loadAsyncLocalStorageClass(): Promise<typeof import("async_hooks").AsyncLocalStorage>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { IAsyncLocalStorage, IPlatformAdapter } from "../types";
|
|
2
|
+
export declare class NodePlatformAdapter implements IPlatformAdapter {
|
|
3
|
+
readonly id: "node";
|
|
4
|
+
private alsClass;
|
|
5
|
+
init(): Promise<void>;
|
|
6
|
+
onUncaughtException(handler: (error: Error) => void): () => NodeJS.Process;
|
|
7
|
+
onUnhandledRejection(handler: (reason: unknown) => void): () => NodeJS.Process;
|
|
8
|
+
onShutdownSignal(handler: () => void): () => void;
|
|
9
|
+
exit(code: number): void;
|
|
10
|
+
getEnv(key: string): string | undefined;
|
|
11
|
+
hasAsyncLocalStorage(): boolean;
|
|
12
|
+
createAsyncLocalStorage<T>(): IAsyncLocalStorage<T>;
|
|
13
|
+
setTimeout: typeof setTimeout;
|
|
14
|
+
clearTimeout: typeof clearTimeout;
|
|
15
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { IAsyncLocalStorage, IPlatformAdapter } from "../types";
|
|
2
|
+
export declare class GenericUniversalPlatformAdapter implements IPlatformAdapter {
|
|
3
|
+
readonly id: "universal";
|
|
4
|
+
init(): Promise<void>;
|
|
5
|
+
onUncaughtException(handler: (error: any) => void): () => any;
|
|
6
|
+
onUnhandledRejection(handler: (reason: any) => void): () => any;
|
|
7
|
+
onShutdownSignal(handler: () => void): () => void;
|
|
8
|
+
exit(): void;
|
|
9
|
+
getEnv(key: string): string | undefined;
|
|
10
|
+
hasAsyncLocalStorage(): boolean;
|
|
11
|
+
createAsyncLocalStorage<T>(): IAsyncLocalStorage<T>;
|
|
12
|
+
setTimeout: typeof setTimeout;
|
|
13
|
+
clearTimeout: typeof clearTimeout;
|
|
14
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { IPlatformAdapter, PlatformId } from "../types";
|
|
2
|
+
export declare function detectEnvironment(): PlatformId;
|
|
3
|
+
export declare class UniversalPlatformAdapter implements IPlatformAdapter {
|
|
4
|
+
readonly id: PlatformId;
|
|
5
|
+
private inner;
|
|
6
|
+
init(): Promise<void>;
|
|
7
|
+
private ensureInner;
|
|
8
|
+
private get;
|
|
9
|
+
onUncaughtException(handler: (error: Error) => void): () => void;
|
|
10
|
+
onUnhandledRejection(handler: (reason: unknown) => void): () => void;
|
|
11
|
+
onShutdownSignal(handler: () => void): () => void;
|
|
12
|
+
exit(code: number): void;
|
|
13
|
+
getEnv(key: string): string | undefined;
|
|
14
|
+
hasAsyncLocalStorage(): boolean;
|
|
15
|
+
createAsyncLocalStorage<T>(): import("..").IAsyncLocalStorage<T>;
|
|
16
|
+
setTimeout: typeof setTimeout;
|
|
17
|
+
clearTimeout: typeof clearTimeout;
|
|
18
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { InputFileMeta, RunnerFileSentinel } from "../types/inputFile";
|
|
2
|
+
/**
|
|
3
|
+
* Universal/browser `createFile` helper. For Node, import from `@bluelibs/runner/node`.
|
|
4
|
+
*/
|
|
5
|
+
export declare function createFile(meta: InputFileMeta, blob: Blob, id?: string): RunnerFileSentinel & {
|
|
6
|
+
_web: {
|
|
7
|
+
blob: Blob;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
export type { RunnerFileSentinel };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { InputFileMeta, RunnerFileSentinel } from "../types/inputFile";
|
|
2
|
+
/**
|
|
3
|
+
* Browser/edge-friendly File sentinel creator.
|
|
4
|
+
* Produces the public File sentinel shape with a browser sidecar `_web`.
|
|
5
|
+
* The sidecar will be stripped out by the universal manifest walker before upload.
|
|
6
|
+
*/
|
|
7
|
+
export declare function createWebFile(meta: InputFileMeta, blob: Blob, id?: string): RunnerFileSentinel & {
|
|
8
|
+
_web: {
|
|
9
|
+
blob: Blob;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { IPlatformAdapter, IAsyncLocalStorage, PlatformId, PlatformSetTimeout, PlatformClearTimeout } from "./types";
|
|
2
|
+
import { detectEnvironment } from "./adapters/universal";
|
|
3
|
+
export { detectEnvironment };
|
|
4
|
+
export declare function getPlatform(): IPlatformAdapter;
|
|
5
|
+
export declare function setPlatform(adapter: IPlatformAdapter): void;
|
|
6
|
+
export declare function resetPlatform(): void;
|
|
7
|
+
export declare function getDetectedEnvironment(): PlatformId;
|
|
8
|
+
export declare function isNode(): boolean;
|
|
9
|
+
export declare function isBrowser(): boolean;
|
|
10
|
+
export declare function isUniversal(): boolean;
|
|
11
|
+
export type { IPlatformAdapter, IAsyncLocalStorage, PlatformId, PlatformSetTimeout, PlatformClearTimeout, } from "./types";
|
|
12
|
+
export declare class PlatformAdapter implements IPlatformAdapter {
|
|
13
|
+
private inner;
|
|
14
|
+
readonly env: PlatformId;
|
|
15
|
+
readonly id: PlatformId;
|
|
16
|
+
readonly setTimeout: PlatformSetTimeout;
|
|
17
|
+
readonly clearTimeout: PlatformClearTimeout;
|
|
18
|
+
constructor(env?: PlatformId);
|
|
19
|
+
init(): Promise<void>;
|
|
20
|
+
onUncaughtException(handler: (error: any) => void): () => void;
|
|
21
|
+
onUnhandledRejection(handler: (reason: any) => void): () => void;
|
|
22
|
+
onShutdownSignal(handler: () => void): () => void;
|
|
23
|
+
exit(code: number): void;
|
|
24
|
+
getEnv(key: string): string | undefined;
|
|
25
|
+
hasAsyncLocalStorage(): boolean;
|
|
26
|
+
createAsyncLocalStorage<T>(): IAsyncLocalStorage<T>;
|
|
27
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Platform abstraction interface for universal compatibility
|
|
3
|
+
* Inspired by Remix's approach to Web APIs and runtime-agnostic design
|
|
4
|
+
*/
|
|
5
|
+
export type PlatformId = "node" | "browser" | "edge" | "universal";
|
|
6
|
+
export type PlatformSetTimeout = (...args: Parameters<typeof globalThis.setTimeout>) => ReturnType<typeof globalThis.setTimeout>;
|
|
7
|
+
export type PlatformClearTimeout = (timeout: ReturnType<PlatformSetTimeout>) => void;
|
|
8
|
+
export interface IPlatformAdapter {
|
|
9
|
+
readonly id: PlatformId;
|
|
10
|
+
onUncaughtException(handler: (error: Error) => void): () => void;
|
|
11
|
+
onUnhandledRejection(handler: (reason: unknown) => void): () => void;
|
|
12
|
+
onShutdownSignal(handler: () => void): () => void;
|
|
13
|
+
exit(code: number): void;
|
|
14
|
+
getEnv(key: string): string | undefined;
|
|
15
|
+
hasAsyncLocalStorage(): boolean;
|
|
16
|
+
createAsyncLocalStorage<T>(): IAsyncLocalStorage<T>;
|
|
17
|
+
setTimeout: PlatformSetTimeout;
|
|
18
|
+
clearTimeout: PlatformClearTimeout;
|
|
19
|
+
init: () => Promise<void>;
|
|
20
|
+
}
|
|
21
|
+
export interface IAsyncLocalStorage<T> {
|
|
22
|
+
getStore(): T | undefined;
|
|
23
|
+
run<R>(store: T, callback: () => R): R;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Utility functions for environment detection
|
|
27
|
+
*/
|
|
28
|
+
export declare function isNode(): boolean;
|
|
29
|
+
export declare function isBrowser(): boolean;
|
|
30
|
+
export declare function isWebWorker(): boolean;
|
|
31
|
+
export declare function isUniversal(): boolean;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type { IPlatformAdapter, IAsyncLocalStorage, PlatformId, PlatformSetTimeout, PlatformClearTimeout, } from "./platform";
|
|
2
|
+
export type { TestFacade } from "./testing";
|
|
3
|
+
export type { TaskBuilderWithPhantom, PhantomTaskFluentBuilder, TaskFluentBuilder, ResolveInput, ShouldReplaceInput, } from "./definers/builders/task";
|
|
4
|
+
export type { AsyncContextFluentBuilder } from "./definers/builders/asyncContext";
|
|
5
|
+
export type { ErrorFluentBuilder } from "./definers/builders/error";
|
|
6
|
+
export type { EventFluentBuilder } from "./definers/builders/event";
|
|
7
|
+
export type { HookFluentBuilder, ValidOnTarget, ResolvedOn, } from "./definers/builders/hook";
|
|
8
|
+
export type { ResourceFluentBuilder, ResolveConfig, ShouldReplaceConfig, } from "./definers/builders/resource";
|
|
9
|
+
export type { TaskMiddlewareFluentBuilder, ResourceMiddlewareFluentBuilder, } from "./definers/builders/middleware";
|
|
10
|
+
export type { TagFluentBuilder } from "./definers/builders/tag";
|
|
11
|
+
export type { HookOverrideBuilder, HookOn, } from "./definers/builders/override/hook";
|
|
12
|
+
export type { TypeDefinition, SerializerOptions, JsonPrimitive, ObjectReference, SerializedTypeRecord, SerializerLike, SerializedNode, SerializedValue, SerializationContext, DeserializationContext, } from "./serializer";
|
|
13
|
+
export type { ExecutionJournal, JournalKey, JournalSetOptions, } from "./types/executionJournal";
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
import { defineTask, defineResource, defineEvent, defineTaskMiddleware, defineResourceMiddleware, defineTag, defineOverride, defineHook } from "./define";
|
|
2
|
+
import { defineAsyncContext, createContext as oldCreateContext } from "./definers/defineAsyncContext";
|
|
3
|
+
import { run } from "./run";
|
|
4
|
+
import { createTestResource } from "./testing";
|
|
5
|
+
import { override as overrideBuilder } from "./definers/builders/override";
|
|
6
|
+
declare const globals: {
|
|
7
|
+
events: {
|
|
8
|
+
readonly ready: import("./defs").IEvent<void>;
|
|
9
|
+
};
|
|
10
|
+
resources: {
|
|
11
|
+
readonly store: import("./defs").IResource<void, Promise<import("./models").Store>, {}, any, any, import("./defs").TagType[], import("./defs").ResourceMiddlewareAttachmentType[]>;
|
|
12
|
+
readonly middlewareManager: import("./defs").IResource<void, Promise<import("./models").MiddlewareManager>, {}, any, any, import("./defs").TagType[], import("./defs").ResourceMiddlewareAttachmentType[]>;
|
|
13
|
+
readonly eventManager: import("./defs").IResource<void, Promise<import("./models").EventManager>, {}, any, any, import("./defs").TagType[], import("./defs").ResourceMiddlewareAttachmentType[]>;
|
|
14
|
+
readonly taskRunner: import("./defs").IResource<void, Promise<import("./models").TaskRunner>, {}, any, any, import("./defs").TagType[], import("./defs").ResourceMiddlewareAttachmentType[]>;
|
|
15
|
+
readonly logger: import("./defs").IResource<void, Promise<import("./models").Logger>, {}, any, any, import("./defs").TagType[], import("./defs").ResourceMiddlewareAttachmentType[]>;
|
|
16
|
+
readonly serializer: import("./defs").IResource<void, Promise<import("./serializer").SerializerLike>, {}, any, any, import("./defs").TagType[], import("./defs").ResourceMiddlewareAttachmentType[]>;
|
|
17
|
+
readonly cache: import("./defs").IResource<import("./public").CacheResourceConfig, Promise<{
|
|
18
|
+
map: Map<string, import("./defs").ICacheInstance>;
|
|
19
|
+
cacheFactoryTask: import("./defs").TaskDependencyWithIntercept<import("lru-cache").LRUCache.Options<any, any, any>, Promise<import("./defs").ICacheInstance>>;
|
|
20
|
+
defaultOptions: any;
|
|
21
|
+
}>, {
|
|
22
|
+
cacheFactoryTask: import("./defs").ITask<import("lru-cache").LRUCache.Options<any, any, any>, Promise<import("./defs").ICacheInstance>, any, any, import("./defs").TagType[], import("./defs").TaskMiddlewareAttachmentType[]>;
|
|
23
|
+
}, any, any, import("./defs").TagType[], import("./defs").ResourceMiddlewareAttachmentType[]>;
|
|
24
|
+
readonly queue: import("./defs").IResource<void, Promise<{
|
|
25
|
+
map: Map<string, import("./models").Queue>;
|
|
26
|
+
run: <T>(id: string, task: (signal: AbortSignal) => Promise<T>) => Promise<T>;
|
|
27
|
+
}>, {}, {
|
|
28
|
+
map: Map<string, import("./models").Queue>;
|
|
29
|
+
}, {
|
|
30
|
+
title: string;
|
|
31
|
+
description: string;
|
|
32
|
+
}, import("./defs").TagType[], import("./defs").ResourceMiddlewareAttachmentType[]>;
|
|
33
|
+
readonly httpClientFactory: import("./defs").IResource<void, Promise<import("./public").HttpClientFactory>, {
|
|
34
|
+
serializer: import("./defs").IResource<void, Promise<import("./serializer").SerializerLike>, {}, any, any, import("./defs").TagType[], import("./defs").ResourceMiddlewareAttachmentType[]>;
|
|
35
|
+
store: import("./defs").IResource<void, Promise<import("./models").Store>, {}, any, any, import("./defs").TagType[], import("./defs").ResourceMiddlewareAttachmentType[]>;
|
|
36
|
+
}, any, {
|
|
37
|
+
title: string;
|
|
38
|
+
description: string;
|
|
39
|
+
}, import("./defs").TagType[], import("./defs").ResourceMiddlewareAttachmentType[]>;
|
|
40
|
+
readonly rateLimit: import("./defs").IResource<void, Promise<{
|
|
41
|
+
states: WeakMap<import("./public").RateLimitMiddlewareConfig, import("./public").RateLimitState>;
|
|
42
|
+
}>, {}, any, any, import("./defs").ITag<{
|
|
43
|
+
metadata?: Record<string, any>;
|
|
44
|
+
}, void, void>[], import("./defs").ResourceMiddlewareAttachmentType[]>;
|
|
45
|
+
readonly circuitBreaker: import("./defs").IResource<void, Promise<{
|
|
46
|
+
statusMap: Map<string, import("./public").CircuitBreakerStatus>;
|
|
47
|
+
}>, {}, any, any, import("./defs").ITag<{
|
|
48
|
+
metadata?: Record<string, any>;
|
|
49
|
+
}, void, void>[], import("./defs").ResourceMiddlewareAttachmentType[]>;
|
|
50
|
+
readonly temporal: import("./defs").IResource<void, Promise<{
|
|
51
|
+
debounceStates: WeakMap<import("./public").TemporalMiddlewareConfig, import("./public").DebounceState>;
|
|
52
|
+
throttleStates: WeakMap<import("./public").TemporalMiddlewareConfig, import("./public").ThrottleState>;
|
|
53
|
+
}>, {}, any, any, import("./defs").ITag<{
|
|
54
|
+
metadata?: Record<string, any>;
|
|
55
|
+
}, void, void>[], import("./defs").ResourceMiddlewareAttachmentType[]>;
|
|
56
|
+
readonly concurrency: import("./defs").IResource<void, Promise<{
|
|
57
|
+
semaphoresByConfig: WeakMap<import("./public").ConcurrencyMiddlewareConfig, import("./models").Semaphore>;
|
|
58
|
+
semaphoresByKey: Map<string, {
|
|
59
|
+
semaphore: import("./models").Semaphore;
|
|
60
|
+
limit: number;
|
|
61
|
+
}>;
|
|
62
|
+
}>, {}, any, any, import("./defs").ITag<{
|
|
63
|
+
metadata?: Record<string, any>;
|
|
64
|
+
}, void, void>[], import("./defs").ResourceMiddlewareAttachmentType[]>;
|
|
65
|
+
};
|
|
66
|
+
middleware: {
|
|
67
|
+
requireContext: import("./defs").ITaskMiddleware<import("./public").RequireContextMiddlewareConfig, void, void, any>;
|
|
68
|
+
task: {
|
|
69
|
+
requireContext: import("./defs").ITaskMiddleware<import("./public").RequireContextMiddlewareConfig, void, void, any>;
|
|
70
|
+
cache: import("./defs").ITaskMiddleware<any, void, void, {
|
|
71
|
+
cache: import("./defs").IResource<import("./public").CacheResourceConfig, Promise<{
|
|
72
|
+
map: Map<string, import("./defs").ICacheInstance>;
|
|
73
|
+
cacheFactoryTask: import("./defs").TaskDependencyWithIntercept<import("lru-cache").LRUCache.Options<any, any, any>, Promise<import("./defs").ICacheInstance>>;
|
|
74
|
+
defaultOptions: any;
|
|
75
|
+
}>, {
|
|
76
|
+
cacheFactoryTask: import("./defs").ITask<import("lru-cache").LRUCache.Options<any, any, any>, Promise<import("./defs").ICacheInstance>, any, any, import("./defs").TagType[], import("./defs").TaskMiddlewareAttachmentType[]>;
|
|
77
|
+
}, any, any, import("./defs").TagType[], import("./defs").ResourceMiddlewareAttachmentType[]>;
|
|
78
|
+
}> & {
|
|
79
|
+
journalKeys: {
|
|
80
|
+
readonly hit: import("./public-types").JournalKey<boolean>;
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
concurrency: import("./defs").ITaskMiddleware<import("./public").ConcurrencyMiddlewareConfig, void, void, {
|
|
84
|
+
state: import("./defs").IResource<void, Promise<{
|
|
85
|
+
semaphoresByConfig: WeakMap<import("./public").ConcurrencyMiddlewareConfig, import("./models").Semaphore>;
|
|
86
|
+
semaphoresByKey: Map<string, {
|
|
87
|
+
semaphore: import("./models").Semaphore;
|
|
88
|
+
limit: number;
|
|
89
|
+
}>;
|
|
90
|
+
}>, {}, any, any, import("./defs").ITag<{
|
|
91
|
+
metadata?: Record<string, any>;
|
|
92
|
+
}, void, void>[], import("./defs").ResourceMiddlewareAttachmentType[]>;
|
|
93
|
+
}>;
|
|
94
|
+
debounce: import("./defs").ITaskMiddleware<import("./public").TemporalMiddlewareConfig, void, void, {
|
|
95
|
+
state: import("./defs").IResource<void, Promise<{
|
|
96
|
+
debounceStates: WeakMap<import("./public").TemporalMiddlewareConfig, import("./public").DebounceState>;
|
|
97
|
+
throttleStates: WeakMap<import("./public").TemporalMiddlewareConfig, import("./public").ThrottleState>;
|
|
98
|
+
}>, {}, any, any, import("./defs").ITag<{
|
|
99
|
+
metadata?: Record<string, any>;
|
|
100
|
+
}, void, void>[], import("./defs").ResourceMiddlewareAttachmentType[]>;
|
|
101
|
+
}>;
|
|
102
|
+
throttle: import("./defs").ITaskMiddleware<import("./public").TemporalMiddlewareConfig, void, void, {
|
|
103
|
+
state: import("./defs").IResource<void, Promise<{
|
|
104
|
+
debounceStates: WeakMap<import("./public").TemporalMiddlewareConfig, import("./public").DebounceState>;
|
|
105
|
+
throttleStates: WeakMap<import("./public").TemporalMiddlewareConfig, import("./public").ThrottleState>;
|
|
106
|
+
}>, {}, any, any, import("./defs").ITag<{
|
|
107
|
+
metadata?: Record<string, any>;
|
|
108
|
+
}, void, void>[], import("./defs").ResourceMiddlewareAttachmentType[]>;
|
|
109
|
+
}>;
|
|
110
|
+
fallback: import("./defs").ITaskMiddleware<import("./public").FallbackMiddlewareConfig, void, void, {
|
|
111
|
+
taskRunner: import("./defs").IResource<void, Promise<import("./models").TaskRunner>, {}, any, any, import("./defs").TagType[], import("./defs").ResourceMiddlewareAttachmentType[]>;
|
|
112
|
+
}> & {
|
|
113
|
+
journalKeys: {
|
|
114
|
+
readonly active: import("./public-types").JournalKey<boolean>;
|
|
115
|
+
readonly error: import("./public-types").JournalKey<Error>;
|
|
116
|
+
};
|
|
117
|
+
};
|
|
118
|
+
rateLimit: import("./defs").ITaskMiddleware<import("./public").RateLimitMiddlewareConfig, void, void, {
|
|
119
|
+
state: import("./defs").IResource<void, Promise<{
|
|
120
|
+
states: WeakMap<import("./public").RateLimitMiddlewareConfig, import("./public").RateLimitState>;
|
|
121
|
+
}>, {}, any, any, import("./defs").ITag<{
|
|
122
|
+
metadata?: Record<string, any>;
|
|
123
|
+
}, void, void>[], import("./defs").ResourceMiddlewareAttachmentType[]>;
|
|
124
|
+
}> & {
|
|
125
|
+
journalKeys: {
|
|
126
|
+
readonly remaining: import("./public-types").JournalKey<number>;
|
|
127
|
+
readonly resetTime: import("./public-types").JournalKey<number>;
|
|
128
|
+
readonly limit: import("./public-types").JournalKey<number>;
|
|
129
|
+
};
|
|
130
|
+
};
|
|
131
|
+
retry: import("./defs").ITaskMiddleware<import("./public").RetryMiddlewareConfig, void, void, any> & {
|
|
132
|
+
journalKeys: {
|
|
133
|
+
readonly attempt: import("./public-types").JournalKey<number>;
|
|
134
|
+
readonly lastError: import("./public-types").JournalKey<Error>;
|
|
135
|
+
};
|
|
136
|
+
};
|
|
137
|
+
timeout: import("./defs").ITaskMiddleware<import("./public").TimeoutMiddlewareConfig, void, void, any> & {
|
|
138
|
+
journalKeys: {
|
|
139
|
+
readonly abortController: import("./public-types").JournalKey<AbortController>;
|
|
140
|
+
};
|
|
141
|
+
};
|
|
142
|
+
circuitBreaker: import("./defs").ITaskMiddleware<import("./public").CircuitBreakerMiddlewareConfig, void, void, {
|
|
143
|
+
state: import("./defs").IResource<void, Promise<{
|
|
144
|
+
statusMap: Map<string, import("./public").CircuitBreakerStatus>;
|
|
145
|
+
}>, {}, any, any, import("./defs").ITag<{
|
|
146
|
+
metadata?: Record<string, any>;
|
|
147
|
+
}, void, void>[], import("./defs").ResourceMiddlewareAttachmentType[]>;
|
|
148
|
+
}> & {
|
|
149
|
+
journalKeys: {
|
|
150
|
+
readonly state: import("./public-types").JournalKey<import("./public").CircuitBreakerState>;
|
|
151
|
+
readonly failures: import("./public-types").JournalKey<number>;
|
|
152
|
+
};
|
|
153
|
+
};
|
|
154
|
+
};
|
|
155
|
+
resource: {
|
|
156
|
+
retry: import("./defs").IResourceMiddleware<import("./public").RetryMiddlewareConfig, void, void, any>;
|
|
157
|
+
timeout: import("./defs").IResourceMiddleware<import("./public").TimeoutMiddlewareConfig, void, void, any>;
|
|
158
|
+
};
|
|
159
|
+
};
|
|
160
|
+
tags: {
|
|
161
|
+
system: import("./defs").ITag<{
|
|
162
|
+
metadata?: Record<string, any>;
|
|
163
|
+
}, void, void>;
|
|
164
|
+
excludeFromGlobalHooks: import("./defs").ITag<{
|
|
165
|
+
metadata?: Record<string, any>;
|
|
166
|
+
}, void, void>;
|
|
167
|
+
debug: import("./defs").ITag<import("./public").DebugFriendlyConfig, void, void>;
|
|
168
|
+
tunnel: import("./defs").ITag<void, void, import("./public").TunnelRunner>;
|
|
169
|
+
tunnelPolicy: import("./defs").ITag<import("./public").TunnelTaskMiddlewarePolicyConfig, void, void>;
|
|
170
|
+
authValidator: import("./defs").ITag<void, void, void>;
|
|
171
|
+
};
|
|
172
|
+
tunnels: Readonly<{
|
|
173
|
+
http: Readonly<{
|
|
174
|
+
createClient(cfg: import("./public").HttpCreateClientConfig): import("./http-fetch-tunnel.resource").ExposureFetchClient;
|
|
175
|
+
}>;
|
|
176
|
+
}>;
|
|
177
|
+
debug: {
|
|
178
|
+
levels: {
|
|
179
|
+
normal: import("./public").DebugConfig;
|
|
180
|
+
verbose: import("./public").DebugConfig;
|
|
181
|
+
};
|
|
182
|
+
};
|
|
183
|
+
};
|
|
184
|
+
export { globals };
|
|
185
|
+
export { defineTask as task, defineResource as resource, defineEvent as event, defineTaskMiddleware as taskMiddleware, defineResourceMiddleware as resourceMiddleware, defineAsyncContext as asyncContext, defineTag as tag, defineOverride as override, defineHook as hook, run, createTestResource, };
|
|
186
|
+
declare const createContext: typeof oldCreateContext;
|
|
187
|
+
export { createContext };
|
|
188
|
+
export declare const r: Readonly<{
|
|
189
|
+
resource: typeof import("./definers/builders/resource").resourceBuilder;
|
|
190
|
+
task: import("./public-types").TaskBuilderWithPhantom;
|
|
191
|
+
event: typeof import("./definers/builders/event").eventBuilder;
|
|
192
|
+
hook: typeof import("./definers/builders/hook").hookBuilder;
|
|
193
|
+
tag: typeof import("./definers/builders/tag").tagBuilder;
|
|
194
|
+
override: typeof overrideBuilder;
|
|
195
|
+
asyncContext: typeof import("./definers/builders/asyncContext").asyncContextBuilder;
|
|
196
|
+
error: typeof import("./definers/builders/error").errorBuilder;
|
|
197
|
+
middleware: Readonly<{
|
|
198
|
+
task: typeof import("./definers/builders/middleware").taskMiddlewareBuilder;
|
|
199
|
+
resource: typeof import("./definers/builders/middleware").resourceMiddlewareBuilder;
|
|
200
|
+
}>;
|
|
201
|
+
}>;
|
|
202
|
+
export * as definitions from "./defs";
|
|
203
|
+
export * from "./models";
|
|
204
|
+
export * from "./globals/types";
|
|
205
|
+
export * as Errors from "./errors";
|
|
206
|
+
export { PlatformAdapter, setPlatform } from "./platform";
|
|
207
|
+
export * from "./http-client";
|
|
208
|
+
export * from "./http-fetch-tunnel.resource";
|
|
209
|
+
export { Serializer, SymbolPolicy, SymbolPolicyErrorMessage, } from "./serializer";
|
|
210
|
+
export { journal } from "./models/ExecutionJournal";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { IResource, IResourceWithConfig } from "./defs";
|
|
2
|
+
import { RunResult } from "./models/RunResult";
|
|
3
|
+
import { RunOptions } from "./types/runner";
|
|
4
|
+
/**
|
|
5
|
+
* This is the central function that kicks off you runner. You can run as many resources as you want in a single process, they will run in complete isolation.
|
|
6
|
+
*
|
|
7
|
+
* @param resourceOrResourceWithConfig - The resource or resource with config to run.
|
|
8
|
+
* @param options - The options for the run.
|
|
9
|
+
* @returns A promise that resolves to the result of the run.
|
|
10
|
+
*/
|
|
11
|
+
export declare function run<C, V extends Promise<any>>(resourceOrResourceWithConfig: IResourceWithConfig<C, V> | IResource<void, V, any, any> | IResource<{
|
|
12
|
+
[K in any]?: any;
|
|
13
|
+
}, V, any, any>, // For optional config
|
|
14
|
+
options?: RunOptions): Promise<RunResult<V extends Promise<infer U> ? U : V>>;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Graph-aware serializer/deserializer with circular reference
|
|
3
|
+
* handling and pluggable type support.
|
|
4
|
+
*
|
|
5
|
+
* Internal protocol reference: `readmes/SERIALIZER_PROTOCOL.md`.
|
|
6
|
+
*/
|
|
7
|
+
import type { TypeDefinition, SerializationContext, SerializerOptions, DeserializationContext, SerializedValue, SerializedNode } from "./types";
|
|
8
|
+
export declare class Serializer {
|
|
9
|
+
/** Type registry for managing custom types */
|
|
10
|
+
private readonly typeRegistry;
|
|
11
|
+
private readonly runtimeOptions;
|
|
12
|
+
/** JSON indentation width when pretty printing is enabled */
|
|
13
|
+
private readonly indent;
|
|
14
|
+
/** Maximum recursion depth allowed */
|
|
15
|
+
private readonly maxDepth;
|
|
16
|
+
/** Maximum allowed RegExp pattern length during deserialization */
|
|
17
|
+
private readonly maxRegExpPatternLength;
|
|
18
|
+
/** Allow RegExp patterns that fail the safety heuristic */
|
|
19
|
+
private readonly allowUnsafeRegExp;
|
|
20
|
+
/** Disallowed keys that can lead to prototype pollution */
|
|
21
|
+
private readonly unsafeKeys;
|
|
22
|
+
constructor(options?: SerializerOptions);
|
|
23
|
+
/**
|
|
24
|
+
* Alias of `serialize()` to match the historical tunnel serializer surface.
|
|
25
|
+
*/
|
|
26
|
+
stringify<T>(value: T): string;
|
|
27
|
+
/**
|
|
28
|
+
* Alias of `deserialize()` to match the historical tunnel serializer surface.
|
|
29
|
+
*/
|
|
30
|
+
parse<T = unknown>(payload: string): T;
|
|
31
|
+
/**
|
|
32
|
+
* Serialize an arbitrary value into a JSON string.
|
|
33
|
+
*/
|
|
34
|
+
serialize<T>(value: T, context?: SerializationContext): string;
|
|
35
|
+
/**
|
|
36
|
+
* Deserialize a JSON string back to its original value.
|
|
37
|
+
*/
|
|
38
|
+
deserialize<T = unknown>(payload: string): T;
|
|
39
|
+
/**
|
|
40
|
+
* Register a custom type for serialization/deserialization.
|
|
41
|
+
*/
|
|
42
|
+
addType<TInstance, TSerialized>(typeDef: TypeDefinition<TInstance, TSerialized>): void;
|
|
43
|
+
addType<TJson = unknown, TInstance = unknown>(name: string, factory: (json: TJson) => TInstance): void;
|
|
44
|
+
/**
|
|
45
|
+
* @internal - Exposed for testing RegExp safety validation
|
|
46
|
+
*/
|
|
47
|
+
readonly isRegExpPatternSafe: (pattern: string) => boolean;
|
|
48
|
+
/**
|
|
49
|
+
* @internal - Exposed for testing quantifier detection
|
|
50
|
+
*/
|
|
51
|
+
readonly isQuantifierAt: (pattern: string, index: number) => boolean;
|
|
52
|
+
/**
|
|
53
|
+
* @internal - Exposed for testing quantifier character detection
|
|
54
|
+
*/
|
|
55
|
+
readonly isQuantifierChar: (char: string, pattern: string, index: number) => boolean;
|
|
56
|
+
/**
|
|
57
|
+
* @internal - Exposed for testing bounded quantifier detection
|
|
58
|
+
*/
|
|
59
|
+
readonly isBoundedQuantifier: (pattern: string, index: number) => boolean;
|
|
60
|
+
/**
|
|
61
|
+
* @internal - Exposed for test compatibility
|
|
62
|
+
*/
|
|
63
|
+
toNodeRecord(nodes: Record<string, SerializedNode>): Record<string, SerializedNode>;
|
|
64
|
+
/**
|
|
65
|
+
* @internal - Exposed for test compatibility
|
|
66
|
+
*/
|
|
67
|
+
deserializeValue(value: SerializedValue, context: DeserializationContext, depth?: number): unknown;
|
|
68
|
+
/**
|
|
69
|
+
* @internal - Exposed for test compatibility
|
|
70
|
+
*/
|
|
71
|
+
resolveReference(id: string, context: DeserializationContext, depth?: number): unknown;
|
|
72
|
+
/**
|
|
73
|
+
* @internal - Exposed for test compatibility
|
|
74
|
+
*/
|
|
75
|
+
mergePlaceholder(placeholder: unknown, result: unknown): unknown;
|
|
76
|
+
/**
|
|
77
|
+
* @internal - Exposed for test compatibility
|
|
78
|
+
*/
|
|
79
|
+
isSerializedTypeRecord(value: unknown): value is {
|
|
80
|
+
__type: string;
|
|
81
|
+
value: unknown;
|
|
82
|
+
};
|
|
83
|
+
private jsonStringify;
|
|
84
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { TypeDefinition } from "./types";
|
|
2
|
+
export declare const ArrayBufferType: TypeDefinition<ArrayBuffer, readonly number[]>;
|
|
3
|
+
export declare const DataViewType: TypeDefinition<DataView, readonly number[]>;
|
|
4
|
+
export declare const BufferType: TypeDefinition<Uint8Array, readonly number[]>;
|
|
5
|
+
export declare const binaryBuiltInTypes: Array<TypeDefinition<unknown, unknown>>;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Built-in type definitions for common JavaScript objects
|
|
3
|
+
*/
|
|
4
|
+
import type { TypeDefinition } from "./types";
|
|
5
|
+
import { BigIntPayload, NonFiniteNumberTag } from "./special-values";
|
|
6
|
+
export declare enum SymbolPayloadKind {
|
|
7
|
+
For = "For",
|
|
8
|
+
WellKnown = "WellKnown"
|
|
9
|
+
}
|
|
10
|
+
declare const WELL_KNOWN_SYMBOL_KEYS: readonly ["asyncIterator", "hasInstance", "isConcatSpreadable", "iterator", "match", "matchAll", "observable", "replace", "search", "species", "split", "toPrimitive", "toStringTag", "unscopables"];
|
|
11
|
+
type WellKnownSymbolKey = (typeof WELL_KNOWN_SYMBOL_KEYS)[number];
|
|
12
|
+
export type SerializedSymbolPayload = {
|
|
13
|
+
kind: SymbolPayloadKind.For;
|
|
14
|
+
key: string;
|
|
15
|
+
} | {
|
|
16
|
+
kind: SymbolPayloadKind.WellKnown;
|
|
17
|
+
key: WellKnownSymbolKey;
|
|
18
|
+
};
|
|
19
|
+
export declare const assertSymbolPayload: (payload: unknown) => SerializedSymbolPayload;
|
|
20
|
+
/**
|
|
21
|
+
* Built-in type handler for Date objects
|
|
22
|
+
*/
|
|
23
|
+
export declare const DateType: TypeDefinition<Date, string>;
|
|
24
|
+
/**
|
|
25
|
+
* Built-in type handler for RegExp objects
|
|
26
|
+
*/
|
|
27
|
+
export declare const RegExpType: TypeDefinition<RegExp, {
|
|
28
|
+
pattern: string;
|
|
29
|
+
flags: string;
|
|
30
|
+
}>;
|
|
31
|
+
/**
|
|
32
|
+
* Built-in type handler for Map objects
|
|
33
|
+
*/
|
|
34
|
+
export declare const MapType: TypeDefinition<Map<unknown, unknown>, Array<[unknown, unknown]>>;
|
|
35
|
+
/**
|
|
36
|
+
* Built-in type handler for Set objects
|
|
37
|
+
*/
|
|
38
|
+
export declare const SetType: TypeDefinition<Set<unknown>, unknown[]>;
|
|
39
|
+
export declare const UndefinedType: TypeDefinition<undefined, null>;
|
|
40
|
+
export declare const NonFiniteNumberType: TypeDefinition<number, NonFiniteNumberTag>;
|
|
41
|
+
export declare const BigIntType: TypeDefinition<bigint, BigIntPayload>;
|
|
42
|
+
export declare const SymbolType: TypeDefinition<symbol, SerializedSymbolPayload>;
|
|
43
|
+
/**
|
|
44
|
+
* Array of all built-in type definitions
|
|
45
|
+
*/
|
|
46
|
+
export declare const builtInTypes: Array<TypeDefinition<unknown, unknown>>;
|
|
47
|
+
export {};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deserialization logic for graph and legacy payloads.
|
|
3
|
+
* Extracted from Serializer.ts as a standalone module.
|
|
4
|
+
*/
|
|
5
|
+
import type { SerializedValue, DeserializationContext } from "./types";
|
|
6
|
+
import type { TypeRegistry } from "./type-registry";
|
|
7
|
+
export interface DeserializerOptions {
|
|
8
|
+
maxDepth: number;
|
|
9
|
+
unsafeKeys: ReadonlySet<string>;
|
|
10
|
+
typeRegistry: TypeRegistry;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Deserialize a value from its serialized representation.
|
|
14
|
+
*/
|
|
15
|
+
export declare const deserializeValue: (value: SerializedValue, context: DeserializationContext, depth: number, options: DeserializerOptions) => unknown;
|
|
16
|
+
/**
|
|
17
|
+
* Resolve a reference ID to its deserialized value.
|
|
18
|
+
*/
|
|
19
|
+
export declare const resolveReference: (id: string, context: DeserializationContext, depth: number, options: DeserializerOptions) => unknown;
|
|
20
|
+
/**
|
|
21
|
+
* Merge a placeholder with the final result for identity preservation.
|
|
22
|
+
*/
|
|
23
|
+
export declare const mergePlaceholder: (placeholder: unknown, result: unknown, unsafeKeys: ReadonlySet<string>) => unknown;
|
|
24
|
+
/**
|
|
25
|
+
* Deserialize legacy tree-format payloads (pre-graph format).
|
|
26
|
+
*/
|
|
27
|
+
export declare const deserializeLegacy: (value: unknown, depth: number, options: DeserializerOptions) => unknown;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { TypeDefinition } from "./types";
|
|
2
|
+
interface SerializedErrorPayload {
|
|
3
|
+
name: string;
|
|
4
|
+
message: string;
|
|
5
|
+
stack?: string;
|
|
6
|
+
cause?: unknown;
|
|
7
|
+
customFields: Record<string, unknown>;
|
|
8
|
+
}
|
|
9
|
+
export declare const ErrorType: TypeDefinition<Error, SerializedErrorPayload>;
|
|
10
|
+
export declare const URLType: TypeDefinition<URL, string>;
|
|
11
|
+
export declare const URLSearchParamsType: TypeDefinition<URLSearchParams, string>;
|
|
12
|
+
export declare const errorAndUrlBuiltInTypes: Array<TypeDefinition<unknown, unknown>>;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Graph-mode serialization with circular reference handling.
|
|
3
|
+
* Extracted from Serializer.ts as a standalone module.
|
|
4
|
+
*/
|
|
5
|
+
import type { SerializedValue, SerializationContext, SerializedNode } from "./types";
|
|
6
|
+
import type { TypeRegistry } from "./type-registry";
|
|
7
|
+
export interface SerializeState {
|
|
8
|
+
serializingValueTypes: WeakSet<object>;
|
|
9
|
+
excludedTypeIds: string[];
|
|
10
|
+
}
|
|
11
|
+
export interface GraphSerializerOptions {
|
|
12
|
+
maxDepth: number;
|
|
13
|
+
unsafeKeys: ReadonlySet<string>;
|
|
14
|
+
typeRegistry: TypeRegistry;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Create a unique object ID for the serialization context.
|
|
18
|
+
*/
|
|
19
|
+
export declare const createObjectId: (context: SerializationContext) => string;
|
|
20
|
+
/**
|
|
21
|
+
* Store a node in the serialization context.
|
|
22
|
+
*/
|
|
23
|
+
export declare const storeNode: (context: SerializationContext, id: string, node: SerializedNode) => void;
|
|
24
|
+
/**
|
|
25
|
+
* Serialize a value in graph mode with reference tracking.
|
|
26
|
+
*/
|
|
27
|
+
export declare const serializeValue: (value: unknown, context: SerializationContext, state: SerializeState, depth: number, options: GraphSerializerOptions) => SerializedValue;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Main export module for the Serializer
|
|
3
|
+
*/
|
|
4
|
+
export type { JsonPrimitive, ObjectReference, SerializedTypeRecord, SerializerOptions, TypeDefinition, SerializedNode, SerializedValue, SerializationContext, DeserializationContext, SerializedGraph, SerializerLike, } from "./types";
|
|
5
|
+
export { SymbolPolicy, SymbolPolicyErrorMessage } from "./types";
|
|
6
|
+
export { Serializer } from "./Serializer";
|