@bluelibs/runner 4.6.1 → 4.7.0-alpha
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/AI.md +319 -579
- package/README.md +886 -731
- package/dist/browser/index.cjs +1438 -251
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.mjs +1433 -252
- package/dist/browser/index.mjs.map +1 -1
- package/dist/context.d.ts +31 -0
- package/dist/define.d.ts +9 -0
- package/dist/definers/builders/core.d.ts +30 -0
- package/dist/definers/builders/event.d.ts +12 -0
- package/dist/definers/builders/hook.d.ts +20 -0
- package/dist/definers/builders/middleware.d.ts +39 -0
- package/dist/definers/builders/resource.d.ts +40 -0
- package/dist/definers/builders/tag.d.ts +10 -0
- package/dist/definers/builders/task.d.ts +37 -0
- package/dist/definers/builders/task.phantom.d.ts +27 -0
- package/dist/definers/builders/utils.d.ts +4 -0
- package/dist/definers/defineEvent.d.ts +2 -0
- package/dist/definers/defineHook.d.ts +6 -0
- package/dist/definers/defineOverride.d.ts +17 -0
- package/dist/definers/defineResource.d.ts +2 -0
- package/dist/definers/defineResourceMiddleware.d.ts +2 -0
- package/dist/definers/defineTag.d.ts +12 -0
- package/dist/definers/defineTask.d.ts +18 -0
- package/dist/definers/defineTaskMiddleware.d.ts +2 -0
- package/dist/definers/tools.d.ts +47 -0
- package/dist/defs.d.ts +29 -0
- package/dist/edge/index.cjs +1438 -251
- package/dist/edge/index.cjs.map +1 -1
- package/dist/edge/index.mjs +1433 -252
- package/dist/edge/index.mjs.map +1 -1
- package/dist/errors.d.ts +104 -0
- package/dist/globals/globalEvents.d.ts +8 -0
- package/dist/globals/globalMiddleware.d.ts +31 -0
- package/dist/globals/globalResources.d.ts +32 -0
- package/dist/globals/globalTags.d.ts +11 -0
- package/dist/globals/middleware/cache.middleware.d.ts +27 -0
- package/dist/globals/middleware/requireContext.middleware.d.ts +6 -0
- package/dist/globals/middleware/retry.middleware.d.ts +21 -0
- package/dist/globals/middleware/timeout.middleware.d.ts +9 -0
- package/dist/globals/middleware/tunnel.middleware.d.ts +2 -0
- package/dist/globals/resources/debug/debug.resource.d.ts +7 -0
- package/dist/globals/resources/debug/debug.tag.d.ts +2 -0
- package/dist/globals/resources/debug/debugConfig.resource.d.ts +22 -0
- package/dist/globals/resources/debug/executionTracker.middleware.d.ts +50 -0
- package/dist/globals/resources/debug/globalEvent.hook.d.ts +27 -0
- package/dist/globals/resources/debug/hook.hook.d.ts +30 -0
- package/dist/globals/resources/debug/index.d.ts +6 -0
- package/dist/globals/resources/debug/middleware.hook.d.ts +30 -0
- package/dist/globals/resources/debug/types.d.ts +25 -0
- package/dist/globals/resources/debug/utils.d.ts +2 -0
- package/dist/globals/resources/queue.resource.d.ts +10 -0
- package/dist/globals/resources/tunnel/ejson-extensions.d.ts +1 -0
- package/dist/globals/resources/tunnel/error-utils.d.ts +1 -0
- package/dist/globals/resources/tunnel/plan.d.ts +19 -0
- package/dist/globals/resources/tunnel/protocol.d.ts +40 -0
- package/dist/globals/resources/tunnel/serializer.d.ts +9 -0
- package/dist/globals/resources/tunnel/tunnel.policy.tag.d.ts +18 -0
- package/dist/globals/resources/tunnel/tunnel.tag.d.ts +2 -0
- package/dist/globals/resources/tunnel/types.d.ts +17 -0
- package/dist/globals/tunnels/index.d.ts +23 -0
- package/dist/globals/types.d.ts +1 -0
- package/dist/http-client.d.ts +23 -0
- package/dist/http-fetch-tunnel.resource.d.ts +22 -0
- package/dist/index.d.ts +99 -0
- package/dist/models/DependencyProcessor.d.ts +48 -0
- package/dist/models/EventManager.d.ts +153 -0
- package/dist/models/LogPrinter.d.ts +55 -0
- package/dist/models/Logger.d.ts +85 -0
- package/dist/models/MiddlewareManager.d.ts +86 -0
- package/dist/models/OverrideManager.d.ts +13 -0
- package/dist/models/Queue.d.ts +26 -0
- package/dist/models/ResourceInitializer.d.ts +20 -0
- package/dist/models/RunResult.d.ts +35 -0
- package/dist/models/Semaphore.d.ts +61 -0
- package/dist/models/Store.d.ts +69 -0
- package/dist/models/StoreRegistry.d.ts +43 -0
- package/dist/models/StoreValidator.d.ts +8 -0
- package/dist/models/TaskRunner.d.ts +27 -0
- package/dist/models/UnhandledError.d.ts +11 -0
- package/dist/models/index.d.ts +11 -0
- package/dist/models/utils/findCircularDependencies.d.ts +16 -0
- package/dist/models/utils/safeStringify.d.ts +3 -0
- package/dist/node/exposure/allowList.d.ts +3 -0
- package/dist/node/exposure/authenticator.d.ts +6 -0
- package/dist/node/exposure/cors.d.ts +4 -0
- package/dist/node/exposure/createNodeExposure.d.ts +2 -0
- package/dist/node/exposure/exposureServer.d.ts +18 -0
- package/dist/node/exposure/httpResponse.d.ts +10 -0
- package/dist/node/exposure/logging.d.ts +4 -0
- package/dist/node/exposure/multipart.d.ts +27 -0
- package/dist/node/exposure/requestBody.d.ts +11 -0
- package/dist/node/exposure/requestContext.d.ts +17 -0
- package/dist/node/exposure/requestHandlers.d.ts +24 -0
- package/dist/node/exposure/resourceTypes.d.ts +60 -0
- package/dist/node/exposure/router.d.ts +17 -0
- package/dist/node/exposure/serverLifecycle.d.ts +13 -0
- package/dist/node/exposure/types.d.ts +31 -0
- package/dist/node/exposure/utils.d.ts +17 -0
- package/dist/node/exposure.resource.d.ts +12 -0
- package/dist/node/files.d.ts +9 -0
- package/dist/node/http-smart-client.model.d.ts +22 -0
- package/dist/node/index.d.ts +1 -0
- package/dist/node/inputFile.model.d.ts +22 -0
- package/dist/node/inputFile.utils.d.ts +14 -0
- package/dist/node/mixed-http-client.node.d.ts +27 -0
- package/dist/node/node.cjs +11168 -0
- package/dist/node/node.cjs.map +1 -0
- package/dist/node/node.d.ts +6 -0
- package/dist/node/node.mjs +11099 -0
- package/dist/node/node.mjs.map +1 -0
- package/dist/node/platform/createFile.d.ts +9 -0
- package/dist/node/tunnel.allowlist.d.ts +7 -0
- package/dist/node/upload/manifest.d.ts +22 -0
- package/dist/platform/adapters/browser.d.ts +14 -0
- package/dist/platform/adapters/edge.d.ts +5 -0
- package/dist/platform/adapters/node-als.d.ts +1 -0
- package/dist/platform/adapters/node.d.ts +15 -0
- package/dist/platform/adapters/universal-generic.d.ts +14 -0
- package/dist/platform/adapters/universal.d.ts +17 -0
- package/dist/platform/createFile.d.ts +10 -0
- package/dist/platform/createWebFile.d.ts +11 -0
- package/dist/platform/factory.d.ts +2 -0
- package/dist/platform/index.d.ts +27 -0
- package/dist/platform/types.d.ts +29 -0
- package/dist/processHooks.d.ts +2 -0
- package/dist/run.d.ts +14 -0
- package/dist/testing.d.ts +25 -0
- package/dist/tools/getCallerFile.d.ts +1 -0
- package/dist/tunnels/buildUniversalManifest.d.ts +24 -0
- package/dist/types/contracts.d.ts +63 -0
- package/dist/types/event.d.ts +74 -0
- package/dist/types/hook.d.ts +23 -0
- package/dist/types/inputFile.d.ts +34 -0
- package/dist/types/meta.d.ts +18 -0
- package/dist/types/resource.d.ts +87 -0
- package/dist/types/resourceMiddleware.d.ts +47 -0
- package/dist/types/runner.d.ts +55 -0
- package/dist/types/storeTypes.d.ts +40 -0
- package/dist/types/symbols.d.ts +28 -0
- package/dist/types/tag.d.ts +46 -0
- package/dist/types/task.d.ts +50 -0
- package/dist/types/taskMiddleware.d.ts +48 -0
- package/dist/types/utilities.d.ts +111 -0
- package/dist/universal/index.cjs +1438 -251
- package/dist/universal/index.cjs.map +1 -1
- package/dist/universal/index.mjs +1433 -252
- package/dist/universal/index.mjs.map +1 -1
- package/package.json +32 -4
- package/dist/index.d.mts +0 -1747
- package/dist/index.unused.js +0 -4466
- package/dist/index.unused.js.map +0 -1
- package/dist/node/index.cjs +0 -4498
- package/dist/node/index.cjs.map +0 -1
- package/dist/node/index.mjs +0 -4466
- package/dist/node/index.mjs.map +0 -1
package/dist/errors.d.ts
ADDED
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base error class for all BlueLibs Runner errors
|
|
3
|
+
*/
|
|
4
|
+
export declare class RuntimeError extends Error {
|
|
5
|
+
constructor(message: string);
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Error thrown when attempting to register a component with a duplicate ID
|
|
9
|
+
*/
|
|
10
|
+
export declare class DuplicateRegistrationError extends RuntimeError {
|
|
11
|
+
constructor(type: string, id: string);
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Error thrown when a dependency is not found in the registry
|
|
15
|
+
*/
|
|
16
|
+
export declare class DependencyNotFoundError extends RuntimeError {
|
|
17
|
+
constructor(key: string);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Error thrown when an unknown item type is encountered
|
|
21
|
+
*/
|
|
22
|
+
export declare class UnknownItemTypeError extends RuntimeError {
|
|
23
|
+
constructor(item: any);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Error thrown whenever a requested context is not available.
|
|
27
|
+
*/
|
|
28
|
+
export declare class ContextError extends Error {
|
|
29
|
+
constructor(message: string);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Error thrown when circular dependencies are detected
|
|
33
|
+
*/
|
|
34
|
+
export declare class CircularDependenciesError extends RuntimeError {
|
|
35
|
+
constructor(cycles: string[]);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Error thrown when an event is not found in the registry
|
|
39
|
+
*/
|
|
40
|
+
export declare class EventNotFoundError extends RuntimeError {
|
|
41
|
+
constructor(id: string);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Error thrown when a resource is not found in the store
|
|
45
|
+
*/
|
|
46
|
+
export declare class ResourceNotFoundError extends RuntimeError {
|
|
47
|
+
constructor(id: string);
|
|
48
|
+
}
|
|
49
|
+
export declare class MiddlewareNotRegisteredError extends RuntimeError {
|
|
50
|
+
constructor(type: "task" | "resource", source: string, middlewareId: string);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Error thrown when a tag is not found in the registry
|
|
54
|
+
*/
|
|
55
|
+
export declare class TagNotFoundError extends RuntimeError {
|
|
56
|
+
constructor(id: string);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Error thrown when attempting to modify a locked component
|
|
60
|
+
*/
|
|
61
|
+
export declare class LockedError extends RuntimeError {
|
|
62
|
+
constructor(what: string);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Error thrown when attempting to initialize a store that's already initialized
|
|
66
|
+
*/
|
|
67
|
+
export declare class StoreAlreadyInitializedError extends RuntimeError {
|
|
68
|
+
constructor();
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Error thrown when validation fails for task input, resource config, middleware config, or event payload
|
|
72
|
+
*/
|
|
73
|
+
export declare class ValidationError extends RuntimeError {
|
|
74
|
+
constructor(type: string, id: string, originalError: Error | string);
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Error thrown when an event emission cycle is detected
|
|
78
|
+
*/
|
|
79
|
+
export declare class EventCycleError extends RuntimeError {
|
|
80
|
+
constructor(path: Array<{
|
|
81
|
+
id: string;
|
|
82
|
+
source: string;
|
|
83
|
+
}>);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Error thrown when a compile-time event emission cycle is detected
|
|
87
|
+
*/
|
|
88
|
+
export declare class EventEmissionCycleError extends RuntimeError {
|
|
89
|
+
constructor(cycles: string[]);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Error thrown when a platform function is not supported in the current environment.
|
|
93
|
+
*/
|
|
94
|
+
export declare class PlatformUnsupportedFunction extends RuntimeError {
|
|
95
|
+
constructor(functionName: string);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* CancellationError: used to signal client-initiated aborts (e.g., HTTP request aborted).
|
|
99
|
+
* Handlers can catch and map to 499 Client Closed Request without noisy logs.
|
|
100
|
+
*/
|
|
101
|
+
export declare class CancellationError extends RuntimeError {
|
|
102
|
+
constructor(message?: string);
|
|
103
|
+
}
|
|
104
|
+
export declare function isCancellationError(err: unknown): err is CancellationError;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Context } from "../context";
|
|
2
|
+
/**
|
|
3
|
+
* Global middlewares
|
|
4
|
+
*/
|
|
5
|
+
export declare const globalMiddlewares: {
|
|
6
|
+
requireContext: import("..").ITaskMiddleware<{
|
|
7
|
+
context: Context<any>;
|
|
8
|
+
}, void, void, any>;
|
|
9
|
+
task: {
|
|
10
|
+
requireContext: import("..").ITaskMiddleware<{
|
|
11
|
+
context: Context<any>;
|
|
12
|
+
}, void, void, any>;
|
|
13
|
+
cache: import("..").ITaskMiddleware<any, void, void, {
|
|
14
|
+
cache: import("..").IResource<{
|
|
15
|
+
defaultOptions?: any;
|
|
16
|
+
}, Promise<{
|
|
17
|
+
map: Map<string, import("..").ICacheInstance>;
|
|
18
|
+
cacheFactoryTask: import("..").TaskDependencyWithIntercept<any, Promise<import("..").ICacheInstance>>;
|
|
19
|
+
defaultOptions: any;
|
|
20
|
+
}>, {
|
|
21
|
+
cacheFactoryTask: import("..").ITask<any, Promise<import("..").ICacheInstance>, any, any, import("..").TagType[], import("..").TaskMiddlewareAttachmentType[]>;
|
|
22
|
+
}, any, any, import("..").TagType[], import("..").ResourceMiddlewareAttachmentType[]>;
|
|
23
|
+
}>;
|
|
24
|
+
retry: import("..").ITaskMiddleware<import("./middleware/retry.middleware").RetryMiddlewareConfig, void, void, any>;
|
|
25
|
+
timeout: import("..").ITaskMiddleware<import("./middleware/timeout.middleware").TimeoutMiddlewareConfig, void, void, any>;
|
|
26
|
+
};
|
|
27
|
+
resource: {
|
|
28
|
+
retry: import("..").IResourceMiddleware<import("./middleware/retry.middleware").RetryMiddlewareConfig, void, void, any>;
|
|
29
|
+
timeout: import("..").IResourceMiddleware<import("./middleware/timeout.middleware").TimeoutMiddlewareConfig, void, void, any>;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { EventManager } from "../models/EventManager";
|
|
2
|
+
import { Logger } from "../models/Logger";
|
|
3
|
+
import { Store } from "../models/Store";
|
|
4
|
+
import { TaskRunner } from "../models/TaskRunner";
|
|
5
|
+
import { MiddlewareManager } from "../models/MiddlewareManager";
|
|
6
|
+
import type { Serializer } from "./resources/tunnel/serializer";
|
|
7
|
+
export declare const globalResources: {
|
|
8
|
+
store: import("..").IResource<void, Promise<Store>, {}, any, any, import("..").TagType[], import("..").ResourceMiddlewareAttachmentType[]>;
|
|
9
|
+
middlewareManager: import("..").IResource<void, Promise<MiddlewareManager>, {}, any, any, import("..").TagType[], import("..").ResourceMiddlewareAttachmentType[]>;
|
|
10
|
+
eventManager: import("..").IResource<void, Promise<EventManager>, {}, any, any, import("..").TagType[], import("..").ResourceMiddlewareAttachmentType[]>;
|
|
11
|
+
taskRunner: import("..").IResource<void, Promise<TaskRunner>, {}, any, any, import("..").TagType[], import("..").ResourceMiddlewareAttachmentType[]>;
|
|
12
|
+
logger: import("..").IResource<void, Promise<Logger>, {}, any, any, import("..").TagType[], import("..").ResourceMiddlewareAttachmentType[]>;
|
|
13
|
+
serializer: import("..").IResource<void, Promise<Serializer>, {}, any, any, import("..").TagType[], import("..").ResourceMiddlewareAttachmentType[]>;
|
|
14
|
+
cache: import("..").IResource<{
|
|
15
|
+
defaultOptions?: any;
|
|
16
|
+
}, Promise<{
|
|
17
|
+
map: Map<string, import("..").ICacheInstance>;
|
|
18
|
+
cacheFactoryTask: import("..").TaskDependencyWithIntercept<any, Promise<import("..").ICacheInstance>>;
|
|
19
|
+
defaultOptions: any;
|
|
20
|
+
}>, {
|
|
21
|
+
cacheFactoryTask: import("..").ITask<any, Promise<import("..").ICacheInstance>, any, any, import("..").TagType[], import("..").TaskMiddlewareAttachmentType[]>;
|
|
22
|
+
}, any, any, import("..").TagType[], import("..").ResourceMiddlewareAttachmentType[]>;
|
|
23
|
+
queue: import("..").IResource<void, Promise<{
|
|
24
|
+
map: Map<string, import("..").Queue>;
|
|
25
|
+
run: <T>(id: string, task: (signal: AbortSignal) => Promise<T>) => Promise<T>;
|
|
26
|
+
}>, {}, {
|
|
27
|
+
map: Map<string, import("..").Queue>;
|
|
28
|
+
}, {
|
|
29
|
+
title: string;
|
|
30
|
+
description: string;
|
|
31
|
+
}, import("..").TagType[], import("..").ResourceMiddlewareAttachmentType[]>;
|
|
32
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const globalTags: {
|
|
2
|
+
system: import("..").ITag<{
|
|
3
|
+
metadata?: Record<string, any>;
|
|
4
|
+
}, void, void>;
|
|
5
|
+
excludeFromGlobalHooks: import("..").ITag<{
|
|
6
|
+
metadata?: Record<string, any>;
|
|
7
|
+
}, void, void>;
|
|
8
|
+
debug: import("..").ITag<import("./types").DebugFriendlyConfig, void, void>;
|
|
9
|
+
tunnel: import("..").ITag<void, void, import("./resources/tunnel/types").TunnelRunner>;
|
|
10
|
+
tunnelPolicy: import("..").ITag<import("./resources/tunnel/tunnel.policy.tag").TunnelTaskMiddlewarePolicyConfig, void, void>;
|
|
11
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { IResource, ITask } from "../../defs";
|
|
2
|
+
export interface ICacheInstance {
|
|
3
|
+
set(key: string, value: any): void;
|
|
4
|
+
get(key: string): any;
|
|
5
|
+
clear(): void;
|
|
6
|
+
}
|
|
7
|
+
export declare const cacheFactoryTask: ITask<any, Promise<ICacheInstance>, any, any, import("../..").TagType[], import("../..").TaskMiddlewareAttachmentType[]>;
|
|
8
|
+
type CacheResourceConfig = {
|
|
9
|
+
defaultOptions?: any;
|
|
10
|
+
};
|
|
11
|
+
export declare const cacheResource: IResource<CacheResourceConfig, Promise<{
|
|
12
|
+
map: Map<string, ICacheInstance>;
|
|
13
|
+
cacheFactoryTask: import("../..").TaskDependencyWithIntercept<any, Promise<ICacheInstance>>;
|
|
14
|
+
defaultOptions: any;
|
|
15
|
+
}>, {
|
|
16
|
+
cacheFactoryTask: ITask<any, Promise<ICacheInstance>, any, any, import("../..").TagType[], import("../..").TaskMiddlewareAttachmentType[]>;
|
|
17
|
+
}, any, any, import("../..").TagType[], import("../..").ResourceMiddlewareAttachmentType[]>;
|
|
18
|
+
export declare const cacheMiddleware: import("../..").ITaskMiddleware<any, void, void, {
|
|
19
|
+
cache: IResource<CacheResourceConfig, Promise<{
|
|
20
|
+
map: Map<string, ICacheInstance>;
|
|
21
|
+
cacheFactoryTask: import("../..").TaskDependencyWithIntercept<any, Promise<ICacheInstance>>;
|
|
22
|
+
defaultOptions: any;
|
|
23
|
+
}>, {
|
|
24
|
+
cacheFactoryTask: ITask<any, Promise<ICacheInstance>, any, any, import("../..").TagType[], import("../..").TaskMiddlewareAttachmentType[]>;
|
|
25
|
+
}, any, any, import("../..").TagType[], import("../..").ResourceMiddlewareAttachmentType[]>;
|
|
26
|
+
}>;
|
|
27
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration options for the retry middleware
|
|
3
|
+
*/
|
|
4
|
+
export interface RetryMiddlewareConfig {
|
|
5
|
+
/**
|
|
6
|
+
* Maximum number of retry attempts (default: 3)
|
|
7
|
+
*/
|
|
8
|
+
retries?: number;
|
|
9
|
+
/**
|
|
10
|
+
* Callback to determine if retry should stop based on error
|
|
11
|
+
* @default () => false (retry all errors)
|
|
12
|
+
*/
|
|
13
|
+
stopRetryIf?: (error: Error) => boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Custom delay strategy function
|
|
16
|
+
* @default Exponential backoff starting at 100ms
|
|
17
|
+
*/
|
|
18
|
+
delayStrategy?: (attempt: number, error: Error) => number;
|
|
19
|
+
}
|
|
20
|
+
export declare const retryTaskMiddleware: import("../..").ITaskMiddleware<RetryMiddlewareConfig, void, void, any>;
|
|
21
|
+
export declare const retryResourceMiddleware: import("../..").IResourceMiddleware<RetryMiddlewareConfig, void, void, any>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface TimeoutMiddlewareConfig {
|
|
2
|
+
/**
|
|
3
|
+
* Maximum time in milliseconds before the wrapped operation is aborted
|
|
4
|
+
* and a timeout error is thrown. Defaults to 5000ms.
|
|
5
|
+
*/
|
|
6
|
+
ttl: number;
|
|
7
|
+
}
|
|
8
|
+
export declare const timeoutTaskMiddleware: import("../..").ITaskMiddleware<TimeoutMiddlewareConfig, void, void, any>;
|
|
9
|
+
export declare const timeoutResourceMiddleware: import("../..").IResourceMiddleware<TimeoutMiddlewareConfig, void, void, any>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DebugFriendlyConfig } from "./types";
|
|
2
|
+
export declare const debugResource: import("../../..").IResource<DebugFriendlyConfig, Promise<any>, {}, any, {
|
|
3
|
+
title: string;
|
|
4
|
+
description: string;
|
|
5
|
+
}, import("../../..").ITag<{
|
|
6
|
+
metadata?: Record<string, any>;
|
|
7
|
+
}, void, void>[], import("../../..").ResourceMiddlewareAttachmentType[]>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { DebugFriendlyConfig } from "./types";
|
|
2
|
+
export declare const debugConfig: import("../../..").IResource<DebugFriendlyConfig, Promise<{
|
|
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
|
+
}>, {}, any, {
|
|
18
|
+
title: string;
|
|
19
|
+
description: string;
|
|
20
|
+
}, import("../../..").ITag<{
|
|
21
|
+
metadata?: Record<string, any>;
|
|
22
|
+
}, void, void>[], import("../../..").ResourceMiddlewareAttachmentType[]>;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export declare const tasksTrackerMiddleware: import("../../..").ITaskMiddleware<any, void, 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
|
+
store: import("../../..").IResource<void, Promise<import("../../..").Store>, {}, any, any, import("../../..").TagType[], import("../../..").ResourceMiddlewareAttachmentType[]>;
|
|
25
|
+
}>;
|
|
26
|
+
export declare const resourcesTrackerMiddleware: import("../../..").IResourceMiddleware<any, void, void, {
|
|
27
|
+
logger: import("../../..").IResource<void, Promise<import("../../..").Logger>, {}, any, any, import("../../..").TagType[], import("../../..").ResourceMiddlewareAttachmentType[]>;
|
|
28
|
+
debugConfig: import("../../..").IResource<import("./types").DebugFriendlyConfig, Promise<{
|
|
29
|
+
logResourceConfig: boolean;
|
|
30
|
+
logResourceValue: boolean;
|
|
31
|
+
logResourceBeforeRun: boolean;
|
|
32
|
+
logResourceAfterRun: boolean;
|
|
33
|
+
logTaskBeforeRun: boolean;
|
|
34
|
+
logTaskInput: boolean;
|
|
35
|
+
logTaskOutput: boolean;
|
|
36
|
+
logTaskAfterRun: boolean;
|
|
37
|
+
logMiddlewareBeforeRun: boolean;
|
|
38
|
+
logMiddlewareAfterRun: boolean;
|
|
39
|
+
logEventEmissionOnRun: boolean;
|
|
40
|
+
logEventEmissionInput: boolean;
|
|
41
|
+
logHookTriggered: boolean;
|
|
42
|
+
logHookCompleted: boolean;
|
|
43
|
+
}>, {}, any, {
|
|
44
|
+
title: string;
|
|
45
|
+
description: string;
|
|
46
|
+
}, import("../../..").ITag<{
|
|
47
|
+
metadata?: Record<string, any>;
|
|
48
|
+
}, void, void>[], import("../../..").ResourceMiddlewareAttachmentType[]>;
|
|
49
|
+
store: import("../../..").IResource<void, Promise<import("../../..").Store>, {}, any, any, import("../../..").TagType[], import("../../..").ResourceMiddlewareAttachmentType[]>;
|
|
50
|
+
}>;
|
|
@@ -0,0 +1,27 @@
|
|
|
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
|
+
}>;
|
|
@@ -0,0 +1,30 @@
|
|
|
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[]>;
|
|
@@ -0,0 +1,30 @@
|
|
|
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[]>;
|
|
@@ -0,0 +1,25 @@
|
|
|
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;
|
|
@@ -0,0 +1,10 @@
|
|
|
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[]>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const EJSON: import("@bluelibs/ejson").EJSONModule;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function normalizeError(input: unknown): Error;
|
|
@@ -0,0 +1,19 @@
|
|
|
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;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { ITask, IEventEmission } from "../../../defs";
|
|
2
|
+
export interface ProtocolErrorShape {
|
|
3
|
+
code: string;
|
|
4
|
+
message: string;
|
|
5
|
+
details?: unknown;
|
|
6
|
+
}
|
|
7
|
+
export interface ProtocolEnvelope<T = unknown> {
|
|
8
|
+
ok: boolean;
|
|
9
|
+
result?: T;
|
|
10
|
+
error?: ProtocolErrorShape;
|
|
11
|
+
meta?: {
|
|
12
|
+
protocolVersion?: string;
|
|
13
|
+
traceId?: string;
|
|
14
|
+
taskVersion?: string;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
export interface TaskRequest {
|
|
18
|
+
id: string;
|
|
19
|
+
input?: unknown;
|
|
20
|
+
plan?: unknown;
|
|
21
|
+
context?: Record<string, unknown>;
|
|
22
|
+
traceId?: string;
|
|
23
|
+
}
|
|
24
|
+
export interface EventRequest {
|
|
25
|
+
id: string;
|
|
26
|
+
payload?: unknown;
|
|
27
|
+
context?: Record<string, unknown>;
|
|
28
|
+
traceId?: string;
|
|
29
|
+
}
|
|
30
|
+
export declare class TunnelError extends Error {
|
|
31
|
+
readonly code: string;
|
|
32
|
+
readonly details?: unknown;
|
|
33
|
+
constructor(code: string, message: string, details?: unknown);
|
|
34
|
+
}
|
|
35
|
+
export declare function toTunnelError(input: unknown, fallbackMessage?: string): TunnelError;
|
|
36
|
+
export declare function assertOkEnvelope<T>(envelope: ProtocolEnvelope<T> | undefined, opts?: {
|
|
37
|
+
fallbackMessage?: string;
|
|
38
|
+
}): T;
|
|
39
|
+
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>;
|
|
40
|
+
export declare function emitViaTunnel(runner: (emission: IEventEmission<any>) => Promise<unknown>, emission: IEventEmission<any>): Promise<void>;
|
|
@@ -0,0 +1,9 @@
|
|
|
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 };
|
|
@@ -0,0 +1,18 @@
|
|
|
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>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ITask, IEvent, IEventEmission } from "../../../defs";
|
|
2
|
+
export type TunnelMode = "client" | "server" | "both" | "none";
|
|
3
|
+
export type TunnelTaskSelector = Array<string | ITask<any, any, any, any, any, any>> | ((task: ITask<any, any, any, any, any, any>) => boolean);
|
|
4
|
+
export type TunnelEventSelector = Array<string | IEvent<any>> | ((event: IEvent<any>) => boolean);
|
|
5
|
+
export type EventDeliveryMode = "mirror" | "remote-only" | "local-only" | "remote-first";
|
|
6
|
+
export interface TunnelTagConfig {
|
|
7
|
+
}
|
|
8
|
+
export type TunnelTaskRunner = (task: ITask<any, any, any, any, any, any>, input?: any) => Promise<any>;
|
|
9
|
+
export interface TunnelRunner {
|
|
10
|
+
transport?: "http" | string;
|
|
11
|
+
mode?: TunnelMode;
|
|
12
|
+
tasks?: TunnelTaskSelector;
|
|
13
|
+
events?: TunnelEventSelector;
|
|
14
|
+
eventDeliveryMode?: EventDeliveryMode;
|
|
15
|
+
run?: TunnelTaskRunner;
|
|
16
|
+
emit?: (event: IEventEmission<any>) => Promise<any>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
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 };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./resources/debug/types";
|