@dharma-ai-labs/agent-fabric 0.2.210 → 0.2.212
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/dist/codexSetupSessionHandoff.test.js +46 -5
- package/dist/codexSetupSessionHandoff.test.js.map +1 -1
- package/dist/containerRelayLifecycle.d.ts +16 -0
- package/dist/containerRelayLifecycle.d.ts.map +1 -1
- package/dist/containerRelayLifecycle.js +55 -5
- package/dist/containerRelayLifecycle.js.map +1 -1
- package/dist/containerRelayLifecycle.test.js +38 -6
- package/dist/containerRelayLifecycle.test.js.map +1 -1
- package/dist/containerRelayPublicCommand.test.js +17 -0
- package/dist/containerRelayPublicCommand.test.js.map +1 -1
- package/dist/containerRelayRuntimeTrust.test.js +10 -0
- package/dist/containerRelayRuntimeTrust.test.js.map +1 -1
- package/dist/containerRelaySchema.test.js +13 -0
- package/dist/containerRelaySchema.test.js.map +1 -1
- package/dist/containerStartupInspection.test.d.ts +2 -0
- package/dist/containerStartupInspection.test.d.ts.map +1 -0
- package/dist/containerStartupInspection.test.js +175 -0
- package/dist/containerStartupInspection.test.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +124 -9
- package/dist/index.js.map +1 -1
- package/dist/maintenanceControlCaller.test.d.ts +2 -0
- package/dist/maintenanceControlCaller.test.d.ts.map +1 -0
- package/dist/maintenanceControlCaller.test.js +119 -0
- package/dist/maintenanceControlCaller.test.js.map +1 -0
- package/dist/namedSessionStoppedLock.d.ts +34 -0
- package/dist/namedSessionStoppedLock.d.ts.map +1 -0
- package/dist/namedSessionStoppedLock.js +108 -0
- package/dist/namedSessionStoppedLock.js.map +1 -0
- package/dist/namedSessionStoppedLock.test.d.ts +2 -0
- package/dist/namedSessionStoppedLock.test.d.ts.map +1 -0
- package/dist/namedSessionStoppedLock.test.js +104 -0
- package/dist/namedSessionStoppedLock.test.js.map +1 -0
- package/dist/relayAutostart.d.ts +3 -0
- package/dist/relayAutostart.d.ts.map +1 -1
- package/dist/relayAutostart.js +45 -6
- package/dist/relayAutostart.js.map +1 -1
- package/dist/relayAutostart.test.js +49 -1
- package/dist/relayAutostart.test.js.map +1 -1
- package/dist/relayRuntimeUpgrade.d.ts +1 -0
- package/dist/relayRuntimeUpgrade.d.ts.map +1 -1
- package/dist/relayRuntimeUpgrade.js +3 -3
- package/dist/relayRuntimeUpgrade.js.map +1 -1
- package/dist/relayRuntimeUpgradeCaller.test.js +76 -0
- package/dist/relayRuntimeUpgradeCaller.test.js.map +1 -1
- package/dist/relaySigningMaintenanceUpgrade.d.ts +44 -0
- package/dist/relaySigningMaintenanceUpgrade.d.ts.map +1 -0
- package/dist/relaySigningMaintenanceUpgrade.js +249 -0
- package/dist/relaySigningMaintenanceUpgrade.js.map +1 -0
- package/dist/relaySigningMaintenanceUpgrade.test.d.ts +2 -0
- package/dist/relaySigningMaintenanceUpgrade.test.d.ts.map +1 -0
- package/dist/relaySigningMaintenanceUpgrade.test.js +230 -0
- package/dist/relaySigningMaintenanceUpgrade.test.js.map +1 -0
- package/dist/schemas/container-startup-inspection.v1.schema.json +27 -0
- package/dist/schemas/local-signing-maintenance-upgrade-journal.schema.json +34 -0
- package/dist/schemas/local-signing-maintenance-upgrade.schema.json +33 -0
- package/dist/usage.d.ts.map +1 -1
- package/dist/usage.js +3 -2
- package/dist/usage.js.map +1 -1
- package/dist/wslRelayHost.d.ts +2 -0
- package/dist/wslRelayHost.d.ts.map +1 -1
- package/dist/wslRelayHost.js +35 -0
- package/dist/wslRelayHost.js.map +1 -1
- package/dist/wslRelayHost.test.js +81 -4
- package/dist/wslRelayHost.test.js.map +1 -1
- package/package.json +5 -5
|
@@ -22,6 +22,7 @@ async function fixture() {
|
|
|
22
22
|
inspectOwnedRelayAutostart: async () => startup,
|
|
23
23
|
relaySupervisorProcessState: async () => 'stopped', relayProcessState: async () => 'stopped',
|
|
24
24
|
readdir: async () => [], pidProcessState: async () => 'stopped',
|
|
25
|
+
lstat: async () => { throw Object.assign(Error('absent fixture lock'), { code: 'ENOENT' }); },
|
|
25
26
|
VERSION: '0.2.118', stableRepositoryLauncherContents: (version) => ({ version }),
|
|
26
27
|
resolveRepositoryNpmCli: async () => '/fixtures/npm/bin/npm-cli.js',
|
|
27
28
|
providerProcessEnvironment: (source) => source,
|
|
@@ -262,4 +263,79 @@ test('actual upgrade caller rejects an old receiver even when the invoked CLI is
|
|
|
262
263
|
};
|
|
263
264
|
await assert.rejects(f.run()(f.flags), /receiver_unconfirmed/);
|
|
264
265
|
});
|
|
266
|
+
test('actual caller dispatches only the explicit maintenance mode and validates its distinct receipt', async () => {
|
|
267
|
+
const f = await fixture();
|
|
268
|
+
f.flags.set('stage-signing-maintenance', true);
|
|
269
|
+
let schema = '';
|
|
270
|
+
f.deps.readdir = async () => [{ name: 'original', isDirectory: () => true }];
|
|
271
|
+
f.deps.readNamedSession = async () => ({ enabled: false, identity: { organizationId: 'org_fixture', deviceId: 'device', workspaceId: 'workspace' } });
|
|
272
|
+
f.deps.upgradeRelayForSigningMaintenance = async (input, hooks) => {
|
|
273
|
+
assert.equal(input.finish, false);
|
|
274
|
+
assert.equal(input.dryRun, true);
|
|
275
|
+
await hooks.assertNamedDisabled();
|
|
276
|
+
return { state: 'planned' };
|
|
277
|
+
};
|
|
278
|
+
f.deps.upgradeRelayRuntime = async () => { throw Error('ordinary upgrade must not run'); };
|
|
279
|
+
f.deps.validateContract = async (_root, id) => { schema = id; return { ok: true }; };
|
|
280
|
+
assert.deepEqual(JSON.parse(JSON.stringify(await f.run()(f.flags))), { state: 'planned' });
|
|
281
|
+
assert.equal(schema, 'https://schemas.dharma-ai.io/local-signing-maintenance-upgrade/v1');
|
|
282
|
+
assert.deepEqual(f.calls, ['lock']);
|
|
283
|
+
});
|
|
284
|
+
test('actual maintenance caller refuses conflicting options before enrollment reads', async () => {
|
|
285
|
+
for (const entries of [
|
|
286
|
+
[['stage-signing-maintenance', true], ['finish-signing-maintenance', true]],
|
|
287
|
+
[['stage-signing-maintenance', true], ['rollback', true]],
|
|
288
|
+
[['stage-signing-maintenance', 'false']],
|
|
289
|
+
[['stage-signing-maintenance', true], ['apply', 'false']],
|
|
290
|
+
[['stage-signing-maintenance', true], ['dry-run', 'false']],
|
|
291
|
+
[['previous-upgrade-sha256', 'sha256:public']]
|
|
292
|
+
]) {
|
|
293
|
+
const f = await fixture();
|
|
294
|
+
for (const [key, value] of entries)
|
|
295
|
+
f.flags.set(key, value);
|
|
296
|
+
f.deps.readDeviceConfig = () => { throw Error('enrollment read must not occur'); };
|
|
297
|
+
await assert.rejects(f.run()(f.flags), /maintenance_options_invalid/);
|
|
298
|
+
assert.deepEqual(f.calls, []);
|
|
299
|
+
}
|
|
300
|
+
});
|
|
301
|
+
test('actual maintenance caller refuses enabled, foreign or stale-lock named registration before staging', async () => {
|
|
302
|
+
for (const mode of ['enabled', 'foreign', 'absent', 'dead-lock']) {
|
|
303
|
+
const f = await fixture();
|
|
304
|
+
f.flags.set('stage-signing-maintenance', true);
|
|
305
|
+
f.deps.readdir = async () => mode === 'absent' ? [] : [{ name: 'original', isDirectory: () => true }];
|
|
306
|
+
f.deps.readNamedSession = async () => ({ enabled: mode === 'enabled', identity: { organizationId: 'org_fixture', deviceId: mode === 'foreign' ? 'other' : 'device', workspaceId: 'workspace' } });
|
|
307
|
+
if (mode === 'dead-lock')
|
|
308
|
+
f.deps.lstat = async () => ({ isFile: () => true });
|
|
309
|
+
f.deps.upgradeRelayForSigningMaintenance = async (_input, hooks) => hooks.assertNamedDisabled();
|
|
310
|
+
await assert.rejects(f.run()(f.flags), /session_scope_unavailable|session_lock_requires_reconciliation/);
|
|
311
|
+
assert.deepEqual(f.calls, ['lock']);
|
|
312
|
+
}
|
|
313
|
+
});
|
|
314
|
+
test('actual maintenance finish checks newer verified trust and the same protected enrollment anchor', async () => {
|
|
315
|
+
for (const failure of ['none', 'generation', 'device', 'signature', 'anchor']) {
|
|
316
|
+
const f = await fixture();
|
|
317
|
+
f.flags.set('finish-signing-maintenance', true);
|
|
318
|
+
f.flags.set('apply', true);
|
|
319
|
+
let reads = 0;
|
|
320
|
+
f.deps.readDeviceConfig = async () => ({ organizationId: 'org_fixture', deviceId: failure === 'device' && reads++ > 0 ? 'other' : 'device',
|
|
321
|
+
serverSigningKeyset: { generation: failure === 'generation' ? 2 : 3 }, serverPublicKeyEd25519: 'SYNTHETIC_PUBLIC' });
|
|
322
|
+
f.deps.validateTrustedServerSigningKeysetContract = () => ({ ok: true });
|
|
323
|
+
f.deps.createPublicKey = () => ({});
|
|
324
|
+
f.deps.verifyInitialServerSigningKeyset = () => ({ ok: failure !== 'signature' });
|
|
325
|
+
f.deps.loadDeviceEnrollmentAnchor = async (input) => { f.calls.push('anchor'); assert.equal(input.readOnly, true); if (failure === 'anchor')
|
|
326
|
+
throw Error('anchor mismatch'); };
|
|
327
|
+
f.deps.upgradeRelayForSigningMaintenance = async (_input, hooks) => {
|
|
328
|
+
await hooks.assertRecoveredTrust(2);
|
|
329
|
+
return { state: 'completed' };
|
|
330
|
+
};
|
|
331
|
+
if (failure === 'none') {
|
|
332
|
+
await f.run()(f.flags);
|
|
333
|
+
assert.deepEqual(f.calls, ['lock', 'anchor']);
|
|
334
|
+
}
|
|
335
|
+
else {
|
|
336
|
+
await assert.rejects(f.run()(f.flags), /trust_not_recovered|anchor mismatch/);
|
|
337
|
+
assert.deepEqual(f.calls, failure === 'anchor' ? ['lock', 'anchor'] : ['lock']);
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
});
|
|
265
341
|
//# sourceMappingURL=relayRuntimeUpgradeCaller.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relayRuntimeUpgradeCaller.test.js","sourceRoot":"","sources":["../src/relayRuntimeUpgradeCaller.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,4BAA4B,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC7F,OAAO,EAAE,gCAAgC,EAAE,iCAAiC,EAAE,iCAAiC,EAAE,MAAM,0BAA0B,CAAC;AAClJ,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,KAAK,UAAU,OAAO;IACpB,MAAM,SAAS,GAAG,sBAAsB,EAAE,KAAK,GAAa,EAAE,CAAC;IAC/D,MAAM,QAAQ,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAClH,MAAM,OAAO,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC;QACvG,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,sBAAsB,CAAC,EAAE,CAAC;IAClE,MAAM,IAAI,GAA4B;QACpC,gBAAgB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,cAAc,EAAE,QAAQ,CAAC,cAAc,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACxG,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,qBAAqB,EAAE,GAAG,EAAE,CAAC,QAAQ;QACvE,QAAQ,EAAE,KAAK,EAAE,IAAY,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,mBAAmB,EAAE,OAAO,EAAE,OAAO;QAC/F,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,yBAAyB,EAAE,GAAG,EAAE,EAAC,UAAU,EAAE,0BAA0B,EAAC,EAAE;QAClH,0BAA0B,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO;QAC/C,2BAA2B,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS,EAAE,iBAAiB,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;QAC5F,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE,EAAE,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;QAC/D,OAAO,EAAE,SAAS,EAAE,gCAAgC,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;QACxF,uBAAuB,EAAE,KAAK,IAAI,EAAE,CAAC,8BAA8B;QACnE,0BAA0B,EAAE,CAAC,MAAyB,EAAE,EAAE,CAAC,MAAM;QACjE,+BAA+B,EAAE,KAAK,IAAI,EAAE,CAAC,qBAAqB;QAClE,wBAAwB,EAAE,KAAK,EAAE,SAAiC,EAAE,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,SAAS,EAAE,CAAC,CAAC,CAAC;QAClH,mBAAmB,EAAE,KAAK,EAAE,MAAe,EAAE,KAA6E,EAAE,EAAE;YAC5H,MAAM,KAAK,CAAC,aAAa,EAAE,CAAC;YAAC,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC;YAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QACzF,CAAC;QACD,oBAAoB,EAAE,KAAK,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC9D,mBAAmB,EAAE,KAAK,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACzD,kBAAkB,EAAE,KAAK,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC1D,SAAS,EAAE,KAAK,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACzE,gBAAgB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QAC5C,aAAa,EAAE,GAAG,EAAE,4BAA4B,EAAE,iCAAiC,EAAE,iCAAiC;QACtH,UAAU,EAAE,CAAC,QAAoB,EAAE,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/D,QAAQ,EAAE,KAAK,EAAE,IAAY,EAAE,EAAE;YAC/B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,IAAI,KAAK,gBAAgB;gBAAE,OAAO,KAAK,CAAC;YAC5C,IAAI,IAAI,KAAK,WAAW;gBAAE,OAAO,KAAK,CAAC;YACvC,IAAI,IAAI,KAAK,2BAA2B;gBAAE,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;YAC5H,IAAI,IAAI,KAAK,2BAA2B;gBAAE,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS;oBACtH,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;KACF,CAAC;IACF,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACtG,MAAM,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC3G,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,KAAK,cAAc,CAAC,CAAC;IACrH,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;QAC5H,eAAe,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,iBAAiB,EAAE,IAAI;KAAE,CAAC,CAAC;IAC9G,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC5G,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC,UAAU,gBAAgB,EAAE,IAAI,EAC5E,EAAE,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CACb,CAAC;IAC/D,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,GAAG,CAA2B,CAAC,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7G,CAAC;AAED,IAAI,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;IAC/F,KAAK,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,MAAM,OAAO,EAAE,CAAC;QAC1B,IAAI,IAAI,KAAK,OAAO;YAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,GAAG,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC;aAClE,CAAC;YACJ,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7E,CAAC,CAAC,IAAI,CAAC,eAAe,GAAG,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC;QACjD,CAAC;QACD,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,MAAM,CAAC,iBAAiB,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC;QACrH,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,sGAAsG,EAAE,KAAK,IAAI,EAAE;IACtH,MAAM,CAAC,GAAG,MAAM,OAAO,EAAE,CAAC;IAC1B,CAAC,CAAC,IAAI,CAAC,mBAAmB,GAAG,KAAK,EAAE,MAAe,EAAE,KAAwC,EAAE,EAAE;QAC/F,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAoB,EAAE,iCAAiC,CAAC,CAAC;QAC5E,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAC9B,CAAC,CAAC;IACF,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACvB,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iGAAiG,EAAE,KAAK,IAAI,EAAE;IACjH,MAAM,CAAC,GAAG,MAAM,OAAO,EAAE,CAAC;IAC1B,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,CAAC,CAAC,IAAI,CAAC,uBAAuB,GAAG,KAAK,IAAI,EAAE,GAAE,WAAW,EAAE,CAAC,CAAC,OAAO,8BAA8B,CAAC,CAAA,CAAC,CAAC;IACrG,CAAC,CAAC,IAAI,CAAC,+BAA+B,GAAG,KAAK,IAAI,EAAE,GAAE,gBAAgB,EAAE,CAAC,CAAC,OAAO,qBAAqB,CAAC,CAAA,CAAC,CAAC;IACzG,CAAC,CAAC,IAAI,CAAC,gCAAgC,GAAG,CAAC,QAAgB,EAAE,OAAwD,EAAE,EAAE,CAAC,CAAC,EAAC,OAAO,EAAC,CAAC,CAAC;IACtI,CAAC,CAAC,IAAI,CAAC,mBAAmB,GAAG,KAAK,EAAE,MAAe,EAAE,KAAsG,EAAE,EAAE;QAC7J,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,UAAU,EAChE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC;QACxE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,cAAc,EACpE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;QAC/D,OAAO,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC;IAC5B,CAAC,CAAC;IACF,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACvB,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC7B,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC9B,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACvB,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC7B,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6GAA6G,EAChH,EAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAC,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC9C,KAAK,MAAM,aAAa,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;QAC5C,MAAM,CAAC,GAAG,MAAM,OAAO,EAAE,EAAE,IAAI,GAAG,MAAM,QAAQ,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,6BAA6B,CAAC,CAAC,CAAC,CAAC;QAClH,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;QACxD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QACrH,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QACzF,MAAM,KAAK,CAAC,GAAG,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;QAAC,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAC,CAAC,CAAC;QACtG,MAAM,SAAS,CAAC,UAAU,EAAE,eAAe,EAAE,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC,CAAC;QAC5D,MAAM,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAC,GAAG,EAAE,gBAAgB,EAAC,EAAC,CAAC,EAAE,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC,CAAC;QAC9H,MAAM,cAAc,GAAG,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QACpH,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QACvE,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAC,CAAC,CAAC;YAClE,MAAM,SAAS,CAAC,WAAW,EAAE,mBAAmB,EAAE,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC,CAAC;YACjE,MAAM,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,cAAc,CAAC,EACpE,IAAI,CAAC,SAAS,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAC,GAAG,EAAE,gBAAgB,EAAC,EAAC,CAAC,EAAE,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC,CAAC;QAChF,CAAC;QACD,MAAM,QAAQ,GAAG,gCAAgC,CAAC,cAAc,EAAE,EAAC,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC5H,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAC,UAAU,EAAE,WAAW,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAC,CAAC,CAAC;QACxD,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAAC,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QACvH,MAAM,QAAQ,GAAG,EAAC,WAAW,EAAE,sCAAsC,EAAE,cAAc,EAAE,aAAa;YAClG,QAAQ,EAAE,sCAAsC,EAAE,IAAI,EAAE,SAAS,EAAC,CAAC;QACrE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,EAAC,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC;YAC5F,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,sBAAsB,CAAC,EAAC,CAAC,CAAC;QAClE,IAAI,OAAO,GAAG,KAAK,EAAE,WAAW,GAAG,CAAC,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE;YACpB,OAAO,EAAE,EAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAC,EAAE,OAAO,EAAE,aAAa;YACzF,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,qBAAqB,EAAE,GAAG,EAAE,CAAC,QAAQ;YAC/F,gBAAgB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAC,cAAc,EAAE,QAAQ,CAAC,cAAc,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAC,CAAC;YACtG,gCAAgC,EAAE,mBAAmB;YACrD,uBAAuB,EAAE,KAAK,IAAI,EAAE,GAAE,WAAW,EAAE,CAAC,CAAC,OAAO,UAAU,CAAC,CAAA,CAAC;YACxE,+BAA+B,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;YACtD,oBAAoB,EAAE,KAAK,EAAE,KAAwB,EAAE,EAAE,GAAE,CAAC,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAA,CAAC;YAC9F,mBAAmB,EAAE,KAAK,IAAI,EAAE,GAAE,OAAO,GAAG,IAAI,CAAC,CAAA,CAAC,EAAE,kBAAkB,EAAE,KAAK,IAAI,EAAE,GAAE,OAAO,GAAG,KAAK,CAAC,CAAA,CAAC;YACtG,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAC,EAAE,EAAE,IAAI,EAAC,CAAC;YACnC,iBAAiB,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YAC9D,2BAA2B,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YACxE,QAAQ,EAAE,KAAK,EAAE,IAAY,EAAE,EAAE;gBAC/B,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,gBAAgB;oBAAE,OAAO,KAAK,CAAC;gBACtD,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,WAAW;oBAAE,OAAO,KAAK,CAAC;gBACjD,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,2BAA2B;oBAAE,OAAO,IAAI,CAAC,SAAS,CAAC,EAAC,GAAG,EAAE,GAAG;wBACjF,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAC,CAAC,CAAC;gBAClE,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,2BAA2B;oBAAE,OAAO,IAAI,CAAC,SAAS,CAAC,EAAC,GAAG,EAAE,GAAG;wBACjF,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAC,CAAC,CAAC;gBAChG,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACrC,CAAC;SACF,CAAC,CAAC;QACH,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAChE,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAqB,CAAA,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC7E,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC7B,CAAC,CAAC,IAAI,CAAC,uBAAuB,GAAG,KAAK,IAAI,EAAE,GAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC,CAAA,CAAC,CAAC;QACxG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAqB,CAAA,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAC/E,MAAM,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7E,MAAM,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QACnF,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAChD,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,IAAI,CAAC,yGAAyG,EAAE,KAAK,IAAI,EAAE;IACzH,MAAM,CAAC,GAAG,MAAM,OAAO,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAkE,EAAE,CAAC;IACnF,CAAC,CAAC,IAAI,CAAC,oBAAoB,GAAG,KAAK,EAAE,KAA6D,EAAE,EAAE,GAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA,CAAC,CAAC;IAC/H,CAAC,CAAC,IAAI,CAAC,mBAAmB,GAAG,KAAK,EAAE,MAAe,EAAE,KAEpD,EAAE,EAAE;QACH,MAAM,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,KAAK,CAAC,gBAAgB,CAAC,SAAS,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;QAC3D,OAAO,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC;IAC5B,CAAC,CAAC;IACF,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACvB,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,SAAS,EAAE,0BAA0B,CAAC,CAAC;IACjE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAE,EAAE,kBAAkB,CAAC,EAAE,KAAK,CAAC,CAAC;IACrE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAE,EAAE,WAAW,CAAC,EAAE,KAAK,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wGAAwG,EAC3G,EAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAC,EAAE,KAAK,IAAI,EAAE;IAC/C,MAAM,CAAC,GAAG,MAAM,OAAO,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,uBAAuB,CAAC,CAAC,CAAC;IACvE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACtC,MAAM,GAAG,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC,EAAC,MAAM,EAAE,WAAW,EAAC,CAAC,CAAC;IAChD,IAAI,CAAC;QACH,MAAM,oBAAoB,CAAC,EAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,EAAC,CAAC,CAAC;QACzF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,6BAA6B,CAAC,CAAC;QACxF,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;QAC/B,CAAC,CAAC,IAAI,CAAC,oBAAoB,GAAG,KAAK,EAAE,KAAiD,EAAE,EAAE,CACxF,oBAAoB,CAAC,EAAC,GAAG,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAC,CAAC,CAAC;QACxD,CAAC,CAAC,IAAI,CAAC,mBAAmB,GAAG,KAAK,EAAE,MAAe,EAAE,KAEpD,EAAE,EAAE;YACH,MAAM,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;YACnE,OAAO,EAAC,KAAK,EAAE,aAAa,EAAC,CAAC;QAChC,CAAC,CAAC;QACF,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACvB,MAAM,CAAC,SAAS,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACjF,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,YAAY,CAAC,CAAC;IACvE,CAAC;YAAS,CAAC;QAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;IAAC,CAAC;AAC/D,CAAC,CAAC,CAAC;AAEL,IAAI,CAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;IAChG,MAAM,CAAC,GAAG,MAAM,OAAO,EAAE,CAAC;IAC1B,CAAC,CAAC,OAAO,CAAC,SAAS,GAAG,iBAAiB,CAAC;IACxC,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,oBAAoB,CAAC,CAAC;IAC7D,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oFAAoF,EAAE,KAAK,IAAI,EAAE;IACpG,MAAM,CAAC,GAAG,MAAM,OAAO,EAAE,CAAC;IAC1B,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,CAAC,CAAC,IAAI,CAAC,0BAA0B,GAAG,KAAK,IAAI,EAAE,CAAC,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO;QACtE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,6BAA6B,EAAE,CAAC;IAC5D,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,oBAAoB,CAAC,CAAC;IAC7D,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oFAAoF,EAAE,KAAK,IAAI,EAAE;IACpG,MAAM,CAAC,GAAG,MAAM,OAAO,EAAE,CAAC;IAC1B,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvG,CAAC,CAAC,IAAI,CAAC,eAAe,GAAG,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC;IAC/C,CAAC,CAAC,IAAI,CAAC,mBAAmB,GAAG,KAAK,EAAE,MAAe,EAAE,KAAgC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACvG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAC,CAAC;IAC3D,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yFAAyF,EAAE,KAAK,IAAI,EAAE;IACzG,MAAM,CAAC,GAAG,MAAM,OAAO,EAAE,CAAC;IAC1B,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAChE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzD,CAAC,CAAC,IAAI,CAAC,eAAe,GAAG,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC;IAC/C,CAAC,CAAC,IAAI,CAAC,mBAAmB,GAAG,KAAK,EAAE,MAAe,EAAE,KAAgC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACvG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC,CAAC;IACvD,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,sFAAsF,EAAE,KAAK,IAAI,EAAE;IACtG,MAAM,CAAC,GAAG,MAAM,OAAO,EAAE,CAAC;IAC1B,CAAC,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,2BAA2B,GAAG,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC;IACtF,CAAC,CAAC,IAAI,CAAC,mBAAmB,GAAG,KAAK,EAAE,MAAe,EAAE,KAAgE,EAAE,EAAE;QACvH,MAAM,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAAC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAC1G,CAAC,CAAC;IACF,CAAC,CAAC,IAAI,CAAC,oBAAoB,GAAG,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;AAC/F,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kFAAkF,EAAE,KAAK,IAAI,EAAE;IAClG,MAAM,CAAC,GAAG,MAAM,OAAO,EAAE,CAAC;IAC1B,CAAC,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,2BAA2B,GAAG,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC;IACtF,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,QAA6C,CAAC;IAClE,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC9F,CAAC,CAAC,IAAI,CAAC,mBAAmB,GAAG,KAAK,EAAE,MAAe,EAAE,KAAgE,EAAE,EAAE;QACvH,MAAM,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC3E,CAAC,CAAC;IACF,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,sBAAsB,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"relayRuntimeUpgradeCaller.test.js","sourceRoot":"","sources":["../src/relayRuntimeUpgradeCaller.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { type RelayUpgradeDependencies } from './relayRuntimeUpgrade.js';
|
|
2
|
+
type Input = {
|
|
3
|
+
home: string;
|
|
4
|
+
workspace: string;
|
|
5
|
+
organizationId: string;
|
|
6
|
+
deviceId: string;
|
|
7
|
+
workspaceId: string;
|
|
8
|
+
version: string;
|
|
9
|
+
trustGeneration: number;
|
|
10
|
+
dryRun?: boolean;
|
|
11
|
+
finish?: boolean;
|
|
12
|
+
previousUpgradeSha256?: string;
|
|
13
|
+
};
|
|
14
|
+
type Dependencies = RelayUpgradeDependencies & {
|
|
15
|
+
assertNamedDisabled(): Promise<void>;
|
|
16
|
+
assertStartupPaused(): Promise<void>;
|
|
17
|
+
assertRecoveredTrust(previousGeneration: number): Promise<void>;
|
|
18
|
+
stageStartup(version: string, restore: {
|
|
19
|
+
codexHome: string | null;
|
|
20
|
+
}): Promise<unknown>;
|
|
21
|
+
};
|
|
22
|
+
type State = 'prepared' | 'staged' | 'finishing' | 'completed' | 'staging_reverted' | 'staging_failed' | 'finish_failed';
|
|
23
|
+
/** The CLI holds its existing home-wide startup lock around this transaction.
|
|
24
|
+
* Staging is file-only maintenance, never a successful relay upgrade. Neither
|
|
25
|
+
* a failed journal nor an ambiguous start can be turned into an automatic retry. */
|
|
26
|
+
export declare function upgradeRelayForSigningMaintenance(input: Input, deps: Dependencies): Promise<{
|
|
27
|
+
schema: string;
|
|
28
|
+
upgradeId: string;
|
|
29
|
+
organizationId: string;
|
|
30
|
+
deviceId: string;
|
|
31
|
+
workspaceId: string;
|
|
32
|
+
version: string;
|
|
33
|
+
previousVersion: string;
|
|
34
|
+
state: "planned" | State;
|
|
35
|
+
upgradeComplete: boolean;
|
|
36
|
+
runtimeObservation: string;
|
|
37
|
+
ready: boolean;
|
|
38
|
+
nativeContinuationAuthorized: boolean;
|
|
39
|
+
priorJournalArchive: string | null;
|
|
40
|
+
priorJournalSha256: string | null;
|
|
41
|
+
createdAt: string;
|
|
42
|
+
}>;
|
|
43
|
+
export {};
|
|
44
|
+
//# sourceMappingURL=relaySigningMaintenanceUpgrade.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relaySigningMaintenanceUpgrade.d.ts","sourceRoot":"","sources":["../src/relaySigningMaintenanceUpgrade.ts"],"names":[],"mappings":"AAGA,OAAO,EAA6B,KAAK,wBAAwB,EAAC,MAAM,0BAA0B,CAAC;AAGnG,KAAK,KAAK,GAAC;IAAC,IAAI,EAAC,MAAM,CAAC;IAAA,SAAS,EAAC,MAAM,CAAC;IAAA,cAAc,EAAC,MAAM,CAAC;IAAA,QAAQ,EAAC,MAAM,CAAC;IAAA,WAAW,EAAC,MAAM,CAAC;IAAA,OAAO,EAAC,MAAM,CAAC;IAC/G,eAAe,EAAC,MAAM,CAAC;IAAA,MAAM,CAAC,EAAC,OAAO,CAAC;IAAA,MAAM,CAAC,EAAC,OAAO,CAAC;IAAA,qBAAqB,CAAC,EAAC,MAAM,CAAA;CAAC,CAAC;AACxF,KAAK,YAAY,GAAC,wBAAwB,GAAC;IACzC,mBAAmB,IAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,mBAAmB,IAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,oBAAoB,CAAC,kBAAkB,EAAC,MAAM,GAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,YAAY,CAAC,OAAO,EAAC,MAAM,EAAC,OAAO,EAAC;QAAC,SAAS,EAAC,MAAM,GAAC,IAAI,CAAA;KAAC,GAAE,OAAO,CAAC,OAAO,CAAC,CAAC;CAC/E,CAAC;AACF,KAAK,KAAK,GAAC,UAAU,GAAC,QAAQ,GAAC,WAAW,GAAC,WAAW,GAAC,kBAAkB,GAAC,gBAAgB,GAAC,eAAe,CAAC;AA2D3G;;oFAEoF;AACpF,wBAAsB,iCAAiC,CAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,YAAY;;;;;;;;;;;;;;;;GA2GpF"}
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
import { createHash, randomUUID } from 'node:crypto';
|
|
2
|
+
import { chmod, lstat, readFile, realpath, rename, writeFile } from 'node:fs/promises';
|
|
3
|
+
import { join, resolve } from 'node:path';
|
|
4
|
+
import { validateRelayUpgradeJournal } from './relayRuntimeUpgrade.js';
|
|
5
|
+
const version = /^(?=.{1,64}$)\d+\.\d+\.\d+(?:-[A-Za-z0-9.-]+)?$/;
|
|
6
|
+
const uuid = /^[a-f0-9]{8}-[a-f0-9]{4}-[1-8][a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$/;
|
|
7
|
+
const sha = (value) => 'sha256:' + createHash('sha256').update(value).digest('hex');
|
|
8
|
+
const hash = (value) => sha(JSON.stringify(value));
|
|
9
|
+
const same = (left, right) => left.shell === right.shell && left.windows === right.windows;
|
|
10
|
+
const fail = (reason) => { throw Error('relay_signing_maintenance_' + reason); };
|
|
11
|
+
const context = (value) => typeof value === 'string' && value.startsWith('/') && value !== '/'
|
|
12
|
+
&& value.length <= 4096 && !/[\x00-\x1f\x7f]|\s$|\\$/.test(value) && resolve(value) === value;
|
|
13
|
+
const states = ['prepared', 'staged', 'finishing', 'completed', 'staging_reverted', 'staging_failed', 'finish_failed'];
|
|
14
|
+
async function readOwned(path, maximum = 262144) {
|
|
15
|
+
try {
|
|
16
|
+
const info = await lstat(path);
|
|
17
|
+
if (!info.isFile() || info.isSymbolicLink() || info.size > maximum || await realpath(path) !== path
|
|
18
|
+
|| process.platform !== 'win32' && (info.uid !== process.getuid() || (info.mode & 0o077) !== 0))
|
|
19
|
+
return fail('journal_unavailable');
|
|
20
|
+
return await readFile(path, 'utf8');
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
if (error.code === 'ENOENT')
|
|
24
|
+
return null;
|
|
25
|
+
throw error;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
async function launchers(workspace) {
|
|
29
|
+
const paths = ['dharma', 'dharma.cmd'].map(name => join(workspace, '.dharma', 'bin', name));
|
|
30
|
+
for (const path of paths) {
|
|
31
|
+
const info = await lstat(path);
|
|
32
|
+
if (!info.isFile() || info.isSymbolicLink() || info.size > 16384 || await realpath(path) !== path
|
|
33
|
+
|| process.platform !== 'win32' && (info.uid !== process.getuid() || (info.mode & 0o022) !== 0))
|
|
34
|
+
return fail('launcher_conflict');
|
|
35
|
+
}
|
|
36
|
+
return { shell: await readFile(paths[0], 'utf8'), windows: await readFile(paths[1], 'utf8') };
|
|
37
|
+
}
|
|
38
|
+
async function atomic(path, value, mode) {
|
|
39
|
+
const temporary = path + '.' + randomUUID() + '.tmp';
|
|
40
|
+
await writeFile(temporary, value, { mode, flag: 'wx' });
|
|
41
|
+
await rename(temporary, path);
|
|
42
|
+
if (process.platform !== 'win32')
|
|
43
|
+
await chmod(path, mode);
|
|
44
|
+
}
|
|
45
|
+
async function install(workspace, value) {
|
|
46
|
+
await atomic(join(workspace, '.dharma', 'bin', 'dharma'), value.shell, 0o700);
|
|
47
|
+
await atomic(join(workspace, '.dharma', 'bin', 'dharma.cmd'), value.windows, 0o600);
|
|
48
|
+
}
|
|
49
|
+
async function validateJournal(value, input, deps) {
|
|
50
|
+
const j = value, keys = ['schema', 'upgradeId', 'organizationId', 'deviceId', 'workspaceId', 'workspace', 'version',
|
|
51
|
+
'previousVersion', 'previousCodexHome', 'previous', 'next', 'previousHash', 'nextHash', 'priorJournalSha256',
|
|
52
|
+
'priorJournalArchive', 'trustGeneration', 'createdAt', 'updatedAt', 'state'];
|
|
53
|
+
const validLaunchers = (v) => v && typeof v === 'object' && !Array.isArray(v) && Object.keys(v).sort().join(',') === 'shell,windows'
|
|
54
|
+
&& typeof v.shell === 'string' && v.shell.length <= 16384 && typeof v.windows === 'string' && v.windows.length <= 16384;
|
|
55
|
+
if (!j || typeof j !== 'object' || Array.isArray(j) || Object.keys(j).length !== keys.length || Object.keys(j).some(k => !keys.includes(k))
|
|
56
|
+
|| j.schema !== 'dharma.local-signing-maintenance-upgrade-journal/v1' || !uuid.test(j.upgradeId)
|
|
57
|
+
|| j.organizationId !== input.organizationId || j.deviceId !== input.deviceId || j.workspaceId !== input.workspaceId
|
|
58
|
+
|| j.workspace !== input.workspace || j.version !== input.version || !version.test(j.previousVersion)
|
|
59
|
+
|| j.previousCodexHome !== null && !context(j.previousCodexHome) || !validLaunchers(j.previous) || !validLaunchers(j.next)
|
|
60
|
+
|| j.previousHash !== hash(j.previous) || j.nextHash !== hash(j.next) || !states.includes(j.state)
|
|
61
|
+
|| !Number.isSafeInteger(j.trustGeneration) || j.trustGeneration < 1
|
|
62
|
+
|| !Number.isFinite(Date.parse(j.createdAt)) || !Number.isFinite(Date.parse(j.updatedAt))
|
|
63
|
+
|| j.priorJournalSha256 !== null && !/^sha256:[a-f0-9]{64}$/.test(j.priorJournalSha256)
|
|
64
|
+
|| (j.priorJournalSha256 === null) !== (j.priorJournalArchive === null)
|
|
65
|
+
|| j.priorJournalArchive !== null && !/^runtime-upgrade\.[a-f0-9-]{36}\.[a-f0-9]{64}\.history\.json$/.test(j.priorJournalArchive)
|
|
66
|
+
|| !deps.verifyPriorLaunchers || !await deps.verifyPriorLaunchers(j.previousVersion, j.previous)
|
|
67
|
+
|| !deps.verifyRecoveryLaunchers || !await deps.verifyRecoveryLaunchers(j.version, j.next))
|
|
68
|
+
return fail('journal_unavailable');
|
|
69
|
+
return j;
|
|
70
|
+
}
|
|
71
|
+
/** The CLI holds its existing home-wide startup lock around this transaction.
|
|
72
|
+
* Staging is file-only maintenance, never a successful relay upgrade. Neither
|
|
73
|
+
* a failed journal nor an ambiguous start can be turned into an automatic retry. */
|
|
74
|
+
export async function upgradeRelayForSigningMaintenance(input, deps) {
|
|
75
|
+
if (!version.test(input.version) || ![input.deviceId, input.workspaceId].every(v => uuid.test(v))
|
|
76
|
+
|| !/^[A-Za-z0-9][A-Za-z0-9_-]{0,199}$/.test(input.organizationId)
|
|
77
|
+
|| !Number.isSafeInteger(input.trustGeneration) || input.trustGeneration < 1
|
|
78
|
+
|| input.previousUpgradeSha256 !== undefined && !/^sha256:[a-f0-9]{64}$/.test(input.previousUpgradeSha256))
|
|
79
|
+
return fail('options_invalid');
|
|
80
|
+
for (const path of [input.home, input.workspace, join(input.home, 'relay')]) {
|
|
81
|
+
const info = await lstat(path);
|
|
82
|
+
if (!info.isDirectory() || info.isSymbolicLink() || await realpath(path) !== path
|
|
83
|
+
|| process.platform !== 'win32' && (info.uid !== process.getuid() || (info.mode & 0o022) !== 0))
|
|
84
|
+
return fail('scope_unavailable');
|
|
85
|
+
}
|
|
86
|
+
await deps.assertStopped();
|
|
87
|
+
await deps.assertNamedDisabled();
|
|
88
|
+
const directory = join(input.home, 'relay'), path = join(directory, 'signing-maintenance-upgrade.json');
|
|
89
|
+
const legacyPath = join(directory, 'runtime-upgrade.json'), legacyRaw = await readOwned(legacyPath, 65536);
|
|
90
|
+
const saved = await readOwned(path), startup = await deps.inspectStartup();
|
|
91
|
+
if (startup.workspace !== input.workspace || startup.codexHome !== undefined && !context(startup.codexHome))
|
|
92
|
+
return fail('context_conflict');
|
|
93
|
+
let journal;
|
|
94
|
+
if (saved) {
|
|
95
|
+
journal = await validateJournal(JSON.parse(saved), input, deps);
|
|
96
|
+
if (journal.state !== 'staged')
|
|
97
|
+
return fail('reconciliation_required');
|
|
98
|
+
if (startup.version !== journal.version || (startup.codexHome ?? null) !== journal.previousCodexHome
|
|
99
|
+
|| !same(await launchers(input.workspace), journal.next))
|
|
100
|
+
return fail('launcher_conflict');
|
|
101
|
+
if ((legacyRaw === null ? null : sha(legacyRaw)) !== journal.priorJournalSha256)
|
|
102
|
+
return fail('prior_journal_changed');
|
|
103
|
+
if (journal.priorJournalArchive) {
|
|
104
|
+
const archive = await readOwned(join(directory, journal.priorJournalArchive), 65536);
|
|
105
|
+
if (archive !== legacyRaw)
|
|
106
|
+
return fail('prior_journal_changed');
|
|
107
|
+
}
|
|
108
|
+
await deps.assertStartupPaused();
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
if (input.finish)
|
|
112
|
+
return fail('staged_upgrade_required');
|
|
113
|
+
const previous = await launchers(input.workspace), next = deps.launcherContents(input.version);
|
|
114
|
+
if (!version.test(startup.version) || !deps.verifyPriorLaunchers || !await deps.verifyPriorLaunchers(startup.version, previous)
|
|
115
|
+
|| !deps.verifyRecoveryLaunchers || !await deps.verifyRecoveryLaunchers(input.version, next))
|
|
116
|
+
return fail('launcher_conflict');
|
|
117
|
+
const before = startup.version.split('-')[0].split('.').map(Number), after = input.version.split('-')[0].split('.').map(Number);
|
|
118
|
+
if (after[0] < before[0] || after[0] === before[0] && (after[1] < before[1] || after[1] === before[1] && after[2] <= before[2]))
|
|
119
|
+
return fail('version_invalid');
|
|
120
|
+
let archive = null;
|
|
121
|
+
if (legacyRaw !== null) {
|
|
122
|
+
const old = JSON.parse(legacyRaw);
|
|
123
|
+
await validateRelayUpgradeJournal(old, { ...input, version: old.version }, deps);
|
|
124
|
+
if (!uuid.test(old.upgradeId))
|
|
125
|
+
return fail('prior_failure_custody_required');
|
|
126
|
+
if (!['completed', 'rolled_back'].includes(old.state)) {
|
|
127
|
+
if (old.state !== 'rollback_failed' || input.previousUpgradeSha256 !== sha(legacyRaw)
|
|
128
|
+
|| startup.version !== old.previousVersion || !same(previous, old.previous))
|
|
129
|
+
return fail('prior_failure_custody_required');
|
|
130
|
+
if ((startup.codexHome ?? null) !== (old.previousCodexHome ?? null))
|
|
131
|
+
return fail('context_conflict');
|
|
132
|
+
}
|
|
133
|
+
archive = 'runtime-upgrade.' + old.upgradeId + '.' + sha(legacyRaw).slice(7) + '.history.json';
|
|
134
|
+
}
|
|
135
|
+
const at = new Date().toISOString();
|
|
136
|
+
journal = { schema: 'dharma.local-signing-maintenance-upgrade-journal/v1', upgradeId: randomUUID(),
|
|
137
|
+
organizationId: input.organizationId, deviceId: input.deviceId, workspaceId: input.workspaceId, workspace: input.workspace,
|
|
138
|
+
version: input.version, previousVersion: startup.version, previousCodexHome: startup.codexHome ?? null,
|
|
139
|
+
previous, next, previousHash: hash(previous), nextHash: hash(next), priorJournalSha256: legacyRaw === null ? null : sha(legacyRaw),
|
|
140
|
+
priorJournalArchive: archive, trustGeneration: input.trustGeneration, createdAt: at, updatedAt: at, state: 'prepared' };
|
|
141
|
+
await validateJournal(journal, input, deps);
|
|
142
|
+
}
|
|
143
|
+
const receipt = (state) => ({ schema: 'dharma.local-signing-maintenance-upgrade/v1', upgradeId: journal.upgradeId,
|
|
144
|
+
organizationId: journal.organizationId, deviceId: journal.deviceId, workspaceId: journal.workspaceId,
|
|
145
|
+
version: journal.version, previousVersion: journal.previousVersion, state, upgradeComplete: state === 'completed',
|
|
146
|
+
runtimeObservation: state === 'completed' ? 'local_process_and_poll' : ['finishing', 'finish_failed', 'staging_failed'].includes(state) ? 'unconfirmed' : 'not_performed',
|
|
147
|
+
ready: false, nativeContinuationAuthorized: false, priorJournalArchive: journal.priorJournalArchive,
|
|
148
|
+
priorJournalSha256: journal.priorJournalSha256, createdAt: new Date().toISOString() });
|
|
149
|
+
if (input.dryRun)
|
|
150
|
+
return receipt('planned');
|
|
151
|
+
const save = async (state) => { journal.state = state; journal.updatedAt = new Date().toISOString(); await atomic(path, JSON.stringify(journal, null, 2) + '\n', 0o600); };
|
|
152
|
+
const assertLegacy = async () => { if (await readOwned(legacyPath, 65536) !== legacyRaw)
|
|
153
|
+
return fail('prior_journal_changed'); };
|
|
154
|
+
if (!input.finish) {
|
|
155
|
+
if (saved)
|
|
156
|
+
return receipt('staged');
|
|
157
|
+
if (journal.priorJournalArchive) {
|
|
158
|
+
const archivePath = join(directory, journal.priorJournalArchive), existing = await readOwned(archivePath, 65536);
|
|
159
|
+
if (existing !== null && existing !== legacyRaw)
|
|
160
|
+
return fail('prior_journal_changed');
|
|
161
|
+
if (existing === null)
|
|
162
|
+
await writeFile(archivePath, legacyRaw, { flag: 'wx', mode: 0o600 });
|
|
163
|
+
}
|
|
164
|
+
await assertLegacy();
|
|
165
|
+
await save('prepared');
|
|
166
|
+
try {
|
|
167
|
+
await deps.assertStopped();
|
|
168
|
+
await deps.assertNamedDisabled();
|
|
169
|
+
await assertLegacy();
|
|
170
|
+
if (!same(await launchers(input.workspace), journal.previous))
|
|
171
|
+
return fail('launcher_conflict');
|
|
172
|
+
await deps.stageStartup(journal.previousVersion, { codexHome: journal.previousCodexHome });
|
|
173
|
+
await deps.assertStartupPaused();
|
|
174
|
+
await deps.assertStopped();
|
|
175
|
+
await deps.assertNamedDisabled();
|
|
176
|
+
await assertLegacy();
|
|
177
|
+
await install(input.workspace, journal.next);
|
|
178
|
+
await deps.stageStartup(journal.version, { codexHome: journal.previousCodexHome });
|
|
179
|
+
const current = await deps.inspectStartup();
|
|
180
|
+
if (current.version !== journal.version || current.workspace !== journal.workspace
|
|
181
|
+
|| (current.codexHome ?? null) !== journal.previousCodexHome || !same(await launchers(input.workspace), journal.next))
|
|
182
|
+
return fail('context_conflict');
|
|
183
|
+
await deps.assertStartupPaused();
|
|
184
|
+
await deps.assertStopped();
|
|
185
|
+
await deps.assertNamedDisabled();
|
|
186
|
+
await assertLegacy();
|
|
187
|
+
await save('staged');
|
|
188
|
+
return receipt('staged');
|
|
189
|
+
}
|
|
190
|
+
catch {
|
|
191
|
+
try {
|
|
192
|
+
await deps.assertStartupPaused();
|
|
193
|
+
await deps.assertStopped();
|
|
194
|
+
await deps.assertNamedDisabled();
|
|
195
|
+
await assertLegacy();
|
|
196
|
+
const current = await launchers(input.workspace);
|
|
197
|
+
if (![journal.previous.shell, journal.next.shell].includes(current.shell)
|
|
198
|
+
|| ![journal.previous.windows, journal.next.windows].includes(current.windows))
|
|
199
|
+
return fail('launcher_conflict');
|
|
200
|
+
await install(input.workspace, journal.previous);
|
|
201
|
+
await deps.stageStartup(journal.previousVersion, { codexHome: journal.previousCodexHome });
|
|
202
|
+
const restored = await deps.inspectStartup();
|
|
203
|
+
if (restored.version !== journal.previousVersion || restored.workspace !== journal.workspace
|
|
204
|
+
|| (restored.codexHome ?? null) !== journal.previousCodexHome || !same(await launchers(input.workspace), journal.previous))
|
|
205
|
+
return fail('context_conflict');
|
|
206
|
+
await deps.assertStartupPaused();
|
|
207
|
+
await deps.assertStopped();
|
|
208
|
+
await assertLegacy();
|
|
209
|
+
await save('staging_reverted');
|
|
210
|
+
return receipt('staging_reverted');
|
|
211
|
+
}
|
|
212
|
+
catch {
|
|
213
|
+
await save('staging_failed');
|
|
214
|
+
return receipt('staging_failed');
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
await deps.assertRecoveredTrust(journal.trustGeneration);
|
|
219
|
+
await deps.assertStartupPaused();
|
|
220
|
+
await deps.assertStopped();
|
|
221
|
+
await deps.assertNamedDisabled();
|
|
222
|
+
await assertLegacy();
|
|
223
|
+
await save('finishing');
|
|
224
|
+
try {
|
|
225
|
+
const since = new Date().toISOString();
|
|
226
|
+
await deps.configureStartup(journal.version, { codexHome: journal.previousCodexHome });
|
|
227
|
+
await deps.start();
|
|
228
|
+
await deps.verify(journal.version, since);
|
|
229
|
+
await assertLegacy();
|
|
230
|
+
const ordinary = { schema: 'dharma.local-relay-upgrade-journal/v3', upgradeId: journal.upgradeId,
|
|
231
|
+
organizationId: journal.organizationId, deviceId: journal.deviceId, workspaceId: journal.workspaceId, workspace: journal.workspace,
|
|
232
|
+
previousVersion: journal.previousVersion, version: journal.version, startedAt: journal.createdAt, updatedAt: new Date().toISOString(), state: 'completed',
|
|
233
|
+
previous: journal.previous, previousHash: journal.previousHash, previousCodexHome: journal.previousCodexHome, next: journal.next, nextHash: journal.nextHash };
|
|
234
|
+
await validateRelayUpgradeJournal(ordinary, input, deps);
|
|
235
|
+
await atomic(legacyPath, JSON.stringify(ordinary, null, 2) + '\n', 0o600);
|
|
236
|
+
await save('completed');
|
|
237
|
+
return receipt('completed');
|
|
238
|
+
}
|
|
239
|
+
catch {
|
|
240
|
+
// No restart of the expired previous version and no automatic finish replay.
|
|
241
|
+
try {
|
|
242
|
+
await deps.stop();
|
|
243
|
+
}
|
|
244
|
+
catch { /* Stop outcome is unconfirmed; preserve the failed admission. */ }
|
|
245
|
+
await save('finish_failed');
|
|
246
|
+
return receipt('finish_failed');
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
//# sourceMappingURL=relaySigningMaintenanceUpgrade.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relaySigningMaintenanceUpgrade.js","sourceRoot":"","sources":["../src/relaySigningMaintenanceUpgrade.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relaySigningMaintenanceUpgrade.test.d.ts","sourceRoot":"","sources":["../src/relaySigningMaintenanceUpgrade.test.ts"],"names":[],"mappings":""}
|