@assemblyline-agents/cli 0.1.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/LICENSE +21 -0
- package/README.md +19 -0
- package/dist/add.d.ts +23 -0
- package/dist/add.d.ts.map +1 -0
- package/dist/add.js +352 -0
- package/dist/add.js.map +1 -0
- package/dist/args.d.ts +14 -0
- package/dist/args.d.ts.map +1 -0
- package/dist/args.js +95 -0
- package/dist/args.js.map +1 -0
- package/dist/auth.d.ts +8 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +74 -0
- package/dist/auth.js.map +1 -0
- package/dist/channels.d.ts +25 -0
- package/dist/channels.d.ts.map +1 -0
- package/dist/channels.js +76 -0
- package/dist/channels.js.map +1 -0
- package/dist/checkpoints.d.ts +3 -0
- package/dist/checkpoints.d.ts.map +1 -0
- package/dist/checkpoints.js +60 -0
- package/dist/checkpoints.js.map +1 -0
- package/dist/deploy-definition.d.ts +14 -0
- package/dist/deploy-definition.d.ts.map +1 -0
- package/dist/deploy-definition.js +92 -0
- package/dist/deploy-definition.js.map +1 -0
- package/dist/deploy-lifecycle.d.ts +17 -0
- package/dist/deploy-lifecycle.d.ts.map +1 -0
- package/dist/deploy-lifecycle.js +25 -0
- package/dist/deploy-lifecycle.js.map +1 -0
- package/dist/deploy.d.ts +20 -0
- package/dist/deploy.d.ts.map +1 -0
- package/dist/deploy.js +462 -0
- package/dist/deploy.js.map +1 -0
- package/dist/dev.d.ts +13 -0
- package/dist/dev.d.ts.map +1 -0
- package/dist/dev.js +157 -0
- package/dist/dev.js.map +1 -0
- package/dist/eval-assertions.d.ts +5 -0
- package/dist/eval-assertions.d.ts.map +1 -0
- package/dist/eval-assertions.js +99 -0
- package/dist/eval-assertions.js.map +1 -0
- package/dist/eval-case-runner.d.ts +38 -0
- package/dist/eval-case-runner.d.ts.map +1 -0
- package/dist/eval-case-runner.js +247 -0
- package/dist/eval-case-runner.js.map +1 -0
- package/dist/eval-cases.d.ts +6 -0
- package/dist/eval-cases.d.ts.map +1 -0
- package/dist/eval-cases.js +151 -0
- package/dist/eval-cases.js.map +1 -0
- package/dist/eval-comparison.d.ts +8 -0
- package/dist/eval-comparison.d.ts.map +1 -0
- package/dist/eval-comparison.js +90 -0
- package/dist/eval-comparison.js.map +1 -0
- package/dist/eval-custom.d.ts +15 -0
- package/dist/eval-custom.d.ts.map +1 -0
- package/dist/eval-custom.js +118 -0
- package/dist/eval-custom.js.map +1 -0
- package/dist/eval-experiment.d.ts +19 -0
- package/dist/eval-experiment.d.ts.map +1 -0
- package/dist/eval-experiment.js +122 -0
- package/dist/eval-experiment.js.map +1 -0
- package/dist/eval-fixtures.d.ts +17 -0
- package/dist/eval-fixtures.d.ts.map +1 -0
- package/dist/eval-fixtures.js +59 -0
- package/dist/eval-fixtures.js.map +1 -0
- package/dist/eval-gateway-host.d.ts +34 -0
- package/dist/eval-gateway-host.d.ts.map +1 -0
- package/dist/eval-gateway-host.js +127 -0
- package/dist/eval-gateway-host.js.map +1 -0
- package/dist/eval-judge.d.ts +35 -0
- package/dist/eval-judge.d.ts.map +1 -0
- package/dist/eval-judge.js +105 -0
- package/dist/eval-judge.js.map +1 -0
- package/dist/eval-mocks.d.ts +10 -0
- package/dist/eval-mocks.d.ts.map +1 -0
- package/dist/eval-mocks.js +57 -0
- package/dist/eval-mocks.js.map +1 -0
- package/dist/eval-report.d.ts +7 -0
- package/dist/eval-report.d.ts.map +1 -0
- package/dist/eval-report.js +89 -0
- package/dist/eval-report.js.map +1 -0
- package/dist/eval-retry.d.ts +10 -0
- package/dist/eval-retry.d.ts.map +1 -0
- package/dist/eval-retry.js +37 -0
- package/dist/eval-retry.js.map +1 -0
- package/dist/eval-trajectory.d.ts +7 -0
- package/dist/eval-trajectory.d.ts.map +1 -0
- package/dist/eval-trajectory.js +92 -0
- package/dist/eval-trajectory.js.map +1 -0
- package/dist/eval-turns.d.ts +66 -0
- package/dist/eval-turns.d.ts.map +1 -0
- package/dist/eval-turns.js +187 -0
- package/dist/eval-turns.js.map +1 -0
- package/dist/eval-types.d.ts +271 -0
- package/dist/eval-types.d.ts.map +1 -0
- package/dist/eval-types.js +4 -0
- package/dist/eval-types.js.map +1 -0
- package/dist/eval.d.ts +26 -0
- package/dist/eval.d.ts.map +1 -0
- package/dist/eval.js +218 -0
- package/dist/eval.js.map +1 -0
- package/dist/help.d.ts +12 -0
- package/dist/help.d.ts.map +1 -0
- package/dist/help.js +323 -0
- package/dist/help.js.map +1 -0
- package/dist/hosts.d.ts +3 -0
- package/dist/hosts.d.ts.map +1 -0
- package/dist/hosts.js +51 -0
- package/dist/hosts.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +318 -0
- package/dist/index.js.map +1 -0
- package/dist/init.d.ts +13 -0
- package/dist/init.d.ts.map +1 -0
- package/dist/init.js +79 -0
- package/dist/init.js.map +1 -0
- package/dist/legacy-bin.d.ts +3 -0
- package/dist/legacy-bin.d.ts.map +1 -0
- package/dist/legacy-bin.js +8 -0
- package/dist/legacy-bin.js.map +1 -0
- package/dist/models.d.ts +5 -0
- package/dist/models.d.ts.map +1 -0
- package/dist/models.js +20 -0
- package/dist/models.js.map +1 -0
- package/dist/operator-client.d.ts +7 -0
- package/dist/operator-client.d.ts.map +1 -0
- package/dist/operator-client.js +62 -0
- package/dist/operator-client.js.map +1 -0
- package/dist/pm.d.ts +20 -0
- package/dist/pm.d.ts.map +1 -0
- package/dist/pm.js +70 -0
- package/dist/pm.js.map +1 -0
- package/dist/project-env.d.ts +8 -0
- package/dist/project-env.d.ts.map +1 -0
- package/dist/project-env.js +51 -0
- package/dist/project-env.js.map +1 -0
- package/dist/secrets.d.ts +3 -0
- package/dist/secrets.d.ts.map +1 -0
- package/dist/secrets.js +48 -0
- package/dist/secrets.js.map +1 -0
- package/dist/state.d.ts +3 -0
- package/dist/state.d.ts.map +1 -0
- package/dist/state.js +85 -0
- package/dist/state.js.map +1 -0
- package/package.json +67 -0
package/dist/pm.js
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { existsSync } from "node:fs";
|
|
2
|
+
import { createRequire } from "node:module";
|
|
3
|
+
import { dirname, join } from "node:path";
|
|
4
|
+
import { pathToFileURL } from "node:url";
|
|
5
|
+
const LOCKFILES = [
|
|
6
|
+
["pnpm-lock.yaml", "pnpm"],
|
|
7
|
+
["yarn.lock", "yarn"],
|
|
8
|
+
["package-lock.json", "npm"]
|
|
9
|
+
];
|
|
10
|
+
/** Detects the package manager from lockfiles, walking up from the agent root and then the cwd. */
|
|
11
|
+
export function detectPackageManager(agentRoot, cwd = process.cwd()) {
|
|
12
|
+
for (const start of [agentRoot, cwd]) {
|
|
13
|
+
for (const dir of ancestorDirs(start)) {
|
|
14
|
+
for (const [lockfile, pm] of LOCKFILES) {
|
|
15
|
+
if (existsSync(join(dir, lockfile)))
|
|
16
|
+
return { pm, projectDir: dir };
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
for (const start of [agentRoot, cwd]) {
|
|
21
|
+
for (const dir of ancestorDirs(start)) {
|
|
22
|
+
if (existsSync(join(dir, "package.json")))
|
|
23
|
+
return { pm: "npm", projectDir: dir };
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return { pm: "npm" };
|
|
27
|
+
}
|
|
28
|
+
/** The literal install command for a plugin package, e.g. "pnpm add @assemblyline-agents/postgres". */
|
|
29
|
+
export function suggestInstallCommand(packageName, agentRoot) {
|
|
30
|
+
return `${detectPackageManager(agentRoot).pm} add ${packageName}`;
|
|
31
|
+
}
|
|
32
|
+
/** "Fix:" lines appended wherever the CLI surfaces a missing plugin package. */
|
|
33
|
+
export function installFixLines(packageName, agentRoot, registryKind) {
|
|
34
|
+
const lines = [` Fix: ${suggestInstallCommand(packageName, agentRoot)}`];
|
|
35
|
+
if (registryKind)
|
|
36
|
+
lines.push(` Or: assembly-line add ${registryKind} (installs and wires it in one step)`);
|
|
37
|
+
return lines;
|
|
38
|
+
}
|
|
39
|
+
/** True when the package resolves from any of the given directories (or the CLI itself). */
|
|
40
|
+
export function packageResolvableFrom(packageName, dirs) {
|
|
41
|
+
for (const dir of dirs) {
|
|
42
|
+
try {
|
|
43
|
+
createRequire(pathToFileURL(join(dir, "package.json")).href).resolve(packageName);
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
// keep trying
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
try {
|
|
51
|
+
createRequire(import.meta.url).resolve(packageName);
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
function ancestorDirs(start) {
|
|
59
|
+
const dirs = [];
|
|
60
|
+
let current = start;
|
|
61
|
+
for (;;) {
|
|
62
|
+
dirs.push(current);
|
|
63
|
+
const parent = dirname(current);
|
|
64
|
+
if (parent === current)
|
|
65
|
+
break;
|
|
66
|
+
current = parent;
|
|
67
|
+
}
|
|
68
|
+
return dirs;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=pm.js.map
|
package/dist/pm.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pm.js","sourceRoot":"","sources":["../src/pm.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Parse `KEY=VALUE` lines (quotes stripped, `#` comments ignored). */
|
|
2
|
+
export declare function parseEnvSecrets(text: string): Record<string, string>;
|
|
3
|
+
/**
|
|
4
|
+
* Load the project-root `.env` into a process-like environment. Existing
|
|
5
|
+
* variables win so explicit shell/host configuration remains authoritative.
|
|
6
|
+
*/
|
|
7
|
+
export declare function loadProjectEnv(projectRoot?: string, env?: Record<string, string | undefined>): string[];
|
|
8
|
+
//# sourceMappingURL=project-env.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-env.d.ts","sourceRoot":"","sources":["../src/project-env.ts"],"names":[],"mappings":"AAIA,uEAAuE;AACvE,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAmBpE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,WAAW,SAAgB,EAC3B,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,MAAM,EAAE,CAgBV"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
2
|
+
import { resolve } from "node:path";
|
|
3
|
+
import { mirrorEnvAliasesInPlace } from "@assemblyline-agents/core";
|
|
4
|
+
/** Parse `KEY=VALUE` lines (quotes stripped, `#` comments ignored). */
|
|
5
|
+
export function parseEnvSecrets(text) {
|
|
6
|
+
const out = {};
|
|
7
|
+
for (const rawLine of text.split("\n")) {
|
|
8
|
+
const line = rawLine.trim();
|
|
9
|
+
if (!line || line.startsWith("#"))
|
|
10
|
+
continue;
|
|
11
|
+
const assignment = line.startsWith("export ") ? line.slice("export ".length).trimStart() : line;
|
|
12
|
+
const eq = assignment.indexOf("=");
|
|
13
|
+
if (eq <= 0)
|
|
14
|
+
continue;
|
|
15
|
+
const key = assignment.slice(0, eq).trim();
|
|
16
|
+
if (!/^[A-Za-z_][A-Za-z0-9_]*$/u.test(key))
|
|
17
|
+
continue;
|
|
18
|
+
let value = assignment.slice(eq + 1).trim();
|
|
19
|
+
if ((value.startsWith('"') && value.endsWith('"')) || (value.startsWith("'") && value.endsWith("'"))) {
|
|
20
|
+
value = value.slice(1, -1);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
value = value.replace(/\s+#.*$/u, "").trim();
|
|
24
|
+
}
|
|
25
|
+
out[key] = value;
|
|
26
|
+
}
|
|
27
|
+
return out;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Load the project-root `.env` into a process-like environment. Existing
|
|
31
|
+
* variables win so explicit shell/host configuration remains authoritative.
|
|
32
|
+
*/
|
|
33
|
+
export function loadProjectEnv(projectRoot = process.cwd(), env = process.env) {
|
|
34
|
+
const path = resolve(projectRoot, ".env");
|
|
35
|
+
if (!existsSync(path)) {
|
|
36
|
+
mirrorEnvAliasesInPlace(env);
|
|
37
|
+
return [];
|
|
38
|
+
}
|
|
39
|
+
const loaded = [];
|
|
40
|
+
for (const [key, value] of Object.entries(parseEnvSecrets(readFileSync(path, "utf8")))) {
|
|
41
|
+
if (env[key] !== undefined)
|
|
42
|
+
continue;
|
|
43
|
+
env[key] = value;
|
|
44
|
+
loaded.push(key);
|
|
45
|
+
}
|
|
46
|
+
// Rename compatibility: expose every branded variable under both its
|
|
47
|
+
// ASSEMBLY_LINE_* and OPENEVE_* spellings after the .env merge.
|
|
48
|
+
mirrorEnvAliasesInPlace(env);
|
|
49
|
+
return loaded;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=project-env.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-env.js","sourceRoot":"","sources":["../src/project-env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,uEAAuE;AACvE,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAChG,MAAM,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,EAAE,IAAI,CAAC;YAAE,SAAS;QACtB,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3C,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,SAAS;QACrD,IAAI,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACrG,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/C,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACnB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,EAC3B,MAA0C,OAAO,CAAC,GAAG;IAErD,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,uBAAuB,CAAC,GAAG,CAAC,CAAC;QAC7B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACvF,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS;YAAE,SAAS;QACrC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACjB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IACD,qEAAqE;IACrE,gEAAgE;IAChE,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../src/secrets.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAG5C,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAuC5F"}
|
package/dist/secrets.js
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { fileURLToPath } from "node:url";
|
|
2
|
+
import { compileAgent, planDeployment } from "@assemblyline-agents/compiler";
|
|
3
|
+
import { resolveProvider } from "@assemblyline-agents/node";
|
|
4
|
+
import { resolveDeployDefinition, resolveDeployEnvironment } from "./deploy-definition.js";
|
|
5
|
+
export async function runSecretsCommand(agentRoot, parsed) {
|
|
6
|
+
const subcommand = parsed.positional[0];
|
|
7
|
+
if (subcommand !== "diff")
|
|
8
|
+
throw new Error("Usage: assembly-line secrets diff <agentRoot> [--target vps] [--env <name>]");
|
|
9
|
+
const manifest = compileAgent({ root: agentRoot });
|
|
10
|
+
const target = typeof parsed.flags.target === "string" ? parsed.flags.target : manifest.gateway.deploy?.kind;
|
|
11
|
+
const plan = planDeployment(manifest, {
|
|
12
|
+
...(target ? { target } : {}),
|
|
13
|
+
environment: resolveDeployEnvironment(manifest, parsed),
|
|
14
|
+
dryRun: false
|
|
15
|
+
});
|
|
16
|
+
const definition = resolveDeployDefinition(manifest, plan.target, parsed);
|
|
17
|
+
const artifact = { root: agentRoot, manifest };
|
|
18
|
+
const publisher = await resolveProvider("deploy", definition, {
|
|
19
|
+
env: process.env,
|
|
20
|
+
fetch,
|
|
21
|
+
manifest,
|
|
22
|
+
artifactRoot: agentRoot,
|
|
23
|
+
providerRoot: fileURLToPath(new URL("..", import.meta.url)),
|
|
24
|
+
devMode: false
|
|
25
|
+
});
|
|
26
|
+
if (!publisher.inspectSecrets)
|
|
27
|
+
throw new Error(`Deploy target ${plan.target} does not support secret inventory.`);
|
|
28
|
+
const remote = new Set(await publisher.inspectSecrets(artifact, plan));
|
|
29
|
+
const required = plan.requirements
|
|
30
|
+
.filter((requirement) => requirement.kind === "env" && requirement.adapter !== plan.target)
|
|
31
|
+
.map((requirement) => requirement.name)
|
|
32
|
+
.sort();
|
|
33
|
+
const missingRemote = required.filter((name) => !remote.has(name));
|
|
34
|
+
const extraRemote = [...remote].filter((name) => !required.includes(name)).sort();
|
|
35
|
+
const missingLocal = required.filter((name) => !process.env[name]);
|
|
36
|
+
console.log(JSON.stringify({
|
|
37
|
+
target: plan.target,
|
|
38
|
+
required,
|
|
39
|
+
configuredRemote: [...remote].sort(),
|
|
40
|
+
missingRemote,
|
|
41
|
+
missingLocal,
|
|
42
|
+
extraRemote,
|
|
43
|
+
valuesExposed: false
|
|
44
|
+
}, null, 2));
|
|
45
|
+
if (missingRemote.length > 0)
|
|
46
|
+
process.exitCode = 2;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=secrets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secrets.js","sourceRoot":"","sources":["../src/secrets.ts"],"names":[],"mappings":"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"}
|
package/dist/state.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAcA,OAAO,EAA2B,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAKrE,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAoE1F"}
|
package/dist/state.js
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { compileAgent } from "@assemblyline-agents/compiler";
|
|
2
|
+
import { ARTIFACT_DIR_NAME, resolveArtifactDirName } from "@assemblyline-agents/core";
|
|
3
|
+
import { existsSync } from "node:fs";
|
|
4
|
+
import { join } from "node:path";
|
|
5
|
+
import { createSshTransport, hostPostgresUpgradeScript, resolveVpsDeployOptions, resolveVpsHost, transferPostgresToVps, vpsDeploymentNames, ROOT_SCRIPT, assertCommand } from "@assemblyline-agents/vps";
|
|
6
|
+
import { booleanFlag, stringFlag } from "./args.js";
|
|
7
|
+
import { resolveDeployDefinition, resolveDeployEnvironment } from "./deploy-definition.js";
|
|
8
|
+
import { writeJson } from "./deploy.js";
|
|
9
|
+
import { dirname, resolve } from "node:path";
|
|
10
|
+
export async function runStateCommand(agentRoot, parsed) {
|
|
11
|
+
const subcommand = parsed.positional[0];
|
|
12
|
+
if (subcommand !== "migrate-postgres" && subcommand !== "upgrade-postgres") {
|
|
13
|
+
throw new Error(`Unknown state subcommand: ${subcommand ?? "(none)"}. Usage: assembly-line state migrate-postgres|upgrade-postgres <agentRoot> ...`);
|
|
14
|
+
}
|
|
15
|
+
const manifest = compileAgent({ root: agentRoot });
|
|
16
|
+
const definition = resolveDeployDefinition(manifest, "vps", parsed);
|
|
17
|
+
const deploy = resolveVpsDeployOptions(definition.options ?? {}, process.cwd());
|
|
18
|
+
if (deploy.database.mode !== "host")
|
|
19
|
+
throw new Error("Postgres transfer requires VPS database.mode to be host.");
|
|
20
|
+
const host = resolveVpsHost({
|
|
21
|
+
host: deploy.host,
|
|
22
|
+
agentRoot,
|
|
23
|
+
cwd: deploy.cwd,
|
|
24
|
+
...(deploy.hostsFile ? { hostsFile: deploy.hostsFile } : {}),
|
|
25
|
+
env: process.env
|
|
26
|
+
});
|
|
27
|
+
const transport = createSshTransport(host);
|
|
28
|
+
if (subcommand === "upgrade-postgres") {
|
|
29
|
+
if (!booleanFlag(parsed, "confirm-upgrade")) {
|
|
30
|
+
throw new Error("Postgres cluster upgrade requires --confirm-upgrade after reviewing the logical backup, rollback-volume, and downtime plan.");
|
|
31
|
+
}
|
|
32
|
+
const result = await transport.runScript(ROOT_SCRIPT + hostPostgresUpgradeScript({ postgresImage: deploy.postgresImage }), [], { silent: true });
|
|
33
|
+
assertCommand(result, "upgrading host Postgres");
|
|
34
|
+
const receipt = {
|
|
35
|
+
target: "vps",
|
|
36
|
+
operation: "upgrade-postgres",
|
|
37
|
+
host: host.ref,
|
|
38
|
+
image: deploy.postgresImage,
|
|
39
|
+
result: result.stdout.trim(),
|
|
40
|
+
completedAt: new Date().toISOString()
|
|
41
|
+
};
|
|
42
|
+
writeJson(resolve(dirname(agentRoot), artifactDirName(agentRoot), "postgres-upgrade.json"), receipt);
|
|
43
|
+
console.log(JSON.stringify(receipt, null, 2));
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
const sourceEnv = stringFlag(parsed, "source-url-env") ?? "DATABASE_URL";
|
|
47
|
+
if (!/^[A-Z_][A-Z0-9_]*$/u.test(sourceEnv)) {
|
|
48
|
+
throw new Error("--source-url-env must be an uppercase environment variable name.");
|
|
49
|
+
}
|
|
50
|
+
const sourceUrl = process.env[sourceEnv];
|
|
51
|
+
if (!sourceUrl)
|
|
52
|
+
throw new Error(`Source Postgres URL environment variable ${sourceEnv} is not set.`);
|
|
53
|
+
const agentId = manifest.agent.id;
|
|
54
|
+
if (!agentId)
|
|
55
|
+
throw new Error("Postgres transfer requires a stable agent.id.");
|
|
56
|
+
const environment = resolveDeployEnvironment(manifest, parsed);
|
|
57
|
+
const dockerBin = stringFlag(parsed, "docker-bin");
|
|
58
|
+
const names = vpsDeploymentNames({
|
|
59
|
+
agentId,
|
|
60
|
+
environment,
|
|
61
|
+
hostRef: host.ref,
|
|
62
|
+
revision: manifest.agentRevision,
|
|
63
|
+
domain: deploy.domain
|
|
64
|
+
});
|
|
65
|
+
const receipt = await transferPostgresToVps({
|
|
66
|
+
sourceUrl,
|
|
67
|
+
sourceLabel: sourceEnv,
|
|
68
|
+
postgresImage: deploy.postgresImage,
|
|
69
|
+
names,
|
|
70
|
+
transport,
|
|
71
|
+
sourceQuiesced: booleanFlag(parsed, "source-quiesced"),
|
|
72
|
+
replaceTarget: booleanFlag(parsed, "replace-target"),
|
|
73
|
+
...(dockerBin ? { dockerBin } : {})
|
|
74
|
+
});
|
|
75
|
+
writeJson(resolve(dirname(agentRoot), artifactDirName(agentRoot), "postgres-transfer.json"), receipt);
|
|
76
|
+
console.log(JSON.stringify(receipt, null, 2));
|
|
77
|
+
}
|
|
78
|
+
/** Sibling artifact dir name for receipts, dual-reading both spellings. */
|
|
79
|
+
function artifactDirName(agentRoot) {
|
|
80
|
+
return resolveArtifactDirName(dirname(resolve(agentRoot)), {
|
|
81
|
+
exists: (parentDir, name) => existsSync(join(parentDir, name)),
|
|
82
|
+
defaultName: ARTIFACT_DIR_NAME
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@assemblyline-agents/cli",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"bin": {
|
|
6
|
+
"assembly-line": "./dist/index.js",
|
|
7
|
+
"openeve": "./dist/legacy-bin.js"
|
|
8
|
+
},
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"default": "./dist/index.js"
|
|
13
|
+
},
|
|
14
|
+
"./eval": {
|
|
15
|
+
"types": "./dist/eval.d.ts",
|
|
16
|
+
"default": "./dist/eval.js"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"dependencies": {
|
|
20
|
+
"esbuild": "^0.28.1",
|
|
21
|
+
"@assemblyline-agents/docker": "0.1.0",
|
|
22
|
+
"@assemblyline-agents/node": "0.1.0",
|
|
23
|
+
"@assemblyline-agents/pi": "0.1.0",
|
|
24
|
+
"@assemblyline-agents/compiler": "0.1.0",
|
|
25
|
+
"@assemblyline-agents/runtime": "0.1.0",
|
|
26
|
+
"@assemblyline-agents/core": "0.1.0",
|
|
27
|
+
"@assemblyline-agents/fly": "0.1.0",
|
|
28
|
+
"@assemblyline-agents/railway": "0.1.0",
|
|
29
|
+
"@assemblyline-agents/vps": "0.1.0"
|
|
30
|
+
},
|
|
31
|
+
"description": "Vendor-neutral, filesystem-first framework for durable AI agents.",
|
|
32
|
+
"files": [
|
|
33
|
+
"dist"
|
|
34
|
+
],
|
|
35
|
+
"engines": {
|
|
36
|
+
"node": ">=22.19.0"
|
|
37
|
+
},
|
|
38
|
+
"license": "MIT",
|
|
39
|
+
"repository": {
|
|
40
|
+
"type": "git",
|
|
41
|
+
"url": "git+https://github.com/jasonbadeaux/openeve.git",
|
|
42
|
+
"directory": "packages/cli"
|
|
43
|
+
},
|
|
44
|
+
"bugs": {
|
|
45
|
+
"url": "https://github.com/jasonbadeaux/openeve/issues"
|
|
46
|
+
},
|
|
47
|
+
"homepage": "https://github.com/jasonbadeaux/openeve#readme",
|
|
48
|
+
"author": "OpenEve contributors",
|
|
49
|
+
"keywords": [
|
|
50
|
+
"openeve",
|
|
51
|
+
"ai",
|
|
52
|
+
"agents",
|
|
53
|
+
"cli",
|
|
54
|
+
"framework",
|
|
55
|
+
"durable-agents",
|
|
56
|
+
"scaffolding"
|
|
57
|
+
],
|
|
58
|
+
"publishConfig": {
|
|
59
|
+
"access": "public"
|
|
60
|
+
},
|
|
61
|
+
"scripts": {
|
|
62
|
+
"build": "tsc -p tsconfig.json",
|
|
63
|
+
"check": "tsc -p tsconfig.json --noEmit",
|
|
64
|
+
"dev": "node dist/index.js dev",
|
|
65
|
+
"validate": "node dist/index.js validate"
|
|
66
|
+
}
|
|
67
|
+
}
|