@ankhorage/orchestrator 0.2.1 โ 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/actions/jsonPath.d.ts.map +1 -1
- package/dist/actions/jsonPath.js +4 -4
- package/dist/actions/jsonPath.js.map +1 -1
- package/dist/actions/types.d.ts +5 -5
- package/dist/actions/types.d.ts.map +1 -1
- package/dist/ankh.provider.d.ts +41 -0
- package/dist/ankh.provider.d.ts.map +1 -0
- package/dist/ankh.provider.js +55 -0
- package/dist/ankh.provider.js.map +1 -0
- package/dist/ankh.provider.test.d.ts +2 -0
- package/dist/ankh.provider.test.d.ts.map +1 -0
- package/dist/ankh.provider.test.js +19 -0
- package/dist/ankh.provider.test.js.map +1 -0
- package/dist/fs/exec.d.ts +1 -1
- package/dist/fs/exec.js +5 -5
- package/dist/fs/fileSystem.d.ts +1 -1
- package/dist/fs/fileSystem.js +5 -5
- package/dist/fs/patchTextBlock.d.ts +2 -2
- package/dist/fs/patchTextBlock.d.ts.map +1 -1
- package/dist/fs/patchTextBlock.js +8 -8
- package/dist/fs/patchTextBlock.js.map +1 -1
- package/dist/fs/paths.d.ts.map +1 -1
- package/dist/fs/paths.js +2 -3
- package/dist/fs/paths.js.map +1 -1
- package/dist/index.d.ts +6 -6
- package/dist/index.js +3 -3
- package/dist/ledger/helpers.js +1 -1
- package/dist/ledger/types.d.ts +12 -11
- package/dist/ledger/types.d.ts.map +1 -1
- package/dist/module/defineModule.d.ts +1 -1
- package/dist/module/types.d.ts +1 -1
- package/dist/module/types.d.ts.map +1 -1
- package/dist/orchestrator/actionExecutor.d.ts +3 -3
- package/dist/orchestrator/actionExecutor.d.ts.map +1 -1
- package/dist/orchestrator/actionExecutor.js +25 -28
- package/dist/orchestrator/actionExecutor.js.map +1 -1
- package/dist/orchestrator/createOrchestrator.d.ts +2 -2
- package/dist/orchestrator/createOrchestrator.d.ts.map +1 -1
- package/dist/orchestrator/createOrchestrator.js +14 -19
- package/dist/orchestrator/createOrchestrator.js.map +1 -1
- package/dist/orchestrator/dependencyGraph.d.ts +1 -1
- package/dist/orchestrator/dependencyGraph.d.ts.map +1 -1
- package/dist/orchestrator/dependencyGraph.js +1 -1
- package/dist/orchestrator/dependencyGraph.js.map +1 -1
- package/dist/orchestrator/uninstall.d.ts +2 -2
- package/dist/orchestrator/uninstall.d.ts.map +1 -1
- package/dist/orchestrator/uninstall.js +9 -12
- package/dist/orchestrator/uninstall.js.map +1 -1
- package/package.json +25 -10
package/README.md
CHANGED
|
@@ -22,8 +22,8 @@ bun add @ankhorage/orchestrator
|
|
|
22
22
|
## ๐ฆ Usage
|
|
23
23
|
|
|
24
24
|
```ts
|
|
25
|
-
orchestrator.install(
|
|
26
|
-
orchestrator.uninstall(
|
|
25
|
+
orchestrator.install('expo-localization');
|
|
26
|
+
orchestrator.uninstall('expo-localization');
|
|
27
27
|
```
|
|
28
28
|
|
|
29
29
|
## ๐งช Use Cases
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsonPath.d.ts","sourceRoot":"","sources":["../../src/actions/jsonPath.ts"],"names":[],"mappings":"AASA,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAY7E;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAkB3E;AAED,wBAAgB,SAAS,CACvB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,aAAa,UAAO,GACnB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"jsonPath.d.ts","sourceRoot":"","sources":["../../src/actions/jsonPath.ts"],"names":[],"mappings":"AASA,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAY7E;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAkB3E;AAED,wBAAgB,SAAS,CACvB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,aAAa,UAAO,GACnB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAmDzB;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAkDhE"}
|
package/dist/actions/jsonPath.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
function parseJsonPath(path) {
|
|
2
2
|
return path
|
|
3
|
-
.replace(/\[(\d+)\]/g,
|
|
4
|
-
.split(
|
|
3
|
+
.replace(/\[(\d+)\]/g, '.$1')
|
|
4
|
+
.split('.')
|
|
5
5
|
.filter(Boolean);
|
|
6
6
|
}
|
|
7
7
|
export function getAtPath(obj, path) {
|
|
@@ -83,7 +83,7 @@ export function deepEqual(left, right) {
|
|
|
83
83
|
if (left === null || right === null) {
|
|
84
84
|
return left === right;
|
|
85
85
|
}
|
|
86
|
-
if (typeof left !==
|
|
86
|
+
if (typeof left !== 'object') {
|
|
87
87
|
return left === right;
|
|
88
88
|
}
|
|
89
89
|
if (Array.isArray(left)) {
|
|
@@ -115,7 +115,7 @@ export function deepEqual(left, right) {
|
|
|
115
115
|
return true;
|
|
116
116
|
}
|
|
117
117
|
function isJsonContainer(value) {
|
|
118
|
-
return typeof value ===
|
|
118
|
+
return typeof value === 'object' && value !== null;
|
|
119
119
|
}
|
|
120
120
|
function cloneContainer(value) {
|
|
121
121
|
return Array.isArray(value) ? [...value] : { ...value };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsonPath.js","sourceRoot":"","sources":["../../src/actions/jsonPath.ts"],"names":[],"mappings":"AAEA,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,IAAI;SACR,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC;SAC5B,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAA4B,EAAE,IAAY;IAClE,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,OAAO,GAAY,GAAG,CAAC;IAE3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,GAAG,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAA4B,EAAE,IAAY;IAChE,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,OAAO,GAAY,GAAG,CAAC;IAE3B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;YACpD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,GAAG,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,GAA4B,EAC5B,IAAY,EACZ,KAAc,EACd,aAAa,GAAG,IAAI;IAEpB,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,MAAM,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;IAC1B,IAAI,OAAO,GAAkB,MAAM,CAAC;IAEpC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,GAAG,CAAC;QACb,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAE1C,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBACpD,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAC;YAClD,CAAC;YACD,IAAI,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,
|
|
1
|
+
{"version":3,"file":"jsonPath.js","sourceRoot":"","sources":["../../src/actions/jsonPath.ts"],"names":[],"mappings":"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"}
|
package/dist/actions/types.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export interface ModuleDependency {
|
|
|
4
4
|
dev?: boolean;
|
|
5
5
|
}
|
|
6
6
|
export interface EnsurePackagesAction {
|
|
7
|
-
type:
|
|
7
|
+
type: 'ensure-packages';
|
|
8
8
|
add: ModuleDependency[];
|
|
9
9
|
}
|
|
10
10
|
export interface WriteFileInstruction {
|
|
@@ -13,11 +13,11 @@ export interface WriteFileInstruction {
|
|
|
13
13
|
overwrite?: boolean;
|
|
14
14
|
}
|
|
15
15
|
export interface WriteFilesAction {
|
|
16
|
-
type:
|
|
16
|
+
type: 'write-files';
|
|
17
17
|
files: WriteFileInstruction[];
|
|
18
18
|
}
|
|
19
19
|
export interface JsonSetAction {
|
|
20
|
-
type:
|
|
20
|
+
type: 'json-set';
|
|
21
21
|
path: string;
|
|
22
22
|
jsonPath: string;
|
|
23
23
|
value: unknown;
|
|
@@ -25,13 +25,13 @@ export interface JsonSetAction {
|
|
|
25
25
|
expected?: unknown;
|
|
26
26
|
}
|
|
27
27
|
export interface PatchTextBlockAction {
|
|
28
|
-
type:
|
|
28
|
+
type: 'patch-text-block';
|
|
29
29
|
path: string;
|
|
30
30
|
blockId: string;
|
|
31
31
|
content: string;
|
|
32
32
|
anchor?: {
|
|
33
33
|
find: string;
|
|
34
|
-
position:
|
|
34
|
+
position: 'before' | 'after';
|
|
35
35
|
};
|
|
36
36
|
}
|
|
37
37
|
export type ModuleAction = EnsurePackagesAction | WriteFilesAction | JsonSetAction | PatchTextBlockAction;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/actions/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,iBAAiB,CAAC;IACxB,GAAG,EAAE,gBAAgB,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,oBAAoB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,kBAAkB,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC;KAC9B,CAAC;CACH;AAED,MAAM,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/actions/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,iBAAiB,CAAC;IACxB,GAAG,EAAE,gBAAgB,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,oBAAoB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,kBAAkB,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC;KAC9B,CAAC;CACH;AAED,MAAM,MAAM,YAAY,GACtB,oBAAoB,GAAG,gBAAgB,GAAG,aAAa,GAAG,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
declare const provider: {
|
|
2
|
+
id: string;
|
|
3
|
+
category: string;
|
|
4
|
+
version: string;
|
|
5
|
+
capabilities: readonly ["orchestrator.modules", "orchestrator.install", "orchestrator.remove", "orchestrator.sync"];
|
|
6
|
+
commands: readonly [{
|
|
7
|
+
readonly path: readonly ["module", "list"];
|
|
8
|
+
readonly summary: "List modules available to an orchestrator-backed host.";
|
|
9
|
+
readonly capability: "orchestrator.modules";
|
|
10
|
+
readonly aliases: readonly ["modules"];
|
|
11
|
+
readonly examples: readonly ["ankh orchestrator module list"];
|
|
12
|
+
}, {
|
|
13
|
+
readonly path: readonly ["module", "install"];
|
|
14
|
+
readonly summary: "Install a module through an orchestrator-backed host lifecycle.";
|
|
15
|
+
readonly capability: "orchestrator.install";
|
|
16
|
+
readonly examples: readonly ["ankh orchestrator module install expo-localization"];
|
|
17
|
+
}, {
|
|
18
|
+
readonly path: readonly ["module", "remove"];
|
|
19
|
+
readonly summary: "Remove a module through an orchestrator-backed host lifecycle.";
|
|
20
|
+
readonly capability: "orchestrator.remove";
|
|
21
|
+
readonly aliases: readonly ["module uninstall"];
|
|
22
|
+
readonly examples: readonly ["ankh orchestrator module remove expo-localization"];
|
|
23
|
+
}, {
|
|
24
|
+
readonly path: readonly ["module", "sync"];
|
|
25
|
+
readonly summary: "Synchronize generated host artifacts after module lifecycle changes.";
|
|
26
|
+
readonly capability: "orchestrator.sync";
|
|
27
|
+
readonly examples: readonly ["ankh orchestrator module sync"];
|
|
28
|
+
}];
|
|
29
|
+
handlers: {
|
|
30
|
+
path: readonly ["module", "list"] | readonly ["module", "install"] | readonly ["module", "remove"] | readonly ["module", "sync"];
|
|
31
|
+
handler(request: {
|
|
32
|
+
readonly context: {
|
|
33
|
+
writeStdout(text: string): void;
|
|
34
|
+
};
|
|
35
|
+
}): {
|
|
36
|
+
exitCode: number;
|
|
37
|
+
};
|
|
38
|
+
}[];
|
|
39
|
+
};
|
|
40
|
+
export default provider;
|
|
41
|
+
//# sourceMappingURL=ankh.provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ankh.provider.d.ts","sourceRoot":"","sources":["../src/ankh.provider.ts"],"names":[],"mappings":"AAuDA,QAAA,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAbK;YACf,QAAQ,CAAC,OAAO,EAAE;gBAChB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;aACjC,CAAC;SACH;;;;CAgBF,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
const ORCHESTRATOR_PACKAGE_NAME = '@ankhorage/orchestrator';
|
|
2
|
+
const ORCHESTRATOR_PACKAGE_VERSION = '0.2.2';
|
|
3
|
+
const ORCHESTRATOR_CATEGORY = 'orchestrator';
|
|
4
|
+
const ORCHESTRATOR_CAPABILITIES = [
|
|
5
|
+
'orchestrator.modules',
|
|
6
|
+
'orchestrator.install',
|
|
7
|
+
'orchestrator.remove',
|
|
8
|
+
'orchestrator.sync',
|
|
9
|
+
];
|
|
10
|
+
const commands = [
|
|
11
|
+
{
|
|
12
|
+
path: ['module', 'list'],
|
|
13
|
+
summary: 'List modules available to an orchestrator-backed host.',
|
|
14
|
+
capability: 'orchestrator.modules',
|
|
15
|
+
aliases: ['modules'],
|
|
16
|
+
examples: ['ankh orchestrator module list'],
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
path: ['module', 'install'],
|
|
20
|
+
summary: 'Install a module through an orchestrator-backed host lifecycle.',
|
|
21
|
+
capability: 'orchestrator.install',
|
|
22
|
+
examples: ['ankh orchestrator module install expo-localization'],
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
path: ['module', 'remove'],
|
|
26
|
+
summary: 'Remove a module through an orchestrator-backed host lifecycle.',
|
|
27
|
+
capability: 'orchestrator.remove',
|
|
28
|
+
aliases: ['module uninstall'],
|
|
29
|
+
examples: ['ankh orchestrator module remove expo-localization'],
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
path: ['module', 'sync'],
|
|
33
|
+
summary: 'Synchronize generated host artifacts after module lifecycle changes.',
|
|
34
|
+
capability: 'orchestrator.sync',
|
|
35
|
+
examples: ['ankh orchestrator module sync'],
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
const handlers = commands.map((command) => ({
|
|
39
|
+
path: command.path,
|
|
40
|
+
handler(request) {
|
|
41
|
+
request.context.writeStdout(`${command.path.join(' ')} is provided as an orchestrator lifecycle capability. ` +
|
|
42
|
+
'Host packages wire concrete module catalogs and project targets.\n');
|
|
43
|
+
return { exitCode: 0 };
|
|
44
|
+
},
|
|
45
|
+
}));
|
|
46
|
+
const provider = {
|
|
47
|
+
id: ORCHESTRATOR_PACKAGE_NAME,
|
|
48
|
+
category: ORCHESTRATOR_CATEGORY,
|
|
49
|
+
version: ORCHESTRATOR_PACKAGE_VERSION,
|
|
50
|
+
capabilities: ORCHESTRATOR_CAPABILITIES,
|
|
51
|
+
commands,
|
|
52
|
+
handlers,
|
|
53
|
+
};
|
|
54
|
+
export default provider;
|
|
55
|
+
//# sourceMappingURL=ankh.provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ankh.provider.js","sourceRoot":"","sources":["../src/ankh.provider.ts"],"names":[],"mappings":"AAAA,MAAM,yBAAyB,GAAG,yBAAyB,CAAC;AAC5D,MAAM,4BAA4B,GAAG,OAAO,CAAC;AAC7C,MAAM,qBAAqB,GAAG,cAAc,CAAC;AAE7C,MAAM,yBAAyB,GAAG;IAChC,sBAAsB;IACtB,sBAAsB;IACtB,qBAAqB;IACrB,mBAAmB;CACX,CAAC;AAEX,MAAM,QAAQ,GAAG;IACf;QACE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;QACxB,OAAO,EAAE,wDAAwD;QACjE,UAAU,EAAE,sBAAsB;QAClC,OAAO,EAAE,CAAC,SAAS,CAAC;QACpB,QAAQ,EAAE,CAAC,+BAA+B,CAAC;KAC5C;IACD;QACE,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;QAC3B,OAAO,EAAE,iEAAiE;QAC1E,UAAU,EAAE,sBAAsB;QAClC,QAAQ,EAAE,CAAC,oDAAoD,CAAC;KACjE;IACD;QACE,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAC1B,OAAO,EAAE,gEAAgE;QACzE,UAAU,EAAE,qBAAqB;QACjC,OAAO,EAAE,CAAC,kBAAkB,CAAC;QAC7B,QAAQ,EAAE,CAAC,mDAAmD,CAAC;KAChE;IACD;QACE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;QACxB,OAAO,EAAE,sEAAsE;QAC/E,UAAU,EAAE,mBAAmB;QAC/B,QAAQ,EAAE,CAAC,+BAA+B,CAAC;KAC5C;CACO,CAAC;AAEX,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC1C,IAAI,EAAE,OAAO,CAAC,IAAI;IAClB,OAAO,CAAC,OAIP;QACC,OAAO,CAAC,OAAO,CAAC,WAAW,CACzB,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,wDAAwD;YAC/E,oEAAoE,CACvE,CAAC;QACF,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzB,CAAC;CACF,CAAC,CAAC,CAAC;AAEJ,MAAM,QAAQ,GAAG;IACf,EAAE,EAAE,yBAAyB;IAC7B,QAAQ,EAAE,qBAAqB;IAC/B,OAAO,EAAE,4BAA4B;IACrC,YAAY,EAAE,yBAAyB;IACvC,QAAQ;IACR,QAAQ;CACT,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ankh.provider.test.d.ts","sourceRoot":"","sources":["../src/ankh.provider.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { describe, expect, test } from 'bun:test';
|
|
2
|
+
import provider from './ankh.provider';
|
|
3
|
+
describe('orchestrator Ankh provider', () => {
|
|
4
|
+
test('declares coherent module lifecycle commands and handlers', () => {
|
|
5
|
+
expect(provider.id).toBe('@ankhorage/orchestrator');
|
|
6
|
+
expect(provider.category).toBe('orchestrator');
|
|
7
|
+
expect(provider.capabilities).toEqual([
|
|
8
|
+
'orchestrator.modules',
|
|
9
|
+
'orchestrator.install',
|
|
10
|
+
'orchestrator.remove',
|
|
11
|
+
'orchestrator.sync',
|
|
12
|
+
]);
|
|
13
|
+
const commandPaths = provider.commands.map((command) => command.path.join(' '));
|
|
14
|
+
const handlerPaths = provider.handlers.map((handler) => handler.path.join(' '));
|
|
15
|
+
expect(commandPaths).toEqual(['module list', 'module install', 'module remove', 'module sync']);
|
|
16
|
+
expect(handlerPaths).toEqual(commandPaths);
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
//# sourceMappingURL=ankh.provider.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ankh.provider.test.js","sourceRoot":"","sources":["../src/ankh.provider.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAElD,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AAEvC,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,IAAI,CAAC,0DAA0D,EAAE,GAAG,EAAE;QACpE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACpD,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC/C,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC;YACpC,sBAAsB;YACtB,sBAAsB;YACtB,qBAAqB;YACrB,mBAAmB;SACpB,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAChF,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAEhF,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC;QAChG,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/fs/exec.d.ts
CHANGED
package/dist/fs/exec.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { execFile as execFileCallback } from
|
|
2
|
-
import { promisify } from
|
|
1
|
+
import { execFile as execFileCallback } from 'node:child_process';
|
|
2
|
+
import { promisify } from 'node:util';
|
|
3
3
|
const execFile = promisify(execFileCallback);
|
|
4
4
|
export class NodeCommandExecutor {
|
|
5
5
|
async exec(cwd, command, args) {
|
|
@@ -11,14 +11,14 @@ export class NodeCommandExecutor {
|
|
|
11
11
|
if (error instanceof Error) {
|
|
12
12
|
return {
|
|
13
13
|
code: 1,
|
|
14
|
-
stdout:
|
|
14
|
+
stdout: '',
|
|
15
15
|
stderr: error.message,
|
|
16
16
|
};
|
|
17
17
|
}
|
|
18
18
|
return {
|
|
19
19
|
code: 1,
|
|
20
|
-
stdout:
|
|
21
|
-
stderr:
|
|
20
|
+
stdout: '',
|
|
21
|
+
stderr: 'Unknown exec error',
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
24
|
}
|
package/dist/fs/fileSystem.d.ts
CHANGED
package/dist/fs/fileSystem.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { promises as fs } from
|
|
2
|
-
import path from
|
|
1
|
+
import { promises as fs } from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
3
|
export class NodeFileSystem {
|
|
4
4
|
async exists(filePath) {
|
|
5
5
|
try {
|
|
@@ -12,7 +12,7 @@ export class NodeFileSystem {
|
|
|
12
12
|
}
|
|
13
13
|
async readText(filePath) {
|
|
14
14
|
try {
|
|
15
|
-
return await fs.readFile(filePath,
|
|
15
|
+
return await fs.readFile(filePath, 'utf8');
|
|
16
16
|
}
|
|
17
17
|
catch {
|
|
18
18
|
return null;
|
|
@@ -20,7 +20,7 @@ export class NodeFileSystem {
|
|
|
20
20
|
}
|
|
21
21
|
async writeText(filePath, content) {
|
|
22
22
|
await fs.mkdir(path.dirname(filePath), { recursive: true });
|
|
23
|
-
await fs.writeFile(filePath, content,
|
|
23
|
+
await fs.writeFile(filePath, content, 'utf8');
|
|
24
24
|
}
|
|
25
25
|
async ensureDir(dirPath) {
|
|
26
26
|
await fs.mkdir(dirPath, { recursive: true });
|
|
@@ -36,7 +36,7 @@ export class NodeFileSystem {
|
|
|
36
36
|
return JSON.parse(text);
|
|
37
37
|
}
|
|
38
38
|
async writeJson(filePath, value) {
|
|
39
|
-
const content = `${JSON.stringify(value, null, 2).replace(/\r\n/g,
|
|
39
|
+
const content = `${JSON.stringify(value, null, 2).replace(/\r\n/g, '\n')}\n`;
|
|
40
40
|
await this.writeText(filePath, content);
|
|
41
41
|
}
|
|
42
42
|
async readDir(dirPath) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { FileSystem } from
|
|
1
|
+
import type { FileSystem } from './types';
|
|
2
2
|
interface PatchAnchor {
|
|
3
3
|
find: string;
|
|
4
|
-
position:
|
|
4
|
+
position: 'before' | 'after';
|
|
5
5
|
}
|
|
6
6
|
export declare function insertTextBlock(args: {
|
|
7
7
|
fileSystem: FileSystem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patchTextBlock.d.ts","sourceRoot":"","sources":["../../src/fs/patchTextBlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC;CAC9B;AAUD,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAC1C,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"patchTextBlock.d.ts","sourceRoot":"","sources":["../../src/fs/patchTextBlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC;CAC9B;AAUD,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAC1C,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BhB;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAC1C,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,IAAI,CAAC,CAahB"}
|
|
@@ -6,7 +6,7 @@ function endMarker(blockId) {
|
|
|
6
6
|
}
|
|
7
7
|
export async function insertTextBlock(args) {
|
|
8
8
|
const { fileSystem, filePath, blockId, content, anchor } = args;
|
|
9
|
-
const existing = (await fileSystem.readText(filePath)) ??
|
|
9
|
+
const existing = (await fileSystem.readText(filePath)) ?? '';
|
|
10
10
|
const start = startMarker(blockId);
|
|
11
11
|
if (existing.includes(start)) {
|
|
12
12
|
return;
|
|
@@ -15,17 +15,17 @@ export async function insertTextBlock(args) {
|
|
|
15
15
|
if (anchor) {
|
|
16
16
|
const index = existing.indexOf(anchor.find);
|
|
17
17
|
if (index !== -1) {
|
|
18
|
-
const insertAt = anchor.position ===
|
|
18
|
+
const insertAt = anchor.position === 'after' ? index + anchor.find.length : index;
|
|
19
19
|
const before = existing.slice(0, insertAt);
|
|
20
20
|
const after = existing.slice(insertAt);
|
|
21
|
-
const prefix = before.endsWith(
|
|
22
|
-
const suffix = after.startsWith(
|
|
21
|
+
const prefix = before.endsWith('\n') || before.length === 0 ? '' : '\n';
|
|
22
|
+
const suffix = after.startsWith('\n') || after.length === 0 ? '' : '\n';
|
|
23
23
|
const next = `${before}${prefix}${block}${suffix}${after}`;
|
|
24
24
|
await fileSystem.writeText(filePath, next);
|
|
25
25
|
return;
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
-
const prefix = existing.endsWith(
|
|
28
|
+
const prefix = existing.endsWith('\n') || existing.length === 0 ? '' : '\n';
|
|
29
29
|
await fileSystem.writeText(filePath, `${existing}${prefix}${block}\n`);
|
|
30
30
|
}
|
|
31
31
|
export async function removeTextBlock(args) {
|
|
@@ -36,11 +36,11 @@ export async function removeTextBlock(args) {
|
|
|
36
36
|
}
|
|
37
37
|
const start = escapeForRegex(startMarker(blockId));
|
|
38
38
|
const end = escapeForRegex(endMarker(blockId));
|
|
39
|
-
const pattern = new RegExp(`${start}[\\s\\S]*?${end}\\n?`,
|
|
40
|
-
const next = existing.replace(pattern,
|
|
39
|
+
const pattern = new RegExp(`${start}[\\s\\S]*?${end}\\n?`, 'g');
|
|
40
|
+
const next = existing.replace(pattern, '');
|
|
41
41
|
await fileSystem.writeText(filePath, next);
|
|
42
42
|
}
|
|
43
43
|
function escapeForRegex(value) {
|
|
44
|
-
return value.replace(/[.*+?^${}()|[\]\\]/g,
|
|
44
|
+
return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
45
45
|
}
|
|
46
46
|
//# sourceMappingURL=patchTextBlock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patchTextBlock.js","sourceRoot":"","sources":["../../src/fs/patchTextBlock.ts"],"names":[],"mappings":"AAOA,SAAS,WAAW,CAAC,OAAe;IAClC,OAAO,kBAAkB,OAAO,QAAQ,CAAC;AAC3C,CAAC;AAED,SAAS,SAAS,CAAC,OAAe;IAChC,OAAO,kBAAkB,OAAO,MAAM,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAMrC;IACC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAChE,MAAM,QAAQ,GAAG,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7D,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAEnC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,KAAK,KAAK,OAAO,KAAK,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;IAE5D,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"patchTextBlock.js","sourceRoot":"","sources":["../../src/fs/patchTextBlock.ts"],"names":[],"mappings":"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"}
|
package/dist/fs/paths.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/fs/paths.ts"],"names":[],"mappings":"AAEA,wBAAgB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/fs/paths.ts"],"names":[],"mappings":"AAEA,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAcpF"}
|
package/dist/fs/paths.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import path from
|
|
1
|
+
import path from 'node:path';
|
|
2
2
|
export function resolveProjectPath(projectRoot, relativePath) {
|
|
3
3
|
if (!relativePath || path.isAbsolute(relativePath)) {
|
|
4
4
|
throw new Error(`Expected a relative project path, received "${relativePath}".`);
|
|
@@ -6,8 +6,7 @@ export function resolveProjectPath(projectRoot, relativePath) {
|
|
|
6
6
|
const resolved = path.resolve(projectRoot, relativePath);
|
|
7
7
|
const normalizedRoot = ensureTrailingSeparator(path.resolve(projectRoot));
|
|
8
8
|
const normalizedResolved = ensureTrailingSeparator(resolved);
|
|
9
|
-
if (!normalizedResolved.startsWith(normalizedRoot) &&
|
|
10
|
-
resolved !== path.resolve(projectRoot)) {
|
|
9
|
+
if (!normalizedResolved.startsWith(normalizedRoot) && resolved !== path.resolve(projectRoot)) {
|
|
11
10
|
throw new Error(`Path traversal is not allowed: "${relativePath}".`);
|
|
12
11
|
}
|
|
13
12
|
return resolved;
|
package/dist/fs/paths.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/fs/paths.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,UAAU,kBAAkB,
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/fs/paths.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,UAAU,kBAAkB,CAAC,WAAmB,EAAE,YAAoB;IAC1E,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,+CAA+C,YAAY,IAAI,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IACzD,MAAM,cAAc,GAAG,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;IAC1E,MAAM,kBAAkB,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAE7D,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,QAAQ,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7F,MAAM,IAAI,KAAK,CAAC,mCAAmC,YAAY,IAAI,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAa;IAC5C,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAClE,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export type { EnsurePackagesAction, JsonSetAction, ModuleAction, ModuleDependency, PatchTextBlockAction, WriteFileInstruction, WriteFilesAction, } from
|
|
2
|
-
export { LEDGER_DIR, ledgerPath } from
|
|
3
|
-
export type { AppliedOperation, ModuleLedger } from
|
|
4
|
-
export { defineModule } from
|
|
5
|
-
export type { ModuleContext, ModuleDefinition } from
|
|
6
|
-
export { createOrchestrator, type CreateOrchestratorOptions, type InstallModuleOptions, type InstallModuleResult, type Orchestrator, type RemoveModuleResult, } from
|
|
1
|
+
export type { EnsurePackagesAction, JsonSetAction, ModuleAction, ModuleDependency, PatchTextBlockAction, WriteFileInstruction, WriteFilesAction, } from './actions/types';
|
|
2
|
+
export { LEDGER_DIR, ledgerPath } from './ledger/helpers';
|
|
3
|
+
export type { AppliedOperation, ModuleLedger } from './ledger/types';
|
|
4
|
+
export { defineModule } from './module/defineModule';
|
|
5
|
+
export type { ModuleContext, ModuleDefinition } from './module/types';
|
|
6
|
+
export { createOrchestrator, type CreateOrchestratorOptions, type InstallModuleOptions, type InstallModuleResult, type Orchestrator, type RemoveModuleResult, } from './orchestrator/createOrchestrator';
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { LEDGER_DIR, ledgerPath } from
|
|
2
|
-
export { defineModule } from
|
|
3
|
-
export { createOrchestrator, } from
|
|
1
|
+
export { LEDGER_DIR, ledgerPath } from './ledger/helpers';
|
|
2
|
+
export { defineModule } from './module/defineModule';
|
|
3
|
+
export { createOrchestrator, } from './orchestrator/createOrchestrator';
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
package/dist/ledger/helpers.js
CHANGED
package/dist/ledger/types.d.ts
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
import type { ModuleAction } from
|
|
2
|
-
|
|
3
|
-
kind:
|
|
1
|
+
import type { ModuleAction } from '../actions/types';
|
|
2
|
+
interface PackageAdditionOperation {
|
|
3
|
+
kind: 'pkg-add';
|
|
4
4
|
name: string;
|
|
5
5
|
version?: string;
|
|
6
6
|
dev?: boolean;
|
|
7
7
|
}
|
|
8
|
-
|
|
9
|
-
kind:
|
|
8
|
+
interface FileWriteOperation {
|
|
9
|
+
kind: 'file-write';
|
|
10
10
|
path: string;
|
|
11
11
|
prevContent: string | null;
|
|
12
12
|
}
|
|
13
|
-
|
|
14
|
-
kind:
|
|
13
|
+
interface TextBlockInsertOperation {
|
|
14
|
+
kind: 'text-block-insert';
|
|
15
15
|
path: string;
|
|
16
16
|
blockId: string;
|
|
17
17
|
created: boolean;
|
|
18
18
|
}
|
|
19
|
-
|
|
20
|
-
kind:
|
|
19
|
+
interface JsonSetOperation {
|
|
20
|
+
kind: 'json-set';
|
|
21
21
|
path: string;
|
|
22
22
|
jsonPath: string;
|
|
23
23
|
prevExists: boolean;
|
|
24
24
|
prev: unknown;
|
|
25
25
|
next: unknown;
|
|
26
26
|
}
|
|
27
|
-
|
|
28
|
-
kind:
|
|
27
|
+
interface JsonFileSnapshotOperation {
|
|
28
|
+
kind: 'json-file-snapshot';
|
|
29
29
|
path: string;
|
|
30
30
|
prevContent: string | null;
|
|
31
31
|
}
|
|
@@ -39,4 +39,5 @@ export interface ModuleLedger {
|
|
|
39
39
|
actions: ModuleAction[];
|
|
40
40
|
applied: AppliedOperation[];
|
|
41
41
|
}
|
|
42
|
+
export {};
|
|
42
43
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ledger/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ledger/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,UAAU,wBAAwB;IAChC,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,UAAU,kBAAkB;IAC1B,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,UAAU,wBAAwB;IAChC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,gBAAgB;IACxB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;CACf;AAED,UAAU,yBAAyB;IACjC,IAAI,EAAE,oBAAoB,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,MAAM,gBAAgB,GACxB,wBAAwB,GACxB,kBAAkB,GAClB,wBAAwB,GACxB,gBAAgB,GAChB,yBAAyB,CAAC;AAE9B,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { ModuleDefinition } from
|
|
1
|
+
import type { ModuleDefinition } from './types';
|
|
2
2
|
export declare function defineModule<TConfig = unknown>(moduleDefinition: ModuleDefinition<TConfig>): ModuleDefinition<TConfig>;
|
|
3
3
|
//# sourceMappingURL=defineModule.d.ts.map
|
package/dist/module/types.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/module/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,MAAM,WAAW,aAAa,CAAC,OAAO,GAAG,OAAO;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB,CAAC,OAAO,GAAG,OAAO;IACjD,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,IAAI,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/module/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,MAAM,WAAW,aAAa,CAAC,OAAO,GAAG,OAAO;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB,CAAC,OAAO,GAAG,OAAO;IACjD,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC;CACjF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { ModuleAction } from
|
|
2
|
-
import type { CommandExecutor, FileSystem } from
|
|
3
|
-
import type { AppliedOperation } from
|
|
1
|
+
import type { ModuleAction } from '../actions/types';
|
|
2
|
+
import type { CommandExecutor, FileSystem } from '../fs/types';
|
|
3
|
+
import type { AppliedOperation } from '../ledger/types';
|
|
4
4
|
export declare function executeModuleActions(args: {
|
|
5
5
|
projectRoot: string;
|
|
6
6
|
actions: ModuleAction[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actionExecutor.d.ts","sourceRoot":"","sources":["../../src/orchestrator/actionExecutor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGpE,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAIxD,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,UAAU,EAAE,UAAU,CAAC;IACvB,eAAe,EAAE,eAAe,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"actionExecutor.d.ts","sourceRoot":"","sources":["../../src/orchestrator/actionExecutor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGpE,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAIxD,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,UAAU,EAAE,UAAU,CAAC;IACvB,eAAe,EAAE,eAAe,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA8H9B"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import path from
|
|
2
|
-
import { deepEqual, getAtPath, hasPath, setAtPath } from
|
|
3
|
-
import { insertTextBlock } from
|
|
4
|
-
import { resolveProjectPath } from
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import { deepEqual, getAtPath, hasPath, setAtPath } from '../actions/jsonPath';
|
|
3
|
+
import { insertTextBlock } from '../fs/patchTextBlock';
|
|
4
|
+
import { resolveProjectPath } from '../fs/paths';
|
|
5
5
|
export async function executeModuleActions(args) {
|
|
6
6
|
const { projectRoot, actions, fileSystem, commandExecutor, moduleId } = args;
|
|
7
7
|
const applied = [];
|
|
@@ -17,7 +17,7 @@ export async function executeModuleActions(args) {
|
|
|
17
17
|
try {
|
|
18
18
|
for (const action of actions) {
|
|
19
19
|
switch (action.type) {
|
|
20
|
-
case
|
|
20
|
+
case 'write-files': {
|
|
21
21
|
await flushJson();
|
|
22
22
|
for (const file of action.files) {
|
|
23
23
|
const absolutePath = resolveProjectPath(projectRoot, file.path);
|
|
@@ -29,14 +29,14 @@ export async function executeModuleActions(args) {
|
|
|
29
29
|
await fileSystem.ensureDir(path.dirname(absolutePath));
|
|
30
30
|
await fileSystem.writeText(absolutePath, file.content);
|
|
31
31
|
applied.push({
|
|
32
|
-
kind:
|
|
32
|
+
kind: 'file-write',
|
|
33
33
|
path: file.path,
|
|
34
34
|
prevContent,
|
|
35
35
|
});
|
|
36
36
|
}
|
|
37
37
|
break;
|
|
38
38
|
}
|
|
39
|
-
case
|
|
39
|
+
case 'patch-text-block': {
|
|
40
40
|
await flushJson();
|
|
41
41
|
const absolutePath = resolveProjectPath(projectRoot, action.path);
|
|
42
42
|
const existed = await fileSystem.exists(absolutePath);
|
|
@@ -48,14 +48,14 @@ export async function executeModuleActions(args) {
|
|
|
48
48
|
anchor: action.anchor,
|
|
49
49
|
});
|
|
50
50
|
applied.push({
|
|
51
|
-
kind:
|
|
51
|
+
kind: 'text-block-insert',
|
|
52
52
|
path: action.path,
|
|
53
53
|
blockId: action.blockId,
|
|
54
54
|
created: !existed,
|
|
55
55
|
});
|
|
56
56
|
break;
|
|
57
57
|
}
|
|
58
|
-
case
|
|
58
|
+
case 'json-set': {
|
|
59
59
|
await stageJsonSet({
|
|
60
60
|
action,
|
|
61
61
|
projectRoot,
|
|
@@ -66,20 +66,20 @@ export async function executeModuleActions(args) {
|
|
|
66
66
|
});
|
|
67
67
|
break;
|
|
68
68
|
}
|
|
69
|
-
case
|
|
69
|
+
case 'ensure-packages': {
|
|
70
70
|
await flushJson();
|
|
71
71
|
for (const dependency of action.add) {
|
|
72
|
-
const args = [
|
|
72
|
+
const args = ['add'];
|
|
73
73
|
if (dependency.dev) {
|
|
74
|
-
args.push(
|
|
74
|
+
args.push('-d');
|
|
75
75
|
}
|
|
76
|
-
args.push(`${dependency.name}${dependency.version ? `@${dependency.version}` :
|
|
77
|
-
const result = await commandExecutor.exec(projectRoot,
|
|
76
|
+
args.push(`${dependency.name}${dependency.version ? `@${dependency.version}` : ''}`);
|
|
77
|
+
const result = await commandExecutor.exec(projectRoot, 'bun', args);
|
|
78
78
|
if (result.code !== 0) {
|
|
79
79
|
throw new Error(`Package install failed for ${dependency.name} (${moduleId}): ${result.stderr || result.stdout}`);
|
|
80
80
|
}
|
|
81
81
|
applied.push({
|
|
82
|
-
kind:
|
|
82
|
+
kind: 'pkg-add',
|
|
83
83
|
name: dependency.name,
|
|
84
84
|
version: dependency.version,
|
|
85
85
|
dev: dependency.dev,
|
|
@@ -112,7 +112,7 @@ async function rollbackAppliedOperations(args) {
|
|
|
112
112
|
const { projectRoot, applied, fileSystem, commandExecutor, moduleId } = args;
|
|
113
113
|
for (const operation of [...applied].reverse()) {
|
|
114
114
|
switch (operation.kind) {
|
|
115
|
-
case
|
|
115
|
+
case 'file-write': {
|
|
116
116
|
if (operation.prevContent === null) {
|
|
117
117
|
await fileSystem.remove(resolveProjectPath(projectRoot, operation.path));
|
|
118
118
|
}
|
|
@@ -121,13 +121,13 @@ async function rollbackAppliedOperations(args) {
|
|
|
121
121
|
}
|
|
122
122
|
break;
|
|
123
123
|
}
|
|
124
|
-
case
|
|
124
|
+
case 'text-block-insert': {
|
|
125
125
|
if (operation.created) {
|
|
126
126
|
await fileSystem.remove(resolveProjectPath(projectRoot, operation.path));
|
|
127
127
|
}
|
|
128
128
|
else {
|
|
129
129
|
const absolutePath = resolveProjectPath(projectRoot, operation.path);
|
|
130
|
-
const { removeTextBlock } = await import(
|
|
130
|
+
const { removeTextBlock } = await import('../fs/patchTextBlock');
|
|
131
131
|
await removeTextBlock({
|
|
132
132
|
fileSystem,
|
|
133
133
|
filePath: absolutePath,
|
|
@@ -136,17 +136,14 @@ async function rollbackAppliedOperations(args) {
|
|
|
136
136
|
}
|
|
137
137
|
break;
|
|
138
138
|
}
|
|
139
|
-
case
|
|
140
|
-
const result = await commandExecutor.exec(projectRoot,
|
|
141
|
-
"remove",
|
|
142
|
-
operation.name,
|
|
143
|
-
]);
|
|
139
|
+
case 'pkg-add': {
|
|
140
|
+
const result = await commandExecutor.exec(projectRoot, 'bun', ['remove', operation.name]);
|
|
144
141
|
if (result.code !== 0) {
|
|
145
142
|
throw new Error(`Package uninstall failed for ${operation.name} (${moduleId}): ${result.stderr || result.stdout}`);
|
|
146
143
|
}
|
|
147
144
|
break;
|
|
148
145
|
}
|
|
149
|
-
case
|
|
146
|
+
case 'json-file-snapshot': {
|
|
150
147
|
const absolutePath = resolveProjectPath(projectRoot, operation.path);
|
|
151
148
|
if (operation.prevContent === null) {
|
|
152
149
|
await fileSystem.remove(absolutePath);
|
|
@@ -156,7 +153,7 @@ async function rollbackAppliedOperations(args) {
|
|
|
156
153
|
}
|
|
157
154
|
break;
|
|
158
155
|
}
|
|
159
|
-
case
|
|
156
|
+
case 'json-set': {
|
|
160
157
|
break;
|
|
161
158
|
}
|
|
162
159
|
default: {
|
|
@@ -167,12 +164,12 @@ async function rollbackAppliedOperations(args) {
|
|
|
167
164
|
}
|
|
168
165
|
}
|
|
169
166
|
async function stageJsonSet(args) {
|
|
170
|
-
const { action, projectRoot, fileSystem, jsonBuffer, jsonSnapshots, applied
|
|
167
|
+
const { action, projectRoot, fileSystem, jsonBuffer, jsonSnapshots, applied } = args;
|
|
171
168
|
const absolutePath = resolveProjectPath(projectRoot, action.path);
|
|
172
169
|
if (!jsonSnapshots.has(action.path)) {
|
|
173
170
|
const prevContent = await fileSystem.readText(absolutePath);
|
|
174
171
|
applied.push({
|
|
175
|
-
kind:
|
|
172
|
+
kind: 'json-file-snapshot',
|
|
176
173
|
path: action.path,
|
|
177
174
|
prevContent,
|
|
178
175
|
});
|
|
@@ -192,7 +189,7 @@ async function stageJsonSet(args) {
|
|
|
192
189
|
const prevExists = hasPath(buffer.doc, action.jsonPath);
|
|
193
190
|
buffer.doc = setAtPath(buffer.doc, action.jsonPath, action.value, action.createMissing ?? true);
|
|
194
191
|
applied.push({
|
|
195
|
-
kind:
|
|
192
|
+
kind: 'json-set',
|
|
196
193
|
path: action.path,
|
|
197
194
|
jsonPath: action.jsonPath,
|
|
198
195
|
prevExists,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actionExecutor.js","sourceRoot":"","sources":["../../src/orchestrator/actionExecutor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"actionExecutor.js","sourceRoot":"","sources":["../../src/orchestrator/actionExecutor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { OrchestratorServices } from
|
|
2
|
-
import type { ModuleDefinition } from
|
|
1
|
+
import type { OrchestratorServices } from '../fs/types';
|
|
2
|
+
import type { ModuleDefinition } from '../module/types';
|
|
3
3
|
export interface CreateOrchestratorOptions {
|
|
4
4
|
modules: ModuleDefinition[];
|
|
5
5
|
projectRoot: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createOrchestrator.d.ts","sourceRoot":"","sources":["../../src/orchestrator/createOrchestrator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAGxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAKxD,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB,CAAC,OAAO,GAAG,OAAO;IACrD,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,
|
|
1
|
+
{"version":3,"file":"createOrchestrator.d.ts","sourceRoot":"","sources":["../../src/orchestrator/createOrchestrator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAGxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAKxD,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB,CAAC,OAAO,GAAG,OAAO;IACrD,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC7F,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC7D;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,YAAY,CAKnF;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,yBAAyB,EAClC,QAAQ,EAAE,oBAAoB,GAC7B,YAAY,CA0Gd"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { NodeCommandExecutor } from
|
|
2
|
-
import { NodeFileSystem } from
|
|
3
|
-
import { resolveProjectPath } from
|
|
4
|
-
import { ledgerPath } from
|
|
5
|
-
import { executeModuleActions } from
|
|
6
|
-
import { createModuleRegistry, resolveInstallOrder } from
|
|
7
|
-
import { uninstallFromLedger } from
|
|
1
|
+
import { NodeCommandExecutor } from '../fs/exec';
|
|
2
|
+
import { NodeFileSystem } from '../fs/fileSystem';
|
|
3
|
+
import { resolveProjectPath } from '../fs/paths';
|
|
4
|
+
import { ledgerPath } from '../ledger/helpers';
|
|
5
|
+
import { executeModuleActions } from './actionExecutor';
|
|
6
|
+
import { createModuleRegistry, resolveInstallOrder } from './dependencyGraph';
|
|
7
|
+
import { uninstallFromLedger } from './uninstall';
|
|
8
8
|
export function createOrchestrator(options) {
|
|
9
9
|
return createOrchestratorWithServices(options, {
|
|
10
10
|
fileSystem: new NodeFileSystem(),
|
|
@@ -60,9 +60,7 @@ export function createOrchestratorWithServices(options, services) {
|
|
|
60
60
|
moduleVersion: moduleDefinition.version,
|
|
61
61
|
installedAt: now(),
|
|
62
62
|
config,
|
|
63
|
-
dependencies: [
|
|
64
|
-
...new Set(moduleDefinition.dependencies ?? []),
|
|
65
|
-
].sort((left, right) => left.localeCompare(right)),
|
|
63
|
+
dependencies: [...new Set(moduleDefinition.dependencies ?? [])].sort((left, right) => left.localeCompare(right)),
|
|
66
64
|
actions,
|
|
67
65
|
applied,
|
|
68
66
|
};
|
|
@@ -74,9 +72,7 @@ export function createOrchestratorWithServices(options, services) {
|
|
|
74
72
|
};
|
|
75
73
|
}
|
|
76
74
|
catch (error) {
|
|
77
|
-
for (const installedModuleId of [
|
|
78
|
-
...installedDuringOperation,
|
|
79
|
-
].reverse()) {
|
|
75
|
+
for (const installedModuleId of [...installedDuringOperation].reverse()) {
|
|
80
76
|
await removeInstalledModule({
|
|
81
77
|
projectRoot: options.projectRoot,
|
|
82
78
|
moduleId: installedModuleId,
|
|
@@ -103,7 +99,7 @@ export function createOrchestratorWithServices(options, services) {
|
|
|
103
99
|
};
|
|
104
100
|
}
|
|
105
101
|
async function removeInstalledModule(args) {
|
|
106
|
-
const { projectRoot, moduleId, fileSystem, commandExecutor, skipDependencyCheck
|
|
102
|
+
const { projectRoot, moduleId, fileSystem, commandExecutor, skipDependencyCheck } = args;
|
|
107
103
|
const ledger = await readLedger(projectRoot, moduleId, fileSystem);
|
|
108
104
|
if (!ledger) {
|
|
109
105
|
throw new Error(`Module "${moduleId}" is not installed.`);
|
|
@@ -111,12 +107,11 @@ async function removeInstalledModule(args) {
|
|
|
111
107
|
if (!skipDependencyCheck) {
|
|
112
108
|
const installedLedgers = await listLedgers(projectRoot, fileSystem);
|
|
113
109
|
const dependents = installedLedgers
|
|
114
|
-
.filter((candidate) => candidate.moduleId !== moduleId &&
|
|
115
|
-
candidate.dependencies.includes(moduleId))
|
|
110
|
+
.filter((candidate) => candidate.moduleId !== moduleId && candidate.dependencies.includes(moduleId))
|
|
116
111
|
.map((candidate) => candidate.moduleId)
|
|
117
112
|
.sort((left, right) => left.localeCompare(right));
|
|
118
113
|
if (dependents.length > 0) {
|
|
119
|
-
throw new Error(`Cannot remove "${moduleId}" while installed modules still depend on it: ${dependents.join(
|
|
114
|
+
throw new Error(`Cannot remove "${moduleId}" while installed modules still depend on it: ${dependents.join(', ')}`);
|
|
120
115
|
}
|
|
121
116
|
}
|
|
122
117
|
await uninstallFromLedger({
|
|
@@ -137,11 +132,11 @@ async function deleteLedger(projectRoot, moduleId, fileSystem) {
|
|
|
137
132
|
await fileSystem.remove(resolveProjectPath(projectRoot, ledgerPath(moduleId)));
|
|
138
133
|
}
|
|
139
134
|
async function listLedgers(projectRoot, fileSystem) {
|
|
140
|
-
const ledgerDirectory = resolveProjectPath(projectRoot,
|
|
135
|
+
const ledgerDirectory = resolveProjectPath(projectRoot, '.ankh/ledger');
|
|
141
136
|
const entries = await fileSystem.readDir(ledgerDirectory);
|
|
142
137
|
const ledgers = [];
|
|
143
138
|
for (const entry of entries) {
|
|
144
|
-
if (!entry.endsWith(
|
|
139
|
+
if (!entry.endsWith('.json')) {
|
|
145
140
|
continue;
|
|
146
141
|
}
|
|
147
142
|
const text = await fileSystem.readJson(resolveProjectPath(projectRoot, `.ankh/ledger/${entry}`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createOrchestrator.js","sourceRoot":"","sources":["../../src/orchestrator/createOrchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"createOrchestrator.js","sourceRoot":"","sources":["../../src/orchestrator/createOrchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ModuleDefinition } from
|
|
1
|
+
import type { ModuleDefinition } from '../module/types';
|
|
2
2
|
export declare function createModuleRegistry(modules: ModuleDefinition[]): Map<string, ModuleDefinition>;
|
|
3
3
|
export declare function resolveInstallOrder(moduleId: string, registry: Map<string, ModuleDefinition>): ModuleDefinition[];
|
|
4
4
|
//# sourceMappingURL=dependencyGraph.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependencyGraph.d.ts","sourceRoot":"","sources":["../../src/orchestrator/dependencyGraph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,wBAAgB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"dependencyGraph.d.ts","sourceRoot":"","sources":["../../src/orchestrator/dependencyGraph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAW/F;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,GACtC,gBAAgB,EAAE,CA8CpB"}
|
|
@@ -20,7 +20,7 @@ export function resolveInstallOrder(moduleId, registry) {
|
|
|
20
20
|
return;
|
|
21
21
|
}
|
|
22
22
|
if (visiting.has(currentId)) {
|
|
23
|
-
throw new Error(`Dependency cycle detected: ${[...stack, currentId].join(
|
|
23
|
+
throw new Error(`Dependency cycle detected: ${[...stack, currentId].join(' -> ')}`);
|
|
24
24
|
}
|
|
25
25
|
const moduleDefinition = registry.get(currentId);
|
|
26
26
|
if (!moduleDefinition) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependencyGraph.js","sourceRoot":"","sources":["../../src/orchestrator/dependencyGraph.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,oBAAoB,
|
|
1
|
+
{"version":3,"file":"dependencyGraph.js","sourceRoot":"","sources":["../../src/orchestrator/dependencyGraph.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,oBAAoB,CAAC,OAA2B;IAC9D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA4B,CAAC;IAErD,KAAK,MAAM,gBAAgB,IAAI,OAAO,EAAE,CAAC;QACvC,IAAI,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,gCAAgC,gBAAgB,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3E,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,QAAgB,EAChB,QAAuC;IAEvC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,MAAM,KAAK,GAAuB,EAAE,CAAC;IAErC,MAAM,KAAK,GAAG,CAAC,SAAiB,EAAE,KAAe,EAAE,EAAE;QACnD,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACtF,CAAC;QAED,MAAM,gBAAgB,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,uBAAuB,SAAS,IAAI,CAAC,CAAC;QACxD,CAAC;QAED,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAExB,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAC1F,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAC1B,CAAC;QAEF,KAAK,MAAM,YAAY,IAAI,YAAY,EAAE,CAAC;YACxC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CACb,WAAW,gBAAgB,CAAC,EAAE,gCAAgC,YAAY,IAAI,CAC/E,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,YAAY,EAAE,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;QAC7C,CAAC;QAED,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC3B,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC/B,CAAC,CAAC;IAEF,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAEpB,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { CommandExecutor, FileSystem } from
|
|
2
|
-
import type { ModuleLedger } from
|
|
1
|
+
import type { CommandExecutor, FileSystem } from '../fs/types';
|
|
2
|
+
import type { ModuleLedger } from '../ledger/types';
|
|
3
3
|
export declare function uninstallFromLedger(args: {
|
|
4
4
|
projectRoot: string;
|
|
5
5
|
ledger: ModuleLedger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/orchestrator/uninstall.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,EAAE,UAAU,CAAC;IACvB,eAAe,EAAE,eAAe,CAAC;CAClC,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/orchestrator/uninstall.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,EAAE,UAAU,CAAC;IACvB,eAAe,EAAE,eAAe,CAAC;CAClC,GAAG,OAAO,CAAC,IAAI,CAAC,CAyEhB"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { removeTextBlock } from
|
|
2
|
-
import { resolveProjectPath } from
|
|
1
|
+
import { removeTextBlock } from '../fs/patchTextBlock';
|
|
2
|
+
import { resolveProjectPath } from '../fs/paths';
|
|
3
3
|
export async function uninstallFromLedger(args) {
|
|
4
4
|
const { projectRoot, ledger, fileSystem, commandExecutor } = args;
|
|
5
5
|
const snapshotPaths = new Set(ledger.applied
|
|
6
|
-
.filter((operation) => operation.kind ===
|
|
6
|
+
.filter((operation) => operation.kind === 'json-file-snapshot')
|
|
7
7
|
.map((operation) => operation.path));
|
|
8
8
|
for (const operation of [...ledger.applied].reverse()) {
|
|
9
9
|
switch (operation.kind) {
|
|
10
|
-
case
|
|
10
|
+
case 'file-write': {
|
|
11
11
|
if (operation.prevContent === null) {
|
|
12
12
|
await fileSystem.remove(resolveProjectPath(projectRoot, operation.path));
|
|
13
13
|
}
|
|
@@ -16,7 +16,7 @@ export async function uninstallFromLedger(args) {
|
|
|
16
16
|
}
|
|
17
17
|
break;
|
|
18
18
|
}
|
|
19
|
-
case
|
|
19
|
+
case 'text-block-insert': {
|
|
20
20
|
if (operation.created) {
|
|
21
21
|
await fileSystem.remove(resolveProjectPath(projectRoot, operation.path));
|
|
22
22
|
}
|
|
@@ -29,17 +29,14 @@ export async function uninstallFromLedger(args) {
|
|
|
29
29
|
}
|
|
30
30
|
break;
|
|
31
31
|
}
|
|
32
|
-
case
|
|
33
|
-
const result = await commandExecutor.exec(projectRoot,
|
|
34
|
-
"remove",
|
|
35
|
-
operation.name,
|
|
36
|
-
]);
|
|
32
|
+
case 'pkg-add': {
|
|
33
|
+
const result = await commandExecutor.exec(projectRoot, 'bun', ['remove', operation.name]);
|
|
37
34
|
if (result.code !== 0) {
|
|
38
35
|
throw new Error(`Package uninstall failed for ${operation.name} (${ledger.moduleId}): ${result.stderr || result.stdout}`);
|
|
39
36
|
}
|
|
40
37
|
break;
|
|
41
38
|
}
|
|
42
|
-
case
|
|
39
|
+
case 'json-file-snapshot': {
|
|
43
40
|
const absolutePath = resolveProjectPath(projectRoot, operation.path);
|
|
44
41
|
if (operation.prevContent === null) {
|
|
45
42
|
await fileSystem.remove(absolutePath);
|
|
@@ -49,7 +46,7 @@ export async function uninstallFromLedger(args) {
|
|
|
49
46
|
}
|
|
50
47
|
break;
|
|
51
48
|
}
|
|
52
|
-
case
|
|
49
|
+
case 'json-set': {
|
|
53
50
|
if (snapshotPaths.has(operation.path)) {
|
|
54
51
|
break;
|
|
55
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/orchestrator/uninstall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAIjD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAKzC;IACC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IAClE,MAAM,aAAa,GAAG,IAAI,GAAG,CAC3B,MAAM,CAAC,OAAO;SACX,MAAM,CACL,
|
|
1
|
+
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/orchestrator/uninstall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAIjD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAKzC;IACC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IAClE,MAAM,aAAa,GAAG,IAAI,GAAG,CAC3B,MAAM,CAAC,OAAO;SACX,MAAM,CACL,CAAC,SAAS,EAA0E,EAAE,CACpF,SAAS,CAAC,IAAI,KAAK,oBAAoB,CAC1C;SACA,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CACtC,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QACtD,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;YACvB,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,IAAI,SAAS,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;oBACnC,MAAM,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,WAAW,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC3E,CAAC;qBAAM,CAAC;oBACN,MAAM,UAAU,CAAC,SAAS,CACxB,kBAAkB,CAAC,WAAW,EAAE,SAAS,CAAC,IAAI,CAAC,EAC/C,SAAS,CAAC,WAAW,CACtB,CAAC;gBACJ,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;oBACtB,MAAM,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,WAAW,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC3E,CAAC;qBAAM,CAAC;oBACN,MAAM,eAAe,CAAC;wBACpB,UAAU;wBACV,QAAQ,EAAE,kBAAkB,CAAC,WAAW,EAAE,SAAS,CAAC,IAAI,CAAC;wBACzD,OAAO,EAAE,SAAS,CAAC,OAAO;qBAC3B,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC1F,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;oBACtB,MAAM,IAAI,KAAK,CACb,gCAAgC,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,QAAQ,MAChE,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAC1B,EAAE,CACH,CAAC;gBACJ,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,oBAAoB,CAAC,CAAC,CAAC;gBAC1B,MAAM,YAAY,GAAG,kBAAkB,CAAC,WAAW,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;gBACrE,IAAI,SAAS,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;oBACnC,MAAM,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,MAAM,UAAU,CAAC,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;gBAClE,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,IAAI,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtC,MAAM;gBACR,CAAC;gBACD,MAAM;YACR,CAAC;YAED,OAAO,CAAC,CAAC,CAAC;gBACR,MAAM,UAAU,GAAU,SAAS,CAAC;gBACpC,OAAO,UAAU,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ankhorage/orchestrator",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -13,6 +13,14 @@
|
|
|
13
13
|
"bugs": {
|
|
14
14
|
"url": "https://github.com/ankhorage/orchestrator/issues"
|
|
15
15
|
},
|
|
16
|
+
"keywords": [
|
|
17
|
+
"typescript",
|
|
18
|
+
"bun",
|
|
19
|
+
"orchestration",
|
|
20
|
+
"automation",
|
|
21
|
+
"developer-tools",
|
|
22
|
+
"modules"
|
|
23
|
+
],
|
|
16
24
|
"files": [
|
|
17
25
|
"dist"
|
|
18
26
|
],
|
|
@@ -22,25 +30,32 @@
|
|
|
22
30
|
"default": "./dist/index.js"
|
|
23
31
|
}
|
|
24
32
|
},
|
|
33
|
+
"ankh": {
|
|
34
|
+
"category": "orchestrator",
|
|
35
|
+
"provider": "./dist/ankh.provider.js",
|
|
36
|
+
"capabilities": [
|
|
37
|
+
"orchestrator.modules",
|
|
38
|
+
"orchestrator.install",
|
|
39
|
+
"orchestrator.remove",
|
|
40
|
+
"orchestrator.sync"
|
|
41
|
+
]
|
|
42
|
+
},
|
|
25
43
|
"scripts": {
|
|
26
44
|
"build": "rm -rf dist tsconfig.tsbuildinfo && bun x tsc -p tsconfig.json",
|
|
27
|
-
"format": "prettier --write .",
|
|
28
|
-
"format:check": "prettier --check .",
|
|
29
|
-
"lint": "eslint . --max-warnings=0",
|
|
30
|
-
"lint:fix": "eslint . --fix --max-warnings=0",
|
|
45
|
+
"format": "ankhorage-prettier --write .",
|
|
46
|
+
"format:check": "ankhorage-prettier --check .",
|
|
47
|
+
"lint": "ankhorage-eslint . --max-warnings=0",
|
|
48
|
+
"lint:fix": "ankhorage-eslint . --fix --max-warnings=0",
|
|
31
49
|
"test": "bun test",
|
|
32
|
-
"knip": "
|
|
50
|
+
"knip": "ankhorage-knip",
|
|
33
51
|
"changeset": "changeset",
|
|
34
52
|
"version-packages": "changeset version"
|
|
35
53
|
},
|
|
36
54
|
"devDependencies": {
|
|
37
|
-
"@ankhorage/devtools": "^1.0.
|
|
55
|
+
"@ankhorage/devtools": "^1.0.6",
|
|
38
56
|
"@changesets/cli": "^2.31.0",
|
|
39
57
|
"@types/bun": "^1.3.13",
|
|
40
58
|
"@types/node": "^25.6.0",
|
|
41
|
-
"eslint": "^10.2.1",
|
|
42
|
-
"knip": "^5.88.1",
|
|
43
|
-
"prettier": "^3.8.3",
|
|
44
59
|
"typescript": "^5.9.3"
|
|
45
60
|
},
|
|
46
61
|
"packageManager": "bun@1.3.13",
|