borgmcp 2.0.11 → 2.1.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.
Files changed (58) hide show
  1. package/README.md +11 -3
  2. package/dist/assimilate-cmd.d.ts +22 -4
  3. package/dist/assimilate-cmd.d.ts.map +1 -1
  4. package/dist/assimilate-cmd.js +109 -110
  5. package/dist/assimilate-cmd.js.map +1 -1
  6. package/dist/assimilate-deps.d.ts +7 -1
  7. package/dist/assimilate-deps.d.ts.map +1 -1
  8. package/dist/assimilate-deps.js +69 -25
  9. package/dist/assimilate-deps.js.map +1 -1
  10. package/dist/claude.d.ts +3 -1
  11. package/dist/claude.d.ts.map +1 -1
  12. package/dist/claude.js +26 -12
  13. package/dist/claude.js.map +1 -1
  14. package/dist/cli-help.d.ts +2 -0
  15. package/dist/cli-help.d.ts.map +1 -1
  16. package/dist/cli-help.js +25 -7
  17. package/dist/cli-help.js.map +1 -1
  18. package/dist/config.d.ts +7 -4
  19. package/dist/config.d.ts.map +1 -1
  20. package/dist/config.js +21 -4
  21. package/dist/config.js.map +1 -1
  22. package/dist/remote-client.js +1 -1
  23. package/dist/remote-client.js.map +1 -1
  24. package/dist/repository-cube-init.d.ts +72 -0
  25. package/dist/repository-cube-init.d.ts.map +1 -0
  26. package/dist/repository-cube-init.js +341 -0
  27. package/dist/repository-cube-init.js.map +1 -0
  28. package/dist/repository-identity.d.ts +29 -0
  29. package/dist/repository-identity.d.ts.map +1 -0
  30. package/dist/repository-identity.js +143 -0
  31. package/dist/repository-identity.js.map +1 -0
  32. package/dist/server-errors.d.ts +17 -0
  33. package/dist/server-errors.d.ts.map +1 -1
  34. package/dist/server-errors.js +32 -0
  35. package/dist/server-errors.js.map +1 -1
  36. package/dist/server-facade.d.ts +11 -1
  37. package/dist/server-facade.d.ts.map +1 -1
  38. package/dist/server-facade.js +33 -3
  39. package/dist/server-facade.js.map +1 -1
  40. package/dist/server-handshake.d.ts +38 -4
  41. package/dist/server-handshake.d.ts.map +1 -1
  42. package/dist/server-handshake.js +175 -13
  43. package/dist/server-handshake.js.map +1 -1
  44. package/docs/EXTRACTION_PROVENANCE.md +9 -7
  45. package/docs/LOCAL_SERVER.md +44 -9
  46. package/docs/RELEASING.md +21 -4
  47. package/package.json +2 -2
  48. package/src/assimilate-cmd.ts +179 -137
  49. package/src/assimilate-deps.ts +96 -24
  50. package/src/claude.ts +34 -14
  51. package/src/cli-help.ts +28 -7
  52. package/src/config.ts +30 -8
  53. package/src/remote-client.ts +1 -1
  54. package/src/repository-cube-init.ts +452 -0
  55. package/src/repository-identity.ts +199 -0
  56. package/src/server-errors.ts +41 -0
  57. package/src/server-facade.ts +47 -2
  58. package/src/server-handshake.ts +258 -14
