@agentvault/claude-bridge 0.7.13 → 0.7.14
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/index.js +30 -6
- package/dist/service/backend.d.ts +3 -0
- package/dist/service/backend.d.ts.map +1 -1
- package/dist/service/launchd.d.ts +3 -0
- package/dist/service/launchd.d.ts.map +1 -1
- package/dist/service/subcommand.d.ts.map +1 -1
- package/dist/service/systemd.d.ts +3 -0
- package/dist/service/systemd.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -267,6 +267,11 @@ var init_launchd = __esm({
|
|
|
267
267
|
this.deps.exec("sleep", ["0.25"]);
|
|
268
268
|
}
|
|
269
269
|
}
|
|
270
|
+
/** #837: restart in place. Same kickstart install ends with, WITHOUT
|
|
271
|
+
* rewriting the plist — so env baked at the original install survives. */
|
|
272
|
+
restart(label) {
|
|
273
|
+
this.deps.exec("launchctl", ["kickstart", "-k", `${this.domain()}/${label}`]);
|
|
274
|
+
}
|
|
270
275
|
uninstall(label) {
|
|
271
276
|
this.deps.exec("launchctl", ["bootout", `${this.domain()}/${label}`]);
|
|
272
277
|
const path2 = this.plistPath(label);
|
|
@@ -331,6 +336,11 @@ var init_systemd = __esm({
|
|
|
331
336
|
this.deps.exec("systemctl", ["--user", "enable", `${spec.label}.service`]);
|
|
332
337
|
this.deps.exec("systemctl", ["--user", "restart", `${spec.label}.service`]);
|
|
333
338
|
}
|
|
339
|
+
/** #837: restart in place, without daemon-reload or rewriting the unit —
|
|
340
|
+
* so env written at the original install survives. */
|
|
341
|
+
restart(label) {
|
|
342
|
+
this.deps.exec("systemctl", ["--user", "restart", `${label}.service`]);
|
|
343
|
+
}
|
|
334
344
|
uninstall(label) {
|
|
335
345
|
this.deps.exec("systemctl", ["--user", "disable", "--now", `${label}.service`]);
|
|
336
346
|
this.deps.exec("loginctl", ["disable-linger", this.deps.user]);
|
|
@@ -392,6 +402,16 @@ __export(subcommand_exports, {
|
|
|
392
402
|
function labelFor(env) {
|
|
393
403
|
return `dev.agentvault.bridge-${slugify2(env.AV_AGENT_NAME ?? "claude")}`;
|
|
394
404
|
}
|
|
405
|
+
function legacyLabelFor(env) {
|
|
406
|
+
return `com.agentvault.claude-bridge.${slugify2(env.AV_AGENT_NAME ?? "claude")}`;
|
|
407
|
+
}
|
|
408
|
+
function resolveLabel(backend, env) {
|
|
409
|
+
const current = labelFor(env);
|
|
410
|
+
if (backend.status(current).loaded) return current;
|
|
411
|
+
const legacy = legacyLabelFor(env);
|
|
412
|
+
if (backend.status(legacy).loaded) return legacy;
|
|
413
|
+
return current;
|
|
414
|
+
}
|
|
395
415
|
function maybeRunServiceSubcommand(argv, env, deps) {
|
|
396
416
|
const cmd = argv[2];
|
|
397
417
|
if (!cmd || !SERVICE_CMDS.has(cmd)) return false;
|
|
@@ -418,15 +438,19 @@ function maybeRunServiceSubcommand(argv, env, deps) {
|
|
|
418
438
|
log(`installed service ${spec.label} \u2014 logs: ${spec.logOut}`);
|
|
419
439
|
log(`check it with: agentvault-claude-bridge status`);
|
|
420
440
|
} else if (cmd === "uninstall") {
|
|
421
|
-
const label =
|
|
441
|
+
const label = resolveLabel(backend, env);
|
|
422
442
|
backend.uninstall(label);
|
|
423
443
|
log(`uninstalled service ${label}`);
|
|
444
|
+
} else if (cmd === "restart") {
|
|
445
|
+
const label = resolveLabel(backend, env);
|
|
446
|
+
backend.restart(label);
|
|
447
|
+
log(`restarted service ${label}`);
|
|
424
448
|
} else if (cmd === "status") {
|
|
425
|
-
const label =
|
|
449
|
+
const label = resolveLabel(backend, env);
|
|
426
450
|
const st = backend.status(label);
|
|
427
451
|
log(`${label}: ${st.loaded ? "loaded" : "not loaded"}`);
|
|
428
452
|
} else if (cmd === "logs") {
|
|
429
|
-
const label =
|
|
453
|
+
const label = resolveLabel(backend, env);
|
|
430
454
|
log(`logs for ${label} are at <dataDir>/logs/bridge.log (tail -f it)`);
|
|
431
455
|
}
|
|
432
456
|
} catch (e7) {
|
|
@@ -442,7 +466,7 @@ var init_subcommand = __esm({
|
|
|
442
466
|
init_config();
|
|
443
467
|
init_spec();
|
|
444
468
|
init_backend();
|
|
445
|
-
SERVICE_CMDS = /* @__PURE__ */ new Set(["install", "uninstall", "status", "logs"]);
|
|
469
|
+
SERVICE_CMDS = /* @__PURE__ */ new Set(["install", "uninstall", "restart", "status", "logs"]);
|
|
446
470
|
}
|
|
447
471
|
});
|
|
448
472
|
|
|
@@ -134411,7 +134435,7 @@ async function main() {
|
|
|
134411
134435
|
"[bridge] warning: passing the invite token on the command line is visible to other local users via 'ps'. Prefer: AV_INVITE_TOKEN=\u2026 npx @agentvault/claude-bridge"
|
|
134412
134436
|
);
|
|
134413
134437
|
}
|
|
134414
|
-
logLine(`[bridge] version: ${true ? "0.7.
|
|
134438
|
+
logLine(`[bridge] version: ${true ? "0.7.14" : "dev"}`);
|
|
134415
134439
|
logLine(`[bridge] data dir: ${cfg.dataDir} (${cfg.dataDirSource})`);
|
|
134416
134440
|
logLine(`[bridge] workspace: ${cfg.workspaceDir} \xB7 permissions: ${cfg.permissionMode} \xB7 enclave dir fenced`);
|
|
134417
134441
|
if (cfg.armRoom) {
|
|
@@ -134443,7 +134467,7 @@ async function main() {
|
|
|
134443
134467
|
// its default would render "@agentvault/agentvault@0.7.x" — the wrong
|
|
134444
134468
|
// package name attached to the bridge's version number, which is worse
|
|
134445
134469
|
// than either alone.
|
|
134446
|
-
clientVersion: `@agentvault/claude-bridge@${true ? "0.7.
|
|
134470
|
+
clientVersion: `@agentvault/claude-bridge@${true ? "0.7.14" : "dev"}`
|
|
134447
134471
|
});
|
|
134448
134472
|
const agentSystemPrompt = cfg.systemPrompt ?? `You are ${cfg.agentName}, an AI agent on AgentVault. You talk with your owner in 1:1 direct messages and collaborate with other agents in shared rooms. That is your identity \u2014 introduce yourself by that name and do not claim to be any other agent. To speak, call the say tool. In a 1:1 with your owner, reply to what they say. In a room you see every message \u2014 call say only when you have something worth adding, and otherwise stay silent. Keep messages concise.`;
|
|
134449
134473
|
const deviceJwt = () => {
|
|
@@ -2,6 +2,9 @@ import type { ServiceSpec } from "./spec.js";
|
|
|
2
2
|
export interface ServiceBackend {
|
|
3
3
|
install(spec: ServiceSpec): void;
|
|
4
4
|
uninstall(label: string): void;
|
|
5
|
+
/** Restart an ALREADY-INSTALLED service without touching its spec (#837).
|
|
6
|
+
* Distinct from install, which re-bakes the plist from the current shell. */
|
|
7
|
+
restart(label: string): void;
|
|
5
8
|
status(label: string): {
|
|
6
9
|
loaded: boolean;
|
|
7
10
|
detail: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../src/service/backend.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5D;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACxE,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CACnC;AAED,wBAAgB,WAAW,IAAI,WAAW,CAoBzC;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,cAAc,CAU3F"}
|
|
1
|
+
{"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../src/service/backend.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B;kFAC8E;IAC9E,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5D;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACxE,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CACnC;AAED,wBAAgB,WAAW,IAAI,WAAW,CAoBzC;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,cAAc,CAU3F"}
|
|
@@ -9,6 +9,9 @@ export declare class LaunchdBackend implements ServiceBackend {
|
|
|
9
9
|
private domain;
|
|
10
10
|
install(spec: ServiceSpec): void;
|
|
11
11
|
private waitUntilGone;
|
|
12
|
+
/** #837: restart in place. Same kickstart install ends with, WITHOUT
|
|
13
|
+
* rewriting the plist — so env baked at the original install survives. */
|
|
14
|
+
restart(label: string): void;
|
|
12
15
|
uninstall(label: string): void;
|
|
13
16
|
status(label: string): {
|
|
14
17
|
loaded: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launchd.d.ts","sourceRoot":"","sources":["../../src/service/launchd.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAUhE,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAkC5D;AAED,qBAAa,cAAe,YAAW,cAAc;IACvC,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,WAAW;IAErC,OAAO,CAAC,SAAS;IAGjB,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IA2BhC,OAAO,CAAC,aAAa;IAOrB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM9B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;CAI3D"}
|
|
1
|
+
{"version":3,"file":"launchd.d.ts","sourceRoot":"","sources":["../../src/service/launchd.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAUhE,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAkC5D;AAED,qBAAa,cAAe,YAAW,cAAc;IACvC,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,WAAW;IAErC,OAAO,CAAC,SAAS;IAGjB,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IA2BhC,OAAO,CAAC,aAAa;IAOrB;+EAC2E;IAC3E,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI5B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM9B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;CAI3D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subcommand.d.ts","sourceRoot":"","sources":["../../src/service/subcommand.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAElE,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,cAAc,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5B;
|
|
1
|
+
{"version":3,"file":"subcommand.d.ts","sourceRoot":"","sources":["../../src/service/subcommand.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAElE,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,cAAc,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5B;AAiCD;;uFAEuF;AACvF,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,IAAI,CAAC,EAAE,cAAc,GACpB,OAAO,CA4DT"}
|
|
@@ -10,6 +10,9 @@ export declare class SystemdBackend implements ServiceBackend {
|
|
|
10
10
|
constructor(deps: BackendDeps);
|
|
11
11
|
private unitPath;
|
|
12
12
|
install(spec: ServiceSpec): void;
|
|
13
|
+
/** #837: restart in place, without daemon-reload or rewriting the unit —
|
|
14
|
+
* so env written at the original install survives. */
|
|
15
|
+
restart(label: string): void;
|
|
13
16
|
uninstall(label: string): void;
|
|
14
17
|
status(label: string): {
|
|
15
18
|
loaded: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"systemd.d.ts","sourceRoot":"","sources":["../../src/service/systemd.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAmBhE;;;sFAGsF;AACtF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAsB3D;AAED,qBAAa,cAAe,YAAW,cAAc;IACvC,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,WAAW;IAErC,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAoBhC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ9B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;CAQ3D"}
|
|
1
|
+
{"version":3,"file":"systemd.d.ts","sourceRoot":"","sources":["../../src/service/systemd.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAmBhE;;;sFAGsF;AACtF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAsB3D;AAED,qBAAa,cAAe,YAAW,cAAc;IACvC,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,WAAW;IAErC,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAoBhC;2DACuD;IACvD,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI5B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ9B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;CAQ3D"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agentvault/claude-bridge",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.14",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "AgentVault Claude Bridge — daemon for bridging a Claude agent into secure E2E-encrypted AgentVault 1:1 direct messages and rooms.",
|
|
6
6
|
"main": "dist/index.js",
|