@privos_ai/app-server 0.7.3 → 0.8.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"relay-client.js","sourceRoot":"","sources":["../../src/relay/relay-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relay-client.js","sourceRoot":"","sources":["../../src/relay/relay-client.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,12 @@ export type StandaloneEffectiveCapabilities = Readonly<{
10
10
  grantEpoch: number;
11
11
  updatedAt: number;
12
12
  }>;
13
+ /** Secret-free receipt returned only after a credential version is durable. */
14
+ export type StandaloneAgentBotCredentialReceipt = Readonly<{
15
+ mcpAppId: string;
16
+ runtimeInstallationId: string;
17
+ deliveryVersion: number;
18
+ }>;
13
19
  export declare class StandaloneControlError extends Error {
14
20
  constructor(message: string);
15
21
  }
@@ -25,7 +31,7 @@ export interface StandaloneRelayIdentityController {
25
31
  * Internal seam used by `connectRelay` when a `notifications/privos.standalone*`
26
32
  * message arrives on an open, authenticated Relay connection. Not for app use.
27
33
  */
28
- handleControlNotification(method: string, params: unknown): Promise<'handled' | 'ignored'>;
34
+ handleControlNotification(method: string, params: unknown): Promise<'handled' | 'ignored' | StandaloneAgentBotCredentialReceipt>;
29
35
  }
30
36
  export type StandaloneRelayIdentityControllerOptions = Readonly<{
31
37
  filePath?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"standalone-control.d.ts","sourceRoot":"","sources":["../../src/relay/standalone-control.ts"],"names":[],"mappings":"AAuBA,OAAO,EAEN,KAAK,sBAAsB,EAC3B,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAIN,KAAK,wBAAwB,EAE7B,MAAM,0BAA0B,CAAC;AAElC,eAAO,MAAM,+BAA+B,gDAAgD,CAAC;AAC7F,eAAO,MAAM,8BAA8B,+CAA+C,CAAC;AAC3F,eAAO,MAAM,sCAAsC,uDAAuD,CAAC;AAC3G,eAAO,MAAM,sCAAsC,4CAA4C,CAAC;AAShG,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAC/D,OAAO,+BAA+B,GACtC,OAAO,8BAA8B,GACrC,OAAO,sCAAsC,GAC7C,OAAO,sCAAsC,CAE/C;AAED,MAAM,MAAM,+BAA+B,GAAG,QAAQ,CAAC;IACtD,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CAClB,CAAC,CAAC;AAaH,qBAAa,sBAAuB,SAAQ,KAAK;gBACpC,OAAO,EAAE,MAAM;CAI3B;AA+ID,MAAM,WAAW,iCAAiC;IACjD,cAAc,IAAI,QAAQ,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvE,QAAQ,IAAI,sBAAsB,CAAC;IACnC,yBAAyB,IAAI,+BAA+B,CAAC;IAC7D,qBAAqB,CAAC,QAAQ,EAAE,CAAC,YAAY,EAAE,+BAA+B,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IACrG;;;OAGG;IACH,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;CAC3F;AAED,MAAM,MAAM,wCAAwC,GAAG,QAAQ,CAAC;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,wBAAwB,KAAK,IAAI,CAAC;IACzD,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CAClE,CAAC,CAAC;AA+DH;;;;;GAKG;AACH,wBAAgB,uCAAuC,CACtD,MAAM,EAAE,wBAAwB,EAChC,OAAO,GAAE,wCAA6C,GACpD,iCAAiC,CAwInC;AAED,gFAAgF;AAChF,wBAAgB,qCAAqC,CACpD,OAAO,GAAE,wCAA6C,GACpD,iCAAiC,CAGnC"}
1
+ {"version":3,"file":"standalone-control.d.ts","sourceRoot":"","sources":["../../src/relay/standalone-control.ts"],"names":[],"mappings":"AAuBA,OAAO,EAEN,KAAK,sBAAsB,EAC3B,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAIN,KAAK,wBAAwB,EAE7B,MAAM,0BAA0B,CAAC;AAElC,eAAO,MAAM,+BAA+B,gDAAgD,CAAC;AAC7F,eAAO,MAAM,8BAA8B,+CAA+C,CAAC;AAC3F,eAAO,MAAM,sCAAsC,uDAAuD,CAAC;AAC3G,eAAO,MAAM,sCAAsC,4CAA4C,CAAC;AAShG,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAC/D,OAAO,+BAA+B,GACtC,OAAO,8BAA8B,GACrC,OAAO,sCAAsC,GAC7C,OAAO,sCAAsC,CAE/C;AAED,MAAM,MAAM,+BAA+B,GAAG,QAAQ,CAAC;IACtD,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CAClB,CAAC,CAAC;AAEH,+EAA+E;AAC/E,MAAM,MAAM,mCAAmC,GAAG,QAAQ,CAAC;IAC1D,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,eAAe,EAAE,MAAM,CAAC;CACxB,CAAC,CAAC;AAaH,qBAAa,sBAAuB,SAAQ,KAAK;gBACpC,OAAO,EAAE,MAAM;CAI3B;AA+ID,MAAM,WAAW,iCAAiC;IACjD,cAAc,IAAI,QAAQ,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvE,QAAQ,IAAI,sBAAsB,CAAC;IACnC,yBAAyB,IAAI,+BAA+B,CAAC;IAC7D,qBAAqB,CAAC,QAAQ,EAAE,CAAC,YAAY,EAAE,+BAA+B,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IACrG;;;OAGG;IACH,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,GAAG,mCAAmC,CAAC,CAAC;CACjI;AAED,MAAM,MAAM,wCAAwC,GAAG,QAAQ,CAAC;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,wBAAwB,KAAK,IAAI,CAAC;IACzD,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CAClE,CAAC,CAAC;AAqEH;;;;;GAKG;AACH,wBAAgB,uCAAuC,CACtD,MAAM,EAAE,wBAAwB,EAChC,OAAO,GAAE,wCAA6C,GACpD,iCAAiC,CA8KnC;AAED,gFAAgF;AAChF,wBAAgB,qCAAqC,CACpD,OAAO,GAAE,wCAA6C,GACpD,iCAAiC,CAGnC"}
@@ -212,11 +212,15 @@ function assertTrustRotateData(value, current) {
212
212
  }
213
213
  function assertAgentBotCredentialData(value) {
214
214
  if (!isRecord(value) ||
215
- !exactKeys(value, ['botUserId', 'token']) ||
215
+ !exactKeys(value, ['botUserId', 'token', 'runtimeInstallationId', 'deliveryVersion']) ||
216
216
  typeof value.botUserId !== 'string' ||
217
217
  !value.botUserId ||
218
218
  typeof value.token !== 'string' ||
219
- !value.token) {
219
+ !value.token ||
220
+ typeof value.runtimeInstallationId !== 'string' ||
221
+ !value.runtimeInstallationId ||
222
+ !Number.isSafeInteger(value.deliveryVersion) ||
223
+ Number(value.deliveryVersion) <= 0) {
220
224
  throw new StandaloneControlError('standalone_control_agent_bot_credential_data_invalid');
221
225
  }
222
226
  }
@@ -247,6 +251,21 @@ export function createStandaloneRelayIdentityController(loaded, options = {}) {
247
251
  updatedAt: Date.now(),
248
252
  });
