@bluelibs/runner 5.0.0 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/index.cjs +201 -2
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.d.mts +32 -3
- package/dist/browser/index.d.ts +32 -3
- package/dist/browser/index.mjs +201 -2
- package/dist/browser/index.mjs.map +1 -1
- package/dist/edge/index.cjs +201 -2
- package/dist/edge/index.cjs.map +1 -1
- package/dist/edge/index.d.mts +32 -3
- package/dist/edge/index.d.ts +32 -3
- package/dist/edge/index.mjs +201 -2
- package/dist/edge/index.mjs.map +1 -1
- package/dist/node/node.cjs +201 -2
- package/dist/node/node.cjs.map +1 -1
- package/dist/node/node.d.mts +32 -3
- package/dist/node/node.d.ts +32 -3
- package/dist/node/node.mjs +201 -2
- package/dist/node/node.mjs.map +1 -1
- package/dist/universal/index.cjs +201 -2
- package/dist/universal/index.cjs.map +1 -1
- package/dist/universal/index.d.mts +32 -3
- package/dist/universal/index.d.ts +32 -3
- package/dist/universal/index.mjs +201 -2
- package/dist/universal/index.mjs.map +1 -1
- package/package.json +1 -1
- package/readmes/AI.md +4 -3
package/dist/edge/index.d.mts
CHANGED
|
@@ -129,6 +129,8 @@ declare const symbolTask: unique symbol;
|
|
|
129
129
|
/** Marks a task as a phantom task (no-op run; meant to be tunneled/routed). */
|
|
130
130
|
declare const symbolPhantomTask: unique symbol;
|
|
131
131
|
declare const symbolResource: unique symbol;
|
|
132
|
+
/** @internal Marks forked resources and records fork provenance */
|
|
133
|
+
declare const symbolResourceForkedFrom: unique symbol;
|
|
132
134
|
declare const symbolResourceWithConfig: unique symbol;
|
|
133
135
|
declare const symbolEvent: unique symbol;
|
|
134
136
|
/** @internal Marks an error helper definition */
|
|
@@ -229,6 +231,27 @@ interface IErrorHelper<TData extends DefaultErrorType = DefaultErrorType> {
|
|
|
229
231
|
optional(): IOptionalDependency<IErrorHelper<TData>>;
|
|
230
232
|
}
|
|
231
233
|
|
|
234
|
+
type ResourceForkRegisterMode = "keep" | "drop" | "deep";
|
|
235
|
+
interface ResourceForkOptions {
|
|
236
|
+
/**
|
|
237
|
+
* Control whether the fork keeps the base `register` list.
|
|
238
|
+
* - "keep" (default) keeps registration items
|
|
239
|
+
* - "drop" clears registration items
|
|
240
|
+
* - "deep" deep-forks registered resources with new ids (resource tree)
|
|
241
|
+
*/
|
|
242
|
+
register?: ResourceForkRegisterMode;
|
|
243
|
+
/**
|
|
244
|
+
* Used with `register: "deep"` to derive ids for deep-forked resources.
|
|
245
|
+
* Defaults to `(id) => \`\${newId}.\${id}\``.
|
|
246
|
+
*/
|
|
247
|
+
reId?: (id: string) => string;
|
|
248
|
+
}
|
|
249
|
+
interface ResourceForkInfo {
|
|
250
|
+
/** The id of the resource that was forked. */
|
|
251
|
+
readonly fromId: string;
|
|
252
|
+
/** Best-effort call-site file path for the fork operation. */
|
|
253
|
+
readonly forkedAtFilePath: string;
|
|
254
|
+
}
|
|
232
255
|
type IsAny<T> = 0 extends 1 & T ? true : false;
|
|
233
256
|
type IsUnspecified<T> = [T] extends [undefined] ? true : [T] extends [void] ? true : IsAny<T> extends true ? true : false;
|
|
234
257
|
interface IResourceDefinition<TConfig = any, TValue extends Promise<any> = Promise<any>, TDependencies extends DependencyMapType = {}, TContext = any, _THooks = any, _TRegisterableItems = any, TMeta extends IResourceMeta = any, TTags extends TagType[] = TagType[], TMiddleware extends ResourceMiddlewareAttachmentType[] = ResourceMiddlewareAttachmentType[]> {
|
|
@@ -307,6 +330,8 @@ interface IResource<TConfig = void, TValue extends Promise<any> = Promise<any>,
|
|
|
307
330
|
middleware: TMiddleware;
|
|
308
331
|
[symbolFilePath]: string;
|
|
309
332
|
[symbolResource]: true;
|
|
333
|
+
/** Present only on forked resources. */
|
|
334
|
+
[symbolResourceForkedFrom]?: ResourceForkInfo;
|
|
310
335
|
/** Normalized list of error ids declared via `throws`. */
|
|
311
336
|
throws?: readonly string[];
|
|
312
337
|
/** Return an optional dependency wrapper for this resource. */
|
|
@@ -317,7 +342,7 @@ interface IResource<TConfig = void, TValue extends Promise<any> = Promise<any>,
|
|
|
317
342
|
* Useful for creating multiple instances of a "template" resource.
|
|
318
343
|
* The forked resource should be exported and used as a dependency.
|
|
319
344
|
*/
|
|
320
|
-
fork(newId: string): IResource<TConfig, TValue, TDependencies, TContext, TMeta, TTags, TMiddleware>;
|
|
345
|
+
fork(newId: string, options?: ResourceForkOptions): IResource<TConfig, TValue, TDependencies, TContext, TMeta, TTags, TMiddleware>;
|
|
321
346
|
}
|
|
322
347
|
interface IResourceWithConfig<TConfig = any, TValue extends Promise<any> = Promise<any>, TDependencies extends DependencyMapType = any, TContext = any, TMeta extends IResourceMeta = any, TTags extends TagType[] = TagType[], TMiddleware extends IResourceMiddleware<any, any, any, any>[] = IResourceMiddleware[]> {
|
|
323
348
|
[symbolResourceWithConfig]: true;
|
|
@@ -1073,6 +1098,9 @@ type defs_RegisterableItems = RegisterableItems;
|
|
|
1073
1098
|
type defs_RequiredKeys<T> = RequiredKeys<T>;
|
|
1074
1099
|
type defs_ResourceDependencyValueType<T> = ResourceDependencyValueType<T>;
|
|
1075
1100
|
type defs_ResourceDependencyValuesType<T extends DependencyMapType> = ResourceDependencyValuesType<T>;
|
|
1101
|
+
type defs_ResourceForkInfo = ResourceForkInfo;
|
|
1102
|
+
type defs_ResourceForkOptions = ResourceForkOptions;
|
|
1103
|
+
type defs_ResourceForkRegisterMode = ResourceForkRegisterMode;
|
|
1076
1104
|
type defs_ResourceInitFn<TConfig, TValue extends Promise<any>, TDependencies extends DependencyMapType, TContext, TMeta extends IResourceMeta, TTags extends TagType[], TMiddleware extends ResourceMiddlewareAttachmentType[]> = ResourceInitFn<TConfig, TValue, TDependencies, TContext, TMeta, TTags, TMiddleware>;
|
|
1077
1105
|
type defs_ResourceMiddlewareAttachmentType = ResourceMiddlewareAttachmentType;
|
|
1078
1106
|
type defs_ResourceMiddlewareStoreElementType<TDeps extends DependencyMapType = any> = ResourceMiddlewareStoreElementType<TDeps>;
|
|
@@ -1101,6 +1129,7 @@ declare const defs_symbolMiddlewareConfigured: typeof symbolMiddlewareConfigured
|
|
|
1101
1129
|
declare const defs_symbolOptionalDependency: typeof symbolOptionalDependency;
|
|
1102
1130
|
declare const defs_symbolPhantomTask: typeof symbolPhantomTask;
|
|
1103
1131
|
declare const defs_symbolResource: typeof symbolResource;
|
|
1132
|
+
declare const defs_symbolResourceForkedFrom: typeof symbolResourceForkedFrom;
|
|
1104
1133
|
declare const defs_symbolResourceMiddleware: typeof symbolResourceMiddleware;
|
|
1105
1134
|
declare const defs_symbolResourceWithConfig: typeof symbolResourceWithConfig;
|
|
1106
1135
|
declare const defs_symbolTag: typeof symbolTag;
|
|
@@ -1109,7 +1138,7 @@ declare const defs_symbolTask: typeof symbolTask;
|
|
|
1109
1138
|
declare const defs_symbolTaskMiddleware: typeof symbolTaskMiddleware;
|
|
1110
1139
|
declare const defs_symbolTunneledBy: typeof symbolTunneledBy;
|
|
1111
1140
|
declare namespace defs {
|
|
1112
|
-
export { type defs_CommonPayload as CommonPayload, type defs_DefaultErrorType as DefaultErrorType, type defs_DependencyMapType as DependencyMapType, type defs_DependencyValueType as DependencyValueType, type defs_DependencyValuesType as DependencyValuesType, type defs_ErrorReference as ErrorReference, type defs_EventHandlerType as EventHandlerType, type defs_EventStoreElementType as EventStoreElementType, type defs_ExtractEventPayload as ExtractEventPayload, type defs_ExtractResourceConfig as ExtractResourceConfig, type defs_ExtractResourceValue as ExtractResourceValue, type defs_ExtractTaskInput as ExtractTaskInput, type defs_ExtractTaskOutput as ExtractTaskOutput, type defs_HookStoreElementType as HookStoreElementType, type defs_IAsyncContext as IAsyncContext, type defs_IAsyncContextDefinition as IAsyncContextDefinition, type defs_IAsyncContextMeta as IAsyncContextMeta, type defs_ICacheInstance as ICacheInstance, type defs_IErrorDefinition as IErrorDefinition, type defs_IErrorDefinitionFinal as IErrorDefinitionFinal, type defs_IErrorHelper as IErrorHelper, type defs_IErrorMeta as IErrorMeta, type defs_IEvent as IEvent, type defs_IEventDefinition as IEventDefinition, type defs_IEventEmission as IEventEmission, type defs_IEventMeta as IEventMeta, type defs_IHook as IHook, type defs_IHookDefinition as IHookDefinition, type defs_IMeta as IMeta, type defs_IMiddlewareMeta as IMiddlewareMeta, type defs_IOptionalDependency as IOptionalDependency, type defs_IPhantomTask as IPhantomTask, type defs_IResource as IResource, type defs_IResourceDefinition as IResourceDefinition, type defs_IResourceMeta as IResourceMeta, type defs_IResourceMiddleware as IResourceMiddleware, type defs_IResourceMiddlewareConfigured as IResourceMiddlewareConfigured, type defs_IResourceMiddlewareDefinition as IResourceMiddlewareDefinition, type defs_IResourceMiddlewareExecutionInput as IResourceMiddlewareExecutionInput, type defs_IResourceWithConfig as IResourceWithConfig, type defs_ITag as ITag, type defs_ITagConfigured as ITagConfigured, type defs_ITagDefinition as ITagDefinition, type defs_ITagMeta as ITagMeta, type defs_ITaggable as ITaggable, type defs_ITask as ITask, type defs_ITaskDefinition as ITaskDefinition, type defs_ITaskMeta as ITaskMeta, type defs_ITaskMiddleware as ITaskMiddleware, type defs_ITaskMiddlewareConfigured as ITaskMiddlewareConfigured, type defs_ITaskMiddlewareDefinition as ITaskMiddlewareDefinition, type defs_ITaskMiddlewareExecutionInput as ITaskMiddlewareExecutionInput, type defs_IValidationSchema as IValidationSchema, type defs_OverridableElements as OverridableElements, type defs_RegisterableItems as RegisterableItems, type defs_RequiredKeys as RequiredKeys, type defs_ResourceDependencyValueType as ResourceDependencyValueType, type defs_ResourceDependencyValuesType as ResourceDependencyValuesType, type defs_ResourceInitFn as ResourceInitFn, type defs_ResourceMiddlewareAttachmentType as ResourceMiddlewareAttachmentType, type defs_ResourceMiddlewareStoreElementType as ResourceMiddlewareStoreElementType, type defs_ResourceStoreElementType as ResourceStoreElementType, type defs_RunOptions as RunOptions, defs_RunnerMode as RunnerMode, type defs_TagType as TagType, type defs_TaskCallOptions as TaskCallOptions, type defs_TaskDependencyWithIntercept as TaskDependencyWithIntercept, type defs_TaskLocalInterceptor as TaskLocalInterceptor, type defs_TaskMiddlewareAttachmentType as TaskMiddlewareAttachmentType, type defs_TaskMiddlewareStoreElementType as TaskMiddlewareStoreElementType, type defs_TaskStoreElementType as TaskStoreElementType, type defs_ThrowsList as ThrowsList, type defs_UnionToIntersection as UnionToIntersection, defs_isOneOf as isOneOf, defs_onAnyOf as onAnyOf, defs_symbolAsyncContext as symbolAsyncContext, defs_symbolError as symbolError, defs_symbolEvent as symbolEvent, defs_symbolFilePath as symbolFilePath, defs_symbolHook as symbolHook, defs_symbolMiddleware as symbolMiddleware, defs_symbolMiddlewareConfigured as symbolMiddlewareConfigured, defs_symbolOptionalDependency as symbolOptionalDependency, defs_symbolPhantomTask as symbolPhantomTask, defs_symbolResource as symbolResource, defs_symbolResourceMiddleware as symbolResourceMiddleware, defs_symbolResourceWithConfig as symbolResourceWithConfig, defs_symbolTag as symbolTag, defs_symbolTagConfigured as symbolTagConfigured, defs_symbolTask as symbolTask, defs_symbolTaskMiddleware as symbolTaskMiddleware, defs_symbolTunneledBy as symbolTunneledBy };
|
|
1141
|
+
export { type defs_CommonPayload as CommonPayload, type defs_DefaultErrorType as DefaultErrorType, type defs_DependencyMapType as DependencyMapType, type defs_DependencyValueType as DependencyValueType, type defs_DependencyValuesType as DependencyValuesType, type defs_ErrorReference as ErrorReference, type defs_EventHandlerType as EventHandlerType, type defs_EventStoreElementType as EventStoreElementType, type defs_ExtractEventPayload as ExtractEventPayload, type defs_ExtractResourceConfig as ExtractResourceConfig, type defs_ExtractResourceValue as ExtractResourceValue, type defs_ExtractTaskInput as ExtractTaskInput, type defs_ExtractTaskOutput as ExtractTaskOutput, type defs_HookStoreElementType as HookStoreElementType, type defs_IAsyncContext as IAsyncContext, type defs_IAsyncContextDefinition as IAsyncContextDefinition, type defs_IAsyncContextMeta as IAsyncContextMeta, type defs_ICacheInstance as ICacheInstance, type defs_IErrorDefinition as IErrorDefinition, type defs_IErrorDefinitionFinal as IErrorDefinitionFinal, type defs_IErrorHelper as IErrorHelper, type defs_IErrorMeta as IErrorMeta, type defs_IEvent as IEvent, type defs_IEventDefinition as IEventDefinition, type defs_IEventEmission as IEventEmission, type defs_IEventMeta as IEventMeta, type defs_IHook as IHook, type defs_IHookDefinition as IHookDefinition, type defs_IMeta as IMeta, type defs_IMiddlewareMeta as IMiddlewareMeta, type defs_IOptionalDependency as IOptionalDependency, type defs_IPhantomTask as IPhantomTask, type defs_IResource as IResource, type defs_IResourceDefinition as IResourceDefinition, type defs_IResourceMeta as IResourceMeta, type defs_IResourceMiddleware as IResourceMiddleware, type defs_IResourceMiddlewareConfigured as IResourceMiddlewareConfigured, type defs_IResourceMiddlewareDefinition as IResourceMiddlewareDefinition, type defs_IResourceMiddlewareExecutionInput as IResourceMiddlewareExecutionInput, type defs_IResourceWithConfig as IResourceWithConfig, type defs_ITag as ITag, type defs_ITagConfigured as ITagConfigured, type defs_ITagDefinition as ITagDefinition, type defs_ITagMeta as ITagMeta, type defs_ITaggable as ITaggable, type defs_ITask as ITask, type defs_ITaskDefinition as ITaskDefinition, type defs_ITaskMeta as ITaskMeta, type defs_ITaskMiddleware as ITaskMiddleware, type defs_ITaskMiddlewareConfigured as ITaskMiddlewareConfigured, type defs_ITaskMiddlewareDefinition as ITaskMiddlewareDefinition, type defs_ITaskMiddlewareExecutionInput as ITaskMiddlewareExecutionInput, type defs_IValidationSchema as IValidationSchema, type defs_OverridableElements as OverridableElements, type defs_RegisterableItems as RegisterableItems, type defs_RequiredKeys as RequiredKeys, type defs_ResourceDependencyValueType as ResourceDependencyValueType, type defs_ResourceDependencyValuesType as ResourceDependencyValuesType, type defs_ResourceForkInfo as ResourceForkInfo, type defs_ResourceForkOptions as ResourceForkOptions, type defs_ResourceForkRegisterMode as ResourceForkRegisterMode, type defs_ResourceInitFn as ResourceInitFn, type defs_ResourceMiddlewareAttachmentType as ResourceMiddlewareAttachmentType, type defs_ResourceMiddlewareStoreElementType as ResourceMiddlewareStoreElementType, type defs_ResourceStoreElementType as ResourceStoreElementType, type defs_RunOptions as RunOptions, defs_RunnerMode as RunnerMode, type defs_TagType as TagType, type defs_TaskCallOptions as TaskCallOptions, type defs_TaskDependencyWithIntercept as TaskDependencyWithIntercept, type defs_TaskLocalInterceptor as TaskLocalInterceptor, type defs_TaskMiddlewareAttachmentType as TaskMiddlewareAttachmentType, type defs_TaskMiddlewareStoreElementType as TaskMiddlewareStoreElementType, type defs_TaskStoreElementType as TaskStoreElementType, type defs_ThrowsList as ThrowsList, type defs_UnionToIntersection as UnionToIntersection, defs_isOneOf as isOneOf, defs_onAnyOf as onAnyOf, defs_symbolAsyncContext as symbolAsyncContext, defs_symbolError as symbolError, defs_symbolEvent as symbolEvent, defs_symbolFilePath as symbolFilePath, defs_symbolHook as symbolHook, defs_symbolMiddleware as symbolMiddleware, defs_symbolMiddlewareConfigured as symbolMiddlewareConfigured, defs_symbolOptionalDependency as symbolOptionalDependency, defs_symbolPhantomTask as symbolPhantomTask, defs_symbolResource as symbolResource, defs_symbolResourceForkedFrom as symbolResourceForkedFrom, defs_symbolResourceMiddleware as symbolResourceMiddleware, defs_symbolResourceWithConfig as symbolResourceWithConfig, defs_symbolTag as symbolTag, defs_symbolTagConfigured as symbolTagConfigured, defs_symbolTask as symbolTask, defs_symbolTaskMiddleware as symbolTaskMiddleware, defs_symbolTunneledBy as symbolTunneledBy };
|
|
1113
1142
|
}
|
|
1114
1143
|
|
|
1115
1144
|
interface TaskMiddlewareFluentBuilder<C = any, In = void, Out = void, D extends DependencyMapType = {}> {
|
|
@@ -2887,4 +2916,4 @@ declare const r: Readonly<{
|
|
|
2887
2916
|
}>;
|
|
2888
2917
|
}>;
|
|
2889
2918
|
|
|
2890
|
-
export { type CommonPayload, type DebugConfig, type DebugFriendlyConfig, type DefaultErrorType, type DependencyMapType, DependencyProcessor, type DependencyValueType, type DependencyValuesType, type ErrorReference, errors as Errors, type EventDeliveryMode, type EventEmissionInterceptor, type EventHandlerType, EventManager, type EventStoreElementType, type ExecutionJournal, type ExposureFetchAuthConfig, type ExposureFetchClient, type ExposureFetchConfig, type ExtractEventPayload, type ExtractResourceConfig, type ExtractResourceValue, type ExtractTaskInput, type ExtractTaskOutput, type HookExecutionInterceptor, type HookStoreElementType, type HttpClient, type HttpClientAuth, type HttpClientConfig, type HttpClientFactory, type HttpClientFactoryConfig, type IAsyncContext, type IAsyncContextDefinition, type IAsyncContextMeta, type ICacheInstance, type IErrorDefinition, type IErrorDefinitionFinal, type IErrorHelper, type IErrorMeta, type IEvent, type IEventDefinition, type IEventEmission, type IEventHandlerOptions, type IEventMeta, type IHook, type IHookDefinition, type ILog, type ILogInfo, type IMeta, type IMiddlewareMeta, type IOptionalDependency, type IPhantomTask, type IResource, type IResourceDefinition, type IResourceMeta, type IResourceMiddleware, type IResourceMiddlewareConfigured, type IResourceMiddlewareDefinition, type IResourceMiddlewareExecutionInput, type IResourceWithConfig, type ITag, type ITagConfigured, type ITagDefinition, type ITagMeta, type ITaggable, type ITask, type ITaskDefinition, type ITaskMeta, type ITaskMiddleware, type ITaskMiddlewareConfigured, type ITaskMiddlewareDefinition, type ITaskMiddlewareExecutionInput, type IValidationSchema, type JournalKey, type LogLevels, Logger, MiddlewareManager, type OnUnhandledError, type OnUnhandledErrorInfo, type OverridableElements, PlatformAdapter, type PrintStrategy, Queue, type RegisterableItems, type RequiredKeys, type ResourceDependencyValueType, type ResourceDependencyValuesType, type ResourceInitFn, ResourceInitializer, type ResourceMiddlewareAttachmentType, type ResourceMiddlewareInterceptor, type ResourceMiddlewareStoreElementType, type ResourceStoreElementType, type RunOptions, RunResult, RunnerMode, Semaphore, Serializer, type SerializerOptions, Store, type TagType, type TaskCallOptions, type TaskDependencyWithIntercept, type TaskLocalInterceptor, type TaskMiddlewareAttachmentType, type TaskMiddlewareInterceptor, type TaskMiddlewareStoreElementType, TaskRunner, type TaskStoreElementType, type ThrowsList, type TunnelEventSelector, type TunnelMode, type TunnelRunner, type TunnelTagConfig, type TunnelTaskRunner, type TunnelTaskSelector, type TypeDefinition, type UnhandledErrorKind, type UnionToIntersection, allFalse, defineAsyncContext as asyncContext, bindProcessErrorHandler, createContext, createDefaultUnhandledError, createExposureFetch, createHttpClient, createTestResource, debug, debugLevels, defs as definitions, defineEvent as event, getConfig, getDefaultSerializer, globals, defineHook as hook, isOneOf, journal, levelNormal, levelVerbose, normalizeError, onAnyOf, defineOverride as override, r, defineResource as resource, defineResourceMiddleware as resourceMiddleware, run, safeReportUnhandledError, setPlatform, symbolAsyncContext, symbolError, symbolEvent, symbolFilePath, symbolHook, symbolMiddleware, symbolMiddlewareConfigured, symbolOptionalDependency, symbolPhantomTask, symbolResource, symbolResourceMiddleware, symbolResourceWithConfig, symbolTag, symbolTagConfigured, symbolTask, symbolTaskMiddleware, symbolTunneledBy, defineTag as tag, defineTask as task, defineTaskMiddleware as taskMiddleware };
|
|
2919
|
+
export { type CommonPayload, type DebugConfig, type DebugFriendlyConfig, type DefaultErrorType, type DependencyMapType, DependencyProcessor, type DependencyValueType, type DependencyValuesType, type ErrorReference, errors as Errors, type EventDeliveryMode, type EventEmissionInterceptor, type EventHandlerType, EventManager, type EventStoreElementType, type ExecutionJournal, type ExposureFetchAuthConfig, type ExposureFetchClient, type ExposureFetchConfig, type ExtractEventPayload, type ExtractResourceConfig, type ExtractResourceValue, type ExtractTaskInput, type ExtractTaskOutput, type HookExecutionInterceptor, type HookStoreElementType, type HttpClient, type HttpClientAuth, type HttpClientConfig, type HttpClientFactory, type HttpClientFactoryConfig, type IAsyncContext, type IAsyncContextDefinition, type IAsyncContextMeta, type ICacheInstance, type IErrorDefinition, type IErrorDefinitionFinal, type IErrorHelper, type IErrorMeta, type IEvent, type IEventDefinition, type IEventEmission, type IEventHandlerOptions, type IEventMeta, type IHook, type IHookDefinition, type ILog, type ILogInfo, type IMeta, type IMiddlewareMeta, type IOptionalDependency, type IPhantomTask, type IResource, type IResourceDefinition, type IResourceMeta, type IResourceMiddleware, type IResourceMiddlewareConfigured, type IResourceMiddlewareDefinition, type IResourceMiddlewareExecutionInput, type IResourceWithConfig, type ITag, type ITagConfigured, type ITagDefinition, type ITagMeta, type ITaggable, type ITask, type ITaskDefinition, type ITaskMeta, type ITaskMiddleware, type ITaskMiddlewareConfigured, type ITaskMiddlewareDefinition, type ITaskMiddlewareExecutionInput, type IValidationSchema, type JournalKey, type LogLevels, Logger, MiddlewareManager, type OnUnhandledError, type OnUnhandledErrorInfo, type OverridableElements, PlatformAdapter, type PrintStrategy, Queue, type RegisterableItems, type RequiredKeys, type ResourceDependencyValueType, type ResourceDependencyValuesType, type ResourceForkInfo, type ResourceForkOptions, type ResourceForkRegisterMode, type ResourceInitFn, ResourceInitializer, type ResourceMiddlewareAttachmentType, type ResourceMiddlewareInterceptor, type ResourceMiddlewareStoreElementType, type ResourceStoreElementType, type RunOptions, RunResult, RunnerMode, Semaphore, Serializer, type SerializerOptions, Store, type TagType, type TaskCallOptions, type TaskDependencyWithIntercept, type TaskLocalInterceptor, type TaskMiddlewareAttachmentType, type TaskMiddlewareInterceptor, type TaskMiddlewareStoreElementType, TaskRunner, type TaskStoreElementType, type ThrowsList, type TunnelEventSelector, type TunnelMode, type TunnelRunner, type TunnelTagConfig, type TunnelTaskRunner, type TunnelTaskSelector, type TypeDefinition, type UnhandledErrorKind, type UnionToIntersection, allFalse, defineAsyncContext as asyncContext, bindProcessErrorHandler, createContext, createDefaultUnhandledError, createExposureFetch, createHttpClient, createTestResource, debug, debugLevels, defs as definitions, defineEvent as event, getConfig, getDefaultSerializer, globals, defineHook as hook, isOneOf, journal, levelNormal, levelVerbose, normalizeError, onAnyOf, defineOverride as override, r, defineResource as resource, defineResourceMiddleware as resourceMiddleware, run, safeReportUnhandledError, setPlatform, symbolAsyncContext, symbolError, symbolEvent, symbolFilePath, symbolHook, symbolMiddleware, symbolMiddlewareConfigured, symbolOptionalDependency, symbolPhantomTask, symbolResource, symbolResourceForkedFrom, symbolResourceMiddleware, symbolResourceWithConfig, symbolTag, symbolTagConfigured, symbolTask, symbolTaskMiddleware, symbolTunneledBy, defineTag as tag, defineTask as task, defineTaskMiddleware as taskMiddleware };
|
package/dist/edge/index.d.ts
CHANGED
|
@@ -129,6 +129,8 @@ declare const symbolTask: unique symbol;
|
|
|
129
129
|
/** Marks a task as a phantom task (no-op run; meant to be tunneled/routed). */
|
|
130
130
|
declare const symbolPhantomTask: unique symbol;
|
|
131
131
|
declare const symbolResource: unique symbol;
|
|
132
|
+
/** @internal Marks forked resources and records fork provenance */
|
|
133
|
+
declare const symbolResourceForkedFrom: unique symbol;
|
|
132
134
|
declare const symbolResourceWithConfig: unique symbol;
|
|
133
135
|
declare const symbolEvent: unique symbol;
|
|
134
136
|
/** @internal Marks an error helper definition */
|
|
@@ -229,6 +231,27 @@ interface IErrorHelper<TData extends DefaultErrorType = DefaultErrorType> {
|
|
|
229
231
|
optional(): IOptionalDependency<IErrorHelper<TData>>;
|
|
230
232
|
}
|
|
231
233
|
|
|
234
|
+
type ResourceForkRegisterMode = "keep" | "drop" | "deep";
|
|
235
|
+
interface ResourceForkOptions {
|
|
236
|
+
/**
|
|
237
|
+
* Control whether the fork keeps the base `register` list.
|
|
238
|
+
* - "keep" (default) keeps registration items
|
|
239
|
+
* - "drop" clears registration items
|
|
240
|
+
* - "deep" deep-forks registered resources with new ids (resource tree)
|
|
241
|
+
*/
|
|
242
|
+
register?: ResourceForkRegisterMode;
|
|
243
|
+
/**
|
|
244
|
+
* Used with `register: "deep"` to derive ids for deep-forked resources.
|
|
245
|
+
* Defaults to `(id) => \`\${newId}.\${id}\``.
|
|
246
|
+
*/
|
|
247
|
+
reId?: (id: string) => string;
|
|
248
|
+
}
|
|
249
|
+
interface ResourceForkInfo {
|
|
250
|
+
/** The id of the resource that was forked. */
|
|
251
|
+
readonly fromId: string;
|
|
252
|
+
/** Best-effort call-site file path for the fork operation. */
|
|
253
|
+
readonly forkedAtFilePath: string;
|
|
254
|
+
}
|
|
232
255
|
type IsAny<T> = 0 extends 1 & T ? true : false;
|
|
233
256
|
type IsUnspecified<T> = [T] extends [undefined] ? true : [T] extends [void] ? true : IsAny<T> extends true ? true : false;
|
|
234
257
|
interface IResourceDefinition<TConfig = any, TValue extends Promise<any> = Promise<any>, TDependencies extends DependencyMapType = {}, TContext = any, _THooks = any, _TRegisterableItems = any, TMeta extends IResourceMeta = any, TTags extends TagType[] = TagType[], TMiddleware extends ResourceMiddlewareAttachmentType[] = ResourceMiddlewareAttachmentType[]> {
|
|
@@ -307,6 +330,8 @@ interface IResource<TConfig = void, TValue extends Promise<any> = Promise<any>,
|
|
|
307
330
|
middleware: TMiddleware;
|
|
308
331
|
[symbolFilePath]: string;
|
|
309
332
|
[symbolResource]: true;
|
|
333
|
+
/** Present only on forked resources. */
|
|
334
|
+
[symbolResourceForkedFrom]?: ResourceForkInfo;
|
|
310
335
|
/** Normalized list of error ids declared via `throws`. */
|
|
311
336
|
throws?: readonly string[];
|
|
312
337
|
/** Return an optional dependency wrapper for this resource. */
|
|
@@ -317,7 +342,7 @@ interface IResource<TConfig = void, TValue extends Promise<any> = Promise<any>,
|
|
|
317
342
|
* Useful for creating multiple instances of a "template" resource.
|
|
318
343
|
* The forked resource should be exported and used as a dependency.
|
|
319
344
|
*/
|
|
320
|
-
fork(newId: string): IResource<TConfig, TValue, TDependencies, TContext, TMeta, TTags, TMiddleware>;
|
|
345
|
+
fork(newId: string, options?: ResourceForkOptions): IResource<TConfig, TValue, TDependencies, TContext, TMeta, TTags, TMiddleware>;
|
|
321
346
|
}
|
|
322
347
|
interface IResourceWithConfig<TConfig = any, TValue extends Promise<any> = Promise<any>, TDependencies extends DependencyMapType = any, TContext = any, TMeta extends IResourceMeta = any, TTags extends TagType[] = TagType[], TMiddleware extends IResourceMiddleware<any, any, any, any>[] = IResourceMiddleware[]> {
|
|
323
348
|
[symbolResourceWithConfig]: true;
|
|
@@ -1073,6 +1098,9 @@ type defs_RegisterableItems = RegisterableItems;
|
|
|
1073
1098
|
type defs_RequiredKeys<T> = RequiredKeys<T>;
|
|
1074
1099
|
type defs_ResourceDependencyValueType<T> = ResourceDependencyValueType<T>;
|
|
1075
1100
|
type defs_ResourceDependencyValuesType<T extends DependencyMapType> = ResourceDependencyValuesType<T>;
|
|
1101
|
+
type defs_ResourceForkInfo = ResourceForkInfo;
|
|
1102
|
+
type defs_ResourceForkOptions = ResourceForkOptions;
|
|
1103
|
+
type defs_ResourceForkRegisterMode = ResourceForkRegisterMode;
|
|
1076
1104
|
type defs_ResourceInitFn<TConfig, TValue extends Promise<any>, TDependencies extends DependencyMapType, TContext, TMeta extends IResourceMeta, TTags extends TagType[], TMiddleware extends ResourceMiddlewareAttachmentType[]> = ResourceInitFn<TConfig, TValue, TDependencies, TContext, TMeta, TTags, TMiddleware>;
|
|
1077
1105
|
type defs_ResourceMiddlewareAttachmentType = ResourceMiddlewareAttachmentType;
|
|
1078
1106
|
type defs_ResourceMiddlewareStoreElementType<TDeps extends DependencyMapType = any> = ResourceMiddlewareStoreElementType<TDeps>;
|
|
@@ -1101,6 +1129,7 @@ declare const defs_symbolMiddlewareConfigured: typeof symbolMiddlewareConfigured
|
|
|
1101
1129
|
declare const defs_symbolOptionalDependency: typeof symbolOptionalDependency;
|
|
1102
1130
|
declare const defs_symbolPhantomTask: typeof symbolPhantomTask;
|
|
1103
1131
|
declare const defs_symbolResource: typeof symbolResource;
|
|
1132
|
+
declare const defs_symbolResourceForkedFrom: typeof symbolResourceForkedFrom;
|
|
1104
1133
|
declare const defs_symbolResourceMiddleware: typeof symbolResourceMiddleware;
|
|
1105
1134
|
declare const defs_symbolResourceWithConfig: typeof symbolResourceWithConfig;
|
|
1106
1135
|
declare const defs_symbolTag: typeof symbolTag;
|
|
@@ -1109,7 +1138,7 @@ declare const defs_symbolTask: typeof symbolTask;
|
|
|
1109
1138
|
declare const defs_symbolTaskMiddleware: typeof symbolTaskMiddleware;
|
|
1110
1139
|
declare const defs_symbolTunneledBy: typeof symbolTunneledBy;
|
|
1111
1140
|
declare namespace defs {
|
|
1112
|
-
export { type defs_CommonPayload as CommonPayload, type defs_DefaultErrorType as DefaultErrorType, type defs_DependencyMapType as DependencyMapType, type defs_DependencyValueType as DependencyValueType, type defs_DependencyValuesType as DependencyValuesType, type defs_ErrorReference as ErrorReference, type defs_EventHandlerType as EventHandlerType, type defs_EventStoreElementType as EventStoreElementType, type defs_ExtractEventPayload as ExtractEventPayload, type defs_ExtractResourceConfig as ExtractResourceConfig, type defs_ExtractResourceValue as ExtractResourceValue, type defs_ExtractTaskInput as ExtractTaskInput, type defs_ExtractTaskOutput as ExtractTaskOutput, type defs_HookStoreElementType as HookStoreElementType, type defs_IAsyncContext as IAsyncContext, type defs_IAsyncContextDefinition as IAsyncContextDefinition, type defs_IAsyncContextMeta as IAsyncContextMeta, type defs_ICacheInstance as ICacheInstance, type defs_IErrorDefinition as IErrorDefinition, type defs_IErrorDefinitionFinal as IErrorDefinitionFinal, type defs_IErrorHelper as IErrorHelper, type defs_IErrorMeta as IErrorMeta, type defs_IEvent as IEvent, type defs_IEventDefinition as IEventDefinition, type defs_IEventEmission as IEventEmission, type defs_IEventMeta as IEventMeta, type defs_IHook as IHook, type defs_IHookDefinition as IHookDefinition, type defs_IMeta as IMeta, type defs_IMiddlewareMeta as IMiddlewareMeta, type defs_IOptionalDependency as IOptionalDependency, type defs_IPhantomTask as IPhantomTask, type defs_IResource as IResource, type defs_IResourceDefinition as IResourceDefinition, type defs_IResourceMeta as IResourceMeta, type defs_IResourceMiddleware as IResourceMiddleware, type defs_IResourceMiddlewareConfigured as IResourceMiddlewareConfigured, type defs_IResourceMiddlewareDefinition as IResourceMiddlewareDefinition, type defs_IResourceMiddlewareExecutionInput as IResourceMiddlewareExecutionInput, type defs_IResourceWithConfig as IResourceWithConfig, type defs_ITag as ITag, type defs_ITagConfigured as ITagConfigured, type defs_ITagDefinition as ITagDefinition, type defs_ITagMeta as ITagMeta, type defs_ITaggable as ITaggable, type defs_ITask as ITask, type defs_ITaskDefinition as ITaskDefinition, type defs_ITaskMeta as ITaskMeta, type defs_ITaskMiddleware as ITaskMiddleware, type defs_ITaskMiddlewareConfigured as ITaskMiddlewareConfigured, type defs_ITaskMiddlewareDefinition as ITaskMiddlewareDefinition, type defs_ITaskMiddlewareExecutionInput as ITaskMiddlewareExecutionInput, type defs_IValidationSchema as IValidationSchema, type defs_OverridableElements as OverridableElements, type defs_RegisterableItems as RegisterableItems, type defs_RequiredKeys as RequiredKeys, type defs_ResourceDependencyValueType as ResourceDependencyValueType, type defs_ResourceDependencyValuesType as ResourceDependencyValuesType, type defs_ResourceInitFn as ResourceInitFn, type defs_ResourceMiddlewareAttachmentType as ResourceMiddlewareAttachmentType, type defs_ResourceMiddlewareStoreElementType as ResourceMiddlewareStoreElementType, type defs_ResourceStoreElementType as ResourceStoreElementType, type defs_RunOptions as RunOptions, defs_RunnerMode as RunnerMode, type defs_TagType as TagType, type defs_TaskCallOptions as TaskCallOptions, type defs_TaskDependencyWithIntercept as TaskDependencyWithIntercept, type defs_TaskLocalInterceptor as TaskLocalInterceptor, type defs_TaskMiddlewareAttachmentType as TaskMiddlewareAttachmentType, type defs_TaskMiddlewareStoreElementType as TaskMiddlewareStoreElementType, type defs_TaskStoreElementType as TaskStoreElementType, type defs_ThrowsList as ThrowsList, type defs_UnionToIntersection as UnionToIntersection, defs_isOneOf as isOneOf, defs_onAnyOf as onAnyOf, defs_symbolAsyncContext as symbolAsyncContext, defs_symbolError as symbolError, defs_symbolEvent as symbolEvent, defs_symbolFilePath as symbolFilePath, defs_symbolHook as symbolHook, defs_symbolMiddleware as symbolMiddleware, defs_symbolMiddlewareConfigured as symbolMiddlewareConfigured, defs_symbolOptionalDependency as symbolOptionalDependency, defs_symbolPhantomTask as symbolPhantomTask, defs_symbolResource as symbolResource, defs_symbolResourceMiddleware as symbolResourceMiddleware, defs_symbolResourceWithConfig as symbolResourceWithConfig, defs_symbolTag as symbolTag, defs_symbolTagConfigured as symbolTagConfigured, defs_symbolTask as symbolTask, defs_symbolTaskMiddleware as symbolTaskMiddleware, defs_symbolTunneledBy as symbolTunneledBy };
|
|
1141
|
+
export { type defs_CommonPayload as CommonPayload, type defs_DefaultErrorType as DefaultErrorType, type defs_DependencyMapType as DependencyMapType, type defs_DependencyValueType as DependencyValueType, type defs_DependencyValuesType as DependencyValuesType, type defs_ErrorReference as ErrorReference, type defs_EventHandlerType as EventHandlerType, type defs_EventStoreElementType as EventStoreElementType, type defs_ExtractEventPayload as ExtractEventPayload, type defs_ExtractResourceConfig as ExtractResourceConfig, type defs_ExtractResourceValue as ExtractResourceValue, type defs_ExtractTaskInput as ExtractTaskInput, type defs_ExtractTaskOutput as ExtractTaskOutput, type defs_HookStoreElementType as HookStoreElementType, type defs_IAsyncContext as IAsyncContext, type defs_IAsyncContextDefinition as IAsyncContextDefinition, type defs_IAsyncContextMeta as IAsyncContextMeta, type defs_ICacheInstance as ICacheInstance, type defs_IErrorDefinition as IErrorDefinition, type defs_IErrorDefinitionFinal as IErrorDefinitionFinal, type defs_IErrorHelper as IErrorHelper, type defs_IErrorMeta as IErrorMeta, type defs_IEvent as IEvent, type defs_IEventDefinition as IEventDefinition, type defs_IEventEmission as IEventEmission, type defs_IEventMeta as IEventMeta, type defs_IHook as IHook, type defs_IHookDefinition as IHookDefinition, type defs_IMeta as IMeta, type defs_IMiddlewareMeta as IMiddlewareMeta, type defs_IOptionalDependency as IOptionalDependency, type defs_IPhantomTask as IPhantomTask, type defs_IResource as IResource, type defs_IResourceDefinition as IResourceDefinition, type defs_IResourceMeta as IResourceMeta, type defs_IResourceMiddleware as IResourceMiddleware, type defs_IResourceMiddlewareConfigured as IResourceMiddlewareConfigured, type defs_IResourceMiddlewareDefinition as IResourceMiddlewareDefinition, type defs_IResourceMiddlewareExecutionInput as IResourceMiddlewareExecutionInput, type defs_IResourceWithConfig as IResourceWithConfig, type defs_ITag as ITag, type defs_ITagConfigured as ITagConfigured, type defs_ITagDefinition as ITagDefinition, type defs_ITagMeta as ITagMeta, type defs_ITaggable as ITaggable, type defs_ITask as ITask, type defs_ITaskDefinition as ITaskDefinition, type defs_ITaskMeta as ITaskMeta, type defs_ITaskMiddleware as ITaskMiddleware, type defs_ITaskMiddlewareConfigured as ITaskMiddlewareConfigured, type defs_ITaskMiddlewareDefinition as ITaskMiddlewareDefinition, type defs_ITaskMiddlewareExecutionInput as ITaskMiddlewareExecutionInput, type defs_IValidationSchema as IValidationSchema, type defs_OverridableElements as OverridableElements, type defs_RegisterableItems as RegisterableItems, type defs_RequiredKeys as RequiredKeys, type defs_ResourceDependencyValueType as ResourceDependencyValueType, type defs_ResourceDependencyValuesType as ResourceDependencyValuesType, type defs_ResourceForkInfo as ResourceForkInfo, type defs_ResourceForkOptions as ResourceForkOptions, type defs_ResourceForkRegisterMode as ResourceForkRegisterMode, type defs_ResourceInitFn as ResourceInitFn, type defs_ResourceMiddlewareAttachmentType as ResourceMiddlewareAttachmentType, type defs_ResourceMiddlewareStoreElementType as ResourceMiddlewareStoreElementType, type defs_ResourceStoreElementType as ResourceStoreElementType, type defs_RunOptions as RunOptions, defs_RunnerMode as RunnerMode, type defs_TagType as TagType, type defs_TaskCallOptions as TaskCallOptions, type defs_TaskDependencyWithIntercept as TaskDependencyWithIntercept, type defs_TaskLocalInterceptor as TaskLocalInterceptor, type defs_TaskMiddlewareAttachmentType as TaskMiddlewareAttachmentType, type defs_TaskMiddlewareStoreElementType as TaskMiddlewareStoreElementType, type defs_TaskStoreElementType as TaskStoreElementType, type defs_ThrowsList as ThrowsList, type defs_UnionToIntersection as UnionToIntersection, defs_isOneOf as isOneOf, defs_onAnyOf as onAnyOf, defs_symbolAsyncContext as symbolAsyncContext, defs_symbolError as symbolError, defs_symbolEvent as symbolEvent, defs_symbolFilePath as symbolFilePath, defs_symbolHook as symbolHook, defs_symbolMiddleware as symbolMiddleware, defs_symbolMiddlewareConfigured as symbolMiddlewareConfigured, defs_symbolOptionalDependency as symbolOptionalDependency, defs_symbolPhantomTask as symbolPhantomTask, defs_symbolResource as symbolResource, defs_symbolResourceForkedFrom as symbolResourceForkedFrom, defs_symbolResourceMiddleware as symbolResourceMiddleware, defs_symbolResourceWithConfig as symbolResourceWithConfig, defs_symbolTag as symbolTag, defs_symbolTagConfigured as symbolTagConfigured, defs_symbolTask as symbolTask, defs_symbolTaskMiddleware as symbolTaskMiddleware, defs_symbolTunneledBy as symbolTunneledBy };
|
|
1113
1142
|
}
|
|
1114
1143
|
|
|
1115
1144
|
interface TaskMiddlewareFluentBuilder<C = any, In = void, Out = void, D extends DependencyMapType = {}> {
|
|
@@ -2887,4 +2916,4 @@ declare const r: Readonly<{
|
|
|
2887
2916
|
}>;
|
|
2888
2917
|
}>;
|
|
2889
2918
|
|
|
2890
|
-
export { type CommonPayload, type DebugConfig, type DebugFriendlyConfig, type DefaultErrorType, type DependencyMapType, DependencyProcessor, type DependencyValueType, type DependencyValuesType, type ErrorReference, errors as Errors, type EventDeliveryMode, type EventEmissionInterceptor, type EventHandlerType, EventManager, type EventStoreElementType, type ExecutionJournal, type ExposureFetchAuthConfig, type ExposureFetchClient, type ExposureFetchConfig, type ExtractEventPayload, type ExtractResourceConfig, type ExtractResourceValue, type ExtractTaskInput, type ExtractTaskOutput, type HookExecutionInterceptor, type HookStoreElementType, type HttpClient, type HttpClientAuth, type HttpClientConfig, type HttpClientFactory, type HttpClientFactoryConfig, type IAsyncContext, type IAsyncContextDefinition, type IAsyncContextMeta, type ICacheInstance, type IErrorDefinition, type IErrorDefinitionFinal, type IErrorHelper, type IErrorMeta, type IEvent, type IEventDefinition, type IEventEmission, type IEventHandlerOptions, type IEventMeta, type IHook, type IHookDefinition, type ILog, type ILogInfo, type IMeta, type IMiddlewareMeta, type IOptionalDependency, type IPhantomTask, type IResource, type IResourceDefinition, type IResourceMeta, type IResourceMiddleware, type IResourceMiddlewareConfigured, type IResourceMiddlewareDefinition, type IResourceMiddlewareExecutionInput, type IResourceWithConfig, type ITag, type ITagConfigured, type ITagDefinition, type ITagMeta, type ITaggable, type ITask, type ITaskDefinition, type ITaskMeta, type ITaskMiddleware, type ITaskMiddlewareConfigured, type ITaskMiddlewareDefinition, type ITaskMiddlewareExecutionInput, type IValidationSchema, type JournalKey, type LogLevels, Logger, MiddlewareManager, type OnUnhandledError, type OnUnhandledErrorInfo, type OverridableElements, PlatformAdapter, type PrintStrategy, Queue, type RegisterableItems, type RequiredKeys, type ResourceDependencyValueType, type ResourceDependencyValuesType, type ResourceInitFn, ResourceInitializer, type ResourceMiddlewareAttachmentType, type ResourceMiddlewareInterceptor, type ResourceMiddlewareStoreElementType, type ResourceStoreElementType, type RunOptions, RunResult, RunnerMode, Semaphore, Serializer, type SerializerOptions, Store, type TagType, type TaskCallOptions, type TaskDependencyWithIntercept, type TaskLocalInterceptor, type TaskMiddlewareAttachmentType, type TaskMiddlewareInterceptor, type TaskMiddlewareStoreElementType, TaskRunner, type TaskStoreElementType, type ThrowsList, type TunnelEventSelector, type TunnelMode, type TunnelRunner, type TunnelTagConfig, type TunnelTaskRunner, type TunnelTaskSelector, type TypeDefinition, type UnhandledErrorKind, type UnionToIntersection, allFalse, defineAsyncContext as asyncContext, bindProcessErrorHandler, createContext, createDefaultUnhandledError, createExposureFetch, createHttpClient, createTestResource, debug, debugLevels, defs as definitions, defineEvent as event, getConfig, getDefaultSerializer, globals, defineHook as hook, isOneOf, journal, levelNormal, levelVerbose, normalizeError, onAnyOf, defineOverride as override, r, defineResource as resource, defineResourceMiddleware as resourceMiddleware, run, safeReportUnhandledError, setPlatform, symbolAsyncContext, symbolError, symbolEvent, symbolFilePath, symbolHook, symbolMiddleware, symbolMiddlewareConfigured, symbolOptionalDependency, symbolPhantomTask, symbolResource, symbolResourceMiddleware, symbolResourceWithConfig, symbolTag, symbolTagConfigured, symbolTask, symbolTaskMiddleware, symbolTunneledBy, defineTag as tag, defineTask as task, defineTaskMiddleware as taskMiddleware };
|
|
2919
|
+
export { type CommonPayload, type DebugConfig, type DebugFriendlyConfig, type DefaultErrorType, type DependencyMapType, DependencyProcessor, type DependencyValueType, type DependencyValuesType, type ErrorReference, errors as Errors, type EventDeliveryMode, type EventEmissionInterceptor, type EventHandlerType, EventManager, type EventStoreElementType, type ExecutionJournal, type ExposureFetchAuthConfig, type ExposureFetchClient, type ExposureFetchConfig, type ExtractEventPayload, type ExtractResourceConfig, type ExtractResourceValue, type ExtractTaskInput, type ExtractTaskOutput, type HookExecutionInterceptor, type HookStoreElementType, type HttpClient, type HttpClientAuth, type HttpClientConfig, type HttpClientFactory, type HttpClientFactoryConfig, type IAsyncContext, type IAsyncContextDefinition, type IAsyncContextMeta, type ICacheInstance, type IErrorDefinition, type IErrorDefinitionFinal, type IErrorHelper, type IErrorMeta, type IEvent, type IEventDefinition, type IEventEmission, type IEventHandlerOptions, type IEventMeta, type IHook, type IHookDefinition, type ILog, type ILogInfo, type IMeta, type IMiddlewareMeta, type IOptionalDependency, type IPhantomTask, type IResource, type IResourceDefinition, type IResourceMeta, type IResourceMiddleware, type IResourceMiddlewareConfigured, type IResourceMiddlewareDefinition, type IResourceMiddlewareExecutionInput, type IResourceWithConfig, type ITag, type ITagConfigured, type ITagDefinition, type ITagMeta, type ITaggable, type ITask, type ITaskDefinition, type ITaskMeta, type ITaskMiddleware, type ITaskMiddlewareConfigured, type ITaskMiddlewareDefinition, type ITaskMiddlewareExecutionInput, type IValidationSchema, type JournalKey, type LogLevels, Logger, MiddlewareManager, type OnUnhandledError, type OnUnhandledErrorInfo, type OverridableElements, PlatformAdapter, type PrintStrategy, Queue, type RegisterableItems, type RequiredKeys, type ResourceDependencyValueType, type ResourceDependencyValuesType, type ResourceForkInfo, type ResourceForkOptions, type ResourceForkRegisterMode, type ResourceInitFn, ResourceInitializer, type ResourceMiddlewareAttachmentType, type ResourceMiddlewareInterceptor, type ResourceMiddlewareStoreElementType, type ResourceStoreElementType, type RunOptions, RunResult, RunnerMode, Semaphore, Serializer, type SerializerOptions, Store, type TagType, type TaskCallOptions, type TaskDependencyWithIntercept, type TaskLocalInterceptor, type TaskMiddlewareAttachmentType, type TaskMiddlewareInterceptor, type TaskMiddlewareStoreElementType, TaskRunner, type TaskStoreElementType, type ThrowsList, type TunnelEventSelector, type TunnelMode, type TunnelRunner, type TunnelTagConfig, type TunnelTaskRunner, type TunnelTaskSelector, type TypeDefinition, type UnhandledErrorKind, type UnionToIntersection, allFalse, defineAsyncContext as asyncContext, bindProcessErrorHandler, createContext, createDefaultUnhandledError, createExposureFetch, createHttpClient, createTestResource, debug, debugLevels, defs as definitions, defineEvent as event, getConfig, getDefaultSerializer, globals, defineHook as hook, isOneOf, journal, levelNormal, levelVerbose, normalizeError, onAnyOf, defineOverride as override, r, defineResource as resource, defineResourceMiddleware as resourceMiddleware, run, safeReportUnhandledError, setPlatform, symbolAsyncContext, symbolError, symbolEvent, symbolFilePath, symbolHook, symbolMiddleware, symbolMiddlewareConfigured, symbolOptionalDependency, symbolPhantomTask, symbolResource, symbolResourceForkedFrom, symbolResourceMiddleware, symbolResourceWithConfig, symbolTag, symbolTagConfigured, symbolTask, symbolTaskMiddleware, symbolTunneledBy, defineTag as tag, defineTask as task, defineTaskMiddleware as taskMiddleware };
|
package/dist/edge/index.mjs
CHANGED
|
@@ -164,6 +164,9 @@ var symbolPhantomTask = Symbol.for(
|
|
|
164
164
|
"runner.task.phantom"
|
|
165
165
|
);
|
|
166
166
|
var symbolResource = Symbol.for("runner.resource");
|
|
167
|
+
var symbolResourceForkedFrom = Symbol.for(
|
|
168
|
+
"runner.resourceForkedFrom"
|
|
169
|
+
);
|
|
167
170
|
var symbolResourceWithConfig = Symbol.for(
|
|
168
171
|
"runner.resourceWithConfig"
|
|
169
172
|
);
|
|
@@ -896,6 +899,7 @@ __export(defs_exports, {
|
|
|
896
899
|
symbolOptionalDependency: () => symbolOptionalDependency,
|
|
897
900
|
symbolPhantomTask: () => symbolPhantomTask,
|
|
898
901
|
symbolResource: () => symbolResource,
|
|
902
|
+
symbolResourceForkedFrom: () => symbolResourceForkedFrom,
|
|
899
903
|
symbolResourceMiddleware: () => symbolResourceMiddleware,
|
|
900
904
|
symbolResourceWithConfig: () => symbolResourceWithConfig,
|
|
901
905
|
symbolTag: () => symbolTag,
|
|
@@ -1062,6 +1066,188 @@ function defineHook(hookDef) {
|
|
|
1062
1066
|
}
|
|
1063
1067
|
__name(defineHook, "defineHook");
|
|
1064
1068
|
|
|
1069
|
+
// src/definers/resourceFork.ts
|
|
1070
|
+
function resolveReId(forkId, options) {
|
|
1071
|
+
const fallback = /* @__PURE__ */ __name((id2) => `${forkId}.${id2}`, "fallback");
|
|
1072
|
+
const reId = options?.reId ?? fallback;
|
|
1073
|
+
return (id2) => {
|
|
1074
|
+
const next = reId(id2);
|
|
1075
|
+
if (typeof next !== "string" || next.length === 0) {
|
|
1076
|
+
throw new Error(`fork(reId) must return a non-empty string for "${id2}"`);
|
|
1077
|
+
}
|
|
1078
|
+
return next;
|
|
1079
|
+
};
|
|
1080
|
+
}
|
|
1081
|
+
__name(resolveReId, "resolveReId");
|
|
1082
|
+
function remapResourceDependenciesInObject(deps, options) {
|
|
1083
|
+
const remapObject = /* @__PURE__ */ __name((deps2) => {
|
|
1084
|
+
const out = { ...deps2 };
|
|
1085
|
+
for (const [key, value] of Object.entries(deps2)) {
|
|
1086
|
+
if (isOptional(value)) {
|
|
1087
|
+
const inner = value.inner;
|
|
1088
|
+
if (isResource(inner)) {
|
|
1089
|
+
const forked = options.getForkedResourceByBaseId(inner.id);
|
|
1090
|
+
if (forked) {
|
|
1091
|
+
out[key] = { ...value, inner: forked };
|
|
1092
|
+
}
|
|
1093
|
+
}
|
|
1094
|
+
continue;
|
|
1095
|
+
}
|
|
1096
|
+
if (isResource(value)) {
|
|
1097
|
+
const forked = options.getForkedResourceByBaseId(value.id);
|
|
1098
|
+
if (forked) {
|
|
1099
|
+
out[key] = forked;
|
|
1100
|
+
}
|
|
1101
|
+
}
|
|
1102
|
+
}
|
|
1103
|
+
return out;
|
|
1104
|
+
}, "remapObject");
|
|
1105
|
+
return remapObject(deps);
|
|
1106
|
+
}
|
|
1107
|
+
__name(remapResourceDependenciesInObject, "remapResourceDependenciesInObject");
|
|
1108
|
+
function toResourceOnlyRegisterItems(items) {
|
|
1109
|
+
const out = [];
|
|
1110
|
+
for (const item of items) {
|
|
1111
|
+
if (isResourceWithConfig(item)) {
|
|
1112
|
+
out.push({
|
|
1113
|
+
kind: "withConfig",
|
|
1114
|
+
resource: item.resource,
|
|
1115
|
+
config: item.config
|
|
1116
|
+
});
|
|
1117
|
+
continue;
|
|
1118
|
+
}
|
|
1119
|
+
if (isResource(item)) {
|
|
1120
|
+
out.push({ kind: "resource", resource: item });
|
|
1121
|
+
continue;
|
|
1122
|
+
}
|
|
1123
|
+
}
|
|
1124
|
+
return out;
|
|
1125
|
+
}
|
|
1126
|
+
__name(toResourceOnlyRegisterItems, "toResourceOnlyRegisterItems");
|
|
1127
|
+
function createDeepForkContext(forkId, options) {
|
|
1128
|
+
const reId = resolveReId(forkId, options);
|
|
1129
|
+
const forkedResourceByBaseId = /* @__PURE__ */ new Map();
|
|
1130
|
+
const ensureForked = /* @__PURE__ */ __name((base) => {
|
|
1131
|
+
const cached = forkedResourceByBaseId.get(base.id);
|
|
1132
|
+
if (cached) return cached;
|
|
1133
|
+
const forked = base.fork(reId(base.id), { register: "drop" });
|
|
1134
|
+
forkedResourceByBaseId.set(base.id, forked);
|
|
1135
|
+
const baseRegister = base.register;
|
|
1136
|
+
const ensureForkedForRegisterConfig = /* @__PURE__ */ __name((config) => {
|
|
1137
|
+
const items = typeof baseRegister === "function" ? baseRegister(config) : baseRegister;
|
|
1138
|
+
for (const candidate of toResourceOnlyRegisterItems(items)) {
|
|
1139
|
+
ensureForked(candidate.resource);
|
|
1140
|
+
}
|
|
1141
|
+
return items;
|
|
1142
|
+
}, "ensureForkedForRegisterConfig");
|
|
1143
|
+
const mapRegisterItems2 = /* @__PURE__ */ __name((items) => {
|
|
1144
|
+
const resourceItems = toResourceOnlyRegisterItems(items);
|
|
1145
|
+
const out = [];
|
|
1146
|
+
for (const candidate of resourceItems) {
|
|
1147
|
+
if (candidate.kind === "resource") {
|
|
1148
|
+
out.push(ensureForked(candidate.resource));
|
|
1149
|
+
continue;
|
|
1150
|
+
}
|
|
1151
|
+
out.push(ensureForked(candidate.resource).with(candidate.config));
|
|
1152
|
+
}
|
|
1153
|
+
return out;
|
|
1154
|
+
}, "mapRegisterItems");
|
|
1155
|
+
forked.register = typeof baseRegister === "function" ? (config) => {
|
|
1156
|
+
const items = ensureForkedForRegisterConfig(config);
|
|
1157
|
+
return mapRegisterItems2(items);
|
|
1158
|
+
} : (() => {
|
|
1159
|
+
ensureForkedForRegisterConfig(void 0);
|
|
1160
|
+
return mapRegisterItems2(baseRegister);
|
|
1161
|
+
})();
|
|
1162
|
+
const baseDependencies = base.dependencies;
|
|
1163
|
+
const remapDepsObject = /* @__PURE__ */ __name((deps) => remapResourceDependenciesInObject(deps, {
|
|
1164
|
+
getForkedResourceByBaseId: /* @__PURE__ */ __name((id2) => forkedResourceByBaseId.get(id2), "getForkedResourceByBaseId")
|
|
1165
|
+
}), "remapDepsObject");
|
|
1166
|
+
if (!baseDependencies) {
|
|
1167
|
+
forked.dependencies = baseDependencies;
|
|
1168
|
+
} else {
|
|
1169
|
+
forked.dependencies = (config) => {
|
|
1170
|
+
ensureForkedForRegisterConfig(config);
|
|
1171
|
+
const deps = typeof baseDependencies === "function" ? baseDependencies(config) : baseDependencies;
|
|
1172
|
+
return remapDepsObject(deps);
|
|
1173
|
+
};
|
|
1174
|
+
}
|
|
1175
|
+
return forked;
|
|
1176
|
+
}, "ensureForked");
|
|
1177
|
+
const ensureForkedForRegisterItems = /* @__PURE__ */ __name((items) => {
|
|
1178
|
+
for (const candidate of toResourceOnlyRegisterItems(items)) {
|
|
1179
|
+
ensureForked(candidate.resource);
|
|
1180
|
+
}
|
|
1181
|
+
}, "ensureForkedForRegisterItems");
|
|
1182
|
+
const mapRegisterItems = /* @__PURE__ */ __name((items) => {
|
|
1183
|
+
ensureForkedForRegisterItems(items);
|
|
1184
|
+
const resourceItems = toResourceOnlyRegisterItems(items);
|
|
1185
|
+
const out = [];
|
|
1186
|
+
for (const candidate of resourceItems) {
|
|
1187
|
+
if (candidate.kind === "resource") {
|
|
1188
|
+
out.push(ensureForked(candidate.resource));
|
|
1189
|
+
continue;
|
|
1190
|
+
}
|
|
1191
|
+
out.push(ensureForked(candidate.resource).with(candidate.config));
|
|
1192
|
+
}
|
|
1193
|
+
return out;
|
|
1194
|
+
}, "mapRegisterItems");
|
|
1195
|
+
const remapDependencies = /* @__PURE__ */ __name((dependencies) => {
|
|
1196
|
+
if (!dependencies) return dependencies;
|
|
1197
|
+
const remapObj = /* @__PURE__ */ __name((deps) => remapResourceDependenciesInObject(deps, {
|
|
1198
|
+
getForkedResourceByBaseId: /* @__PURE__ */ __name((id2) => forkedResourceByBaseId.get(id2), "getForkedResourceByBaseId")
|
|
1199
|
+
}), "remapObj");
|
|
1200
|
+
if (typeof dependencies === "function") {
|
|
1201
|
+
return (config) => remapObj(dependencies(config));
|
|
1202
|
+
}
|
|
1203
|
+
return remapObj(dependencies);
|
|
1204
|
+
}, "remapDependencies");
|
|
1205
|
+
return {
|
|
1206
|
+
reId,
|
|
1207
|
+
ensureForkedForRegisterItems,
|
|
1208
|
+
mapRegisterItems,
|
|
1209
|
+
remapDependencies,
|
|
1210
|
+
getForkedResourceByBaseId: /* @__PURE__ */ __name((id2) => forkedResourceByBaseId.get(id2), "getForkedResourceByBaseId")
|
|
1211
|
+
};
|
|
1212
|
+
}
|
|
1213
|
+
__name(createDeepForkContext, "createDeepForkContext");
|
|
1214
|
+
function resolveForkedRegisterAndDependencies(params) {
|
|
1215
|
+
const { register, dependencies, forkId, options } = params;
|
|
1216
|
+
const mode = options?.register ?? "keep";
|
|
1217
|
+
if (mode === "drop") {
|
|
1218
|
+
return { register: [], dependencies };
|
|
1219
|
+
}
|
|
1220
|
+
if (mode !== "deep") {
|
|
1221
|
+
return { register, dependencies };
|
|
1222
|
+
}
|
|
1223
|
+
if (!register) {
|
|
1224
|
+
return { register, dependencies };
|
|
1225
|
+
}
|
|
1226
|
+
const ctx = createDeepForkContext(forkId, options);
|
|
1227
|
+
if (typeof register === "function") {
|
|
1228
|
+
return {
|
|
1229
|
+
register: /* @__PURE__ */ __name((config) => {
|
|
1230
|
+
const baseItems = register(config);
|
|
1231
|
+
return ctx.mapRegisterItems(baseItems);
|
|
1232
|
+
}, "register"),
|
|
1233
|
+
dependencies: dependencies ? (config) => {
|
|
1234
|
+
const baseItems = register(config);
|
|
1235
|
+
ctx.ensureForkedForRegisterItems(baseItems);
|
|
1236
|
+
const baseDeps = typeof dependencies === "function" ? dependencies(config) : dependencies;
|
|
1237
|
+
return remapResourceDependenciesInObject(baseDeps, {
|
|
1238
|
+
getForkedResourceByBaseId: ctx.getForkedResourceByBaseId
|
|
1239
|
+
});
|
|
1240
|
+
} : dependencies
|
|
1241
|
+
};
|
|
1242
|
+
}
|
|
1243
|
+
ctx.ensureForkedForRegisterItems(register);
|
|
1244
|
+
return {
|
|
1245
|
+
register: ctx.mapRegisterItems(register),
|
|
1246
|
+
dependencies: ctx.remapDependencies(dependencies)
|
|
1247
|
+
};
|
|
1248
|
+
}
|
|
1249
|
+
__name(resolveForkedRegisterAndDependencies, "resolveForkedRegisterAndDependencies");
|
|
1250
|
+
|
|
1065
1251
|
// src/definers/defineResource.ts
|
|
1066
1252
|
function defineResource(constConfig) {
|
|
1067
1253
|
const filePath = constConfig[symbolFilePath] || getCallerFile();
|
|
@@ -1107,12 +1293,25 @@ function defineResource(constConfig) {
|
|
|
1107
1293
|
[symbolOptionalDependency]: true
|
|
1108
1294
|
};
|
|
1109
1295
|
},
|
|
1110
|
-
fork(newId) {
|
|
1111
|
-
|
|
1296
|
+
fork(newId, options) {
|
|
1297
|
+
const forkedParts = resolveForkedRegisterAndDependencies({
|
|
1298
|
+
register: constConfig.register,
|
|
1299
|
+
dependencies: constConfig.dependencies,
|
|
1300
|
+
forkId: newId,
|
|
1301
|
+
options
|
|
1302
|
+
});
|
|
1303
|
+
const forked = defineResource({
|
|
1112
1304
|
...constConfig,
|
|
1113
1305
|
id: newId,
|
|
1306
|
+
register: forkedParts.register,
|
|
1307
|
+
dependencies: forkedParts.dependencies,
|
|
1114
1308
|
[symbolFilePath]: filePath
|
|
1115
1309
|
});
|
|
1310
|
+
forked[symbolResourceForkedFrom] = {
|
|
1311
|
+
fromId: id2,
|
|
1312
|
+
forkedAtFilePath: getCallerFile()
|
|
1313
|
+
};
|
|
1314
|
+
return forked;
|
|
1116
1315
|
}
|
|
1117
1316
|
};
|
|
1118
1317
|
}
|