@start9labs/start-sdk 0.4.0-beta.51 → 0.4.0-beta.52
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/base/lib/actions/input/builder/inputSpec.d.ts +126 -5
- package/base/lib/actions/input/builder/inputSpec.js +219 -9
- package/base/lib/actions/input/builder/inputSpec.js.map +1 -1
- package/base/lib/actions/input/builder/list.d.ts +21 -0
- package/base/lib/actions/input/builder/list.js +21 -0
- package/base/lib/actions/input/builder/list.js.map +1 -1
- package/base/lib/actions/input/builder/value.d.ts +54 -0
- package/base/lib/actions/input/builder/value.js +56 -1
- package/base/lib/actions/input/builder/value.js.map +1 -1
- package/base/lib/actions/input/builder/variants.d.ts +11 -0
- package/base/lib/actions/input/builder/variants.js +17 -2
- package/base/lib/actions/input/builder/variants.js.map +1 -1
- package/base/lib/actions/input/inputSpecConstants.d.ts +203 -5
- package/base/lib/actions/input/inputSpecConstants.js +118 -38
- package/base/lib/actions/input/inputSpecConstants.js.map +1 -1
- package/base/lib/actions/input/inputSpecTypes.d.ts +99 -0
- package/base/lib/actions/input/inputSpecTypes.js +6 -1
- package/base/lib/actions/input/inputSpecTypes.js.map +1 -1
- package/base/lib/actions/setupActions.d.ts +6 -3
- package/base/lib/actions/setupActions.js +6 -3
- package/base/lib/actions/setupActions.js.map +1 -1
- package/base/lib/exver/index.d.ts +233 -2
- package/base/lib/exver/index.js +197 -3
- package/base/lib/exver/index.js.map +1 -1
- package/base/lib/index.d.ts +23 -1
- package/base/lib/index.js +3 -2
- package/base/lib/index.js.map +1 -1
- package/base/lib/inits/setupInit.d.ts +17 -0
- package/base/lib/inits/setupInit.js +7 -0
- package/base/lib/inits/setupInit.js.map +1 -1
- package/base/lib/inits/setupUninit.d.ts +12 -0
- package/base/lib/inits/setupUninit.js +7 -0
- package/base/lib/inits/setupUninit.js.map +1 -1
- package/base/lib/osBindings/ServerHostname.d.ts +1 -0
- package/base/lib/osBindings/ServerHostname.js +4 -0
- package/base/lib/osBindings/ServerHostname.js.map +1 -0
- package/base/lib/osBindings/ServerInfo.d.ts +1 -0
- package/base/lib/osBindings/SetServerHostnameParams.d.ts +4 -0
- package/base/lib/osBindings/SetServerHostnameParams.js +4 -0
- package/base/lib/osBindings/SetServerHostnameParams.js.map +1 -0
- package/base/lib/osBindings/SetupExecuteParams.d.ts +3 -1
- package/base/lib/osBindings/SmtpSecurity.d.ts +1 -0
- package/base/lib/osBindings/SmtpSecurity.js +4 -0
- package/base/lib/osBindings/SmtpSecurity.js.map +1 -0
- package/base/lib/osBindings/SmtpValue.d.ts +4 -2
- package/base/lib/osBindings/SmtpValue.js +0 -1
- package/base/lib/osBindings/SmtpValue.js.map +1 -1
- package/base/lib/osBindings/StartOsRecoveryInfo.d.ts +2 -2
- package/base/lib/osBindings/TestSmtpParams.d.ts +4 -2
- package/base/lib/osBindings/TestSmtpParams.js +0 -1
- package/base/lib/osBindings/TestSmtpParams.js.map +1 -1
- package/base/lib/osBindings/index.d.ts +3 -1
- package/base/lib/s9pk/index.d.ts +66 -0
- package/base/lib/s9pk/index.js +70 -1
- package/base/lib/s9pk/index.js.map +1 -1
- package/base/lib/types.d.ts +68 -2
- package/base/lib/types.js +14 -0
- package/base/lib/types.js.map +1 -1
- package/base/lib/util/asError.d.ts +8 -0
- package/base/lib/util/asError.js +8 -0
- package/base/lib/util/asError.js.map +1 -1
- package/base/lib/util/deepEqual.d.ts +15 -0
- package/base/lib/util/deepEqual.js +15 -0
- package/base/lib/util/deepEqual.js.map +1 -1
- package/base/lib/util/deepMerge.d.ts +18 -0
- package/base/lib/util/deepMerge.js +18 -0
- package/base/lib/util/deepMerge.js.map +1 -1
- package/base/lib/util/getDefaultString.d.ts +8 -0
- package/base/lib/util/getDefaultString.js +8 -0
- package/base/lib/util/getDefaultString.js.map +1 -1
- package/base/lib/util/graph.d.ts +57 -0
- package/base/lib/util/graph.js +47 -0
- package/base/lib/util/graph.js.map +1 -1
- package/base/lib/util/inMs.d.ts +15 -0
- package/base/lib/util/inMs.js +15 -0
- package/base/lib/util/inMs.js.map +1 -1
- package/base/lib/util/ip.d.ts +81 -0
- package/base/lib/util/ip.js +81 -0
- package/base/lib/util/ip.js.map +1 -1
- package/base/lib/util/once.d.ts +13 -0
- package/base/lib/util/once.js +13 -0
- package/base/lib/util/once.js.map +1 -1
- package/base/lib/util/patterns.d.ts +11 -0
- package/base/lib/util/patterns.js +11 -0
- package/base/lib/util/patterns.js.map +1 -1
- package/base/lib/util/regexes.d.ts +38 -0
- package/base/lib/util/regexes.js +38 -0
- package/base/lib/util/regexes.js.map +1 -1
- package/base/lib/util/splitCommand.d.ts +14 -0
- package/base/lib/util/splitCommand.js +14 -0
- package/base/lib/util/splitCommand.js.map +1 -1
- package/base/lib/util/stringFromStdErrOut.d.ts +7 -0
- package/base/lib/util/stringFromStdErrOut.js +7 -0
- package/base/lib/util/stringFromStdErrOut.js.map +1 -1
- package/base/lib/util/typeHelpers.d.ts +35 -0
- package/base/lib/util/typeHelpers.js +7 -0
- package/base/lib/util/typeHelpers.js.map +1 -1
- package/package/lib/StartSdk.d.ts +328 -2
- package/package/lib/StartSdk.js +142 -1
- package/package/lib/StartSdk.js.map +1 -1
- package/package/lib/backup/Backups.d.ts +71 -0
- package/package/lib/backup/Backups.js +69 -0
- package/package/lib/backup/Backups.js.map +1 -1
- package/package/lib/backup/setupBackups.d.ts +14 -0
- package/package/lib/backup/setupBackups.js +9 -0
- package/package/lib/backup/setupBackups.js.map +1 -1
- package/package/lib/health/HealthCheck.d.ts +16 -0
- package/package/lib/health/HealthCheck.js +15 -0
- package/package/lib/health/HealthCheck.js.map +1 -1
- package/package/lib/health/checkFns/HealthCheckResult.d.ts +6 -0
- package/package/lib/health/checkFns/index.d.ts +8 -0
- package/package/lib/health/checkFns/index.js +8 -0
- package/package/lib/health/checkFns/index.js.map +1 -1
- package/package/lib/mainFn/CommandController.d.ts +29 -0
- package/package/lib/mainFn/CommandController.js +29 -0
- package/package/lib/mainFn/CommandController.js.map +1 -1
- package/package/lib/mainFn/Daemon.d.ts +38 -2
- package/package/lib/mainFn/Daemon.js +38 -2
- package/package/lib/mainFn/Daemon.js.map +1 -1
- package/package/lib/mainFn/Daemons.d.ts +31 -0
- package/package/lib/mainFn/Daemons.js +13 -0
- package/package/lib/mainFn/Daemons.js.map +1 -1
- package/package/lib/mainFn/Mounts.d.ts +38 -0
- package/package/lib/mainFn/Mounts.js +38 -0
- package/package/lib/mainFn/Mounts.js.map +1 -1
- package/package/lib/mainFn/index.d.ts +1 -0
- package/package/lib/mainFn/index.js +1 -0
- package/package/lib/mainFn/index.js.map +1 -1
- package/package/lib/manifest/setupManifest.d.ts +9 -0
- package/package/lib/manifest/setupManifest.js +9 -0
- package/package/lib/manifest/setupManifest.js.map +1 -1
- package/package/lib/test/output.sdk.d.ts +192 -2
- package/package/lib/util/SubContainer.d.ts +46 -0
- package/package/lib/util/SubContainer.js +10 -0
- package/package/lib/util/SubContainer.js.map +1 -1
- package/package/lib/util/fileHelper.d.ts +41 -8
- package/package/lib/util/fileHelper.js +6 -4
- package/package/lib/util/fileHelper.js.map +1 -1
- package/package/lib/version/VersionGraph.d.ts +61 -0
- package/package/lib/version/VersionGraph.js +61 -0
- package/package/lib/version/VersionGraph.js.map +1 -1
- package/package/lib/version/VersionInfo.d.ts +17 -0
- package/package/lib/version/VersionInfo.js +12 -0
- package/package/lib/version/VersionInfo.js.map +1 -1
- package/package/package.json +3 -2
- package/package.json +3 -2
|
@@ -2,9 +2,18 @@ import { z } from 'zod';
|
|
|
2
2
|
import * as INI from 'ini';
|
|
3
3
|
import * as T from '../../../base/lib/types';
|
|
4
4
|
import { PathBase } from './Volume';
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Bidirectional transformers for converting between the raw file format and
|
|
7
|
+
* the application-level data type. Used with FileHelper factory methods.
|
|
8
|
+
*
|
|
9
|
+
* @typeParam Raw - The native type the file format parses to (e.g. `Record<string, unknown>` for JSON)
|
|
10
|
+
* @typeParam Transformed - The application-level type after transformation
|
|
11
|
+
*/
|
|
12
|
+
export type Transformers<Raw = unknown, Transformed = unknown, Validated extends Transformed = Transformed> = {
|
|
13
|
+
/** Transform raw parsed data into the application type */
|
|
6
14
|
onRead: (value: Raw) => Transformed;
|
|
7
|
-
|
|
15
|
+
/** Transform application data back into the raw format for writing */
|
|
16
|
+
onWrite: (value: Validated) => Raw;
|
|
8
17
|
};
|
|
9
18
|
type ToPath = string | {
|
|
10
19
|
base: PathBase;
|
|
@@ -84,6 +93,19 @@ export declare class FileHelper<A> {
|
|
|
84
93
|
private readWatch;
|
|
85
94
|
private readOnChange;
|
|
86
95
|
private readWaitFor;
|
|
96
|
+
/**
|
|
97
|
+
* Create a reactive reader for this file.
|
|
98
|
+
*
|
|
99
|
+
* Returns an object with multiple read strategies:
|
|
100
|
+
* - `once()` - Read the file once and return the parsed value
|
|
101
|
+
* - `const(effects)` - Read once but re-read when the file changes (for use with constRetry)
|
|
102
|
+
* - `watch(effects)` - Async generator yielding new values on each file change
|
|
103
|
+
* - `onChange(effects, callback)` - Fire a callback on each file change
|
|
104
|
+
* - `waitFor(effects, predicate)` - Block until the file value satisfies a predicate
|
|
105
|
+
*
|
|
106
|
+
* @param map - Optional transform function applied after validation
|
|
107
|
+
* @param eq - Optional equality function to deduplicate watch emissions
|
|
108
|
+
*/
|
|
87
109
|
read(): ReadType<A>;
|
|
88
110
|
read<B>(map: (value: A) => B, eq?: (left: B | null | undefined, right: B | null) => boolean): ReadType<B>;
|
|
89
111
|
/**
|
|
@@ -115,24 +137,35 @@ export declare class FileHelper<A> {
|
|
|
115
137
|
*/
|
|
116
138
|
static string(path: ToPath): FileHelper<string>;
|
|
117
139
|
static string<A extends string>(path: ToPath, shape: Validator<string, A>): FileHelper<A>;
|
|
118
|
-
static string<A extends Transformed, Transformed = string>(path: ToPath, shape: Validator<Transformed, A>, transformers: Transformers<string, Transformed>): FileHelper<A>;
|
|
140
|
+
static string<A extends Transformed, Transformed = string>(path: ToPath, shape: Validator<Transformed, A>, transformers: Transformers<string, Transformed, A>): FileHelper<A>;
|
|
119
141
|
/**
|
|
120
142
|
* Create a File Helper for a .json file.
|
|
121
143
|
*/
|
|
122
|
-
static json<A>(path: ToPath, shape: Validator<unknown, A
|
|
144
|
+
static json<A>(path: ToPath, shape: Validator<unknown, A>): FileHelper<A>;
|
|
145
|
+
static json<A extends Transformed, Transformed = unknown>(path: ToPath, shape: Validator<unknown, A>, transformers: Transformers<unknown, Transformed, A>): FileHelper<A>;
|
|
123
146
|
/**
|
|
124
147
|
* Create a File Helper for a .yaml file
|
|
125
148
|
*/
|
|
126
149
|
static yaml<A extends Record<string, unknown>>(path: ToPath, shape: Validator<Record<string, unknown>, A>): FileHelper<A>;
|
|
127
|
-
static yaml<A extends Transformed, Transformed = Record<string, unknown>>(path: ToPath, shape: Validator<Transformed, A>, transformers: Transformers<Record<string, unknown>, Transformed>): FileHelper<A>;
|
|
150
|
+
static yaml<A extends Transformed, Transformed = Record<string, unknown>>(path: ToPath, shape: Validator<Transformed, A>, transformers: Transformers<Record<string, unknown>, Transformed, A>): FileHelper<A>;
|
|
128
151
|
/**
|
|
129
152
|
* Create a File Helper for a .toml file
|
|
130
153
|
*/
|
|
131
154
|
static toml<A extends Record<string, unknown>>(path: ToPath, shape: Validator<Record<string, unknown>, A>): FileHelper<A>;
|
|
132
|
-
static toml<A extends Transformed, Transformed = Record<string, unknown>>(path: ToPath, shape: Validator<Transformed, A>, transformers: Transformers<Record<string, unknown>, Transformed>): FileHelper<A>;
|
|
155
|
+
static toml<A extends Transformed, Transformed = Record<string, unknown>>(path: ToPath, shape: Validator<Transformed, A>, transformers: Transformers<Record<string, unknown>, Transformed, A>): FileHelper<A>;
|
|
156
|
+
/**
|
|
157
|
+
* Create a File Helper for a .ini file.
|
|
158
|
+
*
|
|
159
|
+
* Supports optional encode/decode options and custom transformers.
|
|
160
|
+
*/
|
|
133
161
|
static ini<A extends Record<string, unknown>>(path: ToPath, shape: Validator<Record<string, unknown>, A>, options?: INI.EncodeOptions & INI.DecodeOptions): FileHelper<A>;
|
|
134
|
-
static ini<A extends Transformed, Transformed = Record<string, unknown>>(path: ToPath, shape: Validator<Transformed, A>, options: INI.EncodeOptions & INI.DecodeOptions, transformers: Transformers<Record<string, unknown>, Transformed>): FileHelper<A>;
|
|
162
|
+
static ini<A extends Transformed, Transformed = Record<string, unknown>>(path: ToPath, shape: Validator<Transformed, A>, options: INI.EncodeOptions & INI.DecodeOptions, transformers: Transformers<Record<string, unknown>, Transformed, A>): FileHelper<A>;
|
|
163
|
+
/**
|
|
164
|
+
* Create a File Helper for a .env file (KEY=VALUE format, one per line).
|
|
165
|
+
*
|
|
166
|
+
* Lines starting with `#` are treated as comments and ignored on read.
|
|
167
|
+
*/
|
|
135
168
|
static env<A extends Record<string, string>>(path: ToPath, shape: Validator<Record<string, string>, A>): FileHelper<A>;
|
|
136
|
-
static env<A extends Transformed, Transformed = Record<string, string>>(path: ToPath, shape: Validator<Transformed, A>, transformers: Transformers<Record<string, string>, Transformed>): FileHelper<A>;
|
|
169
|
+
static env<A extends Transformed, Transformed = Record<string, string>>(path: ToPath, shape: Validator<Transformed, A>, transformers: Transformers<Record<string, string>, Transformed, A>): FileHelper<A>;
|
|
137
170
|
}
|
|
138
171
|
export default FileHelper;
|
|
@@ -372,14 +372,16 @@ class FileHelper {
|
|
|
372
372
|
return toFile(transformers.onWrite(inData));
|
|
373
373
|
}
|
|
374
374
|
return toFile(inData);
|
|
375
|
-
},
|
|
375
|
+
}, (fileData) => {
|
|
376
|
+
if (transformers) {
|
|
377
|
+
return transformers.onRead(fromFile(fileData));
|
|
378
|
+
}
|
|
379
|
+
return fromFile(fileData);
|
|
380
|
+
}, validate);
|
|
376
381
|
}
|
|
377
382
|
static string(path, shape, transformers) {
|
|
378
383
|
return FileHelper.rawTransformed(path, (inData) => inData, (inString) => inString, (data) => (shape || zod_1.z.string()).parse(data), transformers);
|
|
379
384
|
}
|
|
380
|
-
/**
|
|
381
|
-
* Create a File Helper for a .json file.
|
|
382
|
-
*/
|
|
383
385
|
static json(path, shape, transformers) {
|
|
384
386
|
return FileHelper.rawTransformed(path, (inData) => JSON.stringify(inData, null, 2), (inString) => JSON.parse(inString), (data) => shape.parse(data), transformers);
|
|
385
387
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileHelper.js","sourceRoot":"","sources":["../../../../package/lib/util/fileHelper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAAuB;AACvB,2CAA4B;AAC5B,kDAAmC;AACnC,yCAA0B;AAE1B,qDAAsC;AACtC,iDAA2D;AAC3D,sDAAwE;AAGxE,MAAM,YAAY,GAAG,iBAAiB,CAAA;AAEtC,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE,CAC9B,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAClB,GAAG,EAAE,CAAC,IAAI,EACV,GAAG,EAAE,CAAC,KAAK,CACZ,CAAA;AAEH,KAAK,UAAU,SAAS,CAAC,IAAY;IACnC,IAAI,IAAI,KAAK,GAAG;QAAE,OAAM;IACxB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,CAAA;IAC5D,IAAI,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,OAAM;IACR,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC7B,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,EAAE,CAAA;IAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC9B,MAAM,SAAS,CAAC,MAAM,CAAC,CAAA;IACvB,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAA;IAClC,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;IAC1E,IAAI,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,EAAE,CAAA;QACZ,OAAM;IACR,CAAC;IACD,IACE,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CACxB,GAAG,EAAE,CAAC,IAAI,EACV,GAAG,EAAE,CAAC,KAAK,CACZ,EACD,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAA;QACZ,OAAM;IACR,CAAC;IACD,IAAI,KAAK,EAAE,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;YACtB,OAAM;QACR,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,GAAG,IAAW;IAC/B,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;IACtB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,KAAK,GAAG;YAAE,SAAQ;aACpB,IACH,GAAG;YACH,GAAG;YACH,OAAO,GAAG,KAAK,QAAQ;YACvB,OAAO,GAAG,KAAK,QAAQ;YACvB,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YACnB,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EACnB,CAAC;YACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;YAC1C,CAAC;QACH,CAAC;;YAAM,GAAG,GAAG,GAAG,CAAA;IAClB,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,eAAe,CAAI,CAAI;IAC9B,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,OAAO,CAAC,CAAC,GAAG,CAAC,eAAe,CAAM,CAAA;QACpC,CAAC;QACD,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAsB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;YACnE,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBACpB,GAAG,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAA;YAC7B,CAAC;YACD,OAAO,GAAG,CAAA;QACZ,CAAC,EAAE,EAAE,CAAM,CAAA;IACb,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAQD,SAAS,MAAM,CAAC,IAAY;IAC1B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AACxC,CAAC;AAwBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAa,UAAU;IAOrB,YACW,IAAY,EACZ,SAAgC,EAChC,QAA0C,EAC1C,QAA+B;QAH/B,SAAI,GAAJ,IAAI,CAAQ;QACZ,cAAS,GAAT,SAAS,CAAuB;QAChC,aAAQ,GAAR,QAAQ,CAAkC;QAC1C,aAAQ,GAAR,QAAQ,CAAuB;QAVlC,WAAM,GAKR,EAAE,CAAA;IAML,CAAC;IAEI,KAAK,CAAC,YAAY,CAAC,IAAY;QACrC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC3C,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAChD,CAAC;QAED,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAEnC,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,SAAS,CAAC,IAAO;QAC7B,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;IACtD,CAAC;IAEO,KAAK,CAAC,WAAW;QACvB,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;IAC5E,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA;QACpC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,OAAO,GAAG,CAAA;QACZ,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IAC3B,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,QAAQ,CAAI,GAAoB;QAC5C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAA;QAClC,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAA;QACtB,OAAO,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;IACjC,CAAC;IAEO,KAAK,CAAC,SAAS,CACrB,OAAkB,EAClB,GAAoB,EACpB,EAA4D;QAE5D,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;QAC9C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;QAC9B,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,MAAM,MAAM,GAAiC;gBAC3C,OAAO,CAAC,UAAU;gBAClB,GAAG,CAAC,KAAK;gBACT,GAAG;gBACH,EAAE;aACH,CAAA;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACxB,KAAK;iBACF,IAAI,EAAE;iBACN,IAAI,CAAC,GAAG,EAAE;gBACT,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAA;gBACrD,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,EAAE,CAAA;YAC5C,CAAC,CAAC;iBACD,KAAK,EAAE,CAAA;QACZ,CAAC;QACD,OAAO,GAAG,CAAC,KAAK,CAAA;IAClB,CAAC;IAEO,KAAK,CAAC,CAAC,SAAS,CACtB,OAAkB,EAClB,GAAoB,EACpB,EAA4D,EAC5D,KAAmB;QAEnB,IAAI,IAAI,GAA+B,IAAI,CAAA;QAC3C,OAAO,OAAO,CAAC,WAAW,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;YAC9C,IAAI,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAA;gBAClC,KAAK,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;gBACpD,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;oBAChC,UAAU,EAAE,KAAK;oBACjB,MAAM,EAAE,IAAI,CAAC,MAAM;iBACpB,CAAC,CAAA;gBACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;gBACvC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE;qBAC7B,IAAI,CAAC,KAAK,IAAI,EAAE;oBACf,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;wBAC5B,IAAI,CAAC,KAAK,EAAE,CAAA;wBACZ,OAAO,IAAI,CAAA;oBACb,CAAC;gBACH,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAA,cAAO,EAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC1C,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;oBACrC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;oBACjE,MAAM,MAAM,CAAA;gBACd,CAAC;gBACD,IAAI,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;gBACxB,MAAM,MAAM,CAAA;YACd,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAA;gBACV,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAA,cAAO,EAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACpE,CAAC;QACH,CAAC;QACD,OAAO,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IAClE,CAAC;IAEO,YAAY,CAClB,OAAkB,EAClB,QAGuD,EACvD,GAAoB,EACpB,EAA4D;QAE5D,CAAC;QAAA,CAAC,KAAK,IAAI,EAAE;YACX,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAA;YAClC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxE,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAA;oBACjC,IAAI,GAAG,CAAC,MAAM;wBAAE,IAAI,CAAC,KAAK,EAAE,CAAA;gBAC9B,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,CAAC,KAAK,CACX,6DAA6D,EAC7D,CAAC,CACF,CAAA;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC,EAAE;aACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;aAC/B,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CACX,OAAO,CAAC,KAAK,CACX,6DAA6D,EAC7D,CAAC,CACF,CACF,CAAA;IACL,CAAC;IAEO,WAAW,CACjB,OAAkB,EAClB,IAAiD,EACjD,GAAoB;QAEpB,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAA;QAClC,OAAO,kBAAW,CAAC,EAAE,CACnB,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YAChC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;YACrE,OAAO,IAAI,EAAE,CAAC;gBACZ,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;oBAC9B,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;wBACpB,IAAI,CAAC,KAAK,EAAE,CAAA;wBACZ,OAAO,GAAG,CAAC,KAAK,CAAA;oBAClB,CAAC;oBACD,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;wBACb,MAAK;oBACP,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,IAAI,CAAC,IAAI,EAAE,CAAU,CAAC,EAAE,CAAC;wBAC3B,MAAK;oBACP,CAAC;gBACH,CAAC;YACH,CAAC;YACD,IAAI,CAAC,KAAK,EAAE,CAAA;YACZ,OAAO,IAAI,CAAA;QACb,CAAC,CAAC,EACF,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CACnB,CAAA;IACH,CAAC;IAOD,IAAI,CACF,GAAuB,EACvB,EAAuC;QAEvC,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;QAC1B,EAAE,GAAG,EAAE,IAAI,gBAAS,CAAA;QACpB,OAAO;YACL,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAC9B,KAAK,EAAE,CAAC,OAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC;YAC/D,KAAK,EAAE,CAAC,OAAkB,EAAE,KAAmB,EAAE,EAAE;gBACjD,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAA;gBAClC,KAAK,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;gBACpD,OAAO,oBAAa,CAAC,EAAE,CACrB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAC7C,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CACnB,CAAA;YACH,CAAC;YACD,QAAQ,EAAE,CACR,OAAkB,EAClB,QAGuD,EACvD,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,CAAC;YAClD,OAAO,EAAE,CAAC,OAAkB,EAAE,IAAkC,EAAE,EAAE,CAClE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC;SACvC,CAAA;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CACT,OAAkB,EAClB,IAA4B,EAC5B,UAA8C,EAAE;QAEhD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACnC,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QAC7B,IAAI,CAAC,OAAO,CAAC,oBAAoB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACxD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;YACrE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,MAAM,CAAA;gBACjC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;oBAC5B,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;gBAC9D,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CACT,OAAkB,EAClB,IAAuC,EACvC,UAA8C,EAAE;QAEhD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA;QAC5C,IAAI,QAAQ,GAAQ,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;QAC5E,IAAI,CAAC;YACH,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QACpC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;QACd,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAA;QAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;QACzC,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;YACzB,IAAI,CAAC,OAAO,CAAC,oBAAoB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACxD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;gBACrE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC7B,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,MAAM,CAAA;oBACjC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;wBAC9B,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;oBAC9D,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,IAAY;QACnB,OAAO,IAAI,UAAU,CACnB,MAAM,CAAC,IAAI,CAAC,EACZ,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,QAAQ,CACd,CAAA;IACH,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,GAAG,CACR,IAAY,EACZ,MAA6B,EAC7B,QAAsC,EACtC,QAA8B;QAE9B,OAAO,IAAI,UAAU,CAAI,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACpE,CAAC;IAEO,MAAM,CAAC,cAAc,CAC3B,IAAY,EACZ,MAA+B,EAC/B,QAAkC,EAClC,QAAkC,EAClC,YAAwD;QAExD,OAAO,UAAU,CAAC,GAAG,CACnB,IAAI,EACJ,CAAC,MAAM,EAAE,EAAE;YACT,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;YAC7C,CAAC;YACD,OAAO,MAAM,CAAC,MAAoB,CAAC,CAAA;QACrC,CAAC,EACD,QAAQ,EACR,QAA6B,CAC9B,CAAA;IACH,CAAC;IAeD,MAAM,CAAC,MAAM,CACX,IAAY,EACZ,KAAiC,EACjC,YAAgD;QAEhD,OAAO,UAAU,CAAC,cAAc,CAC9B,IAAI,EACJ,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAClB,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,EACtB,CAAC,IAAI,EAAE,EAAE,CACP,CAAC,KAAK,IAAK,OAAC,CAAC,MAAM,EAA2C,CAAC,CAAC,KAAK,CACnE,IAAI,CACL,EACH,YAAY,CACb,CAAA;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAAI,CACT,IAAY,EACZ,KAA4B,EAC5B,YAA2B;QAE3B,OAAO,UAAU,CAAC,cAAc,CAC9B,IAAI,EACJ,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAC3C,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAClC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAC3B,YAAY,CACb,CAAA;IACH,CAAC;IAcD,MAAM,CAAC,IAAI,CACT,IAAY,EACZ,KAAgC,EAChC,YAAiE;QAEjE,OAAO,UAAU,CAAC,cAAc,CAC9B,IAAI,EACJ,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAC3C,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAClC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAC3B,YAAY,CACb,CAAA;IACH,CAAC;IAcD,MAAM,CAAC,IAAI,CACT,IAAY,EACZ,KAAgC,EAChC,YAAiE;QAEjE,OAAO,UAAU,CAAC,cAAc,CAC9B,IAAI,EACJ,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAsB,CAAC,EAClD,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAClC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAC3B,YAAY,CACb,CAAA;IACH,CAAC;IAaD,MAAM,CAAC,GAAG,CACR,IAAY,EACZ,KAAgC,EAChC,OAA+C,EAC/C,YAAiE;QAEjE,OAAO,UAAU,CAAC,cAAc,CAC9B,IAAI,EACJ,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,EAC3D,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,EAC1C,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAC3B,YAAY,CACb,CAAA;IACH,CAAC;IAWD,MAAM,CAAC,GAAG,CACR,IAAY,EACZ,KAAgC,EAChC,YAAgE;QAEhE,OAAO,UAAU,CAAC,cAAc,CAC9B,IAAI,EACJ,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;aACnB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;aAC5B,IAAI,CAAC,IAAI,CAAC,EACf,CAAC,QAAQ,EAAE,EAAE,CACX,MAAM,CAAC,WAAW,CAChB,QAAQ;aACL,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;aAC7D,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACZ,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YAC7B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;QAClD,CAAC,CAAC,CACL,EACH,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAC3B,YAAY,CACb,CAAA;IACH,CAAC;CACF;AA7dD,gCA6dC;AAED,kBAAe,UAAU,CAAA"}
|
|
1
|
+
{"version":3,"file":"fileHelper.js","sourceRoot":"","sources":["../../../../package/lib/util/fileHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,14 +2,43 @@ import { ExtendedVersion, VersionRange } from '../../../base/lib/exver';
|
|
|
2
2
|
import * as T from '../../../base/lib/types';
|
|
3
3
|
import { InitScript, UninitScript } from '../../../base/lib/inits';
|
|
4
4
|
import { VersionInfo } from './VersionInfo';
|
|
5
|
+
/**
|
|
6
|
+
* Read the current data version from the effects system.
|
|
7
|
+
* @param effects - The effects context
|
|
8
|
+
* @returns The parsed ExtendedVersion or VersionRange, or null if no version is set
|
|
9
|
+
*/
|
|
5
10
|
export declare function getDataVersion(effects: T.Effects): Promise<ExtendedVersion | VersionRange | null>;
|
|
11
|
+
/**
|
|
12
|
+
* Persist a data version to the effects system.
|
|
13
|
+
* @param effects - The effects context
|
|
14
|
+
* @param version - The version to set, or null to clear it
|
|
15
|
+
*/
|
|
6
16
|
export declare function setDataVersion(effects: T.Effects, version: ExtendedVersion | VersionRange | null): Promise<null>;
|
|
17
|
+
/**
|
|
18
|
+
* Check whether two version specifiers overlap (i.e. share at least one common version).
|
|
19
|
+
* Works with any combination of ExtendedVersion and VersionRange.
|
|
20
|
+
*
|
|
21
|
+
* @param a - First version or range
|
|
22
|
+
* @param b - Second version or range
|
|
23
|
+
* @returns True if the two specifiers overlap
|
|
24
|
+
*/
|
|
7
25
|
export declare function overlaps(a: ExtendedVersion | VersionRange, b: ExtendedVersion | VersionRange): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* A directed graph of service versions and their migration paths.
|
|
28
|
+
*
|
|
29
|
+
* Builds a graph from {@link VersionInfo} definitions, then uses shortest-path
|
|
30
|
+
* search to find and execute migration sequences between any two versions.
|
|
31
|
+
* Implements both {@link InitScript} (for install/update migrations) and
|
|
32
|
+
* {@link UninitScript} (for uninstall/downgrade migrations).
|
|
33
|
+
*
|
|
34
|
+
* @typeParam CurrentVersion - The string literal type of the current service version
|
|
35
|
+
*/
|
|
8
36
|
export declare class VersionGraph<CurrentVersion extends string> implements InitScript, UninitScript {
|
|
9
37
|
readonly current: VersionInfo<CurrentVersion>;
|
|
10
38
|
protected initFn: (effects: T.Effects) => Promise<void>;
|
|
11
39
|
protected uninitFn: (effects: T.Effects, target: VersionRange | ExtendedVersion | null) => Promise<void>;
|
|
12
40
|
private readonly graph;
|
|
41
|
+
/** Dump the version graph as a human-readable string for debugging */
|
|
13
42
|
dump(): string;
|
|
14
43
|
private constructor();
|
|
15
44
|
currentVersion: () => ExtendedVersion;
|
|
@@ -22,14 +51,46 @@ export declare class VersionGraph<CurrentVersion extends string> implements Init
|
|
|
22
51
|
current: VersionInfo<CurrentVersion>;
|
|
23
52
|
other: OtherVersions;
|
|
24
53
|
}): VersionGraph<CurrentVersion>;
|
|
54
|
+
/**
|
|
55
|
+
* Execute the shortest migration path between two versions.
|
|
56
|
+
*
|
|
57
|
+
* Finds the shortest path in the version graph from `from` to `to`,
|
|
58
|
+
* executes each migration step in order, and updates the data version after each step.
|
|
59
|
+
*
|
|
60
|
+
* @param options.effects - The effects context
|
|
61
|
+
* @param options.from - The source version or range
|
|
62
|
+
* @param options.to - The target version or range
|
|
63
|
+
* @returns The final data version after migration
|
|
64
|
+
* @throws If no migration path exists between the two versions
|
|
65
|
+
*/
|
|
25
66
|
migrate({ effects, from, to, }: {
|
|
26
67
|
effects: T.Effects;
|
|
27
68
|
from: ExtendedVersion | VersionRange;
|
|
28
69
|
to: ExtendedVersion | VersionRange;
|
|
29
70
|
}): Promise<ExtendedVersion | VersionRange>;
|
|
71
|
+
/**
|
|
72
|
+
* Compute the version range from which the current version can be reached via migration.
|
|
73
|
+
* Uses reverse breadth-first search from the current version vertex.
|
|
74
|
+
*/
|
|
30
75
|
canMigrateFrom: () => VersionRange;
|
|
76
|
+
/**
|
|
77
|
+
* Compute the version range that the current version can migrate to.
|
|
78
|
+
* Uses forward breadth-first search from the current version vertex.
|
|
79
|
+
*/
|
|
31
80
|
canMigrateTo: () => VersionRange;
|
|
81
|
+
/**
|
|
82
|
+
* InitScript implementation: migrate from the stored data version to the current version.
|
|
83
|
+
* If no data version exists (fresh install), sets it to the current version.
|
|
84
|
+
* @param effects - The effects context
|
|
85
|
+
*/
|
|
32
86
|
init(effects: T.Effects): Promise<void>;
|
|
87
|
+
/**
|
|
88
|
+
* UninitScript implementation: migrate from the current data version to the target version.
|
|
89
|
+
* Used during uninstall or downgrade to prepare data for the target version.
|
|
90
|
+
*
|
|
91
|
+
* @param effects - The effects context
|
|
92
|
+
* @param target - The target version to migrate to, or null to clear the data version
|
|
93
|
+
*/
|
|
33
94
|
uninit(effects: T.Effects, target: VersionRange | ExtendedVersion | null): Promise<void>;
|
|
34
95
|
}
|
|
35
96
|
export type EnsureUniqueId<A, B = A, OtherVersions = never> = B extends [] ? A : B extends [VersionInfo<infer Version>, ...infer Rest] ? (Version extends OtherVersions ? "One or more versions are not unique"[] : EnsureUniqueId<A, Rest, Version | OtherVersions>) : "There exists a migration that is not a Migration"[];
|
|
@@ -7,6 +7,11 @@ exports.overlaps = overlaps;
|
|
|
7
7
|
const exver_1 = require("../../../base/lib/exver");
|
|
8
8
|
const util_1 = require("../util");
|
|
9
9
|
const VersionInfo_1 = require("./VersionInfo");
|
|
10
|
+
/**
|
|
11
|
+
* Read the current data version from the effects system.
|
|
12
|
+
* @param effects - The effects context
|
|
13
|
+
* @returns The parsed ExtendedVersion or VersionRange, or null if no version is set
|
|
14
|
+
*/
|
|
10
15
|
async function getDataVersion(effects) {
|
|
11
16
|
const versionStr = await effects.getDataVersion();
|
|
12
17
|
if (!versionStr)
|
|
@@ -18,6 +23,11 @@ async function getDataVersion(effects) {
|
|
|
18
23
|
return exver_1.VersionRange.parse(versionStr);
|
|
19
24
|
}
|
|
20
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* Persist a data version to the effects system.
|
|
28
|
+
* @param effects - The effects context
|
|
29
|
+
* @param version - The version to set, or null to clear it
|
|
30
|
+
*/
|
|
21
31
|
async function setDataVersion(effects, version) {
|
|
22
32
|
return effects.setDataVersion({ version: version?.toString() || null });
|
|
23
33
|
}
|
|
@@ -27,13 +37,32 @@ function isExver(v) {
|
|
|
27
37
|
function isRange(v) {
|
|
28
38
|
return 'satisfiedBy' in v;
|
|
29
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* Check whether two version specifiers overlap (i.e. share at least one common version).
|
|
42
|
+
* Works with any combination of ExtendedVersion and VersionRange.
|
|
43
|
+
*
|
|
44
|
+
* @param a - First version or range
|
|
45
|
+
* @param b - Second version or range
|
|
46
|
+
* @returns True if the two specifiers overlap
|
|
47
|
+
*/
|
|
30
48
|
function overlaps(a, b) {
|
|
31
49
|
return ((isRange(a) && isRange(b) && a.intersects(b)) ||
|
|
32
50
|
(isRange(a) && isExver(b) && a.satisfiedBy(b)) ||
|
|
33
51
|
(isExver(a) && isRange(b) && a.satisfies(b)) ||
|
|
34
52
|
(isExver(a) && isExver(b) && a.equals(b)));
|
|
35
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* A directed graph of service versions and their migration paths.
|
|
56
|
+
*
|
|
57
|
+
* Builds a graph from {@link VersionInfo} definitions, then uses shortest-path
|
|
58
|
+
* search to find and execute migration sequences between any two versions.
|
|
59
|
+
* Implements both {@link InitScript} (for install/update migrations) and
|
|
60
|
+
* {@link UninitScript} (for uninstall/downgrade migrations).
|
|
61
|
+
*
|
|
62
|
+
* @typeParam CurrentVersion - The string literal type of the current service version
|
|
63
|
+
*/
|
|
36
64
|
class VersionGraph {
|
|
65
|
+
/** Dump the version graph as a human-readable string for debugging */
|
|
37
66
|
dump() {
|
|
38
67
|
return this.graph().dump((metadata) => metadata?.toString());
|
|
39
68
|
}
|
|
@@ -42,11 +71,19 @@ class VersionGraph {
|
|
|
42
71
|
this.initFn = this.init.bind(this);
|
|
43
72
|
this.uninitFn = this.uninit.bind(this);
|
|
44
73
|
this.currentVersion = (0, util_1.once)(() => exver_1.ExtendedVersion.parse(this.current.options.version));
|
|
74
|
+
/**
|
|
75
|
+
* Compute the version range from which the current version can be reached via migration.
|
|
76
|
+
* Uses reverse breadth-first search from the current version vertex.
|
|
77
|
+
*/
|
|
45
78
|
this.canMigrateFrom = (0, util_1.once)(() => Array.from(this.graph().reverseBreadthFirstSearch((v) => overlaps(v.metadata, this.currentVersion())))
|
|
46
79
|
.reduce((acc, x) => acc.or(isRange(x.metadata)
|
|
47
80
|
? x.metadata
|
|
48
81
|
: exver_1.VersionRange.anchor('=', x.metadata)), exver_1.VersionRange.none())
|
|
49
82
|
.normalize());
|
|
83
|
+
/**
|
|
84
|
+
* Compute the version range that the current version can migrate to.
|
|
85
|
+
* Uses forward breadth-first search from the current version vertex.
|
|
86
|
+
*/
|
|
50
87
|
this.canMigrateTo = (0, util_1.once)(() => Array.from(this.graph().breadthFirstSearch((v) => overlaps(v.metadata, this.currentVersion())))
|
|
51
88
|
.reduce((acc, x) => acc.or(isRange(x.metadata)
|
|
52
89
|
? x.metadata
|
|
@@ -123,6 +160,18 @@ class VersionGraph {
|
|
|
123
160
|
static of(options) {
|
|
124
161
|
return new VersionGraph(options.current, options.other);
|
|
125
162
|
}
|
|
163
|
+
/**
|
|
164
|
+
* Execute the shortest migration path between two versions.
|
|
165
|
+
*
|
|
166
|
+
* Finds the shortest path in the version graph from `from` to `to`,
|
|
167
|
+
* executes each migration step in order, and updates the data version after each step.
|
|
168
|
+
*
|
|
169
|
+
* @param options.effects - The effects context
|
|
170
|
+
* @param options.from - The source version or range
|
|
171
|
+
* @param options.to - The target version or range
|
|
172
|
+
* @returns The final data version after migration
|
|
173
|
+
* @throws If no migration path exists between the two versions
|
|
174
|
+
*/
|
|
126
175
|
async migrate({ effects, from, to, }) {
|
|
127
176
|
if (overlaps(from, to))
|
|
128
177
|
return from;
|
|
@@ -152,6 +201,11 @@ class VersionGraph {
|
|
|
152
201
|
}
|
|
153
202
|
throw new Error(`cannot migrate from ${from.toString()} to ${to.toString()}`);
|
|
154
203
|
}
|
|
204
|
+
/**
|
|
205
|
+
* InitScript implementation: migrate from the stored data version to the current version.
|
|
206
|
+
* If no data version exists (fresh install), sets it to the current version.
|
|
207
|
+
* @param effects - The effects context
|
|
208
|
+
*/
|
|
155
209
|
async init(effects) {
|
|
156
210
|
const from = await getDataVersion(effects);
|
|
157
211
|
if (from) {
|
|
@@ -165,6 +219,13 @@ class VersionGraph {
|
|
|
165
219
|
await effects.setDataVersion({ version: this.current.options.version });
|
|
166
220
|
}
|
|
167
221
|
}
|
|
222
|
+
/**
|
|
223
|
+
* UninitScript implementation: migrate from the current data version to the target version.
|
|
224
|
+
* Used during uninstall or downgrade to prepare data for the target version.
|
|
225
|
+
*
|
|
226
|
+
* @param effects - The effects context
|
|
227
|
+
* @param target - The target version to migrate to, or null to clear the data version
|
|
228
|
+
*/
|
|
168
229
|
async uninit(effects, target) {
|
|
169
230
|
if (target) {
|
|
170
231
|
const from = await getDataVersion(effects);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VersionGraph.js","sourceRoot":"","sources":["../../../../package/lib/version/VersionGraph.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"VersionGraph.js","sourceRoot":"","sources":["../../../../package/lib/version/VersionGraph.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import { ValidateExVer } from '../../../base/lib/exver';
|
|
2
2
|
import * as T from '../../../base/lib/types';
|
|
3
|
+
/**
|
|
4
|
+
* Sentinel value indicating that a migration in a given direction is not possible.
|
|
5
|
+
* Use this for `migrations.up` or `migrations.down` to prevent migration.
|
|
6
|
+
*/
|
|
3
7
|
export declare const IMPOSSIBLE: unique symbol;
|
|
8
|
+
/**
|
|
9
|
+
* Configuration options for a single service version definition.
|
|
10
|
+
*
|
|
11
|
+
* @typeParam Version - The string literal exver version number
|
|
12
|
+
*/
|
|
4
13
|
export type VersionOptions<Version extends string> = {
|
|
5
14
|
/** The exver-compliant version number */
|
|
6
15
|
version: Version & ValidateExVer<Version>;
|
|
@@ -35,6 +44,14 @@ export type VersionOptions<Version extends string> = {
|
|
|
35
44
|
}>;
|
|
36
45
|
};
|
|
37
46
|
};
|
|
47
|
+
/**
|
|
48
|
+
* Represents a single version of the service, including its release notes,
|
|
49
|
+
* migration scripts, and backwards-compatibility declarations.
|
|
50
|
+
*
|
|
51
|
+
* By convention, each version gets its own file (e.g. `versions/v1_0_0.ts`).
|
|
52
|
+
*
|
|
53
|
+
* @typeParam Version - The string literal exver version number
|
|
54
|
+
*/
|
|
38
55
|
export declare class VersionInfo<Version extends string> {
|
|
39
56
|
readonly options: VersionOptions<Version> & {
|
|
40
57
|
satisfies: string[];
|
|
@@ -1,7 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.VersionInfo = exports.IMPOSSIBLE = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Sentinel value indicating that a migration in a given direction is not possible.
|
|
6
|
+
* Use this for `migrations.up` or `migrations.down` to prevent migration.
|
|
7
|
+
*/
|
|
4
8
|
exports.IMPOSSIBLE = Symbol('IMPOSSIBLE');
|
|
9
|
+
/**
|
|
10
|
+
* Represents a single version of the service, including its release notes,
|
|
11
|
+
* migration scripts, and backwards-compatibility declarations.
|
|
12
|
+
*
|
|
13
|
+
* By convention, each version gets its own file (e.g. `versions/v1_0_0.ts`).
|
|
14
|
+
*
|
|
15
|
+
* @typeParam Version - The string literal exver version number
|
|
16
|
+
*/
|
|
5
17
|
class VersionInfo {
|
|
6
18
|
constructor(options) {
|
|
7
19
|
this.options = options;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VersionInfo.js","sourceRoot":"","sources":["../../../../package/lib/version/VersionInfo.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"VersionInfo.js","sourceRoot":"","sources":["../../../../package/lib/version/VersionInfo.ts"],"names":[],"mappings":";;;AAGA;;;GAGG;AACU,QAAA,UAAU,GAAkB,MAAM,CAAC,YAAY,CAAC,CAAA;AAqC7D;;;;;;;GAOG;AACH,MAAa,WAAW;IAEtB,YACW,OAA0D;QAA1D,YAAO,GAAP,OAAO,CAAmD;QAF7D,aAAQ,GAAmB,IAAI,CAAA;IAGpC,CAAC;IACJ;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,CAAyB,OAAgC;QAChE,OAAO,IAAI,WAAW,CAAU,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAA;IAChE,CAAC;IACD,0EAA0E;IAC1E,SAAS,CACP,OAA6B;QAE7B,OAAO,IAAI,WAAW,CAAC;YACrB,GAAG,IAAI,CAAC,OAAO;YACf,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC;SAChD,CAAC,CAAA;IACJ,CAAC;CACF;AAxBD,kCAwBC;AAED,SAAS,YAAY;IACnB,MAAM,OAAO,GAA2B,WAAW,CAAC,EAAE,CAAC;QACrD,OAAO,EAAE,SAAS;QAClB,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,EAAE;KACf,CAAC;SACC,SAAS,CAAC,gBAAgB,CAAC;SAC3B,SAAS,CAAC,gBAAgB,CAAC;QAC5B,mBAAmB;SAClB,SAAS,CAAC,gBAAgB,CAAC,CAAA;IAE9B,IAAI,CAAC,GAA2B,OAAO,CAAA;IACvC,mBAAmB;IACnB,IAAI,CAAC,GAA2B,OAAO,CAAA;IAEvC,WAAW,CAAC,EAAE,CAAC;QACb,mBAAmB;QACnB,OAAO,EAAE,MAAM;QACf,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,EAAE;KACf,CAAC,CAAA;IACF,WAAW,CAAC,EAAE,CAAC;QACb,mBAAmB;QACnB,OAAO,EAAE,MAAgB;QACzB,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,EAAE;KACf,CAAC,CAAA;AACJ,CAAC"}
|
package/package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@start9labs/start-sdk",
|
|
3
|
-
"version": "0.4.0-beta.
|
|
3
|
+
"version": "0.4.0-beta.52",
|
|
4
4
|
"description": "Software development kit to facilitate packaging services for StartOS",
|
|
5
5
|
"main": "./package/lib/index.js",
|
|
6
6
|
"types": "./package/lib/index.d.ts",
|
|
@@ -40,7 +40,8 @@
|
|
|
40
40
|
"isomorphic-fetch": "^3.0.0",
|
|
41
41
|
"mime": "^4.0.7",
|
|
42
42
|
"yaml": "^2.7.1",
|
|
43
|
-
"zod": "^4.3.6"
|
|
43
|
+
"zod": "^4.3.6",
|
|
44
|
+
"zod-deep-partial": "^1.2.0"
|
|
44
45
|
},
|
|
45
46
|
"prettier": {
|
|
46
47
|
"trailingComma": "all",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@start9labs/start-sdk",
|
|
3
|
-
"version": "0.4.0-beta.
|
|
3
|
+
"version": "0.4.0-beta.52",
|
|
4
4
|
"description": "Software development kit to facilitate packaging services for StartOS",
|
|
5
5
|
"main": "./package/lib/index.js",
|
|
6
6
|
"types": "./package/lib/index.d.ts",
|
|
@@ -40,7 +40,8 @@
|
|
|
40
40
|
"isomorphic-fetch": "^3.0.0",
|
|
41
41
|
"mime": "^4.0.7",
|
|
42
42
|
"yaml": "^2.7.1",
|
|
43
|
-
"zod": "^4.3.6"
|
|
43
|
+
"zod": "^4.3.6",
|
|
44
|
+
"zod-deep-partial": "^1.2.0"
|
|
44
45
|
},
|
|
45
46
|
"prettier": {
|
|
46
47
|
"trailingComma": "all",
|