borgmcp-shared 0.6.3 → 0.6.4

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":"contract.js","sourceRoot":"","sources":["../../src/protocol/contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/protocol/contract.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,8 @@ export declare enum ErrorCode {
12
12
  DATABASE_ERROR = "DATABASE_ERROR",
13
13
  EXTERNAL_SERVICE_ERROR = "EXTERNAL_SERVICE_ERROR",
14
14
  NOT_FOUND = "NOT_FOUND",
15
+ REPOSITORY_ALREADY_ASSOCIATED = "REPOSITORY_ALREADY_ASSOCIATED",
16
+ CUBE_ALREADY_ASSOCIATED = "CUBE_ALREADY_ASSOCIATED",
15
17
  ROLE_IN_USE = "ROLE_IN_USE",
16
18
  ROLE_HAS_FROZEN_DRONES = "ROLE_HAS_FROZEN_DRONES",
17
19
  DRONE_EVICTED = "DRONE_EVICTED",
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/protocol/errors.ts"],"names":[],"mappings":"AACA,oBAAY,SAAS;IACnB,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;IAC7B,qBAAqB,0BAA0B;IAC/C,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,iBAAiB,sBAAsB;IACvC,iBAAiB,sBAAsB;IACvC,mBAAmB,wBAAwB;IAC3C,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,sBAAsB,2BAA2B;IACjD,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,sBAAsB,2BAA2B;IACjD,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;IAC7B,4BAA4B,iCAAiC;IAC7D,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IAQnC,gBAAgB,qBAAqB;CACtC;AAGD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/protocol/errors.ts"],"names":[],"mappings":"AACA,oBAAY,SAAS;IACnB,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;IAC7B,qBAAqB,0BAA0B;IAC/C,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,iBAAiB,sBAAsB;IACvC,iBAAiB,sBAAsB;IACvC,mBAAmB,wBAAwB;IAC3C,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,sBAAsB,2BAA2B;IACjD,SAAS,cAAc;IACvB,6BAA6B,kCAAkC;IAC/D,uBAAuB,4BAA4B;IACnD,WAAW,gBAAgB;IAC3B,sBAAsB,2BAA2B;IACjD,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;IAC7B,4BAA4B,iCAAiC;IAC7D,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IAQnC,gBAAgB,qBAAqB;CACtC;AAGD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -13,6 +13,8 @@ export var ErrorCode;
13
13
  ErrorCode["DATABASE_ERROR"] = "DATABASE_ERROR";
14
14
  ErrorCode["EXTERNAL_SERVICE_ERROR"] = "EXTERNAL_SERVICE_ERROR";
15
15
  ErrorCode["NOT_FOUND"] = "NOT_FOUND";
16
+ ErrorCode["REPOSITORY_ALREADY_ASSOCIATED"] = "REPOSITORY_ALREADY_ASSOCIATED";
17
+ ErrorCode["CUBE_ALREADY_ASSOCIATED"] = "CUBE_ALREADY_ASSOCIATED";
16
18
  ErrorCode["ROLE_IN_USE"] = "ROLE_IN_USE";
17
19
  ErrorCode["ROLE_HAS_FROZEN_DRONES"] = "ROLE_HAS_FROZEN_DRONES";
18
20
  ErrorCode["DRONE_EVICTED"] = "DRONE_EVICTED";
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/protocol/errors.ts"],"names":[],"mappings":"AACA,MAAM,CAAN,IAAY,SA8BX;AA9BD,WAAY,SAAS;IACnB,0CAA6B,CAAA;IAC7B,0CAA6B,CAAA;IAC7B,0CAA6B,CAAA;IAC7B,4DAA+C,CAAA;IAC/C,4CAA+B,CAAA;IAC/B,4CAA+B,CAAA;IAC/B,oDAAuC,CAAA;IACvC,oDAAuC,CAAA;IACvC,wDAA2C,CAAA;IAC3C,8CAAiC,CAAA;IACjC,8CAAiC,CAAA;IACjC,8DAAiD,CAAA;IACjD,oCAAuB,CAAA;IACvB,wCAA2B,CAAA;IAC3B,8DAAiD,CAAA;IACjD,4CAA+B,CAAA;IAC/B,0CAA6B,CAAA;IAC7B,0EAA6D,CAAA;IAC7D,8CAAiC,CAAA;IACjC,8CAAiC,CAAA;IACjC,gDAAmC,CAAA;IAQnC,kDAAqC,CAAA;AACvC,CAAC,EA9BW,SAAS,KAAT,SAAS,QA8BpB"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/protocol/errors.ts"],"names":[],"mappings":"AACA,MAAM,CAAN,IAAY,SAgCX;AAhCD,WAAY,SAAS;IACnB,0CAA6B,CAAA;IAC7B,0CAA6B,CAAA;IAC7B,0CAA6B,CAAA;IAC7B,4DAA+C,CAAA;IAC/C,4CAA+B,CAAA;IAC/B,4CAA+B,CAAA;IAC/B,oDAAuC,CAAA;IACvC,oDAAuC,CAAA;IACvC,wDAA2C,CAAA;IAC3C,8CAAiC,CAAA;IACjC,8CAAiC,CAAA;IACjC,8DAAiD,CAAA;IACjD,oCAAuB,CAAA;IACvB,4EAA+D,CAAA;IAC/D,gEAAmD,CAAA;IACnD,wCAA2B,CAAA;IAC3B,8DAAiD,CAAA;IACjD,4CAA+B,CAAA;IAC/B,0CAA6B,CAAA;IAC7B,0EAA6D,CAAA;IAC7D,8CAAiC,CAAA;IACjC,8CAAiC,CAAA;IACjC,gDAAmC,CAAA;IAQnC,kDAAqC,CAAA;AACvC,CAAC,EAhCW,SAAS,KAAT,SAAS,QAgCpB"}
@@ -1,3 +1,3 @@
1
- export declare const PROTOCOL_VERSION: "4";
1
+ export declare const PROTOCOL_VERSION: "5";
2
2
  export type ProtocolVersion = typeof PROTOCOL_VERSION;
