@bluelibs/runner 4.8.6 → 5.0.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/README.md +110 -3440
- package/dist/browser/index.cjs +6586 -3478
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.d.mts +2890 -0
- package/dist/browser/index.d.ts +2890 -0
- package/dist/browser/index.mjs +6574 -3466
- package/dist/browser/index.mjs.map +1 -1
- package/dist/edge/index.cjs +6586 -3478
- package/dist/edge/index.cjs.map +1 -1
- package/dist/edge/index.d.mts +2890 -0
- package/dist/edge/index.d.ts +2890 -0
- package/dist/edge/index.mjs +6574 -3466
- package/dist/edge/index.mjs.map +1 -1
- package/dist/node/node.cjs +42337 -7087
- package/dist/node/node.cjs.map +1 -1
- package/dist/node/node.d.mts +4593 -0
- package/dist/node/node.d.ts +4546 -55
- package/dist/node/node.mjs +42251 -7035
- package/dist/node/node.mjs.map +1 -1
- package/dist/ui/assets/index-2cb8f39f.js +141 -0
- package/dist/ui/assets/index-b1f988bf.css +1 -0
- package/dist/ui/index.html +14 -0
- package/dist/universal/index.cjs +7109 -4003
- package/dist/universal/index.cjs.map +1 -1
- package/dist/universal/index.d.mts +2890 -0
- package/dist/universal/index.d.ts +2890 -0
- package/dist/universal/index.mjs +7102 -3996
- package/dist/universal/index.mjs.map +1 -1
- package/package.json +57 -25
- package/readmes/AI.md +534 -0
- package/AI.md +0 -454
- package/dist/define.d.ts +0 -9
- package/dist/definers/builders/asyncContext.d.ts +0 -13
- package/dist/definers/builders/core.d.ts +0 -30
- package/dist/definers/builders/error.d.ts +0 -15
- package/dist/definers/builders/event.d.ts +0 -12
- package/dist/definers/builders/hook.d.ts +0 -20
- package/dist/definers/builders/middleware.d.ts +0 -39
- package/dist/definers/builders/resource.d.ts +0 -40
- package/dist/definers/builders/tag.d.ts +0 -10
- package/dist/definers/builders/task.d.ts +0 -37
- package/dist/definers/builders/task.phantom.d.ts +0 -27
- package/dist/definers/builders/utils.d.ts +0 -4
- package/dist/definers/defineAsyncContext.d.ts +0 -15
- package/dist/definers/defineError.d.ts +0 -26
- package/dist/definers/defineEvent.d.ts +0 -2
- package/dist/definers/defineHook.d.ts +0 -6
- package/dist/definers/defineOverride.d.ts +0 -17
- package/dist/definers/defineResource.d.ts +0 -2
- package/dist/definers/defineResourceMiddleware.d.ts +0 -2
- package/dist/definers/defineTag.d.ts +0 -12
- package/dist/definers/defineTask.d.ts +0 -18
- package/dist/definers/defineTaskMiddleware.d.ts +0 -2
- package/dist/definers/tools.d.ts +0 -53
- package/dist/defs.d.ts +0 -31
- package/dist/errors.d.ts +0 -62
- package/dist/globals/debug.d.ts +0 -10
- package/dist/globals/globalEvents.d.ts +0 -8
- package/dist/globals/globalMiddleware.d.ts +0 -31
- package/dist/globals/globalResources.d.ts +0 -41
- package/dist/globals/globalTags.d.ts +0 -11
- package/dist/globals/middleware/cache.middleware.d.ts +0 -27
- package/dist/globals/middleware/requireContext.middleware.d.ts +0 -6
- package/dist/globals/middleware/retry.middleware.d.ts +0 -21
- package/dist/globals/middleware/timeout.middleware.d.ts +0 -9
- package/dist/globals/middleware/tunnel.middleware.d.ts +0 -2
- package/dist/globals/resources/debug/debug.resource.d.ts +0 -7
- package/dist/globals/resources/debug/debug.tag.d.ts +0 -2
- package/dist/globals/resources/debug/debugConfig.resource.d.ts +0 -22
- package/dist/globals/resources/debug/executionTracker.middleware.d.ts +0 -50
- package/dist/globals/resources/debug/globalEvent.hook.d.ts +0 -27
- package/dist/globals/resources/debug/hook.hook.d.ts +0 -30
- package/dist/globals/resources/debug/index.d.ts +0 -6
- package/dist/globals/resources/debug/middleware.hook.d.ts +0 -30
- package/dist/globals/resources/debug/types.d.ts +0 -25
- package/dist/globals/resources/debug/utils.d.ts +0 -2
- package/dist/globals/resources/httpClientFactory.resource.d.ts +0 -28
- package/dist/globals/resources/queue.resource.d.ts +0 -10
- package/dist/globals/resources/tunnel/ejson-extensions.d.ts +0 -1
- package/dist/globals/resources/tunnel/error-utils.d.ts +0 -1
- package/dist/globals/resources/tunnel/plan.d.ts +0 -19
- package/dist/globals/resources/tunnel/protocol.d.ts +0 -47
- package/dist/globals/resources/tunnel/serializer.d.ts +0 -9
- package/dist/globals/resources/tunnel/tunnel.policy.tag.d.ts +0 -18
- package/dist/globals/resources/tunnel/tunnel.tag.d.ts +0 -2
- package/dist/globals/resources/tunnel/types.d.ts +0 -42
- package/dist/globals/tunnels/index.d.ts +0 -23
- package/dist/globals/types.d.ts +0 -4
- package/dist/http-client.d.ts +0 -25
- package/dist/http-fetch-tunnel.resource.d.ts +0 -11
- package/dist/index.d.ts +0 -117
- package/dist/models/DependencyProcessor.d.ts +0 -48
- package/dist/models/EventManager.d.ts +0 -153
- package/dist/models/LogPrinter.d.ts +0 -55
- package/dist/models/Logger.d.ts +0 -85
- package/dist/models/MiddlewareManager.d.ts +0 -75
- package/dist/models/OverrideManager.d.ts +0 -13
- package/dist/models/Queue.d.ts +0 -26
- package/dist/models/ResourceInitializer.d.ts +0 -20
- package/dist/models/RunResult.d.ts +0 -35
- package/dist/models/Semaphore.d.ts +0 -61
- package/dist/models/Store.d.ts +0 -73
- package/dist/models/StoreRegistry.d.ts +0 -49
- package/dist/models/StoreValidator.d.ts +0 -8
- package/dist/models/TaskRunner.d.ts +0 -27
- package/dist/models/UnhandledError.d.ts +0 -11
- package/dist/models/index.d.ts +0 -11
- package/dist/models/middleware/InterceptorRegistry.d.ts +0 -56
- package/dist/models/middleware/MiddlewareResolver.d.ts +0 -31
- package/dist/models/middleware/ResourceMiddlewareComposer.d.ts +0 -34
- package/dist/models/middleware/TaskMiddlewareComposer.d.ts +0 -43
- package/dist/models/middleware/ValidationHelper.d.ts +0 -20
- package/dist/models/middleware/index.d.ts +0 -6
- package/dist/models/middleware/types.d.ts +0 -10
- package/dist/models/utils/findCircularDependencies.d.ts +0 -16
- package/dist/models/utils/safeStringify.d.ts +0 -3
- package/dist/node/exposure/allowList.d.ts +0 -3
- package/dist/node/exposure/authenticator.d.ts +0 -6
- package/dist/node/exposure/cors.d.ts +0 -4
- package/dist/node/exposure/createNodeExposure.d.ts +0 -2
- package/dist/node/exposure/exposureServer.d.ts +0 -18
- package/dist/node/exposure/httpResponse.d.ts +0 -10
- package/dist/node/exposure/logging.d.ts +0 -4
- package/dist/node/exposure/multipart.d.ts +0 -27
- package/dist/node/exposure/requestBody.d.ts +0 -11
- package/dist/node/exposure/requestContext.d.ts +0 -17
- package/dist/node/exposure/requestHandlers.d.ts +0 -24
- package/dist/node/exposure/resourceTypes.d.ts +0 -60
- package/dist/node/exposure/router.d.ts +0 -17
- package/dist/node/exposure/serverLifecycle.d.ts +0 -13
- package/dist/node/exposure/types.d.ts +0 -31
- package/dist/node/exposure/utils.d.ts +0 -17
- package/dist/node/exposure.resource.d.ts +0 -12
- package/dist/node/files.d.ts +0 -9
- package/dist/node/http-mixed-client.d.ts +0 -30
- package/dist/node/http-smart-client.model.d.ts +0 -24
- package/dist/node/index.d.ts +0 -1
- package/dist/node/inputFile.model.d.ts +0 -22
- package/dist/node/inputFile.utils.d.ts +0 -14
- package/dist/node/platform/createFile.d.ts +0 -9
- package/dist/node/resources/http-mixed-client.factory.resource.d.ts +0 -17
- package/dist/node/resources/http-smart-client.factory.resource.d.ts +0 -16
- package/dist/node/tunnel.allowlist.d.ts +0 -7
- package/dist/node/upload/manifest.d.ts +0 -22
- package/dist/platform/adapters/browser.d.ts +0 -14
- package/dist/platform/adapters/edge.d.ts +0 -5
- package/dist/platform/adapters/node-als.d.ts +0 -1
- package/dist/platform/adapters/node.d.ts +0 -15
- package/dist/platform/adapters/universal-generic.d.ts +0 -14
- package/dist/platform/adapters/universal.d.ts +0 -17
- package/dist/platform/createFile.d.ts +0 -10
- package/dist/platform/createWebFile.d.ts +0 -11
- package/dist/platform/factory.d.ts +0 -2
- package/dist/platform/index.d.ts +0 -27
- package/dist/platform/types.d.ts +0 -29
- package/dist/processHooks.d.ts +0 -2
- package/dist/run.d.ts +0 -14
- package/dist/testing.d.ts +0 -25
- package/dist/tools/getCallerFile.d.ts +0 -1
- package/dist/tunnels/buildUniversalManifest.d.ts +0 -24
- package/dist/types/asyncContext.d.ts +0 -41
- package/dist/types/contracts.d.ts +0 -63
- package/dist/types/error.d.ts +0 -36
- package/dist/types/event.d.ts +0 -74
- package/dist/types/hook.d.ts +0 -23
- package/dist/types/inputFile.d.ts +0 -34
- package/dist/types/meta.d.ts +0 -22
- package/dist/types/resource.d.ts +0 -87
- package/dist/types/resourceMiddleware.d.ts +0 -47
- package/dist/types/runner.d.ts +0 -68
- package/dist/types/storeTypes.d.ts +0 -40
- package/dist/types/symbols.d.ts +0 -32
- package/dist/types/tag.d.ts +0 -46
- package/dist/types/task.d.ts +0 -54
- package/dist/types/taskMiddleware.d.ts +0 -48
- package/dist/types/utilities.d.ts +0 -113
- package/dist/utils/detectRunnerMode.d.ts +0 -9
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
export declare const globalEventListener: import("../../..").IHook<{
|
|
2
|
-
logger: import("../../..").IResource<void, Promise<import("../../..").Logger>, {}, any, any, import("../../..").TagType[], import("../../..").ResourceMiddlewareAttachmentType[]>;
|
|
3
|
-
debugConfig: import("../../..").IResource<import("./types").DebugFriendlyConfig, Promise<{
|
|
4
|
-
logResourceConfig: boolean;
|
|
5
|
-
logResourceValue: boolean;
|
|
6
|
-
logResourceBeforeRun: boolean;
|
|
7
|
-
logResourceAfterRun: boolean;
|
|
8
|
-
logTaskBeforeRun: boolean;
|
|
9
|
-
logTaskInput: boolean;
|
|
10
|
-
logTaskOutput: boolean;
|
|
11
|
-
logTaskAfterRun: boolean;
|
|
12
|
-
logMiddlewareBeforeRun: boolean;
|
|
13
|
-
logMiddlewareAfterRun: boolean;
|
|
14
|
-
logEventEmissionOnRun: boolean;
|
|
15
|
-
logEventEmissionInput: boolean;
|
|
16
|
-
logHookTriggered: boolean;
|
|
17
|
-
logHookCompleted: boolean;
|
|
18
|
-
}>, {}, any, {
|
|
19
|
-
title: string;
|
|
20
|
-
description: string;
|
|
21
|
-
}, import("../../..").ITag<{
|
|
22
|
-
metadata?: Record<string, any>;
|
|
23
|
-
}, void, void>[], import("../../..").ResourceMiddlewareAttachmentType[]>;
|
|
24
|
-
}, "*", {
|
|
25
|
-
title: string;
|
|
26
|
-
description: string;
|
|
27
|
-
}>;
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
export declare const hookInterceptorResource: import("../../..").IResource<void, Promise<void>, {
|
|
2
|
-
logger: import("../../..").IResource<void, Promise<import("../../..").Logger>, {}, any, any, import("../../..").TagType[], import("../../..").ResourceMiddlewareAttachmentType[]>;
|
|
3
|
-
debugConfig: import("../../..").IResource<import("./types").DebugFriendlyConfig, Promise<{
|
|
4
|
-
logResourceConfig: boolean;
|
|
5
|
-
logResourceValue: boolean;
|
|
6
|
-
logResourceBeforeRun: boolean;
|
|
7
|
-
logResourceAfterRun: boolean;
|
|
8
|
-
logTaskBeforeRun: boolean;
|
|
9
|
-
logTaskInput: boolean;
|
|
10
|
-
logTaskOutput: boolean;
|
|
11
|
-
logTaskAfterRun: boolean;
|
|
12
|
-
logMiddlewareBeforeRun: boolean;
|
|
13
|
-
logMiddlewareAfterRun: boolean;
|
|
14
|
-
logEventEmissionOnRun: boolean;
|
|
15
|
-
logEventEmissionInput: boolean;
|
|
16
|
-
logHookTriggered: boolean;
|
|
17
|
-
logHookCompleted: boolean;
|
|
18
|
-
}>, {}, any, {
|
|
19
|
-
title: string;
|
|
20
|
-
description: string;
|
|
21
|
-
}, import("../../..").ITag<{
|
|
22
|
-
metadata?: Record<string, any>;
|
|
23
|
-
}, void, void>[], import("../../..").ResourceMiddlewareAttachmentType[]>;
|
|
24
|
-
eventManager: import("../../..").IResource<void, Promise<import("../../..").EventManager>, {}, any, any, import("../../..").TagType[], import("../../..").ResourceMiddlewareAttachmentType[]>;
|
|
25
|
-
}, any, {
|
|
26
|
-
title: string;
|
|
27
|
-
description: string;
|
|
28
|
-
}, import("../../..").ITag<{
|
|
29
|
-
metadata?: Record<string, any>;
|
|
30
|
-
}, void, void>[], import("../../..").ResourceMiddlewareAttachmentType[]>;
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
export declare const middlewareInterceptorResource: import("../../..").IResource<void, Promise<void>, {
|
|
2
|
-
logger: import("../../..").IResource<void, Promise<import("../../..").Logger>, {}, any, any, import("../../..").TagType[], import("../../..").ResourceMiddlewareAttachmentType[]>;
|
|
3
|
-
debugConfig: import("../../..").IResource<import("./types").DebugFriendlyConfig, Promise<{
|
|
4
|
-
logResourceConfig: boolean;
|
|
5
|
-
logResourceValue: boolean;
|
|
6
|
-
logResourceBeforeRun: boolean;
|
|
7
|
-
logResourceAfterRun: boolean;
|
|
8
|
-
logTaskBeforeRun: boolean;
|
|
9
|
-
logTaskInput: boolean;
|
|
10
|
-
logTaskOutput: boolean;
|
|
11
|
-
logTaskAfterRun: boolean;
|
|
12
|
-
logMiddlewareBeforeRun: boolean;
|
|
13
|
-
logMiddlewareAfterRun: boolean;
|
|
14
|
-
logEventEmissionOnRun: boolean;
|
|
15
|
-
logEventEmissionInput: boolean;
|
|
16
|
-
logHookTriggered: boolean;
|
|
17
|
-
logHookCompleted: boolean;
|
|
18
|
-
}>, {}, any, {
|
|
19
|
-
title: string;
|
|
20
|
-
description: string;
|
|
21
|
-
}, import("../../..").ITag<{
|
|
22
|
-
metadata?: Record<string, any>;
|
|
23
|
-
}, void, void>[], import("../../..").ResourceMiddlewareAttachmentType[]>;
|
|
24
|
-
middlewareManager: import("../../..").IResource<void, Promise<import("../../..").MiddlewareManager>, {}, any, any, import("../../..").TagType[], import("../../..").ResourceMiddlewareAttachmentType[]>;
|
|
25
|
-
}, any, {
|
|
26
|
-
title: string;
|
|
27
|
-
description: string;
|
|
28
|
-
}, import("../../..").ITag<{
|
|
29
|
-
metadata?: Record<string, any>;
|
|
30
|
-
}, void, void>[], import("../../..").ResourceMiddlewareAttachmentType[]>;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { ITaggable } from "../../../defs";
|
|
2
|
-
export type DebugConfig = {
|
|
3
|
-
logResourceConfig: boolean;
|
|
4
|
-
logResourceValue: boolean;
|
|
5
|
-
logResourceBeforeRun: boolean;
|
|
6
|
-
logResourceAfterRun: boolean;
|
|
7
|
-
logTaskBeforeRun: boolean;
|
|
8
|
-
logTaskInput: boolean;
|
|
9
|
-
logTaskOutput: boolean;
|
|
10
|
-
logTaskAfterRun: boolean;
|
|
11
|
-
logMiddlewareBeforeRun: boolean;
|
|
12
|
-
logMiddlewareAfterRun: boolean;
|
|
13
|
-
logEventEmissionOnRun: boolean;
|
|
14
|
-
logEventEmissionInput: boolean;
|
|
15
|
-
logHookTriggered: boolean;
|
|
16
|
-
logHookCompleted: boolean;
|
|
17
|
-
};
|
|
18
|
-
export declare const allFalse: DebugConfig;
|
|
19
|
-
export declare const levelNormal: DebugConfig;
|
|
20
|
-
export declare const levelVerbose: DebugConfig;
|
|
21
|
-
/**
|
|
22
|
-
* If you choose to specify your own config, all values will be set to false by default and extended by your config.
|
|
23
|
-
*/
|
|
24
|
-
export type DebugFriendlyConfig = "normal" | "verbose" | Partial<DebugConfig>;
|
|
25
|
-
export declare const getConfig: (config: DebugFriendlyConfig, taggable?: ITaggable) => DebugConfig;
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { type HttpClient } from "../../http-client";
|
|
2
|
-
import type { HttpClientConfig } from "../../http-client";
|
|
3
|
-
/**
|
|
4
|
-
* Factory for creating HTTP clients with automatic injection of:
|
|
5
|
-
* - serializer (EJSON-compatible)
|
|
6
|
-
* - error registry (from Store)
|
|
7
|
-
* - async contexts (from Store)
|
|
8
|
-
*
|
|
9
|
-
* Note: Node streaming clients are exposed via the Node entry only
|
|
10
|
-
* (see createHttpSmartClient/createHttpMixedClient in `@bluelibs/runner/node`).
|
|
11
|
-
* Keeping this universal factory browser-safe avoids dynamic imports.
|
|
12
|
-
*/
|
|
13
|
-
export interface HttpClientFactoryConfig {
|
|
14
|
-
baseUrl: string;
|
|
15
|
-
auth?: HttpClientConfig["auth"];
|
|
16
|
-
timeoutMs?: number;
|
|
17
|
-
fetchImpl?: typeof fetch;
|
|
18
|
-
onRequest?: HttpClientConfig["onRequest"];
|
|
19
|
-
}
|
|
20
|
-
export type HttpClientFactory = (config: HttpClientFactoryConfig) => HttpClient;
|
|
21
|
-
export declare const httpClientFactory: import("../..").IResource<void, Promise<HttpClientFactory>, {
|
|
22
|
-
serializer: import("../..").IResource<void, Promise<import("./tunnel/serializer").Serializer>, {}, any, any, import("../..").TagType[], import("../..").ResourceMiddlewareAttachmentType[]>;
|
|
23
|
-
store: import("../..").IResource<void, Promise<import("../..").Store>, {}, any, any, import("../..").TagType[], import("../..").ResourceMiddlewareAttachmentType[]>;
|
|
24
|
-
}, any, {
|
|
25
|
-
title: string;
|
|
26
|
-
description: string;
|
|
27
|
-
}, import("../..").TagType[], import("../..").ResourceMiddlewareAttachmentType[]>;
|
|
28
|
-
export type { HttpClient };
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { Queue } from "../../models/Queue";
|
|
2
|
-
export declare const queueResource: import("../..").IResource<void, Promise<{
|
|
3
|
-
map: Map<string, Queue>;
|
|
4
|
-
run: <T>(id: string, task: (signal: AbortSignal) => Promise<T>) => Promise<T>;
|
|
5
|
-
}>, {}, {
|
|
6
|
-
map: Map<string, Queue>;
|
|
7
|
-
}, {
|
|
8
|
-
title: string;
|
|
9
|
-
description: string;
|
|
10
|
-
}, import("../..").TagType[], import("../..").ResourceMiddlewareAttachmentType[]>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const EJSON: import("@bluelibs/ejson").EJSONModule;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function normalizeError(input: unknown): Error;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { ITaskMiddleware } from "../../../defs";
|
|
2
|
-
export type ValidationSide = "client" | "server" | "both";
|
|
3
|
-
export interface ExecutionPlan {
|
|
4
|
-
clientMiddleware: string[];
|
|
5
|
-
serverMiddleware: string[];
|
|
6
|
-
validation: ValidationSide;
|
|
7
|
-
}
|
|
8
|
-
export interface PlanMeta {
|
|
9
|
-
plan?: ExecutionPlan;
|
|
10
|
-
headers?: Record<string, string>;
|
|
11
|
-
traceId?: string;
|
|
12
|
-
context?: unknown;
|
|
13
|
-
}
|
|
14
|
-
export declare function computeExecutionPlanFromWhitelist(whitelist: {
|
|
15
|
-
client?: Array<string | ITaskMiddleware<any, any, any, any>>;
|
|
16
|
-
server?: Array<string | ITaskMiddleware<any, any, any, any>>;
|
|
17
|
-
}, opts?: {
|
|
18
|
-
defaultValidation?: ValidationSide;
|
|
19
|
-
}): ExecutionPlan;
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import type { ITask, IEventEmission } from "../../../defs";
|
|
2
|
-
export interface ProtocolErrorShape {
|
|
3
|
-
code: string;
|
|
4
|
-
message: string;
|
|
5
|
-
details?: unknown;
|
|
6
|
-
id?: string;
|
|
7
|
-
data?: unknown;
|
|
8
|
-
}
|
|
9
|
-
export interface ProtocolEnvelope<T = unknown> {
|
|
10
|
-
ok: boolean;
|
|
11
|
-
result?: T;
|
|
12
|
-
error?: ProtocolErrorShape;
|
|
13
|
-
meta?: {
|
|
14
|
-
protocolVersion?: string;
|
|
15
|
-
traceId?: string;
|
|
16
|
-
taskVersion?: string;
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
export interface TaskRequest {
|
|
20
|
-
id: string;
|
|
21
|
-
input?: unknown;
|
|
22
|
-
plan?: unknown;
|
|
23
|
-
context?: Record<string, unknown>;
|
|
24
|
-
traceId?: string;
|
|
25
|
-
}
|
|
26
|
-
export interface EventRequest {
|
|
27
|
-
id: string;
|
|
28
|
-
payload?: unknown;
|
|
29
|
-
context?: Record<string, unknown>;
|
|
30
|
-
traceId?: string;
|
|
31
|
-
}
|
|
32
|
-
export declare class TunnelError extends Error {
|
|
33
|
-
readonly code: string;
|
|
34
|
-
readonly details?: unknown;
|
|
35
|
-
readonly id?: string;
|
|
36
|
-
readonly data?: unknown;
|
|
37
|
-
constructor(code: string, message: string, details?: unknown, extras?: {
|
|
38
|
-
id?: string;
|
|
39
|
-
data?: unknown;
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
export declare function toTunnelError(input: unknown, fallbackMessage?: string): TunnelError;
|
|
43
|
-
export declare function assertOkEnvelope<T>(envelope: ProtocolEnvelope<T> | undefined, opts?: {
|
|
44
|
-
fallbackMessage?: string;
|
|
45
|
-
}): T;
|
|
46
|
-
export declare function runViaTunnel(runner: (task: ITask<any, any, any, any, any, any>, input?: unknown) => Promise<unknown>, task: ITask<any, any, any, any, any, any>, input?: unknown): Promise<unknown>;
|
|
47
|
-
export declare function emitViaTunnel(runner: (emission: IEventEmission<any>) => Promise<unknown>, emission: IEventEmission<any>): Promise<void>;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { EJSON } from "@bluelibs/ejson";
|
|
2
|
-
export interface Serializer {
|
|
3
|
-
stringify(value: unknown): string;
|
|
4
|
-
parse<T = unknown>(text: string): T;
|
|
5
|
-
addType?<TJson = unknown, T = unknown>(name: string, factory: (json: TJson) => T): void;
|
|
6
|
-
}
|
|
7
|
-
export declare const EjsonSerializer: Serializer;
|
|
8
|
-
export declare function getDefaultSerializer(): Serializer;
|
|
9
|
-
export { EJSON };
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { ITaskMiddleware } from "../../../defs";
|
|
2
|
-
export type TunnelPolicySide = "client" | "server";
|
|
3
|
-
export type TunnelMiddlewareId = string | ITaskMiddleware<any, any, any, any>;
|
|
4
|
-
export interface TunnelTaskMiddlewarePolicyConfig {
|
|
5
|
-
/**
|
|
6
|
-
* Whitelist of middleware ids/definitions allowed to run on the caller side
|
|
7
|
-
* when the task is tunneled (mode: "client"). If omitted, defaults to
|
|
8
|
-
* allowing all (the framework default remains "both").
|
|
9
|
-
*/
|
|
10
|
-
client?: TunnelMiddlewareId[];
|
|
11
|
-
/**
|
|
12
|
-
* Whitelist of middleware ids/definitions intended to run on the executor side.
|
|
13
|
-
* Note: The local runner cannot enforce server-side policy; this is a declarative
|
|
14
|
-
* contract that a Runner-based executor can consume to apply a symmetric filter.
|
|
15
|
-
*/
|
|
16
|
-
server?: TunnelMiddlewareId[];
|
|
17
|
-
}
|
|
18
|
-
export declare const tunnelPolicyTag: import("../../..").ITag<TunnelTaskMiddlewarePolicyConfig, void, void>;
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import type { ITask, IEvent, IEventEmission } from "../../../defs";
|
|
2
|
-
import type { IAsyncContext } from "../../../types/asyncContext";
|
|
3
|
-
import type { IErrorHelper } from "../../../types/error";
|
|
4
|
-
import type { Serializer } from "./serializer";
|
|
5
|
-
export type { Serializer } from "./serializer";
|
|
6
|
-
export type TunnelMode = "client" | "server" | "both" | "none";
|
|
7
|
-
export type TunnelTaskSelector = Array<string | ITask<any, any, any, any, any, any>> | ((task: ITask<any, any, any, any, any, any>) => boolean);
|
|
8
|
-
export type TunnelEventSelector = Array<string | IEvent<any>> | ((event: IEvent<any>) => boolean);
|
|
9
|
-
export type EventDeliveryMode = "mirror" | "remote-only" | "local-only" | "remote-first";
|
|
10
|
-
export interface TunnelTagConfig {
|
|
11
|
-
}
|
|
12
|
-
export type TunnelTaskRunner = (task: ITask<any, any, any, any, any, any>, input?: any) => Promise<any>;
|
|
13
|
-
export interface TunnelRunner {
|
|
14
|
-
transport?: "http" | string;
|
|
15
|
-
mode?: TunnelMode;
|
|
16
|
-
tasks?: TunnelTaskSelector;
|
|
17
|
-
events?: TunnelEventSelector;
|
|
18
|
-
eventDeliveryMode?: EventDeliveryMode;
|
|
19
|
-
run?: TunnelTaskRunner;
|
|
20
|
-
emit?: (event: IEventEmission<any>) => Promise<any>;
|
|
21
|
-
}
|
|
22
|
-
export interface ExposureFetchAuthConfig {
|
|
23
|
-
header?: string;
|
|
24
|
-
token: string;
|
|
25
|
-
}
|
|
26
|
-
export interface ExposureFetchConfig {
|
|
27
|
-
baseUrl: string;
|
|
28
|
-
auth?: ExposureFetchAuthConfig;
|
|
29
|
-
timeoutMs?: number;
|
|
30
|
-
fetchImpl?: typeof fetch;
|
|
31
|
-
serializer: Serializer;
|
|
32
|
-
onRequest?: (ctx: {
|
|
33
|
-
url: string;
|
|
34
|
-
headers: Record<string, string>;
|
|
35
|
-
}) => void | Promise<void>;
|
|
36
|
-
contexts?: Array<IAsyncContext<any>>;
|
|
37
|
-
errorRegistry?: Map<string, IErrorHelper<any>>;
|
|
38
|
-
}
|
|
39
|
-
export interface ExposureFetchClient {
|
|
40
|
-
task<I = unknown, O = unknown>(id: string, input?: I): Promise<O>;
|
|
41
|
-
event<P = unknown>(id: string, payload?: P): Promise<void>;
|
|
42
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import type { Serializer } from "../resources/tunnel/serializer";
|
|
2
|
-
import type { ExposureFetchClient } from "../../http-fetch-tunnel.resource";
|
|
3
|
-
export interface HttpClientAuthConfig {
|
|
4
|
-
header?: string;
|
|
5
|
-
token: string;
|
|
6
|
-
}
|
|
7
|
-
export interface HttpCreateClientConfig {
|
|
8
|
-
url: string;
|
|
9
|
-
auth?: HttpClientAuthConfig;
|
|
10
|
-
timeoutMs?: number;
|
|
11
|
-
fetchImpl?: typeof fetch;
|
|
12
|
-
serializer: Serializer;
|
|
13
|
-
onRequest?: (ctx: {
|
|
14
|
-
url: string;
|
|
15
|
-
headers: Record<string, string>;
|
|
16
|
-
}) => void | Promise<void>;
|
|
17
|
-
}
|
|
18
|
-
export declare const tunnels: Readonly<{
|
|
19
|
-
http: Readonly<{
|
|
20
|
-
createClient(cfg: HttpCreateClientConfig): ExposureFetchClient;
|
|
21
|
-
}>;
|
|
22
|
-
}>;
|
|
23
|
-
export type { ExposureFetchClient };
|
package/dist/globals/types.d.ts
DELETED
package/dist/http-client.d.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import type { Serializer } from "./globals/resources/tunnel/serializer";
|
|
2
|
-
import type { IAsyncContext } from "./types/asyncContext";
|
|
3
|
-
import type { IErrorHelper } from "./types/error";
|
|
4
|
-
export interface HttpClientAuth {
|
|
5
|
-
header?: string;
|
|
6
|
-
token: string;
|
|
7
|
-
}
|
|
8
|
-
export interface HttpClientConfig {
|
|
9
|
-
baseUrl: string;
|
|
10
|
-
auth?: HttpClientAuth;
|
|
11
|
-
timeoutMs?: number;
|
|
12
|
-
fetchImpl?: typeof fetch;
|
|
13
|
-
serializer: Serializer;
|
|
14
|
-
onRequest?: (ctx: {
|
|
15
|
-
url: string;
|
|
16
|
-
headers: Record<string, string>;
|
|
17
|
-
}) => void | Promise<void>;
|
|
18
|
-
contexts?: Array<IAsyncContext<any>>;
|
|
19
|
-
errorRegistry?: Map<string, IErrorHelper<any>>;
|
|
20
|
-
}
|
|
21
|
-
export interface HttpClient {
|
|
22
|
-
task<I = unknown, O = unknown>(id: string, input?: I): Promise<O>;
|
|
23
|
-
event<P = unknown>(id: string, payload?: P): Promise<void>;
|
|
24
|
-
}
|
|
25
|
-
export declare function createHttpClient(cfg: HttpClientConfig): HttpClient;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { ExposureFetchConfig, ExposureFetchClient } from "./globals/resources/tunnel/types";
|
|
2
|
-
export { normalizeError } from "./globals/resources/tunnel/error-utils";
|
|
3
|
-
export type { ExposureFetchAuthConfig, ExposureFetchConfig, ExposureFetchClient, } from "./globals/resources/tunnel/types";
|
|
4
|
-
/**
|
|
5
|
-
* This functions communicates with the exposure server over HTTP.
|
|
6
|
-
* It uses the @readmes/TUNNEL_HTTP_POLICY.md strategy.
|
|
7
|
-
*
|
|
8
|
-
* @param cfg
|
|
9
|
-
* @returns
|
|
10
|
-
*/
|
|
11
|
-
export declare function createExposureFetch(cfg: ExposureFetchConfig): ExposureFetchClient;
|
package/dist/index.d.ts
DELETED
|
@@ -1,117 +0,0 @@
|
|
|
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
|
-
declare const globals: {
|
|
6
|
-
events: {
|
|
7
|
-
readonly ready: import(".").IEvent<void>;
|
|
8
|
-
};
|
|
9
|
-
resources: {
|
|
10
|
-
readonly store: import(".").IResource<void, Promise<import("./models").Store>, {}, any, any, import(".").TagType[], import(".").ResourceMiddlewareAttachmentType[]>;
|
|
11
|
-
readonly middlewareManager: import(".").IResource<void, Promise<import("./models").MiddlewareManager>, {}, any, any, import(".").TagType[], import(".").ResourceMiddlewareAttachmentType[]>;
|
|
12
|
-
readonly eventManager: import(".").IResource<void, Promise<import("./models").EventManager>, {}, any, any, import(".").TagType[], import(".").ResourceMiddlewareAttachmentType[]>;
|
|
13
|
-
readonly taskRunner: import(".").IResource<void, Promise<import("./models").TaskRunner>, {}, any, any, import(".").TagType[], import(".").ResourceMiddlewareAttachmentType[]>;
|
|
14
|
-
readonly logger: import(".").IResource<void, Promise<import("./models").Logger>, {}, any, any, import(".").TagType[], import(".").ResourceMiddlewareAttachmentType[]>;
|
|
15
|
-
readonly serializer: import(".").IResource<void, Promise<import(".").Serializer>, {}, any, any, import(".").TagType[], import(".").ResourceMiddlewareAttachmentType[]>;
|
|
16
|
-
readonly cache: import(".").IResource<{
|
|
17
|
-
defaultOptions?: any;
|
|
18
|
-
}, Promise<{
|
|
19
|
-
map: Map<string, import(".").ICacheInstance>;
|
|
20
|
-
cacheFactoryTask: import(".").TaskDependencyWithIntercept<any, Promise<import(".").ICacheInstance>>;
|
|
21
|
-
defaultOptions: any;
|
|
22
|
-
}>, {
|
|
23
|
-
cacheFactoryTask: import(".").ITask<any, Promise<import(".").ICacheInstance>, any, any, import(".").TagType[], import(".").TaskMiddlewareAttachmentType[]>;
|
|
24
|
-
}, any, any, import(".").TagType[], import(".").ResourceMiddlewareAttachmentType[]>;
|
|
25
|
-
readonly queue: import(".").IResource<void, Promise<{
|
|
26
|
-
map: Map<string, import("./models").Queue>;
|
|
27
|
-
run: <T>(id: string, task: (signal: AbortSignal) => Promise<T>) => Promise<T>;
|
|
28
|
-
}>, {}, {
|
|
29
|
-
map: Map<string, import("./models").Queue>;
|
|
30
|
-
}, {
|
|
31
|
-
title: string;
|
|
32
|
-
description: string;
|
|
33
|
-
}, import(".").TagType[], import(".").ResourceMiddlewareAttachmentType[]>;
|
|
34
|
-
readonly httpClientFactory: import(".").IResource<void, Promise<import(".").HttpClientFactory>, {
|
|
35
|
-
serializer: import(".").IResource<void, Promise<import(".").Serializer>, {}, any, any, import(".").TagType[], import(".").ResourceMiddlewareAttachmentType[]>;
|
|
36
|
-
store: import(".").IResource<void, Promise<import("./models").Store>, {}, any, any, import(".").TagType[], import(".").ResourceMiddlewareAttachmentType[]>;
|
|
37
|
-
}, any, {
|
|
38
|
-
title: string;
|
|
39
|
-
description: string;
|
|
40
|
-
}, import(".").TagType[], import(".").ResourceMiddlewareAttachmentType[]>;
|
|
41
|
-
};
|
|
42
|
-
middleware: {
|
|
43
|
-
requireContext: import(".").ITaskMiddleware<{
|
|
44
|
-
context: import(".").IAsyncContext<any>;
|
|
45
|
-
}, void, void, any>;
|
|
46
|
-
task: {
|
|
47
|
-
requireContext: import(".").ITaskMiddleware<{
|
|
48
|
-
context: import(".").IAsyncContext<any>;
|
|
49
|
-
}, void, void, any>;
|
|
50
|
-
cache: import(".").ITaskMiddleware<any, void, void, {
|
|
51
|
-
cache: import(".").IResource<{
|
|
52
|
-
defaultOptions?: any;
|
|
53
|
-
}, Promise<{
|
|
54
|
-
map: Map<string, import(".").ICacheInstance>;
|
|
55
|
-
cacheFactoryTask: import(".").TaskDependencyWithIntercept<any, Promise<import(".").ICacheInstance>>;
|
|
56
|
-
defaultOptions: any;
|
|
57
|
-
}>, {
|
|
58
|
-
cacheFactoryTask: import(".").ITask<any, Promise<import(".").ICacheInstance>, any, any, import(".").TagType[], import(".").TaskMiddlewareAttachmentType[]>;
|
|
59
|
-
}, any, any, import(".").TagType[], import(".").ResourceMiddlewareAttachmentType[]>;
|
|
60
|
-
}>;
|
|
61
|
-
retry: import(".").ITaskMiddleware<import("./globals/middleware/retry.middleware").RetryMiddlewareConfig, void, void, any>;
|
|
62
|
-
timeout: import(".").ITaskMiddleware<import("./globals/middleware/timeout.middleware").TimeoutMiddlewareConfig, void, void, any>;
|
|
63
|
-
};
|
|
64
|
-
resource: {
|
|
65
|
-
retry: import(".").IResourceMiddleware<import("./globals/middleware/retry.middleware").RetryMiddlewareConfig, void, void, any>;
|
|
66
|
-
timeout: import(".").IResourceMiddleware<import("./globals/middleware/timeout.middleware").TimeoutMiddlewareConfig, void, void, any>;
|
|
67
|
-
};
|
|
68
|
-
};
|
|
69
|
-
tags: {
|
|
70
|
-
system: import(".").ITag<{
|
|
71
|
-
metadata?: Record<string, any>;
|
|
72
|
-
}, void, void>;
|
|
73
|
-
excludeFromGlobalHooks: import(".").ITag<{
|
|
74
|
-
metadata?: Record<string, any>;
|
|
75
|
-
}, void, void>;
|
|
76
|
-
debug: import(".").ITag<import(".").DebugFriendlyConfig, void, void>;
|
|
77
|
-
tunnel: import(".").ITag<void, void, import(".").TunnelRunner>;
|
|
78
|
-
tunnelPolicy: import(".").ITag<import("./globals/resources/tunnel/tunnel.policy.tag").TunnelTaskMiddlewarePolicyConfig, void, void>;
|
|
79
|
-
};
|
|
80
|
-
tunnels: Readonly<{
|
|
81
|
-
http: Readonly<{
|
|
82
|
-
createClient(cfg: import("./globals/tunnels").HttpCreateClientConfig): import("./http-fetch-tunnel.resource").ExposureFetchClient;
|
|
83
|
-
}>;
|
|
84
|
-
}>;
|
|
85
|
-
debug: {
|
|
86
|
-
levels: {
|
|
87
|
-
normal: import(".").DebugConfig;
|
|
88
|
-
verbose: import(".").DebugConfig;
|
|
89
|
-
};
|
|
90
|
-
};
|
|
91
|
-
};
|
|
92
|
-
export { globals };
|
|
93
|
-
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, };
|
|
94
|
-
declare const createContext: typeof oldCreateContext;
|
|
95
|
-
export { createContext };
|
|
96
|
-
export declare const r: Readonly<{
|
|
97
|
-
resource: typeof import("./definers/builders/resource").resourceBuilder;
|
|
98
|
-
task: import("./definers/builders/task").TaskBuilderWithPhantom;
|
|
99
|
-
event: typeof import("./definers/builders/event").eventBuilder;
|
|
100
|
-
hook: typeof import("./definers/builders/hook").hookBuilder;
|
|
101
|
-
tag: typeof import("./definers/builders/tag").tagBuilder;
|
|
102
|
-
asyncContext: typeof import("./definers/builders/asyncContext").asyncContextBuilder;
|
|
103
|
-
error: typeof import("./definers/builders/error").errorBuilder;
|
|
104
|
-
middleware: Readonly<{
|
|
105
|
-
task: typeof import("./definers/builders/middleware").taskMiddlewareBuilder;
|
|
106
|
-
resource: typeof import("./definers/builders/middleware").resourceMiddlewareBuilder;
|
|
107
|
-
}>;
|
|
108
|
-
}>;
|
|
109
|
-
export * as definitions from "./defs";
|
|
110
|
-
export * from "./models";
|
|
111
|
-
export * from "./globals/types";
|
|
112
|
-
export * as Errors from "./errors";
|
|
113
|
-
export { PlatformAdapter, setPlatform } from "./platform";
|
|
114
|
-
export { EJSON } from "@bluelibs/ejson";
|
|
115
|
-
export * from "./http-client";
|
|
116
|
-
export * from "./http-fetch-tunnel.resource";
|
|
117
|
-
export type * from "./defs";
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { DependencyMapType, DependencyValuesType, ITask, IResource, IEvent } from "../defs";
|
|
2
|
-
import { Store } from "./Store";
|
|
3
|
-
import { ResourceStoreElementType } from "../types/storeTypes";
|
|
4
|
-
import { EventManager } from "./EventManager";
|
|
5
|
-
import { ResourceInitializer } from "./ResourceInitializer";
|
|
6
|
-
import { TaskRunner } from "./TaskRunner";
|
|
7
|
-
import { Logger } from "./Logger";
|
|
8
|
-
/**
|
|
9
|
-
* This class is responsible of setting up dependencies with their respective computedValues.
|
|
10
|
-
* Note that all elements must have been previously registered otherwise errors will be thrown
|
|
11
|
-
* when trying to depend on something not in the store.
|
|
12
|
-
*/
|
|
13
|
-
export declare class DependencyProcessor {
|
|
14
|
-
protected readonly store: Store;
|
|
15
|
-
protected readonly eventManager: EventManager;
|
|
16
|
-
protected readonly taskRunner: TaskRunner;
|
|
17
|
-
protected readonly resourceInitializer: ResourceInitializer;
|
|
18
|
-
protected readonly logger: Logger;
|
|
19
|
-
constructor(store: Store, eventManager: EventManager, taskRunner: TaskRunner, logger: Logger);
|
|
20
|
-
/**
|
|
21
|
-
* This function is going to go through all the resources, tasks and middleware to compute their required dependencies.
|
|
22
|
-
*/
|
|
23
|
-
computeAllDependencies(): Promise<void>;
|
|
24
|
-
private computeTaskDependencies;
|
|
25
|
-
initializeUninitializedResources(): Promise<void>;
|
|
26
|
-
/**
|
|
27
|
-
* Processes dependencies and hooks
|
|
28
|
-
* @param resource
|
|
29
|
-
*/
|
|
30
|
-
protected processResourceDependencies<TD extends DependencyMapType>(resource: ResourceStoreElementType<any, any, TD>): Promise<void>;
|
|
31
|
-
private wrapResourceDependencies;
|
|
32
|
-
private makeTaskWithIntercept;
|
|
33
|
-
initializeRoot(): Promise<void>;
|
|
34
|
-
/**
|
|
35
|
-
* Processes all hooks, should run before emission of any event.
|
|
36
|
-
*/
|
|
37
|
-
attachListeners(): void;
|
|
38
|
-
extractDependencies<T extends DependencyMapType>(map: T, source: string): Promise<DependencyValuesType<T>>;
|
|
39
|
-
extractDependency(object: any, source: string): Promise<any>;
|
|
40
|
-
/**
|
|
41
|
-
* Converts the event into a running functions with real inputs
|
|
42
|
-
* @param object
|
|
43
|
-
* @returns
|
|
44
|
-
*/
|
|
45
|
-
extractEventDependency(object: IEvent<any>, source: string): (input: any) => Promise<void>;
|
|
46
|
-
extractTaskDependency(object: ITask<any, any, {}>): Promise<(input: unknown) => Promise<any>>;
|
|
47
|
-
extractResourceDependency(object: IResource<any, any, any>): Promise<any>;
|
|
48
|
-
}
|