249
253
  const listeners = new Set();
254
+ let credentialDeliveryTail = Promise.resolve();
255
+ async function runCredentialDeliveryExclusively(operation) {
256
+ let release;
257
+ const previous = credentialDeliveryTail;
258
+ credentialDeliveryTail = new Promise((resolve) => {
259
+ release = resolve;
260
+ });
261
+ await previous;
262
+ try {
263
+ return await operation();
264
+ }
265
+ finally {
266
+ release();
267
+ }
268
+ }
250
269
  async function applySecretRotate(assertionCompact) {
251
270
  if (typeof assertionCompact !== 'string')
252
271
  throw new StandaloneControlError('standalone_control_assertion_invalid');
@@ -303,16 +322,39 @@ export function createStandaloneRelayIdentityController(loaded, options = {}) {
303
322
  clockSkewSeconds,
304
323
  });
305
324
  assertAgentBotCredentialData(verified.data);
306
- const { botUserId, token } = verified.data;
325
+ const { botUserId, token, runtimeInstallationId, deliveryVersion } = verified.data;
326
+ if (runtimeInstallationId !== current.trust.affinity.runtimeInstallationId) {
327
+ throw new StandaloneControlError('standalone_control_agent_bot_credential_installation_mismatch');
328
+ }
329
+ const persistedCredential = current.identity.agentBotCredential;
330
+ const persistedVersion = persistedCredential?.deliveryVersion ?? 0;
331
+ if (deliveryVersion < persistedVersion) {
332
+ throw new StandaloneControlError('standalone_control_agent_bot_credential_stale');
333
+ }
334
+ if (deliveryVersion === persistedVersion) {
335
+ if (!persistedCredential || persistedCredential.botUserId !== botUserId || persistedCredential.token !== token) {
336
+ throw new StandaloneControlError('standalone_control_agent_bot_credential_version_conflict');
337
+ }
338
+ return {
339
+ mcpAppId: current.trust.affinity.mcpAppId,
340
+ runtimeInstallationId,
341
+ deliveryVersion,
342
+ };
343
+ }
307
344
  // Persist into the identity file so the credential survives a restart,
