@start9labs/start-sdk 0.4.0-beta.20 → 0.4.0-beta.21
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/Effects.d.ts +1 -1
- package/base/lib/actions/setupActions.d.ts +3 -4
- package/base/lib/actions/setupActions.js +17 -4
- package/base/lib/actions/setupActions.js.map +1 -1
- package/base/lib/dependencies/setupDependencies.d.ts +1 -3
- package/base/lib/dependencies/setupDependencies.js +3 -10
- package/base/lib/dependencies/setupDependencies.js.map +1 -1
- package/base/lib/index.d.ts +1 -0
- package/base/lib/index.js +2 -1
- package/base/lib/index.js.map +1 -1
- package/base/lib/inits/index.d.ts +2 -0
- package/base/lib/inits/index.js +19 -0
- package/base/lib/inits/index.js.map +1 -0
- package/base/lib/inits/setupInit.d.ts +11 -0
- package/base/lib/inits/setupInit.js +69 -0
- package/base/lib/inits/setupInit.js.map +1 -0
- package/base/lib/inits/setupUninit.d.ts +7 -0
- package/base/lib/inits/setupUninit.js +14 -0
- package/base/lib/inits/setupUninit.js.map +1 -0
- package/base/lib/interfaces/setupInterfaces.d.ts +2 -4
- package/base/lib/interfaces/setupInterfaces.js +8 -17
- package/base/lib/interfaces/setupInterfaces.js.map +1 -1
- package/base/lib/osBindings/MainStatus.d.ts +0 -2
- package/base/lib/osBindings/PackageDataEntry.d.ts +1 -2
- package/base/lib/types.d.ts +7 -26
- package/base/lib/types.js.map +1 -1
- package/package/lib/StartSdk.d.ts +48 -40
- package/package/lib/StartSdk.js +47 -28
- package/package/lib/StartSdk.js.map +1 -1
- package/package/lib/backup/Backups.d.ts +4 -2
- package/package/lib/backup/Backups.js +8 -3
- package/package/lib/backup/Backups.js.map +1 -1
- package/package/lib/backup/setupBackups.d.ts +5 -2
- package/package/lib/backup/setupBackups.js +6 -4
- package/package/lib/backup/setupBackups.js.map +1 -1
- package/package/lib/index.d.ts +0 -1
- package/package/lib/index.js +1 -4
- package/package/lib/index.js.map +1 -1
- package/package/lib/inits/index.d.ts +2 -3
- package/package/lib/inits/index.js +16 -3
- package/package/lib/inits/index.js.map +1 -1
- package/package/lib/inits/setupInit.d.ts +7 -12
- package/package/lib/inits/setupInit.js +22 -43
- package/package/lib/inits/setupInit.js.map +1 -1
- package/package/lib/inits/setupUninit.d.ts +7 -0
- package/package/lib/inits/setupUninit.js +14 -0
- package/package/lib/inits/setupUninit.js.map +1 -0
- package/package/lib/mainFn/CommandController.d.ts +3 -6
- package/package/lib/mainFn/CommandController.js +6 -12
- package/package/lib/mainFn/CommandController.js.map +1 -1
- package/package/lib/mainFn/Daemon.d.ts +4 -3
- package/package/lib/mainFn/Daemon.js +13 -8
- package/package/lib/mainFn/Daemon.js.map +1 -1
- package/package/lib/mainFn/Daemons.d.ts +3 -2
- package/package/lib/mainFn/Daemons.js.map +1 -1
- package/package/lib/mainFn/HealthDaemon.js +5 -8
- package/package/lib/mainFn/HealthDaemon.js.map +1 -1
- package/package/lib/mainFn/Oneshot.js +5 -2
- package/package/lib/mainFn/Oneshot.js.map +1 -1
- package/package/lib/test/output.js +297 -386
- package/package/lib/test/output.js.map +1 -1
- package/package/lib/test/output.sdk.d.ts +51 -389
- package/package/lib/util/SubContainer.d.ts +96 -33
- package/package/lib/util/SubContainer.js +83 -24
- package/package/lib/util/SubContainer.js.map +1 -1
- package/package/lib/version/VersionGraph.d.ts +20 -5
- package/package/lib/version/VersionGraph.js +85 -18
- package/package/lib/version/VersionGraph.js.map +1 -1
- package/package.json +1 -1
package/base/lib/Effects.d.ts
CHANGED
|
@@ -141,7 +141,7 @@ export type Effects = {
|
|
|
141
141
|
}) => Promise<string>;
|
|
142
142
|
/** sets the version that this service's data has been migrated to */
|
|
143
143
|
setDataVersion(options: {
|
|
144
|
-
version: string;
|
|
144
|
+
version: string | null;
|
|
145
145
|
}): Promise<null>;
|
|
146
146
|
/** returns the version that this service's data has been migrated to */
|
|
147
147
|
getDataVersion(): Promise<string | null>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { InputSpec } from "./input/builder";
|
|
2
2
|
import { ExtractInputSpecType, ExtractPartialInputSpecType } from "./input/builder/inputSpec";
|
|
3
3
|
import * as T from "../types";
|
|
4
|
+
import { InitScript } from "../inits";
|
|
4
5
|
export type Run<A extends Record<string, any> | InputSpec<Record<string, any>>> = (options: {
|
|
5
6
|
effects: T.Effects;
|
|
6
7
|
input: ExtractInputSpecType<A>;
|
|
@@ -33,15 +34,13 @@ export declare class Action<Id extends T.ActionId, InputSpecType extends Record<
|
|
|
33
34
|
input: ExtractInputSpecType<InputSpecType>;
|
|
34
35
|
}): Promise<T.ActionResult | null>;
|
|
35
36
|
}
|
|
36
|
-
export declare class Actions<AllActions extends Record<T.ActionId, Action<T.ActionId, any>>> {
|
|
37
|
+
export declare class Actions<AllActions extends Record<T.ActionId, Action<T.ActionId, any>>> implements InitScript {
|
|
37
38
|
private readonly actions;
|
|
38
39
|
private constructor();
|
|
39
40
|
static of(): Actions<{}>;
|
|
40
41
|
addAction<A extends Action<T.ActionId, any>>(action: A): Actions<AllActions & {
|
|
41
42
|
[id in A["id"]]: A;
|
|
42
43
|
}>;
|
|
43
|
-
|
|
44
|
-
effects: T.Effects;
|
|
45
|
-
}): Promise<null>;
|
|
44
|
+
init(effects: T.Effects): Promise<void>;
|
|
46
45
|
get<Id extends T.ActionId>(actionId: Id): AllActions[Id];
|
|
47
46
|
}
|
|
@@ -64,12 +64,25 @@ class Actions {
|
|
|
64
64
|
addAction(action) {
|
|
65
65
|
return new Actions({ ...this.actions, [action.id]: action });
|
|
66
66
|
}
|
|
67
|
-
async
|
|
67
|
+
async init(effects) {
|
|
68
68
|
for (let action of Object.values(this.actions)) {
|
|
69
|
-
|
|
69
|
+
const fn = async () => {
|
|
70
|
+
let res = () => { };
|
|
71
|
+
const complete = new Promise((resolve) => {
|
|
72
|
+
res = resolve;
|
|
73
|
+
});
|
|
74
|
+
const e = effects.child(action.id);
|
|
75
|
+
e.constRetry = (0, util_1.once)(() => complete.then(() => fn()).catch(console.error));
|
|
76
|
+
try {
|
|
77
|
+
await action.exportMetadata({ effects: e });
|
|
78
|
+
}
|
|
79
|
+
finally {
|
|
80
|
+
res();
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
await fn();
|
|
70
84
|
}
|
|
71
|
-
await
|
|
72
|
-
return null;
|
|
85
|
+
await effects.action.clear({ except: Object.keys(this.actions) });
|
|
73
86
|
}
|
|
74
87
|
get(actionId) {
|
|
75
88
|
return this.actions[actionId];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setupActions.js","sourceRoot":"","sources":["../../../../base/lib/actions/setupActions.ts"],"names":[],"mappings":";;;AAMA,kCAA8B;
|
|
1
|
+
{"version":3,"file":"setupActions.js","sourceRoot":"","sources":["../../../../base/lib/actions/setupActions.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,5 @@ export type CurrentDependenciesResult<Manifest extends T.SDKManifest> = {
|
|
|
18
18
|
};
|
|
19
19
|
export declare function setupDependencies<Manifest extends T.SDKManifest>(fn: (options: {
|
|
20
20
|
effects: T.Effects;
|
|
21
|
-
}) => Promise<CurrentDependenciesResult<Manifest>>): (
|
|
22
|
-
effects: T.Effects;
|
|
23
|
-
}) => Promise<null>;
|
|
21
|
+
}) => Promise<CurrentDependenciesResult<Manifest>>): (effects: T.Effects) => Promise<null>;
|
|
24
22
|
export {};
|
|
@@ -1,17 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.setupDependencies = setupDependencies;
|
|
4
|
-
const util_1 = require("../util");
|
|
5
4
|
const _checkType = null;
|
|
6
5
|
function setupDependencies(fn) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
childEffects.constRetry = (0, util_1.once)(() => {
|
|
11
|
-
cell.updater({ effects: options.effects });
|
|
12
|
-
});
|
|
13
|
-
const dependencyType = await fn({ effects: childEffects });
|
|
14
|
-
return await options.effects.setDependencies({
|
|
6
|
+
return async (effects) => {
|
|
7
|
+
const dependencyType = await fn({ effects });
|
|
8
|
+
return await effects.setDependencies({
|
|
15
9
|
dependencies: Object.entries(dependencyType)
|
|
16
10
|
.map(([k, v]) => [k, v])
|
|
17
11
|
.map(([id, { versionRange, ...x }]) => ({
|
|
@@ -21,6 +15,5 @@ function setupDependencies(fn) {
|
|
|
21
15
|
})),
|
|
22
16
|
});
|
|
23
17
|
};
|
|
24
|
-
return cell.updater;
|
|
25
18
|
}
|
|
26
19
|
//# sourceMappingURL=setupDependencies.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setupDependencies.js","sourceRoot":"","sources":["../../../../base/lib/dependencies/setupDependencies.ts"],"names":[],"mappings":";;AAmCA,
|
|
1
|
+
{"version":3,"file":"setupDependencies.js","sourceRoot":"","sources":["../../../../base/lib/dependencies/setupDependencies.ts"],"names":[],"mappings":";;AAmCA,8CAoBC;AA/BD,MAAM,UAAU,GAGZ,IAAI,CAAA;AAQR,SAAgB,iBAAiB,CAC/B,EAEkD;IAElD,OAAO,KAAK,EAAE,OAAkB,EAAE,EAAE;QAClC,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;QAC5C,OAAO,MAAM,OAAO,CAAC,eAAe,CAAC;YACnC,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC;iBACzC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAA0B,CAAU,CAAC;iBACzD,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAC/B,CAAC;gBACC,EAAE;gBACF,GAAG,CAAC;gBACJ,YAAY,EAAE,YAAY,CAAC,QAAQ,EAAE;aACtC,CAA4B,CAChC;SACJ,CAAC,CAAA;IACJ,CAAC,CAAA;AACH,CAAC"}
|
package/base/lib/index.d.ts
CHANGED
package/base/lib/index.js
CHANGED
|
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.utils = exports.matches = exports.yaml = exports.T = exports.types = exports.IST = exports.ISB = exports.inputSpec = exports.Version = exports.ExtendedVersion = exports.VersionRange = exports.S9pk = void 0;
|
|
36
|
+
exports.utils = exports.matches = exports.inits = exports.yaml = exports.T = exports.types = exports.IST = exports.ISB = exports.inputSpec = exports.Version = exports.ExtendedVersion = exports.VersionRange = exports.S9pk = void 0;
|
|
37
37
|
var s9pk_1 = require("./s9pk");
|
|
38
38
|
Object.defineProperty(exports, "S9pk", { enumerable: true, get: function () { return s9pk_1.S9pk; } });
|
|
39
39
|
var exver_1 = require("./exver");
|
|
@@ -46,6 +46,7 @@ exports.IST = __importStar(require("./actions/input/inputSpecTypes"));
|
|
|
46
46
|
exports.types = __importStar(require("./types"));
|
|
47
47
|
exports.T = __importStar(require("./types"));
|
|
48
48
|
exports.yaml = __importStar(require("yaml"));
|
|
49
|
+
exports.inits = __importStar(require("./inits"));
|
|
49
50
|
exports.matches = __importStar(require("ts-matches"));
|
|
50
51
|
exports.utils = __importStar(require("./util"));
|
|
51
52
|
//# sourceMappingURL=index.js.map
|
package/base/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../base/lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA6B;AAApB,4FAAA,IAAI,OAAA;AACb,iCAAgE;AAAvD,qGAAA,YAAY,OAAA;AAAE,wGAAA,eAAe,OAAA;AAAE,gGAAA,OAAO,OAAA;AAE/C,6DAA4C;AAC5C,+DAA8C;AAC9C,sEAAqD;AACrD,iDAAgC;AAChC,6CAA4B;AAC5B,6CAA4B;AAC5B,sDAAqC;AAErC,gDAA+B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../base/lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA6B;AAApB,4FAAA,IAAI,OAAA;AACb,iCAAgE;AAAvD,qGAAA,YAAY,OAAA;AAAE,wGAAA,eAAe,OAAA;AAAE,gGAAA,OAAO,OAAA;AAE/C,6DAA4C;AAC5C,+DAA8C;AAC9C,sEAAqD;AACrD,iDAAgC;AAChC,6CAA4B;AAC5B,6CAA4B;AAC5B,iDAAgC;AAChC,sDAAqC;AAErC,gDAA+B"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./setupInit"), exports);
|
|
18
|
+
__exportStar(require("./setupUninit"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../base/lib/inits/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B;AAC3B,gDAA6B"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as T from "../../../base/lib/types";
|
|
2
|
+
export type InitKind = "install" | "update" | "restore" | null;
|
|
3
|
+
export type InitFn<Kind extends InitKind = InitKind> = (effects: T.Effects, kind: Kind) => Promise<void | null | undefined>;
|
|
4
|
+
export interface InitScript<Kind extends InitKind = InitKind> {
|
|
5
|
+
init(effects: T.Effects, kind: Kind): Promise<void>;
|
|
6
|
+
}
|
|
7
|
+
export type InitScriptOrFn<Kind extends InitKind = InitKind> = InitScript<Kind> | InitFn<Kind>;
|
|
8
|
+
export declare function setupInit(...inits: InitScriptOrFn[]): T.ExpectedExports.init;
|
|
9
|
+
export declare function setupPostInstall(postInstall: InitScriptOrFn<"install">): InitScript;
|
|
10
|
+
export declare function setupPostUpdate(postUpdate: InitScriptOrFn<"update">): InitScript;
|
|
11
|
+
export declare function setupPostInstallOrUpdate(postInstallOrUpdate: InitScriptOrFn<"install" | "update">): InitScript;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setupInit = setupInit;
|
|
4
|
+
exports.setupPostInstall = setupPostInstall;
|
|
5
|
+
exports.setupPostUpdate = setupPostUpdate;
|
|
6
|
+
exports.setupPostInstallOrUpdate = setupPostInstallOrUpdate;
|
|
7
|
+
const util_1 = require("../util");
|
|
8
|
+
function setupInit(...inits) {
|
|
9
|
+
return async (opts) => {
|
|
10
|
+
for (const idx in inits) {
|
|
11
|
+
const init = inits[idx];
|
|
12
|
+
const fn = async () => {
|
|
13
|
+
let res = () => { };
|
|
14
|
+
const complete = new Promise((resolve) => {
|
|
15
|
+
res = resolve;
|
|
16
|
+
});
|
|
17
|
+
const e = opts.effects.child(`init_${idx}`);
|
|
18
|
+
e.constRetry = (0, util_1.once)(() => complete.then(() => fn()).catch(console.error));
|
|
19
|
+
try {
|
|
20
|
+
if ("init" in init)
|
|
21
|
+
await init.init(e, opts.kind);
|
|
22
|
+
else
|
|
23
|
+
await init(e, opts.kind);
|
|
24
|
+
}
|
|
25
|
+
finally {
|
|
26
|
+
res();
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
await fn();
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
function setupPostInstall(postInstall) {
|
|
34
|
+
return {
|
|
35
|
+
init: async (effects, kind) => {
|
|
36
|
+
if (kind === "install") {
|
|
37
|
+
if ("init" in postInstall)
|
|
38
|
+
await postInstall.init(effects, kind);
|
|
39
|
+
else
|
|
40
|
+
await postInstall(effects, kind);
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
function setupPostUpdate(postUpdate) {
|
|
46
|
+
return {
|
|
47
|
+
init: async (effects, kind) => {
|
|
48
|
+
if (kind === "update") {
|
|
49
|
+
if ("init" in postUpdate)
|
|
50
|
+
await postUpdate.init(effects, kind);
|
|
51
|
+
else
|
|
52
|
+
await postUpdate(effects, kind);
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
function setupPostInstallOrUpdate(postInstallOrUpdate) {
|
|
58
|
+
return {
|
|
59
|
+
init: async (effects, kind) => {
|
|
60
|
+
if (kind === "install" || kind === "update") {
|
|
61
|
+
if ("init" in postInstallOrUpdate)
|
|
62
|
+
await postInstallOrUpdate.init(effects, kind);
|
|
63
|
+
else
|
|
64
|
+
await postInstallOrUpdate(effects, kind);
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=setupInit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setupInit.js","sourceRoot":"","sources":["../../../../base/lib/inits/setupInit.ts"],"names":[],"mappings":";;AAmBA,8BAuBC;AAED,4CAWC;AAED,0CAWC;AAED,4DAYC;AAhFD,kCAA8B;AAiB9B,SAAgB,SAAS,CAAC,GAAG,KAAuB;IAClD,OAAO,KAAK,EAAE,IAAI,EAAE,EAAE;QACpB,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;YACvB,MAAM,EAAE,GAAG,KAAK,IAAI,EAAE;gBACpB,IAAI,GAAG,GAAgC,GAAG,EAAE,GAAE,CAAC,CAAA;gBAC/C,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBACvC,GAAG,GAAG,OAAO,CAAA;gBACf,CAAC,CAAC,CAAA;gBACF,MAAM,CAAC,GAAc,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAA;gBACtD,CAAC,CAAC,UAAU,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,CACvB,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAC/C,CAAA;gBACD,IAAI,CAAC;oBACH,IAAI,MAAM,IAAI,IAAI;wBAAE,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;;wBAC5C,MAAM,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC/B,CAAC;wBAAS,CAAC;oBACT,GAAG,EAAE,CAAA;gBACP,CAAC;YACH,CAAC,CAAA;YACD,MAAM,EAAE,EAAE,CAAA;QACZ,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED,SAAgB,gBAAgB,CAC9B,WAAsC;IAEtC,OAAO;QACL,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;YAC5B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,IAAI,MAAM,IAAI,WAAW;oBAAE,MAAM,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;;oBAC3D,MAAM,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;YACvC,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC;AAED,SAAgB,eAAe,CAC7B,UAAoC;IAEpC,OAAO;QACL,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;YAC5B,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,IAAI,MAAM,IAAI,UAAU;oBAAE,MAAM,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;;oBACzD,MAAM,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;YACtC,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC;AAED,SAAgB,wBAAwB,CACtC,mBAAyD;IAEzD,OAAO;QACL,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;YAC5B,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5C,IAAI,MAAM,IAAI,mBAAmB;oBAC/B,MAAM,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;;oBAC1C,MAAM,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;YAC/C,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ExtendedVersion, VersionRange } from "../../../base/lib/exver";
|
|
2
|
+
import * as T from "../../../base/lib/types";
|
|
3
|
+
export type UninitFn = (effects: T.Effects, target: VersionRange | ExtendedVersion | null) => Promise<void | null | undefined>;
|
|
4
|
+
export interface UninitScript {
|
|
5
|
+
uninit(effects: T.Effects, target: VersionRange | ExtendedVersion | null): Promise<void>;
|
|
6
|
+
}
|
|
7
|
+
export declare function setupUninit(...uninits: (UninitScript | UninitFn)[]): T.ExpectedExports.uninit;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setupUninit = setupUninit;
|
|
4
|
+
function setupUninit(...uninits) {
|
|
5
|
+
return async (opts) => {
|
|
6
|
+
for (const uninit of uninits) {
|
|
7
|
+
if ("uninit" in uninit)
|
|
8
|
+
await uninit.uninit(opts.effects, opts.target);
|
|
9
|
+
else
|
|
10
|
+
await uninit(opts.effects, opts.target);
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=setupUninit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setupUninit.js","sourceRoot":"","sources":["../../../../base/lib/inits/setupUninit.ts"],"names":[],"mappings":";;AAeA,kCASC;AATD,SAAgB,WAAW,CACzB,GAAG,OAAoC;IAEvC,OAAO,KAAK,EAAE,IAAI,EAAE,EAAE;QACpB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,QAAQ,IAAI,MAAM;gBAAE,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;;gBACjE,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAC9C,CAAC;IACH,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -8,10 +8,8 @@ export type ServiceInterfacesReceipt = Array<T.AddressInfo[] & AddressReceipt>;
|
|
|
8
8
|
export type SetServiceInterfaces<Output extends ServiceInterfacesReceipt> = (opts: {
|
|
9
9
|
effects: T.Effects;
|
|
10
10
|
}) => Promise<Output>;
|
|
11
|
-
export type UpdateServiceInterfaces
|
|
12
|
-
|
|
13
|
-
}) => Promise<Output & UpdateServiceInterfacesReceipt>;
|
|
14
|
-
export type SetupServiceInterfaces = <Output extends ServiceInterfacesReceipt>(fn: SetServiceInterfaces<Output>) => UpdateServiceInterfaces<Output>;
|
|
11
|
+
export type UpdateServiceInterfaces = (effects: T.Effects) => Promise<null>;
|
|
12
|
+
export type SetupServiceInterfaces = <Output extends ServiceInterfacesReceipt>(fn: SetServiceInterfaces<Output>) => UpdateServiceInterfaces;
|
|
15
13
|
export declare const NO_INTERFACE_CHANGES: UpdateServiceInterfacesReceipt;
|
|
16
14
|
export declare const setupServiceInterfaces: SetupServiceInterfaces;
|
|
17
15
|
export {};
|
|
@@ -1,37 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.setupServiceInterfaces = exports.NO_INTERFACE_CHANGES = void 0;
|
|
4
|
-
const util_1 = require("../util");
|
|
5
4
|
exports.NO_INTERFACE_CHANGES = {};
|
|
6
5
|
const setupServiceInterfaces = (fn) => {
|
|
7
|
-
|
|
8
|
-
updater: (async (options) => []),
|
|
9
|
-
};
|
|
10
|
-
cell.updater = (async (options) => {
|
|
11
|
-
const childEffects = options.effects.child("setupInterfaces");
|
|
12
|
-
childEffects.constRetry = (0, util_1.once)(() => {
|
|
13
|
-
cell.updater({ effects: options.effects });
|
|
14
|
-
});
|
|
6
|
+
return (async (effects) => {
|
|
15
7
|
const bindings = [];
|
|
16
8
|
const interfaces = [];
|
|
17
|
-
|
|
9
|
+
await fn({
|
|
18
10
|
effects: {
|
|
19
|
-
...
|
|
11
|
+
...effects,
|
|
20
12
|
bind: (params) => {
|
|
21
13
|
bindings.push({ id: params.id, internalPort: params.internalPort });
|
|
22
|
-
return
|
|
14
|
+
return effects.bind(params);
|
|
23
15
|
},
|
|
24
16
|
exportServiceInterface: (params) => {
|
|
25
17
|
interfaces.push(params.id);
|
|
26
|
-
return
|
|
18
|
+
return effects.exportServiceInterface(params);
|
|
27
19
|
},
|
|
28
20
|
},
|
|
29
21
|
});
|
|
30
|
-
await
|
|
31
|
-
await
|
|
32
|
-
return
|
|
22
|
+
await effects.clearBindings({ except: bindings });
|
|
23
|
+
await effects.clearServiceInterfaces({ except: interfaces });
|
|
24
|
+
return null;
|
|
33
25
|
});
|
|
34
|
-
return cell.updater;
|
|
35
26
|
};
|
|
36
27
|
exports.setupServiceInterfaces = setupServiceInterfaces;
|
|
37
28
|
//# sourceMappingURL=setupInterfaces.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setupInterfaces.js","sourceRoot":"","sources":["../../../../base/lib/interfaces/setupInterfaces.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"setupInterfaces.js","sourceRoot":"","sources":["../../../../base/lib/interfaces/setupInterfaces.ts"],"names":[],"mappings":";;;AAgBa,QAAA,oBAAoB,GAAG,EAAoC,CAAA;AACjE,MAAM,sBAAsB,GAA2B,CAG5D,EAAgC,EAChC,EAAE;IACF,OAAO,CAAC,KAAK,EAAE,OAAkB,EAAE,EAAE;QACnC,MAAM,QAAQ,GAAe,EAAE,CAAA;QAC/B,MAAM,UAAU,GAA2B,EAAE,CAAA;QAC7C,MAAM,EAAE,CAAC;YACP,OAAO,EAAE;gBACP,GAAG,OAAO;gBACV,IAAI,EAAE,CAAC,MAAoB,EAAE,EAAE;oBAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAA;oBACnE,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBAC7B,CAAC;gBACD,sBAAsB,EAAE,CAAC,MAAsC,EAAE,EAAE;oBACjE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;oBAC1B,OAAO,OAAO,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAA;gBAC/C,CAAC;aACF;SACF,CAAC,CAAA;QACF,MAAM,OAAO,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;QACjD,MAAM,OAAO,CAAC,sBAAsB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAA;QAC5D,OAAO,IAAI,CAAA;IACb,CAAC,CAA4B,CAAA;AAC/B,CAAC,CAAA;AAzBY,QAAA,sBAAsB,0BAyBlC"}
|
|
@@ -8,10 +8,9 @@ import type { MainStatus } from "./MainStatus";
|
|
|
8
8
|
import type { PackageState } from "./PackageState";
|
|
9
9
|
import type { ServiceInterface } from "./ServiceInterface";
|
|
10
10
|
import type { ServiceInterfaceId } from "./ServiceInterfaceId";
|
|
11
|
-
import type { Version } from "./Version";
|
|
12
11
|
export type PackageDataEntry = {
|
|
13
12
|
stateInfo: PackageState;
|
|
14
|
-
dataVersion:
|
|
13
|
+
dataVersion: string | null;
|
|
15
14
|
status: MainStatus;
|
|
16
15
|
registry: string | null;
|
|
17
16
|
developerKey: string;
|
package/base/lib/types.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { DependencyRequirement, NamedHealthCheckResult, Manifest, ServiceInterfa
|
|
|
3
3
|
import { StringObject, ToKebab } from "./util";
|
|
4
4
|
import { Action, Actions } from "./actions/setupActions";
|
|
5
5
|
import { Effects } from "./Effects";
|
|
6
|
+
import { ExtendedVersion, VersionRange } from "./exver";
|
|
6
7
|
export { Effects };
|
|
7
8
|
export * from "./osBindings";
|
|
8
9
|
export { SDKManifest } from "./types/ManifestTypes";
|
|
@@ -27,10 +28,6 @@ export declare namespace ExpectedExports {
|
|
|
27
28
|
type createBackup = (options: {
|
|
28
29
|
effects: Effects;
|
|
29
30
|
}) => Promise<unknown>;
|
|
30
|
-
/** For restoring service data that was previously backed up using the startOS UI create backup flow. Backup restores are also triggered via the startOS UI, or doing a system restore flow during setup. */
|
|
31
|
-
type restoreBackup = (options: {
|
|
32
|
-
effects: Effects;
|
|
33
|
-
}) => Promise<unknown>;
|
|
34
31
|
/**
|
|
35
32
|
* This is the entrypoint for the main container. Used to start up something like the service that the
|
|
36
33
|
* package represents, like running a bitcoind in a bitcoind-wrapper.
|
|
@@ -39,45 +36,29 @@ export declare namespace ExpectedExports {
|
|
|
39
36
|
effects: Effects;
|
|
40
37
|
started(onTerm: () => PromiseLike<void>): PromiseLike<null>;
|
|
41
38
|
}) => Promise<DaemonBuildable>;
|
|
42
|
-
/**
|
|
43
|
-
* After a shutdown, if we wanted to do any operations to clean up things, like
|
|
44
|
-
* set the action as unavailable or something.
|
|
45
|
-
*/
|
|
46
|
-
type afterShutdown = (options: {
|
|
47
|
-
effects: Effects;
|
|
48
|
-
}) => Promise<unknown>;
|
|
49
39
|
/**
|
|
50
40
|
* Every time a service launches (both on startup, and on install) this function is called before packageInit
|
|
51
41
|
* Can be used to register callbacks
|
|
52
42
|
*/
|
|
53
|
-
type
|
|
54
|
-
effects: Effects;
|
|
55
|
-
}) => Promise<unknown>;
|
|
56
|
-
/**
|
|
57
|
-
* Every time a package completes an install, this function is called before the main.
|
|
58
|
-
* Can be used to do migration like things.
|
|
59
|
-
*/
|
|
60
|
-
type packageInit = (options: {
|
|
43
|
+
type init = (options: {
|
|
61
44
|
effects: Effects;
|
|
45
|
+
kind: "install" | "update" | "restore" | null;
|
|
62
46
|
}) => Promise<unknown>;
|
|
63
47
|
/** This will be ran during any time a package is uninstalled, for example during a update
|
|
64
48
|
* this will be called.
|
|
65
49
|
*/
|
|
66
|
-
type
|
|
50
|
+
type uninit = (options: {
|
|
67
51
|
effects: Effects;
|
|
68
|
-
|
|
52
|
+
target: ExtendedVersion | VersionRange | null;
|
|
69
53
|
}) => Promise<unknown>;
|
|
70
54
|
type manifest = Manifest;
|
|
71
55
|
type actions = Actions<Record<ActionId, Action<ActionId, any>>>;
|
|
72
56
|
}
|
|
73
57
|
export type ABI = {
|
|
74
58
|
createBackup: ExpectedExports.createBackup;
|
|
75
|
-
restoreBackup: ExpectedExports.restoreBackup;
|
|
76
59
|
main: ExpectedExports.main;
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
packageInit: ExpectedExports.packageInit;
|
|
80
|
-
packageUninit: ExpectedExports.packageUninit;
|
|
60
|
+
init: ExpectedExports.init;
|
|
61
|
+
uninit: ExpectedExports.uninit;
|
|
81
62
|
manifest: ExpectedExports.manifest;
|
|
82
63
|
actions: ExpectedExports.actions;
|
|
83
64
|
};
|
package/base/lib/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../base/lib/types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../base/lib/types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0LA,4BAEC;AAMD,4BAEC;AApMD,iFAAgE;AAchE,+CAA4B;AAgBf,QAAA,OAAO,GAAY,SAAS,CAAA;AAC5B,QAAA,OAAO,GAAY,SAAS,CAAA;AAC5B,QAAA,UAAU,GAAG,CAAC,CAAC,CAAA;AAI5B,IAAiB,eAAe,CAkC/B;AAlCD,WAAiB,eAAe;IAC9B,OAAO,EAAE,CAAC,CAAA;AAiCZ,CAAC,EAlCgB,eAAe,+BAAf,eAAe,QAkC/B;AA+BD,MAAa,aAAa;IACxB,YAAqB,UAAqB;QAArB,eAAU,GAAV,UAAU,CAAW;IAAG,CAAC;CAC/C;AAFD,sCAEC;AAmFD,SAAgB,QAAQ,CAAI,KAAQ;IAClC,OAAO,KAAK,CAAA;AACd,CAAC;AAMD,SAAgB,QAAQ,CAAI,KAAQ;IAClC,OAAO,KAAK,CAAA;AACd,CAAC"}
|