3
3
  //# sourceMappingURL=version.d.ts.map
@@ -1,2 +1,2 @@
1
- export const PROTOCOL_VERSION = '4';
1
+ export const PROTOCOL_VERSION = '5';
2
2
  //# sourceMappingURL=version.js.map
@@ -37,12 +37,20 @@ removes `session.expires_at` from attach responses: the exact session shape is
37
37
  before it decodes this response; a v3 peer likewise rejects v2. There is no
38
38
  field-level fallback.
39
39
 
40
- The reviewed, unpublished `borgmcp-shared@0.6.3` candidate carries protocol v4.
41
- It adds strict origin-or-local repository identity, separate cube and repository
42
- display names, named built-in templates, and authoritative created-or-resolved
43
- readback. A v3 peer and a v4 peer reject each other before credentials or
44
- mutation. The candidate is not a release until its separate exact-commit tag and
45
- protected publication gates complete.
40
+ Published `borgmcp-shared@0.6.3` carries protocol v4. It adds strict
41
+ origin-or-local repository identity, separate cube and repository display names,
42
+ named built-in templates, and authoritative created-or-resolved readback. A v3
43
+ peer and a v4 peer reject each other before credentials or mutation.
44
+
45
+ The reviewed, unpublished `borgmcp-shared@0.6.4` hotfix candidate carries
46
+ protocol v5. It adds authenticated, read-only
47
+ `POST /api/repository-cubes/resolve` and separately confirmed, atomic
48
+ `PUT /api/repository-cubes/association` operations. The resolver returns an
49
+ explicit none or authoritative associated cube/template/role fields; association
50
+ requires an explicit cube ID and canonical repository identity. A v4 peer and a
51
+ v5 peer reject each other during credential-free preflight before credentials or
52
+ operation dispatch. The candidate is not a release until its separate
53
+ exact-commit tag and protected publication gates complete.
46
54
 
47
55
  Removing or reinterpreting an existing field is a protocol-breaking change even
48
56
  when TypeScript permits it. Implementations must not infer compatibility from a
