ftown 0.19.54 → 0.19.56

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":"pairing-client.js","sourceRoot":"","sources":["../src/pairing-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pairing-client.js","sourceRoot":"","sources":["../src/pairing-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { PendingBridgeDecision, PendingBridgeStatus } from '../pending-approval-protocol.js';
2
+ /** The bridge is the only writer. CLI reads never modify this snapshot. */
3
+ export declare function writePendingBridgeStatus(dataDir: string, status: PendingBridgeStatus): Promise<void>;
4
+ export declare function readPendingBridgeStatus(dataDir: string): Promise<PendingBridgeStatus>;
5
+ /** Called only by explicit OS-local CLI action, never by server status. */
6
+ export declare function submitPendingBridgeDecision(dataDir: string, decision: 'confirm' | 'reject', comparisonCode?: string, now?: number): Promise<void>;
7
+ export declare function matchesPendingBridgeDecision(status: PendingBridgeStatus, decision: PendingBridgeDecision, now?: number): boolean;
8
+ /** Reads a separate CLI-owned message file; never edits or deletes it. */
9
+ export declare function waitForPendingBridgeDecision(dataDir: string, status: PendingBridgeStatus, signal: AbortSignal): Promise<PendingBridgeDecision>;
10
+ export type BridgePairingMode = {
11
+ method: 'pending-v1';
12
+ accountHint: string;
13
+ } | {
14
+ method: 'bootstrap';
15
+ };
16
+ export declare function selectBridgePairingMode(options: {
17
+ account?: string;
18
+ bootstrap?: boolean;
19
+ interactive: boolean;
20
+ previousPending?: boolean;
21
+ }, prompt: () => Promise<string>): Promise<BridgePairingMode>;
@@ -0,0 +1,79 @@
1
+ import { join } from 'node:path';
2
+ import { setTimeout as delay } from 'node:timers/promises';
3
+ import { z } from 'zod';
4
+ import { normalizePendingAccountHint } from '../pending-approval-crypto.js';
5
+ import { AtomicSnapshot } from './snapshot.js';
6
+ import { BridgeSecurityError } from './errors.js';
7
+ const hash = z.string().regex(/^[A-Za-z0-9_-]{43}$/);
8
+ const code = z.string().regex(/^[A-F0-9]{4}-[A-F0-9]{4}-[A-F0-9]{4}$/);
9
+ const common = { version: z.literal(1), requestId: hash, processNonce: hash, expiresAt: z.string().datetime() };
10
+ const statusSchema = z.union([
11
+ z.object({ ...common, phase: z.literal('waiting'), offerHash: hash.nullable(), comparisonCode: z.null() }).strict(),
12
+ z.object({ ...common, phase: z.enum(['comparing', 'confirming']), offerHash: hash, comparisonCode: code }).strict(),
13
+ z.object({ ...common, phase: z.enum(['approved', 'rejected', 'cancelled', 'expired', 'conflict']), offerHash: hash.nullable(), comparisonCode: z.null() }).strict(),
14
+ ]);
15
+ const decisionSchema = z.union([
16
+ z.object({ ...common, decision: z.literal('confirm'), offerHash: hash, comparisonCode: code }).strict(),
17
+ z.object({ ...common, decision: z.literal('reject'), offerHash: hash.nullable() }).strict(),
18
+ ]);
19
+ const terminal = (state) => ['approved', 'rejected', 'cancelled', 'expired', 'conflict'].includes(state.phase);
20
+ /** The bridge is the only writer. CLI reads never modify this snapshot. */
21
+ export async function writePendingBridgeStatus(dataDir, status) {
22
+ const store = new AtomicSnapshot(join(dataDir, 'security', 'pending-approval-status.json'), z.object({ status: statusSchema }).strict(), () => ({ status }));
23
+ await store.transact(state => { state.status = status; });
24
+ }
25
+ export async function readPendingBridgeStatus(dataDir) {
26
+ const store = new AtomicSnapshot(join(dataDir, 'security', 'pending-approval-status.json'), z.object({ status: statusSchema }).strict().nullable(), () => null);
27
+ const saved = await store.read(state => state?.status ?? null);
28
+ if (!saved)
29
+ throw new BridgeSecurityError('account_approval_required');
30
+ return saved;
31
+ }
32
+ /** Called only by explicit OS-local CLI action, never by server status. */
33
+ export async function submitPendingBridgeDecision(dataDir, decision, comparisonCode, now = Date.now()) {
34
+ const status = await readPendingBridgeStatus(dataDir);
35
+ if (terminal(status) || Date.parse(status.expiresAt) <= now)
36
+ throw new BridgeSecurityError('account_enrollment_expired');
37
+ const base = { version: 1, requestId: status.requestId, processNonce: status.processNonce, expiresAt: status.expiresAt };
38
+ let value;
39
+ if (decision === 'confirm') {
40
+ if (status.phase !== 'comparing' || comparisonCode !== status.comparisonCode)
41
+ throw new BridgeSecurityError('account_enrollment_invalid');
42
+ value = { ...base, decision, offerHash: status.offerHash, comparisonCode };
43
+ }
44
+ else
45
+ value = { ...base, decision, offerHash: status.offerHash };
46
+ const store = new AtomicSnapshot(join(dataDir, 'security', 'pending-approval-confirmation.json'), z.object({ decision: decisionSchema }).strict(), () => ({ decision: value }));
47
+ await store.transact(state => { state.decision = value; });
48
+ }
49
+ export function matchesPendingBridgeDecision(status, decision, now = Date.now()) {
50
+ return !terminal(status) && Date.parse(status.expiresAt) > now && decision.requestId === status.requestId
51
+ && decision.processNonce === status.processNonce && decision.offerHash === status.offerHash && decision.expiresAt === status.expiresAt
52
+ && (decision.decision === 'reject' || (status.phase === 'comparing' && decision.comparisonCode === status.comparisonCode));
53
+ }
54
+ /** Reads a separate CLI-owned message file; never edits or deletes it. */
55
+ export async function waitForPendingBridgeDecision(dataDir, status, signal) {
56
+ const store = new AtomicSnapshot(join(dataDir, 'security', 'pending-approval-confirmation.json'), z.object({ decision: decisionSchema }).strict().nullable(), () => null);
57
+ for (;;) {
58
+ signal.throwIfAborted();
59
+ if (Date.parse(status.expiresAt) <= Date.now())
60
+ throw new BridgeSecurityError('account_enrollment_expired');
61
+ const decision = await store.read(state => state?.decision ?? null);
62
+ if (decision && matchesPendingBridgeDecision(status, decision))
63
+ return decision;
64
+ await delay(100, undefined, { signal });
65
+ }
66
+ }
67
+ export async function selectBridgePairingMode(options, prompt) {
68
+ if (options.account !== undefined && options.bootstrap)
69
+ throw new Error('--account and --bootstrap cannot be combined');
70
+ if (options.account !== undefined)
71
+ return { method: 'pending-v1', accountHint: normalizePendingAccountHint(options.account) };
72
+ if (options.previousPending && !options.bootstrap && !options.interactive)
73
+ throw new Error('Previous inbox approval was interrupted. Restart with --account <email>, or select --bootstrap explicitly.');
74
+ if (options.bootstrap || !options.interactive)
75
+ return { method: 'bootstrap' };
76
+ const entered = await prompt();
77
+ return entered.trim() === '' ? { method: 'bootstrap' } : { method: 'pending-v1', accountHint: normalizePendingAccountHint(entered) };
78
+ }
79
+ //# sourceMappingURL=pending-approval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pending-approval.js","sourceRoot":"","sources":["../../../src/security/bridge/pending-approval.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,31 @@
1
1
  import type { AccountEnrollmentLink, VerifiedAccountTrust } from '../account-protocol.js';
