borgmcp-shared 0.6.2 → 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.
- package/README.md +23 -9
- package/dist/conformance/adapter.d.ts +27 -1
- package/dist/conformance/adapter.d.ts.map +1 -1
- package/dist/conformance/adapter.js +184 -17
- package/dist/conformance/adapter.js.map +1 -1
- package/dist/conformance/index.d.ts +139 -1
- package/dist/conformance/index.d.ts.map +1 -1
- package/dist/conformance/index.js +193 -0
- package/dist/conformance/index.js.map +1 -1
- package/dist/protocol/contract.d.ts +62 -2
- package/dist/protocol/contract.d.ts.map +1 -1
- package/dist/protocol/contract.js +177 -5
- package/dist/protocol/contract.js.map +1 -1
- package/dist/protocol/errors.d.ts +2 -0
- package/dist/protocol/errors.d.ts.map +1 -1
- package/dist/protocol/errors.js +2 -0
- package/dist/protocol/errors.js.map +1 -1
- package/dist/protocol/version.d.ts +1 -1
- package/dist/protocol/version.js +1 -1
- package/dist/templates.d.ts +12 -0
- package/dist/templates.d.ts.map +1 -1
- package/dist/templates.js +16 -3
- package/dist/templates.js.map +1 -1
- package/docs/compatibility.md +18 -2
- package/docs/enrollment.md +97 -25
- package/docs/releasing.md +24 -22
- package/package.json +1 -1
- package/src/conformance/adapter.ts +398 -22
- package/src/conformance/index.ts +271 -1
- package/src/protocol/contract.ts +254 -11
- package/src/protocol/errors.ts +2 -0
- package/src/protocol/version.ts +2 -2
- package/src/templates.ts +20 -3
|
@@ -120,6 +120,199 @@ export const ENROLLMENT_RETRY_CONFORMANCE = [
|
|
|
120
120
|
expected: { outcome: 'uniform_auth_invalid', status: 401, error: 'AUTH_INVALID' },
|
|
121
121
|
},
|
|
122
122
|
];
|
|
123
|
+
const CREATE_CUBE_RETRY_KEY = '00000000-0000-4000-8000-000000000121';
|
|
124
|
+
const CREATE_CUBE_INITIAL = {
|
|
125
|
+
retry_key: CREATE_CUBE_RETRY_KEY,
|
|
126
|
+
name: 'Repository One',
|
|
127
|
+
working_repo_name: 'repository-one',
|
|
128
|
+
repository: { kind: 'origin', value: 'https://github.com/Byte-Ventures/repository-one' },
|
|
129
|
+
template: 'default',
|
|
130
|
+
};
|
|
131
|
+
export const CREATE_CUBE_RETRY_CONFORMANCE = [
|
|
132
|
+
{
|
|
133
|
+
name: 'exact retry resolves the authoritative response',
|
|
134
|
+
initial: CREATE_CUBE_INITIAL,
|
|
135
|
+
retry: CREATE_CUBE_INITIAL,
|
|
136
|
+
expected: { outcome: 'resolved_response', status: 201 },
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
name: 'changed repository display metadata resolves stored authoritative display',
|
|
140
|
+
initial: CREATE_CUBE_INITIAL,
|
|
141
|
+
retry: { ...CREATE_CUBE_INITIAL, working_repo_name: 'repository-one-renamed' },
|
|
142
|
+
expected: { outcome: 'resolved_response', status: 201 },
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
name: 'cube-name mismatch is rejected',
|
|
146
|
+
initial: CREATE_CUBE_INITIAL,
|
|
147
|
+
retry: { ...CREATE_CUBE_INITIAL, name: 'Repository One Renamed' },
|
|
148
|
+
expected: { outcome: 'retry_tuple_mismatch', status: 409, error: 'INVALID_INPUT' },
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
name: 'template mismatch is rejected',
|
|
152
|
+
initial: CREATE_CUBE_INITIAL,
|
|
153
|
+
retry: { ...CREATE_CUBE_INITIAL, template: 'software-dev' },
|
|
154
|
+
expected: { outcome: 'retry_tuple_mismatch', status: 409, error: 'INVALID_INPUT' },
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
name: 'repository kind mismatch is rejected',
|
|
158
|
+
initial: CREATE_CUBE_INITIAL,
|
|
159
|
+
retry: {
|
|
160
|
+
...CREATE_CUBE_INITIAL,
|
|
161
|
+
repository: { kind: 'local', value: '00000000-0000-4000-8000-000000000122' },
|
|
162
|
+
},
|
|
163
|
+
expected: { outcome: 'retry_tuple_mismatch', status: 409, error: 'INVALID_INPUT' },
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
name: 'repository value mismatch is rejected',
|
|
167
|
+
initial: CREATE_CUBE_INITIAL,
|
|
168
|
+
retry: {
|
|
169
|
+
...CREATE_CUBE_INITIAL,
|
|
170
|
+
repository: { kind: 'origin', value: 'https://github.com/Byte-Ventures/repository-two' },
|
|
171
|
+
},
|
|
172
|
+
expected: { outcome: 'retry_tuple_mismatch', status: 409, error: 'INVALID_INPUT' },
|
|
173
|
+
},
|
|
174
|
+
];
|
|
175
|
+
export const CREATE_CUBE_ASSOCIATION_CONFORMANCE = [
|
|
176
|
+
{
|
|
177
|
+
name: 'fresh retry for the same repository resolves stored authoritative fields',
|
|
178
|
+
created: CREATE_CUBE_INITIAL,
|
|
179
|
+
request: {
|
|
180
|
+
...CREATE_CUBE_INITIAL,
|
|
181
|
+
retry_key: '00000000-0000-4000-8000-000000000123',
|
|
182
|
+
name: 'Ignored New Cube Name',
|
|
183
|
+
working_repo_name: 'ignored-new-display',
|
|
184
|
+
template: 'starter',
|
|
185
|
+
},
|
|
186
|
+
expected: { outcome: 'resolved', authority_state_delta: {} },
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
name: 'fresh retry for a different repository may create',
|
|
190
|
+
created: CREATE_CUBE_INITIAL,
|
|
191
|
+
request: {
|
|
192
|
+
...CREATE_CUBE_INITIAL,
|
|
193
|
+
retry_key: '00000000-0000-4000-8000-000000000124',
|
|
194
|
+
name: 'Repository Two',
|
|
195
|
+
working_repo_name: 'repository-two',
|
|
196
|
+
repository: { kind: 'origin', value: 'https://github.com/Byte-Ventures/repository-two' },
|
|
197
|
+
},
|
|
198
|
+
expected: {
|
|
199
|
+
outcome: 'created',
|
|
200
|
+
authority_state_delta: {
|
|
201
|
+
cubes: 1,
|
|
202
|
+
roles: 2,
|
|
203
|
+
grants: 1,
|
|
204
|
+
cube_create_bindings: 1,
|
|
205
|
+
repository_associations: 1,
|
|
206
|
+
},
|
|
207
|
+
},
|
|
208
|
+
},
|
|
209
|
+
];
|
|
210
|
+
const REPOSITORY_CUBE_ONE = '00000000-0000-4000-8000-000000000131';
|
|
211
|
+
const REPOSITORY_ONE = {
|
|
212
|
+
working_repo_name: 'repository-one',
|
|
213
|
+
repository: { kind: 'origin', value: 'https://github.com/Byte-Ventures/repository-one' },
|
|
214
|
+
};
|
|
215
|
+
const REPOSITORY_TWO = {
|
|
216
|
+
working_repo_name: 'repository-two',
|
|
217
|
+
repository: { kind: 'origin', value: 'https://github.com/Byte-Ventures/repository-two' },
|
|
218
|
+
};
|
|
219
|
+
export const RESOLVE_REPOSITORY_CUBE_CONFORMANCE = [
|
|
220
|
+
{
|
|
221
|
+
name: 'unassociated repository resolves explicit none without mutation',
|
|
222
|
+
request: REPOSITORY_ONE,
|
|
223
|
+
associated: false,
|
|
224
|
+
expected: { outcome: 'none', status: 200, authority_state_delta: {} },
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
name: 'associated repository resolves authoritative stored fields without mutation',
|
|
228
|
+
request: { ...REPOSITORY_ONE, working_repo_name: 'ignored-new-display' },
|
|
229
|
+
associated: true,
|
|
230
|
+
expected: { outcome: 'resolved', status: 200, authority_state_delta: {} },
|
|
231
|
+
},
|
|
232
|
+
];
|
|
233
|
+
export const ASSOCIATE_REPOSITORY_CUBE_CONFORMANCE = [
|
|
234
|
+
{
|
|
235
|
+
name: 'same explicit cube and repository binding is idempotent',
|
|
236
|
+
initial: { cube_id: REPOSITORY_CUBE_ONE, ...REPOSITORY_ONE },
|
|
237
|
+
retry: { cube_id: REPOSITORY_CUBE_ONE, ...REPOSITORY_ONE },
|
|
238
|
+
expected: {
|
|
239
|
+
outcome: 'resolved',
|
|
240
|
+
status: 200,
|
|
241
|
+
initial_authority_state_delta: { repository_associations: 1 },
|
|
242
|
+
retry_authority_state_delta: {},
|
|
243
|
+
},
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
name: 'repository already bound to another cube conflicts without mutation',
|
|
247
|
+
initial: { cube_id: REPOSITORY_CUBE_ONE, ...REPOSITORY_ONE },
|
|
248
|
+
retry: { cube_id: '00000000-0000-4000-8000-000000000132', ...REPOSITORY_ONE },
|
|
249
|
+
expected: {
|
|
250
|
+
outcome: 'repository_conflict',
|
|
251
|
+
status: 409,
|
|
252
|
+
error: 'REPOSITORY_ALREADY_ASSOCIATED',
|
|
253
|
+
diagnostic_disclosure: 'none',
|
|
254
|
+
retry_authority_state_delta: {},
|
|
255
|
+
},
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
name: 'cube already bound to another repository conflicts without mutation',
|
|
259
|
+
initial: { cube_id: REPOSITORY_CUBE_ONE, ...REPOSITORY_ONE },
|
|
260
|
+
retry: { cube_id: REPOSITORY_CUBE_ONE, ...REPOSITORY_TWO },
|
|
261
|
+
expected: {
|
|
262
|
+
outcome: 'cube_conflict',
|
|
263
|
+
status: 409,
|
|
264
|
+
error: 'CUBE_ALREADY_ASSOCIATED',
|
|
265
|
+
diagnostic_disclosure: 'none',
|
|
266
|
+
retry_authority_state_delta: {},
|
|
267
|
+
},
|
|
268
|
+
},
|
|
269
|
+
];
|
|
270
|
+
export const REPOSITORY_CUBE_PERMISSION_CONFORMANCE = [
|
|
271
|
+
{
|
|
272
|
+
name: 'association denies an inaccessible explicit cube without mutation',
|
|
273
|
+
request: { cube_id: REPOSITORY_CUBE_ONE, ...REPOSITORY_ONE },
|
|
274
|
+
expected: { status: 403, error: 'ACCESS_DENIED', authority_state_delta: {} },
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
name: 'same-client binding to an inaccessible cube is non-enumerating',
|
|
278
|
+
request: { cube_id: REPOSITORY_CUBE_ONE, ...REPOSITORY_ONE },
|
|
279
|
+
precondition: 'repository_bound_to_inaccessible_cube',
|
|
280
|
+
expected: {
|
|
281
|
+
resolve: { status: 200, outcome: 'none', authority_state_delta: {} },
|
|
282
|
+
associate: {
|
|
283
|
+
status: 403,
|
|
284
|
+
error: 'ACCESS_DENIED',
|
|
285
|
+
diagnostic_disclosure: 'none',
|
|
286
|
+
authority_state_delta: {},
|
|
287
|
+
},
|
|
288
|
+
},
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
name: 'another client binding is neither resolved nor treated as a conflict',
|
|
292
|
+
request: { cube_id: REPOSITORY_CUBE_ONE, ...REPOSITORY_ONE },
|
|
293
|
+
precondition: 'repository_bound_by_another_client',
|
|
294
|
+
expected: {
|
|
295
|
+
resolve: { status: 200, outcome: 'none', authority_state_delta: {} },
|
|
296
|
+
associate: {
|
|
297
|
+
status: 200,
|
|
298
|
+
outcome: 'resolved',
|
|
299
|
+
authority_state_delta: { repository_associations: 1 },
|
|
300
|
+
},
|
|
301
|
+
},
|
|
302
|
+
},
|
|
303
|
+
];
|
|
304
|
+
export const REPOSITORY_CUBE_AUTHORITATIVE_STATE_CONFORMANCE = [
|
|
305
|
+
{
|
|
306
|
+
name: 'legacy cube with invalid authoritative roles is rejected without mutation',
|
|
307
|
+
request: { cube_id: REPOSITORY_CUBE_ONE, ...REPOSITORY_ONE },
|
|
308
|
+
expected: {
|
|
309
|
+
status: 409,
|
|
310
|
+
error: 'INVALID_INPUT',
|
|
311
|
+
diagnostic_disclosure: 'none',
|
|
312
|
+
authority_state_delta: {},
|
|
313
|
+
},
|
|
314
|
+
},
|
|
315
|
+
];
|
|
123
316
|
export const ENROLLMENT_AUTHORITY_CONFORMANCE = [
|
|
124
317
|
{
|
|
125
318
|
name: 'ordinary enrollment creates no authority or cube state',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/conformance/index.ts"],"names":[],"mappings":"AAGA,cAAc,cAAc,CAAC;AAc7B,MAAM,CAAC,MAAM,yBAAyB,GAGhC;IACJ;QACE,IAAI,EAAE,qBAAqB;QAC3B,KAAK,EAAE;YACL,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,0BAA0B,EAAE;YACtD,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,0BAA0B,EAAE;SACvD;QACD,QAAQ,EAAE,CAAC,CAAC;KACb;IACD;QACE,IAAI,EAAE,mCAAmC;QACzC,KAAK,EAAE;YACL,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,0BAA0B,EAAE;YACtD,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,0BAA0B,EAAE;SACvD;QACD,QAAQ,EAAE,CAAC,CAAC;KACb;IACD;QACE,IAAI,EAAE,oCAAoC;QAC1C,KAAK,EAAE;YACL,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,0BAA0B,EAAE;YACtD,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,0BAA0B,EAAE;SACvD;QACD,QAAQ,EAAE,CAAC;KACZ;IACD;QACE,IAAI,EAAE,wDAAwD;QAC9D,KAAK,EAAE;YACL,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,cAAc,EAAE;YAC1C,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,cAAc,EAAE;SAC3C;QACD,QAAQ,EAAE,CAAC,CAAC;KACb;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAiD;IACrF;QACE,IAAI,EAAE,wDAAwD;QAC9D,KAAK,EAAE,sCAAsC;QAC7C,QAAQ,EAAE,eAAe;KAC1B;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,mCAAmC,GAAsB;IACpE,EAAE;IACF,gBAAgB;IAChB,sEAAsE;IACtE,4DAA4D;CAC7D,CAAC;AAwBF,MAAM,qBAAqB,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC7C,MAAM,qBAAqB,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC7C,MAAM,oBAAoB,GAAG,sCAAsC,CAAC;AAGpE,MAAM,CAAC,MAAM,4BAA4B,GAAgD;IACvF;QACE,IAAI,EAAE,oEAAoE;QAC1E,OAAO,EAAE;YACP,UAAU,EAAE,qBAAqB;YACjC,SAAS,EAAE,oBAAoB;YAC/B,iBAAiB,EAAE,qBAAqB;YACxC,WAAW,EAAE,iBAAiB;SAC/B;QACD,KAAK,EAAE;YACL,UAAU,EAAE,qBAAqB;YACjC,SAAS,EAAE,oBAAoB;YAC/B,iBAAiB,EAAE,qBAAqB;YACxC,WAAW,EAAE,iBAAiB;SAC/B;QACD,QAAQ,EAAE;YACR,OAAO,EAAE,4BAA4B;YACrC,MAAM,EAAE,GAAG;YACX,yBAAyB,EAAE;gBACzB,YAAY;gBACZ,mBAAmB;gBACnB,YAAY;gBACZ,WAAW;aACZ;SACF;KACF;IACD;QACE,IAAI,EAAE,yCAAyC;QAC/C,OAAO,EAAE;YACP,UAAU,EAAE,qBAAqB;YACjC,SAAS,EAAE,oBAAoB;YAC/B,iBAAiB,EAAE,qBAAqB;SACzC;QACD,KAAK,EAAE;YACL,UAAU,EAAE,qBAAqB;YACjC,SAAS,EAAE,sCAAsC;YACjD,iBAAiB,EAAE,qBAAqB;SACzC;QACD,QAAQ,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE;KAClF;IACD;QACE,IAAI,EAAE,0CAA0C;QAChD,OAAO,EAAE;YACP,UAAU,EAAE,qBAAqB;YACjC,SAAS,EAAE,oBAAoB;YAC/B,iBAAiB,EAAE,qBAAqB;SACzC;QACD,KAAK,EAAE;YACL,UAAU,EAAE,qBAAqB;YACjC,SAAS,EAAE,oBAAoB;YAC/B,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;SAClC;QACD,QAAQ,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE;KAClF;IACD;QACE,IAAI,EAAE,2CAA2C;QACjD,OAAO,EAAE;YACP,UAAU,EAAE,qBAAqB;YACjC,SAAS,EAAE,oBAAoB;YAC/B,iBAAiB,EAAE,qBAAqB;YACxC,WAAW,EAAE,iBAAiB;SAC/B;QACD,KAAK,EAAE;YACL,UAAU,EAAE,qBAAqB;YACjC,SAAS,EAAE,oBAAoB;YAC/B,iBAAiB,EAAE,qBAAqB;YACxC,WAAW,EAAE,kBAAkB;SAChC;QACD,QAAQ,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE;KAClF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C;QACE,IAAI,EAAE,wDAAwD;QAC9D,QAAQ,EAAE;YACR,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,sCAAsC;YACjD,mBAAmB,EAAE,EAAE;SACxB;QACD,oBAAoB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE;KAChF;IACD;QACE,IAAI,EAAE,kEAAkE;QACxE,QAAQ,EAAE;YACR,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE,sCAAsC;YACjD,mBAAmB,EAAE,CAAC,aAAa,CAAC;SACrC;QACD,oBAAoB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE;KAChF;CACO,CAAC;AAEX,MAAM,CAAC,MAAM,gCAAgC,GAAiD;IAC5F;QACE,IAAI,EAAE,2DAA2D;QACjE,KAAK,EAAE,cAAc,qBAAqB,sBAAsB,qBAAqB,EAAE;QACvF,QAAQ,EAAE,oDAAoD;KAC/D;IACD;QACE,IAAI,EAAE,2CAA2C;QACjD,KAAK,EAAE,aAAa,oBAAoB,EAAE;QAC1C,QAAQ,EAAE,sBAAsB;KACjC;IACD;QACE,IAAI,EAAE,kCAAkC;QACxC,KAAK,EAAE,WAAW,oBAAoB,EAAE;QACxC,QAAQ,EAAE,WAAW,oBAAoB,EAAE;KAC5C;CACF,CAAC;AAQF,MAAM,eAAe,GAAG;IACtB,MAAM,EAAE,SAAS;IACjB,IAAI,EAAE,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,WAAW,EAAE;IACvE,IAAI,EAAE,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,aAAa,EAAE;IACzE,KAAK,EAAE;QACL,EAAE,EAAE,sCAAsC;QAC1C,KAAK,EAAE,wBAAwB;QAC/B,gBAAgB,EAAE;YAChB,UAAU,EAAE,IAAI;YAChB,cAAc,EAAE,IAAI;YACpB,iBAAiB,EAAE,IAAI;YACvB,mBAAmB,EAAE,IAAI;SAC1B;QACD,yBAAyB,EAAE,KAAK;KACjC;IACD,OAAO,EAAE,EAAE,EAAE,EAAE,sCAAsC,EAAE;CAC/B,CAAC;AAG3B,MAAM,CAAC,MAAM,0BAA0B,GAA8C;IACnF,EAAE,IAAI,EAAE,uCAAuC,EAAE,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE;IAC3F;QACE,IAAI,EAAE,kCAAkC;QACxC,QAAQ,EAAE;YACR,GAAG,eAAe;YAClB,OAAO,EAAE,EAAE,GAAG,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,0BAA0B,EAAE;SAChF;QACD,OAAO,EAAE,KAAK;KACf;IACD;QACE,IAAI,EAAE,kCAAkC;QACxC,QAAQ,EAAE,EAAE,GAAG,eAAe,EAAE,OAAO,EAAE,EAAE,GAAG,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACzF,OAAO,EAAE,KAAK;KACf;CACF,CAAC;AASF,MAAM,CAAC,MAAM,uCAAuC,GACI;IACtD;QACE,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,2CAA2C;QACnD,QAAQ,EAAE;YACR,iBAAiB,EAAE,wBAAwB;YAC3C,mBAAmB,EAAE,2CAA2C;SACjE;KACF;IACD;QACE,IAAI,EAAE,+BAA+B;QACrC,MAAM,EAAE,mDAAmD;QAC3D,QAAQ,EAAE;YACR,iBAAiB,EAAE,wBAAwB;YAC3C,mBAAmB,EAAE,2CAA2C;SACjE;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,oDAAoD;QAC5D,QAAQ,EAAE;YACR,iBAAiB,EAAE,wBAAwB;YAC3C,mBAAmB,EAAE,2CAA2C;SACjE;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,2CAA2C;QACnD,QAAQ,EAAE;YACR,iBAAiB,EAAE,wBAAwB;YAC3C,mBAAmB,EAAE,2CAA2C;SACjE;KACF;IACD,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,oCAAoC,EAAE,QAAQ,EAAE,IAAI,EAAE;IACxF,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,mCAAmC,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC3F,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,2CAA2C,EAAE,QAAQ,EAAE,IAAI,EAAE;IACtF,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,wCAAwC,EAAE,QAAQ,EAAE,IAAI,EAAE;IACtF,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,iCAAiC,EAAE,QAAQ,EAAE,IAAI,EAAE;IACvF,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,mCAAmC,EAAE,QAAQ,EAAE,IAAI,EAAE;IACzF,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;IACpG,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC3E,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,8BAA8B,EAAE,QAAQ,EAAE,IAAI,EAAE;IACjF,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,0BAA0B,EAAE,QAAQ,EAAE,IAAI,EAAE;IACzE,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,wBAAwB,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC/E,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,iCAAiC,EAAE,QAAQ,EAAE,IAAI,EAAE;CACtF,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/conformance/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,11 +2,13 @@ import { ErrorCode } from './errors.js';
|
|
|
2
2
|
import { type ProtocolVersion } from './version.js';
|
|
3
3
|
import type { DroneRuntimeMetadata, DroneRuntimeMetadataPatch } from './types.js';
|
|
4
4
|
export declare const SHARED_PACKAGE_NAME: "borgmcp-shared";
|
|
5
|
-
export declare const SHARED_PACKAGE_VERSION: "0.6.
|
|
5
|
+
export declare const SHARED_PACKAGE_VERSION: "0.6.4";
|
|
6
6
|
export declare const HEALTH_PATH: "/healthz";
|
|
7
7
|
export declare const PROTOCOL_INFO_PATH: "/api/protocol";
|
|
8
8
|
export declare const ENROLLMENT_EXCHANGE_PATH: "/api/enrollment/exchange";
|
|
9
9
|
export declare const CUBES_PATH: "/api/cubes";
|
|
10
|
+
export declare const REPOSITORY_CUBE_RESOLVE_PATH: "/api/repository-cubes/resolve";
|
|
11
|
+
export declare const REPOSITORY_CUBE_ASSOCIATION_PATH: "/api/repository-cubes/association";
|
|
10
12
|
export declare const ATTACH_PATH: "/api/client/attach";
|
|
11
13
|
export declare const SELF_RUNTIME_METADATA_PATH: "/api/cubes/:cubeId/drones/self/metadata";
|
|
12
14
|
export declare const PROTOCOL_HTTP_CONTRACT: {
|
|
@@ -35,6 +37,20 @@ export declare const PROTOCOL_HTTP_CONTRACT: {
|
|
|
35
37
|
readonly authenticated: true;
|
|
36
38
|
readonly success_status: 201;
|
|
37
39
|
};
|
|
40
|
+
readonly repository_cube_resolve: {
|
|
41
|
+
readonly method: "POST";
|
|
42
|
+
readonly path: "/api/repository-cubes/resolve";
|
|
43
|
+
readonly authenticated: true;
|
|
44
|
+
readonly success_status: 200;
|
|
45
|
+
readonly mutation: false;
|
|
46
|
+
};
|
|
47
|
+
readonly repository_cube_association: {
|
|
48
|
+
readonly method: "PUT";
|
|
49
|
+
readonly path: "/api/repository-cubes/association";
|
|
50
|
+
readonly authenticated: true;
|
|
51
|
+
readonly success_status: 200;
|
|
52
|
+
readonly mutation: true;
|
|
53
|
+
};
|
|
38
54
|
readonly attach: {
|
|
39
55
|
readonly method: "POST";
|
|
40
56
|
readonly path: "/api/client/attach";
|
|
@@ -113,19 +129,55 @@ export interface OwnerEnrollmentExchangeResponse {
|
|
|
113
129
|
server_capabilities: ['create_cube'];
|
|
114
130
|
}
|
|
115
131
|
export type EnrollmentExchangeResponse = ClientEnrollmentExchangeResponse | OwnerEnrollmentExchangeResponse;
|
|
116
|
-
export declare const CUBE_TEMPLATES: readonly ["default"];
|
|
132
|
+
export declare const CUBE_TEMPLATES: readonly ["default", "software-dev", "starter"];
|
|
117
133
|
export type CubeTemplate = (typeof CUBE_TEMPLATES)[number];
|
|
134
|
+
export type CreateCubeRepository = {
|
|
135
|
+
kind: 'origin';
|
|
136
|
+
value: string;
|
|
137
|
+
} | {
|
|
138
|
+
kind: 'local';
|
|
139
|
+
value: string;
|
|
140
|
+
};
|
|
118
141
|
export interface CreateCubeRequest {
|
|
119
142
|
retry_key: string;
|
|
120
143
|
name: string;
|
|
144
|
+
working_repo_name: string;
|
|
145
|
+
repository: CreateCubeRepository;
|
|
121
146
|
template: CubeTemplate;
|
|
122
147
|
}
|
|
123
148
|
export interface CreateCubeResponse {
|
|
149
|
+
result: 'created' | 'resolved';
|
|
124
150
|
cube_id: string;
|
|
151
|
+
name: string;
|
|
152
|
+
working_repo_name: string;
|
|
153
|
+
repository: CreateCubeRepository;
|
|
154
|
+
template: CubeTemplate;
|
|
155
|
+
human_seat_role_id: string;
|
|
156
|
+
default_worker_role_id: string;
|
|
157
|
+
access: 'manage';
|
|
158
|
+
}
|
|
159
|
+
export interface ResolveRepositoryCubeRequest {
|
|
160
|
+
working_repo_name: string;
|
|
161
|
+
repository: CreateCubeRepository;
|
|
162
|
+
}
|
|
163
|
+
export interface AssociateRepositoryCubeRequest extends ResolveRepositoryCubeRequest {
|
|
164
|
+
cube_id: string;
|
|
165
|
+
}
|
|
166
|
+
export interface ResolvedRepositoryCube {
|
|
167
|
+
result: 'resolved';
|
|
168
|
+
cube_id: string;
|
|
169
|
+
name: string;
|
|
170
|
+
working_repo_name: string;
|
|
171
|
+
repository: CreateCubeRepository;
|
|
172
|
+
template: CubeTemplate;
|
|
125
173
|
human_seat_role_id: string;
|
|
126
174
|
default_worker_role_id: string;
|
|
127
175
|
access: 'manage';
|
|
128
176
|
}
|
|
177
|
+
export type ResolveRepositoryCubeResponse = {
|
|
178
|
+
result: 'none';
|
|
179
|
+
} | ResolvedRepositoryCube;
|
|
180
|
+
export type AssociateRepositoryCubeResponse = ResolvedRepositoryCube;
|
|
129
181
|
export interface AckLogRequest {
|
|
130
182
|
entry_id: string;
|
|
131
183
|
kind: 'ack' | 'claim';
|
|
@@ -158,6 +210,14 @@ export declare function decodeCreateCubeRequest(value: unknown): CreateCubeReque
|
|
|
158
210
|
export declare function decodeCreateCubeRequestEnvelope(value: unknown): ProtocolEnvelope<CreateCubeRequest>;
|
|
159
211
|
export declare function decodeCreateCubeResponse(value: unknown): CreateCubeResponse;
|
|
160
212
|
export declare function decodeCreateCubeResponseEnvelope(value: unknown): ProtocolEnvelope<CreateCubeResponse>;
|
|
213
|
+
export declare function decodeResolveRepositoryCubeRequest(value: unknown): ResolveRepositoryCubeRequest;
|
|
214
|
+
export declare function decodeResolveRepositoryCubeRequestEnvelope(value: unknown): ProtocolEnvelope<ResolveRepositoryCubeRequest>;
|
|
215
|
+
export declare function decodeAssociateRepositoryCubeRequest(value: unknown): AssociateRepositoryCubeRequest;
|
|
216
|
+
export declare function decodeAssociateRepositoryCubeRequestEnvelope(value: unknown): ProtocolEnvelope<AssociateRepositoryCubeRequest>;
|
|
217
|
+
export declare function decodeResolveRepositoryCubeResponse(value: unknown): ResolveRepositoryCubeResponse;
|
|
218
|
+
export declare function decodeResolveRepositoryCubeResponseEnvelope(value: unknown): ProtocolEnvelope<ResolveRepositoryCubeResponse>;
|
|
219
|
+
export declare function decodeAssociateRepositoryCubeResponse(value: unknown): AssociateRepositoryCubeResponse;
|
|
220
|
+
export declare function decodeAssociateRepositoryCubeResponseEnvelope(value: unknown): ProtocolEnvelope<AssociateRepositoryCubeResponse>;
|
|
161
221
|
export declare function decodeAppendLogRequest(value: unknown): import('./types.js').AppendLogRequest;
|
|
162
222
|
export declare function decodeAckLogRequest(value: unknown): AckLogRequest;
|
|
163
223
|
export declare function decodeRecordDecisionRequest(value: unknown): import('./types.js').RecordDecisionRequest;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/protocol/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/protocol/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAQtE,OAAO,KAAK,EACV,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,mBAAmB,EAAG,gBAAyB,CAAC;AAC7D,eAAO,MAAM,sBAAsB,EAAG,OAAgB,CAAC;AAEvD,eAAO,MAAM,WAAW,EAAG,UAAmB,CAAC;AAC/C,eAAO,MAAM,kBAAkB,EAAG,eAAwB,CAAC;AAC3D,eAAO,MAAM,wBAAwB,EAAG,0BAAmC,CAAC;AAC5E,eAAO,MAAM,UAAU,EAAG,YAAqB,CAAC;AAChD,eAAO,MAAM,4BAA4B,EAAG,+BAAwC,CAAC;AACrF,eAAO,MAAM,gCAAgC,EAAG,mCAA4C,CAAC;AAC7F,eAAO,MAAM,WAAW,EAAG,oBAA6B,CAAC;AACzD,eAAO,MAAM,0BAA0B,EAAG,yCAAkD,CAAC;AAE7F,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDzB,CAAC;AAEX,eAAO,MAAM,uBAAuB;;;;;CAK1B,CAAC;AAQX,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,eAAe,CAAC;CACnC;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,gBAAgB,EAAE,eAAe,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,CAAC,CAAC;CACZ;AAED,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,EAAE,eAAe,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE;QACL,IAAI,EAAE,SAAS,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAGD,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,mBAAmB,0BAA2B,CAAC;AAC5D,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAGpE,MAAM,WAAW,gCAAgC;IAC/C,OAAO,EAAE,QAAQ,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,EAAE,EAAE,CAAC;CACzB;AAGD,MAAM,WAAW,+BAA+B;IAC9C,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,EAAE,CAAC,aAAa,CAAC,CAAC;CACtC;AAED,MAAM,MAAM,0BAA0B,GAClC,gCAAgC,GAChC,+BAA+B,CAAC;AAEpC,eAAO,MAAM,cAAc,iDAAkD,CAAC;AAC9E,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,MAAM,MAAM,oBAAoB,GAC5B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAErC,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,oBAAoB,CAAC;IACjC,QAAQ,EAAE,YAAY,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,SAAS,GAAG,UAAU,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,oBAAoB,CAAC;IACjC,QAAQ,EAAE,YAAY,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,MAAM,EAAE,QAAQ,CAAC;CAClB;AAED,MAAM,WAAW,4BAA4B;IAC3C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,oBAAoB,CAAC;CAClC;AAED,MAAM,WAAW,8BAA+B,SAAQ,4BAA4B;IAClF,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,oBAAoB,CAAC;IACjC,QAAQ,EAAE,YAAY,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,MAAM,EAAE,QAAQ,CAAC;CAClB;AAED,MAAM,MAAM,6BAA6B,GACrC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAClB,sBAAsB,CAAC;AAE3B,MAAM,MAAM,+BAA+B,GAAG,sBAAsB,CAAC;AAErE,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;CACvB;AAED,MAAM,MAAM,qBAAqB,GAC7B;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GACjB;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5B,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,qBAAsB,SAAQ,KAAK;aAG5B,IAAI,EAAE,SAAS;aACf,IAAI,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE;gBAFlD,OAAO,EAAE,MAAM,EACC,IAAI,GAAE,SAAmC,EACzC,IAAI,GAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAO;CAK1D;AA2CD,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAapD;AAyCD,wBAAgB,0BAA0B,IAAI,oBAAoB,CAEjE;AASD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,oBAAoB,CAW/E;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAM5F;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EACtC,KAAK,EAAE,OAAO,EACd,aAAa,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,CAAC,GACrC,gBAAgB,CAAC,CAAC,CAAC,CAoBrB;AAGD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,qBAAqB,CA6CjF;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,OAAO,GAAG,yBAAyB,CAyBzF;AAED,wBAAgB,uCAAuC,CACrD,KAAK,EAAE,OAAO,GACb,gBAAgB,CAAC,yBAAyB,CAAC,CAE7C;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,OAAO,GAAG,0BAA0B,CAmB3F;AAED,wBAAgB,wCAAwC,CACtD,KAAK,EAAE,OAAO,GACb,gBAAgB,CAAC,0BAA0B,CAAC,CAE9C;AAaD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAsBzE;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,CAEnG;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,CAkD3E;AA2BD,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,CAErG;AAED,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,OAAO,GAAG,4BAA4B,CAO/F;AAED,wBAAgB,0CAA0C,CACxD,KAAK,EAAE,OAAO,GACb,gBAAgB,CAAC,4BAA4B,CAAC,CAEhD;AAED,wBAAgB,oCAAoC,CAAC,KAAK,EAAE,OAAO,GAAG,8BAA8B,CAYnG;AAED,wBAAgB,4CAA4C,CAC1D,KAAK,EAAE,OAAO,GACb,gBAAgB,CAAC,8BAA8B,CAAC,CAElD;AAmDD,wBAAgB,mCAAmC,CAAC,KAAK,EAAE,OAAO,GAAG,6BAA6B,CAOjG;AAED,wBAAgB,2CAA2C,CACzD,KAAK,EAAE,OAAO,GACb,gBAAgB,CAAC,6BAA6B,CAAC,CAEjD;AAED,wBAAgB,qCAAqC,CAAC,KAAK,EAAE,OAAO,GAAG,+BAA+B,CAErG;AAED,wBAAgB,6CAA6C,CAC3D,KAAK,EAAE,OAAO,GACb,gBAAgB,CAAC,+BAA+B,CAAC,CAEnD;AAaD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,YAAY,EAAE,gBAAgB,CA+B5F;AAWD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,CASjE;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,OAAO,GACb,OAAO,YAAY,EAAE,qBAAqB,CAW5C;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,qBAAqB,CASjF;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,OAAO,EACd,IAAI,GAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAO,GACtC,MAAM,CAUR;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,GAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAO,GAAG,SAAS,CAOlG;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,GAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAO,GAAG,MAAM,CAM1F;AAED,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,OAAO,EACd,IAAI,GAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAO,GACtC,MAAM,CAMR;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,EACd,IAAI,GAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAO,GACtC,MAAM,CAER;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ9D;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAMvE;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,SAAS,GAAG,IAAI,EAAE,CAAC,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAIvF;AAcD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,oBAAoB,CAE/E;AAGD,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,OAAO,GAAG,yBAAyB,CAEzF;AAGD,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,OAAO,GAAG,kCAAkC,CAQlG;AAGD,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,OAAO,GAAG,kCAAkC,CAMnG;AAED,MAAM,WAAW,kCAAkC;IACjD,gBAAgB,EAAE,oBAAoB,CAAC;IACvC,yBAAyB,EAAE,OAAO,CAAC;CACpC;AAED,wBAAgB,wCAAwC,CACtD,KAAK,EAAE,OAAO,GACb,kCAAkC,CAUpC;AAED,wBAAgB,+CAA+C,CAC7D,KAAK,EAAE,OAAO,GACb,gBAAgB,CAAC,yBAAyB,CAAC,CAE7C;AAED,wBAAgB,gDAAgD,CAC9D,KAAK,EAAE,OAAO,GACb,gBAAgB,CAAC,kCAAkC,CAAC,CAEtD;AAID,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;CACzC;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEjD,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,oBAAoB,CAAC;IACvC,yBAAyB,EAAE,OAAO,CAAC;CACpC;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,aAAa,CAAC;CACxB;AAgED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,CAmBjE;AAKD,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,aAAa,GACrB,gBAAgB,CAAC,aAAa,CAAC,CAMjC;AAQD,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,OAAO,GACb,gBAAgB,CAAC,aAAa,CAAC,CAoBjC;AAKD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CAmBnE;AAMD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAoB7F"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { ErrorCode } from './errors.js';
|
|
2
2
|
import { PROTOCOL_VERSION } from './version.js';
|
|
3
|
-
import { RuntimeMetadataValidationError, validateRuntimeMetadata, validateRuntimeMetadataPatch, validateRuntimeMetadataReportState, } from '../runtime-metadata.js';
|
|
3
|
+
import { canonicalizeRepositoryIdentity, RuntimeMetadataValidationError, validateRuntimeMetadata, validateRuntimeMetadataPatch, validateRuntimeMetadataReportState, } from '../runtime-metadata.js';
|
|
4
4
|
export const SHARED_PACKAGE_NAME = 'borgmcp-shared';
|
|
5
|
-
export const SHARED_PACKAGE_VERSION = '0.6.
|
|
5
|
+
export const SHARED_PACKAGE_VERSION = '0.6.4';
|
|
6
6
|
export const HEALTH_PATH = '/healthz';
|
|
7
7
|
export const PROTOCOL_INFO_PATH = '/api/protocol';
|
|
8
8
|
export const ENROLLMENT_EXCHANGE_PATH = '/api/enrollment/exchange';
|
|
9
9
|
export const CUBES_PATH = '/api/cubes';
|
|
10
|
+
export const REPOSITORY_CUBE_RESOLVE_PATH = '/api/repository-cubes/resolve';
|
|
11
|
+
export const REPOSITORY_CUBE_ASSOCIATION_PATH = '/api/repository-cubes/association';
|
|
10
12
|
export const ATTACH_PATH = '/api/client/attach';
|
|
11
13
|
export const SELF_RUNTIME_METADATA_PATH = '/api/cubes/:cubeId/drones/self/metadata';
|
|
12
14
|
export const PROTOCOL_HTTP_CONTRACT = {
|
|
@@ -14,6 +16,20 @@ export const PROTOCOL_HTTP_CONTRACT = {
|
|
|
14
16
|
protocol: { method: 'GET', path: PROTOCOL_INFO_PATH, authenticated: false, success_status: 200 },
|
|
15
17
|
enrollment: { method: 'POST', path: ENROLLMENT_EXCHANGE_PATH, authenticated: 'invitation', success_status: 201 },
|
|
16
18
|
cubes: { method: 'POST', path: CUBES_PATH, authenticated: true, success_status: 201 },
|
|
19
|
+
repository_cube_resolve: {
|
|
20
|
+
method: 'POST',
|
|
21
|
+
path: REPOSITORY_CUBE_RESOLVE_PATH,
|
|
22
|
+
authenticated: true,
|
|
23
|
+
success_status: 200,
|
|
24
|
+
mutation: false,
|
|
25
|
+
},
|
|
26
|
+
repository_cube_association: {
|
|
27
|
+
method: 'PUT',
|
|
28
|
+
path: REPOSITORY_CUBE_ASSOCIATION_PATH,
|
|
29
|
+
authenticated: true,
|
|
30
|
+
success_status: 200,
|
|
31
|
+
mutation: true,
|
|
32
|
+
},
|
|
17
33
|
attach: { method: 'POST', path: ATTACH_PATH, authenticated: true, success_status: 200 },
|
|
18
34
|
drone_reassign: {
|
|
19
35
|
method: 'PATCH',
|
|
@@ -51,7 +67,7 @@ export const PROTOCOL_LIMIT_CEILINGS = {
|
|
|
51
67
|
max_replay_page_size: 1000,
|
|
52
68
|
};
|
|
53
69
|
export const SERVER_CAPABILITIES = ['create_cube'];
|
|
54
|
-
export const CUBE_TEMPLATES = ['default'];
|
|
70
|
+
export const CUBE_TEMPLATES = ['default', 'software-dev', 'starter'];
|
|
55
71
|
export class ProtocolContractError extends Error {
|
|
56
72
|
code;
|
|
57
73
|
path;
|
|
@@ -258,17 +274,20 @@ function decodeExactServerCapabilities(value, expected, path) {
|
|
|
258
274
|
}
|
|
259
275
|
export function decodeCreateCubeRequest(value) {
|
|
260
276
|
const input = record(value);
|
|
261
|
-
exactKeys(input, ['retry_key', 'name', 'template'], ['retry_key', 'name', 'template']);
|
|
277
|
+
exactKeys(input, ['retry_key', 'name', 'working_repo_name', 'repository', 'template'], ['retry_key', 'name', 'working_repo_name', 'repository', 'template']);
|
|
262
278
|
const name = boundedString(input.name, 1, 120, ['name']);
|
|
263
279
|
if (!/^[A-Za-z0-9][A-Za-z0-9 ._-]*$/.test(name)) {
|
|
264
280
|
fail('Cube name contains unsupported characters.', ['name']);
|
|
265
281
|
}
|
|
282
|
+
const workingRepoName = decodeWorkingRepositoryName(input.working_repo_name, ['working_repo_name']);
|
|
266
283
|
if (!CUBE_TEMPLATES.includes(input.template)) {
|
|
267
284
|
fail('Unsupported cube template.', ['template']);
|
|
268
285
|
}
|
|
269
286
|
return {
|
|
270
287
|
retry_key: decodeUuid(input.retry_key, ['retry_key']),
|
|
271
288
|
name,
|
|
289
|
+
working_repo_name: workingRepoName,
|
|
290
|
+
repository: decodeCreateCubeRepository(input.repository, ['repository']),
|
|
272
291
|
template: input.template,
|
|
273
292
|
};
|
|
274
293
|
}
|
|
@@ -277,19 +296,172 @@ export function decodeCreateCubeRequestEnvelope(value) {
|
|
|
277
296
|
}
|
|
278
297
|
export function decodeCreateCubeResponse(value) {
|
|
279
298
|
const input = record(value);
|
|
280
|
-
exactKeys(input, [
|
|
299
|
+
exactKeys(input, [
|
|
300
|
+
'result',
|
|
301
|
+
'cube_id',
|
|
302
|
+
'name',
|
|
303
|
+
'working_repo_name',
|
|
304
|
+
'repository',
|
|
305
|
+
'template',
|
|
306
|
+
'human_seat_role_id',
|
|
307
|
+
'default_worker_role_id',
|
|
308
|
+
'access',
|
|
309
|
+
], [
|
|
310
|
+
'result',
|
|
311
|
+
'cube_id',
|
|
312
|
+
'name',
|
|
313
|
+
'working_repo_name',
|
|
314
|
+
'repository',
|
|
315
|
+
'template',
|
|
316
|
+
'human_seat_role_id',
|
|
317
|
+
'default_worker_role_id',
|
|
318
|
+
'access',
|
|
319
|
+
]);
|
|
320
|
+
if (input.result !== 'created' && input.result !== 'resolved') {
|
|
321
|
+
fail('Invalid cube creation result.', ['result']);
|
|
322
|
+
}
|
|
323
|
+
const name = boundedString(input.name, 1, 120, ['name']);
|
|
324
|
+
if (!/^[A-Za-z0-9][A-Za-z0-9 ._-]*$/.test(name)) {
|
|
325
|
+
fail('Cube name contains unsupported characters.', ['name']);
|
|
326
|
+
}
|
|
327
|
+
const workingRepoName = decodeWorkingRepositoryName(input.working_repo_name, ['working_repo_name']);
|
|
328
|
+
if (!CUBE_TEMPLATES.includes(input.template)) {
|
|
329
|
+
fail('Unsupported cube template.', ['template']);
|
|
330
|
+
}
|
|
281
331
|
if (input.access !== 'manage')
|
|
282
332
|
fail('Created cube access must be manage.', ['access']);
|
|
283
333
|
return {
|
|
334
|
+
result: input.result,
|
|
284
335
|
cube_id: decodeUuid(input.cube_id, ['cube_id']),
|
|
336
|
+
name,
|
|
337
|
+
working_repo_name: workingRepoName,
|
|
338
|
+
repository: decodeCreateCubeRepository(input.repository, ['repository']),
|
|
339
|
+
template: input.template,
|
|
285
340
|
human_seat_role_id: decodeUuid(input.human_seat_role_id, ['human_seat_role_id']),
|
|
286
341
|
default_worker_role_id: decodeUuid(input.default_worker_role_id, ['default_worker_role_id']),
|
|
287
342
|
access: 'manage',
|
|
288
343
|
};
|
|
289
344
|
}
|
|
345
|
+
function decodeCreateCubeRepository(value, path) {
|
|
346
|
+
const input = record(value, path);
|
|
347
|
+
exactKeys(input, ['kind', 'value'], ['kind', 'value'], path);
|
|
348
|
+
if (input.kind === 'local') {
|
|
349
|
+
return { kind: 'local', value: decodeUuid(input.value, [...path, 'value']) };
|
|
350
|
+
}
|
|
351
|
+
if (input.kind !== 'origin')
|
|
352
|
+
fail('Unsupported repository identity kind.', [...path, 'kind']);
|
|
353
|
+
const origin = boundedString(input.value, 1, 512, [...path, 'value']);
|
|
354
|
+
try {
|
|
355
|
+
if (canonicalizeRepositoryIdentity(origin).working_repo_origin !== origin) {
|
|
356
|
+
fail('Repository origin must be canonical.', [...path, 'value']);
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
catch (error) {
|
|
360
|
+
if (error instanceof ProtocolContractError)
|
|
361
|
+
throw error;
|
|
362
|
+
if (error instanceof RuntimeMetadataValidationError) {
|
|
363
|
+
fail('Repository origin must be canonical.', [...path, 'value']);
|
|
364
|
+
}
|
|
365
|
+
throw error;
|
|
366
|
+
}
|
|
367
|
+
return { kind: 'origin', value: origin };
|
|
368
|
+
}
|
|
290
369
|
export function decodeCreateCubeResponseEnvelope(value) {
|
|
291
370
|
return decodeProtocolEnvelope(value, decodeCreateCubeResponse);
|
|
292
371
|
}
|
|
372
|
+
export function decodeResolveRepositoryCubeRequest(value) {
|
|
373
|
+
const input = record(value);
|
|
374
|
+
exactKeys(input, ['working_repo_name', 'repository'], ['working_repo_name', 'repository']);
|
|
375
|
+
return {
|
|
376
|
+
working_repo_name: decodeWorkingRepositoryName(input.working_repo_name, ['working_repo_name']),
|
|
377
|
+
repository: decodeCreateCubeRepository(input.repository, ['repository']),
|
|
378
|
+
};
|
|
379
|
+
}
|
|
380
|
+
export function decodeResolveRepositoryCubeRequestEnvelope(value) {
|
|
381
|
+
return decodeProtocolEnvelope(value, decodeResolveRepositoryCubeRequest);
|
|
382
|
+
}
|
|
383
|
+
export function decodeAssociateRepositoryCubeRequest(value) {
|
|
384
|
+
const input = record(value);
|
|
385
|
+
exactKeys(input, ['cube_id', 'working_repo_name', 'repository'], ['cube_id', 'working_repo_name', 'repository']);
|
|
386
|
+
return {
|
|
387
|
+
cube_id: decodeUuid(input.cube_id, ['cube_id']),
|
|
388
|
+
working_repo_name: decodeWorkingRepositoryName(input.working_repo_name, ['working_repo_name']),
|
|
389
|
+
repository: decodeCreateCubeRepository(input.repository, ['repository']),
|
|
390
|
+
};
|
|
391
|
+
}
|
|
392
|
+
export function decodeAssociateRepositoryCubeRequestEnvelope(value) {
|
|
393
|
+
return decodeProtocolEnvelope(value, decodeAssociateRepositoryCubeRequest);
|
|
394
|
+
}
|
|
395
|
+
function decodeResolvedRepositoryCube(value) {
|
|
396
|
+
const input = record(value);
|
|
397
|
+
exactKeys(input, [
|
|
398
|
+
'result',
|
|
399
|
+
'cube_id',
|
|
400
|
+
'name',
|
|
401
|
+
'working_repo_name',
|
|
402
|
+
'repository',
|
|
403
|
+
'template',
|
|
404
|
+
'human_seat_role_id',
|
|
405
|
+
'default_worker_role_id',
|
|
406
|
+
'access',
|
|
407
|
+
], [
|
|
408
|
+
'result',
|
|
409
|
+
'cube_id',
|
|
410
|
+
'name',
|
|
411
|
+
'working_repo_name',
|
|
412
|
+
'repository',
|
|
413
|
+
'template',
|
|
414
|
+
'human_seat_role_id',
|
|
415
|
+
'default_worker_role_id',
|
|
416
|
+
'access',
|
|
417
|
+
]);
|
|
418
|
+
if (input.result !== 'resolved')
|
|
419
|
+
fail('Invalid repository cube result.', ['result']);
|
|
420
|
+
const name = boundedString(input.name, 1, 120, ['name']);
|
|
421
|
+
if (!/^[A-Za-z0-9][A-Za-z0-9 ._-]*$/.test(name)) {
|
|
422
|
+
fail('Cube name contains unsupported characters.', ['name']);
|
|
423
|
+
}
|
|
424
|
+
if (!CUBE_TEMPLATES.includes(input.template)) {
|
|
425
|
+
fail('Unsupported cube template.', ['template']);
|
|
426
|
+
}
|
|
427
|
+
if (input.access !== 'manage')
|
|
428
|
+
fail('Repository cube access must be manage.', ['access']);
|
|
429
|
+
return {
|
|
430
|
+
result: 'resolved',
|
|
431
|
+
cube_id: decodeUuid(input.cube_id, ['cube_id']),
|
|
432
|
+
name,
|
|
433
|
+
working_repo_name: decodeWorkingRepositoryName(input.working_repo_name, ['working_repo_name']),
|
|
434
|
+
repository: decodeCreateCubeRepository(input.repository, ['repository']),
|
|
435
|
+
template: input.template,
|
|
436
|
+
human_seat_role_id: decodeUuid(input.human_seat_role_id, ['human_seat_role_id']),
|
|
437
|
+
default_worker_role_id: decodeUuid(input.default_worker_role_id, ['default_worker_role_id']),
|
|
438
|
+
access: 'manage',
|
|
439
|
+
};
|
|
440
|
+
}
|
|
441
|
+
export function decodeResolveRepositoryCubeResponse(value) {
|
|
442
|
+
const input = record(value);
|
|
443
|
+
if (input.result === 'none') {
|
|
444
|
+
exactKeys(input, ['result'], ['result']);
|
|
445
|
+
return { result: 'none' };
|
|
446
|
+
}
|
|
447
|
+
return decodeResolvedRepositoryCube(input);
|
|
448
|
+
}
|
|
449
|
+
export function decodeResolveRepositoryCubeResponseEnvelope(value) {
|
|
450
|
+
return decodeProtocolEnvelope(value, decodeResolveRepositoryCubeResponse);
|
|
451
|
+
}
|
|
452
|
+
export function decodeAssociateRepositoryCubeResponse(value) {
|
|
453
|
+
return decodeResolvedRepositoryCube(value);
|
|
454
|
+
}
|
|
455
|
+
export function decodeAssociateRepositoryCubeResponseEnvelope(value) {
|
|
456
|
+
return decodeProtocolEnvelope(value, decodeAssociateRepositoryCubeResponse);
|
|
457
|
+
}
|
|
458
|
+
function decodeWorkingRepositoryName(value, path) {
|
|
459
|
+
const name = boundedString(value, 1, 120, path);
|
|
460
|
+
if (!/^[A-Za-z0-9][A-Za-z0-9 ._-]*$/.test(name)) {
|
|
461
|
+
fail('Repository name contains unsupported characters.', path);
|
|
462
|
+
}
|
|
463
|
+
return name;
|
|
464
|
+
}
|
|
293
465
|
export function decodeAppendLogRequest(value) {
|
|
294
466
|
const input = record(value);
|
|
295
467
|
exactKeys(input, ['message', 'visibility', 'recipientDroneIds', 'class', 'to'], ['message']);
|