@@ -56,7 +64,8 @@ The rollout order is fail-closed:
56
64
  1. Publish the reviewed `borgmcp-shared` registry artifact only after its
57
65
  separate tag and publication gates pass, under a version that has never been
58
66
  published with a different protocol tag.
59
- 2. Update the client and server releases to the reviewed registry range; Git
67
+ 2. Update the server release to the reviewed exact shared version, then update
68
+ the client release to the same exact shared version and matching server; Git
60
69
  dependencies are not an authorized release input.
61
70
  3. Run the shared adapter conformance suite in both consumers before release.
62
71
  4. Deploy client and server support together. A peer on the prior protocol tag
@@ -1,4 +1,4 @@
1
- # Retry-Safe Enrollment and Cube Creation Contract
1
+ # Retry-Safe Enrollment and Repository Cube Contract
2
2
 
3
3
  This document defines the data-only enrollment and cube-creation boundaries
4
4
  shared by clients and servers. It does not define offline operator commands,
@@ -19,9 +19,10 @@ incident is bound to tag object `045268aa8873da330819860012ecaddb4bc2883c`, prot
19
19
  `fd69b08586481a60c88099dede8e4e066f73f2f2`; attempt-1 workflow run
20
20
  `30054936226` failed in tests before build, packaging, authentication, or registry
21
21
  mutation and must never be rerun or moved. `borgmcp-shared@0.6.1` and
22
- `borgmcp-shared@0.6.2` are published and immutable. This source now identifies
23
- the reviewed, unpublished `0.6.3` protocol-v4 cube-creation contract release.
24
- The version bump grants no tag or publication authority: creating `v0.6.3` and
22
+ `borgmcp-shared@0.6.2` and `borgmcp-shared@0.6.3` are published and immutable.
23
+ This source now identifies the reviewed, unpublished `0.6.4`
24
+ repository-association hotfix candidate. The version bump grants no tag or
25
+ publication authority: creating `v0.6.4` and
25
26
  publishing the reviewed artifact remain separate, independently gated steps.
26
27
  There is no compatibility path that returns a bearer from the server.
27
28
 
@@ -128,7 +129,8 @@ enrollment and attach routes never create or widen grants.
128
129
 
129
130
  ## Cube Creation
130
131
 
131
- Under protocol v4, `POST /api/cubes` requires an active parent-client credential
132
+ Introduced under protocol v4 and retained in v5, `POST /api/cubes` requires an
133
+ active parent-client credential
132
134
  with the persisted `create_cube` server capability. Ordinary clients, revoked
133
135
  clients, and drone sessions cannot use it. Its strict payload is:
134
136
 
@@ -190,6 +192,40 @@ repository may create another cube, subject to implementation quotas. `owner_id`
190
192
  and role labels remain metadata; cube access derives only from the explicit
191
193
  cube-scoped grant.
192
194
 
195
+ ## Existing Repository Cube Resolution and Association
196
+
197
+ Repository lookup and adoption are separate authenticated operations. Before
198
+ name discovery or any prompt, a client sends the canonical `repository` identity
199
+ and bounded `working_repo_name` to the read-only
200
+ `POST /api/repository-cubes/resolve` operation. It returns exactly
201
+ `{ "result": "none" }` when no association exists for that authenticated client,
202
+ or the stored authoritative cube name, template, repository display, human-seat
203
+ role ID, default-worker role ID, and `manage` access with `result: "resolved"`.
204
+ The resolver never mutates state or infers an association from a cube name.
205
+ Associations are scoped to the authenticated client. Cross-client bindings never
206
+ produce a conflict or existence signal. If a same-client association points to a
207
+ cube for which the caller no longer has `manage` access, read-only resolution
208
+ returns `none` rather than exposing the binding.
209
+
210
+ After separate user confirmation, `PUT /api/repository-cubes/association`
211
+ accepts an explicit canonical cube UUID plus the same repository identity and
212
+ display fields. The server requires authenticated `manage` authority for that
213
+ cube and atomically persists the association before returning the same
214
+ authoritative resolved shape. Repeating the same cube/repository binding is
215
+ idempotent. A repository already bound to another cube returns HTTP `409`
216
+ `REPOSITORY_ALREADY_ASSOCIATED`; a cube already bound to another repository
217
+ returns HTTP `409` `CUBE_ALREADY_ASSOCIATED`. A legacy cube whose authoritative
218
+ human-seat or default-worker roles are invalid returns HTTP `409` `INVALID_INPUT`.
219
+ All three outcomes perform zero mutation and use static, non-enumerating
220
+ diagnostics: neither `message` nor `details` may name or echo a conflicting cube
221
+ ID or repository identity, regardless of the caller's access. An inaccessible
222
+ target cube, or a same-client repository binding whose cube is no longer
223
+ accessible, returns HTTP `403` `ACCESS_DENIED` without distinguishing the hidden
224
+ state. Names are discovery and display values only. Implementations must not
225
+ silently infer or backfill an
226
+ association, report success after a client-local write alone, or overload cube
227
+ creation as the read-only preflight.
228
+
193
229
  ## Conformance
