@power-plant/core 0.0.15 → 0.0.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/{config-D3-0eTEI.d.cts → config-BpNybJZY.d.cts} +56 -244
- package/dist/config-BpNybJZY.d.cts.map +1 -0
- package/dist/{config-D3-0eTEI.d.mts → config-C9Hp8wTC.d.mts} +58 -246
- package/dist/config-C9Hp8wTC.d.mts.map +1 -0
- package/dist/config.d.cts +1 -1
- package/dist/config.d.mts +1 -1
- package/dist/context-BU2q1sN5.d.cts +105 -0
- package/dist/context-BU2q1sN5.d.cts.map +1 -0
- package/dist/context-BUNCX0E-.d.mts +105 -0
- package/dist/context-BUNCX0E-.d.mts.map +1 -0
- package/dist/context.cjs +1 -1
- package/dist/context.d.cts +34 -2
- package/dist/context.d.cts.map +1 -1
- package/dist/context.d.mts +34 -2
- package/dist/context.mjs +1 -1
- package/dist/define.cjs +1 -1
- package/dist/define.d.cts +2 -2
- package/dist/define.d.cts.map +1 -1
- package/dist/define.d.mts +2 -2
- package/dist/define.mjs +1 -1
- package/dist/execute-8tWWCCpu.mjs +2 -0
- package/dist/execute-8tWWCCpu.mjs.map +1 -0
- package/dist/execute-D7rill1C.cjs +1 -0
- package/dist/execute.cjs +1 -0
- package/dist/execute.d.cts +87 -0
- package/dist/execute.d.cts.map +1 -0
- package/dist/execute.d.mts +87 -0
- package/dist/execute.d.mts.map +1 -0
- package/dist/execute.mjs +1 -0
- package/dist/execution-BAm3omij.d.cts +61 -0
- package/dist/execution-BAm3omij.d.cts.map +1 -0
- package/dist/execution-d10Z7Dih.d.mts +61 -0
- package/dist/execution-d10Z7Dih.d.mts.map +1 -0
- package/dist/helpers/index.cjs +1 -0
- package/dist/helpers/index.d.cts +3 -0
- package/dist/helpers/index.d.mts +3 -0
- package/dist/helpers/index.mjs +1 -0
- package/dist/helpers/meta.cjs +1 -0
- package/dist/helpers/meta.d.cts +2 -0
- package/dist/helpers/meta.d.cts.map +1 -0
- package/dist/helpers/meta.d.mts +77 -0
- package/dist/helpers/meta.d.mts.map +1 -0
- package/dist/helpers/meta.mjs +2 -0
- package/dist/helpers/meta.mjs.map +1 -0
- package/dist/{type-checks-DBObymgE.d.cts → helpers/type-checks.d.cts} +6 -6
- package/dist/helpers/type-checks.d.cts.map +1 -0
- package/dist/{type-checks-DX_sqZhk.d.mts → helpers/type-checks.d.mts} +6 -6
- package/dist/helpers/type-checks.d.mts.map +1 -0
- package/dist/index-DY4xQ_iJ.d.mts +3 -0
- package/dist/index-it9jCi4L.d.cts +3 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +7 -5
- package/dist/index.d.mts +7 -5
- package/dist/index.mjs +1 -1
- package/dist/meta-CiPl-8rq.d.cts +82 -0
- package/dist/meta-CiPl-8rq.d.cts.map +1 -0
- package/package.json +60 -21
- package/dist/config-D3-0eTEI.d.cts.map +0 -1
- package/dist/config-D3-0eTEI.d.mts.map +0 -1
- package/dist/context-B4h787Dd.d.mts +0 -185
- package/dist/context-B4h787Dd.d.mts.map +0 -1
- package/dist/context-DYvyeLgC.d.cts +0 -185
- package/dist/context-DYvyeLgC.d.cts.map +0 -1
- package/dist/type-checks-DBObymgE.d.cts.map +0 -1
- package/dist/type-checks-DX_sqZhk.d.mts.map +0 -1
- package/dist/type-checks.d.cts +0 -2
- package/dist/type-checks.d.mts +0 -2
- package/dist/types/__internal.cjs +0 -0
- package/dist/types/__internal.d.cts +0 -13
- package/dist/types/__internal.d.cts.map +0 -1
- package/dist/types/__internal.d.mts +0 -13
- package/dist/types/__internal.d.mts.map +0 -1
- package/dist/types/__internal.mjs +0 -1
- /package/dist/{type-checks.cjs → helpers/type-checks.cjs} +0 -0
- /package/dist/{type-checks.mjs → helpers/type-checks.mjs} +0 -0
- /package/dist/{type-checks.mjs.map → helpers/type-checks.mjs.map} +0 -0
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { V as SchemaOf, c as Settings, j as Input, m as GeneratedDocument, s as Logger, u as Output } from "./config-C9Hp8wTC.mjs";
|
|
2
|
+
import { n as Execution } from "./execution-d10Z7Dih.mjs";
|
|
3
|
+
import { Storage } from "unstorage";
|
|
4
|
+
//#region src/types/base.d.ts
|
|
5
|
+
interface Base {
|
|
6
|
+
/**
|
|
7
|
+
* A unique identifier for the model.
|
|
8
|
+
*/
|
|
9
|
+
id: string;
|
|
10
|
+
/**
|
|
11
|
+
* The timestamp when the model was created.
|
|
12
|
+
*/
|
|
13
|
+
createdAt: Date;
|
|
14
|
+
/**
|
|
15
|
+
* The timestamp when the model was last updated.
|
|
16
|
+
*/
|
|
17
|
+
updatedAt: Date;
|
|
18
|
+
/**
|
|
19
|
+
* The description of the model.
|
|
20
|
+
*/
|
|
21
|
+
description?: string;
|
|
22
|
+
}
|
|
23
|
+
//#endregion
|
|
24
|
+
//#region src/types/session.d.ts
|
|
25
|
+
interface Session extends Base {
|
|
26
|
+
/**
|
|
27
|
+
* The device that started the session.
|
|
28
|
+
*/
|
|
29
|
+
device: string;
|
|
30
|
+
/**
|
|
31
|
+
* The user who started the session.
|
|
32
|
+
*/
|
|
33
|
+
user: string;
|
|
34
|
+
/**
|
|
35
|
+
* The executions of the session.
|
|
36
|
+
*/
|
|
37
|
+
executions: Execution<any>[];
|
|
38
|
+
}
|
|
39
|
+
//#endregion
|
|
40
|
+
//#region src/types/context.d.ts
|
|
41
|
+
interface SessionContext {
|
|
42
|
+
/**
|
|
43
|
+
* The current working directory.
|
|
44
|
+
*/
|
|
45
|
+
cwd: string;
|
|
46
|
+
/**
|
|
47
|
+
* The settings for the context.
|
|
48
|
+
*/
|
|
49
|
+
settings: Settings;
|
|
50
|
+
/**
|
|
51
|
+
* The Unstorage storage for the context.
|
|
52
|
+
*
|
|
53
|
+
* @remarks
|
|
54
|
+
* This storage can be used to store the input and output of the execution.
|
|
55
|
+
*/
|
|
56
|
+
storage: Storage;
|
|
57
|
+
/**
|
|
58
|
+
* The logger for the context.
|
|
59
|
+
*/
|
|
60
|
+
logger: Logger;
|
|
61
|
+
/**
|
|
62
|
+
* The session for the context.
|
|
63
|
+
*/
|
|
64
|
+
session: Session;
|
|
65
|
+
}
|
|
66
|
+
interface ExecutionContext<TSpec, TOptions extends object, TReturns = void> extends SessionContext, Execution<TSpec> {
|
|
67
|
+
/**
|
|
68
|
+
* The options for the execution.
|
|
69
|
+
*/
|
|
70
|
+
options: TOptions;
|
|
71
|
+
/**
|
|
72
|
+
* The specification for the execution.
|
|
73
|
+
*/
|
|
74
|
+
get spec(): TSpec;
|
|
75
|
+
/**
|
|
76
|
+
* The schema for the execution.
|
|
77
|
+
*/
|
|
78
|
+
get schema(): SchemaOf<TSpec>;
|
|
79
|
+
/**
|
|
80
|
+
* The input for the execution.
|
|
81
|
+
*/
|
|
82
|
+
get input(): Input<TSpec, TOptions>;
|
|
83
|
+
/**
|
|
84
|
+
* The output for the execution.
|
|
85
|
+
*/
|
|
86
|
+
get output(): Output<TSpec, TOptions, TReturns>;
|
|
87
|
+
/**
|
|
88
|
+
* The documents that are currently being processed, indexed by the document path.
|
|
89
|
+
*/
|
|
90
|
+
get documents(): Record<string, GeneratedDocument>;
|
|
91
|
+
/**
|
|
92
|
+
* Adds a document to the currently processing documents.
|
|
93
|
+
*
|
|
94
|
+
* @param pathOrDocument - A string representing the path of the document to add, or the document to add.
|
|
95
|
+
* @param document - The document to add (without the path), if {@link pathOrDocument} is a string representing the document path.
|
|
96
|
+
*/
|
|
97
|
+
addDocument: (pathOrDocument: string | GeneratedDocument, document?: Omit<GeneratedDocument, "path">) => void;
|
|
98
|
+
}
|
|
99
|
+
interface LocalStore {
|
|
100
|
+
device?: string;
|
|
101
|
+
user?: string;
|
|
102
|
+
}
|
|
103
|
+
//#endregion
|
|
104
|
+
export { Base as a, Session as i, LocalStore as n, SessionContext as r, ExecutionContext as t };
|
|
105
|
+
//# sourceMappingURL=context-BUNCX0E-.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-BUNCX0E-.d.mts","names":[],"sources":["../src/types/base.ts","../src/types/session.ts","../src/types/context.ts"],"mappings":""}
|
package/dist/context.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("@stryke/string-format/snake-case"),t=require("@stryke/string-format/title-case"),n=require("node:async_hooks");const r=globalThis;function i(i){let a=`$$__power_plant_{key}_context__`.replace(`{key}`,(0,e.snakeCase)(i.trim().replace(/^[_-]*/g,``).replace(/[_-]*$/g,``)));return r[a]??(r[a]={asyncLocalStorage:new n.AsyncLocalStorage,use(){let e=this.asyncLocalStorage.getStore();if(e===void 0)throw Error(`The ${(0,t.titleCase)(i.trim().replace(/^[_-]*/g,``).replace(/[_-]*$/g,``))} context is not available. Please ensure that the context has been initialized before using it.`);return e},tryUse(){return this.asyncLocalStorage.getStore()},call(e,t){return this.asyncLocalStorage.run(e,t)},async callAsync(e,t){return this.asyncLocalStorage.run(e,t)}}),r[a]}const a=i(`session`),o=a.asyncLocalStorage,s=a.use,c=a.tryUse,l=a.call,
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("@stryke/string-format/snake-case"),t=require("@stryke/string-format/title-case"),n=require("node:async_hooks");const r=globalThis;function i(i){let a=`$$__power_plant_{key}_context__`.replace(`{key}`,(0,e.snakeCase)(i.trim().replace(/^[_-]*/g,``).replace(/[_-]*$/g,``)));return r[a]??(r[a]={asyncLocalStorage:new n.AsyncLocalStorage,use(){let e=this.asyncLocalStorage.getStore();if(e===void 0)throw Error(`The ${(0,t.titleCase)(i.trim().replace(/^[_-]*/g,``).replace(/[_-]*$/g,``))} context is not available. Please ensure that the context has been initialized before using it.`);return e},tryUse(){return this.asyncLocalStorage.getStore()},call(e,t){return this.asyncLocalStorage.run(e,t)},async callAsync(e,t){return this.asyncLocalStorage.run(e,t)}}),r[a]}const a=i(`session`),o=a.asyncLocalStorage,s=a.use,c=s,l=a.tryUse,u=l,d=a.call,f=d,p=a.callAsync,m=p,h=i(`execution`),g=h.asyncLocalStorage,_=h.use,v=_,y=h.tryUse,b=y,x=h.call,S=x,C=h.callAsync,w=C;exports.callAsyncExecution=w,exports.callAsyncExecutionContext=C,exports.callAsyncSession=m,exports.callAsyncSessionContext=p,exports.callExecution=S,exports.callExecutionContext=x,exports.callSession=f,exports.callSessionContext=d,exports.executionAsyncLocalStorage=g,exports.executionContext=h,exports.sessionAsyncLocalStorage=o,exports.sessionContext=a,exports.tryUseExecution=b,exports.tryUseExecutionContext=y,exports.tryUseSession=u,exports.tryUseSessionContext=l,exports.useExecution=v,exports.useExecutionContext=_,exports.useSession=c,exports.useSessionContext=s;
|
package/dist/context.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { r as SessionContext, t as ExecutionContext } from "./context-BU2q1sN5.cjs";
|
|
2
2
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
3
3
|
//#region src/context.d.ts
|
|
4
4
|
/**
|
|
@@ -26,12 +26,20 @@ declare const sessionAsyncLocalStorage: AsyncLocalStorage<SessionContext>;
|
|
|
26
26
|
* @throws An error if the session context is not available.
|
|
27
27
|
*/
|
|
28
28
|
declare const useSessionContext: () => SessionContext;
|
|
29
|
+
/**
|
|
30
|
+
* Alias for {@link useSessionContext}.
|
|
31
|
+
*/
|
|
32
|
+
declare const useSession: () => SessionContext;
|
|
29
33
|
/**
|
|
30
34
|
* The function to try to use the session context.
|
|
31
35
|
*
|
|
32
36
|
* @returns The session context or undefined if the session context is not available.
|
|
33
37
|
*/
|
|
34
38
|
declare const tryUseSessionContext: () => SessionContext | undefined;
|
|
39
|
+
/**
|
|
40
|
+
* Alias for {@link tryUseSessionContext}.
|
|
41
|
+
*/
|
|
42
|
+
declare const tryUseSession: () => SessionContext | undefined;
|
|
35
43
|
/**
|
|
36
44
|
* The function to call the session context.
|
|
37
45
|
*
|
|
@@ -40,6 +48,10 @@ declare const tryUseSessionContext: () => SessionContext | undefined;
|
|
|
40
48
|
* @returns The result of the callback.
|
|
41
49
|
*/
|
|
42
50
|
declare const callSessionContext: <R>(instance: SessionContext, callback: () => R) => R;
|
|
51
|
+
/**
|
|
52
|
+
* Alias for {@link callSessionContext}.
|
|
53
|
+
*/
|
|
54
|
+
declare const callSession: <R>(instance: SessionContext, callback: () => R) => R;
|
|
43
55
|
/**
|
|
44
56
|
* The function to call the session context asynchronously.
|
|
45
57
|
*
|
|
@@ -48,6 +60,10 @@ declare const callSessionContext: <R>(instance: SessionContext, callback: () =>
|
|
|
48
60
|
* @returns The result of the callback.
|
|
49
61
|
*/
|
|
50
62
|
declare const callAsyncSessionContext: <R>(instance: SessionContext, callback: () => R | Promise<R>) => Promise<R>;
|
|
63
|
+
/**
|
|
64
|
+
* Alias for {@link callAsyncSessionContext}.
|
|
65
|
+
*/
|
|
66
|
+
declare const callAsyncSession: <R>(instance: SessionContext, callback: () => R | Promise<R>) => Promise<R>;
|
|
51
67
|
/**
|
|
52
68
|
* The context store for the execution context. This is used to store the execution context for a specific execution.
|
|
53
69
|
*/
|
|
@@ -63,12 +79,20 @@ declare const executionAsyncLocalStorage: AsyncLocalStorage<ExecutionContext<any
|
|
|
63
79
|
* @throws An error if the execution context is not available.
|
|
64
80
|
*/
|
|
65
81
|
declare const useExecutionContext: () => ExecutionContext<any, any, any>;
|
|
82
|
+
/**
|
|
83
|
+
* Alias for {@link useExecutionContext}.
|
|
84
|
+
*/
|
|
85
|
+
declare const useExecution: () => ExecutionContext<any, any, any>;
|
|
66
86
|
/**
|
|
67
87
|
* The function to try to use the execution context.
|
|
68
88
|
*
|
|
69
89
|
* @returns The execution context or undefined if the execution context is not available.
|
|
70
90
|
*/
|
|
71
91
|
declare const tryUseExecutionContext: () => ExecutionContext<any, any, any> | undefined;
|
|
92
|
+
/**
|
|
93
|
+
* Alias for {@link tryUseExecutionContext}.
|
|
94
|
+
*/
|
|
95
|
+
declare const tryUseExecution: () => ExecutionContext<any, any, any> | undefined;
|
|
72
96
|
/**
|
|
73
97
|
* The function to call the execution context.
|
|
74
98
|
*
|
|
@@ -77,6 +101,10 @@ declare const tryUseExecutionContext: () => ExecutionContext<any, any, any> | un
|
|
|
77
101
|
* @returns The result of the callback.
|
|
78
102
|
*/
|
|
79
103
|
declare const callExecutionContext: <R>(instance: ExecutionContext<any, any, any>, callback: () => R) => R;
|
|
104
|
+
/**
|
|
105
|
+
* Alias for {@link callExecutionContext}.
|
|
106
|
+
*/
|
|
107
|
+
declare const callExecution: <R>(instance: ExecutionContext<any, any, any>, callback: () => R) => R;
|
|
80
108
|
/**
|
|
81
109
|
* The function to call the execution context asynchronously.
|
|
82
110
|
*
|
|
@@ -85,6 +113,10 @@ declare const callExecutionContext: <R>(instance: ExecutionContext<any, any, any
|
|
|
85
113
|
* @returns The result of the callback.
|
|
86
114
|
*/
|
|
87
115
|
declare const callAsyncExecutionContext: <R>(instance: ExecutionContext<any, any, any>, callback: () => R | Promise<R>) => Promise<R>;
|
|
116
|
+
/**
|
|
117
|
+
* Alias for {@link callAsyncExecutionContext}.
|
|
118
|
+
*/
|
|
119
|
+
declare const callAsyncExecution: <R>(instance: ExecutionContext<any, any, any>, callback: () => R | Promise<R>) => Promise<R>;
|
|
88
120
|
//#endregion
|
|
89
|
-
export { ContextStore, callAsyncExecutionContext, callAsyncSessionContext, callExecutionContext, callSessionContext, executionAsyncLocalStorage, executionContext, sessionAsyncLocalStorage, sessionContext, tryUseExecutionContext, tryUseSessionContext, useExecutionContext, useSessionContext };
|
|
121
|
+
export { ContextStore, callAsyncExecution, callAsyncExecutionContext, callAsyncSession, callAsyncSessionContext, callExecution, callExecutionContext, callSession, callSessionContext, executionAsyncLocalStorage, executionContext, sessionAsyncLocalStorage, sessionContext, tryUseExecution, tryUseExecutionContext, tryUseSession, tryUseSessionContext, useExecution, useExecutionContext, useSession, useSessionContext };
|
|
90
122
|
//# sourceMappingURL=context.d.cts.map
|
package/dist/context.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.cts","names":[],"sources":["../src/context.ts"],"mappings":";;;;;;UA0BiB,aAAa,iBAAiB;EAC7C,mBAAmB,kBAAkB;EACrC,WAAW;EACX,cAAc;EACd,OAAO,GAAG,UAAU,UAAU,gBAAgB,MAAM;EACpD,YAAY,GACV,UAAU,UACV,gBAAgB,IAAI,QAAQ,OACzB,QAAQ;;;;;cAyDF,gBAAc,aAAA;;;;cAKd,0BAAwB,kBAAA;;;;;;;cAQxB,yBAAiB;;;;;;
|
|
1
|
+
{"version":3,"file":"context.d.cts","names":[],"sources":["../src/context.ts"],"mappings":";;;;;;UA0BiB,aAAa,iBAAiB;EAC7C,mBAAmB,kBAAkB;EACrC,WAAW;EACX,cAAc;EACd,OAAO,GAAG,UAAU,UAAU,gBAAgB,MAAM;EACpD,YAAY,GACV,UAAU,UACV,gBAAgB,IAAI,QAAQ,OACzB,QAAQ;;;;;cAyDF,gBAAc,aAAA;;;;cAKd,0BAAwB,kBAAA;;;;;;;cAQxB,yBAAiB;;;;cAKjB,kBAAU;;;;;;cAOV,4BAAoB;;;;cAKpB,qBAAa;;;;;;;;cASb,qBApGJ,GAAC,UAAA,gBAAA,gBAAA,MAAA;;;;cAyGG,cAzGJ,GAAC,UAAA,gBAAA,gBAAA,MAAA;;;;;;;;cAkHG,0BAjHC,GAAC,UAAA,gBAAA,gBAAA,IAAA,QAAA,OAAA,QAAA;;;;cAsHF,mBAtHC,GAAC,UAAA,gBAAA,gBAAA,IAAA,QAAA,OAAA,QAAA;;;;cA2HF,kBAAgB,aAAA;;;;cAMhB,4BAA0B,kBAAA;;;;;;;cAQ1B,2BAAmB;;;;cAKnB,oBAAY;;;;;;cAOZ,8BAAsB;;;;cAKtB,uBAAe;;;;;;;;cASf,uBApKJ,GAAC,UAAA,iCAAA,gBAAA,MAAA;;;;cAyKG,gBAzKJ,GAAC,UAAA,iCAAA,gBAAA,MAAA;;;;;;;;cAkLG,4BAjLC,GAAC,UAAA,iCAAA,gBAAA,IAAA,QAAA,OAAA,QAAA;;;;cAsLF,qBAtLC,GAAC,UAAA,iCAAA,gBAAA,IAAA,QAAA,OAAA,QAAA"}
|
package/dist/context.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { r as SessionContext, t as ExecutionContext } from "./context-BUNCX0E-.mjs";
|
|
2
2
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
3
3
|
//#region src/context.d.ts
|
|
4
4
|
/**
|
|
@@ -26,12 +26,20 @@ declare const sessionAsyncLocalStorage: AsyncLocalStorage<SessionContext>;
|
|
|
26
26
|
* @throws An error if the session context is not available.
|
|
27
27
|
*/
|
|
28
28
|
declare const useSessionContext: () => SessionContext;
|
|
29
|
+
/**
|
|
30
|
+
* Alias for {@link useSessionContext}.
|
|
31
|
+
*/
|
|
32
|
+
declare const useSession: () => SessionContext;
|
|
29
33
|
/**
|
|
30
34
|
* The function to try to use the session context.
|
|
31
35
|
*
|
|
32
36
|
* @returns The session context or undefined if the session context is not available.
|
|
33
37
|
*/
|
|
34
38
|
declare const tryUseSessionContext: () => SessionContext | undefined;
|
|
39
|
+
/**
|
|
40
|
+
* Alias for {@link tryUseSessionContext}.
|
|
41
|
+
*/
|
|
42
|
+
declare const tryUseSession: () => SessionContext | undefined;
|
|
35
43
|
/**
|
|
36
44
|
* The function to call the session context.
|
|
37
45
|
*
|
|
@@ -40,6 +48,10 @@ declare const tryUseSessionContext: () => SessionContext | undefined;
|
|
|
40
48
|
* @returns The result of the callback.
|
|
41
49
|
*/
|
|
42
50
|
declare const callSessionContext: <R>(instance: SessionContext, callback: () => R) => R;
|
|
51
|
+
/**
|
|
52
|
+
* Alias for {@link callSessionContext}.
|
|
53
|
+
*/
|
|
54
|
+
declare const callSession: <R>(instance: SessionContext, callback: () => R) => R;
|
|
43
55
|
/**
|
|
44
56
|
* The function to call the session context asynchronously.
|
|
45
57
|
*
|
|
@@ -48,6 +60,10 @@ declare const callSessionContext: <R>(instance: SessionContext, callback: () =>
|
|
|
48
60
|
* @returns The result of the callback.
|
|
49
61
|
*/
|
|
50
62
|
declare const callAsyncSessionContext: <R>(instance: SessionContext, callback: () => R | Promise<R>) => Promise<R>;
|
|
63
|
+
/**
|
|
64
|
+
* Alias for {@link callAsyncSessionContext}.
|
|
65
|
+
*/
|
|
66
|
+
declare const callAsyncSession: <R>(instance: SessionContext, callback: () => R | Promise<R>) => Promise<R>;
|
|
51
67
|
/**
|
|
52
68
|
* The context store for the execution context. This is used to store the execution context for a specific execution.
|
|
53
69
|
*/
|
|
@@ -63,12 +79,20 @@ declare const executionAsyncLocalStorage: AsyncLocalStorage<ExecutionContext<any
|
|
|
63
79
|
* @throws An error if the execution context is not available.
|
|
64
80
|
*/
|
|
65
81
|
declare const useExecutionContext: () => ExecutionContext<any, any, any>;
|
|
82
|
+
/**
|
|
83
|
+
* Alias for {@link useExecutionContext}.
|
|
84
|
+
*/
|
|
85
|
+
declare const useExecution: () => ExecutionContext<any, any, any>;
|
|
66
86
|
/**
|
|
67
87
|
* The function to try to use the execution context.
|
|
68
88
|
*
|
|
69
89
|
* @returns The execution context or undefined if the execution context is not available.
|
|
70
90
|
*/
|
|
71
91
|
declare const tryUseExecutionContext: () => ExecutionContext<any, any, any> | undefined;
|
|
92
|
+
/**
|
|
93
|
+
* Alias for {@link tryUseExecutionContext}.
|
|
94
|
+
*/
|
|
95
|
+
declare const tryUseExecution: () => ExecutionContext<any, any, any> | undefined;
|
|
72
96
|
/**
|
|
73
97
|
* The function to call the execution context.
|
|
74
98
|
*
|
|
@@ -77,6 +101,10 @@ declare const tryUseExecutionContext: () => ExecutionContext<any, any, any> | un
|
|
|
77
101
|
* @returns The result of the callback.
|
|
78
102
|
*/
|
|
79
103
|
declare const callExecutionContext: <R>(instance: ExecutionContext<any, any, any>, callback: () => R) => R;
|
|
104
|
+
/**
|
|
105
|
+
* Alias for {@link callExecutionContext}.
|
|
106
|
+
*/
|
|
107
|
+
declare const callExecution: <R>(instance: ExecutionContext<any, any, any>, callback: () => R) => R;
|
|
80
108
|
/**
|
|
81
109
|
* The function to call the execution context asynchronously.
|
|
82
110
|
*
|
|
@@ -85,6 +113,10 @@ declare const callExecutionContext: <R>(instance: ExecutionContext<any, any, any
|
|
|
85
113
|
* @returns The result of the callback.
|
|
86
114
|
*/
|
|
87
115
|
declare const callAsyncExecutionContext: <R>(instance: ExecutionContext<any, any, any>, callback: () => R | Promise<R>) => Promise<R>;
|
|
116
|
+
/**
|
|
117
|
+
* Alias for {@link callAsyncExecutionContext}.
|
|
118
|
+
*/
|
|
119
|
+
declare const callAsyncExecution: <R>(instance: ExecutionContext<any, any, any>, callback: () => R | Promise<R>) => Promise<R>;
|
|
88
120
|
//#endregion
|
|
89
|
-
export { ContextStore, callAsyncExecutionContext, callAsyncSessionContext, callExecutionContext, callSessionContext, executionAsyncLocalStorage, executionContext, sessionAsyncLocalStorage, sessionContext, tryUseExecutionContext, tryUseSessionContext, useExecutionContext, useSessionContext };
|
|
121
|
+
export { ContextStore, callAsyncExecution, callAsyncExecutionContext, callAsyncSession, callAsyncSessionContext, callExecution, callExecutionContext, callSession, callSessionContext, executionAsyncLocalStorage, executionContext, sessionAsyncLocalStorage, sessionContext, tryUseExecution, tryUseExecutionContext, tryUseSession, tryUseSessionContext, useExecution, useExecutionContext, useSession, useSessionContext };
|
|
90
122
|
//# sourceMappingURL=context.d.mts.map
|
package/dist/context.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{snakeCase as e}from"@stryke/string-format/snake-case";import{titleCase as t}from"@stryke/string-format/title-case";import{AsyncLocalStorage as n}from"node:async_hooks";const r=globalThis;function i(i){let a=`$$__power_plant_{key}_context__`.replace(`{key}`,e(i.trim().replace(/^[_-]*/g,``).replace(/[_-]*$/g,``)));return r[a]??(r[a]={asyncLocalStorage:new n,use(){let e=this.asyncLocalStorage.getStore();if(e===void 0)throw Error(`The ${t(i.trim().replace(/^[_-]*/g,``).replace(/[_-]*$/g,``))} context is not available. Please ensure that the context has been initialized before using it.`);return e},tryUse(){return this.asyncLocalStorage.getStore()},call(e,t){return this.asyncLocalStorage.run(e,t)},async callAsync(e,t){return this.asyncLocalStorage.run(e,t)}}),r[a]}const a=i(`session`),o=a.asyncLocalStorage,s=a.use,c=a.tryUse,l=a.call,
|
|
1
|
+
import{snakeCase as e}from"@stryke/string-format/snake-case";import{titleCase as t}from"@stryke/string-format/title-case";import{AsyncLocalStorage as n}from"node:async_hooks";const r=globalThis;function i(i){let a=`$$__power_plant_{key}_context__`.replace(`{key}`,e(i.trim().replace(/^[_-]*/g,``).replace(/[_-]*$/g,``)));return r[a]??(r[a]={asyncLocalStorage:new n,use(){let e=this.asyncLocalStorage.getStore();if(e===void 0)throw Error(`The ${t(i.trim().replace(/^[_-]*/g,``).replace(/[_-]*$/g,``))} context is not available. Please ensure that the context has been initialized before using it.`);return e},tryUse(){return this.asyncLocalStorage.getStore()},call(e,t){return this.asyncLocalStorage.run(e,t)},async callAsync(e,t){return this.asyncLocalStorage.run(e,t)}}),r[a]}const a=i(`session`),o=a.asyncLocalStorage,s=a.use,c=s,l=a.tryUse,u=l,d=a.call,f=d,p=a.callAsync,m=p,h=i(`execution`),g=h.asyncLocalStorage,_=h.use,v=_,y=h.tryUse,b=y,x=h.call,S=x,C=h.callAsync,w=C;export{w as callAsyncExecution,C as callAsyncExecutionContext,m as callAsyncSession,p as callAsyncSessionContext,S as callExecution,x as callExecutionContext,f as callSession,d as callSessionContext,g as executionAsyncLocalStorage,h as executionContext,o as sessionAsyncLocalStorage,a as sessionContext,b as tryUseExecution,y as tryUseExecutionContext,u as tryUseSession,l as tryUseSessionContext,v as useExecution,_ as useExecutionContext,c as useSession,s as useSessionContext};
|
|
2
2
|
//# sourceMappingURL=context.mjs.map
|
package/dist/define.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./type-checks.cjs");function t(t){return e.isInputConfigObject(t)?t:{input:t}}function n(t){return e.isOutputConfigObject(t)?t:{output:t}}function r(t){return e.isSchemaConfigObject(t)?t:{schema:t}}function i(t){if(!e.isGeneratorConfigObject(t))throw TypeError(`An invalid generator configuration was provided - at minimum, a generator function is required.`);return t}exports.defineGenerator=i,exports.defineInput=t,exports.defineOutput=n,exports.defineSchema=r;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./helpers/type-checks.cjs");function t(t){return e.isInputConfigObject(t)?t:{input:t}}function n(t){return e.isOutputConfigObject(t)?t:{output:t}}function r(t){return e.isSchemaConfigObject(t)?t:{schema:t}}function i(t){if(!e.isGeneratorConfigObject(t))throw TypeError(`An invalid generator configuration was provided - at minimum, a generator function is required.`);return t}exports.defineGenerator=i,exports.defineInput=t,exports.defineOutput=n,exports.defineSchema=r;
|
package/dist/define.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { M as InputConfig, N as InputConfigObject, R as SchemaConfigObject, d as OutputConfig, f as OutputConfigObject, v as GeneratorConfigObject } from "./config-BpNybJZY.cjs";
|
|
2
2
|
import { SchemaEnvelopeOf, SchemaSourceConfig } from "@power-plant/schema";
|
|
3
3
|
//#region src/define.d.ts
|
|
4
4
|
/**
|
|
@@ -68,7 +68,7 @@ declare function defineOutput<TSpec, TOptions extends object, TReturns = void>(o
|
|
|
68
68
|
* @param schema - The schema configuration to define. This can be either a schema source configuration, a schema envelope, or a schema configuration object.
|
|
69
69
|
* @returns A schema configuration object that contains the provided schema. If the input was already a schema configuration object, it will be returned unchanged.
|
|
70
70
|
*/
|
|
71
|
-
declare function defineSchema<TSpec
|
|
71
|
+
declare function defineSchema<TSpec>(schema: SchemaSourceConfig<TSpec> | SchemaEnvelopeOf<TSpec> | SchemaConfigObject<TSpec>): SchemaConfigObject<TSpec>;
|
|
72
72
|
/**
|
|
73
73
|
* Defines a schema configuration object. If the provided schema is already a schema configuration object, it will be returned as-is. Otherwise, it will be wrapped in an object with a `schema` property.
|
|
74
74
|
*
|
package/dist/define.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define.d.cts","names":[],"sources":["../src/define.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA6DgB,YAAY,OAAO,yBACjC,OAAO,YAAY,OAAO,YACzB,kBAAkB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoCZ,aAAa,OAAO,yBAAyB,iBAC3D,QAAQ,aAAa,OAAO,UAAU,YACrC,mBAAmB,OAAO,UAAU;;;;;;;iBAcvB,aAAa,
|
|
1
|
+
{"version":3,"file":"define.d.cts","names":[],"sources":["../src/define.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA6DgB,YAAY,OAAO,yBACjC,OAAO,YAAY,OAAO,YACzB,kBAAkB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoCZ,aAAa,OAAO,yBAAyB,iBAC3D,QAAQ,aAAa,OAAO,UAAU,YACrC,mBAAmB,OAAO,UAAU;;;;;;;iBAcvB,aAAa,OAC3B,QACI,mBAAmB,SACnB,iBAAiB,SACjB,mBAAmB,SACtB,mBAAmB;;;;;;;iBAcN,gBACd,OACA,yBACA,iBAEA,WAAW,sBAAsB,OAAO,UAAU,YACjD,sBAAsB,OAAO,UAAU"}
|
package/dist/define.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { M as InputConfig, N as InputConfigObject, R as SchemaConfigObject, d as OutputConfig, f as OutputConfigObject, v as GeneratorConfigObject } from "./config-C9Hp8wTC.mjs";
|
|
2
2
|
import { SchemaEnvelopeOf, SchemaSourceConfig } from "@power-plant/schema";
|
|
3
3
|
//#region src/define.d.ts
|
|
4
4
|
/**
|
|
@@ -68,7 +68,7 @@ declare function defineOutput<TSpec, TOptions extends object, TReturns = void>(o
|
|
|
68
68
|
* @param schema - The schema configuration to define. This can be either a schema source configuration, a schema envelope, or a schema configuration object.
|
|
69
69
|
* @returns A schema configuration object that contains the provided schema. If the input was already a schema configuration object, it will be returned unchanged.
|
|
70
70
|
*/
|
|
71
|
-
declare function defineSchema<TSpec
|
|
71
|
+
declare function defineSchema<TSpec>(schema: SchemaSourceConfig<TSpec> | SchemaEnvelopeOf<TSpec> | SchemaConfigObject<TSpec>): SchemaConfigObject<TSpec>;
|
|
72
72
|
/**
|
|
73
73
|
* Defines a schema configuration object. If the provided schema is already a schema configuration object, it will be returned as-is. Otherwise, it will be wrapped in an object with a `schema` property.
|
|
74
74
|
*
|
package/dist/define.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{isGeneratorConfigObject as e,isInputConfigObject as t,isOutputConfigObject as n,isSchemaConfigObject as r}from"./type-checks.mjs";function i(e){return t(e)?e:{input:e}}function a(e){return n(e)?e:{output:e}}function o(e){return r(e)?e:{schema:e}}function s(t){if(!e(t))throw TypeError(`An invalid generator configuration was provided - at minimum, a generator function is required.`);return t}export{s as defineGenerator,i as defineInput,a as defineOutput,o as defineSchema};
|
|
1
|
+
import{isGeneratorConfigObject as e,isInputConfigObject as t,isOutputConfigObject as n,isSchemaConfigObject as r}from"./helpers/type-checks.mjs";function i(e){return t(e)?e:{input:e}}function a(e){return n(e)?e:{output:e}}function o(e){return r(e)?e:{schema:e}}function s(t){if(!e(t))throw TypeError(`An invalid generator configuration was provided - at minimum, a generator function is required.`);return t}export{s as defineGenerator,i as defineInput,a as defineOutput,o as defineSchema};
|
|
2
2
|
//# sourceMappingURL=define.mjs.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{callAsyncSessionContext as e}from"./context.mjs";import{isGeneratorConfigObject as t,isInputConfigObject as n,isOutputConfigObject as r,isSchemaConfigObject as i}from"./helpers/type-checks.mjs";import{resolveMeta as a,resolveMetaDescription as o,resolveMetaExample as s}from"./helpers/meta.mjs";import{uuid as c}from"@stryke/unique-id/uuid";import{getEnvPaths as l}from"@stryke/env/get-env-paths";import{readFileIfExisting as u}from"@stryke/fs/read-file";import{writeFile as d}from"@stryke/fs/write-file";import{joinPaths as f}from"@stryke/path/join-paths";import{isSetString as p}from"@stryke/type-checks/is-set-string";import m from"defu";import h from"node:os";import{createStorage as g}from"unstorage";import _ from"unstorage/drivers/fs-lite";import{callAsyncExecutionContext as v}from"@power-plant/core";import{mapStorageToFileSystem as y}from"@power-plant/schema/storage";import{load as b}from"@stryke/resolve/load";import{isFunction as x}from"@stryke/type-checks/is-function";import{extractSchemaWithSource as S,mergeMetadata as C}from"@power-plant/schema";import{isLoadReference as w}from"@stryke/resolve/type-checks";const T={debug:console.debug,info:console.info,warn:console.warn,error:console.error},E=l({appId:`power-plant`,orgId:`storm-software`});async function D(e={}){let t=e.cwd||process.cwd(),n=new Date,r=g({driver:_({base:t})}),i=JSON.parse(await u(f(E.data,`.local-store.json`))||`{}`),a=i.device||h.hostname()||c(),o=i.user||h.userInfo().username||c();return(!p(i.device)||!p(i.user))&&await d(f(E.data,`.local-store.json`),JSON.stringify({device:a,user:o},null,2)),m({cwd:t,session:{id:c(),createdAt:n,updatedAt:n,device:a,user:o,executions:[]}},e,{storage:r,settings:{},logger:T})}async function O(e,t,n,r,i,a){let o={},s=(e,t)=>{p(e)?o[e]=m({path:e},t,{chunks:[],meta:{}}):o[e.path]=m(e,t)},c,l={...t,id:e,createdAt:new Date,updatedAt:new Date,options:n,schema:r,input:i,output:a,documents:o,spec(){if(!c)throw Error(`The specification was accessed prior to the input processing.`);return c},addDocument:s,meta:{id:e,executedAt:new Date,executedBy:``}};return Object.defineProperty(l,"~spec",{get(){return c},set(e){c=e},enumerable:!1}),l}async function k(e,t,n){return e}function A(e,t){let n=e?.schema??{},r=a(e,t);return r.description=o(`Accepts a ${r.title??``} specification and processes it with a {title} sink.`,n,r,t?.description),r.examples=s(n,r,t?.examples),r}async function j(e,t={}){let{meta:n,schema:r}=i(e)?e:{schema:e,meta:{}},a=await S(r,t);return{...a,meta:A(a,n)}}function M(e,t){let n=e?.schema??{},r=a(e,t);return r.description=o(`Determines the ${r.title??``} specification from a {title} input.`,n,r,t?.description),r}async function N(e,t,r={}){let{input:i,meta:a,schema:o}=n(t)?t:{input:t,meta:{}},s=e;if(o){let t;if(w(o))try{t=await b(o,r)}catch{}else t=o;t&&(s=await j(t,r),s.schema=C(s.schema,e.schema))}let c;if(w(i))try{let e=await b(i,r);c=n(e)?await N(s,e.input,r).then(e=>e.input):e}catch{}return c||=i,{schema:s,input:c,meta:M(s,a)}}function P(e,t){let n=e?.schema??{},r=a(e,t);return r.description=o(`Accepts a ${r.title??``} specification and processes it with a {title} output.`,n,r,t?.description),r}async function F(e,t,n={}){let{output:i,meta:a,schema:o}=r(t)?t:{output:t,meta:{}},s=e;if(o){let t;if(w(o))try{t=await b(o,n)}catch{}else t=o;t&&(s=await j(t,n),s.schema=C(s.schema,e.schema))}let c;if(w(i))try{let e=await b(i,n);c=r(e)?await F(s,e.output,n).then(e=>e.output):e}catch{}return c||=i,{schema:s,output:c,meta:P(s,a)}}async function I(e,n,r,i={}){let a;a=t(r)?r:await b(r,{fs:y(n.storage),...i}),a.schema||={type:`any`};let o=await j(a.schema,{storage:n.storage,...i}),s=a.input;if(!s)if(i.inputPath)s=`@power-plant/unstorage-input`;else throw Error("No input configuration provided. Please provide an input configuration, a valid specification, or a `inputPath` option that points to a valid input file.");let c=a.output;c||=`@power-plant/unstorage-output`;let[l,u]=await Promise.all([N(o,s,{storage:n.storage,...i}),F(o,c,{storage:n.storage,...i})]);return{meta:a.meta,schema:o,input:l,output:u,generator:async t=>{let r=await O(e,n,t,o,l,u);return v(r,async()=>{let e=x(l.input)?await l.input({storage:r.storage,...t}):l.input;r[`~spec`]=e;let n;n=x(a.generator)?a.generator:await b(a.generator,{storage:r.storage,...t});let i=await n(e,t);return{spec:e,options:t,documents:i,returns:await u.output(e,t,i)}})}}}async function L(t={}){let n=await D(t);return async(t,r={})=>e(n,async()=>{let e=c(),{generator:i}=await I(e,n,t,r),{documents:a,returns:o,spec:s,options:l}=await i(r),u=await k({documents:Object.fromEntries(Object.entries(a).map(([t,n])=>[t,{...n,path:t,meta:{executionId:e}}])),meta:{executionId:e,executedAt:new Date,executedBy:n.session.user}},s,l);return n.session.executions.push(u),o})}async function R(e,t={}){return(await L(t))(e,t)}export{R as n,L as t};
|
|
2
|
+
//# sourceMappingURL=execute-8tWWCCpu.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execute-8tWWCCpu.mjs","names":[],"sources":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));const c=require("./context.cjs"),l=require("./helpers/type-checks.cjs"),u=require("./helpers/meta.cjs");let d=require("@stryke/unique-id/uuid"),f=require("@stryke/env/get-env-paths"),p=require("@stryke/fs/read-file"),m=require("@stryke/fs/write-file"),h=require("@stryke/path/join-paths"),g=require("@stryke/type-checks/is-set-string"),_=require("defu");_=s(_,1);let v=require("node:os");v=s(v,1);let y=require("unstorage"),b=require("unstorage/drivers/fs-lite");b=s(b,1);let x=require("@power-plant/core"),S=require("@power-plant/schema/storage"),C=require("@stryke/resolve/load"),w=require("@stryke/type-checks/is-function"),T=require("@power-plant/schema"),E=require("@stryke/resolve/type-checks");const D={debug:console.debug,info:console.info,warn:console.warn,error:console.error},O=(0,f.getEnvPaths)({appId:`power-plant`,orgId:`storm-software`});async function k(e={}){let t=e.cwd||process.cwd(),n=new Date,r=(0,y.createStorage)({driver:(0,b.default)({base:t})}),i=JSON.parse(await(0,p.readFileIfExisting)((0,h.joinPaths)(O.data,`.local-store.json`))||`{}`),a=i.device||v.default.hostname()||(0,d.uuid)(),o=i.user||v.default.userInfo().username||(0,d.uuid)();return(!(0,g.isSetString)(i.device)||!(0,g.isSetString)(i.user))&&await(0,m.writeFile)((0,h.joinPaths)(O.data,`.local-store.json`),JSON.stringify({device:a,user:o},null,2)),(0,_.default)({cwd:t,session:{id:(0,d.uuid)(),createdAt:n,updatedAt:n,device:a,user:o,executions:[]}},e,{storage:r,settings:{},logger:D})}async function A(e,t,n,r,i,a){let o={},s=(e,t)=>{(0,g.isSetString)(e)?o[e]=(0,_.default)({path:e},t,{chunks:[],meta:{}}):o[e.path]=(0,_.default)(e,t)},c,l={...t,id:e,createdAt:new Date,updatedAt:new Date,options:n,schema:r,input:i,output:a,documents:o,spec(){if(!c)throw Error(`The specification was accessed prior to the input processing.`);return c},addDocument:s,meta:{id:e,executedAt:new Date,executedBy:``}};return Object.defineProperty(l,"~spec",{get(){return c},set(e){c=e},enumerable:!1}),l}async function j(e,t,n){return e}function M(e,t){let n=e?.schema??{},r=u.resolveMeta(e,t);return r.description=u.resolveMetaDescription(`Accepts a ${r.title??``} specification and processes it with a {title} sink.`,n,r,t?.description),r.examples=u.resolveMetaExample(n,r,t?.examples),r}async function N(e,t={}){let{meta:n,schema:r}=l.isSchemaConfigObject(e)?e:{schema:e,meta:{}},i=await(0,T.extractSchemaWithSource)(r,t);return{...i,meta:M(i,n)}}function P(e,t){let n=e?.schema??{},r=u.resolveMeta(e,t);return r.description=u.resolveMetaDescription(`Determines the ${r.title??``} specification from a {title} input.`,n,r,t?.description),r}async function F(e,t,n={}){let{input:r,meta:i,schema:a}=l.isInputConfigObject(t)?t:{input:t,meta:{}},o=e;if(a){let t;if((0,E.isLoadReference)(a))try{t=await(0,C.load)(a,n)}catch{}else t=a;t&&(o=await N(t,n),o.schema=(0,T.mergeMetadata)(o.schema,e.schema))}let s;if((0,E.isLoadReference)(r))try{let e=await(0,C.load)(r,n);s=l.isInputConfigObject(e)?await F(o,e.input,n).then(e=>e.input):e}catch{}return s||=r,{schema:o,input:s,meta:P(o,i)}}function I(e,t){let n=e?.schema??{},r=u.resolveMeta(e,t);return r.description=u.resolveMetaDescription(`Accepts a ${r.title??``} specification and processes it with a {title} output.`,n,r,t?.description),r}async function L(e,t,n={}){let{output:r,meta:i,schema:a}=l.isOutputConfigObject(t)?t:{output:t,meta:{}},o=e;if(a){let t;if((0,E.isLoadReference)(a))try{t=await(0,C.load)(a,n)}catch{}else t=a;t&&(o=await N(t,n),o.schema=(0,T.mergeMetadata)(o.schema,e.schema))}let s;if((0,E.isLoadReference)(r))try{let e=await(0,C.load)(r,n);s=l.isOutputConfigObject(e)?await L(o,e.output,n).then(e=>e.output):e}catch{}return s||=r,{schema:o,output:s,meta:I(o,i)}}async function R(e,t,n,r={}){let i;i=l.isGeneratorConfigObject(n)?n:await(0,C.load)(n,{fs:(0,S.mapStorageToFileSystem)(t.storage),...r}),i.schema||={type:`any`};let a=await N(i.schema,{storage:t.storage,...r}),o=i.input;if(!o)if(r.inputPath)o=`@power-plant/unstorage-input`;else throw Error("No input configuration provided. Please provide an input configuration, a valid specification, or a `inputPath` option that points to a valid input file.");let s=i.output;s||=`@power-plant/unstorage-output`;let[c,u]=await Promise.all([F(a,o,{storage:t.storage,...r}),L(a,s,{storage:t.storage,...r})]);return{meta:i.meta,schema:a,input:c,output:u,generator:async n=>{let r=await A(e,t,n,a,c,u);return(0,x.callAsyncExecutionContext)(r,async()=>{let e=(0,w.isFunction)(c.input)?await c.input({storage:r.storage,...n}):c.input;r[`~spec`]=e;let t;t=(0,w.isFunction)(i.generator)?i.generator:await(0,C.load)(i.generator,{storage:r.storage,...n});let a=await t(e,n);return{spec:e,options:n,documents:a,returns:await u.output(e,n,a)}})}}}async function z(e={}){let t=await k(e);return async(e,n={})=>c.callAsyncSessionContext(t,async()=>{let r=(0,d.uuid)(),{generator:i}=await R(r,t,e,n),{documents:a,returns:o,spec:s,options:c}=await i(n),l=await j({documents:Object.fromEntries(Object.entries(a).map(([e,t])=>[e,{...t,path:e,meta:{executionId:r}}])),meta:{executionId:r,executedAt:new Date,executedBy:t.session.user}},s,c);return t.session.executions.push(l),o})}async function B(e,t={}){return(await z(t))(e,t)}Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return z}});
|
package/dist/execute.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./execute-D7rill1C.cjs");require("./context.cjs"),exports.createExecute=e.t,exports.execute=e.n;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { _ as GeneratorConfig, t as UserConfig } from "./config-BpNybJZY.cjs";
|
|
2
|
+
import { a as InferEngineOptions, t as ExecuteFunction } from "./execution-BAm3omij.cjs";
|
|
3
|
+
//#region src/execute.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Creates an execution function that can be used to execute a generator.
|
|
6
|
+
*
|
|
7
|
+
* @remarks
|
|
8
|
+
* This function is used to create an execution function that can be used to execute a generator. It creates a new execution context and returns an execution function that can be used to execute the generator with the given configuration and options.
|
|
9
|
+
*
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* import { createExecute } from "@power-plant/core";
|
|
14
|
+
*
|
|
15
|
+
* // First, create an execution function with a custom configuration
|
|
16
|
+
* const execute = await createExecute({
|
|
17
|
+
* ...
|
|
18
|
+
* });
|
|
19
|
+
*
|
|
20
|
+
* // Then, execute the generator
|
|
21
|
+
* const result = await execute("my-generator", {
|
|
22
|
+
* ...
|
|
23
|
+
* });
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```ts
|
|
28
|
+
* import { createExecute } from "@power-plant/core";
|
|
29
|
+
*
|
|
30
|
+
* // First, create an execution function with a custom configuration
|
|
31
|
+
* const execute = await createExecute({
|
|
32
|
+
* ...
|
|
33
|
+
* });
|
|
34
|
+
*
|
|
35
|
+
* // Then, execute the generator
|
|
36
|
+
* const result = await execute({
|
|
37
|
+
* generator: (spec, options) => { ... },
|
|
38
|
+
* ...
|
|
39
|
+
* });
|
|
40
|
+
* ```
|
|
41
|
+
*
|
|
42
|
+
* @template TSpec - The type of the specification that the generator will produce.
|
|
43
|
+
* @template TOptions - The type of the options that will be passed to the generator during generation.
|
|
44
|
+
* @template TReturns - The type of the returns that the generator will produce.
|
|
45
|
+
* @param userConfig - The user configuration for the engine.
|
|
46
|
+
* @returns A promise that resolves to an execution function.
|
|
47
|
+
*/
|
|
48
|
+
declare function createExecute(userConfig?: UserConfig): Promise<ExecuteFunction>;
|
|
49
|
+
/**
|
|
50
|
+
* Executes a generator with a given configuration and options.
|
|
51
|
+
*
|
|
52
|
+
* @remarks
|
|
53
|
+
* This function is used to execute a generator with a given configuration and options. It creates a new execution context and returns an execution function that can be used to execute the generator with the given configuration and options.
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```ts
|
|
57
|
+
* import { execute } from "@power-plant/core";
|
|
58
|
+
*
|
|
59
|
+
* // Create and execute the generator
|
|
60
|
+
* const result = await execute("my-generator", {
|
|
61
|
+
* ...
|
|
62
|
+
* });
|
|
63
|
+
* ```
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```ts
|
|
67
|
+
* import { execute } from "@power-plant/core";
|
|
68
|
+
*
|
|
69
|
+
* // Create and execute the generator
|
|
70
|
+
* const result = await execute({
|
|
71
|
+
* generator: (spec, options) => { ... },
|
|
72
|
+
* }, {
|
|
73
|
+
* ...
|
|
74
|
+
* });
|
|
75
|
+
* ```
|
|
76
|
+
*
|
|
77
|
+
* @template TSpec - The type of the specification that the generator will produce.
|
|
78
|
+
* @template TOptions - The type of the options that will be passed to the generator during generation.
|
|
79
|
+
* @template TReturns - The type of the returns that the generator will produce.
|
|
80
|
+
* @param config - The configuration for the generator.
|
|
81
|
+
* @param options - The options for the generator.
|
|
82
|
+
* @returns A promise that resolves to the returns of the generator.
|
|
83
|
+
*/
|
|
84
|
+
declare function execute<TSpec, TOptions extends object, TReturns = void>(config: GeneratorConfig<TSpec, TOptions, TReturns>, options?: InferEngineOptions<typeof config> & TOptions): Promise<TReturns>;
|
|
85
|
+
//#endregion
|
|
86
|
+
export { createExecute, execute };
|
|
87
|
+
//# sourceMappingURL=execute.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execute.d.cts","names":[],"sources":["../src/execute.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA2EsB,cACpB,aAAY,aACX,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA2FW,QAAQ,OAAO,yBAAyB,iBAC5D,QAAQ,gBAAgB,OAAO,UAAU,WACzC,UAAS,0BAA0B,UACjC,WACD,QAAQ"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { _ as GeneratorConfig, t as UserConfig } from "./config-C9Hp8wTC.mjs";
|
|
2
|
+
import { a as InferEngineOptions, t as ExecuteFunction } from "./execution-d10Z7Dih.mjs";
|
|
3
|
+
//#region src/execute.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Creates an execution function that can be used to execute a generator.
|
|
6
|
+
*
|
|
7
|
+
* @remarks
|
|
8
|
+
* This function is used to create an execution function that can be used to execute a generator. It creates a new execution context and returns an execution function that can be used to execute the generator with the given configuration and options.
|
|
9
|
+
*
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* import { createExecute } from "@power-plant/core";
|
|
14
|
+
*
|
|
15
|
+
* // First, create an execution function with a custom configuration
|
|
16
|
+
* const execute = await createExecute({
|
|
17
|
+
* ...
|
|
18
|
+
* });
|
|
19
|
+
*
|
|
20
|
+
* // Then, execute the generator
|
|
21
|
+
* const result = await execute("my-generator", {
|
|
22
|
+
* ...
|
|
23
|
+
* });
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```ts
|
|
28
|
+
* import { createExecute } from "@power-plant/core";
|
|
29
|
+
*
|
|
30
|
+
* // First, create an execution function with a custom configuration
|
|
31
|
+
* const execute = await createExecute({
|
|
32
|
+
* ...
|
|
33
|
+
* });
|
|
34
|
+
*
|
|
35
|
+
* // Then, execute the generator
|
|
36
|
+
* const result = await execute({
|
|
37
|
+
* generator: (spec, options) => { ... },
|
|
38
|
+
* ...
|
|
39
|
+
* });
|
|
40
|
+
* ```
|
|
41
|
+
*
|
|
42
|
+
* @template TSpec - The type of the specification that the generator will produce.
|
|
43
|
+
* @template TOptions - The type of the options that will be passed to the generator during generation.
|
|
44
|
+
* @template TReturns - The type of the returns that the generator will produce.
|
|
45
|
+
* @param userConfig - The user configuration for the engine.
|
|
46
|
+
* @returns A promise that resolves to an execution function.
|
|
47
|
+
*/
|
|
48
|
+
declare function createExecute(userConfig?: UserConfig): Promise<ExecuteFunction>;
|
|
49
|
+
/**
|
|
50
|
+
* Executes a generator with a given configuration and options.
|
|
51
|
+
*
|
|
52
|
+
* @remarks
|
|
53
|
+
* This function is used to execute a generator with a given configuration and options. It creates a new execution context and returns an execution function that can be used to execute the generator with the given configuration and options.
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```ts
|
|
57
|
+
* import { execute } from "@power-plant/core";
|
|
58
|
+
*
|
|
59
|
+
* // Create and execute the generator
|
|
60
|
+
* const result = await execute("my-generator", {
|
|
61
|
+
* ...
|
|
62
|
+
* });
|
|
63
|
+
* ```
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```ts
|
|
67
|
+
* import { execute } from "@power-plant/core";
|
|
68
|
+
*
|
|
69
|
+
* // Create and execute the generator
|
|
70
|
+
* const result = await execute({
|
|
71
|
+
* generator: (spec, options) => { ... },
|
|
72
|
+
* }, {
|
|
73
|
+
* ...
|
|
74
|
+
* });
|
|
75
|
+
* ```
|
|
76
|
+
*
|
|
77
|
+
* @template TSpec - The type of the specification that the generator will produce.
|
|
78
|
+
* @template TOptions - The type of the options that will be passed to the generator during generation.
|
|
79
|
+
* @template TReturns - The type of the returns that the generator will produce.
|
|
80
|
+
* @param config - The configuration for the generator.
|
|
81
|
+
* @param options - The options for the generator.
|
|
82
|
+
* @returns A promise that resolves to the returns of the generator.
|
|
83
|
+
*/
|
|
84
|
+
declare function execute<TSpec, TOptions extends object, TReturns = void>(config: GeneratorConfig<TSpec, TOptions, TReturns>, options?: InferEngineOptions<typeof config> & TOptions): Promise<TReturns>;
|
|
85
|
+
//#endregion
|
|
86
|
+
export { createExecute, execute };
|
|
87
|
+
//# sourceMappingURL=execute.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execute.d.mts","names":[],"sources":["../src/execute.ts"],"mappings":""}
|
package/dist/execute.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./context.mjs";import{n as e,t}from"./execute-8tWWCCpu.mjs";export{t as createExecute,e as execute};
|