ftown 0.19.52 → 0.19.54

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.
Files changed (139) hide show
  1. package/claude-mod/hooks/register.js +6 -5
  2. package/dist/bridge-auth.d.ts +4 -0
  3. package/dist/bridge-auth.js +2 -2
  4. package/dist/bridge-auth.js.map +1 -1
  5. package/dist/centrifugo-client.d.ts +11 -1
  6. package/dist/centrifugo-client.js +71 -69
  7. package/dist/centrifugo-client.js.map +1 -1
  8. package/dist/cli-client.d.ts +6 -0
  9. package/dist/cli-client.js +43 -18
  10. package/dist/cli-client.js.map +1 -1
  11. package/dist/command-rpc.d.ts +5 -2
  12. package/dist/command-rpc.js +62 -16
  13. package/dist/command-rpc.js.map +1 -1
  14. package/dist/direct-transport/loopback-server.d.ts +5 -1
  15. package/dist/direct-transport/loopback-server.js +19 -6
  16. package/dist/direct-transport/loopback-server.js.map +1 -1
  17. package/dist/direct-transport/peer-manager.d.ts +4 -0
  18. package/dist/direct-transport/peer-manager.js +16 -2
  19. package/dist/direct-transport/peer-manager.js.map +1 -1
  20. package/dist/ftown-cli.js +4 -1
  21. package/dist/ftown-cli.js.map +1 -1
  22. package/dist/index.js +100 -40
  23. package/dist/index.js.map +1 -1
  24. package/dist/local-api-server.d.ts +12 -0
  25. package/dist/local-api-server.js +182 -41
  26. package/dist/local-api-server.js.map +1 -1
  27. package/dist/local-pair-cli.d.ts +2 -3
  28. package/dist/local-pair-cli.js +12 -53
  29. package/dist/local-pair-cli.js.map +1 -1
  30. package/dist/mcp/fleet.d.ts +11 -9
  31. package/dist/mcp/fleet.js +61 -44
  32. package/dist/mcp/fleet.js.map +1 -1
  33. package/dist/mcp/http.d.ts +10 -9
  34. package/dist/mcp/http.js +133 -8
  35. package/dist/mcp/http.js.map +1 -1
  36. package/dist/mcp/legacy-relay.d.ts +2 -2
  37. package/dist/mcp/legacy-relay.js +4 -43
  38. package/dist/mcp/legacy-relay.js.map +1 -1
  39. package/dist/mcp/mcp-key-store.d.ts +52 -0
  40. package/dist/mcp/mcp-key-store.js +206 -0
  41. package/dist/mcp/mcp-key-store.js.map +1 -0
  42. package/dist/mcp/oauth.d.ts +5 -1
  43. package/dist/mcp/oauth.js +113 -39
  44. package/dist/mcp/oauth.js.map +1 -1
  45. package/dist/mcp/relay-handler.d.ts +2 -1
  46. package/dist/mcp/relay-handler.js +5 -40
  47. package/dist/mcp/relay-handler.js.map +1 -1
  48. package/dist/mcp/relay.d.ts +4 -4
  49. package/dist/mcp/relay.js +35 -85
  50. package/dist/mcp/relay.js.map +1 -1
  51. package/dist/mcp/secure-client.d.ts +23 -0
  52. package/dist/mcp/secure-client.js +124 -0
  53. package/dist/mcp/secure-client.js.map +1 -0
  54. package/dist/mcp/security-events.d.ts +65 -0
  55. package/dist/mcp/security-events.js +210 -0
  56. package/dist/mcp/security-events.js.map +1 -0
  57. package/dist/mcp/server.d.ts +1 -0
  58. package/dist/mcp/server.js +2 -2
  59. package/dist/mcp/server.js.map +1 -1
  60. package/dist/mcp/test-support.d.ts +32 -0
  61. package/dist/mcp/test-support.js +120 -0
  62. package/dist/mcp/test-support.js.map +1 -0
  63. package/dist/mcp-cli.js +56 -36
  64. package/dist/mcp-cli.js.map +1 -1
  65. package/dist/pairing-client.d.ts +10 -12
  66. package/dist/pairing-client.js +36 -9
  67. package/dist/pairing-client.js.map +1 -1
  68. package/dist/push-notifier.js +3 -1
  69. package/dist/push-notifier.js.map +1 -1
  70. package/dist/security/account-crypto.d.ts +33 -0
  71. package/dist/security/account-crypto.js +649 -0
  72. package/dist/security/account-crypto.js.map +1 -0
  73. package/dist/security/account-protocol.d.ts +228 -0
  74. package/dist/security/account-protocol.js +2 -0
  75. package/dist/security/account-protocol.js.map +1 -0
  76. package/dist/security/bridge/account-client.d.ts +7 -0
  77. package/dist/security/bridge/account-client.js +87 -0
  78. package/dist/security/bridge/account-client.js.map +1 -0
  79. package/dist/security/bridge/account-state.d.ts +471 -0
  80. package/dist/security/bridge/account-state.js +78 -0
  81. package/dist/security/bridge/account-state.js.map +1 -0
  82. package/dist/security/bridge/audit.d.ts +37 -0
  83. package/dist/security/bridge/audit.js +185 -0
  84. package/dist/security/bridge/audit.js.map +1 -0
  85. package/dist/security/bridge/direct.d.ts +22 -0
  86. package/dist/security/bridge/direct.js +72 -0
  87. package/dist/security/bridge/direct.js.map +1 -0
  88. package/dist/security/bridge/errors.d.ts +7 -0
  89. package/dist/security/bridge/errors.js +12 -0
  90. package/dist/security/bridge/errors.js.map +1 -0
  91. package/dist/security/bridge/execute.d.ts +3 -0
  92. package/dist/security/bridge/execute.js +38 -0
  93. package/dist/security/bridge/execute.js.map +1 -0
  94. package/dist/security/bridge/identity.d.ts +441 -0
  95. package/dist/security/bridge/identity.js +64 -0
  96. package/dist/security/bridge/identity.js.map +1 -0
  97. package/dist/security/bridge/local-client.d.ts +4 -0
  98. package/dist/security/bridge/local-client.js +43 -0
  99. package/dist/security/bridge/local-client.js.map +1 -0
  100. package/dist/security/bridge/metadata.d.ts +99 -0
  101. package/dist/security/bridge/metadata.js +23 -0
  102. package/dist/security/bridge/metadata.js.map +1 -0
  103. package/dist/security/bridge/native-wake.d.ts +16 -0
  104. package/dist/security/bridge/native-wake.js +15 -0
  105. package/dist/security/bridge/native-wake.js.map +1 -0
  106. package/dist/security/bridge/pending-enrollment.d.ts +12 -0
  107. package/dist/security/bridge/pending-enrollment.js +113 -0
  108. package/dist/security/bridge/pending-enrollment.js.map +1 -0
  109. package/dist/security/bridge/permissions.d.ts +11 -0
  110. package/dist/security/bridge/permissions.js +97 -0
  111. package/dist/security/bridge/permissions.js.map +1 -0
  112. package/dist/security/bridge/policy.d.ts +55 -0
  113. package/dist/security/bridge/policy.js +415 -0
  114. package/dist/security/bridge/policy.js.map +1 -0
  115. package/dist/security/bridge/security.d.ts +61 -0
  116. package/dist/security/bridge/security.js +388 -0
  117. package/dist/security/bridge/security.js.map +1 -0
  118. package/dist/security/bridge/snapshot.d.ts +14 -0
  119. package/dist/security/bridge/snapshot.js +77 -0
  120. package/dist/security/bridge/snapshot.js.map +1 -0
  121. package/dist/security/crypto.d.ts +17 -0
  122. package/dist/security/crypto.js +280 -0
  123. package/dist/security/crypto.js.map +1 -0
  124. package/dist/security/protocol.d.ts +400 -0
  125. package/dist/security/protocol.js +9 -0
  126. package/dist/security/protocol.js.map +1 -0
  127. package/dist/security-cli.d.ts +3 -0
  128. package/dist/security-cli.js +69 -0
  129. package/dist/security-cli.js.map +1 -0
  130. package/dist/solo/solo-server.js +24 -2
  131. package/dist/solo/solo-server.js.map +1 -1
  132. package/dist/types.d.ts +1 -1
  133. package/dist/wire-types.d.ts +3 -0
  134. package/dist/wire-types.js.map +1 -1
  135. package/hooks/notify.sh +1 -1
  136. package/muse-plugin/lib/ftown-hook.sh +6 -22
  137. package/opencode-plugin/ftown.js +33 -5
  138. package/package.json +4 -2
  139. package/pi-extension/ftown.js +33 -5
