borgmcp 2.8.0 → 2.10.0

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 (118) hide show
  1. package/dist/assimilate-cmd.d.ts +14 -0
  2. package/dist/assimilate-cmd.d.ts.map +1 -1
  3. package/dist/assimilate-cmd.js +187 -14
  4. package/dist/assimilate-cmd.js.map +1 -1
  5. package/dist/assimilate-deps.d.ts.map +1 -1
  6. package/dist/assimilate-deps.js +29 -1
  7. package/dist/assimilate-deps.js.map +1 -1
  8. package/dist/assimilate-welcome.d.ts.map +1 -1
  9. package/dist/assimilate-welcome.js +1 -0
  10. package/dist/assimilate-welcome.js.map +1 -1
  11. package/dist/claude.d.ts.map +1 -1
  12. package/dist/claude.js +27 -0
  13. package/dist/claude.js.map +1 -1
  14. package/dist/cli-help.d.ts +1 -0
  15. package/dist/cli-help.d.ts.map +1 -1
  16. package/dist/cli-help.js +13 -3
  17. package/dist/cli-help.js.map +1 -1
  18. package/dist/config.d.ts +12 -1
  19. package/dist/config.d.ts.map +1 -1
  20. package/dist/config.js +170 -11
  21. package/dist/config.js.map +1 -1
  22. package/dist/first-run-server.d.ts +10 -2
  23. package/dist/first-run-server.d.ts.map +1 -1
  24. package/dist/first-run-server.js +54 -7
  25. package/dist/first-run-server.js.map +1 -1
  26. package/dist/invitation-artifact.d.ts +33 -0
  27. package/dist/invitation-artifact.d.ts.map +1 -0
  28. package/dist/invitation-artifact.js +89 -0
  29. package/dist/invitation-artifact.js.map +1 -0
  30. package/dist/launch-gate.d.ts +5 -4
  31. package/dist/launch-gate.d.ts.map +1 -1
  32. package/dist/launch-gate.js +7 -8
  33. package/dist/launch-gate.js.map +1 -1
  34. package/dist/parse-assimilate-args.d.ts.map +1 -1
  35. package/dist/parse-assimilate-args.js +9 -3
  36. package/dist/parse-assimilate-args.js.map +1 -1
  37. package/dist/recover-enrollment-cmd.d.ts +17 -0
  38. package/dist/recover-enrollment-cmd.d.ts.map +1 -0
  39. package/dist/recover-enrollment-cmd.js +62 -0
  40. package/dist/recover-enrollment-cmd.js.map +1 -0
  41. package/dist/regen-format.d.ts +9 -0
  42. package/dist/regen-format.d.ts.map +1 -1
  43. package/dist/regen-format.js +15 -0
  44. package/dist/regen-format.js.map +1 -1
  45. package/dist/regen.js +27 -3
  46. package/dist/regen.js.map +1 -1
  47. package/dist/remote-client.d.ts +1 -1
  48. package/dist/remote-client.d.ts.map +1 -1
  49. package/dist/remote-client.js +1 -1
  50. package/dist/remote-client.js.map +1 -1
  51. package/dist/runtime-metadata.d.ts +1 -1
  52. package/dist/runtime-metadata.d.ts.map +1 -1
  53. package/dist/runtime-metadata.js +3 -3
  54. package/dist/runtime-metadata.js.map +1 -1
  55. package/dist/seat-store.d.ts.map +1 -1
  56. package/dist/seat-store.js +7 -0
  57. package/dist/seat-store.js.map +1 -1
  58. package/dist/server-errors.d.ts +1 -1
  59. package/dist/server-errors.d.ts.map +1 -1
  60. package/dist/server-errors.js.map +1 -1
  61. package/dist/server-facade.d.ts +1 -1
  62. package/dist/server-facade.d.ts.map +1 -1
  63. package/dist/server-facade.js +2 -2
  64. package/dist/server-facade.js.map +1 -1
  65. package/dist/server-handshake.d.ts +23 -3
  66. package/dist/server-handshake.d.ts.map +1 -1
  67. package/dist/server-handshake.js +102 -7
  68. package/dist/server-handshake.js.map +1 -1
  69. package/dist/server-trust.d.ts +8 -0
  70. package/dist/server-trust.d.ts.map +1 -1
  71. package/dist/server-trust.js +165 -5
  72. package/dist/server-trust.js.map +1 -1
  73. package/dist/setup.js +5 -2
  74. package/dist/setup.js.map +1 -1
  75. package/dist/token-store.d.ts +3 -0
  76. package/dist/token-store.d.ts.map +1 -1
  77. package/dist/token-store.js +2 -0
  78. package/dist/token-store.js.map +1 -1
  79. package/dist/tool-manifest.d.ts.map +1 -1
  80. package/dist/tool-manifest.js +5 -3
  81. package/dist/tool-manifest.js.map +1 -1
  82. package/dist/unknown-subcommand.d.ts +1 -1
  83. package/dist/unknown-subcommand.d.ts.map +1 -1
  84. package/dist/unknown-subcommand.js +1 -0
  85. package/dist/unknown-subcommand.js.map +1 -1
  86. package/dist/update-cmd.d.ts +1 -0
  87. package/dist/update-cmd.d.ts.map +1 -1
  88. package/dist/update-cmd.js +8 -3
  89. package/dist/update-cmd.js.map +1 -1
  90. package/docs/EXTRACTION_PROVENANCE.md +11 -7
  91. package/docs/LOCAL_SERVER.md +12 -3
  92. package/docs/RELEASING.md +17 -6
  93. package/package.json +2 -2
  94. package/src/assimilate-cmd.ts +234 -20
  95. package/src/assimilate-deps.ts +29 -0
  96. package/src/assimilate-welcome.ts +1 -0
  97. package/src/claude.ts +22 -0
  98. package/src/cli-help.ts +16 -3
  99. package/src/config.ts +167 -8
  100. package/src/first-run-server.ts +71 -8
  101. package/src/invitation-artifact.ts +116 -0
  102. package/src/launch-gate.ts +7 -8
  103. package/src/parse-assimilate-args.ts +11 -4
  104. package/src/recover-enrollment-cmd.ts +63 -0
  105. package/src/regen-format.ts +25 -0
  106. package/src/regen.ts +30 -2
  107. package/src/remote-client.ts +2 -2
  108. package/src/runtime-metadata.ts +4 -3
  109. package/src/seat-store.ts +6 -0
  110. package/src/server-errors.ts +1 -0
  111. package/src/server-facade.ts +2 -2
  112. package/src/server-handshake.ts +140 -4
  113. package/src/server-trust.ts +180 -5
  114. package/src/setup.ts +5 -2
  115. package/src/token-store.ts +5 -0
  116. package/src/tool-manifest.ts +5 -3
  117. package/src/unknown-subcommand.ts +1 -0
  118. package/src/update-cmd.ts +8 -3