@@ -3,6 +3,11 @@ export declare const SERVER_LIFECYCLE_COMMANDS: readonly ["setup", "start", "sto
3
3
  export type ServerLifecycleCommand = typeof SERVER_LIFECYCLE_COMMANDS[number];
4
4
  export type ParsedServerFacadeArgs = {
5
5
  kind: 'help';
6
+ } | {
7
+ kind: 'cube-init-help';
8
+ } | {
9
+ kind: 'cube-init';
10
+ args: string[];
6
11
  } | {
7
12
  kind: 'command';
8
13
  command: ServerLifecycleCommand;
@@ -27,6 +32,10 @@ export interface ServerFacadeOutputDeps {
27
32
  writeStdout(text: string): void;
28
33
  writeStderr(text: string): void;
29
34
  }
35
+ export interface ServerFacadeClientDeps {
36
+ cubeInit(args: readonly string[]): Promise<number>;
37
+ }
38
+ export type AssimilateDepsBuilder = typeof import('./assimilate-deps.js').buildDefaultAssimilateDeps;
30
39
  export type ServerFacadeProcessResult = {
31
40
  kind: 'exited';
32
41
  code: number;
@@ -37,6 +46,7 @@ export type ServerFacadeProcessResult = {
37
46
  kind: 'spawn-error';
38
47
  error: Error;
39
48
  };
49
+ export declare function buildDefaultServerFacadeClientDeps(buildDeps?: AssimilateDepsBuilder): ServerFacadeClientDeps;
40
50
  export declare function unknownServerCommandText(command: string): string;
41
51
  export declare function missingServerExecutableText(command: ServerLifecycleCommand): string;
42
52
  export declare function serverCommandStartupFailureText(command: ServerLifecycleCommand): string;
@@ -45,6 +55,6 @@ export declare function runServerFacadeProcess(input: {
45
55
  args: readonly string[];
46
56
  }, deps?: ServerFacadeProcessDeps): Promise<ServerFacadeProcessResult>;
47
57
  /** Routes every facade outcome before client initialization or network work. */
48
- export declare function runEarlyServerFacade(argv: readonly string[], deps?: ServerFacadeProcessDeps, output?: ServerFacadeOutputDeps): Promise<number | null>;
58
+ export declare function runEarlyServerFacade(argv: readonly string[], deps?: ServerFacadeProcessDeps, output?: ServerFacadeOutputDeps, client?: ServerFacadeClientDeps): Promise<number | null>;
49
59
  export {};
50
60
  //# sourceMappingURL=server-facade.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server-facade.d.ts","sourceRoot":"","sources":["../src/server-facade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAI5E,eAAO,MAAM,yBAAyB,mEAAoE,CAAC;AAC3G,MAAM,MAAM,sBAAsB,GAAG,OAAO,yBAAyB,CAAC,MAAM,CAAC,CAAC;AAE9E,MAAM,MAAM,sBAAsB,GAC9B;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,sBAAsB,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,GACpE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,iBAAiB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAElE,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,sBAAsB,CAarF;AAED,UAAU,iBAAiB;IACzB,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IAC7D,IAAI,CACF,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,KAAK,IAAI,GACrE,IAAI,CAAC;IACR,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;CACvC;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,CACH,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,GAC7C,iBAAiB,CAAC;IACrB,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IACtE,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;CAC1E;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,MAAM,yBAAyB,GACjC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AA+B1C,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAMhE;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CAMnF;AAED,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CAMvF;AAMD,wBAAgB,sBAAsB,CACpC,KAAK,EAAE;IAAE,OAAO,EAAE,sBAAsB,CAAC;IAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,EACnE,IAAI,GAAE,uBAA4C,GACjD,OAAO,CAAC,yBAAyB,CAAC,CAyCpC;AAQD,gFAAgF;AAChF,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,IAAI,GAAE,uBAA4C,EAClD,MAAM,GAAE,sBAA0C,GACjD,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAqBxB"}
1
+ {"version":3,"file":"server-facade.d.ts","sourceRoot":"","sources":["../src/server-facade.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,18 @@
1
1
  import { spawn as spawnChild } from 'node:child_process';
2
2
  import { constants } from 'node:os';
3
- import { serverHelpText } from './cli-help.js';
3
+ import { cubeInitHelpText, isHelpFlag, serverHelpText } from './cli-help.js';
4
4
  export const SERVER_LIFECYCLE_COMMANDS = ['setup', 'start', 'stop', 'status', 'update', 'invite'];
5
5
  export function parseServerFacadeArgs(args) {
6
6
  const [command, ...rest] = args;
7
7
  if (command === undefined || command === '--help' || command === '-h') {
8
8
  return { kind: 'help' };
9
9
  }
10
+ if (command === 'cube' && rest[0] === 'init') {
11
+ const args = rest.slice(1);
12
+ return args.some(isHelpFlag)
13
+ ? { kind: 'cube-init-help' }
14
+ : { kind: 'cube-init', args };
15
+ }
10
16
  if (!SERVER_LIFECYCLE_COMMANDS.includes(command)) {
11
17
  return { kind: 'error', reason: 'unknown-command', command };
12
18
  }
@@ -25,6 +31,24 @@ const defaultOutputDeps = {
25
31
  writeStdout: (text) => process.stdout.write(text),
26
32
  writeStderr: (text) => process.stderr.write(text),
27
33
  };
34
+ export function buildDefaultServerFacadeClientDeps(buildDeps) {
35
+ return {
36
+ cubeInit: async (args) => {
37
+ const [{ parseAssimilateArgs }, { buildDefaultAssimilateDeps }, { runAssimilate }] = await Promise.all([
38
+ import('./parse-assimilate-args.js'),
39
+ import('./assimilate-deps.js'),
40
+ import('./assimilate-cmd.js'),
41
+ ]);
42
+ const parsed = parseAssimilateArgs([...args]);
43
+ if (!parsed.ok || parsed.role !== undefined) {
44
+ process.stderr.write(`${parsed.ok ? 'borg server cube init does not accept a role' : parsed.error}\n`);
45
+ return 1;
46
+ }
47
+ return runAssimilate({ role: undefined, flags: parsed.flags, mode: 'cube-init' }, (buildDeps ?? buildDefaultAssimilateDeps)());
48
+ },
49
+ };
50
+ }
51
+ const defaultClientDeps = buildDefaultServerFacadeClientDeps();
28
52
  const MAX_RENDERED_COMMAND_CODE_POINTS = 80;
29
53
  function inertCommand(command) {
30
54
  const rendered = [];
@@ -43,7 +67,7 @@ function inertCommand(command) {
43
67
  }
44
68
  export function unknownServerCommandText(command) {
45
69
  return (`Unknown server command: ${inertCommand(command)}.\n` +
46
- `Available commands: setup, start, stop, status, update, invite.\n` +
70
+ `Available commands: setup, start, stop, status, update, invite, cube init.\n` +
47
71
  `Next: run borg server --help.\n`);
48
72
  }
49
73
  export function missingServerExecutableText(command) {
@@ -103,7 +127,7 @@ function processResultExitCode(result) {
103
127
  return 128 + (constants.signals[result.signal] ?? 1);
104
128
  }
105
129
  /** Routes every facade outcome before client initialization or network work. */
106
- export async function runEarlyServerFacade(argv, deps = defaultProcessDeps, output = defaultOutputDeps) {
130
+ export async function runEarlyServerFacade(argv, deps = defaultProcessDeps, output = defaultOutputDeps, client = defaultClientDeps) {
107
131
  if (argv[2] !== 'server')
108
132
  return null;
109
133
  const parsed = parseServerFacadeArgs(argv.slice(3));
@@ -111,10 +135,16 @@ export async function runEarlyServerFacade(argv, deps = defaultProcessDeps, outp
111
135
  output.writeStdout(serverHelpText());
112
136
  return 0;
113
137
  }
138
+ if (parsed.kind === 'cube-init-help') {
139
+ output.writeStdout(cubeInitHelpText());
140
+ return 0;
141
+ }
114
142
  if (parsed.kind === 'error') {
115
143
  output.writeStderr(unknownServerCommandText(parsed.command));
116
144
  return 1;
117
145
  }
146
+ if (parsed.kind === 'cube-init')
147
+ return client.cubeInit(parsed.args);
118
148
  const result = await runServerFacadeProcess(parsed, deps);
119
149
  if (result.kind === 'spawn-error') {
120
150
  output.writeStderr(isMissingServerExecutable(result.error)
@@ -1 +1 @@
1
- {"version":3,"file":"server-facade.js","sourceRoot":"","sources":["../src/server-facade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-facade.js","sourceRoot":"","sources":["../src/server-facade.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type CreateCubeResponse, type DroneRuntimeMetadata, type ProtocolTagPreflight, type ServerCapability } from 'borgmcp-shared/protocol';
1
+ import { type AssociateRepositoryCubeResponse, type CreateCubeRepository, type CreateCubeResponse, type CubeTemplate, type DroneRuntimeMetadata, type ProtocolTagPreflight, type ResolveRepositoryCubeResponse, type ServerCapability } from 'borgmcp-shared/protocol';
2
2
  import { activatePendingServerEnrollment, clearPendingServerCubeCreation, clearPendingServerEnrollment, getServerCredential, getServerCredentialRecord, getPendingServerEnrollment, getOrCreatePendingServerCubeCreation, getOrCreatePendingServerEnrollment } from './config.js';
3
3
  import { activateAndBindSeat, bindPendingSeatToWorktree, scrubPendingSeat, seatRef, type ActivateSeatOutcome, type BindPendingSeatOutcome, type SeatBinding, type SeatOperation as ServerSessionOperation } from './seats.js';
4
4
  import { loadBorgServerTrust, type BorgServerTrust } from './server-trust.js';
@@ -51,7 +51,7 @@ export interface ServerAttachResult {
51
51
  result: 'created' | 'reused';
52
52
  }
53
53
  /**
54
- * Attach an enrolled client principal to one granted cube/role over protocol v3.
54
+ * Attach an enrolled client principal to one granted cube/role over protocol v5.
55
55
  * The client CSPRNG-generates the session bearer and persists it PENDING in the
56
56
  * OS keychain (keyed by the stable per-seat identity) BEFORE this request, so an
57
57
  * interrupted/lost response is recovered by re-sending the exact same bearer —
@@ -133,6 +133,36 @@ export declare function resumeBorgServerEnrollment(origin: string, trustIdentity
133
133
  clearPendingEnrollment?: typeof clearPendingServerEnrollment;
134
134
  onPending?: () => void;
135
135
  }): Promise<NewServerEnrollment | null>;
136
+ /** Resolve one client-scoped repository association without mutation. */
137
+ export declare function resolveBorgServerRepositoryCube(origin: string, trustIdentity: string, parentCredential: string, input: {
138
+ workingRepoName: string;
139
+ repository: CreateCubeRepository;
140
+ }, deps?: {
141
+ fetchImpl?: FetchLike;
142
+ loadCredentialRecord?: typeof getServerCredentialRecord;
143
+ }): Promise<ResolveRepositoryCubeResponse>;
144
+ export declare function resolveLocalBorgServerRepositoryCube(origin: string, trustIdentity: string, parentCredential: string, input: {
145
+ workingRepoName: string;
146
+ repository: CreateCubeRepository;
147
+ }, deps?: {
148
+ loadTrust?: typeof loadBorgServerTrust;
149
+ }): Promise<ResolveRepositoryCubeResponse>;
150
+ /** Atomically associate an explicit accessible cube after local confirmation. */
151
+ export declare function associateBorgServerRepositoryCube(origin: string, trustIdentity: string, parentCredential: string, input: {
152
+ cubeId: string;
153
+ workingRepoName: string;
154
+ repository: CreateCubeRepository;
155
+ }, deps?: {
156
+ fetchImpl?: FetchLike;
157
+ loadCredentialRecord?: typeof getServerCredentialRecord;
158
+ }): Promise<AssociateRepositoryCubeResponse>;
159
+ export declare function associateLocalBorgServerRepositoryCube(origin: string, trustIdentity: string, parentCredential: string, input: {
160
+ cubeId: string;
161
+ workingRepoName: string;
162
+ repository: CreateCubeRepository;
163
+ }, deps?: {
164
+ loadTrust?: typeof loadBorgServerTrust;
165
+ }): Promise<AssociateRepositoryCubeResponse>;
136
166
  /**
137
167
  * Create one repository cube through the narrow owner capability. The retry
138
168
  * key is persisted in the OS keychain before network I/O and reused exactly
@@ -140,8 +170,10 @@ export declare function resumeBorgServerEnrollment(origin: string, trustIdentity
140
170
  * before any create request is sent.
141
171
  */
142
172
  export declare function createBorgServerCube(origin: string, trustIdentity: string, parentCredential: string, input: {
143
- projectRoot: string;
144
173
  name: string;
174
+ workingRepoName: string;
175
+ repository: CreateCubeRepository;
176
+ template: CubeTemplate;
145
177
  }, deps?: {
146
178
  fetchImpl?: FetchLike;
147
179
  loadCredentialRecord?: typeof getServerCredentialRecord;
@@ -149,8 +181,10 @@ export declare function createBorgServerCube(origin: string, trustIdentity: stri
149
181
  clearCubeCreation?: typeof clearPendingServerCubeCreation;
150
182
  }): Promise<CreateCubeResponse>;
151
183
  export declare function createLocalBorgServerCube(origin: string, trustIdentity: string, parentCredential: string, input: {
152
- projectRoot: string;
153
184
  name: string;
185
+ workingRepoName: string;
186
+ repository: CreateCubeRepository;
187
+ template: CubeTemplate;
154
188
  }, deps?: {
155
189
  loadTrust?: typeof loadBorgServerTrust;
156
190
  }): Promise<CreateCubeResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"server-handshake.d.ts","sourceRoot":"","sources":["../src/server-handshake.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-handshake.d.ts","sourceRoot":"","sources":["../src/server-handshake.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { ATTACH_PATH, CUBES_PATH, ENROLLMENT_EXCHANGE_PATH, HEALTH_PATH, PROTOCOL_INFO_PATH, createAttachRequestEnvelope, createProtocolEnvelope, decodeAttachResponseEnvelope, decodeCreateCubeRequest, decodeCreateCubeResponseEnvelope, decodeEnrollmentExchangeRequest, decodeEnrollmentExchangeResponseEnvelope, decodeProtocolErrorEnvelope, decodeProtocolTagPreflight, ErrorCode, } from 'borgmcp-shared/protocol';
1
+ import { ATTACH_PATH, CUBES_PATH, ENROLLMENT_EXCHANGE_PATH, HEALTH_PATH, PROTOCOL_INFO_PATH, REPOSITORY_CUBE_ASSOCIATION_PATH, REPOSITORY_CUBE_RESOLVE_PATH, createAttachRequestEnvelope, createProtocolEnvelope, decodeAssociateRepositoryCubeRequest, decodeAssociateRepositoryCubeResponseEnvelope, decodeAttachResponseEnvelope, decodeCreateCubeRequest, decodeCreateCubeResponseEnvelope, decodeEnrollmentExchangeRequest, decodeEnrollmentExchangeResponseEnvelope, decodeProtocolErrorEnvelope, decodeProtocolTagPreflight, decodeResolveRepositoryCubeRequest, decodeResolveRepositoryCubeResponseEnvelope, ErrorCode, } from 'borgmcp-shared/protocol';
2
2
  import { createHash, randomUUID } from 'node:crypto';
3
3
  import { activatePendingServerEnrollment, clearPendingServerCubeCreation, clearPendingServerEnrollment, getServerCredential, getServerCredentialRecord, getPendingServerEnrollment, getOrCreatePendingServerCubeCreation, getOrCreatePendingServerEnrollment, } from './config.js';
4
4
  import { activateAndBindSeat, bindPendingSeatToWorktree, scrubPendingSeat, seatRef, } from './seats.js';
5
- import { BorgServerError, BorgServerTrustError, BorgServerUnreachableError, } from './server-errors.js';
5
+ import { BorgServerError, BorgServerTrustError, BorgServerUnreachableError, CubeCreationConfirmationError, CubeCreationOutcomeUnknownError, RepositoryAssociationOperationError, RepositoryAssociationOutcomeUnknownError, RepositoryAssociationResolutionError, } from './server-errors.js';
6
6
  import { DroneEvictedError, DRONE_EVICTED_CODE } from './drone-lifecycle.js';
7
7
  import { readBoundedResponseBody } from './server-response.js';
8
8
  import { loadBorgServerTrust, } from './server-trust.js';
@@ -355,6 +355,156 @@ export async function resumeBorgServerEnrollment(origin, trustIdentity, deps = {
355
355
  ...(pending.clientName === undefined ? {} : { clientName: pending.clientName }),
356
356
  });
357
357
  }
358
+ async function requireMatchingServerCredential(origin, trustIdentity, parentCredential, loadCredentialRecord) {
359
+ const active = await loadCredentialRecord(origin, trustIdentity);
360
+ if (!active || active.credential !== parentCredential || !active.clientId) {
361
+ throw new BorgServerError('CREDENTIAL_REJECTED', 'stored Borg server credential was rejected');
362
+ }
363
+ }
364
+ async function protocolErrorCode(response) {
365
+ try {
366
+ return decodeProtocolErrorEnvelope(JSON.parse(await readHandshakeBodyWithTimeout(response))).error.code;
367
+ }
368
+ catch {
369
+ return undefined;
370
+ }
371
+ }
372
+ /** Resolve one client-scoped repository association without mutation. */
373
+ export async function resolveBorgServerRepositoryCube(origin, trustIdentity, parentCredential, input, deps = {}) {
374
+ await requireMatchingServerCredential(origin, trustIdentity, parentCredential, deps.loadCredentialRecord ?? getServerCredentialRecord);
375
+ const request = decodeResolveRepositoryCubeRequest({
376
+ working_repo_name: input.workingRepoName,
377
+ repository: input.repository,
378
+ });
379
+ const controller = new AbortController();
380
+ const timeout = setTimeout(() => controller.abort(), HANDSHAKE_TIMEOUT_MS);
381
+ let response;
382
+ try {
383
+ response = await (deps.fetchImpl ?? fetch)(handshakeUrl(origin, REPOSITORY_CUBE_RESOLVE_PATH), {
384
+ method: 'POST',
385
+ redirect: 'error',
386
+ signal: controller.signal,
387
+ headers: {
388
+ Accept: 'application/json',
389
+ 'Content-Type': 'application/json',
390
+ Authorization: `Bearer ${parentCredential}`,
391
+ },
392
+ body: JSON.stringify(createProtocolEnvelope(randomUUID(), request)),
393
+ });
394
+ }
395
+ catch (error) {
396
+ throw new RepositoryAssociationResolutionError();
397
+ }
398
+ finally {
399
+ clearTimeout(timeout);
400
+ }
401
+ if (response.status === 401 || response.status === 403) {
402
+ throw new BorgServerError('CREDENTIAL_REJECTED', 'Borg server enrollment was rejected');
403
+ }
404
+ if (response.status !== 200) {
405
+ throw new RepositoryAssociationResolutionError();
406
+ }
407
+ try {
408
+ const decoded = decodeResolveRepositoryCubeResponseEnvelope(JSON.parse(await readHandshakeBodyWithTimeout(response))).payload;
409
+ if (decoded.result === 'resolved' &&
410
+ (decoded.repository.kind !== request.repository.kind ||
411
+ decoded.repository.value !== request.repository.value ||
412
+ decoded.working_repo_name !== request.working_repo_name)) {
413
+ throw new Error('association mismatch');
414
+ }
415
+ return decoded;
416
+ }
417
+ catch {
418
+ throw new RepositoryAssociationResolutionError();
419
+ }
420
+ }
421
+ export async function resolveLocalBorgServerRepositoryCube(origin, trustIdentity, parentCredential, input, deps = {}) {
422
+ const trust = await (deps.loadTrust ?? loadBorgServerTrust)(origin);
423
+ if (trust.identity !== trustIdentity) {
424
+ throw new BorgServerTrustError('Borg server trust identity changed; refusing repository resolution');
425
+ }
426
+ return resolveBorgServerRepositoryCube(origin, trustIdentity, parentCredential, input, {
427
+ fetchImpl: trust.fetchImpl,
428
+ });
429
+ }
430
+ /** Atomically associate an explicit accessible cube after local confirmation. */
431
+ export async function associateBorgServerRepositoryCube(origin, trustIdentity, parentCredential, input, deps = {}) {
432
+ await requireMatchingServerCredential(origin, trustIdentity, parentCredential, deps.loadCredentialRecord ?? getServerCredentialRecord);
433
+ const request = decodeAssociateRepositoryCubeRequest({
434
+ cube_id: input.cubeId,
435
+ working_repo_name: input.workingRepoName,
436
+ repository: input.repository,
437
+ });
438
+ const controller = new AbortController();
439
+ const timeout = setTimeout(() => controller.abort(), HANDSHAKE_TIMEOUT_MS);
440
+ let response;
441
+ try {
442
+ response = await (deps.fetchImpl ?? fetch)(handshakeUrl(origin, REPOSITORY_CUBE_ASSOCIATION_PATH), {
443
+ method: 'PUT',
444
+ redirect: 'error',
445
+ signal: controller.signal,
446
+ headers: {
447
+ Accept: 'application/json',
448
+ 'Content-Type': 'application/json',
449
+ Authorization: `Bearer ${parentCredential}`,
450
+ },
451
+ body: JSON.stringify(createProtocolEnvelope(randomUUID(), request)),
452
+ });
453
+ }
454
+ catch {
455
+ throw new RepositoryAssociationOutcomeUnknownError();
456
+ }
457
+ finally {
458
+ clearTimeout(timeout);
459
+ }
460
+ if (response.status === 401) {
461
+ throw new BorgServerError('CREDENTIAL_REJECTED', 'Borg server enrollment was rejected');
462
+ }
463
+ if (response.status === 403) {
464
+ if (await protocolErrorCode(response) !== ErrorCode.ACCESS_DENIED) {
465
+ throw new RepositoryAssociationOutcomeUnknownError();
466
+ }
467
+ throw new RepositoryAssociationOperationError('access-denied');
468
+ }
469
+ if (response.status === 409) {
470
+ const code = await protocolErrorCode(response);
471
+ if (code === ErrorCode.REPOSITORY_ALREADY_ASSOCIATED) {
472
+ throw new RepositoryAssociationOperationError('repository-already-associated');
473
+ }
474
+ if (code === ErrorCode.CUBE_ALREADY_ASSOCIATED) {
475
+ throw new RepositoryAssociationOperationError('cube-already-associated');
476
+ }
477
+ if (code === ErrorCode.INVALID_INPUT) {
478
+ throw new RepositoryAssociationOperationError('invalid-cube');
479
+ }
480
+ throw new RepositoryAssociationOutcomeUnknownError();
481
+ }
482
+ if (response.status !== 200) {
483
+ throw new RepositoryAssociationOutcomeUnknownError();
484
+ }
485
+ try {
486
+ const decoded = decodeAssociateRepositoryCubeResponseEnvelope(JSON.parse(await readHandshakeBodyWithTimeout(response))).payload;
487
+ if (decoded.cube_id !== request.cube_id ||
488
+ decoded.repository.kind !== request.repository.kind ||
489
+ decoded.repository.value !== request.repository.value ||
490
+ decoded.working_repo_name !== request.working_repo_name) {
491
+ throw new Error('association mismatch');
492
+ }
493
+ return decoded;
494
+ }
495
+ catch (error) {
496
+ throw new RepositoryAssociationOutcomeUnknownError();
497
+ }
498
+ }
499
+ export async function associateLocalBorgServerRepositoryCube(origin, trustIdentity, parentCredential, input, deps = {}) {
500
+ const trust = await (deps.loadTrust ?? loadBorgServerTrust)(origin);
501
+ if (trust.identity !== trustIdentity) {
502
+ throw new BorgServerTrustError('Borg server trust identity changed; refusing repository association');
503
+ }
504
+ return associateBorgServerRepositoryCube(origin, trustIdentity, parentCredential, input, {
505
+ fetchImpl: trust.fetchImpl,
506
+ });
507
+ }
358
508
  /**
359
509
  * Create one repository cube through the narrow owner capability. The retry
360
510
  * key is persisted in the OS keychain before network I/O and reused exactly
@@ -373,13 +523,16 @@ export async function createBorgServerCube(origin, trustIdentity, parentCredenti
373
523
  origin,
374
524
  trustIdentity,
375
525
  clientId: active.clientId,
376
- projectRoot: input.projectRoot,
377
526
  name: input.name,
378
- template: 'default',
527
+ workingRepoName: input.workingRepoName,
528
+ repository: input.repository,
529
+ template: input.template,
379
530
  });
380
531
  const request = decodeCreateCubeRequest({
381
532
  retry_key: pending.retryKey,
382
533
  name: pending.name,
534
+ working_repo_name: pending.workingRepoName,
535
+ repository: pending.repository,
383
536
  template: pending.template,
384
537
  });
385
538
  const fetchImpl = deps.fetchImpl ?? fetch;
@@ -408,8 +561,10 @@ export async function createBorgServerCube(origin, trustIdentity, parentCredenti
408
561
  clearTimeout(timeout);
409
562
  }
410
563
  }
411
- if (!response)
412
- throw lastTransportError;
564
+ if (!response) {
565
+ void lastTransportError;
566
+ throw new CubeCreationOutcomeUnknownError();
567
+ }
413
568
  if (response.status === 401 || response.status === 403) {
414
569
  throw new BorgServerError('CREDENTIAL_REJECTED', 'Borg server enrollment was rejected');
415
570
  }
@@ -417,21 +572,28 @@ export async function createBorgServerCube(origin, trustIdentity, parentCredenti
417
572
  throw new BorgServerError('CREATE_CUBE_DENIED', 'This Borg server client is not authorized to create cubes');
418
573
  }
419
574
  if (response.status === 409) {
420
- throw new Error('Borg server cube creation retry state conflicted');
575
+ throw new CubeCreationConfirmationError('The Borg server rejected the repository cube operation identity.');
421
576
  }
422
577
  if (response.status !== 201) {
423
- throw new Error(`Borg server cube creation failed (HTTP ${response.status})`);
578
+ throw new CubeCreationOutcomeUnknownError();
424
579
  }
425
580
  let decoded;
426
581
  try {
427
582
  decoded = decodeCreateCubeResponseEnvelope(JSON.parse(await readHandshakeBodyWithTimeout(response)));
428
583
  }
429
- catch (error) {
430
- if (error instanceof Error && error.message.includes('response limit'))
431
- throw error;
432
- throw new Error('Borg server returned an invalid cube creation envelope');
584
+ catch {
585
+ throw new CubeCreationOutcomeUnknownError();
586
+ }
587
+ if (decoded.payload.repository.kind !== pending.repository.kind ||
588
+ decoded.payload.repository.value !== pending.repository.value) {
589
+ throw new CubeCreationConfirmationError();
590
+ }
591
+ try {
592
+ await (deps.clearCubeCreation ?? clearPendingServerCubeCreation)(pending);
593
+ }
594
+ catch {
595
+ throw new CubeCreationConfirmationError('The server confirmed the cube, but local retry state could not be finalized.');
433
596
  }
434
- await (deps.clearCubeCreation ?? clearPendingServerCubeCreation)(pending);
435
597
  return decoded.payload;
436
598
  }
437
599
  export async function createLocalBorgServerCube(origin, trustIdentity, parentCredential, input, deps = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"server-handshake.js","sourceRoot":"","sources":["../src/server-handshake.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-handshake.js","sourceRoot":"","sources":["../src/server-handshake.ts"],"names":[],"mappings":"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"}