@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.
Files changed (77) hide show
  1. package/README.md +1 -1
  2. package/dist/{config-D3-0eTEI.d.cts → config-BpNybJZY.d.cts} +56 -244
  3. package/dist/config-BpNybJZY.d.cts.map +1 -0
  4. package/dist/{config-D3-0eTEI.d.mts → config-C9Hp8wTC.d.mts} +58 -246
  5. package/dist/config-C9Hp8wTC.d.mts.map +1 -0
  6. package/dist/config.d.cts +1 -1
  7. package/dist/config.d.mts +1 -1
  8. package/dist/context-BU2q1sN5.d.cts +105 -0
  9. package/dist/context-BU2q1sN5.d.cts.map +1 -0
  10. package/dist/context-BUNCX0E-.d.mts +105 -0
  11. package/dist/context-BUNCX0E-.d.mts.map +1 -0
  12. package/dist/context.cjs +1 -1
  13. package/dist/context.d.cts +34 -2
  14. package/dist/context.d.cts.map +1 -1
  15. package/dist/context.d.mts +34 -2
  16. package/dist/context.mjs +1 -1
  17. package/dist/define.cjs +1 -1
  18. package/dist/define.d.cts +2 -2
  19. package/dist/define.d.cts.map +1 -1
  20. package/dist/define.d.mts +2 -2
  21. package/dist/define.mjs +1 -1
  22. package/dist/execute-8tWWCCpu.mjs +2 -0
  23. package/dist/execute-8tWWCCpu.mjs.map +1 -0
  24. package/dist/execute-D7rill1C.cjs +1 -0
  25. package/dist/execute.cjs +1 -0
  26. package/dist/execute.d.cts +87 -0
  27. package/dist/execute.d.cts.map +1 -0
  28. package/dist/execute.d.mts +87 -0
  29. package/dist/execute.d.mts.map +1 -0
  30. package/dist/execute.mjs +1 -0
  31. package/dist/execution-BAm3omij.d.cts +61 -0
  32. package/dist/execution-BAm3omij.d.cts.map +1 -0
  33. package/dist/execution-d10Z7Dih.d.mts +61 -0
  34. package/dist/execution-d10Z7Dih.d.mts.map +1 -0
  35. package/dist/helpers/index.cjs +1 -0
  36. package/dist/helpers/index.d.cts +3 -0
  37. package/dist/helpers/index.d.mts +3 -0
  38. package/dist/helpers/index.mjs +1 -0
  39. package/dist/helpers/meta.cjs +1 -0
  40. package/dist/helpers/meta.d.cts +2 -0
  41. package/dist/helpers/meta.d.cts.map +1 -0
  42. package/dist/helpers/meta.d.mts +77 -0
  43. package/dist/helpers/meta.d.mts.map +1 -0
  44. package/dist/helpers/meta.mjs +2 -0
  45. package/dist/helpers/meta.mjs.map +1 -0
  46. package/dist/{type-checks-DBObymgE.d.cts → helpers/type-checks.d.cts} +6 -6
  47. package/dist/helpers/type-checks.d.cts.map +1 -0
  48. package/dist/{type-checks-DX_sqZhk.d.mts → helpers/type-checks.d.mts} +6 -6
  49. package/dist/helpers/type-checks.d.mts.map +1 -0
  50. package/dist/index-DY4xQ_iJ.d.mts +3 -0
  51. package/dist/index-it9jCi4L.d.cts +3 -0
  52. package/dist/index.cjs +1 -1
  53. package/dist/index.d.cts +7 -5
  54. package/dist/index.d.mts +7 -5
  55. package/dist/index.mjs +1 -1
  56. package/dist/meta-CiPl-8rq.d.cts +82 -0
  57. package/dist/meta-CiPl-8rq.d.cts.map +1 -0
  58. package/package.json +60 -21
  59. package/dist/config-D3-0eTEI.d.cts.map +0 -1
  60. package/dist/config-D3-0eTEI.d.mts.map +0 -1
  61. package/dist/context-B4h787Dd.d.mts +0 -185
  62. package/dist/context-B4h787Dd.d.mts.map +0 -1
  63. package/dist/context-DYvyeLgC.d.cts +0 -185
  64. package/dist/context-DYvyeLgC.d.cts.map +0 -1
  65. package/dist/type-checks-DBObymgE.d.cts.map +0 -1
  66. package/dist/type-checks-DX_sqZhk.d.mts.map +0 -1
  67. package/dist/type-checks.d.cts +0 -2
  68. package/dist/type-checks.d.mts +0 -2
  69. package/dist/types/__internal.cjs +0 -0
  70. package/dist/types/__internal.d.cts +0 -13
  71. package/dist/types/__internal.d.cts.map +0 -1
  72. package/dist/types/__internal.d.mts +0 -13
  73. package/dist/types/__internal.d.mts.map +0 -1
  74. package/dist/types/__internal.mjs +0 -1
  75. /package/dist/{type-checks.cjs → helpers/type-checks.cjs} +0 -0
  76. /package/dist/{type-checks.mjs → helpers/type-checks.mjs} +0 -0
  77. /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,u=a.callAsync,d=i(`execution`),f=d.asyncLocalStorage,p=d.use,m=d.tryUse,h=d.call,g=d.callAsync;exports.callAsyncExecutionContext=g,exports.callAsyncSessionContext=u,exports.callExecutionContext=h,exports.callSessionContext=l,exports.executionAsyncLocalStorage=f,exports.executionContext=d,exports.sessionAsyncLocalStorage=o,exports.sessionContext=a,exports.tryUseExecutionContext=m,exports.tryUseSessionContext=c,exports.useExecutionContext=p,exports.useSessionContext=s;
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;
@@ -1,4 +1,4 @@
1
- import { n as SessionContext, t as ExecutionContext } from "./context-DYvyeLgC.cjs";
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
@@ -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;;;;;;cAOjB,4BAAoB;;;;;;;;cASpB,qBA1FJ,GAAC,UAAA,gBAAA,gBAAA,MAAA;;;;;;;;cAmGG,0BAlGC,GAAC,UAAA,gBAAA,gBAAA,IAAA,QAAA,OAAA,QAAA;;;;cAuGF,kBAAgB,aAAA;;;;cAMhB,4BAA0B,kBAAA;;;;;;;cAQ1B,2BAAmB;;;;;;cAOnB,8BAAsB;;;;;;;;cAStB,uBAtIJ,GAAC,UAAA,iCAAA,gBAAA,MAAA;;;;;;;;cA+IG,4BA9IC,GAAC,UAAA,iCAAA,gBAAA,IAAA,QAAA,OAAA,QAAA"}
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"}
@@ -1,4 +1,4 @@
1
- import { n as SessionContext, t as ExecutionContext } from "./context-B4h787Dd.mjs";
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,u=a.callAsync,d=i(`execution`),f=d.asyncLocalStorage,p=d.use,m=d.tryUse,h=d.call,g=d.callAsync;export{g as callAsyncExecutionContext,u as callAsyncSessionContext,h as callExecutionContext,l as callSessionContext,f as executionAsyncLocalStorage,d as executionContext,o as sessionAsyncLocalStorage,a as sessionContext,m as tryUseExecutionContext,c as tryUseSessionContext,p as useExecutionContext,s as useSessionContext};
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 { F as InputConfig, H as SchemaConfigObject, I as InputConfigObject, d as OutputConfig, f as OutputConfigObject, y as GeneratorConfigObject } from "./config-D3-0eTEI.cjs";
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, TOptions extends object>(schema: SchemaSourceConfig<TSpec> | SchemaEnvelopeOf<TSpec> | SchemaConfigObject<TSpec, TOptions>): SchemaConfigObject<TSpec, TOptions>;
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
  *
@@ -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,OAAO,yBAClC,QACI,mBAAmB,SACnB,iBAAiB,SACjB,mBAAmB,OAAO,YAC7B,mBAAmB,OAAO;;;;;;;iBAcb,gBACd,OACA,yBACA,iBAEA,WAAW,sBAAsB,OAAO,UAAU,YACjD,sBAAsB,OAAO,UAAU"}
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 { F as InputConfig, H as SchemaConfigObject, I as InputConfigObject, d as OutputConfig, f as OutputConfigObject, y as GeneratorConfigObject } from "./config-D3-0eTEI.mjs";
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, TOptions extends object>(schema: SchemaSourceConfig<TSpec> | SchemaEnvelopeOf<TSpec> | SchemaConfigObject<TSpec, TOptions>): SchemaConfigObject<TSpec, TOptions>;
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}});
@@ -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":""}
@@ -0,0 +1 @@
1
+ import"./context.mjs";import{n as e,t}from"./execute-8tWWCCpu.mjs";export{t as createExecute,e as execute};