package/dist/config.js CHANGED
@@ -151,13 +151,59 @@ export function __setServerCredentialBackendForTest(backend) {
151
151
  * invoke this directly so they do not re-acquire (and self-deadlock on) the single
152
152
  * store lock; the public storeServerCredential wraps it in one lock hold.
153
153
  */
154
- async function writeServerCredentialRecord(backend, record) {
154
+ async function writeServerCredentialRecord(backend, record, allowReplacement = false) {
155
155
  validateServerCredentialBinding(record.origin, record.trustIdentity);
156
156
  validateEnrollmentCredential(record.credential);
157
157
  if (record.clientId !== undefined && record.clientId !== null) {
158
158
  validateUuid(record.clientId, 'client identity');
159
159
  }
160
160
  const serverCapabilities = validateServerCapabilities(record.serverCapabilities ?? []);
161
+ const targetAccount = serverCredentialAccount(record.origin, record.trustIdentity);
162
+ const exactExisting = await backend.get(targetAccount);
163
+ if (exactExisting !== null && !allowReplacement) {
164
+ throw new Error('local Borg server enrollment already exists for this origin and replacement was not confirmed');
165
+ }
166
+ if (backend.entries) {
167
+ const accounts = await backend.entries();
168
+ const conflicts = Object.entries(accounts).filter(([account, value]) => {
169
+ try {
170
+ const parsed = JSON.parse(value);
171
+ return parsed.version === SERVER_CREDENTIAL_RECORD_VERSION && parsed.origin === record.origin;
172
+ }
173
+ catch {
174
+ return false;
175
+ }
176
+ });
177
+ if (conflicts.length > 0 && !allowReplacement) {
178
+ throw new Error('local Borg server enrollment already exists for this origin and replacement was not confirmed');
179
+ }
180
+ if (allowReplacement && conflicts.length > 0) {
181
+ const target = targetAccount;
182
+ const value = JSON.stringify({
183
+ version: SERVER_CREDENTIAL_RECORD_VERSION,
184
+ origin: record.origin,
185
+ trustIdentity: record.trustIdentity,
186
+ credential: record.credential,
187
+ clientId: record.clientId ?? null,
188
+ serverCapabilities,
189
+ });
190
+ if (backend.replaceAccounts) {
191
+ const next = { ...accounts };
192
+ for (const [account] of conflicts)
193
+ delete next[account];
194
+ next[target] = value;
195
+ await backend.replaceAccounts(next);
196
+ return;
197
+ }
198
+ // Set first so an injected write failure cannot remove the prior record.
199
+ await backend.set(target, value);
200
+ for (const [account] of conflicts) {
201
+ if (account !== target)
202
+ await backend.delete(account);
203
+ }
204
+ return;
205
+ }
206
+ }
161
207
  await backend.set(serverCredentialAccount(record.origin, record.trustIdentity), JSON.stringify({
162
208
  version: SERVER_CREDENTIAL_RECORD_VERSION,
163
209
  origin: record.origin,
@@ -167,6 +213,16 @@ async function writeServerCredentialRecord(backend, record) {
167
213
  serverCapabilities,
168
214
  }));
169
215
  }
216
+ function encodeServerCredentialRecord(record, serverCapabilities) {
217
+ return JSON.stringify({
218
+ version: SERVER_CREDENTIAL_RECORD_VERSION,
219
+ origin: record.origin,
220
+ trustIdentity: record.trustIdentity,
221
+ credential: record.credential,
222
+ clientId: record.clientId ?? null,
223
+ serverCapabilities,
224
+ });
225
+ }
170
226
  /**
171
227
  * Persist one self-hosted server credential in the dedicated 0600 credential store.
172
228
  *
@@ -177,9 +233,9 @@ async function writeServerCredentialRecord(backend, record) {
177
233
  * not credential sources. CR3b: the load→set→rename runs inside ONE hold of the
178
234
  * single store lock so a concurrent writer cannot lose an unrelated account.
179
235
  */
180
- export async function storeServerCredential(record) {
236
+ export async function storeServerCredential(record, options = {}) {
181
237
  const backend = await getServerCredentialBackend();
182
- await withCredentialStoreLock(() => writeServerCredentialRecord(backend, record));
238
+ await withCredentialStoreLock(() => writeServerCredentialRecord(backend, record, options.allowReplacement === true));
183
239
  }
184
240
  /** Read an authority-bound active client record, failing closed on corruption. */
185
241
  export async function getServerCredentialRecord(origin, trustIdentity) {
@@ -222,6 +278,21 @@ export async function getServerCredentialRecord(origin, trustIdentity) {
222
278
  export async function getServerCredential(origin, trustIdentity) {
223
279
  return (await getServerCredentialRecord(origin, trustIdentity))?.credential ?? null;
224
280
  }
281
+ export async function hasServerCredentialForOrigin(origin) {
282
+ const backend = await getServerCredentialBackend();
283
+ if (!backend.entries)
284
+ return false;
285
+ const accounts = await backend.entries();
286
+ return Object.values(accounts).some((value) => {
287
+ try {
288
+ const record = JSON.parse(value);
289
+ return record.version === SERVER_CREDENTIAL_RECORD_VERSION && record.origin === origin;
290
+ }
291
+ catch {
292
+ return false;
293
+ }
294
+ });
295
+ }
225
296
  function decodePendingServerEnrollment(stored, origin, trustIdentity) {
226
297
  const record = JSON.parse(stored);
227
298
  if (record.version !== SERVER_PENDING_ENROLLMENT_RECORD_VERSION ||
@@ -231,7 +302,8 @@ function decodePendingServerEnrollment(stored, origin, trustIdentity) {
231
302
  typeof record.invitation !== 'string' ||
232
303
  typeof record.retryKey !== 'string' || !UUID_RE.test(record.retryKey) ||
233
304
  typeof record.credential !== 'string' || !/^[A-Za-z0-9_-]{43}$/.test(record.credential) ||
234
- (record.clientName !== undefined && typeof record.clientName !== 'string')) {
305
+ (record.clientName !== undefined && typeof record.clientName !== 'string')
306
+ || (record.replacementCapability !== undefined && !UUID_RE.test(record.replacementCapability))) {
235
307
  throw new Error('invalid');
236
308
  }
237
309
  validateInvitation(record.invitation);
@@ -243,6 +315,7 @@ function decodePendingServerEnrollment(stored, origin, trustIdentity) {
243
315
  retryKey: record.retryKey,
244
316
  credential: record.credential,
245
317
  ...(record.clientName === undefined ? {} : { clientName: record.clientName }),
318
+ ...(record.replacementCapability === undefined ? {} : { replacementCapability: record.replacementCapability }),
246
319
  };
247
320
  }
248
321
  /** Load an exact durable PENDING tuple so a new process can resume it. */
@@ -262,6 +335,31 @@ export async function getPendingServerEnrollment(origin, trustIdentity) {
262
335
  }
263
336
  });
264
337
  }
338
+ /** Find the sole pending enrollment so artifact-only retries need no invitation. */
339
+ export async function findPendingServerEnrollment() {
340
+ const backend = await getServerCredentialBackend();
341
+ if (!backend.entries)
342
+ return null;
343
+ return withCredentialStoreLock(async () => {
344
+ const matches = [];
345
+ for (const value of Object.values(await backend.entries())) {
346
+ try {
347
+ const raw = JSON.parse(value);
348
+ if (raw.version !== SERVER_PENDING_ENROLLMENT_RECORD_VERSION || raw.state !== 'pending')
349
+ continue;
350
+ if (typeof raw.origin !== 'string' || typeof raw.trustIdentity !== 'string')
351
+ continue;
352
+ matches.push(decodePendingServerEnrollment(value, raw.origin, raw.trustIdentity));
353
+ }
354
+ catch {
355
+ // Ignore unrelated or corrupt records; the keyed resume path remains fail-closed.
356
+ }
357
+ }
358
+ if (matches.length > 1)
359
+ throw new Error('multiple pending Borg server enrollments require an explicit server endpoint');
360
+ return matches[0] ?? null;
361
+ });
362
+ }
265
363
  /**
266
364
  * Generate and persist an exact enrollment tuple before network I/O. A
267
365
  * pre-existing PENDING tuple must match the invitation and presentation name;
@@ -271,6 +369,8 @@ export async function getOrCreatePendingServerEnrollment(input) {
271
369
  validateServerCredentialBinding(input.origin, input.trustIdentity);
272
370
  validateInvitation(input.invitation);
273
371
  validateClientName(input.clientName);
372
+ if (input.replacementCapability !== undefined)
373
+ validateUuid(input.replacementCapability, 'replacement capability');
274
374
  const backend = await getServerCredentialBackend();
275
375
  const account = serverPendingEnrollmentAccount(input.origin, input.trustIdentity);
276
376
  return withCredentialStoreLock(async () => {
@@ -279,7 +379,8 @@ export async function getOrCreatePendingServerEnrollment(input) {
279
379
  try {
280
380
  const record = decodePendingServerEnrollment(stored, input.origin, input.trustIdentity);
281
381
  if (record.invitation !== input.invitation ||
282
- record.clientName !== input.clientName) {
382
+ record.clientName !== input.clientName
383
+ || record.replacementCapability !== input.replacementCapability) {
283
384
  throw new Error('mismatch');
284
385
  }
285
386
  return record;
@@ -295,6 +396,7 @@ export async function getOrCreatePendingServerEnrollment(input) {
295
396
  retryKey: randomUUID(),
296
397
  credential: randomBytes(32).toString('base64url'),
297
398
  ...(input.clientName === undefined ? {} : { clientName: input.clientName }),
399
+ ...(input.replacementCapability === undefined ? {} : { replacementCapability: input.replacementCapability }),
298
400
  };
299
401
  validateEnrollmentCredential(record.credential);
300
402
  await backend.set(account, JSON.stringify({
@@ -320,23 +422,61 @@ export async function activatePendingServerEnrollment(input) {
320
422
  throw new Error('pending Borg server enrollment is missing');
321
423
  try {
322
424
  const pending = decodePendingServerEnrollment(stored, input.origin, input.trustIdentity);
323
- if (pending.retryKey !== input.retryKey || pending.credential !== input.credential) {
425
+ if (pending.retryKey !== input.retryKey || pending.credential !== input.credential ||
426
+ pending.replacementCapability !== input.replacementCapability) {
324
427
  throw new Error('mismatch');
325
428
  }
326
429
  }
327
430
  catch {
328
431
  throw new Error('pending Borg server enrollment does not match the verified response');
329
432
  }
330
- // Already inside the single store lock — use the UNLOCKED write body so we do
331
- // not re-acquire (and self-deadlock on) CREDENTIALS_LOCK (CR3b).
332
- await writeServerCredentialRecord(backend, {
433
+ if (!input.allowReplacement) {
434
+ const existing = backend.entries
435
+ ? Object.values(await backend.entries()).some((value) => {
436
+ try {
437
+ const record = JSON.parse(value);
438
+ return record.version === SERVER_CREDENTIAL_RECORD_VERSION && record.origin === input.origin;
439
+ }
440
+ catch {
441
+ return false;
442
+ }
443
+ })
444
+ : await backend.get(serverCredentialAccount(input.origin, input.trustIdentity)) !== null;
445
+ if (existing)
446
+ throw new Error('local Borg server enrollment already exists');
447
+ }
448
+ const activeRecord = {
333
449
  origin: input.origin,
334
450
  trustIdentity: input.trustIdentity,
335
451
  credential: input.credential,
336
452
  clientId: input.clientId,
337
453
  serverCapabilities,
338
- });
339
- await backend.delete(pendingAccount);
454
+ };
455
+ // Replace the active record and retire the pending tuple in one account-map
456
+ // write. A failed map write therefore preserves the old active + pending state.
457
+ if (backend.entries && backend.replaceAccounts) {
458
+ const accounts = await backend.entries();
459
+ const target = serverCredentialAccount(input.origin, input.trustIdentity);
460
+ const next = { ...accounts };
461
+ for (const [account, value] of Object.entries(accounts)) {
462
+ try {
463
+ const parsed = JSON.parse(value);
464
+ if (parsed.version === SERVER_CREDENTIAL_RECORD_VERSION && parsed.origin === input.origin) {
465
+ delete next[account];
466
+ }
467
+ }
468
+ catch {
469
+ // Preserve unrelated malformed records; the backend's normal validation remains fail-closed.
470
+ }
471
+ }
472
+ next[target] = encodeServerCredentialRecord(activeRecord, serverCapabilities);
473
+ delete next[pendingAccount];
474
+ await backend.replaceAccounts(next);
475
+ }
476
+ else {
477
+ await writeServerCredentialRecord(backend, activeRecord, input.allowReplacement === true);
478
+ await backend.delete(pendingAccount);
479
+ }
340
480
  });
341
481
  }
342
482
  /** Delete only the exact definitively rejected pending attempt. */
@@ -463,4 +603,23 @@ export async function clearServerCredential(origin, trustIdentity) {
463
603
  await backend.delete(pendingAccount);
464
604
  });
465
605
  }
606
+ /** Clear only the failed enrollment transaction for one origin/identity. */
607
+ export async function clearEnrollmentTransaction(origin, trustIdentity) {
608
+ validateServerCredentialBinding(origin, trustIdentity);
609
+ const backend = await getServerCredentialBackend();
610
+ const pendingAccount = serverPendingEnrollmentAccount(origin, trustIdentity);
611
+ const credentialAccount = serverCredentialAccount(origin, trustIdentity);
612
+ await withCredentialStoreLock(async () => {
613
+ if (backend.entries && backend.replaceAccounts) {
614
+ const accounts = await backend.entries();
615
+ const next = { ...accounts };
616
+ delete next[pendingAccount];
617
+ delete next[credentialAccount];
618
+ await backend.replaceAccounts(next);
619
+ return;
620
+ }
621
+ await backend.delete(pendingAccount);
622
+ await backend.delete(credentialAccount);
623
+ });
624
+ }
466
625
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,13 @@
1
1
  import { type InstalledPackage, type PublishedPackage } from './update-cmd.js';
2
+ export declare const HINT_SUPPORTED_FROM = "0.8.1";
2
3
  export type FirstRunServerInstallResult = {
3
4
  kind: 'present';
4
5
  server: InstalledPackage;
6
+ suppressClientNextSteps?: boolean;
5
7
  } | {
6
8
  kind: 'installed';
7
9
  server: InstalledPackage;
10
+ suppressClientNextSteps?: boolean;
8
11
  } | {
9
12
  kind: 'declined' | 'non-interactive' | 'failed';
10
13
  };
@@ -15,7 +18,10 @@ export interface FirstRunServerInstallDeps {
15
18
  installGlobal(name: 'borgmcp' | 'borgmcp-server', version: string, options?: {
16
19
  ignoreScripts?: boolean;
17
20
  }): Promise<void>;
18
- confirm(message: string): Promise<'yes' | 'no' | 'eof' | 'interrupted'>;
21
+ runServerSetup(server: InstalledPackage, options?: {
22
+ onboardingHint?: boolean;
23
+ }): Promise<number>;
24
+ confirm(message: string, defaultYes?: boolean): Promise<'yes' | 'no' | 'eof' | 'interrupted'>;
19
25
  isTTY(): boolean;
20
26
  stdout(text: string): void;
21
27
  stderr(text: string): void;
@@ -27,5 +33,7 @@ export declare function buildDefaultFirstRunServerInstallDeps(): FirstRunServerI
27
33
  * Returning anything except `present`/`installed` means no caller-owned setup
28
34
  * or assimilation work should continue.
29
35
  */
30
- export declare function offerFirstRunServerInstall(deps?: FirstRunServerInstallDeps, connectCommand?: string): Promise<FirstRunServerInstallResult>;
36
+ export declare function offerFirstRunServerInstall(deps?: FirstRunServerInstallDeps, connectCommand?: string, options?: {
37
+ initializeServer?: boolean;
38
+ }): Promise<FirstRunServerInstallResult>;
31
39
  //# sourceMappingURL=first-run-server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"first-run-server.d.ts","sourceRoot":"","sources":["../src/first-run-server.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EAEtB,MAAM,iBAAiB,CAAC;AAOzB,MAAM,MAAM,2BAA2B,GACnC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,UAAU,GAAG,iBAAiB,GAAG,QAAQ,CAAA;CAAE,CAAC;AAExD,MAAM,WAAW,yBAAyB;IACxC,aAAa,IAAI,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAClD,gBAAgB,CACd,IAAI,EAAE,SAAS,GAAG,gBAAgB,EAClC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC7B,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,gBAAgB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACzE,aAAa,CACX,IAAI,EAAE,SAAS,GAAG,gBAAgB,EAClC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,GACpC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,aAAa,CAAC,CAAC;IACxE,KAAK,IAAI,OAAO,CAAC;IACjB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,mBAAmB,IAAI,MAAM,CAAC;CAC/B;AAwCD,wBAAgB,qCAAqC,IAAI,yBAAyB,CAajF;AAED;;;;GAIG;AACH,wBAAsB,0BAA0B,CAC9C,IAAI,GAAE,yBAAmE,EACzE,cAAc,SAA0B,GACvC,OAAO,CAAC,2BAA2B,CAAC,CA2EtC"}
1
+ {"version":3,"file":"first-run-server.d.ts","sourceRoot":"","sources":["../src/first-run-server.ts"],"names":[],"mappings":"AAIA,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EAEtB,MAAM,iBAAiB,CAAC;AAOzB,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAE3C,MAAM,MAAM,2BAA2B,GACnC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAC;IAAC,uBAAuB,CAAC,EAAE,OAAO,CAAA;CAAE,GAChF;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAC;IAAC,uBAAuB,CAAC,EAAE,OAAO,CAAA;CAAE,GAClF;IAAE,IAAI,EAAE,UAAU,GAAG,iBAAiB,GAAG,QAAQ,CAAA;CAAE,CAAC;AAExD,MAAM,WAAW,yBAAyB;IACxC,aAAa,IAAI,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAClD,gBAAgB,CACd,IAAI,EAAE,SAAS,GAAG,gBAAgB,EAClC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC7B,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,gBAAgB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACzE,aAAa,CACX,IAAI,EAAE,SAAS,GAAG,gBAAgB,EAClC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,GACpC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,cAAc,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAClG,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,aAAa,CAAC,CAAC;IAC9F,KAAK,IAAI,OAAO,CAAC;IACjB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,mBAAmB,IAAI,MAAM,CAAC;CAC/B;AAwCD,wBAAgB,qCAAqC,IAAI,yBAAyB,CAyBjF;AAED;;;;GAIG;AACH,wBAAsB,0BAA0B,CAC9C,IAAI,GAAE,yBAAmE,EACzE,cAAc,SAA0B,EACxC,OAAO,GAAE;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAO,GAC3C,OAAO,CAAC,2BAA2B,CAAC,CAuFtC"}
@@ -1,3 +1,4 @@
1
+ import { spawn } from 'node:child_process';
1
2
  import { readFileSync } from 'node:fs';
2
3
  import { dirname, join } from 'node:path';
3
4
  import { fileURLToPath } from 'node:url';
@@ -6,6 +7,8 @@ const CLIENT_PACKAGE = 'borgmcp';
6
7
  const SERVER_PACKAGE = 'borgmcp-server';
7
8
  const SHARED_PACKAGE = 'borgmcp-shared';
8
9
  const DEFAULT_CONNECT_COMMAND = 'borg assimilate --host <host>';
10
+ const CLIENT_ONBOARDING_ENV = 'BORG_CLIENT_ONBOARDING';
11
+ export const HINT_SUPPORTED_FROM = '0.8.1';
9
12
  function readClientSharedVersion() {
10
13
  const here = fileURLToPath(import.meta.url);
11
14
  const manifestPath = join(dirname(here), '..', 'package.json');
@@ -41,6 +44,19 @@ export function buildDefaultFirstRunServerInstallDeps() {
41
44
  publishedPackage: update.publishedPackage,
42
45
  publishedVersions: update.publishedVersions,
43
46
  installGlobal: update.installGlobal,
47
+ runServerSetup: (server, options = {}) => new Promise((resolve) => {
48
+ const childEnv = { ...process.env };
49
+ delete childEnv[CLIENT_ONBOARDING_ENV];
50
+ if (options.onboardingHint)
51
+ childEnv[CLIENT_ONBOARDING_ENV] = '1';
52
+ const child = spawn(server.binPath, ['setup'], {
53
+ stdio: 'inherit',
54
+ shell: false,
55
+ env: childEnv,
56
+ });
57
+ child.once('error', () => resolve(1));
58
+ child.once('exit', (code) => resolve(code ?? 1));
59
+ }),
44
60
  confirm: update.confirm,
45
61
  isTTY: update.isTTY,
46
62
  stdout: update.stdout,
@@ -53,7 +69,7 @@ export function buildDefaultFirstRunServerInstallDeps() {
53
69
  * Returning anything except `present`/`installed` means no caller-owned setup
54
70
  * or assimilation work should continue.
55
71
  */
56
- export async function offerFirstRunServerInstall(deps = buildDefaultFirstRunServerInstallDeps(), connectCommand = DEFAULT_CONNECT_COMMAND) {
72
+ export async function offerFirstRunServerInstall(deps = buildDefaultFirstRunServerInstallDeps(), connectCommand = DEFAULT_CONNECT_COMMAND, options = {}) {
57
73
  let installed;
58
74
  try {
59
75
  installed = await deps.currentServer();
@@ -64,8 +80,9 @@ export async function offerFirstRunServerInstall(deps = buildDefaultFirstRunServ
64
80
  `${error instanceof Error ? error.message : String(error)}\n`);
65
81
  return { kind: 'failed' };
66
82
  }
67
- if (installed)
68
- return { kind: 'present', server: installed };
83
+ if (installed) {
84
+ return initializeServerIfRequested(installed, deps, options.initializeServer, 'present', shouldSuppressClientNextSteps(installed.version));
85
+ }
69
86
  if (!deps.isTTY()) {
70
87
  deps.stderr(`No local ${SERVER_PACKAGE} installation was found. No installation was attempted because this terminal is non-interactive.\n` +
71
88
  `Run \`borg setup\` in an interactive terminal, or connect to an existing server with ` +
@@ -86,9 +103,10 @@ export async function offerFirstRunServerInstall(deps = buildDefaultFirstRunServ
86
103
  }
87
104
  const command = exactInstallCommand(target.version);
88
105
  const decision = await deps.confirm(`No local ${SERVER_PACKAGE} installation was found. ` +
89
- `Install ${SERVER_PACKAGE}@${target.version}, which uses ${SHARED_PACKAGE}@${target.sharedVersion}, now?\n` +
106
+ `Install ${SERVER_PACKAGE}@${target.version}, the local coordination server, ` +
107
+ `which uses ${SHARED_PACKAGE}@${target.sharedVersion}, now?\n` +
90
108
  `Command: ${command}\n` +
91
- `Continue? [y/N] `);
109
+ `Install it now? [Y/n] `, true);
92
110
  if (decision !== 'yes') {
93
111
  const reason = decision === 'interrupted'
94
112
  ? 'Installation was cancelled by SIGINT.'
@@ -111,7 +129,36 @@ export async function offerFirstRunServerInstall(deps = buildDefaultFirstRunServ
111
129
  return { kind: 'failed' };
112
130
  }
113
131
  deps.stdout(`Installed ${SERVER_PACKAGE}@${target.version} with ${SHARED_PACKAGE}@${target.sharedVersion}.\n` +
114
- `Next, run \`borg server setup\`, then run \`borg server start\` in a terminal you keep open.\n`);
115
- return { kind: 'installed', server: installed };
132
+ (options.initializeServer
133
+ ? `The local server package is ready.\n`
134
+ : `Next, run \`borg server setup\`, then run \`borg server start\` in a terminal you keep open.\n`));
135
+ return initializeServerIfRequested(installed, deps, options.initializeServer, 'installed');
136
+ }
137
+ async function initializeServerIfRequested(server, deps, requested, kind, suppressClientNextSteps = false) {
138
+ if (!requested)
139
+ return { kind, server, ...(suppressClientNextSteps ? { suppressClientNextSteps: true } : {}) };
140
+ try {
141
+ const exitCode = await deps.runServerSetup(server, { onboardingHint: !suppressClientNextSteps });
142
+ if (exitCode === 0) {
143
+ return { kind, server, ...(suppressClientNextSteps ? { suppressClientNextSteps: true } : {}) };
144
+ }
145
+ }
146
+ catch (error) {
147
+ deps.stderr(`Local server setup could not be completed. ${error instanceof Error ? error.message : String(error)}\n`);
148
+ }
149
+ deps.stderr('Run `borg server setup` to retry local server initialization, then run `borg server start`.\n');
150
+ return { kind: 'failed' };
151
+ }
152
+ function shouldSuppressClientNextSteps(version) {
153
+ if (!isExactSemver(version))
154
+ return false;
155
+ const installedParts = version.split('.').slice(0, 3).map(Number);
156
+ const supportedParts = HINT_SUPPORTED_FROM.split('.').map(Number);
157
+ for (let index = 0; index < 3; index += 1) {
158
+ if (installedParts[index] !== supportedParts[index]) {
159
+ return installedParts[index] < supportedParts[index];
160
+ }
161
+ }
162
+ return false;
116
163
  }
117
164
  //# sourceMappingURL=first-run-server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"first-run-server.js","sourceRoot":"","sources":["../src/first-run-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,6BAA6B,GAI9B,MAAM,iBAAiB,CAAC;AAEzB,MAAM,cAAc,GAAG,SAAS,CAAC;AACjC,MAAM,cAAc,GAAG,gBAAgB,CAAC;AACxC,MAAM,cAAc,GAAG,gBAAgB,CAAC;AACxC,MAAM,uBAAuB,GAAG,+BAA+B,CAAC;AA0BhE,SAAS,uBAAuB;IAC9B,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;IACvE,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,YAAY,GAAI,MAAkC,CAAC,YAAY,CAAC;IACtE,IAAI,CAAC,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACrF,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,MAAM,OAAO,GAAI,YAAwC,CAAC,cAAc,CAAC,CAAC;IAC1E,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,aAAa,cAAc,8BAA8B,cAAc,MAAM,CAAC,CAAC;IACjG,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAe;IAC1C,OAAO,yCAAyC,cAAc,IAAI,OAAO,EAAE,CAAC;AAC9E,CAAC;AAED,SAAS,qBAAqB,CAC5B,SAAkC,EAClC,SAA2B;IAE3B,IACE,SAAS,EAAE,IAAI,KAAK,cAAc;QAClC,SAAS,CAAC,OAAO,KAAK,SAAS,CAAC,OAAO;QACvC,SAAS,CAAC,aAAa,KAAK,SAAS,CAAC,aAAa,EACnD,CAAC;QACD,MAAM,IAAI,KAAK,CACb,sCAAsC,cAAc,IAAI,SAAS,CAAC,OAAO,QAAQ;YACjF,GAAG,cAAc,IAAI,SAAS,CAAC,aAAa,EAAE,CAC/C,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qCAAqC;IACnD,MAAM,MAAM,GAAe,sBAAsB,EAAE,CAAC;IACpD,OAAO;QACL,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,mBAAmB,EAAE,uBAAuB;KAC7C,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,OAAkC,qCAAqC,EAAE,EACzE,cAAc,GAAG,uBAAuB;IAExC,IAAI,SAAkC,CAAC;IACvC,IAAI,CAAC;QACH,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,MAAM,CACT,aAAa,cAAc,uEAAuE;YAClG,+GAA+G;YAC/G,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAC9D,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC5B,CAAC;IACD,IAAI,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAE7D,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QAClB,IAAI,CAAC,MAAM,CACT,YAAY,cAAc,oGAAoG;YAC9H,uFAAuF;YACvF,KAAK,cAAc,OAAO,CAC3B,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;IACrC,CAAC;IAED,IAAI,MAAwB,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACjD,MAAM,GAAG,MAAM,6BAA6B,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,MAAM,CACT,oFAAoF;YACpF,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI;YAC7D,4FAA4F;YAC5F,KAAK,cAAc,OAAO,CAC3B,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC,YAAY,cAAc,2BAA2B;QACrD,WAAW,cAAc,IAAI,MAAM,CAAC,OAAO,gBAAgB,cAAc,IAAI,MAAM,CAAC,aAAa,UAAU;QAC3G,YAAY,OAAO,IAAI;QACvB,kBAAkB,CACnB,CAAC;IACF,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,QAAQ,KAAK,aAAa;YACvC,CAAC,CAAC,uCAAuC;YACzC,CAAC,CAAC,QAAQ,KAAK,KAAK;gBAClB,CAAC,CAAC,8DAA8D;gBAChE,CAAC,CAAC,4BAA4B,CAAC;QACnC,IAAI,CAAC,MAAM,CACT,GAAG,MAAM,mDAAmD;YAC5D,8BAA8B,OAAO,iEAAiE,CACvG,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAClF,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QACvC,qBAAqB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,MAAM,CACT,OAAO,cAAc,IAAI,MAAM,CAAC,OAAO,sDAAsD;YAC7F,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI;YAC7D,SAAS,OAAO,0EAA0E,CAC3F,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC5B,CAAC;IAED,IAAI,CAAC,MAAM,CACT,aAAa,cAAc,IAAI,MAAM,CAAC,OAAO,SAAS,cAAc,IAAI,MAAM,CAAC,aAAa,KAAK;QACjG,gGAAgG,CACjG,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"first-run-server.js","sourceRoot":"","sources":["../src/first-run-server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { type InvitationArtifact } from 'borgmcp-shared/protocol';
2
+ export declare const COMPATIBILITY_INVITATION_ERROR = "This server did not present the certificate chain required for cross-machine enrollment. Update the Borg server on that machine and restart it, then run this command again. No invitation or credential was sent and no local trust or credential state was changed.";
3
+ export declare const TRUST_INVITATION_ERROR = "Borg could not verify the server identity named by this invitation. No invitation or credential was sent and no local trust or credential state was changed. Ask the server operator for a current invitation, then retry.";
4
+ export declare const FORMAT_INVITATION_ERROR = "This enrollment invitation is invalid or incomplete. No invitation or credential was sent and no local trust or credential state was changed. Ask the server operator for a new invitation, then retry.";
5
+ export declare const TRANSPORT_INVITATION_ERROR = "Borg could not reach the server named by this invitation. No invitation or credential was sent and no local trust or credential state was changed. Check that the server is running and that this machine can reach the invitation endpoint, then retry.";
6
+ export declare const STORAGE_INVITATION_ERROR = "Borg could not prepare local trust state for this invitation. No invitation or credential was sent and no local trust or credential state was changed. Check that Borg can write its private local state, then retry.";
7
+ export declare const RECOVERY_INVITATION_ERROR = "Borg could not complete or undo the enrollment change. Prior local access may be unavailable. Run `borg recover-enrollment` to clear only this server enrollment transaction. The invitation used for this attempt has been consumed; after recovery, ask the server operator for a fresh invitation and retry.";
8
+ export declare class InvitationArtifactCompatibilityError extends Error {
9
+ constructor(message?: string);
10
+ }
11
+ export declare class InvitationArtifactLegacyError extends Error {
12
+ constructor();
13
+ }
14
+ export declare class InvitationArtifactFormatError extends Error {
15
+ constructor(message?: string);
16
+ }
17
+ export declare class InvitationArtifactEndpointMismatchError extends Error {
18
+ constructor(selectedEndpoint: string, invitationEndpoint: string);
19
+ }
20
+ export declare class InvitationArtifactStorageError extends Error {
21
+ constructor(message?: string);
22
+ }
23
+ export declare class InvitationArtifactRecoveryError extends Error {
24
+ constructor(message?: string);
25
+ }
26
+ export declare class InvitationArtifactTransportError extends Error {
27
+ constructor(message?: string);
28
+ }
29
+ export declare class InvitationArtifactTrustError extends Error {
30
+ constructor(message?: string);
31
+ }
32
+ export declare function decodeAndVerifyInvitationArtifact(value: unknown): InvitationArtifact;
33
+ //# sourceMappingURL=invitation-artifact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invitation-artifact.d.ts","sourceRoot":"","sources":["../src/invitation-artifact.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,yBAAyB,CAAC;AAEjC,eAAO,MAAM,8BAA8B,0QAC8N,CAAC;AAE1Q,eAAO,MAAM,sBAAsB,+NAC2L,CAAC;AAE/N,eAAO,MAAM,uBAAuB,4MACuK,CAAC;AAE5M,eAAO,MAAM,0BAA0B,6PACqN,CAAC;AAE7P,eAAO,MAAM,wBAAwB,0NACoL,CAAC;AAE1N,eAAO,MAAM,yBAAyB,oTAC6Q,CAAC;AAEpT,qBAAa,oCAAqC,SAAQ,KAAK;gBACjD,OAAO,SAAiC;CAIrD;AAED,qBAAa,6BAA8B,SAAQ,KAAK;;CAOvD;AAED,qBAAa,6BAA8B,SAAQ,KAAK;gBAC1C,OAAO,SAA0B;CAI9C;AAED,qBAAa,uCAAwC,SAAQ,KAAK;gBACpD,gBAAgB,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM;CAMjE;AAED,qBAAa,8BAA+B,SAAQ,KAAK;gBAC3C,OAAO,SAA2B;CAI/C;AAED,qBAAa,+BAAgC,SAAQ,KAAK;gBAC5C,OAAO,SAA4B;CAIhD;AAED,qBAAa,gCAAiC,SAAQ,KAAK;gBAC7C,OAAO,SAA6B;CAIjD;AAED,qBAAa,4BAA6B,SAAQ,KAAK;gBACzC,OAAO,SAAyB;CAI7C;AAWD,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,CAoBpF"}