@songsid/agend 2.3.5-alpha.3 → 2.3.5-alpha.4
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/dist/agent-runtime-api.d.ts +4 -0
- package/dist/agent-runtime-api.js +59 -0
- package/dist/agent-runtime-api.js.map +1 -0
- package/dist/agent-runtime-change.d.ts +74 -0
- package/dist/agent-runtime-change.js +102 -0
- package/dist/agent-runtime-change.js.map +1 -0
- package/dist/auth-api.js +4 -0
- package/dist/auth-api.js.map +1 -1
- package/dist/backend/codex-footer-hints.d.ts +4 -0
- package/dist/backend/codex-footer-hints.js +27 -0
- package/dist/backend/codex-footer-hints.js.map +1 -0
- package/dist/backend/codex.js +8 -10
- package/dist/backend/codex.js.map +1 -1
- package/dist/fleet-manager.d.ts +3 -0
- package/dist/fleet-manager.js +157 -1
- package/dist/fleet-manager.js.map +1 -1
- package/dist/fleet-windows-runtime.d.ts +6 -1
- package/dist/fleet-windows-runtime.js +70 -1
- package/dist/fleet-windows-runtime.js.map +1 -1
- package/dist/office-share-page.js +1 -1
- package/dist/office-share-page.js.map +1 -1
- package/dist/public-web-link.d.ts +6 -0
- package/dist/public-web-link.js +9 -0
- package/dist/public-web-link.js.map +1 -1
- package/dist/runtime-api.js +84 -9
- package/dist/runtime-api.js.map +1 -1
- package/dist/runtime-build-info.d.ts +9 -0
- package/dist/runtime-build-info.js +57 -0
- package/dist/runtime-build-info.js.map +1 -0
- package/dist/runtime-bundle.d.ts +3 -1
- package/dist/runtime-bundle.js +14 -8
- package/dist/runtime-bundle.js.map +1 -1
- package/dist/runtime-cli.d.ts +6 -1
- package/dist/runtime-cli.js +46 -11
- package/dist/runtime-cli.js.map +1 -1
- package/dist/runtime-client-store.d.ts +20 -1
- package/dist/runtime-client-store.js +56 -4
- package/dist/runtime-client-store.js.map +1 -1
- package/dist/runtime-client.d.ts +12 -0
- package/dist/runtime-client.js +43 -7
- package/dist/runtime-client.js.map +1 -1
- package/dist/runtime-connection.d.ts +22 -0
- package/dist/runtime-connection.js +93 -0
- package/dist/runtime-connection.js.map +1 -0
- package/dist/runtime-coordinator.d.ts +9 -0
- package/dist/runtime-coordinator.js +81 -34
- package/dist/runtime-coordinator.js.map +1 -1
- package/dist/runtime-pane-boot.d.ts +7 -0
- package/dist/runtime-pane-boot.js +23 -0
- package/dist/runtime-pane-boot.js.map +1 -1
- package/dist/runtime-protocol.d.ts +13 -0
- package/dist/runtime-protocol.js +18 -0
- package/dist/runtime-protocol.js.map +1 -1
- package/dist/settings-effect.js +1 -1
- package/dist/settings-effect.js.map +1 -1
- package/dist/settings-http-confirmation.d.ts +3 -0
- package/dist/settings-http-confirmation.js +16 -1
- package/dist/settings-http-confirmation.js.map +1 -1
- package/dist/ui/agent-runtime-settings.js +67 -0
- package/dist/ui/agent-runtime.js +20 -2
- package/dist/ui/backend-signin.js +36 -21
- package/dist/ui/native-instance-settings.js +5 -8
- package/dist/ui/panel-chat.js +3 -2
- package/dist/ui/panel-fleet.js +4 -2
- package/dist/ui/panel-runtimes.js +136 -33
- package/dist/ui/panel-settings.js +224 -139
- package/dist/ui/panel-windows-cli.js +77 -41
- package/dist/ui/settings-agent-filters.js +94 -0
- package/dist/ui/settings-appearance.js +122 -23
- package/dist/ui/settings-dialogs.js +5 -5
- package/dist/ui/settings-guests.js +25 -11
- package/dist/ui/settings-layout.js +245 -0
- package/dist/ui/settings-model.js +8 -0
- package/dist/ui/settings-registry.js +5 -3
- package/dist/ui/settings-shortcuts.js +65 -0
- package/dist/ui/settings-strings.js +93 -0
- package/dist/ui/settings-web-authority.js +14 -11
- package/dist/ui/shared/app-shell.js +17 -7
- package/dist/ui/shared/app.css +1022 -12
- package/dist/ui/shared/instance-nav.js +3 -2
- package/dist/ui/shared/machine-name.js +13 -0
- package/dist/ui/shared/settings-width.js +31 -0
- package/dist/ui/shared/tokens.css +1 -0
- package/dist/ui/shared/ui-dialog.js +2 -2
- package/dist/ui/shared/ui-menu.js +3 -3
- package/dist/ui/windows-cli-catalog.js +41 -12
- package/dist/web-api.d.ts +1 -0
- package/dist/web-api.js +3 -0
- package/dist/web-api.js.map +1 -1
- package/dist/windows-agents.d.ts +3 -1
- package/dist/windows-agents.js +13 -10
- package/dist/windows-agents.js.map +1 -1
- package/dist/windows-cli-api.js +2 -1
- package/dist/windows-cli-api.js.map +1 -1
- package/dist/windows-cli-worker.d.ts +1 -0
- package/dist/windows-cli-worker.js +2 -2
- package/dist/windows-cli-worker.js.map +1 -1
- package/dist/windows-cli.d.ts +1 -0
- package/dist/windows-cli.js +7 -2
- package/dist/windows-cli.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-build-info.js","sourceRoot":"","sources":["../src/runtime-build-info.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime-bundle.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export
|
|
1
|
+
export { RUNTIME_BUNDLE_MODULES } from "./runtime-build-info.js";
|
|
2
2
|
export interface RuntimeBundleOptions {
|
|
3
3
|
/** Explicit locations make packaging tests independent of the repository's generated dist folder. */
|
|
4
4
|
moduleDirectory?: string;
|
|
@@ -7,6 +7,8 @@ export interface RuntimeBundleOptions {
|
|
|
7
7
|
licensePath?: string;
|
|
8
8
|
/** Fixed code assets prepared during the package build, not CLI installations or user profiles. */
|
|
9
9
|
paneAssetDirectory?: string;
|
|
10
|
+
/** Explicit administrator-selected origin. Never inferred from a request Host header. */
|
|
11
|
+
serverOrigin?: string;
|
|
10
12
|
}
|
|
11
13
|
export interface RuntimeBundle {
|
|
12
14
|
bytes: Buffer;
|
package/dist/runtime-bundle.js
CHANGED
|
@@ -5,11 +5,10 @@ import { createRequire } from "node:module";
|
|
|
5
5
|
import { dirname, join } from "node:path";
|
|
6
6
|
import { fileURLToPath } from "node:url";
|
|
7
7
|
import { GENERAL_KNOWLEDGE_FILES } from "./general-role.js";
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
]);
|
|
8
|
+
import { RUNTIME_PANE_ASSETS, PANE_NATIVE_SHA256 } from "./runtime-pane-assets.js";
|
|
9
|
+
import { RUNTIME_BUNDLE_MODULES, runtimeCodeBuildId } from "./runtime-build-info.js";
|
|
10
|
+
import { RUNTIME_CONNECT_BAT, RUNTIME_SERVER_FILE, runtimeServerOrigin } from "./runtime-connection.js";
|
|
11
|
+
export { RUNTIME_BUNDLE_MODULES } from "./runtime-build-info.js";
|
|
13
12
|
const WS_FILES = Object.freeze([
|
|
14
13
|
"package.json", "index.js", "wrapper.mjs", "browser.js", "LICENSE",
|
|
15
14
|
"lib/buffer-util.js", "lib/constants.js", "lib/event-target.js", "lib/extension.js", "lib/limiter.js",
|
|
@@ -24,15 +23,17 @@ const README = `AgEnD native Windows runtime preview
|
|
|
24
23
|
|
|
25
24
|
Requires a supported Windows Node.js version and each coding CLI installed and signed in under this Windows user.
|
|
26
25
|
|
|
27
|
-
1. Extract this folder on the Windows computer. No npm install or Linux native packages are needed.
|
|
26
|
+
1. Extract this folder on the Windows computer. No npm install or Linux native packages are needed. If agend-server.json is included, double-click connect-agend.bat; it uses that AgEnD address and asks for a pairing code only for a new profile.
|
|
28
27
|
2. In a Windows terminal run:
|
|
29
28
|
.\\agend-runtime.cmd connect --server https://your-agend-host
|
|
30
29
|
3. Enter the one-time code from AgEnD Settings, compare the pairing fingerprint on both screens, then approve the pending machine there.
|
|
31
30
|
4. In Settings -> Runtime, press Refresh CLI inventory for this computer. Only this explicit detection starts the installed CLIs; connecting or opening a page does not.
|
|
32
|
-
5. Keep this terminal running. Ctrl+C stops it; .\\agend-runtime.cmd run reconnects the stored profile.
|
|
31
|
+
5. Keep this terminal running. Ctrl+C stops it; .\\agend-runtime.cmd run reconnects the stored profile. If AgEnD ends the connection (the computer was revoked or is not recognised, another Runtime took over the same pairing, or a message was rejected), the window stays open and explains the reason and next step. If it says this profile still holds jobs from a different AgEnD server, delete jobs.json in the profile folder (after checking no CLI it started is still running) or disconnect and pair again. If pairing itself reports an unfinished job from another pairing, delete jobs.json the same way and pair again.
|
|
33
32
|
|
|
34
33
|
Stop the runtime before using rotate to replace its machine credential without pairing again, then use run to reconnect. A saved interrupted rotation is completed before run connects.
|
|
34
|
+
Use --version to inspect the installed Runtime version, code Build ID and supported protocol.
|
|
35
35
|
Use status to inspect local pairing and journal state. disconnect forgets a stopped local connection; revoke the machine in AgEnD Settings to invalidate its credential centrally.
|
|
36
|
+
Using one computer with more than one AgEnD server: connect-agend.bat keeps the existing pairing and, when this folder's server differs from the default profile's, pairs a separate profile under %USERPROFILE%\\.agend-runtime\\profiles\\<host>-<port>. The same bat and run/status/rotate/disconnect run from this folder find it again. Use --profile DIRECTORY (or AGEND_RUNTIME_HOME) to choose a profile yourself; that always wins. After connecting with --profile, pass the same --profile to run, status, rotate and disconnect.
|
|
36
37
|
The private profile defaults to %USERPROFILE%\\.agend-runtime. Its machine credential is stored as a private file, not encrypted by this preview. Use your Windows user profile and do not share it. CLI login credentials are never uploaded.
|
|
37
38
|
Do not install this preview as SYSTEM: it uses the logged-in user's CLI login, PATH, workspaces and devices.
|
|
38
39
|
Only loopback origins may use HTTP; remote servers require HTTPS and valid TLS.
|
|
@@ -99,6 +100,7 @@ function zip(files) {
|
|
|
99
100
|
}
|
|
100
101
|
/** Reads only installed program assets. Runtime profiles, CLI logins and user workspaces are never enumerated. */
|
|
101
102
|
export function createRuntimeBundle(options = {}) {
|
|
103
|
+
const serverOrigin = options.serverOrigin === undefined ? undefined : runtimeServerOrigin(options.serverOrigin);
|
|
102
104
|
const moduleDirectory = options.moduleDirectory ?? dirname(fileURLToPath(import.meta.url));
|
|
103
105
|
const packageDirectory = dirname(moduleDirectory);
|
|
104
106
|
const version = options.packageVersion ?? JSON.parse(readCodeFile(join(packageDirectory, "package.json")).toString("utf8")).version;
|
|
@@ -141,7 +143,11 @@ export function createRuntimeBundle(options = {}) {
|
|
|
141
143
|
bin: { "agend-runtime": "./dist/runtime-cli.js" }, engines: { node: "^22.14.0 || ^23.6.0 || >=24" }, dependencies: { ws: ws.version, ...Object.fromEntries(RUNTIME_PANE_ASSETS.map(pkg => [pkg.name, pkg.version])) } }, null, 2) + "\n"));
|
|
142
144
|
add("agend-runtime.cmd", Buffer.from(CMD));
|
|
143
145
|
add("README.txt", Buffer.from(README));
|
|
144
|
-
add("
|
|
146
|
+
add("connect-agend.bat", Buffer.from(RUNTIME_CONNECT_BAT));
|
|
147
|
+
if (serverOrigin)
|
|
148
|
+
add(RUNTIME_SERVER_FILE, Buffer.from(JSON.stringify({ server: serverOrigin }, null, 2) + "\n"));
|
|
149
|
+
const buildId = runtimeCodeBuildId(version, RUNTIME_BUNDLE_MODULES.map(name => [name, entries.find(([path]) => path === `dist/${name}`)[1]]));
|
|
150
|
+
add("bundle-manifest.json", Buffer.from(JSON.stringify({ version, buildId, modules: RUNTIME_BUNDLE_MODULES, ws: ws.version,
|
|
145
151
|
nativeDependencies: [{ name: "node-pty", version: "1.1.0", platforms: ["win32-x64", "win32-arm64"], backend: "ConPTY" }],
|
|
146
152
|
sha256: Object.fromEntries(entries.map(([name, bytes]) => [name, createHash("sha256").update(bytes).digest("hex")])) }, null, 2) + "\n"));
|
|
147
153
|
const bytes = zip(entries);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-bundle.js","sourceRoot":"","sources":["../src/runtime-bundle.ts"],"names":[],"mappings":"AAAA,mGAAmG;AACnG,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"runtime-bundle.js","sourceRoot":"","sources":["../src/runtime-bundle.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime-cli.d.ts
CHANGED
|
@@ -1,2 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
export
|
|
2
|
+
export interface RuntimeMainOptions {
|
|
3
|
+
programDirectory?: string;
|
|
4
|
+
home?: string;
|
|
5
|
+
env?: NodeJS.ProcessEnv;
|
|
6
|
+
}
|
|
7
|
+
export declare function runtimeMain(argv?: string[], options?: RuntimeMainOptions): Promise<void>;
|
package/dist/runtime-cli.js
CHANGED
|
@@ -4,10 +4,14 @@ import { homedir, hostname } from "node:os";
|
|
|
4
4
|
import { join, resolve } from "node:path";
|
|
5
5
|
import { fileURLToPath } from "node:url";
|
|
6
6
|
import { createInterface } from "node:readline/promises";
|
|
7
|
-
import { RuntimeClient, pairRuntime, rotateRuntimeCredentials } from "./runtime-client.js";
|
|
7
|
+
import { RuntimeClient, describeRuntimeStop, pairRuntime, rotateRuntimeCredentials } from "./runtime-client.js";
|
|
8
8
|
import { RuntimeClientStore, validateRuntimeServer } from "./runtime-client-store.js";
|
|
9
|
+
import { readRuntimeInfo } from "./runtime-build-info.js";
|
|
10
|
+
import { readPaneSystemBootId, reusedRuntimeLockPid } from "./runtime-pane-boot.js";
|
|
11
|
+
import { chooseRuntimeProfile, readBundledRuntimeServer, resolveRuntimeServer, runtimeServerProfile } from "./runtime-connection.js";
|
|
9
12
|
const HELP = `AgEnD native Windows runtime
|
|
10
13
|
|
|
14
|
+
agend-runtime --version
|
|
11
15
|
agend-runtime connect --server https://agend.example.com [--name NAME] [--profile DIRECTORY]
|
|
12
16
|
agend-runtime run [--profile DIRECTORY]
|
|
13
17
|
agend-runtime status [--profile DIRECTORY]
|
|
@@ -15,13 +19,26 @@ const HELP = `AgEnD native Windows runtime
|
|
|
15
19
|
agend-runtime disconnect [--profile DIRECTORY]
|
|
16
20
|
|
|
17
21
|
connect asks for a one-time pairing code, waits for approval in AgEnD, then runs in the foreground.
|
|
22
|
+
Connection-ready downloads include the server address; double-click connect-agend.bat to connect or reconnect.
|
|
18
23
|
run reconnects an existing profile. Press Ctrl+C to stop. disconnect forgets a stopped local profile;
|
|
19
24
|
revoke the machine in AgEnD Settings to invalidate its credential centrally.
|
|
20
25
|
rotate replaces a stopped profile's machine credential without pairing again. Stop run/connect first.
|
|
21
26
|
HTTP is accepted only for loopback, for example an SSH-forwarded localhost endpoint.
|
|
22
27
|
CLI login, workspaces and devices stay on this computer. No CLI login data is uploaded.
|
|
23
28
|
`;
|
|
24
|
-
|
|
29
|
+
/** Same lock proof as run: a Windows restart's boot id and a reused PID must not leave a stale lock that blocks disconnect or rotate. */
|
|
30
|
+
async function lockProfile(store, name) {
|
|
31
|
+
if (process.platform !== "win32")
|
|
32
|
+
return store.lock(name);
|
|
33
|
+
const systemBootId = await readPaneSystemBootId();
|
|
34
|
+
return store.lock(name, systemBootId, await reusedRuntimeLockPid(store.lockHolder()));
|
|
35
|
+
}
|
|
36
|
+
export async function runtimeMain(argv = process.argv.slice(2), options = {}) {
|
|
37
|
+
const env = options.env ?? process.env, home = options.home ?? homedir();
|
|
38
|
+
if (argv.length === 1 && argv[0] === "--version") {
|
|
39
|
+
process.stdout.write(`${JSON.stringify(readRuntimeInfo(), null, 2)}\n`);
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
25
42
|
if (!argv.length || argv.includes("--help") || argv[0] === "help") {
|
|
26
43
|
process.stdout.write(HELP);
|
|
27
44
|
return;
|
|
@@ -38,15 +55,30 @@ export async function runtimeMain(argv = process.argv.slice(2)) {
|
|
|
38
55
|
}
|
|
39
56
|
if (command !== "connect" && (flags["--server"] || flags["--name"]))
|
|
40
57
|
throw new Error("--server and --name are used only by connect");
|
|
41
|
-
const
|
|
58
|
+
const explicitProfile = flags["--profile"] || env.AGEND_RUNTIME_HOME;
|
|
59
|
+
const defaultProfile = resolve(join(home, ".agend-runtime"));
|
|
60
|
+
let bundledServer;
|
|
61
|
+
// Only connect needs a valid bundled address; run/status/rotate/disconnect just use it to find the same profile.
|
|
62
|
+
if (!flags["--server"]) {
|
|
63
|
+
try {
|
|
64
|
+
bundledServer = readBundledRuntimeServer(options.programDirectory);
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
if (command === "connect")
|
|
68
|
+
throw error;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
// Without an explicit profile, a bundled server that differs from the default profile's pairing gets its own profile under it.
|
|
72
|
+
const choice = explicitProfile ? undefined : chooseRuntimeProfile(defaultProfile, bundledServer, command === "connect");
|
|
73
|
+
const store = new RuntimeClientStore(resolve(explicitProfile || choice.directory));
|
|
42
74
|
if (command === "status") {
|
|
43
75
|
const credentials = store.credentials();
|
|
44
|
-
process.stdout.write(`${JSON.stringify({ paired: !!credentials, ...(credentials ? { server: credentials.server, machineId: credentials.machineId, name: credentials.name } : {}),
|
|
76
|
+
process.stdout.write(`${JSON.stringify({ runtimeInfo: readRuntimeInfo(), profile: store.directory, paired: !!credentials, ...(credentials ? { server: credentials.server, machineId: credentials.machineId, name: credentials.name } : {}),
|
|
45
77
|
rotationPending: !!credentials?.pendingCredential, blocked: store.blocked(), jobs: store.list().map(job => ({ id: job.task.id, seq: job.seq, status: job.task.status, uncertain: job.uncertain })) }, null, 2)}\n`);
|
|
46
78
|
return;
|
|
47
79
|
}
|
|
48
80
|
if (command === "disconnect") {
|
|
49
|
-
const unlock = store
|
|
81
|
+
const unlock = await lockProfile(store, "disconnect");
|
|
50
82
|
try {
|
|
51
83
|
store.forgetCredentials();
|
|
52
84
|
process.stdout.write("Local connection forgotten. Revoke the machine in AgEnD Settings to invalidate its credential centrally.\n");
|
|
@@ -57,7 +89,7 @@ export async function runtimeMain(argv = process.argv.slice(2)) {
|
|
|
57
89
|
return;
|
|
58
90
|
}
|
|
59
91
|
if (command === "rotate") {
|
|
60
|
-
const unlock = store
|
|
92
|
+
const unlock = await lockProfile(store, "rotate");
|
|
61
93
|
try {
|
|
62
94
|
await rotateRuntimeCredentials({ store });
|
|
63
95
|
process.stdout.write("Runtime machine credential rotated. Run agend-runtime run to reconnect; no pairing is needed.\n");
|
|
@@ -70,12 +102,12 @@ export async function runtimeMain(argv = process.argv.slice(2)) {
|
|
|
70
102
|
if (process.platform !== "win32")
|
|
71
103
|
throw new Error("This runtime preview must run with native Windows Node, under the Windows user whose CLIs it uses.");
|
|
72
104
|
if (command === "connect") {
|
|
73
|
-
if (!flags["--server"])
|
|
74
|
-
throw new Error("connect requires --server with the AgEnD HTTPS origin");
|
|
75
|
-
const server = validateRuntimeServer(flags["--server"]);
|
|
76
105
|
const current = store.credentials();
|
|
77
|
-
|
|
78
|
-
|
|
106
|
+
const target = flags["--server"] ?? bundledServer ?? current?.server;
|
|
107
|
+
const server = validateRuntimeServer(resolveRuntimeServer(flags["--server"], bundledServer, current?.server, target && runtimeServerProfile(defaultProfile, target), flags["--profile"] && resolve(flags["--profile"])));
|
|
108
|
+
process.stdout.write(`AgEnD server: ${server.origin}\n`);
|
|
109
|
+
if (choice?.separate)
|
|
110
|
+
process.stdout.write(`This computer's default profile is paired with ${choice.defaultServer}; using a separate profile for this server:\n ${store.directory}\nThe same connect-agend.bat reuses it. The existing pairing is untouched.\n`);
|
|
79
111
|
if (!current) {
|
|
80
112
|
if (!process.stdin.isTTY || !process.stdout.isTTY)
|
|
81
113
|
throw new Error("Pairing requires an interactive terminal. The code must not be supplied in arguments or environment variables.");
|
|
@@ -110,6 +142,9 @@ export async function runtimeMain(argv = process.argv.slice(2)) {
|
|
|
110
142
|
process.removeListener("SIGINT", stop);
|
|
111
143
|
process.removeListener("SIGTERM", stop);
|
|
112
144
|
}
|
|
145
|
+
// AgEnD ended the connection and someone has to act: that is a failure (non-zero exit), never a silent normal exit.
|
|
146
|
+
if (client.stopReason)
|
|
147
|
+
throw new Error(describeRuntimeStop(client.stopReason));
|
|
113
148
|
}
|
|
114
149
|
if (process.argv[1] && resolve(process.argv[1]) === fileURLToPath(import.meta.url)) {
|
|
115
150
|
void runtimeMain().catch(error => { process.stderr.write(`${error instanceof Error ? error.message : "Runtime failed"}\n`); process.exitCode = 1; });
|
package/dist/runtime-cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-cli.js","sourceRoot":"","sources":["../src/runtime-cli.ts"],"names":[],"mappings":";AACA,2FAA2F;AAC3F,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime-cli.js","sourceRoot":"","sources":["../src/runtime-cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,19 @@ export declare class RuntimeClientStore {
|
|
|
20
20
|
private readonly file;
|
|
21
21
|
private data;
|
|
22
22
|
constructor(directory: string, now?: () => number);
|
|
23
|
+
private unsettled;
|
|
24
|
+
private ledgerConflict;
|
|
25
|
+
/** Run before a pairing code is spent: a one-time credential must never be issued into a profile that cannot take it. */
|
|
26
|
+
assertCanPair(): void;
|
|
27
|
+
/**
|
|
28
|
+
* The ledger is replayed to AgEnD on every connect, and AgEnD closes the connection for a job it did not issue to this machine, so jobs are
|
|
29
|
+
* tied to the machine they ran for. Called after acquiring the profile lock, before recoverInterrupted. When the profile now belongs to a
|
|
30
|
+
* different machine than the ledger's owner, settled jobs of the old pairing are dropped; an unsettled one is never discarded silently.
|
|
31
|
+
* A ledger with no recorded owner (older profile) cannot be attributed to anyone: when connecting it is left exactly as it is (and unstamped,
|
|
32
|
+
* unless it is empty), because stamping it would claim another server's jobs as this one's. Only a brand-new pairing (`pairing: true`) proves
|
|
33
|
+
* every earlier job belongs to some other machine, so that clears an ownerless ledger too.
|
|
34
|
+
*/
|
|
35
|
+
adoptMachine(machineId: string, pairing?: boolean): void;
|
|
23
36
|
/** Called only after acquiring the profile lock: reading status must not interrupt a live runtime. */
|
|
24
37
|
recoverInterrupted(): void;
|
|
25
38
|
private validate;
|
|
@@ -45,5 +58,11 @@ export declare class RuntimeClientStore {
|
|
|
45
58
|
credentials(): RuntimeCredentials | null;
|
|
46
59
|
saveCredentials(value: RuntimeCredentials): void;
|
|
47
60
|
forgetCredentials(): void;
|
|
48
|
-
lock
|
|
61
|
+
/** PID recorded in the profile lock, if any; the lock is neither created nor removed. */
|
|
62
|
+
lockHolder(): number | undefined;
|
|
63
|
+
/**
|
|
64
|
+
* `notRuntimePid` is a PID the caller has positively verified is not an AgEnD Runtime process (its PID was reused by another program).
|
|
65
|
+
* A lock held by any other PID that cannot be proven gone still refuses, so a running Runtime is never unlocked from here.
|
|
66
|
+
*/
|
|
67
|
+
lock(bootId: string, systemBootId?: string, notRuntimePid?: number): () => void;
|
|
49
68
|
}
|
|
@@ -72,6 +72,37 @@ export class RuntimeClientStore {
|
|
|
72
72
|
this.file = join(directory, "jobs.json");
|
|
73
73
|
this.data = existsSync(this.file) ? this.validate(readPrivate(this.file)) : { version: 1, jobs: {}, used: {} };
|
|
74
74
|
}
|
|
75
|
+
unsettled() { return this.blocked() || Object.values(this.data.jobs).some(job => job.task.outcomeConfirmed === false); }
|
|
76
|
+
ledgerConflict(tail) {
|
|
77
|
+
return new Error(`This profile (${this.directory}) still has an active or unconfirmed execution recorded for a different AgEnD pairing, and AgEnD would reject it. Check that no CLI process from it is left running, then delete jobs.json in that folder. ${tail}`);
|
|
78
|
+
}
|
|
79
|
+
/** Run before a pairing code is spent: a one-time credential must never be issued into a profile that cannot take it. */
|
|
80
|
+
assertCanPair() { if (this.unsettled())
|
|
81
|
+
throw this.ledgerConflict("Nothing was paired and your pairing code is still unused; run connect-agend.bat again before the code expires."); }
|
|
82
|
+
/**
|
|
83
|
+
* The ledger is replayed to AgEnD on every connect, and AgEnD closes the connection for a job it did not issue to this machine, so jobs are
|
|
84
|
+
* tied to the machine they ran for. Called after acquiring the profile lock, before recoverInterrupted. When the profile now belongs to a
|
|
85
|
+
* different machine than the ledger's owner, settled jobs of the old pairing are dropped; an unsettled one is never discarded silently.
|
|
86
|
+
* A ledger with no recorded owner (older profile) cannot be attributed to anyone: when connecting it is left exactly as it is (and unstamped,
|
|
87
|
+
* unless it is empty), because stamping it would claim another server's jobs as this one's. Only a brand-new pairing (`pairing: true`) proves
|
|
88
|
+
* every earlier job belongs to some other machine, so that clears an ownerless ledger too.
|
|
89
|
+
*/
|
|
90
|
+
adoptMachine(machineId, pairing = false) {
|
|
91
|
+
const owner = this.data.machineId;
|
|
92
|
+
if (owner === machineId)
|
|
93
|
+
return;
|
|
94
|
+
if (owner === undefined && !pairing && (Object.keys(this.data.jobs).length || Object.keys(this.data.used).length))
|
|
95
|
+
return;
|
|
96
|
+
if (owner !== undefined || pairing) {
|
|
97
|
+
if (this.unsettled())
|
|
98
|
+
throw this.ledgerConflict("No new pairing code is needed; connect again afterwards.");
|
|
99
|
+
this.data.jobs = {};
|
|
100
|
+
this.data.used = {};
|
|
101
|
+
delete this.data.usedAt;
|
|
102
|
+
}
|
|
103
|
+
this.data.machineId = machineId;
|
|
104
|
+
this.save();
|
|
105
|
+
}
|
|
75
106
|
/** Called only after acquiring the profile lock: reading status must not interrupt a live runtime. */
|
|
76
107
|
recoverInterrupted() {
|
|
77
108
|
let changed = false;
|
|
@@ -94,6 +125,8 @@ export class RuntimeClientStore {
|
|
|
94
125
|
for (const [id, digest] of Object.entries(raw.used))
|
|
95
126
|
if (!ID.test(id) || typeof digest !== "string" || !/^[a-f0-9]{64}$/.test(digest))
|
|
96
127
|
throw new Error("Invalid runtime job identity");
|
|
128
|
+
if (raw.machineId !== undefined && (typeof raw.machineId !== "string" || !UUID.test(raw.machineId)))
|
|
129
|
+
throw new Error("Invalid runtime job ledger owner");
|
|
97
130
|
if (raw.usedAt !== undefined && (!object(raw.usedAt) || Object.entries(raw.usedAt).some(([id, at]) => !Object.hasOwn(raw.used, id) || typeof at !== "number" || !Number.isFinite(at))))
|
|
98
131
|
throw new Error("Invalid runtime job identity times");
|
|
99
132
|
for (const [id, value] of Object.entries(raw.jobs)) {
|
|
@@ -257,7 +290,21 @@ export class RuntimeClientStore {
|
|
|
257
290
|
}
|
|
258
291
|
forgetCredentials() { const file = join(this.directory, "connection.json"); if (existsSync(file))
|
|
259
292
|
unlinkSync(file); }
|
|
260
|
-
lock
|
|
293
|
+
/** PID recorded in the profile lock, if any; the lock is neither created nor removed. */
|
|
294
|
+
lockHolder() {
|
|
295
|
+
try {
|
|
296
|
+
const lock = readPrivate(join(this.directory, "runtime.lock"));
|
|
297
|
+
return object(lock) && Number.isSafeInteger(lock.pid) && lock.pid > 0 ? lock.pid : undefined;
|
|
298
|
+
}
|
|
299
|
+
catch {
|
|
300
|
+
return undefined;
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* `notRuntimePid` is a PID the caller has positively verified is not an AgEnD Runtime process (its PID was reused by another program).
|
|
305
|
+
* A lock held by any other PID that cannot be proven gone still refuses, so a running Runtime is never unlocked from here.
|
|
306
|
+
*/
|
|
307
|
+
lock(bootId, systemBootId, notRuntimePid) {
|
|
261
308
|
if (systemBootId !== undefined && (typeof systemBootId !== "string" || !/^[a-f0-9]{64}$/.test(systemBootId)))
|
|
262
309
|
throw Error("Invalid Windows boot proof");
|
|
263
310
|
const path = join(this.directory, "runtime.lock");
|
|
@@ -267,17 +314,22 @@ export class RuntimeClientStore {
|
|
|
267
314
|
throw new Error("Invalid runtime lock; inspect it before restarting");
|
|
268
315
|
if (old.systemBootId !== undefined && (typeof old.systemBootId !== "string" || !/^[a-f0-9]{64}$/.test(old.systemBootId)))
|
|
269
316
|
throw Error("Invalid runtime boot proof");
|
|
270
|
-
let alive = !(systemBootId && old.systemBootId && systemBootId !== old.systemBootId);
|
|
317
|
+
let alive = !(systemBootId && old.systemBootId && systemBootId !== old.systemBootId) && old.pid !== notRuntimePid, denied = false;
|
|
271
318
|
try {
|
|
272
319
|
if (alive)
|
|
273
320
|
process.kill(old.pid, 0);
|
|
274
321
|
}
|
|
275
322
|
catch (error) {
|
|
276
|
-
|
|
323
|
+
const code = error.code;
|
|
324
|
+
if (code === "ESRCH")
|
|
277
325
|
alive = false;
|
|
326
|
+
else
|
|
327
|
+
denied = code === "EPERM";
|
|
278
328
|
}
|
|
279
329
|
if (alive)
|
|
280
|
-
throw new Error(
|
|
330
|
+
throw new Error(`Another runtime already uses this profile (process ${old.pid}${denied ? ", which this Windows user is not allowed to inspect" : ""}). `
|
|
331
|
+
+ `Close its window, or end that process in Task Manager if it is a node.exe running runtime-cli.js, then try again. `
|
|
332
|
+
+ `Only if you have confirmed no AgEnD Runtime is running (the number may have been reused after a restart), delete ${path} and try again.`);
|
|
281
333
|
unlinkSync(path);
|
|
282
334
|
}
|
|
283
335
|
writeFileSync(path, JSON.stringify({ pid: process.pid, bootId, ...(systemBootId ? { systemBootId } : {}) }), { flag: "wx", mode: 0o600 });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-client-store.js","sourceRoot":"","sources":["../src/runtime-client-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime-client-store.js","sourceRoot":"","sources":["../src/runtime-client-store.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime-client.d.ts
CHANGED
|
@@ -7,6 +7,13 @@ import type { RuntimePaneLink } from "./runtime-pane-link.js";
|
|
|
7
7
|
import type { RuntimePaneHost } from "./runtime-pane-host.js";
|
|
8
8
|
import type { RuntimePaneHostOptions } from "./runtime-pane-host.js";
|
|
9
9
|
export { RUNTIME_PANE_MODULES } from "./runtime-pane-assets.js";
|
|
10
|
+
export type RuntimeStopKind = "refused" | "revoked" | "replaced" | "rejected" | "incompatible";
|
|
11
|
+
export interface RuntimeStopReason {
|
|
12
|
+
kind: RuntimeStopKind; /** The close reason AgEnD gave, when it gave one. */
|
|
13
|
+
detail?: string;
|
|
14
|
+
}
|
|
15
|
+
/** Plain-language cause and next step for a stop AgEnD caused. AgEnD answers an unknown and a revoked credential with the same bare 401, so "refused" covers both. */
|
|
16
|
+
export declare function describeRuntimeStop(reason: RuntimeStopReason): string;
|
|
10
17
|
export interface RuntimeBridge {
|
|
11
18
|
probe(options?: {
|
|
12
19
|
force?: boolean;
|
|
@@ -34,6 +41,7 @@ export interface RuntimeClientOptions {
|
|
|
34
41
|
export declare class RuntimeClient {
|
|
35
42
|
private readonly options;
|
|
36
43
|
readonly bootId: `${string}-${string}-${string}-${string}-${string}`;
|
|
44
|
+
private readonly runtimeInfo;
|
|
37
45
|
private readonly bridge;
|
|
38
46
|
private socket;
|
|
39
47
|
private welcomed;
|
|
@@ -60,6 +68,10 @@ export declare class RuntimeClient {
|
|
|
60
68
|
private mcpPort;
|
|
61
69
|
private inventory;
|
|
62
70
|
private readonly stoppedListeners;
|
|
71
|
+
/** Set only when AgEnD ended the connection and the person must act; a local stop (Ctrl+C) leaves it undefined. */
|
|
72
|
+
stopReason: RuntimeStopReason | undefined;
|
|
73
|
+
/** The socket this Runtime itself closed with 1008 because it could not read AgEnD's frame; that is not AgEnD refusing us. */
|
|
74
|
+
private selfClosed;
|
|
63
75
|
constructor(options: RuntimeClientOptions);
|
|
64
76
|
private report;
|
|
65
77
|
online(): boolean;
|