instar 1.3.614 → 1.3.616
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/dashboard/mandates.js +30 -9
- package/dist/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +110 -1
- package/dist/commands/server.js.map +1 -1
- package/dist/config/ConfigDefaults.d.ts.map +1 -1
- package/dist/config/ConfigDefaults.js +27 -0
- package/dist/config/ConfigDefaults.js.map +1 -1
- package/dist/coordination/AccountFollowMeMandateDelivery.d.ts +64 -0
- package/dist/coordination/AccountFollowMeMandateDelivery.d.ts.map +1 -0
- package/dist/coordination/AccountFollowMeMandateDelivery.js +92 -0
- package/dist/coordination/AccountFollowMeMandateDelivery.js.map +1 -0
- package/dist/coordination/DeliveredMandateStore.d.ts +67 -0
- package/dist/coordination/DeliveredMandateStore.d.ts.map +1 -0
- package/dist/coordination/DeliveredMandateStore.js +80 -0
- package/dist/coordination/DeliveredMandateStore.js.map +1 -0
- package/dist/core/AccountFollowMeRevocationStore.d.ts +34 -0
- package/dist/core/AccountFollowMeRevocationStore.d.ts.map +1 -0
- package/dist/core/AccountFollowMeRevocationStore.js +76 -0
- package/dist/core/AccountFollowMeRevocationStore.js.map +1 -0
- package/dist/core/AccountFollowMeSpendSlice.d.ts +197 -0
- package/dist/core/AccountFollowMeSpendSlice.d.ts.map +1 -0
- package/dist/core/AccountFollowMeSpendSlice.js +196 -0
- package/dist/core/AccountFollowMeSpendSlice.js.map +1 -0
- package/dist/core/AnthropicSubscriptionRouter.d.ts +28 -0
- package/dist/core/AnthropicSubscriptionRouter.d.ts.map +1 -1
- package/dist/core/AnthropicSubscriptionRouter.js +17 -0
- package/dist/core/AnthropicSubscriptionRouter.js.map +1 -1
- package/dist/core/MeshRpc.d.ts +37 -1
- package/dist/core/MeshRpc.d.ts.map +1 -1
- package/dist/core/MeshRpc.js +30 -0
- package/dist/core/MeshRpc.js.map +1 -1
- package/dist/core/PostUpdateMigrator.d.ts +9 -0
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +30 -0
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/accountFollowMeCooperativeWipe.d.ts +66 -0
- package/dist/core/accountFollowMeCooperativeWipe.d.ts.map +1 -0
- package/dist/core/accountFollowMeCooperativeWipe.js +179 -0
- package/dist/core/accountFollowMeCooperativeWipe.js.map +1 -0
- package/dist/server/AgentServer.d.ts +28 -0
- package/dist/server/AgentServer.d.ts.map +1 -1
- package/dist/server/AgentServer.js +81 -1
- package/dist/server/AgentServer.js.map +1 -1
- package/dist/server/routes.d.ts +37 -0
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +135 -4
- package/dist/server/routes.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +64 -64
- package/upgrades/1.3.615.md +35 -0
- package/upgrades/1.3.616.md +34 -0
- package/upgrades/side-effects/ws52-account-follow-me-r7a-spend-slice.md +70 -0
- package/upgrades/side-effects/ws52-account-follow-me-revocation-wiring.md +104 -0
- package/upgrades/side-effects/ws52-one-dashboard-mandate-delivery.md +74 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WS5.2 R12.i — the REAL cooperative data-plane wipe for AccountFollowMeRevocation.
|
|
3
|
+
*
|
|
4
|
+
* The pure executor (`AccountFollowMeRevocation`) takes a `cooperativeWipe(req) => CooperativeWipeResult`
|
|
5
|
+
* dep — three booleans (loggedOut / slotDeleted / poolRemoved). This factory builds the PRODUCTION
|
|
6
|
+
* implementation for a LOCAL account (the PER-SERVER model, OQ6: the operator revokes the mandate on
|
|
7
|
+
* the TARGET machine's OWN dashboard, so the target runs its OWN local wipe — this is never a
|
|
8
|
+
* cross-machine wipe-instruction).
|
|
9
|
+
*
|
|
10
|
+
* Per the spec (line 193) the wipe is three steps against the local account:
|
|
11
|
+
* 1. logout — the framework's own logout against that account's CLAUDE_CONFIG_DIR.
|
|
12
|
+
* 2. slot del — delete the per-account config-home directory + its keychain credential entry.
|
|
13
|
+
* 3. pool rm — SubscriptionPool.remove(accountId).
|
|
14
|
+
*
|
|
15
|
+
* FAIL-CLOSED CONTRACT (load-bearing): every step is wrapped so a throw becomes `false`, NEVER a
|
|
16
|
+
* silent `true`. The executor treats a partial/all-false result as a durable pending retry — it
|
|
17
|
+
* never claims `removed` it could not confirm. The whole function returns the per-step booleans;
|
|
18
|
+
* it does NOT itself throw (the executor's catch is a backstop, but we resolve each step honestly).
|
|
19
|
+
*
|
|
20
|
+
* The two side-effecting primitives (framework logout, directory/keychain deletion) are injected so
|
|
21
|
+
* this is unit-testable without spawning a real `claude` CLI or touching a real keychain; production
|
|
22
|
+
* wiring passes the real execFileSync-backed logout + SafeFsExecutor-backed deletion.
|
|
23
|
+
*/
|
|
24
|
+
/**
|
|
25
|
+
* Deletion-safety guard (BLOCKING fix, 2026-06-17 second-pass review): the cooperative wipe does a
|
|
26
|
+
* `recursive,force` rm of an account's configHome. configHome is operator-provided at enroll time and
|
|
27
|
+
* `~/.claude` (the operator's PRIMARY/shared login) is a legitimate value — so an `account-follow-me`
|
|
28
|
+
* revoke targeting the default account would otherwise recursively delete the operator's main login
|
|
29
|
+
* directory. This refuses to delete any catastrophic / shared target: a filesystem root, `$HOME`
|
|
30
|
+
* itself, an ANCESTOR of `$HOME`, or a framework DEFAULT config home (`~/.claude`, `~/.codex`, …).
|
|
31
|
+
* A refused path returns slotDeleted:false → the executor falls to a durable pending, NEVER a false
|
|
32
|
+
* `removed`. A genuine per-account slot (e.g. `~/.claude-adriana`, `~/.instar/accounts/<id>`) is NOT
|
|
33
|
+
* matched and deletes normally.
|
|
34
|
+
*/
|
|
35
|
+
export declare function isProtectedConfigHome(rawConfigHome: string): boolean;
|
|
36
|
+
import type { CooperativeWipeResult, RevocationRequest } from './AccountFollowMeRevocation.js';
|
|
37
|
+
import type { SubscriptionPool } from './SubscriptionPool.js';
|
|
38
|
+
export interface CooperativeWipeDeps {
|
|
39
|
+
pool: SubscriptionPool;
|
|
40
|
+
/**
|
|
41
|
+
* Run the framework's logout against the account's config home. MUST return true ONLY on a
|
|
42
|
+
* confirmed logout; false (or throw) otherwise. Injected for tests; production uses execFileSync.
|
|
43
|
+
*/
|
|
44
|
+
frameworkLogout?: (args: {
|
|
45
|
+
framework: string;
|
|
46
|
+
configHome: string;
|
|
47
|
+
}) => boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Delete the per-account config-home directory + its keychain credential entry. MUST return true
|
|
50
|
+
* ONLY when the slot is gone; false (or throw) otherwise. Injected for tests; production uses
|
|
51
|
+
* SafeFsExecutor + `security`.
|
|
52
|
+
*/
|
|
53
|
+
deleteSlot?: (args: {
|
|
54
|
+
configHome: string;
|
|
55
|
+
framework: string;
|
|
56
|
+
}) => boolean;
|
|
57
|
+
log?: (msg: string) => void;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Build the production `cooperativeWipe` function for the injected SubscriptionPool. The returned
|
|
61
|
+
* function reads the LOCAL account's config home + framework from the pool (the operator-revoked
|
|
62
|
+
* account on THIS machine) and runs the three steps. If the account is not found locally, every
|
|
63
|
+
* step is false (nothing to wipe here — the executor falls to pending, honest).
|
|
64
|
+
*/
|
|
65
|
+
export declare function buildCooperativeWipe(deps: CooperativeWipeDeps): (req: RevocationRequest) => CooperativeWipeResult;
|
|
66
|
+
//# sourceMappingURL=accountFollowMeCooperativeWipe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accountFollowMeCooperativeWipe.d.ts","sourceRoot":"","sources":["../../src/core/accountFollowMeCooperativeWipe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AASH;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAqBpE;AACD,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAC/F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAY9D,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,gBAAgB,CAAC;IACvB;;;OAGG;IACH,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC;IAC/E;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC;IAC1E,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B;AA0DD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,mBAAmB,GAAG,CAAC,GAAG,EAAE,iBAAiB,KAAK,qBAAqB,CA2CjH"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WS5.2 R12.i — the REAL cooperative data-plane wipe for AccountFollowMeRevocation.
|
|
3
|
+
*
|
|
4
|
+
* The pure executor (`AccountFollowMeRevocation`) takes a `cooperativeWipe(req) => CooperativeWipeResult`
|
|
5
|
+
* dep — three booleans (loggedOut / slotDeleted / poolRemoved). This factory builds the PRODUCTION
|
|
6
|
+
* implementation for a LOCAL account (the PER-SERVER model, OQ6: the operator revokes the mandate on
|
|
7
|
+
* the TARGET machine's OWN dashboard, so the target runs its OWN local wipe — this is never a
|
|
8
|
+
* cross-machine wipe-instruction).
|
|
9
|
+
*
|
|
10
|
+
* Per the spec (line 193) the wipe is three steps against the local account:
|
|
11
|
+
* 1. logout — the framework's own logout against that account's CLAUDE_CONFIG_DIR.
|
|
12
|
+
* 2. slot del — delete the per-account config-home directory + its keychain credential entry.
|
|
13
|
+
* 3. pool rm — SubscriptionPool.remove(accountId).
|
|
14
|
+
*
|
|
15
|
+
* FAIL-CLOSED CONTRACT (load-bearing): every step is wrapped so a throw becomes `false`, NEVER a
|
|
16
|
+
* silent `true`. The executor treats a partial/all-false result as a durable pending retry — it
|
|
17
|
+
* never claims `removed` it could not confirm. The whole function returns the per-step booleans;
|
|
18
|
+
* it does NOT itself throw (the executor's catch is a backstop, but we resolve each step honestly).
|
|
19
|
+
*
|
|
20
|
+
* The two side-effecting primitives (framework logout, directory/keychain deletion) are injected so
|
|
21
|
+
* this is unit-testable without spawning a real `claude` CLI or touching a real keychain; production
|
|
22
|
+
* wiring passes the real execFileSync-backed logout + SafeFsExecutor-backed deletion.
|
|
23
|
+
*/
|
|
24
|
+
import { execFileSync } from 'node:child_process';
|
|
25
|
+
import fs from 'node:fs';
|
|
26
|
+
import os from 'node:os';
|
|
27
|
+
import path from 'node:path';
|
|
28
|
+
import { SafeFsExecutor } from './SafeFsExecutor.js';
|
|
29
|
+
import { claudeCredentialService, expandHome } from './OAuthRefresher.js';
|
|
30
|
+
/**
|
|
31
|
+
* Deletion-safety guard (BLOCKING fix, 2026-06-17 second-pass review): the cooperative wipe does a
|
|
32
|
+
* `recursive,force` rm of an account's configHome. configHome is operator-provided at enroll time and
|
|
33
|
+
* `~/.claude` (the operator's PRIMARY/shared login) is a legitimate value — so an `account-follow-me`
|
|
34
|
+
* revoke targeting the default account would otherwise recursively delete the operator's main login
|
|
35
|
+
* directory. This refuses to delete any catastrophic / shared target: a filesystem root, `$HOME`
|
|
36
|
+
* itself, an ANCESTOR of `$HOME`, or a framework DEFAULT config home (`~/.claude`, `~/.codex`, …).
|
|
37
|
+
* A refused path returns slotDeleted:false → the executor falls to a durable pending, NEVER a false
|
|
38
|
+
* `removed`. A genuine per-account slot (e.g. `~/.claude-adriana`, `~/.instar/accounts/<id>`) is NOT
|
|
39
|
+
* matched and deletes normally.
|
|
40
|
+
*/
|
|
41
|
+
export function isProtectedConfigHome(rawConfigHome) {
|
|
42
|
+
const expanded = expandHome(String(rawConfigHome ?? '')).trim();
|
|
43
|
+
if (!expanded)
|
|
44
|
+
return true; // empty / whitespace — refuse before path.resolve('') falls back to cwd.
|
|
45
|
+
const resolvedRaw = path.resolve(expanded);
|
|
46
|
+
if (!resolvedRaw)
|
|
47
|
+
return true; // unresolvable — refuse, fail-closed.
|
|
48
|
+
const homeRaw = path.resolve(os.homedir());
|
|
49
|
+
// Case-fold the comparison: macOS/Windows default volumes are case-INSENSITIVE, so `~/.CLAUDE`
|
|
50
|
+
// is the SAME on-disk dir as `~/.claude` and must be refused too (string-exact would miss it).
|
|
51
|
+
const resolved = resolvedRaw.toLowerCase();
|
|
52
|
+
const home = homeRaw.toLowerCase();
|
|
53
|
+
const sep = path.sep;
|
|
54
|
+
// A filesystem root (e.g. "/" or "C:\").
|
|
55
|
+
if (resolvedRaw === path.parse(resolvedRaw).root)
|
|
56
|
+
return true;
|
|
57
|
+
// $HOME itself, or an ancestor of $HOME (e.g. "/Users", "/").
|
|
58
|
+
if (resolved === home || home.startsWith(resolved + sep))
|
|
59
|
+
return true;
|
|
60
|
+
// Framework default / shared config homes — the operator's primary logins, never a follow-me slot.
|
|
61
|
+
const PROTECTED_DEFAULT_HOMES = ['.claude', '.codex', '.gemini', '.pi', '.config'];
|
|
62
|
+
for (const name of PROTECTED_DEFAULT_HOMES) {
|
|
63
|
+
if (resolved === path.join(home, name).toLowerCase())
|
|
64
|
+
return true;
|
|
65
|
+
}
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
/** Per-framework logout command (mirrors the enroll login-command table; args, not a shell string). */
|
|
69
|
+
const FRAMEWORK_LOGOUT = {
|
|
70
|
+
'claude-code': { cmd: 'claude', args: ['auth', 'logout'] },
|
|
71
|
+
'codex-cli': { cmd: 'codex', args: ['logout'] },
|
|
72
|
+
// gemini/pi have no headless logout verb today — slot deletion + pool.remove still apply, and the
|
|
73
|
+
// missing logout surfaces as loggedOut:false ⇒ the executor keeps a durable pending (honest).
|
|
74
|
+
};
|
|
75
|
+
const LOGOUT_TIMEOUT_MS = 15_000;
|
|
76
|
+
/** Production framework-logout: env-scope the logout CLI to the account's config home. */
|
|
77
|
+
function defaultFrameworkLogout(args) {
|
|
78
|
+
const spec = FRAMEWORK_LOGOUT[args.framework];
|
|
79
|
+
if (!spec)
|
|
80
|
+
return false; // no headless logout verb for this framework — honestly not-done.
|
|
81
|
+
try {
|
|
82
|
+
execFileSync(spec.cmd, spec.args, {
|
|
83
|
+
timeout: LOGOUT_TIMEOUT_MS,
|
|
84
|
+
stdio: 'ignore',
|
|
85
|
+
env: { ...process.env, CLAUDE_CONFIG_DIR: expandHome(args.configHome) },
|
|
86
|
+
});
|
|
87
|
+
return true;
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
// @silent-fallback-ok: fail-closed — a non-zero exit / missing CLI / timeout is NOT a confirmed
|
|
91
|
+
// logout; the false return surfaces to the executor (→ pending, never a false `removed`).
|
|
92
|
+
return false;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
/** Production slot deletion: remove the config-home dir (SafeFsExecutor) + the keychain entry. */
|
|
96
|
+
function defaultDeleteSlot(args) {
|
|
97
|
+
const home = expandHome(args.configHome);
|
|
98
|
+
// DELETION-SAFETY GUARD: never recursively delete a shared/default/root path (see
|
|
99
|
+
// isProtectedConfigHome). Refusing returns false → durable pending, never a false `removed`.
|
|
100
|
+
if (isProtectedConfigHome(args.configHome)) {
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
let dirGone = false;
|
|
104
|
+
try {
|
|
105
|
+
// Recursive force delete of the per-account config home. force:true makes an already-absent
|
|
106
|
+
// dir a success (idempotent — a retried wipe is safe).
|
|
107
|
+
SafeFsExecutor.safeRmSync(home, {
|
|
108
|
+
recursive: true,
|
|
109
|
+
force: true,
|
|
110
|
+
operation: 'accountFollowMeCooperativeWipe.deleteSlot',
|
|
111
|
+
});
|
|
112
|
+
dirGone = !fs.existsSync(home);
|
|
113
|
+
}
|
|
114
|
+
catch {
|
|
115
|
+
// @silent-fallback-ok: fail-closed — a delete error surfaces as slotDeleted:false → pending.
|
|
116
|
+
dirGone = false;
|
|
117
|
+
}
|
|
118
|
+
// Best-effort keychain credential delete for claude-code slots (the login token lives here too).
|
|
119
|
+
if (args.framework === 'claude-code') {
|
|
120
|
+
try {
|
|
121
|
+
const service = claudeCredentialService(args.configHome);
|
|
122
|
+
execFileSync('security', ['delete-generic-password', '-s', service], {
|
|
123
|
+
timeout: 5_000,
|
|
124
|
+
stdio: 'ignore',
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
catch {
|
|
128
|
+
// @silent-fallback-ok: a missing keychain entry (or non-darwin) is a no-op; the directory
|
|
129
|
+
// delete is the authoritative slot-gone signal, so this never flips the result false on its own.
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return dirGone;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Build the production `cooperativeWipe` function for the injected SubscriptionPool. The returned
|
|
136
|
+
* function reads the LOCAL account's config home + framework from the pool (the operator-revoked
|
|
137
|
+
* account on THIS machine) and runs the three steps. If the account is not found locally, every
|
|
138
|
+
* step is false (nothing to wipe here — the executor falls to pending, honest).
|
|
139
|
+
*/
|
|
140
|
+
export function buildCooperativeWipe(deps) {
|
|
141
|
+
const frameworkLogout = deps.frameworkLogout ?? defaultFrameworkLogout;
|
|
142
|
+
const deleteSlot = deps.deleteSlot ?? defaultDeleteSlot;
|
|
143
|
+
return (req) => {
|
|
144
|
+
const acct = deps.pool.get(req.accountId);
|
|
145
|
+
if (!acct) {
|
|
146
|
+
deps.log?.(`[account-follow-me] cooperativeWipe ${req.accountId}: no local account — nothing to wipe here`);
|
|
147
|
+
return { loggedOut: false, slotDeleted: false, poolRemoved: false };
|
|
148
|
+
}
|
|
149
|
+
const configHome = acct.configHome;
|
|
150
|
+
const framework = acct.framework;
|
|
151
|
+
let loggedOut = false;
|
|
152
|
+
try {
|
|
153
|
+
loggedOut = frameworkLogout({ framework, configHome });
|
|
154
|
+
}
|
|
155
|
+
catch {
|
|
156
|
+
// @silent-fallback-ok: fail-closed — surfaces as loggedOut:false → executor keeps pending.
|
|
157
|
+
loggedOut = false;
|
|
158
|
+
}
|
|
159
|
+
let slotDeleted = false;
|
|
160
|
+
try {
|
|
161
|
+
slotDeleted = deleteSlot({ configHome, framework });
|
|
162
|
+
}
|
|
163
|
+
catch {
|
|
164
|
+
// @silent-fallback-ok: fail-closed — surfaces as slotDeleted:false → executor keeps pending.
|
|
165
|
+
slotDeleted = false;
|
|
166
|
+
}
|
|
167
|
+
let poolRemoved = false;
|
|
168
|
+
try {
|
|
169
|
+
poolRemoved = deps.pool.remove(req.accountId);
|
|
170
|
+
}
|
|
171
|
+
catch {
|
|
172
|
+
// @silent-fallback-ok: fail-closed — surfaces as poolRemoved:false → executor keeps pending.
|
|
173
|
+
poolRemoved = false;
|
|
174
|
+
}
|
|
175
|
+
deps.log?.(`[account-follow-me] cooperativeWipe ${req.accountId}: logout=${loggedOut} slot=${slotDeleted} pool=${poolRemoved}`);
|
|
176
|
+
return { loggedOut, slotDeleted, poolRemoved };
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
//# sourceMappingURL=accountFollowMeCooperativeWipe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accountFollowMeCooperativeWipe.js","sourceRoot":"","sources":["../../src/core/accountFollowMeCooperativeWipe.ts"],"names":[],"mappings":"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"}
|
|
@@ -107,6 +107,9 @@ export declare class AgentServer {
|
|
|
107
107
|
/** Coordination Mandate enforcement (spec §4): deny-by-default gate + signed
|
|
108
108
|
* store + hash-chained audit. Null when stateDir is unavailable. */
|
|
109
109
|
private coordination;
|
|
110
|
+
/** WS5.2 R4a — durable store of cross-machine-DELIVERED account-follow-me mandates (target side).
|
|
111
|
+
* Null when coordination/stateDir is unavailable. */
|
|
112
|
+
private deliveredMandateStore;
|
|
110
113
|
/** Operator Authorization Request (agent proposes → operator approves one-tap). Null
|
|
111
114
|
* when coordination/stateDir is unavailable. `enabled` is the resolved dev-gate. */
|
|
112
115
|
private authorizationRequests;
|
|
@@ -216,6 +219,7 @@ export declare class AgentServer {
|
|
|
216
219
|
proactiveSwapMonitor?: import('../core/ProactiveSwapMonitor.js').ProactiveSwapMonitor;
|
|
217
220
|
inUseAccountResolver?: import('../core/InUseAccountResolver.js').InUseAccountResolver;
|
|
218
221
|
enrollmentWizard?: import('../core/EnrollmentWizard.js').EnrollmentWizard;
|
|
222
|
+
accountFollowMeRevocation?: import('../core/AccountFollowMeRevocation.js').AccountFollowMeRevocation;
|
|
219
223
|
credentialRepointing?: import('./routes.js').RouteContext['credentialRepointing'];
|
|
220
224
|
semanticMemory?: import('../memory/SemanticMemory.js').SemanticMemory;
|
|
221
225
|
activitySentinel?: import('../monitoring/SessionActivitySentinel.js').SessionActivitySentinel;
|
|
@@ -338,6 +342,17 @@ export declare class AgentServer {
|
|
|
338
342
|
/** Signed rollout-stage E2E result store (§Rollout). */
|
|
339
343
|
sessionPoolE2EResultStore?: import('../core/SessionPoolE2EResultStore.js').SessionPoolE2EResultStore;
|
|
340
344
|
localSigningKeyPem?: string;
|
|
345
|
+
/** WS5.2 R4a — operator/issuer side: deliver an R4a-signed account-follow-me mandate to a REMOTE
|
|
346
|
+
* target over the signed mesh. Injected from server.ts (where the mesh client + peer-URL
|
|
347
|
+
* resolution live). Absent ⇒ this machine cannot deliver (single-machine / no mesh). */
|
|
348
|
+
deliverMandateToMachine?: (args: {
|
|
349
|
+
targetMachineId: string;
|
|
350
|
+
portable: import('../coordination/AccountFollowMeMandateBridge.js').PortableMandate;
|
|
351
|
+
}) => Promise<{
|
|
352
|
+
ok: boolean;
|
|
353
|
+
status: number;
|
|
354
|
+
reason?: string;
|
|
355
|
+
}>;
|
|
341
356
|
/** Lease wire transport — receives peer lease broadcasts at /api/lease (spec §6). */
|
|
342
357
|
leaseTransport?: {
|
|
343
358
|
recordObserved: (lease: any) => void;
|
|
@@ -699,6 +714,19 @@ export declare class AgentServer {
|
|
|
699
714
|
* Expose the Express app for testing with supertest.
|
|
700
715
|
*/
|
|
701
716
|
getApp(): Express;
|
|
717
|
+
/**
|
|
718
|
+
* WS5.2 R4a — TARGET-side acceptance of a cross-machine-delivered account-follow-me mandate (the
|
|
719
|
+
* brains behind the `account-follow-me-mandate-deliver` mesh handler, which is wired in server.ts
|
|
720
|
+
* where the peer-key resolver lives). `sender` MUST be the mesh-AUTHENTICATED envelope sender;
|
|
721
|
+
* `operatorPublicKeyPem` is that sender's REGISTERED Ed25519 key (resolved by the caller from the
|
|
722
|
+
* same registered-identity store verifyEnvelope used) — never a key from the payload. FAIL CLOSED:
|
|
723
|
+
* feature dark / no store / signature-or-bounds failure → refuse + persist nothing.
|
|
724
|
+
*/
|
|
725
|
+
acceptDeliveredMandateCommand(sender: string, portable: import('../coordination/AccountFollowMeMandateBridge.js').PortableMandate | undefined | null, operatorPublicKeyPem: string | null): {
|
|
726
|
+
accepted: boolean;
|
|
727
|
+
reason?: string;
|
|
728
|
+
mandateId?: string;
|
|
729
|
+
};
|
|
702
730
|
/** Wiring-integrity accessor: the ParallelWorkSentinel when constructed (enabled), else null. */
|
|
703
731
|
getParallelWorkSentinel(): ParallelWorkSentinel | null;
|
|
704
732
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentServer.d.ts","sourceRoot":"","sources":["../../src/server/AgentServer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AgentServer.d.ts","sourceRoot":"","sources":["../../src/server/AgentServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
import express from 'express';
|
|
11
11
|
import fs from 'node:fs';
|
|
12
12
|
import path from 'node:path';
|
|
13
|
-
import { createHash, createHmac, timingSafeEqual } from 'node:crypto';
|
|
13
|
+
import { createHash, createHmac, timingSafeEqual, createPrivateKey } from 'node:crypto';
|
|
14
14
|
import { ApprovalLedger } from '../core/ApprovalLedger.js';
|
|
15
15
|
import { resolveDevAgentGate } from '../core/devAgentGate.js';
|
|
16
16
|
import { TopicOperatorStore } from '../users/TopicOperatorStore.js';
|
|
@@ -21,6 +21,9 @@ import { MandateGate } from '../coordination/MandateGate.js';
|
|
|
21
21
|
import { MandateAudit } from '../coordination/MandateAudit.js';
|
|
22
22
|
import { ConditionsRegistry } from '../coordination/conditions.js';
|
|
23
23
|
import { ReviewExchangeEngine } from '../coordination/ReviewExchange.js';
|
|
24
|
+
import { DeliveredMandateStore } from '../coordination/DeliveredMandateStore.js';
|
|
25
|
+
import { packageMandateForDelivery, acceptDeliveredMandate } from '../coordination/AccountFollowMeMandateBridge.js';
|
|
26
|
+
import { readFollowMeBounds, acceptMandateDelivery } from '../coordination/AccountFollowMeMandateDelivery.js';
|
|
24
27
|
import { CutoverReadiness } from '../feedback-factory/cutoverReadiness.js';
|
|
25
28
|
import { InboxDrainer } from '../feedback-factory/inbox/InboxDrainer.js';
|
|
26
29
|
import { BlobInboxClient } from '../feedback-factory/inbox/BlobInboxClient.js';
|
|
@@ -166,6 +169,9 @@ export class AgentServer {
|
|
|
166
169
|
/** Coordination Mandate enforcement (spec §4): deny-by-default gate + signed
|
|
167
170
|
* store + hash-chained audit. Null when stateDir is unavailable. */
|
|
168
171
|
coordination = null;
|
|
172
|
+
/** WS5.2 R4a — durable store of cross-machine-DELIVERED account-follow-me mandates (target side).
|
|
173
|
+
* Null when coordination/stateDir is unavailable. */
|
|
174
|
+
deliveredMandateStore = null;
|
|
169
175
|
/** Operator Authorization Request (agent proposes → operator approves one-tap). Null
|
|
170
176
|
* when coordination/stateDir is unavailable. `enabled` is the resolved dev-gate. */
|
|
171
177
|
authorizationRequests = null;
|
|
@@ -879,6 +885,22 @@ export class AgentServer {
|
|
|
879
885
|
gate,
|
|
880
886
|
});
|
|
881
887
|
this.coordination = { store, gate, audit, conditions, reviews };
|
|
888
|
+
// WS5.2 R4a — ONE-DASHBOARD cross-machine mandate delivery: the durable store of mandates
|
|
889
|
+
// delivered+verified to THIS machine from the operator machine. Built on the SAME stateDir
|
|
890
|
+
// as the mandate store; it retains the full R4a-signed PortableMandate so the enroll-start
|
|
891
|
+
// route re-verifies at point-of-use. No new authority path — a delivered mandate is trusted
|
|
892
|
+
// ONLY via the R4a asymmetric signature (verified by the mesh handler), never local authorship.
|
|
893
|
+
try {
|
|
894
|
+
this.deliveredMandateStore = new DeliveredMandateStore({
|
|
895
|
+
filePath: path.join(options.config.stateDir, 'state', 'delivered-mandates.json'),
|
|
896
|
+
});
|
|
897
|
+
}
|
|
898
|
+
catch (dmErr) {
|
|
899
|
+
// @silent-fallback-ok — null leaves the delivered-mandate path inert (enroll-start falls
|
|
900
|
+
// back to deny-by-default), never blocks boot.
|
|
901
|
+
console.warn('[instar] delivered-mandate store init failed (non-fatal):', dmErr);
|
|
902
|
+
this.deliveredMandateStore = null;
|
|
903
|
+
}
|
|
882
904
|
// Operator Authorization Request — agent proposes → operator approves one-tap.
|
|
883
905
|
// Built on the SAME stateDir; the approve route issues grants via `store` above
|
|
884
906
|
// (the existing signed MandateStore), so no new authority path is introduced.
|
|
@@ -1603,6 +1625,7 @@ export class AgentServer {
|
|
|
1603
1625
|
proactiveSwapMonitor: options.proactiveSwapMonitor,
|
|
1604
1626
|
inUseAccountResolver: options.inUseAccountResolver,
|
|
1605
1627
|
enrollmentWizard: options.enrollmentWizard ?? null,
|
|
1628
|
+
accountFollowMeRevocation: options.accountFollowMeRevocation ?? null,
|
|
1606
1629
|
credentialRepointing: options.credentialRepointing ?? null,
|
|
1607
1630
|
semanticMemory: options.semanticMemory ?? null,
|
|
1608
1631
|
activitySentinel: options.activitySentinel ?? null,
|
|
@@ -1687,6 +1710,39 @@ export class AgentServer {
|
|
|
1687
1710
|
approvalLedger: this.approvalLedger,
|
|
1688
1711
|
topicOperatorStore: this.topicOperatorStore,
|
|
1689
1712
|
coordination: this.coordination,
|
|
1713
|
+
deliveredMandateStore: this.deliveredMandateStore,
|
|
1714
|
+
// WS5.2 R4a — operator side: package an issued mandate with the asymmetric issuance signature
|
|
1715
|
+
// using THIS machine's Ed25519 identity key + fingerprint (meshSelfId). Null when no mesh
|
|
1716
|
+
// identity (single-machine) — the issue-for-machine route then 503s on a remote target.
|
|
1717
|
+
packageMandateForDelivery: (() => {
|
|
1718
|
+
const pem = options.localSigningKeyPem;
|
|
1719
|
+
const selfId = options.meshSelfId;
|
|
1720
|
+
if (!pem || !selfId)
|
|
1721
|
+
return null;
|
|
1722
|
+
return (mandate) => {
|
|
1723
|
+
const priv = createPrivateKey(pem);
|
|
1724
|
+
return packageMandateForDelivery(mandate, selfId, priv);
|
|
1725
|
+
};
|
|
1726
|
+
})(),
|
|
1727
|
+
deliverMandateToMachine: options.deliverMandateToMachine ?? null,
|
|
1728
|
+
// WS5.2 R4a — target side: re-verify a DELIVERED mandate AT POINT OF USE against the operator
|
|
1729
|
+
// key recorded at delivery (defense-in-depth; never trust a stored flag). Returns the verified
|
|
1730
|
+
// account-follow-me bounds, or null on any failure (fail-closed).
|
|
1731
|
+
verifyDeliveredMandate: this.deliveredMandateStore
|
|
1732
|
+
? (mandateId) => {
|
|
1733
|
+
const record = this.deliveredMandateStore.get(mandateId);
|
|
1734
|
+
if (!record)
|
|
1735
|
+
return null;
|
|
1736
|
+
const accept = acceptDeliveredMandate({
|
|
1737
|
+
portable: record.portable,
|
|
1738
|
+
operatorEd25519PublicKey: record.operatorPublicKeyPem,
|
|
1739
|
+
expectedOperatorMachineFingerprint: record.deliveredBy,
|
|
1740
|
+
});
|
|
1741
|
+
if (!accept.accepted)
|
|
1742
|
+
return null;
|
|
1743
|
+
return readFollowMeBounds(accept.mandate);
|
|
1744
|
+
}
|
|
1745
|
+
: null,
|
|
1690
1746
|
authorizationRequests: this.authorizationRequests,
|
|
1691
1747
|
cutoverReadiness: this.cutoverReadiness,
|
|
1692
1748
|
inboxDrainer: this.inboxDrainer,
|
|
@@ -3322,6 +3378,30 @@ export class AgentServer {
|
|
|
3322
3378
|
getApp() {
|
|
3323
3379
|
return this.app;
|
|
3324
3380
|
}
|
|
3381
|
+
/**
|
|
3382
|
+
* WS5.2 R4a — TARGET-side acceptance of a cross-machine-delivered account-follow-me mandate (the
|
|
3383
|
+
* brains behind the `account-follow-me-mandate-deliver` mesh handler, which is wired in server.ts
|
|
3384
|
+
* where the peer-key resolver lives). `sender` MUST be the mesh-AUTHENTICATED envelope sender;
|
|
3385
|
+
* `operatorPublicKeyPem` is that sender's REGISTERED Ed25519 key (resolved by the caller from the
|
|
3386
|
+
* same registered-identity store verifyEnvelope used) — never a key from the payload. FAIL CLOSED:
|
|
3387
|
+
* feature dark / no store / signature-or-bounds failure → refuse + persist nothing.
|
|
3388
|
+
*/
|
|
3389
|
+
acceptDeliveredMandateCommand(sender, portable, operatorPublicKeyPem) {
|
|
3390
|
+
if (!this.deliveredMandateStore)
|
|
3391
|
+
return { accepted: false, reason: 'delivered-mandate-store-unavailable' };
|
|
3392
|
+
const enabled = resolveDevAgentGate(this.config
|
|
3393
|
+
.multiMachine?.accountFollowMe?.enabled, this.config);
|
|
3394
|
+
const result = acceptMandateDelivery({
|
|
3395
|
+
enabled: () => enabled,
|
|
3396
|
+
selfMachineId: () => this.meshSelfId ?? this.config.machineId ?? 'local',
|
|
3397
|
+
operatorMachinePublicKey: () => operatorPublicKeyPem,
|
|
3398
|
+
store: this.deliveredMandateStore,
|
|
3399
|
+
log: (m) => console.log(m),
|
|
3400
|
+
}, sender, portable);
|
|
3401
|
+
return result.accepted
|
|
3402
|
+
? { accepted: true, mandateId: result.mandateId }
|
|
3403
|
+
: { accepted: false, reason: result.reason };
|
|
3404
|
+
}
|
|
3325
3405
|
/** Wiring-integrity accessor: the ParallelWorkSentinel when constructed (enabled), else null. */
|
|
3326
3406
|
getParallelWorkSentinel() {
|
|
3327
3407
|
return this.parallelWorkSentinel;
|