194
230
 
195
231
  `ENROLLMENT_RETRY_CONFORMANCE` covers exact retry stability plus retry-key,
@@ -207,4 +243,10 @@ violation fails conformance.
207
243
  display readback, and mismatch rejection for cube name, repository kind/value,
208
244
  and template. `CREATE_CUBE_ASSOCIATION_CONFORMANCE` distinguishes no-mutation
209
245
  resolution of an existing repository association from creation for a different,
210
- unassociated repository.
246
+ unassociated repository. `RESOLVE_REPOSITORY_CUBE_CONFORMANCE` pins explicit
247
+ none and authoritative no-mutation readback. `ASSOCIATE_REPOSITORY_CUBE_CONFORMANCE`,
248
+ `REPOSITORY_CUBE_PERMISSION_CONFORMANCE`, and
249
+ `REPOSITORY_CUBE_AUTHORITATIVE_STATE_CONFORMANCE` pin explicit-ID idempotency,
250
+ both conflict directions, non-enumerating diagnostics, manage authorization,
251
+ authoritative role validation, and zero mutation on rejection. The
252
+ adapter runner executes the complete association boundary against each host.
package/docs/releasing.md CHANGED
@@ -133,11 +133,12 @@ that tag. `borgmcp-shared@0.6.0` was never published. Its annotated tag object
133
133
  `fd69b08586481a60c88099dede8e4e066f73f2f2`; attempt-1 workflow run
134
134
  `30054936226` failed in tests before build, packaging, authentication, or registry
135
135
  mutation. Never rerun or move that tag. `borgmcp-shared@0.6.1` and
136
- `borgmcp-shared@0.6.2` are published and immutable. This source identifies the
137
- reviewed, unpublished `0.6.3` protocol-v4 cube-creation contract release. Its
136
+ `borgmcp-shared@0.6.2` and `borgmcp-shared@0.6.3` are published and immutable.
137
+ This source identifies the reviewed, unpublished `0.6.4`
138
+ repository-association hotfix candidate. Its
138
139
  release requires reviewed source and explicit publication authorization through
139
140
  one protected publish run whose terminal boundary is successful `npm publish`.
140
141
  The workflow performs no post-publication registry readback. Consumers
141
142
  must update the reviewed shared artifact before adopting the matching server and
142
- client releases; incompatible protocol v2, v3, and v4 peers fail closed at
143
+ client releases; incompatible protocol v2, v3, v4, and v5 peers fail closed at
143
144
  credential-free preflight.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "borgmcp-shared",
3
- "version": "0.6.3",
3
+ "version": "0.6.4",
4
4
  "description": "Shared protocol, domain, templates, and conformance contracts for Borg MCP implementations.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -2,6 +2,7 @@ import {
2
2
  ErrorCode,
3
3
  compareLogCursor,
4
4
  createProtocolEnvelope,
5
+ decodeAssociateRepositoryCubeResponseEnvelope,
5
6
  decodeCreateCubeResponseEnvelope,