2
+ import type { AccountEnrollmentRequest } from '../account-protocol.js';
3
+ import type { PendingHello, PendingOffer } from '../pending-approval-protocol.js';
2
4
  import type { EndpointIdentity } from '../protocol.js';
3
5
  export interface PendingBridgeEnrollment {
4
6
  identity: EndpointIdentity;
5
7
  link: AccountEnrollmentLink;
6
8
  }
7
- export declare function prepareBridgeEnrollment(dataDir: string, bridgeId: string, label: string, now?: number): Promise<PendingBridgeEnrollment>;
9
+ export declare function previousPendingBridgeAttempt(dataDir: string): Promise<{
10
+ requestId: string;
11
+ candidateToken: string;
12
+ } | null>;
13
+ export declare function prepareBridgeEnrollment(dataDir: string, bridgeId: string, label: string, now?: number, fresh?: boolean): Promise<PendingBridgeEnrollment>;
14
+ export interface PendingAutomaticEnrollment {
15
+ identity: EndpointIdentity;
16
+ request: Extract<AccountEnrollmentRequest, {
17
+ kind: 'bridge';
18
+ }>;
19
+ candidateToken: string;
20
+ previous: {
21
+ requestId: string;
22
+ candidateToken: string;
23
+ } | null;
24
+ pinOffer(offer: PendingOffer): Promise<void>;
25
+ pinHello(hello: PendingHello): Promise<void>;
26
+ }
27
+ /** One fresh process attempt, retaining the long-term point even after cancellation/restart. */
28
+ export declare function preparePendingBridgeEnrollment(dataDir: string, bridgeId: string, label: string, now?: number): Promise<PendingAutomaticEnrollment>;
8
29
  /** URL is constructed from operator configuration, never a service-provided redirect. */
