@dharma-ai-labs/agent-fabric 0.2.206 → 0.2.208
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 +22 -0
- package/dist/bootstrapHostScope.test.js +2 -1
- package/dist/bootstrapHostScope.test.js.map +1 -1
- package/dist/bootstrapProcessCaller.test.js +2 -0
- package/dist/bootstrapProcessCaller.test.js.map +1 -1
- package/dist/bootstrapVaultScope.test.js +32 -1
- package/dist/bootstrapVaultScope.test.js.map +1 -1
- package/dist/codexInboxSession.d.ts +1 -1
- package/dist/codexSetupSessionCaller.test.js +2 -0
- package/dist/codexSetupSessionCaller.test.js.map +1 -1
- package/dist/cooperativeInboxSession.d.ts +1 -1
- package/dist/demoPeer.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +85 -4
- package/dist/index.js.map +1 -1
- package/dist/namedSessionAdmission.d.ts +23 -0
- package/dist/namedSessionAdmission.d.ts.map +1 -0
- package/dist/namedSessionAdmission.js +120 -0
- package/dist/namedSessionAdmission.js.map +1 -0
- package/dist/namedSessionAdmission.test.d.ts +2 -0
- package/dist/namedSessionAdmission.test.d.ts.map +1 -0
- package/dist/namedSessionAdmission.test.js +151 -0
- package/dist/namedSessionAdmission.test.js.map +1 -0
- package/dist/namedSessionMaintenance.d.ts +49 -0
- package/dist/namedSessionMaintenance.d.ts.map +1 -0
- package/dist/namedSessionMaintenance.js +79 -0
- package/dist/namedSessionMaintenance.js.map +1 -0
- package/dist/namedSessionMaintenance.test.d.ts +2 -0
- package/dist/namedSessionMaintenance.test.d.ts.map +1 -0
- package/dist/namedSessionMaintenance.test.js +141 -0
- package/dist/namedSessionMaintenance.test.js.map +1 -0
- package/dist/namedSessionService.d.ts +8 -1
- package/dist/namedSessionService.d.ts.map +1 -1
- package/dist/namedSessionService.js +138 -45
- package/dist/namedSessionService.js.map +1 -1
- package/dist/namedSessionService.test.js +58 -3
- package/dist/namedSessionService.test.js.map +1 -1
- package/dist/namedSessionTransportDiagnostic.d.ts +40 -0
- package/dist/namedSessionTransportDiagnostic.d.ts.map +1 -0
- package/dist/namedSessionTransportDiagnostic.js +71 -0
- package/dist/namedSessionTransportDiagnostic.js.map +1 -0
- package/dist/namedSessionTransportDiagnostic.test.d.ts +2 -0
- package/dist/namedSessionTransportDiagnostic.test.d.ts.map +1 -0
- package/dist/namedSessionTransportDiagnostic.test.js +188 -0
- package/dist/namedSessionTransportDiagnostic.test.js.map +1 -0
- package/dist/providerSessionReplyRecovery.d.ts +1 -1
- package/dist/schemas/named-session-maintenance.schema.json +38 -0
- package/dist/schemas/named-session-readiness-diagnostic.schema.json +37 -0
- package/dist/usage.d.ts.map +1 -1
- package/dist/usage.js +3 -2
- package/dist/usage.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import assert from 'node:assert/strict';
|
|
2
2
|
import { generateKeyPairSync, randomBytes, randomUUID } from 'node:crypto';
|
|
3
|
-
import { mkdir, mkdtemp, readFile, readdir, writeFile } from 'node:fs/promises';
|
|
3
|
+
import { chmod, mkdir, mkdtemp, readFile, readdir, writeFile } from 'node:fs/promises';
|
|
4
4
|
import { tmpdir } from 'node:os';
|
|
5
5
|
import { join } from 'node:path';
|
|
6
6
|
import test from 'node:test';
|
|
@@ -15,6 +15,15 @@ test('durable named registration excludes credentials, grants and foreign shape'
|
|
|
15
15
|
const good = { schema: 'dharma.named-session/v1', name: 'reviewer', bindingId: randomUUID(),
|
|
16
16
|
identity, maximumCostCents: 100, maximumTurnCostCents: 25, enabled: true };
|
|
17
17
|
await saveNamedSession(home, good);
|
|
18
|
+
const paused = { ...good, enabled: false, maintenanceFence: { fenceId: randomUUID(), generation: randomUUID() } };
|
|
19
|
+
await saveNamedSession(home, paused);
|
|
20
|
+
await assert.rejects(saveNamedSession(home, { ...paused, enabled: true }), /registration_invalid/);
|
|
21
|
+
assert.deepEqual(await readNamedSession(home, 'reviewer'), paused);
|
|
22
|
+
const permitted = { ...paused, maintenanceFence: { ...paused.maintenanceFence, restartPermitted: true } };
|
|
23
|
+
await saveNamedSession(home, permitted);
|
|
24
|
+
assert.deepEqual(await readNamedSession(home, 'reviewer'), permitted);
|
|
25
|
+
await assert.rejects(saveNamedSession(home, { ...permitted, enabled: true }), /registration_invalid/);
|
|
26
|
+
await saveNamedSession(home, good);
|
|
18
27
|
for (const invalid of [{ ...good, grant: 'private-fixture' }, { ...good, maximumTurnCostCents: 101 },
|
|
19
28
|
{ ...good, identity: { ...identity, credential: 'private-fixture' } },
|
|
20
29
|
{ ...good, identity: { ...identity, membershipId: 'unbound-email' } }]) {
|
|
@@ -51,7 +60,7 @@ for (const queueFailure of [false, true])
|
|
|
51
60
|
vault.saveProviderSessionBinding(binding);
|
|
52
61
|
const controller = new AbortController(), turns = [], replies = [];
|
|
53
62
|
const listeners = new Set();
|
|
54
|
-
let offered = false, accepted = false, active = 0, maximumActive = 0, closed = false, revision = 0;
|
|
63
|
+
let offered = false, accepted = false, active = 0, maximumActive = 0, closed = false, revision = 0, inboxPolls = 0;
|
|
55
64
|
const questionId = randomUUID(), taskId = randomUUID(), now = new Date();
|
|
56
65
|
const unsigned = { schema: 'dharma.session-question/v1', questionId, taskId,
|
|
57
66
|
organizationId: identity.organizationId, repositoryBindingId: identity.repositoryBindingId,
|
|
@@ -134,8 +143,10 @@ for (const queueFailure of [false, true])
|
|
|
134
143
|
organizationId: undefined, mode: 'bridge_owned', revision: ++revision, state: 'attached',
|
|
135
144
|
leaseUntil: new Date(Date.now() + 60000).toISOString(), replay: false } };
|
|
136
145
|
}
|
|
137
|
-
if (value.action === 'inbox')
|
|
146
|
+
if (value.action === 'inbox') {
|
|
147
|
+
inboxPolls++;
|
|
138
148
|
return { ...base, result: { offers: offered && !accepted ? [question] : [] } };
|
|
149
|
+
}
|
|
139
150
|
if (value.action === 'accept')
|
|
140
151
|
accepted = true;
|
|
141
152
|
if (value.action === 'reply')
|
|
@@ -386,6 +397,40 @@ for (const queueFailure of [false, true])
|
|
|
386
397
|
const completion = JSON.parse((await vault.getBlob(health.lastObservation.completionHash)).toString('utf8'));
|
|
387
398
|
assert.equal((await validateContract(join(import.meta.dirname, 'schemas'), 'https://schemas.dharma-ai.io/provider-session-completion/v1', completion)).ok, true);
|
|
388
399
|
assert.equal((await namedSessionRequest(home, 'implementer', { action: 'status' })).sessionId, binding.sessionId);
|
|
400
|
+
const current = await namedSessionRequest(home, 'implementer', { action: 'status' });
|
|
401
|
+
const generation = current.admission.generation, fenceId = randomUUID();
|
|
402
|
+
const failedFence = randomUUID(), registrationRoot = namedSessionPaths(home, 'implementer').root;
|
|
403
|
+
await chmod(registrationRoot, 0o500);
|
|
404
|
+
try {
|
|
405
|
+
await assert.rejects(namedSessionRequest(home, 'implementer', { action: 'quiesce', fenceId: failedFence, generation }), { message: 'named_session_maintenance_persistence_unconfirmed' });
|
|
406
|
+
assert.equal((await namedSessionRequest(home, 'implementer', { action: 'status' })).admission.state, 'quiesced');
|
|
407
|
+
await assert.rejects(namedSessionRequest(home, 'implementer', { action: 'work', workId: randomUUID(), prompt: 'Do not admit' }), /named_session_quiesced/);
|
|
408
|
+
}
|
|
409
|
+
finally {
|
|
410
|
+
await chmod(registrationRoot, 0o700);
|
|
411
|
+
}
|
|
412
|
+
await namedSessionRequest(home, 'implementer', { action: 'resume', fenceId: failedFence, generation });
|
|
413
|
+
assert.equal((await readNamedSession(home, 'implementer'))?.enabled, true);
|
|
414
|
+
await assert.rejects(namedSessionRequest(home, 'implementer', { action: 'quiesce', fenceId, generation: randomUUID() }), /named_session_generation_changed/);
|
|
415
|
+
const quiesced = await namedSessionRequest(home, 'implementer', { action: 'quiesce', fenceId, generation });
|
|
416
|
+
assert.equal(quiesced.state, 'quiesced');
|
|
417
|
+
assert.equal(quiesced.pending, 0);
|
|
418
|
+
assert.equal(quiesced.automaticRestartEnabled, false);
|
|
419
|
+
assert.equal((await readNamedSession(home, 'implementer'))?.enabled, false);
|
|
420
|
+
assert.deepEqual((await readNamedSession(home, 'implementer'))?.maintenanceFence, { fenceId, generation });
|
|
421
|
+
assert.equal((await validateContract(join(import.meta.dirname, 'schemas'), 'https://schemas.dharma-ai.io/named-session-maintenance/v1', quiesced)).ok, true);
|
|
422
|
+
const pollsAtFence = inboxPolls, budgetAtFence = (await namedSessionRequest(home, 'implementer', { action: 'status' })).budget;
|
|
423
|
+
await assert.rejects(namedSessionRequest(home, 'implementer', { action: 'work', workId: randomUUID(), prompt: 'Do not admit' }), /named_session_quiesced/);
|
|
424
|
+
await assert.rejects(namedSessionRequest(home, 'implementer', { action: 'resume', fenceId: randomUUID(), generation }), /named_session_fence_conflict/);
|
|
425
|
+
await assert.rejects(namedSessionRequest(home, 'implementer', { action: 'stop' }), /named_session_fence_required/);
|
|
426
|
+
await new Promise(resolveWait => setTimeout(resolveWait, 1100));
|
|
427
|
+
assert.equal(inboxPolls, pollsAtFence);
|
|
428
|
+
assert.equal(turns.length, 3);
|
|
429
|
+
assert.equal(active, 0);
|
|
430
|
+
assert.deepEqual((await namedSessionRequest(home, 'implementer', { action: 'status' })).budget, budgetAtFence);
|
|
431
|
+
assert.equal((await namedSessionRequest(home, 'implementer', { action: 'resume', fenceId, generation })).state, 'open');
|
|
432
|
+
assert.equal((await readNamedSession(home, 'implementer'))?.enabled, true);
|
|
433
|
+
assert.equal((await readNamedSession(home, 'implementer'))?.maintenanceFence, undefined);
|
|
389
434
|
const retention = await vault.enforceRawEvidenceRetention({ retentionDays: 30,
|
|
390
435
|
now: new Date(Date.now() + 31 * 86400000) });
|
|
391
436
|
assert.equal(retention.deleted, 2);
|
|
@@ -393,6 +438,16 @@ for (const queueFailure of [false, true])
|
|
|
393
438
|
await assert.rejects(vault.getBlob(String(receipt.nativeEvidence.contentHash)));
|
|
394
439
|
assert.ok(await vault.getBlob(String(receipt.completionHash)));
|
|
395
440
|
}
|
|
441
|
+
const stopFence = randomUUID();
|
|
442
|
+
await namedSessionRequest(home, 'implementer', { action: 'quiesce', fenceId: stopFence, generation });
|
|
443
|
+
await assert.rejects(namedSessionRequest(home, 'implementer', { action: 'stop-drained', fenceId: randomUUID(), generation }), /named_session_fence_conflict/);
|
|
444
|
+
assert.equal((await readNamedSession(home, 'implementer'))?.enabled, false);
|
|
445
|
+
const stopped = await namedSessionRequest(home, 'implementer', { action: 'stop-drained', fenceId: stopFence, generation });
|
|
446
|
+
assert.equal(stopped.state, 'stop_requested');
|
|
447
|
+
await service;
|
|
448
|
+
assert.equal((await readNamedSession(home, 'implementer'))?.enabled, false);
|
|
449
|
+
assert.equal(active, 0);
|
|
450
|
+
assert.equal(turns.length, 3);
|
|
396
451
|
}
|
|
397
452
|
finally {
|
|
398
453
|
controller.abort();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namedSessionService.test.js","sourceRoot":"","sources":["../src/namedSessionService.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAoC,MAAM,0CAA0C,CAAC;AACxG,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC/F,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,gBAAgB,EAC1E,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,IAAI,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;IAC3F,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5F,MAAM,QAAQ,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,mBAAmB,EAAE,UAAU,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE;QACzG,UAAU,EAAE,UAAU,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,OAAgB,EAAE,CAAC;IAC7G,MAAM,IAAI,GAA6B,EAAE,MAAM,EAAE,yBAAyB,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE;QACnH,QAAQ,EAAE,gBAAgB,EAAE,GAAG,EAAE,oBAAoB,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC7E,MAAM,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnC,KAAK,MAAM,OAAO,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,oBAAoB,EAAE,GAAG,EAAE;QAClG,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,iBAAiB,EAAE,EAAE;QACrE,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC;QACzE,MAAM,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAmC,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAC1G,MAAM,CAAC,SAAS,CAAC,MAAM,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC;IACzH,MAAM,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,sBAAsB,CAAC,CAAC;AACnF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gFAAgF,EAAE,GAAG,EAAE;IAC1F,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,EAAE,sBAAsB,CAAC,CAAC;IACtG,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,cAAc,CAAC,CAAC;IACjF,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;AACxF,CAAC,CAAC,CAAC;AAEH,KAAK,MAAM,YAAY,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;IAAE,KAAK,MAAM,QAAQ,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;QAAE,IAAI,CAAC,CAAC,QAAQ;YAC5F,CAAC,CAAC,sFAAsF;YACxF,CAAC,CAAC,yFAAyF,CAAC;cACxF,CAAC,YAAY,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC,CAAC,wCAAwC,CAAC,EACxG,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,EAAE,KAAK,IAAI,EAAE;YACjD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC;YAC5D,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;YACjE,MAAM,QAAQ,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,mBAAmB,EAAE,UAAU,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE;gBACzG,UAAU,EAAE,UAAU,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,OAAgB,EAAE,CAAC;YAC7G,MAAM,OAAO,GAAgC,EAAE,MAAM,EAAE,0CAA0C,EAAE,GAAG,QAAQ;gBAC5G,SAAS,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;gBAC3G,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,wBAAwB,EAAE,EAAE,EAAE,CAAC;YAC/H,MAAM,YAAY,GAA6B,EAAE,MAAM,EAAE,yBAAyB,EAAE,IAAI,EAAE,aAAa;gBACrG,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,EAAE,oBAAoB,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC3G,MAAM,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAAC,MAAM,gBAAgB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YAC/E,MAAM,CAAC,SAAS,CAAC,MAAM,gBAAgB,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC;YAChF,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC/F,KAAK,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;YAC1C,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,EAAE,KAAK,GAAa,EAAE,EAAE,OAAO,GAAa,EAAE,CAAC;YACvF,MAAM,SAAS,GAAG,IAAI,GAAG,EAA4B,CAAC;YACtD,IAAI,OAAO,GAAG,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,aAAa,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE,QAAQ,GAAG,CAAC,CAAC;YACnG,MAAM,UAAU,GAAG,UAAU,EAAE,EAAE,MAAM,GAAG,UAAU,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YACzE,MAAM,QAAQ,GAAG,EAAE,MAAM,EAAE,4BAA4B,EAAE,UAAU,EAAE,MAAM;gBACzE,cAAc,EAAE,QAAQ,CAAC,cAAc,EAAE,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB;gBAC1F,MAAM,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE;gBACnH,MAAM,EAAE,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY;oBAC/G,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;gBAChF,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,wBAAwB;gBAC3D,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,wBAAwB,EAAE,EAAE,EAAE;gBACjG,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC,WAAW,EAAE;gBACvF,KAAK,EAAE,UAAU,EAAE,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC;YACrD,MAAM,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,mBAAmB,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC;YACvF,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,4CAA4C,EAAE,IAAI,EAAE,4BAA4B;gBAC3H,SAAS,EAAE,2BAA2B,EAAE,cAAc,EAAE,QAAQ,CAAC,cAAc,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW;gBAClH,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,SAAS;gBACpH,UAAU,EAAE,UAAU,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,UAAU,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,UAAU,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;gBACzH,eAAe,EAAE,gBAAgB,OAAO,CAAC,SAAS,EAAE,EAAE,cAAc,EAAE,CAAC;gBACvE,QAAQ,EAAE,CAAC,EAAC,IAAI,EAAE,sBAAsB,EAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3E,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;YACvC,MAAM,SAAS,GAAG;gBAChB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,UAAU,KAAK,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC;gBACjC,cAAc,CAAC,QAAkC,IAAI,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7H,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;gBAClD,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,MAA+B;oBAC3D,IAAI,MAAM,KAAK,wBAAwB;wBAAE,OAAO,EAAE,IAAI,EAAE,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;oBAC9H,IAAI,MAAM,KAAK,aAAa;wBAAE,OAAO,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE;oCAC5D,aAAa,EAAE,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;oCACvH,WAAW,EAAE,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;iCACvH,EAAE,EAAE,CAAC;oBACN,IAAI,MAAM,KAAK,aAAa;wBAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;oBACjI,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;wBAC5B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;wBACjD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;wBAC7C,MAAM,MAAM,GAAI,MAAM,CAAC,KAAiC,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC;wBAClE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,mCAAmC,CAAC,EAAE,MAAM,CAAC,WAAW,KAAK,aAAa,CAAC,CAAC;wBACzG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,KAAK,CAAC,CAAC;wBAC7D,IAAI,MAAM,CAAC,WAAW,KAAK,eAAe,EAAE,CAAC;4BAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAkE,CAAC,CAAC;4BAC3G,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gCACpC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gCAAC,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;4BAC9E,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;4BACvE,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;wBAClC,CAAC;;4BAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;wBACzD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;wBAAC,MAAM,EAAE,CAAC;wBAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;wBAClG,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;wBAC5B,MAAM,IAAI,GAAG,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;wBAC5C,UAAU,CAAC,GAAG,EAAE;4BACd,MAAM,EAAE,CAAC;4BACT,IAAI,MAAM,CAAC,WAAW,KAAK,aAAa;gCAAE,KAAK,MAAM,QAAQ,IAAI,SAAS;oCAAE,QAAQ,CAAC;wCACnF,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM;4CACrE,IAAI,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,8BAA8B,EAAE,EAAE;qCAC/E,CAAC,CAAC;4BACH,KAAK,MAAM,QAAQ,IAAI,SAAS;gCAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,SAAS;wCAC1G,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW;4CACvD,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,8BAA8B,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;wBACxH,CAAC,EAAE,EAAE,CAAC,CAAC;wBACP,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC;oBAClC,CAAC;oBACD,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;gBAChC,CAAC;aACF,CAAC;YACF,MAAM,gBAAgB,GAAG,EAAE,KAAK,CAAC,UAAU,CAAC,KAAa,EAAE,IAAa;oBACtE,MAAM,KAAK,GAAG,IAA+B,CAAC;oBAC9C,MAAM,IAAI,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,CAAC,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,CAAC;oBAChG,IAAI,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;wBACxC,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;4BAAE,OAAO,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;wBACvE,OAAO,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,GAAG,QAAQ;gCACzE,cAAc,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU;gCACxF,UAAU,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;oBAC9E,CAAC;oBACD,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO;wBAAE,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;oBAC7G,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ;wBAAE,QAAQ,GAAG,IAAI,CAAC;oBAC/C,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO;wBAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;oBACjE,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC,SAAS;4BAChF,KAAK,EAAE,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;gBACjF,CAAC,EAAE,CAAC;YACJ,qFAAqF;YACrF,MAAM,OAAO,GAAG,gBAAgB,CAAC,UAAU,CAAC;YAC5C,gBAAgB,CAAC,UAAU,GAAG,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBAClD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,IAAI,CAA4B,CAAC;gBACrE,IAAI,MAAM,CAAC,YAAY;oBAAE,OAAQ,MAAM,CAAC,YAAwC,CAAC,cAAc,CAAC;gBAChG,OAAO,MAA6C,CAAC;YACvD,CAAC,CAAC;YACF,IAAI,cAAc,GAAkB,IAAI,EAAE,cAAc,GAAG,KAAK,CAAC;YACjE,MAAM,eAAe,GAAa,EAAE,CAAC;YACrC,IAAI,WAAW,GAAG,CAAC,EAAE,WAAW,GAAG,CAAC,EAAE,iBAAiB,GAAG,KAAK,EAAE,yBAAyB,GAAG,KAAK,EAAE,SAAS,GAAG,CAAC,CAAC;YAClH,MAAM,WAAW,GAAG,EAAC,MAAM,EAAE,yCAAkD,EAAE,gBAAgB,EAAE,IAAa;gBAC9G,QAAQ,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,UAAU,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,UAAU,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;gBACvG,YAAY,EAAE,UAAU,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,UAAU,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAC,CAAC;YAC1H,MAAM,OAAO,GAAG,sBAAsB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM;gBAC3F,GAAG,EAAC,yBAAyB,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;wBAC3C,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;wBAClC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;wBAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;wBAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;wBACpF,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;wBAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;wBAAC,SAAS,EAAE,CAAC;wBAAC,OAAO,WAAW,CAAC;oBAC1G,CAAC,EAAC;gBACF,aAAa,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,EAAE;gBAClI,gBAAgB,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,CAAC,GAAG,CAAC,EAAE,kBAAkB,EAAE,KAAK,IAAI,EAAE;oBACzF,IAAI,yBAAyB;wBAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;oBACzF,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,kBAAkB,EAAE,KAAK,IAAI,EAAE;oBAC7B,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;oBAAC,WAAW,EAAE,CAAC;oBAC3E,IAAI,iBAAiB;wBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;oBACpE,OAAO,EAAC,GAAG,WAAW,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAC,CAAC;gBAChE,CAAC;gBACD,eAAe,EAAE,KAAK,IAAI,EAAE;oBAC1B,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;oBAAC,WAAW,EAAE,CAAC;oBAC3E,IAAI,YAAY;wBAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;oBAClF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,2BAA2B,EAAE,KAAK,EAAE,CAAC;gBACzF,CAAC;gBACD,qBAAqB,EAAE,KAAK,EAAC,OAAO,EAAC,EAAE;oBACrC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;oBAC7C,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBACrC,IAAI,YAAY;wBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;oBACrE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,KAAK,EAAE,CAAC;gBACzE,CAAC;gBACD,aAAa,EAAE,KAAK,EAAC,OAAO,EAAC,EAAE;oBAC7B,IAAI,YAAY;wBAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;oBAChF,OAAO,yBAAyB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE;4BAClE,MAAM,EAAE,+BAA+B,EAAE,cAAc,EAAE,QAAQ,CAAC,cAAc,EAAE,QAAQ,EAAE,UAAU;4BACtG,QAAQ,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC;gCACpF,mBAAmB,EAAE,SAAS,EAAE,uBAAuB,EAAE,SAAS,EAAE,qBAAqB,EAAE,SAAS,EAAE;4BACxG,KAAK,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,QAAQ,CAAC;gCAChF,2BAA2B,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE;4BACxD,MAAM,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;yBACnH,EAAE,CAAC,CAAC;gBACP,CAAC;gBACD,sBAAsB,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;oBAChD,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;oBACnC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;oBAAC,cAAc,GAAG,IAAI,CAAC;oBAC3D,cAAc,GAAG,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC;oBACtC,IAAI,CAAC;wBAAC,OAAO,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBAAC,CAAC;4BAC/E,CAAC;wBAAC,cAAc,GAAG,IAAI,CAAC;wBAAC,cAAc,GAAG,KAAK,CAAC;oBAAC,CAAC;gBAC5D,CAAC,EAAE,CAAC,CAAC;YACP,IAAI,CAAC;gBACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5B,IAAI,CAAC;wBAAC,MAAM,mBAAmB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;wBAAC,MAAM;oBAAC,CAAC;oBACpF,MAAM,CAAC;wBAAC,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;oBAAC,CAAC;gBAC1E,CAAC;gBACD,IAAI,UAA+C,CAAC;gBACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC7B,wEAAwE;oBACxE,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;wBACrG,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;4BAAE,OAAO,IAAI,CAAC;wBACpE,MAAM,KAAK,CAAC;oBACd,CAAC,CAAC,CAAC;oBACH,MAAM,SAAS,GAAG,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;oBACtE,IAAI,SAAS,EAAE,eAAe,EAAE,KAAK,KAAK,MAAM,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC5G,UAAU,GAAG,SAAS,CAAC;wBACvB,MAAM;oBACR,CAAC;oBACD,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;gBAChE,CAAC;gBACD,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,wEAAwE,CAAC,CAAC;gBAChG,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBAC7B,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;gBAC3B,MAAM,OAAO,GAAG,UAAU,CAAC,WAA8F,CAAC;gBAC1H,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC/D,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;gBACzD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,KAAK,CAAC,CAAC;gBAChF,MAAM,qBAAqB,GAAG,UAAU,CAAC,MAAM,CAAC;gBAChD,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAC,MAAM,EAAE,WAAW,EAAC,CAAC,CAAC;gBACxF,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,mCAAmC,CAAC,CAAC;gBACpE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;gBAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC3G,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAiC;oBAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;gBACrH,MAAM,CAAC,KAAK,CAAE,SAAS,CAAC,WAAkC,CAAC,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;gBAC/F,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAC5D,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,mBAAmB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;gBACrH,MAAM,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,mBAAmB,EAAC,CAAC,EAC/G,qCAAqC,CAAC,CAAC;gBACzC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBAC7B,iBAAiB,GAAG,IAAI,CAAC;gBACzB,MAAM,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAC,MAAM,EAAE,WAAW,EAAC,CAAC,EAClF,EAAC,OAAO,EAAE,qCAAqC,EAAC,CAAC,CAAC;gBACpD,iBAAiB,GAAG,KAAK,CAAC;gBAC1B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;gBAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC1C,IAAI,eAAe,GAAG,KAAK,CAAC;gBAC5B,KAAK,CAAC,OAAO,GAAG,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;oBACxC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;wBAAE,eAAe,GAAG,IAAI,CAAC;oBACpG,OAAO,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBAClC,CAAC,CAAC;gBACF,MAAM,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE;oBAClG,MAAM,EAAE,4CAA4C,EAAE,CAAC,EAAE,0CAA0C,CAAC,CAAC;gBACvG,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;gBACrC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAC9B,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;gBACxB,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,mBAAmB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC,CAAC;oBAC5G,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;oBAC9B,MAAM,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ;wBAC9F,MAAM,EAAE,wBAAwB,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;oBACtD,+FAA+F;oBAC/F,MAAM,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAC,CAAC,EAChG,oDAAoD,CAAC,CAAC;oBACxD,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC;oBACxD,UAAU,CAAC,KAAK,EAAE,CAAC;oBACnB,MAAM,OAAO,CAAC;oBACd,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;oBACjG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;oBAC9C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;oBAC/C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;oBAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;oBAChG,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC5F,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;oBAC5C,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;oBAC5D,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;oBACxE,MAAM,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;oBACtD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,eAAe,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;oBACxG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;oBACjE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,eAAe,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAChG,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,uBAAuB,EAAE,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACnF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;oBACvG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;oBAC5C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;oBACvC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,EACvE,0DAA0D,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;oBAClF,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC;oBACxD,OAAO;gBACT,CAAC;gBACD,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC,CAAC;gBACpH,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC,CAAC;gBACnI,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;gBACxD,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;oBACnC,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,CAAC,CAAC;oBACvF,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAC,CAAC,CAAC;oBACxG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,sCAAsC,CAAC,CAAC;oBAAA,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;oBAC9G,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;oBAAA,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;oBAClG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;oBACxD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;oBAAA,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;oBACrG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC,EAAE,KAAK,CAAC,CAAC;oBACpF,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,EACvE,4DAA4D,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;oBAClF,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,mBAAmB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;oBAClH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC9F,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;oBAC5C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;oBAClD,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,OAAO,EAAE,KAAK,CAAC,CAAC;oBACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAyC,CAAC;oBACnE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;oBAC1D,MAAM,CAAC,KAAK,CAAE,QAAQ,CAAC,eAA2C,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;oBACvH,MAAM,eAAe,GAAG,QAAQ,CAAC,eAA0C,CAAC;oBAC5E,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;oBACzE,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;oBACjE,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,EACvE,wDAAwD,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;oBACxF,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;oBAC5C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC,EAAE,KAAK,CAAC,CAAC;oBACtF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;oBACjG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;oBAC7C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;oBAC7D,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBAClD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC;oBACxE,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,EACvE,0DAA0D,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;oBAClF,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,CAAC;oBAC5E,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACrD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC;oBAClG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACpF,CAAC;gBACD,KAAK,MAAM,OAAO,IAAI,CAAC,EAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,EAAC,EAAE,EAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAC;oBACrG,EAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAC,EAAE,EAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAC,CAAC,EAAE,CAAC;oBACvH,MAAM,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,iCAAiC,CAAC,CAAC;gBAC7G,CAAC;gBACD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAC9B,yBAAyB,GAAG,IAAI,CAAC;gBACjC,MAAM,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAC,CAAC,EACtF,EAAC,OAAO,EAAE,iCAAiC,EAAC,CAAC,CAAC;gBAChD,yBAAyB,GAAG,KAAK,CAAC;gBAClC,KAAK,MAAM,KAAK,IAAI,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;oBAChF,IAAI,KAAK,CAAC,MAAM,EAAE;wBAAE,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACnJ,CAAC;gBACD,OAAO,GAAG,IAAI,CAAC;gBACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE;oBAAE,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;gBAC/G,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAChC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;gBAC3B,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;gBAC/B,MAAM,CAAC,SAAS,CAAC,eAAe,EAAE,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC/E,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC9F,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC;gBACzE,MAAM,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,uBAAuB,CAAC,CAAC;gBACtI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAC9B,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,uBAAuB,EAAE,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;gBACjG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;gBAC9C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC,EAAE,KAAK,CAAC,CAAC;gBACrF,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,4CAA4C,CAAC,EAAE,KAAK,CAAC,CAAC;gBACnG,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC7G,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,EACvE,6DAA6D,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBACxF,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,mBAAmB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;gBAClH,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,2BAA2B,CAAC,EAAE,aAAa,EAAE,EAAE;oBAC3E,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC/C,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBACnC,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;oBACnC,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAE,OAAO,CAAC,cAA0C,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;oBAC7G,MAAM,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC;oBAAS,CAAC;gBAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBAAC,MAAM,OAAO,CAAC;gBAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAAC,CAAC;YAC/D,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"namedSessionService.test.js","sourceRoot":"","sources":["../src/namedSessionService.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { LocalProviderSessionIdentity } from '@dharma-ai-labs/agent-fabric-local-vault';
|
|
2
|
+
declare const phases: readonly ["connect", "write", "response", "decode", "remote"];
|
|
3
|
+
declare const reasons: readonly ["socket_missing", "connection_refused", "permission_denied", "connection_reset", "timeout", "transport_error", "connection_closed", "response_too_large", "malformed_response", "remote_rejected"];
|
|
4
|
+
export type NamedSessionTransportPhase = typeof phases[number];
|
|
5
|
+
export type NamedSessionTransportReason = typeof reasons[number];
|
|
6
|
+
export interface NamedSessionTransportDiagnostic {
|
|
7
|
+
readonly schema: 'dharma.named-session-transport-diagnostic/v1';
|
|
8
|
+
readonly phase: NamedSessionTransportPhase;
|
|
9
|
+
readonly reason: NamedSessionTransportReason;
|
|
10
|
+
readonly osCode: string | null;
|
|
11
|
+
readonly remoteCode: string | null;
|
|
12
|
+
}
|
|
13
|
+
export declare function namedSessionReadinessDiagnosticRequested(action: string, flags: Map<string, string | boolean>): boolean;
|
|
14
|
+
/** A closed local observation, never a copy of a socket error or remote body. */
|
|
15
|
+
export declare class NamedSessionTransportFailure extends Error {
|
|
16
|
+
#private;
|
|
17
|
+
constructor(phase: NamedSessionTransportPhase, reason: NamedSessionTransportReason, osCode?: unknown, remoteCode?: unknown);
|
|
18
|
+
get diagnostic(): Readonly<NamedSessionTransportDiagnostic>;
|
|
19
|
+
static fromSocket(phase: NamedSessionTransportPhase, error: unknown): NamedSessionTransportFailure;
|
|
20
|
+
}
|
|
21
|
+
export declare function namedSessionReadinessDiagnostic(input: {
|
|
22
|
+
readonly name: string;
|
|
23
|
+
readonly bindingId: string;
|
|
24
|
+
readonly identity: LocalProviderSessionIdentity;
|
|
25
|
+
}, failure: NamedSessionTransportFailure): Readonly<{
|
|
26
|
+
provider: "codex";
|
|
27
|
+
code: "named_session_unavailable";
|
|
28
|
+
diagnostic: Readonly<NamedSessionTransportDiagnostic>;
|
|
29
|
+
ok: false;
|
|
30
|
+
schema: "dharma.named-session-readiness-diagnostic/v1";
|
|
31
|
+
localOnly: true;
|
|
32
|
+
nativeReady: false;
|
|
33
|
+
receiptId: `${string}-${string}-${string}-${string}-${string}`;
|
|
34
|
+
observedAt: string;
|
|
35
|
+
name: string;
|
|
36
|
+
bindingId: string;
|
|
37
|
+
organizationId: string;
|
|
38
|
+
}>;
|
|
39
|
+
export {};
|
|
40
|
+
//# sourceMappingURL=namedSessionTransportDiagnostic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"namedSessionTransportDiagnostic.d.ts","sourceRoot":"","sources":["../src/namedSessionTransportDiagnostic.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,4BAA4B,EAAC,MAAM,0CAA0C,CAAC;AAE3F,QAAA,MAAM,MAAM,+DAA4D,CAAC;AACzE,QAAA,MAAM,OAAO,8MACgG,CAAC;AAQ9G,MAAM,MAAM,0BAA0B,GAAG,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;AAC/D,MAAM,MAAM,2BAA2B,GAAG,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;AACjE,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,MAAM,EAAE,8CAA8C,CAAC;IAChE,QAAQ,CAAC,KAAK,EAAE,0BAA0B,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,wBAAgB,wCAAwC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAC,MAAM,GAAG,OAAO,CAAC,WAO3G;AAED,iFAAiF;AACjF,qBAAa,4BAA6B,SAAQ,KAAK;;gBAEzC,KAAK,EAAE,0BAA0B,EAAE,MAAM,EAAE,2BAA2B,EAChF,MAAM,GAAE,OAAc,EAAE,UAAU,GAAE,OAAc;IAQpD,IAAI,UAAU,8CAA6B;IAE3C,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,0BAA0B,EAAE,KAAK,EAAE,OAAO;CAUpE;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE;IAAC,QAAQ,CAAC,IAAI,EAAC,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAC,MAAM,CAAC;IACtG,QAAQ,CAAC,QAAQ,EAAC,4BAA4B,CAAA;CAAC,EAAE,OAAO,EAAE,4BAA4B;;;;;;;;;;;;;GAuBvF"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { types } from 'node:util';
|
|
2
|
+
import { randomUUID } from 'node:crypto';
|
|
3
|
+
const phases = ['connect', 'write', 'response', 'decode', 'remote'];
|
|
4
|
+
const reasons = ['socket_missing', 'connection_refused', 'permission_denied', 'connection_reset', 'timeout',
|
|
5
|
+
'transport_error', 'connection_closed', 'response_too_large', 'malformed_response', 'remote_rejected'];
|
|
6
|
+
const osCodes = new Set(['ENOENT', 'ECONNREFUSED', 'EACCES', 'EPERM', 'ECONNRESET', 'ETIMEDOUT', 'EPIPE']);
|
|
7
|
+
const remoteCodes = new Set(['named_session_unavailable', 'named_session_failed', 'named_session_stopped',
|
|
8
|
+
'named_session_busy', 'named_session_quiesced', 'named_session_readiness_unavailable',
|
|
9
|
+
'named_session_readiness_scope_mismatch', 'named_session_native_skill_unavailable',
|
|
10
|
+
'named_session_scope_mismatch', 'named_session_registration_invalid', 'setup_session_invalid',
|
|
11
|
+
'setup_session_scope_changed', 'setup_readiness_stale', 'vault_api_unavailable']);
|
|
12
|
+
export function namedSessionReadinessDiagnosticRequested(action, flags) {
|
|
13
|
+
if (!flags.has('diagnostic'))
|
|
14
|
+
return false;
|
|
15
|
+
if (action !== 'readiness' || flags.get('diagnostic') !== true
|
|
16
|
+
|| [...flags.keys()].some(key => !['name', 'workspace-id', 'diagnostic'].includes(key))) {
|
|
17
|
+
throw new Error('named_session_diagnostic_invalid');
|
|
18
|
+
}
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
/** A closed local observation, never a copy of a socket error or remote body. */
|
|
22
|
+
export class NamedSessionTransportFailure extends Error {
|
|
23
|
+
#diagnostic;
|
|
24
|
+
constructor(phase, reason, osCode = null, remoteCode = null) {
|
|
25
|
+
super('named_session_unavailable');
|
|
26
|
+
this.name = 'NamedSessionTransportFailure';
|
|
27
|
+
this.#diagnostic = Object.freeze({ schema: 'dharma.named-session-transport-diagnostic/v1',
|
|
28
|
+
phase: phases.includes(phase) ? phase : 'response', reason: reasons.includes(reason) ? reason : 'transport_error',
|
|
29
|
+
osCode: typeof osCode === 'string' && osCodes.has(osCode) ? osCode : null,
|
|
30
|
+
remoteCode: typeof remoteCode === 'string' && remoteCodes.has(remoteCode) ? remoteCode : null });
|
|
31
|
+
}
|
|
32
|
+
get diagnostic() { return this.#diagnostic; }
|
|
33
|
+
static fromSocket(phase, error) {
|
|
34
|
+
const field = error && typeof error === 'object' && !types.isProxy(error)
|
|
35
|
+
? Object.getOwnPropertyDescriptor(error, 'code') : undefined;
|
|
36
|
+
const code = field && Object.hasOwn(field, 'value') ? field.value : undefined;
|
|
37
|
+
const reason = code === 'ENOENT' ? 'socket_missing' : code === 'ECONNREFUSED' ? 'connection_refused'
|
|
38
|
+
: code === 'EACCES' || code === 'EPERM' ? 'permission_denied'
|
|
39
|
+
: code === 'ECONNRESET' || code === 'EPIPE' ? 'connection_reset'
|
|
40
|
+
: code === 'ETIMEDOUT' ? 'timeout' : 'transport_error';
|
|
41
|
+
return new NamedSessionTransportFailure(phase, reason, code);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
export function namedSessionReadinessDiagnostic(input, failure) {
|
|
45
|
+
const own = (value, key) => {
|
|
46
|
+
if (!value || typeof value !== 'object' || types.isProxy(value))
|
|
47
|
+
return undefined;
|
|
48
|
+
const field = Object.getOwnPropertyDescriptor(value, key);
|
|
49
|
+
return field && Object.hasOwn(field, 'value') ? field.value : undefined;
|
|
50
|
+
};
|
|
51
|
+
const name = own(input, 'name'), bindingId = own(input, 'bindingId');
|
|
52
|
+
const identity = own(input, 'identity');
|
|
53
|
+
const uuid = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$(?![\s\S])/i;
|
|
54
|
+
const organizationId = own(identity, 'organizationId');
|
|
55
|
+
if (typeof name !== 'string' || !/^[a-z][a-z0-9-]{0,47}$(?![\s\S])/.test(name)
|
|
56
|
+
|| typeof bindingId !== 'string' || !uuid.test(bindingId)
|
|
57
|
+
|| typeof organizationId !== 'string' || !/^[A-Za-z0-9][A-Za-z0-9_-]{0,199}$(?![\s\S])/.test(organizationId)
|
|
58
|
+
|| own(identity, 'provider') !== 'codex')
|
|
59
|
+
throw new Error('named_session_diagnostic_scope_invalid');
|
|
60
|
+
const ids = {};
|
|
61
|
+
for (const key of ['repositoryBindingId', 'workspaceId', 'endpointId', 'membershipId', 'deviceId']) {
|
|
62
|
+
const value = own(identity, key);
|
|
63
|
+
if (typeof value !== 'string' || !uuid.test(value))
|
|
64
|
+
throw new Error('named_session_diagnostic_scope_invalid');
|
|
65
|
+
ids[key] = value;
|
|
66
|
+
}
|
|
67
|
+
return Object.freeze({ ok: false, schema: 'dharma.named-session-readiness-diagnostic/v1', localOnly: true,
|
|
68
|
+
nativeReady: false, receiptId: randomUUID(), observedAt: new Date().toISOString(), name, bindingId,
|
|
69
|
+
organizationId, ...ids, provider: 'codex', code: 'named_session_unavailable', diagnostic: failure.diagnostic });
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=namedSessionTransportDiagnostic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"namedSessionTransportDiagnostic.js","sourceRoot":"","sources":["../src/namedSessionTransportDiagnostic.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"namedSessionTransportDiagnostic.test.d.ts","sourceRoot":"","sources":["../src/namedSessionTransportDiagnostic.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import assert from 'node:assert/strict';
|
|
2
|
+
import { EventEmitter } from 'node:events';
|
|
3
|
+
import net from 'node:net';
|
|
4
|
+
import { syncBuiltinESMExports } from 'node:module';
|
|
5
|
+
import test, { mock } from 'node:test';
|
|
6
|
+
import { namedSessionRequest } from './namedSessionService.js';
|
|
7
|
+
import { commandExitCode } from './index.js';
|
|
8
|
+
import { randomUUID } from 'node:crypto';
|
|
9
|
+
import { join } from 'node:path';
|
|
10
|
+
import { validateContract } from '@dharma-ai-labs/agent-fabric-contracts';
|
|
11
|
+
import { NamedSessionTransportFailure, namedSessionReadinessDiagnostic, namedSessionReadinessDiagnosticRequested } from './namedSessionTransportDiagnostic.js';
|
|
12
|
+
class FixtureSocket extends EventEmitter {
|
|
13
|
+
sent = [];
|
|
14
|
+
timeoutMs = 0;
|
|
15
|
+
destroyed = false;
|
|
16
|
+
setTimeout(value) { this.timeoutMs = value; return this; }
|
|
17
|
+
write(value) { this.sent.push(value); return true; }
|
|
18
|
+
end() { return this; }
|
|
19
|
+
destroy() { this.destroyed = true; return this; }
|
|
20
|
+
}
|
|
21
|
+
function fixture(t, diagnostic = true) {
|
|
22
|
+
const socket = new FixtureSocket();
|
|
23
|
+
const factory = mock.method(net, 'createConnection', () => socket);
|
|
24
|
+
syncBuiltinESMExports();
|
|
25
|
+
t.after(() => { factory.mock.restore(); syncBuiltinESMExports(); });
|
|
26
|
+
const home = process.platform === 'win32' ? 'C:/dhr-ipc-fixture' : '/tmp/dhr-ipc-fixture';
|
|
27
|
+
// The initial regression runs against the legacy three-argument implementation.
|
|
28
|
+
const promise = Reflect.apply(namedSessionRequest, undefined, [home, 'owner', { action: 'readiness' }, ...(diagnostic ? [{ diagnostic: true }] : [])]);
|
|
29
|
+
return { socket, promise, factory };
|
|
30
|
+
}
|
|
31
|
+
function diagnostic(reason, phase, osCode = null, remoteCode = null) {
|
|
32
|
+
return { schema: 'dharma.named-session-transport-diagnostic/v1', phase, reason, osCode, remoteCode };
|
|
33
|
+
}
|
|
34
|
+
for (const [code, reason] of [['ENOENT', 'socket_missing'], ['ECONNREFUSED', 'connection_refused'],
|
|
35
|
+
['EACCES', 'permission_denied'], ['EPERM', 'permission_denied'], ['ECONNRESET', 'connection_reset']]) {
|
|
36
|
+
test('diagnostic distinguishes ' + code + ' without returning private error details', async (t) => {
|
|
37
|
+
const { socket, promise } = fixture(t);
|
|
38
|
+
const failure = assert.rejects(promise, error => {
|
|
39
|
+
assert(error instanceof Error);
|
|
40
|
+
assert.equal(error.message, 'named_session_unavailable');
|
|
41
|
+
assert.deepEqual(error.diagnostic, diagnostic(reason, 'connect', code));
|
|
42
|
+
assert(!JSON.stringify(error).includes('PRIVATE_FIXTURE'));
|
|
43
|
+
assert(!error.stack?.includes('PRIVATE_FIXTURE'));
|
|
44
|
+
return true;
|
|
45
|
+
});
|
|
46
|
+
socket.emit('error', Object.assign(new Error('PRIVATE_FIXTURE'), { code, path: 'PRIVATE_FIXTURE', syscall: 'PRIVATE_FIXTURE' }));
|
|
47
|
+
await failure;
|
|
48
|
+
assert.equal(socket.destroyed, true);
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
test('diagnostic does not modify the existing request or successful response', async (t) => {
|
|
52
|
+
const { socket, promise } = fixture(t);
|
|
53
|
+
socket.emit('connect');
|
|
54
|
+
assert.deepEqual(socket.sent, ['{"action":"readiness"}\n']);
|
|
55
|
+
assert.equal(socket.timeoutMs, 30000);
|
|
56
|
+
const response = { ok: true, bindingId: 'public-fixture' };
|
|
57
|
+
socket.emit('data', Buffer.from(JSON.stringify(response) + '\n'));
|
|
58
|
+
assert.deepEqual(await promise, response);
|
|
59
|
+
});
|
|
60
|
+
test('timeout and close remain distinct from connection refusal', async (t) => {
|
|
61
|
+
const { socket, promise } = fixture(t);
|
|
62
|
+
const failure = assert.rejects(promise, error => {
|
|
63
|
+
assert.deepEqual(error.diagnostic, diagnostic('timeout', 'response'));
|
|
64
|
+
return true;
|
|
65
|
+
});
|
|
66
|
+
socket.emit('connect');
|
|
67
|
+
socket.emit('timeout');
|
|
68
|
+
await failure;
|
|
69
|
+
});
|
|
70
|
+
test('close before any response is explicit without pretending the service exited', async (t) => {
|
|
71
|
+
const { socket, promise } = fixture(t);
|
|
72
|
+
const failure = assert.rejects(promise, error => {
|
|
73
|
+
assert.deepEqual(error.diagnostic, diagnostic('connection_closed', 'response'));
|
|
74
|
+
return true;
|
|
75
|
+
});
|
|
76
|
+
socket.emit('connect');
|
|
77
|
+
socket.emit('close');
|
|
78
|
+
await failure;
|
|
79
|
+
});
|
|
80
|
+
for (const [bytes, reason, phase] of [[Buffer.from('PRIVATE_FIXTURE\n'), 'malformed_response', 'decode'],
|
|
81
|
+
[Buffer.alloc(50001), 'response_too_large', 'response']]) {
|
|
82
|
+
test('diagnostic safely classifies ' + reason, async (t) => {
|
|
83
|
+
const { socket, promise } = fixture(t);
|
|
84
|
+
const failure = assert.rejects(promise, error => {
|
|
85
|
+
assert.deepEqual(error.diagnostic, diagnostic(reason, phase));
|
|
86
|
+
assert(!JSON.stringify(error).includes('PRIVATE_FIXTURE'));
|
|
87
|
+
return true;
|
|
88
|
+
});
|
|
89
|
+
socket.emit('connect');
|
|
90
|
+
socket.emit('data', bytes);
|
|
91
|
+
await failure;
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
for (const code of ['named_session_stopped', 'vault_api_unavailable', 'PRIVATE_FIXTURE']) {
|
|
95
|
+
test('remote failure classification is closed for ' + code, async (t) => {
|
|
96
|
+
const { socket, promise } = fixture(t);
|
|
97
|
+
const failure = assert.rejects(promise, error => {
|
|
98
|
+
assert.deepEqual(error.diagnostic, diagnostic('remote_rejected', 'remote', null, code === 'PRIVATE_FIXTURE' ? null : code));
|
|
99
|
+
assert(!JSON.stringify(error).includes('PRIVATE_FIXTURE'));
|
|
100
|
+
return true;
|
|
101
|
+
});
|
|
102
|
+
socket.emit('connect');
|
|
103
|
+
socket.emit('data', Buffer.from(JSON.stringify({ ok: false, code, private: 'PRIVATE_FIXTURE' }) + '\n'));
|
|
104
|
+
await failure;
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
test('legacy callers keep the generic unavailable error without diagnostic fields', async (t) => {
|
|
108
|
+
const { socket, promise } = fixture(t, false);
|
|
109
|
+
const failure = assert.rejects(promise, error => {
|
|
110
|
+
assert(error instanceof Error);
|
|
111
|
+
assert.equal(error.message, 'named_session_unavailable');
|
|
112
|
+
assert.equal(error.diagnostic, undefined);
|
|
113
|
+
return true;
|
|
114
|
+
});
|
|
115
|
+
socket.emit('error', Object.assign(new Error('PRIVATE_FIXTURE'), { code: 'EACCES' }));
|
|
116
|
+
await failure;
|
|
117
|
+
});
|
|
118
|
+
test('a failed readiness diagnostic cannot exit successfully', () => {
|
|
119
|
+
assert.equal(commandExitCode(['sessions', 'readiness', '--diagnostic'], { ok: false, schema: 'dharma.named-session-readiness-diagnostic/v1' }), 2);
|
|
120
|
+
});
|
|
121
|
+
test('diagnostic success exit requires the actual readiness response, not an arbitrary ok flag', () => {
|
|
122
|
+
assert.equal(commandExitCode(['sessions', 'readiness', '--diagnostic'], { ok: true }), 2);
|
|
123
|
+
assert.equal(commandExitCode(['sessions', 'readiness', '--diagnostic'], { ok: true, schema: 'dharma.named-session-readiness/v1' }), 0);
|
|
124
|
+
});
|
|
125
|
+
test('diagnostic option is confined to readiness and cannot be combined with write options', () => {
|
|
126
|
+
const valid = new Map([['name', 'owner'], ['workspace-id', randomUUID()], ['diagnostic', true]]);
|
|
127
|
+
assert.equal(namedSessionReadinessDiagnosticRequested('readiness', valid), true);
|
|
128
|
+
assert.equal(namedSessionReadinessDiagnosticRequested('start', new Map([['apply', true]])), false);
|
|
129
|
+
for (const action of ['start', 'serve', 'work', 'stop', 'ask', 'read', 'quiesce', 'resume', 'audit']) {
|
|
130
|
+
assert.throws(() => namedSessionReadinessDiagnosticRequested(action, valid), /named_session_diagnostic_invalid/);
|
|
131
|
+
}
|
|
132
|
+
for (const [key, value] of [['apply', true], ['prompt', 'PRIVATE_FIXTURE'], ['endpoint', 'foreign'], ['diagnostic', 'true']]) {
|
|
133
|
+
assert.throws(() => namedSessionReadinessDiagnosticRequested('readiness', new Map([...valid, [key, value]])), /named_session_diagnostic_invalid/);
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
function scopeFixture() {
|
|
137
|
+
return { name: 'owner', bindingId: randomUUID(), identity: { organizationId: 'org_synthetic', repositoryBindingId: randomUUID(),
|
|
138
|
+
workspaceId: randomUUID(), endpointId: randomUUID(), membershipId: randomUUID(), deviceId: randomUUID(), provider: 'codex' } };
|
|
139
|
+
}
|
|
140
|
+
test('local failure receipt is scoped, closed-schema and explicitly not native readiness', async () => {
|
|
141
|
+
const scope = scopeFixture(), failure = NamedSessionTransportFailure.fromSocket('connect', { code: 'EACCES', private: 'PRIVATE_FIXTURE' });
|
|
142
|
+
const input = { ...scope, private: 'PRIVATE_FIXTURE' };
|
|
143
|
+
const report = namedSessionReadinessDiagnostic(input, failure);
|
|
144
|
+
assert.equal(report.ok, false);
|
|
145
|
+
assert.equal(report.localOnly, true);
|
|
146
|
+
assert.equal(report.nativeReady, false);
|
|
147
|
+
assert.equal(report.organizationId, scope.identity.organizationId);
|
|
148
|
+
assert.equal(report.bindingId, scope.bindingId);
|
|
149
|
+
assert(!JSON.stringify(report).includes('PRIVATE_FIXTURE'));
|
|
150
|
+
const directory = join(import.meta.dirname, '../../../schemas'), id = 'https://schemas.dharma-ai.io/named-session-readiness-diagnostic/v1';
|
|
151
|
+
assert.equal((await validateContract(directory, id, report)).ok, true);
|
|
152
|
+
for (const changed of [{ ...report, nativeReady: true }, { ...report, private: 'PRIVATE_FIXTURE' },
|
|
153
|
+
{ ...report, diagnostic: { ...report.diagnostic, path: 'PRIVATE_FIXTURE' } }]) {
|
|
154
|
+
assert.equal((await validateContract(directory, id, changed)).ok, false);
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
test('failure receipt refuses missing or accessor-based identity without invoking getters', () => {
|
|
158
|
+
const scope = scopeFixture(), failure = new NamedSessionTransportFailure('response', 'timeout');
|
|
159
|
+
let reads = 0;
|
|
160
|
+
assert.throws(() => namedSessionReadinessDiagnostic({ ...scope, bindingId: 'foreign' }, failure), /diagnostic_scope_invalid/);
|
|
161
|
+
const identity = { ...scope.identity };
|
|
162
|
+
Object.defineProperty(identity, 'endpointId', { get() { reads++; return randomUUID(); } });
|
|
163
|
+
assert.throws(() => namedSessionReadinessDiagnostic({ ...scope, identity }, failure), /diagnostic_scope_invalid/);
|
|
164
|
+
assert.equal(reads, 0);
|
|
165
|
+
});
|
|
166
|
+
test('socket diagnostics do not read getters or proxies on foreign error objects', () => {
|
|
167
|
+
let reads = 0;
|
|
168
|
+
const error = {};
|
|
169
|
+
Object.defineProperty(error, 'code', { get() { reads++; return 'EACCES'; } });
|
|
170
|
+
const proxy = new Proxy({}, { get() { reads++; throw new Error('PRIVATE_FIXTURE'); }, getOwnPropertyDescriptor() { reads++; throw new Error('PRIVATE_FIXTURE'); } });
|
|
171
|
+
for (const value of [error, proxy]) {
|
|
172
|
+
const failure = NamedSessionTransportFailure.fromSocket('connect', value);
|
|
173
|
+
assert.equal(failure.diagnostic.reason, 'transport_error');
|
|
174
|
+
assert.equal(failure.diagnostic.osCode, null);
|
|
175
|
+
}
|
|
176
|
+
assert.equal(reads, 0);
|
|
177
|
+
});
|
|
178
|
+
test('a settled failure never reconnects or writes a late duplicate request', async (t) => {
|
|
179
|
+
const { socket, promise, factory } = fixture(t);
|
|
180
|
+
const failure = assert.rejects(promise, /named_session_unavailable/);
|
|
181
|
+
socket.emit('error', Object.assign(new Error('PRIVATE_FIXTURE'), { code: 'ECONNREFUSED' }));
|
|
182
|
+
await failure;
|
|
183
|
+
socket.emit('connect');
|
|
184
|
+
socket.emit('data', Buffer.from('{"ok":true}\n'));
|
|
185
|
+
assert.equal(factory.mock.calls.length, 1);
|
|
186
|
+
assert.equal(socket.sent.length, 0);
|
|
187
|
+
});
|
|
188
|
+
//# sourceMappingURL=namedSessionTransportDiagnostic.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"namedSessionTransportDiagnostic.test.js","sourceRoot":"","sources":["../src/namedSessionTransportDiagnostic.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ export declare function reconcileProviderSessionReply(input: {
|
|
|
11
11
|
questionId: string;
|
|
12
12
|
taskId: string;
|
|
13
13
|
completionHash: string;
|
|
14
|
-
reasonCode: "
|
|
14
|
+
reasonCode: "content_or_contract_blocked" | "receipt_invalid" | "delivery_unconfirmed";
|
|
15
15
|
dispositionHash?: undefined;
|
|
16
16
|
delivered?: undefined;
|
|
17
17
|
replyReceiptHash?: undefined;
|