@@ -10,6 +10,8 @@
10
10
  * returned token/refreshToken stay out of the `log` sink; only the low-value,
11
11
  * single-use `userCode` and the verification URL are printed.
12
12
  */
13
+ import { encodeAccountEnrollmentLink, parseAccountEnrollmentLink } from './security/account-crypto.js';
14
+ import { accountReadUrl } from './security/bridge/account-client.js';
13
15
  const realSleep = (ms) => new Promise((r) => setTimeout(r, ms));
14
16
  /**
15
17
  * Drive the pairing flow to completion.
@@ -19,19 +21,42 @@ const realSleep = (ms) => new Promise((r) => setTimeout(r, ms));
19
21
  */
20
22
  export async function runPairing(opts) {
21
23
  const { apiUrl, bridgeId, hostname, platform, localPort, localNonce, fetchImpl = fetch, sleepImpl = realSleep, log = (msg) => console.log(msg), } = opts;
24
+ const enrollment = opts.enrollment ? await parseAccountEnrollmentLink(opts.enrollment) : undefined;
25
+ if (enrollment && (enrollment.request.kind !== 'bridge' || enrollment.request.bridgeId !== bridgeId))
26
+ throw new Error('Invalid encrypted bridge enrollment');
22
27
  const start = await postJson(fetchImpl, `${apiUrl}/api/auth/bridge/pair/start`, {
23
28
  bridgeId,
24
29
  hostname,
25
30
  platform,
31
+ ...(enrollment ? { enrollment: enrollment.request } : {}),
26
32
  });
27
33
  // P8: userCode + URL are printed; deviceCode is NEVER logged.
28
- log('Approve this machine to connect it to ftown:\n' +
29
- ` ${start.verificationUri}\n` +
30
- ` code: ${start.userCode}\n` +
31
- 'Waiting for approval…');
34
+ if (enrollment) {
35
+ accountReadUrl(apiUrl);
36
+ if (typeof start.userCode !== 'string' || !/^[A-Za-z0-9-]{1,100}$/.test(start.userCode)
37
+ || typeof start.deviceCode !== 'string' || start.deviceCode.length < 1 || start.deviceCode.length > 200
38
+ || !Number.isInteger(start.intervalMs) || start.intervalMs < 100 || start.intervalMs > 60000
39
+ || !Number.isInteger(start.expiresInMs) || start.expiresInMs < 1 || start.expiresInMs > 300000)
40
+ throw new Error('Invalid encrypted bridge approval response');
41
+ await opts.onPairingCode?.(start.userCode);
42
+ const url = new URL('/pair', apiUrl);
43
+ url.searchParams.set('code', start.userCode);
44
+ url.hash = `account=${encodeAccountEnrollmentLink(enrollment)}`;
45
+ // An interactive CLI may display this directly; redirected logs only receive instructions.
46
+ if (opts.displayEnrollmentUrl)
47
+ opts.displayEnrollmentUrl(url.href);
48
+ else if (process.stderr.isTTY)
49
+ process.stderr.write(`Approve this computer: ${url.href}\n`);
50
+ log('Waiting for encrypted computer approval. Run ftown security pair-link to display the current private approval link.');
51
+ }
52
+ else
53
+ log('Approve this machine to connect it to ftown:\n' +
54
+ ` ${start.verificationUri}\n` +
55
+ ` code: ${start.userCode}\n` +
56
+ 'Waiting for approval…');
32
57
  const deviceCode = start.deviceCode;
33
58
  const intervalMs = start.intervalMs;
34
- const deadline = Date.now() + start.expiresInMs;
59
+ const deadline = Math.min(Date.now() + start.expiresInMs, enrollment ? Date.parse(enrollment.request.expiresAt) : Infinity);
35
60
  // Wait one interval before the first poll (the user needs time to approve).
36
61
  await sleepImpl(intervalMs);
37
62
  for (;;) {
@@ -41,18 +66,21 @@ export async function runPairing(opts) {
41
66
  const poll = await postJson(fetchImpl, `${apiUrl}/api/auth/bridge/pair/poll`, {
42
67
  deviceCode,
43
68
  localPort,
44
- localNonce,
45
69
  });
46
70
  switch (poll.status) {
47
71
  case 'approved': {
48
- if (!poll.token || !poll.refreshToken || !poll.centrifugoUrl || !poll.userId) {
72
+ if (!poll.ownerId || !poll.token || !poll.refreshToken || !poll.centrifugoUrl || !poll.userId) {
49
73
  throw new Error('Pairing approved but token bundle was incomplete');
50
74
  }
75
+ if (enrollment && (!poll.accountApproval || !poll.accountHistory))
76
+ throw new Error('Encrypted bridge approval is required; no legacy fallback');
51
77
  return {
78
+ ownerId: poll.ownerId,
52
79
  token: poll.token,
53
80
  refreshToken: poll.refreshToken,
54
81
  centrifugoUrl: poll.centrifugoUrl,
55
82
  userId: poll.userId,
83
+ ...(enrollment ? { accountApproval: poll.accountApproval, accountHistory: poll.accountHistory } : {}),
56
84
  };
57
85
  }
58
86
  case 'pending':
@@ -82,8 +110,7 @@ async function postJson(fetchImpl, url, body) {
82
110
  body: JSON.stringify(body),
83
111
  });
84
112
  if (!res.ok) {
85
- const text = await res.text();
86
- throw new Error(`Pairing request to ${url} failed (${res.status}): ${text}`);
113
+ throw new Error(`Pairing request failed (${res.status})`);
87
114
  }
88
115
  return res.json();
89
116
  }
@@ -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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"}
@@ -94,7 +94,9 @@ export class BridgePushNotifier {
94
94
  continue;
95
95
  const response = await this.deps.fetch(`${this.options.apiUrl.replace(/\/$/, '')}/api/push/events`, {
96
96
  method: 'POST', headers: { 'Content-Type': 'application/json', Authorization: `Bearer ${token}` },
97
- body: JSON.stringify({ ...item.notice, bridgeId: this.options.bridgeId, sessionId: item.sessionId, sessionName: session.name }),
97
+ body: JSON.stringify({ kind: item.notice.kind, eventKey: item.notice.eventKey, occurredAt: item.notice.occurredAt,
98
+ title: 'FTown attention', message: 'Open FTown to view details.', bridgeId: this.options.bridgeId,
99
+ sessionId: item.sessionId, sessionName: 'FTown' }),
98
100
  signal: controller.signal,
99
101
  });
100
102
  transient = response.status === 408 || response.status === 429 || response.status >= 500;
@@ -1 +1 @@
1
- {"version":3,"file":"push-notifier.js","sourceRoot":"","sources":["../src/push-notifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"push-notifier.js","sourceRoot":"","sources":["../src/push-notifier.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import type { EndpointIdentity, EndpointPublic } from './protocol.js';
2
+ import type { AccountCheckpoint, AccountEnrollmentBundle, AccountEnrollmentLink, AccountEnrollmentRequest, AccountErrorCode, AccountHistory, AccountOperation, AccountSigningIdentity, AccountTrustFailure, SignedAccountGenesis, SignedAccountTransition, VerifiedAccountTrust } from './account-protocol.js';
3
+ export declare const ACCOUNT_TRUST_LIMITS: Readonly<{
4
+ maxHistoryBytes: 2097152;
5
+ maxTransitions: 1024;
6
+ maxDevices: 128;
7
+ maxBridges: 128;
8
+ enrollmentLifetimeMs: 300000;
9
+ refreshIntervalMs: 30000;
10
+ offlineGraceMs: 86400000;
11
+ maxFutureSkewMs: 30000;
12
+ maxLabelLength: 200;
13
+ }>;
14
+ /** No untrusted text, key material or underlying crypto error enters this error. */
15
+ export declare class AccountTrustError extends Error implements AccountTrustFailure {
16
+ readonly code: AccountErrorCode;
17
+ readonly retryable: boolean;
18
+ constructor(code: AccountErrorCode);
19
+ }
20
+ export declare function parseAccountHistory(value: unknown): AccountHistory;
21
+ export declare function generateAccountSigningIdentity(extractable?: boolean): Promise<AccountSigningIdentity>;
22
+ export declare function generateAccountBridgeCandidate(bridgeId: string, extractable?: boolean): Promise<EndpointIdentity>;
23
+ export declare function importAccountBridgeCandidate(value: EndpointPublic, privateKey: JsonWebKey, extractable?: boolean): Promise<EndpointIdentity>;
24
+ export declare function createAccountGenesis(ownerId: string, value: EndpointPublic, signing: AccountSigningIdentity, name: string, now?: number): Promise<SignedAccountGenesis>;
25
+ export declare function signAccountTransition(value: AccountCheckpoint, signerId: string, signing: AccountSigningIdentity, op: AccountOperation, now?: number): Promise<SignedAccountTransition>;
26
+ export declare function verifyAccountHistory(history: AccountHistory, pinned: AccountCheckpoint | null, now?: number): Promise<AccountCheckpoint>;
27
+ export declare function parseAccountEnrollmentRequest(value: unknown, now?: number): Promise<AccountEnrollmentRequest>;
28
+ export declare function createAccountEnrollment(identity: EndpointIdentity, name: string, signing: AccountSigningIdentity | null, bridgeId: string | null, now?: number): Promise<AccountEnrollmentLink>;
29
+ export declare function encodeAccountEnrollmentLink(link: AccountEnrollmentLink): string;
30
+ export declare function parseAccountEnrollmentLink(value: unknown, now?: number): Promise<AccountEnrollmentLink>;
31
+ export declare function accountComparisonCode(link: AccountEnrollmentLink): Promise<string>;
32
+ export declare function sealAccountApproval(approver: EndpointIdentity, link: AccountEnrollmentLink, history: AccountHistory, now?: number): Promise<AccountEnrollmentBundle>;
33
+ export declare function openAccountApproval(candidate: EndpointIdentity, link: AccountEnrollmentLink, bundle: AccountEnrollmentBundle, history: AccountHistory, now?: number): Promise<VerifiedAccountTrust>;