6
7
  decodeAppendLogResultEnvelope,
7
8
  decodeDecisionResultEnvelope,
@@ -14,6 +15,7 @@ import {
14
15
  decodeProtocolErrorEnvelope,
15
16
  decodeProtocolTagPreflight,
16
17
  decodeReadLogResultEnvelope,
18
+ decodeResolveRepositoryCubeResponseEnvelope,
17
19
  decodeReassignDroneResultEnvelope,
18
20
  decodeUpdateDroneRuntimeMetadataResponseEnvelope,
19
21
  decodeSseFrames,
@@ -24,6 +26,7 @@ import {
24
26
  type CreateCubeResponse,
25
27
  type CreateCubeRepository,
26
28
  type CubeTemplate,
29
+ type ResolvedRepositoryCube,
27
30
  type LogCursor,
28
31
  type StreamEvent,
29
32
  type DroneRuntimeMetadata,
@@ -127,6 +130,15 @@ export interface ConformanceCreatedCubeState {
127
130
  default_worker_role_matches: boolean;
128
131
  }
129
132
 
133
+ export interface ConformanceRepositoryCubeFixture {
134
+ cube_id: string;
135
+ name: string;
136
+ template: CubeTemplate;
137
+ human_seat_role_id: string;
138
+ default_worker_role_id: string;
139
+ access: 'manage';
140
+ }
141
+
130
142
  export interface ConformanceEnrollmentPrincipalState {
131
143
  response_client_matches: boolean;
132
144
  active_credential_bindings: number;
@@ -164,6 +176,7 @@ export interface ConformanceAdmin {
164
176
  cube: ConformanceCube,
165
177
  access?: ConformanceCubeAccess,
166
178
  ): Promise<void>;
179
+ revokeCubeGrant(principal: ConformancePrincipal, cube: ConformanceCube): Promise<void>;
167
180
  createRole(cube: ConformanceCube, input: {
168
181
  readonly roleClass: 'queen' | 'worker';
169
182
  readonly isHumanSeat: boolean;
@@ -192,6 +205,13 @@ export interface ConformanceAdmin {
192
205
  creator: ConformancePrincipal,
193
206
  response: CreateCubeResponse,
194
207
  ): Promise<ConformanceCreatedCubeState>;
208
+ prepareRepositoryCube(
209
+ cube: ConformanceCube,
210
+ input: {
211
+ name: string;
212
+ template: CubeTemplate;
213
+ },
214
+ ): Promise<ConformanceRepositoryCubeFixture>;
195
215
  inspectEnrollmentPrincipal(
196
216
  principal: ConformancePrincipal,
197
217
  responseClientId: string,
@@ -207,6 +227,8 @@ export interface ConformanceOperations {
207
227
  protocol(credential: string | null): Promise<ConformanceHttpResponse>;
208
228
  enroll(request: unknown): Promise<ConformanceHttpResponse>;
209
229
  createCube(credential: string | null, request: unknown): Promise<ConformanceHttpResponse>;
230
+ resolveRepositoryCube(credential: string | null, request: unknown): Promise<ConformanceHttpResponse>;
231
+ associateRepositoryCube(credential: string | null, request: unknown): Promise<ConformanceHttpResponse>;
210
232
  attach(credential: string, request: unknown): Promise<ConformanceHttpResponse>;
211
233
  selfMetadataUpdate(
212
234
  credential: string,
@@ -291,6 +313,7 @@ export const ADAPTER_CONFORMANCE_FIXTURES = [
291
313
  { id: 'http.unauthenticated-liveness', area: 'http' },
292
314
  { id: 'protocol.credential-free-preflight', area: 'protocol' },
293
315
  { id: 'enrollment.retry-authority', area: 'enrollment' },
316
+ { id: 'repository.explicit-association', area: 'repository' },
294
317
  { id: 'security.adapter-boundary-injection', area: 'security' },
295
318
  { id: 'security.oversize-request', area: 'security' },
296
319
  { id: 'security.cross-cube-isolation', area: 'security' },
@@ -981,6 +1004,244 @@ export async function runAdapterConformance(
981
1004
  };
982
1005
  });
983
1006
 
1007
+ await record('repository.explicit-association', async () => {
1008
+ const repository = {
1009
+ kind: 'origin' as const,
1010
+ value: 'https://github.com/Byte-Ventures/legacy-repository',
1011
+ };
1012
+ const prepared = await environment.admin.prepareRepositoryCube(cubeA, {
1013
+ name: 'Legacy Repository Cube',
1014
+ template: 'software-dev',
1015
+ });
1016
+ const resolveRequest = {
1017
+ working_repo_name: 'legacy-repository',
1018
+ repository,
1019
+ };
1020
+ const beforeNone = await environment.admin.observeAuthorityState();
1021
+ const noneResponse = await environment.operations.resolveRepositoryCube(
1022
+ credentialA,
1023
+ createProtocolEnvelope('repository-resolve-none', resolveRequest),
1024
+ );
1025
+ expectStatus(noneResponse, 200, 'Unassociated repository resolution');
1026
+ invariant(
1027
+ same(decodeResolveRepositoryCubeResponseEnvelope(noneResponse.body).payload, { result: 'none' }),
1028
+ 'Unassociated repository did not return explicit none.',
1029
+ );
1030
+ assertStateDelta(beforeNone, await environment.admin.observeAuthorityState(), {}, 'Repository resolution');
1031
+
1032
+ const associationRequest = { cube_id: cubeA.id, ...resolveRequest };
1033
+ const beforeDenied = await environment.admin.observeAuthorityState();
1034
+ expectSecretFreeError(
1035
+ await environment.operations.associateRepositoryCube(
1036
+ credentialB,
1037
+ createProtocolEnvelope('repository-associate-denied', associationRequest),
1038
+ ),
1039
+ 403,
1040
+ ErrorCode.ACCESS_DENIED,
1041
+ 'Inaccessible repository cube association',
1042
+ [associationRequest.cube_id, repository.value],
1043
+ );
1044
+ assertStateDelta(beforeDenied, await environment.admin.observeAuthorityState(), {}, 'Denied repository association');
1045
+
1046
+ const beforeAssociation = await environment.admin.observeAuthorityState();
1047
+ const associatedResponse = await environment.operations.associateRepositoryCube(
1048
+ credentialA,
1049
+ createProtocolEnvelope('repository-associate', associationRequest),
1050
+ );
1051
+ expectStatus(associatedResponse, 200, 'Explicit repository cube association');
1052
+ const associated = decodeAssociateRepositoryCubeResponseEnvelope(associatedResponse.body).payload;
1053
+ const authoritative = {
1054
+ result: 'resolved' as const,
1055
+ cube_id: prepared.cube_id,
1056
+ name: prepared.name,
1057
+ working_repo_name: resolveRequest.working_repo_name,
1058
+ repository,
1059
+ template: prepared.template,
1060
+ human_seat_role_id: prepared.human_seat_role_id,
1061
+ default_worker_role_id: prepared.default_worker_role_id,
1062
+ access: prepared.access,
1063
+ };
1064
+ invariant(same(associated, authoritative), 'Repository association did not return authoritative stored fields.');
1065
+ assertStateDelta(
1066
+ beforeAssociation,
1067
+ await environment.admin.observeAuthorityState(),
1068
+ { repository_associations: 1 },
1069
+ 'Explicit repository association',
1070
+ );
1071
+
1072
+ const beforeResolve = await environment.admin.observeAuthorityState();
1073
+ const resolvedResponse = await environment.operations.resolveRepositoryCube(
1074
+ credentialA,
1075
+ createProtocolEnvelope('repository-resolve', {
1076
+ ...resolveRequest,
1077
+ working_repo_name: 'ignored-new-display',
1078
+ }),
1079
+ );
1080
+ expectStatus(resolvedResponse, 200, 'Associated repository resolution');
1081
+ invariant(
1082
+ same(decodeResolveRepositoryCubeResponseEnvelope(resolvedResponse.body).payload, authoritative),
1083
+ 'Associated repository did not return stored authoritative display.',
1084
+ );
1085
+ assertStateDelta(beforeResolve, await environment.admin.observeAuthorityState(), {}, 'Associated repository resolution');
1086
+
1087
+ const beforeRetry = await environment.admin.observeAuthorityState();
1088
+ const retryResponse = await environment.operations.associateRepositoryCube(
1089
+ credentialA,
1090
+ createProtocolEnvelope('repository-associate-retry', associationRequest),
1091
+ );
1092
+ expectStatus(retryResponse, 200, 'Exact repository association retry');
1093
+ invariant(
1094
+ same(decodeAssociateRepositoryCubeResponseEnvelope(retryResponse.body).payload, authoritative),
1095
+ 'Exact repository association retry changed authoritative fields.',
1096
+ );
1097
+ assertStateDelta(beforeRetry, await environment.admin.observeAuthorityState(), {}, 'Repository association retry');
1098
+
1099
+ const cubeC = await environment.admin.createCube('cube-c');
1100
+ await environment.admin.grantCube(principalA, cubeC);
1101
+ await environment.admin.prepareRepositoryCube(cubeC, {
1102
+ name: 'Other Legacy Cube',
1103
+ template: 'starter',
1104
+ });
1105
+ const beforeRepositoryConflict = await environment.admin.observeAuthorityState();
1106
+ expectSecretFreeError(
1107
+ await environment.operations.associateRepositoryCube(
1108
+ credentialA,
1109
+ createProtocolEnvelope('repository-associate-repository-conflict', {
1110
+ ...associationRequest,
1111
+ cube_id: cubeC.id,
1112
+ }),
1113
+ ),
1114
+ 409,
1115
+ ErrorCode.REPOSITORY_ALREADY_ASSOCIATED,
1116
+ 'Repository-to-other-cube conflict',
1117
+ [cubeA.id, cubeC.id, repository.value],
1118
+ );
1119
+ assertStateDelta(
1120
+ beforeRepositoryConflict,
1121
+ await environment.admin.observeAuthorityState(),
1122
+ {},
1123
+ 'Repository-to-other-cube conflict',
1124
+ );
1125
+
1126
+ const beforeCubeConflict = await environment.admin.observeAuthorityState();
1127
+ expectSecretFreeError(
1128
+ await environment.operations.associateRepositoryCube(
1129
+ credentialA,
1130
+ createProtocolEnvelope('repository-associate-cube-conflict', {
1131
+ cube_id: cubeA.id,
1132
+ working_repo_name: 'other-repository',
1133
+ repository: {
1134
+ kind: 'origin',
1135
+ value: 'https://github.com/Byte-Ventures/other-repository',
1136
+ },
1137
+ }),
1138
+ ),
1139
+ 409,
1140
+ ErrorCode.CUBE_ALREADY_ASSOCIATED,
1141
+ 'Cube-to-other-repository conflict',
1142
+ [cubeA.id, repository.value, 'https://github.com/Byte-Ventures/other-repository'],
1143
+ );
1144
+ assertStateDelta(
1145
+ beforeCubeConflict,
1146
+ await environment.admin.observeAuthorityState(),
1147
+ {},
1148
+ 'Cube-to-other-repository conflict',
1149
+ );
1150
+
1151
+ const preparedB = await environment.admin.prepareRepositoryCube(cubeB, {
1152
+ name: 'Other Client Legacy Cube',
1153
+ template: 'starter',
1154
+ });
1155
+ const beforeCrossClientResolve = await environment.admin.observeAuthorityState();
1156
+ const crossClientResolve = await environment.operations.resolveRepositoryCube(
1157
+ credentialB,
1158
+ createProtocolEnvelope('repository-resolve-cross-client', resolveRequest),
1159
+ );
1160
+ expectStatus(crossClientResolve, 200, 'Cross-client repository resolution');
1161
+ invariant(
1162
+ same(decodeResolveRepositoryCubeResponseEnvelope(crossClientResolve.body).payload, { result: 'none' }),
1163
+ 'Another client repository binding was exposed by resolution.',
1164
+ );
1165
+ assertStateDelta(
1166
+ beforeCrossClientResolve,
1167
+ await environment.admin.observeAuthorityState(),
1168
+ {},
1169
+ 'Cross-client repository resolution',
1170
+ );
1171
+ const beforeCrossClientAssociation = await environment.admin.observeAuthorityState();
1172
+ const crossClientAssociation = await environment.operations.associateRepositoryCube(
1173
+ credentialB,
1174
+ createProtocolEnvelope('repository-associate-cross-client', {
1175
+ ...associationRequest,
1176
+ cube_id: cubeB.id,
1177
+ }),
1178
+ );
1179
+ expectStatus(crossClientAssociation, 200, 'Cross-client repository association');
1180
+ const crossClientAssociated = decodeAssociateRepositoryCubeResponseEnvelope(
1181
+ crossClientAssociation.body,
1182
+ ).payload;
1183
+ invariant(
1184
+ crossClientAssociated.cube_id === preparedB.cube_id &&
1185
+ crossClientAssociated.repository.value === repository.value,
1186
+ 'Another client binding changed cross-client association identity.',
1187
+ );
1188
+ assertStateDelta(
1189
+ beforeCrossClientAssociation,
1190
+ await environment.admin.observeAuthorityState(),
1191
+ { repository_associations: 1 },
1192
+ 'Cross-client repository association',
1193
+ );
1194
+
1195
+ await environment.admin.revokeCubeGrant(principalA, cubeA);
1196
+ const beforeHiddenResolve = await environment.admin.observeAuthorityState();
1197
+ const hiddenResolve = await environment.operations.resolveRepositoryCube(
1198
+ credentialA,
1199
+ createProtocolEnvelope('repository-resolve-inaccessible-binding', resolveRequest),
1200
+ );
1201
+ expectStatus(hiddenResolve, 200, 'Inaccessible repository binding resolution');
1202
+ invariant(
1203
+ same(decodeResolveRepositoryCubeResponseEnvelope(hiddenResolve.body).payload, { result: 'none' }),
1204
+ 'Inaccessible repository binding was exposed by read-only resolution.',
1205
+ );
1206
+ assertStateDelta(
1207
+ beforeHiddenResolve,
1208
+ await environment.admin.observeAuthorityState(),
1209
+ {},
1210
+ 'Inaccessible repository binding resolution',
1211
+ );
1212
+ const beforeHiddenAssociation = await environment.admin.observeAuthorityState();
1213
+ expectSecretFreeError(
1214
+ await environment.operations.associateRepositoryCube(
1215
+ credentialA,
1216
+ createProtocolEnvelope('repository-associate-inaccessible-binding', {
1217
+ ...associationRequest,
1218
+ cube_id: cubeC.id,
1219
+ }),
1220
+ ),
1221
+ 403,
1222
+ ErrorCode.ACCESS_DENIED,
1223
+ 'Inaccessible existing repository binding',
1224
+ [cubeA.id, cubeC.id, repository.value],
1225
+ );
1226
+ assertStateDelta(
1227
+ beforeHiddenAssociation,
1228
+ await environment.admin.observeAuthorityState(),
1229
+ {},
1230
+ 'Inaccessible existing repository binding',
1231
+ );
1232
+ await environment.admin.grantCube(principalA, cubeA);
1233
+ return {
1234
+ none: true,
1235
+ resolved: true,
1236
+ idempotent: true,
1237
+ repository_conflict: ErrorCode.REPOSITORY_ALREADY_ASSOCIATED,
1238
+ cube_conflict: ErrorCode.CUBE_ALREADY_ASSOCIATED,
1239
+ inaccessible: ErrorCode.ACCESS_DENIED,
1240
+ inaccessible_binding_hidden: true,
1241
+ cross_client_binding_hidden: true,
1242
+ };
1243
+ });
1244
+
984
1245
  await record('security.adapter-boundary-injection', async () => {
985
1246
  const injectedMessage = "'); DROP TABLE log_entries; --\r\ndata: forged-sse-frame";
986
1247
  const injectedBody = JSON.stringify(