@openreef/cli 0.3.5 → 0.4.0
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 +34 -11
- package/dist/commands/export.d.ts +6 -0
- package/dist/commands/export.d.ts.map +1 -0
- package/dist/commands/export.js +70 -0
- package/dist/commands/export.js.map +1 -0
- package/dist/commands/install.d.ts +3 -0
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +78 -23
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/lock.d.ts +2 -0
- package/dist/commands/lock.d.ts.map +1 -0
- package/dist/commands/lock.js +5 -0
- package/dist/commands/lock.js.map +1 -0
- package/dist/commands/uninstall.d.ts.map +1 -1
- package/dist/commands/uninstall.js +3 -2
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/commands/update.d.ts +3 -0
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +102 -31
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/validate.d.ts +1 -0
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +183 -14
- package/dist/commands/validate.js.map +1 -1
- package/dist/core/config-patcher.d.ts +11 -1
- package/dist/core/config-patcher.d.ts.map +1 -1
- package/dist/core/config-patcher.js +24 -7
- package/dist/core/config-patcher.js.map +1 -1
- package/dist/core/gateway-client.d.ts.map +1 -1
- package/dist/core/gateway-client.js +2 -1
- package/dist/core/gateway-client.js.map +1 -1
- package/dist/core/registry.d.ts +61 -0
- package/dist/core/registry.d.ts.map +1 -0
- package/dist/core/registry.js +277 -0
- package/dist/core/registry.js.map +1 -0
- package/dist/core/state-manager.d.ts +3 -0
- package/dist/core/state-manager.d.ts.map +1 -1
- package/dist/core/state-manager.js +55 -2
- package/dist/core/state-manager.js.map +1 -1
- package/dist/core/template-interpolator.d.ts +6 -0
- package/dist/core/template-interpolator.d.ts.map +1 -1
- package/dist/core/template-interpolator.js +14 -0
- package/dist/core/template-interpolator.js.map +1 -1
- package/dist/index.js +51 -9
- package/dist/index.js.map +1 -1
- package/dist/types/state.d.ts +4 -0
- package/dist/types/state.d.ts.map +1 -1
- package/dist/utils/tarball.d.ts +20 -7
- package/dist/utils/tarball.d.ts.map +1 -1
- package/dist/utils/tarball.js +36 -9
- package/dist/utils/tarball.js.map +1 -1
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +5 -0
- package/dist/version.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-manager.d.ts","sourceRoot":"","sources":["../../src/core/state-manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"state-manager.d.ts","sourceRoot":"","sources":["../../src/core/state-manager.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAMxD,wBAAsB,SAAS,CAC7B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GACtB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAShC;AAED,wBAAsB,SAAS,CAC7B,KAAK,EAAE,cAAc,EACrB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GACtB,OAAO,CAAC,IAAI,CAAC,CAKf;AAED,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GACtB,OAAO,CAAC,IAAI,CAAC,CAQf;AAED,wBAAsB,UAAU,CAC9B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GACtB,OAAO,CAAC,cAAc,EAAE,CAAC,CAqB3B;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GACtB,MAAM,CAGR;AAED,wBAAsB,qBAAqB,CACzC,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GACtB,OAAO,CAAC,MAAM,CAAC,CA8CjB;AAED,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GACtB,OAAO,CAAC,IAAI,CAAC,CAGf"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { readFile, writeFile, unlink, readdir, mkdir, } from 'node:fs/promises';
|
|
1
|
+
import { readFile, writeFile, unlink, readdir, mkdir, rm, rename, mkdtemp, } from 'node:fs/promises';
|
|
2
2
|
import { createHash } from 'node:crypto';
|
|
3
|
-
import { join } from 'node:path';
|
|
3
|
+
import { join, resolve, sep } from 'node:path';
|
|
4
|
+
import { existsSync } from 'node:fs';
|
|
4
5
|
import { resolveReefStateDir } from './openclaw-paths.js';
|
|
6
|
+
import { copyDir } from '../utils/fs.js';
|
|
5
7
|
function stateFileName(namespace, name) {
|
|
6
8
|
return `${namespace}--${name}.state.json`;
|
|
7
9
|
}
|
|
@@ -58,4 +60,55 @@ export async function listStates(env) {
|
|
|
58
60
|
export function computeFileHash(content) {
|
|
59
61
|
return createHash('sha256').update(content).digest('hex');
|
|
60
62
|
}
|
|
63
|
+
export function sourceSnapshotDir(namespace, name, env) {
|
|
64
|
+
const dir = resolveReefStateDir(env);
|
|
65
|
+
return join(dir, 'sources', `${namespace}--${name}`);
|
|
66
|
+
}
|
|
67
|
+
export async function persistSourceSnapshot(formationPath, namespace, name, env) {
|
|
68
|
+
const snapshotDir = sourceSnapshotDir(namespace, name, env);
|
|
69
|
+
const srcAbs = resolve(formationPath);
|
|
70
|
+
const dstAbs = resolve(snapshotDir);
|
|
71
|
+
// Exact equality: source is already the snapshot, no-op
|
|
72
|
+
if (srcAbs === dstAbs) {
|
|
73
|
+
return snapshotDir;
|
|
74
|
+
}
|
|
75
|
+
// Containment: throw — programming error or corrupted state
|
|
76
|
+
if (srcAbs.startsWith(dstAbs + sep) || dstAbs.startsWith(srcAbs + sep)) {
|
|
77
|
+
throw new Error(`Cannot persist source snapshot: paths overlap (src=${srcAbs}, dst=${dstAbs})`);
|
|
78
|
+
}
|
|
79
|
+
// Atomic write: copy to temp dir, then rename to final location
|
|
80
|
+
const sourcesParent = join(resolveReefStateDir(env), 'sources');
|
|
81
|
+
await mkdir(sourcesParent, { recursive: true });
|
|
82
|
+
const tmpDir = await mkdtemp(join(sourcesParent, `${namespace}--${name}.tmp-`));
|
|
83
|
+
try {
|
|
84
|
+
await copyDir(formationPath, tmpDir);
|
|
85
|
+
// Backup-rename swap for durability
|
|
86
|
+
const bakDir = snapshotDir + '.bak';
|
|
87
|
+
const hadOld = existsSync(snapshotDir);
|
|
88
|
+
if (hadOld) {
|
|
89
|
+
await rm(bakDir, { recursive: true, force: true }).catch(() => { });
|
|
90
|
+
await rename(snapshotDir, bakDir);
|
|
91
|
+
}
|
|
92
|
+
try {
|
|
93
|
+
await rename(tmpDir, snapshotDir);
|
|
94
|
+
}
|
|
95
|
+
catch (renameErr) {
|
|
96
|
+
if (hadOld)
|
|
97
|
+
await rename(bakDir, snapshotDir).catch(() => { });
|
|
98
|
+
throw renameErr;
|
|
99
|
+
}
|
|
100
|
+
if (hadOld) {
|
|
101
|
+
await rm(bakDir, { recursive: true, force: true }).catch(() => { });
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
catch (err) {
|
|
105
|
+
await rm(tmpDir, { recursive: true, force: true }).catch(() => { });
|
|
106
|
+
throw err;
|
|
107
|
+
}
|
|
108
|
+
return snapshotDir;
|
|
109
|
+
}
|
|
110
|
+
export async function deleteSourceSnapshot(namespace, name, env) {
|
|
111
|
+
const snapshotDir = sourceSnapshotDir(namespace, name, env);
|
|
112
|
+
await rm(snapshotDir, { recursive: true, force: true }).catch(() => { });
|
|
113
|
+
}
|
|
61
114
|
//# sourceMappingURL=state-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-manager.js","sourceRoot":"","sources":["../../src/core/state-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,SAAS,EACT,MAAM,EACN,OAAO,EACP,KAAK,
|
|
1
|
+
{"version":3,"file":"state-manager.js","sourceRoot":"","sources":["../../src/core/state-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,8 @@
|
|
|
1
1
|
export declare function interpolate(template: string, variables: Record<string, string>): string;
|
|
2
|
+
/**
|
|
3
|
+
* Build a markdown list of an agent's enabled tools/skills.
|
|
4
|
+
* Format: `- **tool-name** (version-range)` for skills with versions,
|
|
5
|
+
* `- **tool-name**` for built-in tools without a version.
|
|
6
|
+
*/
|
|
7
|
+
export declare function buildToolsList(agentTools: string[] | undefined, skills: Record<string, string> | undefined): string;
|
|
2
8
|
//# sourceMappingURL=template-interpolator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-interpolator.d.ts","sourceRoot":"","sources":["../../src/core/template-interpolator.ts"],"names":[],"mappings":"AAEA,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,MAAM,CAQR"}
|
|
1
|
+
{"version":3,"file":"template-interpolator.d.ts","sourceRoot":"","sources":["../../src/core/template-interpolator.ts"],"names":[],"mappings":"AAEA,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,MAAM,CAQR;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,MAAM,EAAE,GAAG,SAAS,EAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GACzC,MAAM,CASR"}
|
|
@@ -8,4 +8,18 @@ export function interpolate(template, variables) {
|
|
|
8
8
|
return match;
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* Build a markdown list of an agent's enabled tools/skills.
|
|
13
|
+
* Format: `- **tool-name** (version-range)` for skills with versions,
|
|
14
|
+
* `- **tool-name**` for built-in tools without a version.
|
|
15
|
+
*/
|
|
16
|
+
export function buildToolsList(agentTools, skills) {
|
|
17
|
+
if (!agentTools?.length)
|
|
18
|
+
return '';
|
|
19
|
+
const lines = agentTools.map((tool) => {
|
|
20
|
+
const version = skills?.[tool];
|
|
21
|
+
return version ? `- **${tool}** (${version})` : `- **${tool}**`;
|
|
22
|
+
});
|
|
23
|
+
return lines.join('\n');
|
|
24
|
+
}
|
|
11
25
|
//# sourceMappingURL=template-interpolator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-interpolator.js","sourceRoot":"","sources":["../../src/core/template-interpolator.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG,gBAAgB,CAAC;AAEvC,MAAM,UAAU,WAAW,CACzB,QAAgB,EAChB,SAAiC;IAEjC,OAAO,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;QAC7D,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QACD,6CAA6C;QAC7C,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"template-interpolator.js","sourceRoot":"","sources":["../../src/core/template-interpolator.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG,gBAAgB,CAAC;AAEvC,MAAM,UAAU,WAAW,CACzB,QAAgB,EAChB,SAAiC;IAEjC,OAAO,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;QAC7D,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QACD,6CAA6C;QAC7C,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC5B,UAAgC,EAChC,MAA0C;IAE1C,IAAI,CAAC,UAAU,EAAE,MAAM;QAAE,OAAO,EAAE,CAAC;IAEnC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACpC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -11,11 +11,14 @@ import { status } from './commands/status.js';
|
|
|
11
11
|
import { repair } from './commands/repair.js';
|
|
12
12
|
import { update } from './commands/update.js';
|
|
13
13
|
import { logs } from './commands/logs.js';
|
|
14
|
+
import { lock } from './commands/lock.js';
|
|
15
|
+
import { exportFormation } from './commands/export.js';
|
|
16
|
+
import { VERSION } from './version.js';
|
|
14
17
|
const program = new Command();
|
|
15
18
|
program
|
|
16
19
|
.name('reef')
|
|
17
20
|
.description('OpenReef CLI — package and deploy multi-agent formations')
|
|
18
|
-
.version(
|
|
21
|
+
.version(VERSION);
|
|
19
22
|
program
|
|
20
23
|
.command('init [name]')
|
|
21
24
|
.description('Scaffold a new formation from the bundled template')
|
|
@@ -49,6 +52,7 @@ program
|
|
|
49
52
|
.description('Run schema and structural validation on a formation')
|
|
50
53
|
.option('--quiet', 'Suppress output, exit code only')
|
|
51
54
|
.option('--json', 'Output results as JSON')
|
|
55
|
+
.option('--deployed', 'Validate deployed formation state instead of source')
|
|
52
56
|
.action(async (path, options) => {
|
|
53
57
|
try {
|
|
54
58
|
const result = await validate(path, options);
|
|
@@ -73,8 +77,8 @@ program
|
|
|
73
77
|
}
|
|
74
78
|
});
|
|
75
79
|
program
|
|
76
|
-
.command('install <
|
|
77
|
-
.description('Deploy a formation
|
|
80
|
+
.command('install <source>')
|
|
81
|
+
.description('Deploy a formation (path, tarball, or registry name)')
|
|
78
82
|
.option('--set <key=value...>', 'Set variable values')
|
|
79
83
|
.option('--namespace <ns>', 'Override namespace (default: manifest.namespace)')
|
|
80
84
|
.option('--force', 'Remove existing resources and recreate')
|
|
@@ -82,12 +86,18 @@ program
|
|
|
82
86
|
.option('--yes', 'Skip confirmation prompts')
|
|
83
87
|
.option('--no-env', 'Skip loading .env file')
|
|
84
88
|
.option('--dry-run', 'Preview changes without applying them')
|
|
89
|
+
.option('--allow-channel-shadow', 'Allow bare bindings that shadow the main agent')
|
|
90
|
+
.option('--registry <url>', 'Registry URL')
|
|
91
|
+
.option('--skip-cache', 'Skip registry cache')
|
|
85
92
|
.option('--gateway-url <url>', 'Gateway WebSocket URL')
|
|
86
93
|
.option('--gateway-token <token>', 'Gateway auth token')
|
|
87
94
|
.option('--gateway-password <password>', 'Gateway auth password')
|
|
88
|
-
.action(async (
|
|
95
|
+
.action(async (source, options) => {
|
|
89
96
|
try {
|
|
90
|
-
await install(
|
|
97
|
+
await install(source, {
|
|
98
|
+
...options,
|
|
99
|
+
registryUrl: options.registry,
|
|
100
|
+
});
|
|
91
101
|
}
|
|
92
102
|
catch (err) {
|
|
93
103
|
console.error(err instanceof Error ? err.message : err);
|
|
@@ -112,19 +122,25 @@ program
|
|
|
112
122
|
}
|
|
113
123
|
});
|
|
114
124
|
program
|
|
115
|
-
.command('update <
|
|
116
|
-
.description('Update an installed formation
|
|
125
|
+
.command('update <source>')
|
|
126
|
+
.description('Update an installed formation (path, tarball, or registry name)')
|
|
117
127
|
.option('--set <key=value...>', 'Set variable values')
|
|
118
128
|
.option('--namespace <ns>', 'Override namespace')
|
|
119
129
|
.option('--yes', 'Skip confirmation')
|
|
120
130
|
.option('--no-env', 'Skip loading .env file')
|
|
121
131
|
.option('--dry-run', 'Preview changes without applying them')
|
|
132
|
+
.option('--allow-channel-shadow', 'Allow bare bindings that shadow the main agent')
|
|
133
|
+
.option('--registry <url>', 'Registry URL')
|
|
134
|
+
.option('--skip-cache', 'Skip registry cache')
|
|
122
135
|
.option('--gateway-url <url>', 'Gateway WebSocket URL')
|
|
123
136
|
.option('--gateway-token <token>', 'Gateway auth token')
|
|
124
137
|
.option('--gateway-password <password>', 'Gateway auth password')
|
|
125
|
-
.action(async (
|
|
138
|
+
.action(async (source, options) => {
|
|
126
139
|
try {
|
|
127
|
-
await update(
|
|
140
|
+
await update(source, {
|
|
141
|
+
...options,
|
|
142
|
+
registryUrl: options.registry,
|
|
143
|
+
});
|
|
128
144
|
}
|
|
129
145
|
catch (err) {
|
|
130
146
|
console.error(err instanceof Error ? err.message : err);
|
|
@@ -197,5 +213,31 @@ program
|
|
|
197
213
|
process.exit(1);
|
|
198
214
|
}
|
|
199
215
|
});
|
|
216
|
+
program
|
|
217
|
+
.command('export <identifier>')
|
|
218
|
+
.description('Export a deployed formation source to a local directory')
|
|
219
|
+
.option('--output <dir>', 'Output directory (default: ./{formation-name})')
|
|
220
|
+
.option('--force', 'Overwrite existing output directory')
|
|
221
|
+
.action(async (identifier, options) => {
|
|
222
|
+
try {
|
|
223
|
+
await exportFormation(identifier, options);
|
|
224
|
+
}
|
|
225
|
+
catch (err) {
|
|
226
|
+
console.error(err instanceof Error ? err.message : err);
|
|
227
|
+
process.exit(1);
|
|
228
|
+
}
|
|
229
|
+
});
|
|
230
|
+
program
|
|
231
|
+
.command('lock <identifier>')
|
|
232
|
+
.description('Pin formation versions via ClawHub')
|
|
233
|
+
.action(async (identifier) => {
|
|
234
|
+
try {
|
|
235
|
+
await lock(identifier);
|
|
236
|
+
}
|
|
237
|
+
catch (err) {
|
|
238
|
+
console.error(err instanceof Error ? err.message : err);
|
|
239
|
+
process.exit(1);
|
|
240
|
+
}
|
|
241
|
+
});
|
|
200
242
|
program.parse();
|
|
201
243
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types/state.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/types/state.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACnC,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE;QACb,UAAU,EAAE,OAAO,CAAC;QACpB,UAAU,EAAE,OAAO,CAAC;KACrB,CAAC;IACF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/types/state.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACnC,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE;QACb,UAAU,EAAE,OAAO,CAAC;QACpB,UAAU,EAAE,OAAO,CAAC;KACrB,CAAC;IACF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7C,WAAW,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CACjD;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE;QACL,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC;QACpC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;CACH"}
|
package/dist/utils/tarball.d.ts
CHANGED
|
@@ -1,12 +1,25 @@
|
|
|
1
|
+
export interface ResolveOptions {
|
|
2
|
+
registryUrl?: string;
|
|
3
|
+
skipCache?: boolean;
|
|
4
|
+
}
|
|
5
|
+
export interface ResolvedFormation {
|
|
6
|
+
formationPath: string;
|
|
7
|
+
tempDir: string | null;
|
|
8
|
+
registryRef?: {
|
|
9
|
+
name: string;
|
|
10
|
+
version: string;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
1
13
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
14
|
+
* Resolve a formation source to a local directory path.
|
|
15
|
+
*
|
|
16
|
+
* Resolution order (local-first):
|
|
17
|
+
* 1. Tarball (.tar.gz, .tgz) → extract to temp dir
|
|
18
|
+
* 2. Local path exists → use as-is (local always wins)
|
|
19
|
+
* 3. Bare formation name → resolve from registry
|
|
20
|
+
* 4. Otherwise → treat as local path (fails naturally in manifest loader)
|
|
5
21
|
*
|
|
6
22
|
* Caller is responsible for cleaning up the temp directory if one was created.
|
|
7
23
|
*/
|
|
8
|
-
export declare function resolveFormationPath(inputPath: string): Promise<
|
|
9
|
-
formationPath: string;
|
|
10
|
-
tempDir: string | null;
|
|
11
|
-
}>;
|
|
24
|
+
export declare function resolveFormationPath(inputPath: string, options?: ResolveOptions): Promise<ResolvedFormation>;
|
|
12
25
|
//# sourceMappingURL=tarball.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tarball.d.ts","sourceRoot":"","sources":["../../src/utils/tarball.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tarball.d.ts","sourceRoot":"","sources":["../../src/utils/tarball.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CACjD;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,iBAAiB,CAAC,CA6B5B"}
|
package/dist/utils/tarball.js
CHANGED
|
@@ -1,23 +1,50 @@
|
|
|
1
1
|
import { mkdtemp } from 'node:fs/promises';
|
|
2
|
+
import { existsSync } from 'node:fs';
|
|
2
3
|
import { join } from 'node:path';
|
|
3
4
|
import { tmpdir } from 'node:os';
|
|
4
5
|
import { extract } from 'tar';
|
|
6
|
+
import { isBareFormationName, parseRegistryRef, resolveFromRegistry, } from '../core/registry.js';
|
|
5
7
|
/**
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
8
|
+
* Resolve a formation source to a local directory path.
|
|
9
|
+
*
|
|
10
|
+
* Resolution order (local-first):
|
|
11
|
+
* 1. Tarball (.tar.gz, .tgz) → extract to temp dir
|
|
12
|
+
* 2. Local path exists → use as-is (local always wins)
|
|
13
|
+
* 3. Bare formation name → resolve from registry
|
|
14
|
+
* 4. Otherwise → treat as local path (fails naturally in manifest loader)
|
|
9
15
|
*
|
|
10
16
|
* Caller is responsible for cleaning up the temp directory if one was created.
|
|
11
17
|
*/
|
|
12
|
-
export async function resolveFormationPath(inputPath) {
|
|
13
|
-
|
|
18
|
+
export async function resolveFormationPath(inputPath, options) {
|
|
19
|
+
// 1. Tarball?
|
|
20
|
+
if (isTarball(inputPath)) {
|
|
21
|
+
const tempDir = await mkdtemp(join(tmpdir(), 'reef-install-'));
|
|
22
|
+
await extract({ file: inputPath, cwd: tempDir });
|
|
23
|
+
return { formationPath: tempDir, tempDir };
|
|
24
|
+
}
|
|
25
|
+
// 2. Local path exists? (local always wins)
|
|
26
|
+
if (existsSync(inputPath)) {
|
|
14
27
|
return { formationPath: inputPath, tempDir: null };
|
|
15
28
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
29
|
+
// 3. Bare formation name? → resolve from registry
|
|
30
|
+
if (isBareFormationName(inputPath)) {
|
|
31
|
+
const { name, version } = parseRegistryRef(inputPath);
|
|
32
|
+
const result = await resolveFromRegistry(name, version, {
|
|
33
|
+
registryUrl: options?.registryUrl,
|
|
34
|
+
skipCache: options?.skipCache,
|
|
35
|
+
});
|
|
36
|
+
return {
|
|
37
|
+
formationPath: result.formationPath,
|
|
38
|
+
tempDir: result.tempDir,
|
|
39
|
+
registryRef: { name: result.name, version: result.version },
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
// 4. Fallthrough → treat as local path
|
|
43
|
+
return { formationPath: inputPath, tempDir: null };
|
|
19
44
|
}
|
|
20
45
|
function isTarball(path) {
|
|
21
|
-
return path.endsWith('.tar.gz') ||
|
|
46
|
+
return (path.endsWith('.tar.gz') ||
|
|
47
|
+
path.endsWith('.tgz') ||
|
|
48
|
+
path.endsWith('.reef.tar.gz'));
|
|
22
49
|
}
|
|
23
50
|
//# sourceMappingURL=tarball.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tarball.js","sourceRoot":"","sources":["../../src/utils/tarball.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"tarball.js","sourceRoot":"","sources":["../../src/utils/tarball.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAC9B,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAa7B;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,SAAiB,EACjB,OAAwB;IAExB,cAAc;IACd,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC;QAC/D,MAAM,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QACjD,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAC7C,CAAC;IAED,4CAA4C;IAC5C,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACrD,CAAC;IAED,kDAAkD;IAClD,IAAI,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE;YACtD,WAAW,EAAE,OAAO,EAAE,WAAW;YACjC,SAAS,EAAE,OAAO,EAAE,SAAS;SAC9B,CAAC,CAAC;QACH,OAAO;YACL,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE;SAC5D,CAAC;IACJ,CAAC;IAED,uCAAuC;IACvC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACrD,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAC9B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,OAAO,EAAE,MAAoB,CAAC"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAE9D,MAAM,CAAC,MAAM,OAAO,GAAW,GAAG,CAAC,OAAO,CAAC"}
|