308
345
  // then adopt it in-process so the running app uses it HOT — no restart.
309
346
  // Env always overrides the adopted value (operator override preserved).
310
- const rotated = await rotateStandaloneIdentity((identity) => ({ ...identity, agentBotCredential: { botUserId, token }, rotatedAt: Date.now() }), { filePath: current.filePath });
347
+ const rotated = await rotateStandaloneIdentity((identity) => ({ ...identity, agentBotCredential: { botUserId, token, deliveryVersion }, rotatedAt: Date.now() }), { filePath: current.filePath });
311
348
  current = rotated;
312
349
  setAdoptedAgentBotCredential({ botUserId, token });
313
350
  // The token is never logged; only that a delivery landed.
314
351
  options.logger?.('standalone.identity.agent_bot_credential_delivered', { filePath: current.filePath });
315
352
  options.onRotated?.(current);
353
+ return {
354
+ mcpAppId: current.trust.affinity.mcpAppId,
355
+ runtimeInstallationId,
356
+ deliveryVersion,
357
+ };
316
358
  }
317
359
  async function applyCapabilitiesChanged(assertionCompact) {
318
360
  if (typeof assertionCompact !== 'string')
@@ -362,7 +404,7 @@ export function createStandaloneRelayIdentityController(loaded, options = {}) {
362
404
  else if (method === STANDALONE_TRUST_ROTATE_METHOD)
363
405
  await applyTrustRotate(assertion);
364
406
  else if (method === STANDALONE_AGENT_BOT_CREDENTIAL_METHOD)
365
- await applyAgentBotCredential(assertion);
407
+ return runCredentialDeliveryExclusively(() => applyAgentBotCredential(assertion));
366
408
  else
367
409
  await applyCapabilitiesChanged(assertion);
368
410
  return 'handled';
@@ -1 +1 @@
1
- {"version":3,"file":"standalone-control.js","sourceRoot":"","sources":["../../src/relay/standalone-control.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standalone-control.js","sourceRoot":"","sources":["../../src/relay/standalone-control.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { type RuntimeDispatchTrustV3 } from '../workload/dispatch-assertion.js';
2
2
  export declare const DEFAULT_STANDALONE_IDENTITY_FILE = "./privos-standalone-identity.json";
3
+ export declare const DEFAULT_STANDALONE_PENDING_IDENTITY_FILE = "./privos-standalone-identity.pending.json";
3
4
  export type StandaloneIdentityV2 = Readonly<{
4
5
  pairingVersion: 2;
5
6
  /** Origin the OAuth token + Relay WebSocket are reached at (http/https, no trailing slash). */
@@ -23,8 +24,36 @@ export type StandaloneIdentityV2 = Readonly<{
23
24
  agentBotCredential?: Readonly<{
24
25
  botUserId: string;
25
26
  token: string;
27
+ /** Monotonic Hub delivery epoch; absent only on identities persisted before acknowledgement support. */
28
+ deliveryVersion?: number;
26
29
  }>;
27
30
  }>;
31
+ /**
32
+ * Durable, deliberately non-dispatchable half of app-announced-manifest
33
+ * pairing. It contains the one OAuth identity the Hub will later activate,
34
+ * but no dispatch trust. Runtime-mode/readiness code never considers this
35
+ * file a standalone production identity.
36
+ */
37
+ export type StandalonePendingIdentityV2 = Readonly<{
38
+ pairingVersion: 2;
39
+ state: 'pending-approval';
40
+ relayUrl: string;
41
+ clientId: string;
42
+ clientSecret: string;
43
+ mcpAppId: string;
44
+ pairingId: string;
45
+ oauthClientId: string;
46
+ manifestDigest: string;
47
+ permissionContractHash: string;
48
+ declaredPermissionCeiling: readonly string[];
49
+ hubKid: string;
50
+ fingerprint: string;
51
+ createdAt: number;
52
+ }>;
53
+ export type LoadedStandalonePendingIdentity = Readonly<{
54
+ filePath: string;
55
+ identity: StandalonePendingIdentityV2;
56
+ }>;
28
57
  export type LoadedStandaloneIdentity = Readonly<{
29
58
  filePath: string;
30
59
  identity: StandaloneIdentityV2;
@@ -44,8 +73,11 @@ export declare class StandaloneIdentityError extends Error {
44
73
  /** Renders an SSH-host-key-style fingerprint for out-of-band operator verification. */
45
74
  export declare function standaloneHubFingerprint(hubKid: string): string;
46
75
  export declare function resolveIdentityFilePath(explicit?: string): string;
76
+ /** Resolves the pending file independently so it can never satisfy production readiness. */
77
+ export declare function resolveStandalonePendingIdentityFilePath(explicit?: string, finalIdentityFilePath?: string): string;
47
78
  /** Throws {@link StandaloneIdentityError} `IDENTITY_FILE_INVALID` describing exactly what failed. */
48
79
  export declare function assertStandaloneIdentityShape(value: unknown): asserts value is StandaloneIdentityV2;
80
+ export declare function assertStandalonePendingIdentityShape(value: unknown): asserts value is StandalonePendingIdentityV2;
49
81
  /**
50
82
  * Loads, validates, and returns the standalone identity file. Refuses to load
51
83
  * (with a specific reason) a missing file, a file with unsafe permissions, or
@@ -54,6 +86,10 @@ export declare function assertStandaloneIdentityShape(value: unknown): asserts v
54
86
  export declare function loadStandaloneIdentity(options?: {
55
87
  filePath?: string;
56
88
  }): LoadedStandaloneIdentity;
89
+ export declare function loadStandalonePendingIdentity(options?: {
90
+ filePath?: string;
91
+ finalIdentityFilePath?: string;
92
+ }): LoadedStandalonePendingIdentity;
57
93
  /** True when a standalone identity file exists at the resolved path, without loading/validating it. */
58
94
  export declare function standaloneIdentityFileExists(options?: {
59
95
  filePath?: string;
@@ -67,6 +103,15 @@ export declare function standaloneIdentityFileExists(options?: {
67
103
  export declare function saveStandaloneIdentity(identity: StandaloneIdentityV2, options?: {
68
104
  filePath?: string;
69
105
  }): Promise<string>;
106
+ export declare function saveStandalonePendingIdentity(identity: StandalonePendingIdentityV2, options?: {
107
+ filePath?: string;
108
+ finalIdentityFilePath?: string;
109
+ }): Promise<string>;
110
+ /** Removes only an exact, already-consumed pending identity after final identity persistence. */
111
+ export declare function consumeStandalonePendingIdentity(expected: StandalonePendingIdentityV2, options?: {
112
+ filePath?: string;
113
+ finalIdentityFilePath?: string;
114
+ }): Promise<void>;
70
115
  /**
71
116
  * Atomically rewrites the identity file (temp file + rename) — the durable
72
117
  * half of secret/trust rotation. `mutate` receives the currently persisted,
@@ -1 +1 @@
1
- {"version":3,"file":"standalone-identity.d.ts","sourceRoot":"","sources":["../../src/relay/standalone-identity.ts"],"names":[],"mappings":"AAgBA,OAAO,EAEN,KAAK,sBAAsB,EAC3B,MAAM,mCAAmC,CAAC;AAE3C,eAAO,MAAM,gCAAgC,sCAAsC,CAAC;AAapF,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC;IAC3C,cAAc,EAAE,CAAC,CAAC;IAClB,+FAA+F;IAC/F,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,2FAA2F;IAC3F,KAAK,EAAE,sBAAsB,CAAC;IAC9B,mEAAmE;IACnE,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,QAAQ,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpE,CAAC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,QAAQ,CAAC;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,KAAK,EAAE,QAAQ,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/E,KAAK,EAAE,sBAAsB,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;CACpB,CAAC,CAAC;AAEH,MAAM,MAAM,2BAA2B,GACpC,uBAAuB,GACvB,4BAA4B,GAC5B,2BAA2B,GAC3B,uBAAuB,GACvB,8BAA8B,CAAC;AAElC,qBAAa,uBAAwB,SAAQ,KAAK;aAEhC,IAAI,EAAE,2BAA2B;gBAAjC,IAAI,EAAE,2BAA2B,EACjD,OAAO,EAAE,MAAM;CAKhB;AAaD,uFAAuF;AACvF,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED,qGAAqG;AACrG,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,oBAAoB,CAkDnG;AAeD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,wBAAwB,CAgChG;AAED,uGAAuG;AACvG,wBAAgB,4BAA4B,CAAC,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAErF;AAMD;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC3C,QAAQ,EAAE,oBAAoB,EAC9B,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7B,OAAO,CAAC,MAAM,CAAC,CAuBjB;AAED;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC7C,MAAM,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,oBAAoB,EAC/D,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7B,OAAO,CAAC,wBAAwB,CAAC,CAuBnC"}
1
+ {"version":3,"file":"standalone-identity.d.ts","sourceRoot":"","sources":["../../src/relay/standalone-identity.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ import fs from 'node:fs/promises';
15
15
  import path from 'node:path';
16
16
  import { assertRuntimeDispatchTrustConfigurationV3, } from '../workload/dispatch-assertion.js';
17
17
  export const DEFAULT_STANDALONE_IDENTITY_FILE = './privos-standalone-identity.json';
18
+ export const DEFAULT_STANDALONE_PENDING_IDENTITY_FILE = './privos-standalone-identity.pending.json';
18
19
  const IDENTITY_REQUIRED_KEYS = [
19
20
  'pairingVersion',
20
21
  'relayUrl',
@@ -25,6 +26,22 @@ const IDENTITY_REQUIRED_KEYS = [
25
26
  'pairedAt',
26
27
  ];
27
28
  const IDENTITY_OPTIONAL_KEYS = ['mcpAppId', 'rotatedAt', 'agentBotCredential'];
29
+ const PENDING_IDENTITY_REQUIRED_KEYS = [
30
+ 'pairingVersion',
31
+ 'state',
32
+ 'relayUrl',
33
+ 'clientId',
34
+ 'clientSecret',
35
+ 'mcpAppId',
36
+ 'pairingId',
37
+ 'oauthClientId',
38
+ 'manifestDigest',
39
+ 'permissionContractHash',
40
+ 'declaredPermissionCeiling',
41
+ 'hubKid',
42
+ 'fingerprint',
43
+ 'createdAt',
44
+ ];
28
45
  export class StandaloneIdentityError extends Error {
29
46
  code;
30
47
  constructor(code, message) {
@@ -50,6 +67,17 @@ export function standaloneHubFingerprint(hubKid) {
50
67
  export function resolveIdentityFilePath(explicit) {
51
68
  return path.resolve(explicit ?? process.env.PRIVOS_STANDALONE_IDENTITY_FILE ?? DEFAULT_STANDALONE_IDENTITY_FILE);
52
69
  }
70
+ /** Resolves the pending file independently so it can never satisfy production readiness. */
71
+ export function resolveStandalonePendingIdentityFilePath(explicit, finalIdentityFilePath) {
72
+ if (explicit)
73
+ return path.resolve(explicit);
74
+ if (process.env.PRIVOS_STANDALONE_PENDING_IDENTITY_FILE)
75
+ return path.resolve(process.env.PRIVOS_STANDALONE_PENDING_IDENTITY_FILE);
76
+ if (finalIdentityFilePath || process.env.PRIVOS_STANDALONE_IDENTITY_FILE) {
77
+ return `${resolveIdentityFilePath(finalIdentityFilePath)}.pending`;
78
+ }
79
+ return path.resolve(DEFAULT_STANDALONE_PENDING_IDENTITY_FILE);
80
+ }
53
81
  /** Throws {@link StandaloneIdentityError} `IDENTITY_FILE_INVALID` describing exactly what failed. */
54
82
  export function assertStandaloneIdentityShape(value) {
55
83
  if (!isRecord(value) || !exactKeys(value, IDENTITY_REQUIRED_KEYS, IDENTITY_OPTIONAL_KEYS)) {
@@ -72,11 +100,13 @@ export function assertStandaloneIdentityShape(value) {
72
100
  if (value.agentBotCredential !== undefined) {
73
101
  const credential = value.agentBotCredential;
74
102
  if (!isRecord(credential) ||
75
- Object.keys(credential).sort().join(',') !== 'botUserId,token' ||
103
+ !['botUserId,token', 'botUserId,deliveryVersion,token'].includes(Object.keys(credential).sort().join(',')) ||
76
104
  typeof credential.botUserId !== 'string' ||
77
105
  !credential.botUserId ||
78
106
  typeof credential.token !== 'string' ||
79
- !credential.token) {
107
+ !credential.token ||
108
+ (credential.deliveryVersion !== undefined &&
109
+ (!Number.isSafeInteger(credential.deliveryVersion) || Number(credential.deliveryVersion) <= 0))) {
80
110
  throw new StandaloneIdentityError('IDENTITY_FILE_INVALID', 'Standalone identity agentBotCredential is invalid.');
81
111
  }
82
112
  }
@@ -97,6 +127,44 @@ export function assertStandaloneIdentityShape(value) {
97
127
  throw new StandaloneIdentityError('IDENTITY_FILE_INVALID', 'Standalone identity fingerprint does not match the pinned hub key.');
98
128
  }
99
129
  }
130
+ export function assertStandalonePendingIdentityShape(value) {
131
+ if (!isRecord(value) || !exactKeys(value, PENDING_IDENTITY_REQUIRED_KEYS, [])) {
132
+ throw new StandaloneIdentityError('IDENTITY_FILE_INVALID', 'Standalone pending identity file has an unexpected shape.');
133
+ }
134
+ const declaredPermissionCeiling = Array.isArray(value.declaredPermissionCeiling) ? value.declaredPermissionCeiling : [];
135
+ if (value.pairingVersion !== 2 ||
136
+ value.state !== 'pending-approval' ||
137
+ typeof value.relayUrl !== 'string' ||
138
+ !value.relayUrl ||
139
+ typeof value.clientId !== 'string' ||
140
+ !value.clientId ||
141
+ typeof value.clientSecret !== 'string' ||
142
+ !value.clientSecret ||
143
+ typeof value.mcpAppId !== 'string' ||
144
+ !value.mcpAppId ||
145
+ typeof value.pairingId !== 'string' ||
146
+ !value.pairingId ||
147
+ typeof value.oauthClientId !== 'string' ||
148
+ value.oauthClientId !== value.clientId ||
149
+ !/^sha256:[a-f0-9]{64}$/.test(String(value.manifestDigest)) ||
150
+ !/^[A-Za-z0-9_-]{43}$/.test(String(value.permissionContractHash)) ||
151
+ !Array.isArray(value.declaredPermissionCeiling) ||
152
+ declaredPermissionCeiling.some((scope) => typeof scope !== 'string' || !scope) ||
153
+ new Set(declaredPermissionCeiling).size !== declaredPermissionCeiling.length ||
154
+ [...declaredPermissionCeiling].sort().some((scope, index) => scope !== declaredPermissionCeiling[index]) ||
155
+ typeof value.hubKid !== 'string' ||
156
+ !value.hubKid ||
157
+ value.fingerprint !== standaloneHubFingerprint(value.hubKid) ||
158
+ !Number.isFinite(value.createdAt)) {
159
+ throw new StandaloneIdentityError('IDENTITY_FILE_INVALID', 'Standalone pending identity file has an invalid field.');
160
+ }
161
+ try {
162
+ new URL(value.relayUrl);
163
+ }
164
+ catch {
165
+ throw new StandaloneIdentityError('IDENTITY_FILE_INVALID', 'Standalone pending identity relayUrl is not a valid URL.');
166
+ }
167
+ }
100
168
  function assertSafeFileStat(stat, filePath) {
101
169
  const uid = typeof process.getuid === 'function' ? process.getuid() : stat.uid;
102
170
  const gid = typeof process.getgid === 'function' ? process.getgid() : stat.gid;
@@ -144,6 +212,26 @@ export function loadStandaloneIdentity(options) {
144
212
  fingerprint: parsed.fingerprint,
145
213
  });
146
214
  }
215
+ export function loadStandalonePendingIdentity(options) {
216
+ const filePath = resolveStandalonePendingIdentityFilePath(options?.filePath, options?.finalIdentityFilePath);
217
+ let stat;
218
+ try {
219
+ stat = fsSync.lstatSync(filePath);
220
+ }
221
+ catch {
222
+ throw new StandaloneIdentityError('IDENTITY_FILE_MISSING', `No standalone pending identity file at ${filePath}.`);
223
+ }
224
+ assertSafeFileStat(stat, filePath);
225
+ let parsed;
226
+ try {
227
+ parsed = JSON.parse(fsSync.readFileSync(filePath, 'utf8'));
228
+ }
229
+ catch {
230
+ throw new StandaloneIdentityError('IDENTITY_FILE_UNPARSEABLE', `Standalone pending identity file ${filePath} is not valid JSON.`);
231
+ }
232
+ assertStandalonePendingIdentityShape(parsed);
233
+ return Object.freeze({ filePath, identity: parsed });
234
+ }
147
235
  /** True when a standalone identity file exists at the resolved path, without loading/validating it. */
148
236
  export function standaloneIdentityFileExists(options) {
149
237
  return fsSync.existsSync(resolveIdentityFilePath(options?.filePath));
@@ -180,6 +268,40 @@ export async function saveStandaloneIdentity(identity, options) {
180
268
  }
181
269
  return filePath;
182
270
  }
271
+ export async function saveStandalonePendingIdentity(identity, options) {
272
+ assertStandalonePendingIdentityShape(identity);
273
+ const filePath = resolveStandalonePendingIdentityFilePath(options?.filePath, options?.finalIdentityFilePath);
274
+ await assertSafeParentDirectory(path.dirname(filePath));
275
+ let handle;
276
+ try {
277
+ handle = await fs.open(filePath, 'wx', 0o600);
278
+ }
279
+ catch (error) {
280
+ if (error.code === 'EEXIST') {
281
+ const existing = loadStandalonePendingIdentity({ filePath }).identity;
282
+ if (JSON.stringify(existing) === JSON.stringify(identity))
283
+ return filePath;
284
+ throw new StandaloneIdentityError('IDENTITY_FILE_ALREADY_EXISTS', `Standalone pending identity file ${filePath} already exists with a different pairing binding.`);
285
+ }
286
+ throw error;
287
+ }
288
+ try {
289
+ await handle.writeFile(`${JSON.stringify(identity, null, 2)}\n`, 'utf8');
290
+ await handle.sync();
291
+ }
292
+ finally {
293
+ await handle.close();
294
+ }
295
+ return filePath;
296
+ }
297
+ /** Removes only an exact, already-consumed pending identity after final identity persistence. */
298
+ export async function consumeStandalonePendingIdentity(expected, options) {
299
+ const loaded = loadStandalonePendingIdentity(options);
300
+ if (JSON.stringify(loaded.identity) !== JSON.stringify(expected)) {
301
+ throw new StandaloneIdentityError('IDENTITY_FILE_INVALID', 'Pending identity changed while pairing completion was being persisted.');
302
+ }
303
+ await fs.unlink(loaded.filePath);
304
+ }
183
305
  /**
184
306
  * Atomically rewrites the identity file (temp file + rename) — the durable
185
307
  * half of secret/trust rotation. `mutate` receives the currently persisted,