9
30
  export declare function savePairingVerificationUrl(dataDir: string, apiUrl: string, userCode: string): Promise<string>;
10
31
  export declare function pendingPairingLink(dataDir: string, now?: number): Promise<string>;
@@ -2,15 +2,21 @@ import { readFile } from 'node:fs/promises';
2
2
  import { join } from 'node:path';
3
3
  import { z } from 'zod';
4
4
  import { createAccountEnrollment, encodeAccountEnrollmentLink, generateAccountBridgeCandidate, importAccountBridgeCandidate, parseAccountEnrollmentLink, verifyAccountHistory } from '../account-crypto.js';
5
+ import { parsePendingOffer, pendingHelloHash, pendingOfferHash } from '../pending-approval-crypto.js';
5
6
  import { AtomicSnapshot } from './snapshot.js';
6
7
  import { endpointSchema } from './metadata.js';
7
8
  import { identityRecordSchema } from './identity.js';
8
9
  import { importEndpoint } from '../crypto.js';
9
10
  import { BridgeSecurityError } from './errors.js';
10
11
  import { accountReadUrl } from './account-client.js';
11
- const pendingSchema = z.object({ version: z.literal(1), bridgeId: z.string().regex(/^[A-Za-z0-9_-]{1,200}$/),
12
+ const legacySchema = z.object({ version: z.literal(1), bridgeId: z.string().regex(/^[A-Za-z0-9_-]{1,200}$/),
12
13
  endpoint: endpointSchema, privateKey: identityRecordSchema.shape.privateKey,
13
14
  link: z.custom(), verificationUrl: z.string().max(4096).nullable() }).strict();
15
+ const automaticSchema = z.object({ version: z.literal(2), bridgeId: z.string().regex(/^[A-Za-z0-9_-]{1,200}$/),
16
+ endpoint: endpointSchema, privateKey: identityRecordSchema.shape.privateKey,
17
+ request: z.custom(), candidateToken: z.string().regex(/^[A-Za-z0-9_-]{43}$/),
18
+ offer: z.custom().nullable(), hello: z.custom().nullable() }).strict();
19
+ const pendingSchema = z.discriminatedUnion('version', [legacySchema, automaticSchema]);
14
20
  const pendingPath = (dataDir) => join(dataDir, 'security', 'account-enrollment.json');
15
21
  async function readPending(dataDir) {
16
22
  let raw;
@@ -24,40 +30,97 @@ async function readPending(dataDir) {
24
30
  }
25
31
  try {
26
32
  const saved = pendingSchema.parse(JSON.parse(raw));
27
- encodeAccountEnrollmentLink(saved.link);
33
+ if (saved.version === 1)
34
+ encodeAccountEnrollmentLink(saved.link);
35
+ else {
36
+ const parsed = await parseAccountEnrollmentLink({ request: saved.request, secret: saved.candidateToken }, Date.parse(saved.request.expiresAt) - 1);
37
+ if (parsed.request.kind !== 'bridge' || parsed.request.bridgeId !== saved.bridgeId)
38
+ throw new Error('Wrong pending context');
39
+ }
28
40
  return saved;
29
41
  }
30
42
  catch {
31
43
  throw new BridgeSecurityError('account_storage_unavailable');
32
44
  }
33
45
  }
34
- export async function prepareBridgeEnrollment(dataDir, bridgeId, label, now = Date.now()) {
46
+ export async function previousPendingBridgeAttempt(dataDir) {
47
+ const existing = await readPending(dataDir);
48
+ return existing?.version === 2 ? { requestId: existing.request.requestId, candidateToken: existing.candidateToken } : null;
49
+ }
50
+ export async function prepareBridgeEnrollment(dataDir, bridgeId, label, now = Date.now(), fresh = false) {
35
51
  const existing = await readPending(dataDir);
36
52
  if (existing && existing.bridgeId !== bridgeId)
37
53
  throw new BridgeSecurityError('wrong_context');
38
- const unexpired = existing && typeof existing.link?.request?.expiresAt === 'string' && Date.parse(existing.link.request.expiresAt) > now;
54
+ const unexpired = !fresh && existing?.version === 1 && Date.parse(existing.link.request.expiresAt) > now;
39
55
  let initial = existing;
40
56
  if (!unexpired) {
41
57
  // Expiring a request rotates its challenge/secret, never the pending bridge point.
42
58
  // Approval may already exist remotely even when its response was lost.
43
59
  const identity = existing ? await importAccountBridgeCandidate(existing.endpoint, existing.privateKey, false)
44
60
  : await generateAccountBridgeCandidate(bridgeId, true);
45
- initial = pendingSchema.parse({ version: 1, bridgeId, endpoint: identity.endpoint,
61
+ initial = legacySchema.parse({ version: 1, bridgeId, endpoint: identity.endpoint,
46
62
  privateKey: existing?.privateKey ?? await crypto.subtle.exportKey('jwk', identity.keyPair.privateKey),
47
63
  link: await createAccountEnrollment(identity, label.slice(0, 200), null, bridgeId, now), verificationUrl: null });
48
64
  }
49
65
  const store = new AtomicSnapshot(pendingPath(dataDir), pendingSchema, () => initial);
50
66
  const saved = await store.transact(state => {
51
- if (!unexpired && existing)
67
+ if (!unexpired && existing) {
68
+ for (const key of Object.keys(state))
69
+ delete state[key];
52
70
  Object.assign(state, initial);
71
+ }
53
72
  return state;
54
73
  });
74
+ if (saved.version !== 1)
75
+ throw new BridgeSecurityError('account_enrollment_invalid');
55
76
  const link = await parseAccountEnrollmentLink(saved.link, now);
56
77
  if (link.request.kind !== 'bridge' || link.request.bridgeId !== bridgeId || link.request.candidate.id !== saved.endpoint.id
57
78
  || link.request.candidate.publicKey !== saved.endpoint.publicKey || link.request.candidate.ownerId !== saved.endpoint.ownerId)
58
79
  throw new BridgeSecurityError('account_enrollment_invalid');
59
80
  return { identity: await importAccountBridgeCandidate(saved.endpoint, saved.privateKey, false), link };
60
81
  }
82
+ /** One fresh process attempt, retaining the long-term point even after cancellation/restart. */
83
+ export async function preparePendingBridgeEnrollment(dataDir, bridgeId, label, now = Date.now()) {
84
+ const existing = await readPending(dataDir);
85
+ if (existing && existing.bridgeId !== bridgeId)
86
+ throw new BridgeSecurityError('wrong_context');
87
+ const identity = existing ? await importAccountBridgeCandidate(existing.endpoint, existing.privateKey, false)
88
+ : await generateAccountBridgeCandidate(bridgeId, true);
89
+ const generated = await createAccountEnrollment(identity, label.slice(0, 200), null, bridgeId, now);
90
+ const record = automaticSchema.parse({ version: 2, bridgeId, endpoint: identity.endpoint,
91
+ privateKey: existing?.privateKey ?? await crypto.subtle.exportKey('jwk', identity.keyPair.privateKey),
92
+ request: generated.request, candidateToken: Buffer.from(crypto.getRandomValues(new Uint8Array(32))).toString('base64url'), offer: null, hello: null });
93
+ // transact replaces fields in place; its initial state must not alias the source record.
94
+ const store = new AtomicSnapshot(pendingPath(dataDir), pendingSchema, () => structuredClone(record));
95
+ await store.transact(state => {
96
+ for (const key of Object.keys(state))
97
+ delete state[key];
98
+ Object.assign(state, record);
99
+ });
100
+ const current = async (update) => store.transact(async (state) => {
101
+ if (state.version !== 2 || state.request.requestId !== record.request.requestId || state.candidateToken !== record.candidateToken)
102
+ throw new BridgeSecurityError('account_trust_conflict');
103
+ await update(state);
104
+ });
105
+ return {
106
+ identity: await importAccountBridgeCandidate(record.endpoint, record.privateKey, false),
107
+ request: record.request, candidateToken: record.candidateToken,
108
+ previous: existing?.version === 2 ? { requestId: existing.request.requestId, candidateToken: existing.candidateToken } : null,
109
+ pinOffer: offer => current(async (state) => {
110
+ await parsePendingOffer(offer, state.request);
111
+ if (state.offer && await pendingOfferHash(state.offer) !== await pendingOfferHash(offer))
112
+ throw new BridgeSecurityError('account_trust_conflict');
113
+ state.offer ??= offer;
114
+ }),
115
+ pinHello: hello => current(async (state) => {
116
+ if (!state.offer || hello.requestId !== state.request.requestId || hello.offerHash !== await pendingOfferHash(state.offer))
117
+ throw new BridgeSecurityError('wrong_context');
118
+ if (state.hello && await pendingHelloHash(state.hello) !== await pendingHelloHash(hello))
119
+ throw new BridgeSecurityError('account_trust_conflict');
120
+ state.hello ??= hello;
121
+ }),
122
+ };
123
+ }
61
124
  /** URL is constructed from operator configuration, never a service-provided redirect. */
62
125
  export async function savePairingVerificationUrl(dataDir, apiUrl, userCode) {
63
126
  accountReadUrl(apiUrl);
@@ -66,15 +129,16 @@ export async function savePairingVerificationUrl(dataDir, apiUrl, userCode) {
66
129
  const url = new URL('/pair', apiUrl);
67
130
  url.searchParams.set('code', userCode);
68
131
  const existing = await readPending(dataDir);
69
- if (!existing)
132
+ if (!existing || existing.version !== 1)
70
133
  throw new BridgeSecurityError('account_enrollment_invalid');
71
134
  const store = new AtomicSnapshot(pendingPath(dataDir), pendingSchema, () => existing);
72
- await store.transact(state => { state.verificationUrl = url.href; });
135
+ await store.transact(state => { if (state.version !== 1)
136
+ throw new BridgeSecurityError('account_trust_conflict'); state.verificationUrl = url.href; });
73
137
  return url.href;
74
138
  }
75
139
  export async function pendingPairingLink(dataDir, now = Date.now()) {
76
140
  const saved = await readPending(dataDir);
77
- if (!saved?.verificationUrl)
141
+ if (!saved || saved.version !== 1 || !saved.verificationUrl)
78
142
  throw new BridgeSecurityError('account_enrollment_invalid');
79
143
  const link = await parseAccountEnrollmentLink(saved.link, now);
80
144
  const url = new URL(saved.verificationUrl);
@@ -1 +1 @@
1
- {"version":3,"file":"pending-enrollment.js","sourceRoot":"","sources":["../../../src/security/bridge/pending-enrollment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pending-enrollment.js","sourceRoot":"","sources":["../../../src/security/bridge/pending-enrollment.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { AccountEnrollmentLink, AccountEnrollmentRequest, AccountHistory, AccountSigningIdentity } from './account-protocol.js';
2
+ import type { EndpointIdentity } from './protocol.js';
3
+ import type { PendingApprovalState, PendingCandidateConfirmation, PendingHello, PendingHelloLocal, PendingOffer, PendingOfferLocal, PendingOpenResult, PendingResult, PendingReveal, PendingReviewerCommand, PendingReviewerPayload, PendingSecret } from './pending-approval-protocol.js';
4
+ export declare const PENDING_APPROVAL_LIMITS: Readonly<{
5
+ lifetimeMs: 300000;
6
+ pollIntervalMs: 2000;
7
+ requestTimeoutMs: 15000;
8
+ maxPendingPerTarget: 128;
9
+ maxPendingGlobal: 4096;
10
+ maxWireBytes: 65536;
11
+ maxInboxBytes: 524288;
12
+ maxFutureSkewMs: 30000;
13
+ }>;
14
+ export declare function normalizePendingAccountHint(value: unknown): string;
15
+ export declare function createPendingOffer(req: AccountEnrollmentRequest, approver: EndpointIdentity, signing: AccountSigningIdentity, history: AccountHistory, now?: number): Promise<PendingOfferLocal>;
16
+ export declare function parsePendingOffer(value: unknown, req: AccountEnrollmentRequest, now?: number): Promise<PendingOffer>;
17
+ export declare function pendingOfferHash(value: PendingOffer): Promise<string>;
18
+ export declare function pendingHelloHash(value: PendingHello): Promise<string>;
19
+ export declare function createPendingHello(candidate: EndpointIdentity, value: PendingOffer, now?: number): Promise<PendingHelloLocal>;
20
+ export declare function openPendingHello(approver: EndpointIdentity, value: PendingOfferLocal, packet: PendingHello, now?: number): Promise<PendingSecret>;
21
+ export declare function pendingComparisonCode(value: PendingOffer, key: PendingSecret, disclosure: PendingReveal): Promise<string>;
22
+ export declare function createPendingConfirmation(value: PendingOffer, key: PendingSecret, disclosure: PendingReveal, confirmedOfferHash: string): Promise<PendingCandidateConfirmation>;
23
+ export declare function verifyPendingConfirmation(value: PendingOffer, key: PendingSecret, disclosure: PendingReveal, proof: PendingCandidateConfirmation): Promise<void>;
24
+ export declare function pendingBootstrapLink(value: PendingOffer, key: PendingSecret, disclosure: PendingReveal): Promise<AccountEnrollmentLink>;
25
+ export declare function createPendingResult(approver: EndpointIdentity, value: PendingOfferLocal, key: PendingSecret, proof: PendingCandidateConfirmation, confirmedOfferHash: string, history: AccountHistory, now?: number): Promise<PendingResult>;
26
+ export declare function openPendingResult(candidate: EndpointIdentity, value: PendingOffer, key: PendingSecret, disclosure: PendingReveal, confirmedOfferHash: string, received: PendingResult, history: AccountHistory, now?: number): Promise<PendingOpenResult>;
27
+ export declare function signPendingAction(payload: PendingReviewerPayload, signing: AccountSigningIdentity): Promise<PendingReviewerCommand>;
28
+ export declare function verifyPendingAction(value: unknown, req: AccountEnrollmentRequest, history: AccountHistory, now?: number): Promise<PendingReviewerCommand>;
29
+ export declare function parsePendingState(value: unknown, now?: number): Promise<PendingApprovalState>;