@dharma-ai-labs/agent-fabric 0.2.119 → 0.2.121

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/AGENT_FABRIC_ONBOARDING.md +4 -0
  2. package/README.md +46 -0
  3. package/dist/demoEnrollment.d.ts.map +1 -1
  4. package/dist/demoEnrollment.js +81 -9
  5. package/dist/demoEnrollment.js.map +1 -1
  6. package/dist/demoEnrollment.test.js +185 -0
  7. package/dist/demoEnrollment.test.js.map +1 -1
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +626 -378
  10. package/dist/index.js.map +1 -1
  11. package/dist/index.test.js +18 -2
  12. package/dist/index.test.js.map +1 -1
  13. package/dist/legacyInstallerRecovery.d.ts +30 -0
  14. package/dist/legacyInstallerRecovery.d.ts.map +1 -0
  15. package/dist/legacyInstallerRecovery.js +107 -0
  16. package/dist/legacyInstallerRecovery.js.map +1 -0
  17. package/dist/legacyInstallerRecovery.test.d.ts +2 -0
  18. package/dist/legacyInstallerRecovery.test.d.ts.map +1 -0
  19. package/dist/legacyInstallerRecovery.test.js +126 -0
  20. package/dist/legacyInstallerRecovery.test.js.map +1 -0
  21. package/dist/relayAutostart.d.ts +1 -0
  22. package/dist/relayAutostart.d.ts.map +1 -1
  23. package/dist/relayAutostart.js +12 -3
  24. package/dist/relayAutostart.js.map +1 -1
  25. package/dist/relayAutostart.test.js +37 -0
  26. package/dist/relayAutostart.test.js.map +1 -1
  27. package/dist/relayRuntimeUpgrade.test.js +13 -2
  28. package/dist/relayRuntimeUpgrade.test.js.map +1 -1
  29. package/dist/repositoryInstallerFiles.d.ts +2 -1
  30. package/dist/repositoryInstallerFiles.d.ts.map +1 -1
  31. package/dist/repositoryInstallerFiles.js +6 -3
  32. package/dist/repositoryInstallerFiles.js.map +1 -1
  33. package/dist/repositoryOnboardingCaller.test.js +87 -1
  34. package/dist/repositoryOnboardingCaller.test.js.map +1 -1
  35. package/dist/repositoryOnboardingFlow.test.js +4 -3
  36. package/dist/repositoryOnboardingFlow.test.js.map +1 -1
  37. package/dist/repositoryRelaySupervisor.d.ts +39 -0
  38. package/dist/repositoryRelaySupervisor.d.ts.map +1 -0
  39. package/dist/repositoryRelaySupervisor.js +145 -0
  40. package/dist/repositoryRelaySupervisor.js.map +1 -0
  41. package/dist/repositoryRelaySupervisor.test.d.ts +2 -0
  42. package/dist/repositoryRelaySupervisor.test.d.ts.map +1 -0
  43. package/dist/repositoryRelaySupervisor.test.js +191 -0
  44. package/dist/repositoryRelaySupervisor.test.js.map +1 -0
  45. package/dist/skillPreparationCache.test.js +8 -4
  46. package/dist/skillPreparationCache.test.js.map +1 -1
  47. package/dist/skillPreparationCaller.test.js +4 -2
  48. package/dist/skillPreparationCaller.test.js.map +1 -1
  49. package/dist/usage.d.ts +1 -1
  50. package/dist/usage.d.ts.map +1 -1
  51. package/dist/usage.js +1 -1
  52. package/dist/usage.js.map +1 -1
  53. package/dist/workspaceRegistry.d.ts +6 -0
  54. package/dist/workspaceRegistry.d.ts.map +1 -0
  55. package/dist/workspaceRegistry.js +24 -0
  56. package/dist/workspaceRegistry.js.map +1 -0
  57. package/dist/workspaceRegistry.test.d.ts +2 -0
  58. package/dist/workspaceRegistry.test.d.ts.map +1 -0
  59. package/dist/workspaceRegistry.test.js +57 -0
  60. package/dist/workspaceRegistry.test.js.map +1 -0
  61. package/dist/workspaceRegistryRecovery.d.ts +60 -0
  62. package/dist/workspaceRegistryRecovery.d.ts.map +1 -0
  63. package/dist/workspaceRegistryRecovery.js +167 -0
  64. package/dist/workspaceRegistryRecovery.js.map +1 -0
  65. package/dist/workspaceRegistryRecovery.test.d.ts +2 -0
  66. package/dist/workspaceRegistryRecovery.test.d.ts.map +1 -0
  67. package/dist/workspaceRegistryRecovery.test.js +111 -0
  68. package/dist/workspaceRegistryRecovery.test.js.map +1 -0
  69. package/package.json +1 -1
@@ -0,0 +1,145 @@
1
+ import { isAbsolute, resolve, win32 } from 'node:path';
2
+ import { selectDeviceWorkspace } from './onboardingWorkspace.js';
3
+ import { relayRestartDelayMs } from './relaySupervisor.js';
4
+ export async function selectRepositoryRelayRegistrations(records, enrollment, readPolicy) {
5
+ const result = [];
6
+ for (const path of new Set(records.filter(row => row.organizationId === enrollment.organizationId).map(row => row.path))) {
7
+ const local = selectDeviceWorkspace(records, { ...enrollment, path });
8
+ if (!local)
9
+ continue;
10
+ const policyPath = resolve(path, '.dharma', 'approved-policy.json');
11
+ let policy;
12
+ try {
13
+ policy = await readPolicy(policyPath);
14
+ }
15
+ catch {
16
+ continue;
17
+ }
18
+ const canonical = records.filter(row => row.workspaceId === policy.serverAuthorization?.workspaceId
19
+ && row.organizationId === enrollment.organizationId && row.path === path
20
+ && row.routeHash === local.routeHash && row.repositoryRemoteHash === local.repositoryRemoteHash);
21
+ if (policy.organizationId === enrollment.organizationId && canonical.length === 1) {
22
+ result.push({ workspaceId: canonical[0].workspaceId, policyPath });
23
+ }
24
+ }
25
+ return registrations(result);
26
+ }
27
+ export function repositoryRelayObservationReady(input) {
28
+ const value = input.observation;
29
+ const age = value && typeof value.at === 'string' ? (input.now ?? Date.now()) - Date.parse(value.at) : NaN;
30
+ return Number.isSafeInteger(input.pid) && input.pid > 0 && value?.workspaceId === input.workspaceId
31
+ && value.version === input.version && value.pid === input.pid
32
+ && Number.isFinite(age) && age >= 0 && age <= 300_000;
33
+ }
34
+ export function serializeRelayWork() {
35
+ let tail = Promise.resolve();
36
+ return (operation) => {
37
+ const result = tail.then(operation);
38
+ tail = result.then(() => undefined, () => undefined);
39
+ return result;
40
+ };
41
+ }
42
+ function registrations(rows) {
43
+ if (rows.length > 50)
44
+ throw new Error('Too many registered repositories.');
45
+ const ids = new Set();
46
+ for (const row of rows) {
47
+ if (!row || typeof row.workspaceId !== 'string' || !row.workspaceId || row.workspaceId.length > 128
48
+ || /[\r\n\0]/.test(row.workspaceId) || typeof row.policyPath !== 'string'
49
+ || row.policyPath.length > 4096 || /[\r\n\0]/.test(row.policyPath)
50
+ || !(isAbsolute(row.policyPath) || win32.isAbsolute(row.policyPath)) || ids.has(row.workspaceId)) {
51
+ throw new Error('Invalid repository registration.');
52
+ }
53
+ ids.add(row.workspaceId);
54
+ }
55
+ return [...rows].sort((a, b) => a.workspaceId.localeCompare(b.workspaceId));
56
+ }
57
+ export async function waitForRelayRefresh(ms, signal) {
58
+ if (signal.aborted)
59
+ return;
60
+ await new Promise(accept => {
61
+ const finish = () => { clearTimeout(timer); signal.removeEventListener('abort', finish); accept(); };
62
+ const timer = setTimeout(finish, ms);
63
+ signal.addEventListener('abort', finish, { once: true });
64
+ if (signal.aborted)
65
+ finish();
66
+ });
67
+ }
68
+ // One device relay owns multiple independently authorized repository loops.
69
+ // The caller authenticates every registration and serializes task execution.
70
+ export async function runRegisteredRepositoryRelays(input) {
71
+ const now = input.now ?? Date.now;
72
+ const wait = input.wait ?? waitForRelayRefresh;
73
+ const workers = new Map();
74
+ const failures = new Map();
75
+ // Diagnostics must never turn a caught worker failure into an unhandled rejection.
76
+ const observe = (event) => { try {
77
+ input.observe?.(event);
78
+ }
79
+ catch { /* Preserve worker lifecycle. */ } };
80
+ const abort = () => { for (const worker of workers.values())
81
+ worker.controller.abort(); };
82
+ input.signal.addEventListener('abort', abort, { once: true });
83
+ try {
84
+ while (!input.signal.aborted) {
85
+ let rows;
86
+ try {
87
+ rows = registrations(await input.list());
88
+ }
89
+ catch {
90
+ abort();
91
+ observe({ workspaceId: null, code: 'repository_registry_unavailable' });
92
+ await wait(1000, input.signal);
93
+ continue;
94
+ }
95
+ if (input.signal.aborted)
96
+ break;
97
+ for (const [id, worker] of workers) {
98
+ const current = rows.find(row => row.workspaceId === id);
99
+ if (!current || current.policyPath !== worker.row.policyPath)
100
+ worker.controller.abort();
101
+ if (!worker.done)
102
+ continue;
103
+ workers.delete(id);
104
+ if (worker.failed && !worker.controller.signal.aborted) {
105
+ const count = (failures.get(id)?.count ?? 0) + 1;
106
+ failures.set(id, { count, retryAt: now() + relayRestartDelayMs(count) });
107
+ }
108
+ else
109
+ failures.delete(id);
110
+ }
111
+ for (const row of rows) {
112
+ if (workers.has(row.workspaceId) || (failures.get(row.workspaceId)?.retryAt ?? 0) > now())
113
+ continue;
114
+ const controller = new AbortController();
115
+ const worker = { row, controller, done: false, failed: false, flight: Promise.resolve() };
116
+ workers.set(row.workspaceId, worker);
117
+ worker.flight = Promise.resolve().then(async () => {
118
+ if (controller.signal.aborted || input.signal.aborted)
119
+ return;
120
+ try {
121
+ await input.run(row, controller.signal);
122
+ if (!controller.signal.aborted)
123
+ worker.failed = true;
124
+ }
125
+ catch {
126
+ if (!controller.signal.aborted)
127
+ worker.failed = true;
128
+ }
129
+ finally {
130
+ worker.done = true;
131
+ if (worker.failed)
132
+ observe({ workspaceId: row.workspaceId, code: 'repository_relay_failed' });
133
+ }
134
+ });
135
+ }
136
+ await wait(1000, input.signal);
137
+ }
138
+ }
139
+ finally {
140
+ abort();
141
+ await Promise.allSettled([...workers.values()].map(worker => worker.flight));
142
+ input.signal.removeEventListener('abort', abort);
143
+ }
144
+ }
145
+ //# sourceMappingURL=repositoryRelaySupervisor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repositoryRelaySupervisor.js","sourceRoot":"","sources":["../src/repositoryRelaySupervisor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=repositoryRelaySupervisor.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repositoryRelaySupervisor.test.d.ts","sourceRoot":"","sources":["../src/repositoryRelaySupervisor.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,191 @@
1
+ import assert from 'node:assert/strict';
2
+ import { resolve } from 'node:path';
3
+ import test from 'node:test';
4
+ import { repositoryRelayObservationReady, runRegisteredRepositoryRelays, selectRepositoryRelayRegistrations, serializeRelayWork, waitForRelayRefresh } from './repositoryRelaySupervisor.js';
5
+ import { workspaceIdForDevice } from './onboardingWorkspace.js';
6
+ function deferred() {
7
+ let resolve;
8
+ const promise = new Promise(accept => { resolve = accept; });
9
+ return { promise, resolve };
10
+ }
11
+ const a = { workspaceId: 'a', policyPath: '/a/.dharma/approved-policy.json' };
12
+ const b = { workspaceId: 'b', policyPath: '/b/.dharma/approved-policy.json' };
13
+ test('two repository workers coexist; adding one never replaces the original worker', async () => {
14
+ const controller = new AbortController();
15
+ let rows = [a];
16
+ const seen = [];
17
+ const releases = new Map();
18
+ let tick = 0;
19
+ await runRegisteredRepositoryRelays({ signal: controller.signal, list: async () => rows,
20
+ run: async (row, signal) => {
21
+ seen.push(row.workspaceId);
22
+ await new Promise(accept => {
23
+ releases.set(row.workspaceId, accept);
24
+ signal.addEventListener('abort', () => accept(), { once: true });
25
+ });
26
+ },
27
+ wait: async () => {
28
+ await Promise.resolve();
29
+ if (++tick === 1)
30
+ rows = [a, b];
31
+ if (tick === 2) {
32
+ assert.deepEqual(seen, ['a', 'b']);
33
+ assert.equal(releases.size, 2);
34
+ controller.abort();
35
+ }
36
+ }, });
37
+ assert.deepEqual(seen, ['a', 'b']);
38
+ });
39
+ test('a revoked repository stops without disrupting another registered repository', async () => {
40
+ const controller = new AbortController();
41
+ let rows = [a, b], tick = 0;
42
+ const aborted = [];
43
+ await runRegisteredRepositoryRelays({ signal: controller.signal, list: async () => rows,
44
+ run: async (row, signal) => new Promise(accept => {
45
+ signal.addEventListener('abort', () => { aborted.push(row.workspaceId); accept(); }, { once: true });
46
+ }), wait: async () => {
47
+ await Promise.resolve();
48
+ if (++tick === 1)
49
+ rows = [b];
50
+ if (tick === 2) {
51
+ assert.deepEqual(aborted, ['a']);
52
+ controller.abort();
53
+ }
54
+ }, });
55
+ assert.deepEqual(aborted, ['a', 'b']);
56
+ });
57
+ test('an unavailable registry fails closed for every worker without leaking diagnostics', async () => {
58
+ const controller = new AbortController();
59
+ let reads = 0, tick = 0;
60
+ const events = [], aborted = [];
61
+ await runRegisteredRepositoryRelays({ signal: controller.signal,
62
+ list: async () => { if (++reads > 1)
63
+ throw new Error('private diagnostic'); return [a]; },
64
+ run: async (row, signal) => new Promise(accept => {
65
+ signal.addEventListener('abort', () => { aborted.push(row.workspaceId); accept(); }, { once: true });
66
+ }), observe: event => { events.push(event); }, wait: async () => {
67
+ await Promise.resolve();
68
+ if (++tick === 2)
69
+ controller.abort();
70
+ }, });
71
+ assert.deepEqual(aborted, ['a']);
72
+ assert.ok(!JSON.stringify(events).includes('private diagnostic'));
73
+ });
74
+ test('a failed repository backs off while a healthy worker remains running', async () => {
75
+ const controller = new AbortController();
76
+ const started = [], events = [];
77
+ let tick = 0;
78
+ await runRegisteredRepositoryRelays({ signal: controller.signal, list: async () => [a, b], now: () => 0,
79
+ run: async (row, signal) => {
80
+ started.push(row.workspaceId);
81
+ if (row.workspaceId === 'a')
82
+ throw new Error('secret');
83
+ await new Promise(accept => signal.addEventListener('abort', () => accept(), { once: true }));
84
+ }, observe: event => { events.push(event); }, wait: async () => {
85
+ await Promise.resolve();
86
+ await Promise.resolve();
87
+ if (++tick === 4)
88
+ controller.abort();
89
+ }, });
90
+ assert.deepEqual(started, ['a', 'b']);
91
+ assert.ok(events.some(event => event.code === 'repository_relay_failed'));
92
+ });
93
+ test('changed policy paths cannot replace a worker before its shutdown finishes', async () => {
94
+ const controller = new AbortController();
95
+ const release = deferred();
96
+ const starts = [];
97
+ let rows = [a], tick = 0;
98
+ await runRegisteredRepositoryRelays({ signal: controller.signal, list: async () => rows,
99
+ run: async (row) => { starts.push(row.policyPath); await release.promise; }, wait: async () => {
100
+ await Promise.resolve();
101
+ if (++tick === 1)
102
+ rows = [{ ...a, policyPath: '/changed/.dharma/approved-policy.json' }];
103
+ if (tick === 2) {
104
+ assert.deepEqual(starts, [a.policyPath]);
105
+ controller.abort();
106
+ release.resolve();
107
+ }
108
+ },
109
+ });
110
+ });
111
+ test('malformed or duplicate registrations never start a worker', async () => {
112
+ for (const rows of [[a, a], [{ ...a, policyPath: '../foreign' }], [{ ...a, workspaceId: '' }], Array(51).fill(a)]) {
113
+ const controller = new AbortController();
114
+ let started = false;
115
+ await runRegisteredRepositoryRelays({ signal: controller.signal, list: async () => rows,
116
+ run: async () => { started = true; }, wait: async () => controller.abort() });
117
+ assert.equal(started, false);
118
+ }
119
+ });
120
+ test('device task turns serialize across repositories and release after failure', async () => {
121
+ const serial = serializeRelayWork();
122
+ const release = deferred();
123
+ const order = [];
124
+ const first = serial(async () => { order.push('a'); await release.promise; throw new Error('failed'); });
125
+ const second = serial(async () => { order.push('b'); return 2; });
126
+ await Promise.resolve();
127
+ await Promise.resolve();
128
+ assert.deepEqual(order, ['a']);
129
+ release.resolve();
130
+ await assert.rejects(first, /failed/);
131
+ assert.equal(await second, 2);
132
+ assert.deepEqual(order, ['a', 'b']);
133
+ });
134
+ test('diagnostic failure never escapes a caught worker rejection', async () => {
135
+ const controller = new AbortController();
136
+ let tick = 0;
137
+ await runRegisteredRepositoryRelays({ signal: controller.signal, list: async () => [a],
138
+ run: async () => { throw new Error('private'); },
139
+ observe: () => { throw new Error('broken output'); }, wait: async () => {
140
+ await Promise.resolve();
141
+ await Promise.resolve();
142
+ if (++tick === 3)
143
+ controller.abort();
144
+ } });
145
+ });
146
+ test('stopping interrupts a long refresh delay and an already stopped supervisor starts nothing', async () => {
147
+ const controller = new AbortController();
148
+ const waiting = waitForRelayRefresh(60_000, controller.signal);
149
+ controller.abort();
150
+ await waiting;
151
+ await runRegisteredRepositoryRelays({ signal: controller.signal,
152
+ list: async () => { throw new Error('should not read'); },
153
+ run: async () => { throw new Error('should not start'); } });
154
+ });
155
+ test('readiness is scoped to the actual repository, executable and live receiver PID', () => {
156
+ const at = '2026-09-29T16:00:00.000Z';
157
+ const observation = { at, workspaceId: 'a', version: '0.2.119', pid: 50 };
158
+ const input = { observation, workspaceId: 'a', version: '0.2.119', pid: 50, now: Date.parse(at) + 1000 };
159
+ assert.equal(repositoryRelayObservationReady(input), true);
160
+ for (const changed of [{ workspaceId: 'b' }, { version: '0.2.118' }, { pid: 51 }, { pid: 0 },
161
+ { observation: null }, { now: Date.parse(at) - 1 }, { now: Date.parse(at) + 300_001 },
162
+ { observation: { ...observation, at: 'invalid' } }]) {
163
+ assert.equal(repositoryRelayObservationReady({ ...input, ...changed }), false);
164
+ }
165
+ });
166
+ test('only current-device aliases with matching canonical routes and organization policies are selected', async () => {
167
+ const enrollment = { organizationId: 'org_a', deviceId: 'device_a' };
168
+ const make = (path, workspaceId, fields = {}) => ({ path, workspaceId,
169
+ organizationId: enrollment.organizationId, routeHash: `route:${path}`, repositoryRemoteHash: 'remote', ...fields });
170
+ const alias = (path) => make(path, workspaceIdForDevice({ ...enrollment, path }));
171
+ const rows = [alias('/a'), make('/a', 'canonical_a'), alias('/b'), make('/b', 'canonical_b'),
172
+ make('/foreign', 'foreign', { organizationId: 'org_foreign' }),
173
+ make('/other-device', workspaceIdForDevice({ ...enrollment, deviceId: 'another', path: '/other-device' })),
174
+ make('/other-device', 'canonical_other'), alias('/wrong-route'), make('/wrong-route', 'canonical_wrong', { routeHash: 'different' }),
175
+ alias('/wrong-policy'), make('/wrong-policy', 'canonical_policy'), alias('/missing'), make('/missing', 'canonical_missing')];
176
+ const selected = await selectRepositoryRelayRegistrations(rows, enrollment, async (path) => {
177
+ if (path === resolve('/missing', '.dharma', 'approved-policy.json'))
178
+ throw new Error('private missing path');
179
+ return { organizationId: path === resolve('/wrong-policy', '.dharma', 'approved-policy.json') ? 'org_foreign' : enrollment.organizationId,
180
+ serverAuthorization: { workspaceId: path === resolve('/a', '.dharma', 'approved-policy.json') ? 'canonical_a'
181
+ : path === resolve('/b', '.dharma', 'approved-policy.json') ? 'canonical_b'
182
+ : path === resolve('/wrong-route', '.dharma', 'approved-policy.json') ? 'canonical_wrong' : 'canonical_policy' } };
183
+ });
184
+ assert.deepEqual(selected.map(row => row.workspaceId), ['canonical_a', 'canonical_b']);
185
+ assert.deepEqual(rows[0], alias('/a'));
186
+ assert.deepEqual(await selectRepositoryRelayRegistrations([alias('/a'), make('/a', 'canonical_a'),
187
+ make('/a', 'canonical_a')], enrollment, async () => ({ organizationId: enrollment.organizationId,
188
+ serverAuthorization: { workspaceId: 'canonical_a' } })), []);
189
+ await assert.rejects(selectRepositoryRelayRegistrations([alias('/a'), alias('/a')], enrollment, async () => ({ organizationId: enrollment.organizationId })), /Ambiguous registry/);
190
+ });
191
+ //# sourceMappingURL=repositoryRelaySupervisor.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repositoryRelaySupervisor.test.js","sourceRoot":"","sources":["../src/repositoryRelaySupervisor.test.ts"],"names":[],"mappings":"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"}
@@ -148,8 +148,8 @@ async function runActualRelay(f, cycles, diagnostic, holdSourceScan = false) {
148
148
  const source = await readFile(new URL('./index.js', import.meta.url), 'utf8');
149
149
  diagnostic(`synthetic production-caller source=${sha256(await readFile(new URL('../src/index.ts', import.meta.url)))} emitted=${sha256(source)}`);
150
150
  const ast = ts.createSourceFile('index.js', source, ts.ScriptTarget.Latest, true, ts.ScriptKind.JS);
151
- const declarations = ast.statements.filter(node => ts.isFunctionDeclaration(node) && node.name?.text === 'relayStart');
152
- assert.equal(declarations.length, 1, 'exact production relayStart declaration is required');
151
+ const declarations = ast.statements.filter(node => ts.isFunctionDeclaration(node) && node.name?.text === 'relayWorkspaceLoop');
152
+ assert.equal(declarations.length, 1, 'exact production repository worker declaration is required');
153
153
  const declaration = declarations[0].getText(ast);
154
154
  const roots = [f.sourceRoot];
155
155
  for (let index = 1; index < cycles; index++)
@@ -172,6 +172,7 @@ async function runActualRelay(f, cycles, diagnostic, holdSourceScan = false) {
172
172
  repositoryAgentId: f.record.repositoryAgentId, repositoryBindingId: '77777777-7777-4777-8777-777777777777' };
173
173
  const policy = { revision: 1, fixture: 'synthetic-staging-policy' };
174
174
  const processFixture = Object.assign(new EventEmitter(), { pid: 123 });
175
+ const controller = new AbortController();
175
176
  const checkedPath = (path) => {
176
177
  const resolved = resolve(path);
177
178
  const local = relative(f.home, resolved);
@@ -179,8 +180,11 @@ async function runActualRelay(f, cycles, diagnostic, holdSourceScan = false) {
179
180
  assert.ok(resolved === f.home || resolved.startsWith(f.home + sep), 'fixture filesystem containment');
180
181
  return resolved;
181
182
  };
182
- const result = await new Script(`${declaration}\nrelayStart(flags);`, { filename: 'synthetic-relay-staging-fixture.js' }).runInNewContext({
183
+ const result = await new Script(`${declaration}\nrelayWorkspaceLoop(flags, signal, serialized);`, { filename: 'synthetic-relay-staging-fixture.js' }).runInNewContext({
183
184
  flags, process: processFixture, performance: { now: () => elapsedMs }, Date, Map, Promise, Number, Error,
185
+ signal: controller.signal, serialized: (operation) => operation(),
186
+ readFile: (path, encoding) => readFile(checkedPath(path), encoding),
187
+ waitForRelayRefresh: async () => { },
184
188
  VERSION: '0.2.102',
185
189
  resolve, mkdir: (path, options) => mkdir(checkedPath(path), options),
186
190
  writeFile: (path, bytes, options) => writeFile(checkedPath(path), bytes, options),
@@ -239,7 +243,7 @@ async function runActualRelay(f, cycles, diagnostic, holdSourceScan = false) {
239
243
  activations++;
240
244
  events.push(`activate-${activations}`);
241
245
  if (holdSourceScan && activations === 2) {
242
- processFixture.emit('SIGINT');
246
+ controller.abort();
243
247
  releaseSourceScan?.();
244
248
  }
245
249
  },
@@ -1 +1 @@
1
- {"version":3,"file":"skillPreparationCache.test.js","sourceRoot":"","sources":["../src/skillPreparationCache.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skillPreparationCache.test.js","sourceRoot":"","sources":["../src/skillPreparationCache.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvG,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AACnG,OAAO,EAAE,mBAAmB,EAAoB,MAAM,4CAA4C,CAAC;AACnG,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,+BAA+B,EAAE,MAAM,kCAAkC,CAAC;AAC9G,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAE1E,MAAM,SAAS,GAAG,sCAAsC,CAAC;AAKzD,KAAK,UAAU,SAAS;IACtB,OAAO,CAAC,MAAM,MAAM,CAAC,4BAAsC,CAEzD,CAAA,CAAC,4BAA4B,CAAC;AAClC,CAAC;AACD,KAAK,UAAU,KAAK;IAClB,OAAO,CAAC,MAAM,MAAM,CAAC,4BAAsC,CAEzD,CAAA,CAAC,yBAAyB,CAAC;AAC/B,CAAC;AACD,KAAK,UAAU,OAAO,CAAC,aAAa,GAAG,IAAI;IACzC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAChF,MAAM,UAAU,GAAG,MAAM,+BAA+B,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,EACnI,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,yBAAyB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACtE,MAAM,IAAI,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,EAAE,MAAM,EAAE,wBAAwB,EAAE,QAAQ,EAAE,sCAAsC;QACnG,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI;QAC/F,eAAe,EAAE,EAAE,oBAAoB,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE;QAC7G,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,EAAE,IAAI;QACxD,mBAAmB,EAAE,sCAAsC,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAChG,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;IAC5D,MAAM,MAAM,GAAG,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,mBAAmB,CAAC,QAAyD,CAAC,EAAE,CAAC;IAC3H,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;IACtF,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,6BAA6B,EAAE,cAAc,EAAE,UAAU;QAChF,QAAQ,EAAE,sCAAsC,EAAE,WAAW,EAAE,SAAS;QACxE,iBAAiB,EAAE,sCAAsC,EAAE,mBAAmB,EAAE,IAAI;QACpF,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,SAAS,EAAE,iBAAiB;QACrF,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;IACvG,MAAM,WAAW,GAAG,MAAM,+BAA+B,CAAC,MAAM,CAAC,CAAC;IAClE,IAAI,aAAa;QAAE,MAAM,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAChH,MAAM,QAAQ,GAAG,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACjF,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;QAC5F,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;IACzH,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;AACxE,CAAC;AAED,IAAI,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;IACjG,MAAM,CAAC,GAAG,MAAM,OAAO,EAAE,CAAC;IAAC,IAAI,SAAS,GAAG,KAAK,CAAC;IACjD,IAAI,CAAC;QACH,MAAM,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAClJ,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QACtF,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,qCAAqC,CAAC,CAAC;QACpE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QAC1D,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAC7C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QACjD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QAClD,MAAM,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,eAAe,EAAE,eAAe,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;QACjH,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;QACpG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACtF,CAAC;YAAS,CAAC;QAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAAC,CAAC;AACnE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;IAChG,MAAM,CAAC,GAAG,MAAM,OAAO,EAAE,CAAC;IAC1B,IAAI,CAAC;QACH,MAAM,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAC;QAC/H,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,GAAE,CAAC;YAC9F,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC,cAAc,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ;YACxE,iBAAiB,EAAE,CAAC,CAAC,QAAQ,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,CAAC,CAAC,QAAQ,CAAC,mBAAmB;YACpG,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,MAA+B,CAAA,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC3F,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;YAAS,CAAC;QAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAAC,CAAC;AACnE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;IACtE,MAAM,CAAC,GAAG,MAAM,OAAO,EAAE,CAAC;IAAC,IAAI,SAAS,GAAG,KAAK,CAAC;IACjD,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO;YACxF,aAAa,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;QACxH,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC/B,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACxF,CAAC;YAAS,CAAC;QAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAAC,CAAC;AACnE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;IAC1E,MAAM,CAAC,GAAG,MAAM,OAAO,EAAE,CAAC;IAAC,IAAI,SAAS,GAAG,KAAK,CAAC;IACjD,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO;YACxF,aAAa,EAAE,GAAG,EAAE,GAAG,IAAI,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC;YACxF,WAAW,EAAE,GAAG,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,sBAAsB,CAAC,CAAC;QACvE,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QACxH,MAAM,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE,eAAe,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;IAC3F,CAAC;YAAS,CAAC;QAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAAC,CAAC;AACnE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;IAChF,MAAM,CAAC,GAAG,MAAM,OAAO,EAAE,CAAC;IAC1B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,SAAS,EAAE,CAAC;QAClC,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO;YAC5E,WAAW,EAAE,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,GAAG,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;QAC1I,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,WAAW,EAAE,sCAAsC;YACtF,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,EAAE,iBAAiB,CAAC,CAAC;QAC3F,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACxF,CAAC;YAAS,CAAC;QAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAAC,CAAC;AACnE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;IACtE,MAAM,CAAC,GAAG,MAAM,OAAO,EAAE,CAAC;IAAC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAC9F,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAAC,MAAM,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAClF,MAAM,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;QACzD,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC;QAC/J,MAAM,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC;IAC3D,CAAC;YAAS,CAAC;QAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAAC,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAAC,CAAC;AACxH,CAAC,CAAC,CAAC;AAEH,uFAAuF;AACvF,uFAAuF;AACvF,uFAAuF;AACvF,KAAK,UAAU,cAAc,CAAC,CAAsC,EAAE,MAAc,EAClF,UAAqC,EAAE,cAAc,GAAG,KAAK;IAC7D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;IAC9E,UAAU,CAAC,sCAAsC,MAAM,CAAC,MAAM,QAAQ,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAClJ,MAAM,GAAG,GAAG,EAAE,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACpG,MAAM,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,KAAK,oBAAoB,CAAC,CAAC;IAC/H,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,4DAA4D,CAAC,CAAC;IACnG,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC7B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACtG,IAAI,aAAa,GAAG,CAAC,CAAC;IAAC,IAAI,MAAiC,CAAC;IAAC,IAAI,OAAO,GAAG,KAAK,CAAC;IAClF,IAAI,WAAW,GAAG,CAAC,CAAC;IAAC,IAAI,cAAc,GAAG,CAAC,CAAC;IAAC,IAAI,WAAW,GAAG,CAAC,CAAC;IAAC,IAAI,cAAc,GAAG,CAAC,CAAC;IACzF,IAAI,iBAA2C,CAAC;IAChD,IAAI,SAAS,GAAG,CAAC,CAAC;IAAC,IAAI,WAAW,GAAG,CAAC,CAAC;IACvC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAG,IAAI,GAAG,CAA2B,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/G,IAAI,CAAC,cAAc;QAAE,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU;QAClF,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,sCAAsC,EAAE,CAAC;IAC/G,MAAM,MAAM,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC;IACpE,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,YAAY,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACvE,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,EAAE;QACnC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAAC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACzE,MAAM,CAAC,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,iCAAiC,CAAC,CAAC;QAC5I,MAAM,CAAC,EAAE,CAAC,QAAQ,KAAK,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,gCAAgC,CAAC,CAAC;QACtG,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,IAAI,MAAM,CAAC,GAAG,WAAW,kDAAkD,EAAE,EAAE,QAAQ,EAAE,oCAAoC,EAAE,CAAC,CAAC,eAAe,CAAC;QACpK,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK;QACxG,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,SAAiC,EAAE,EAAE,CAAC,SAAS,EAAE;QACzF,QAAQ,EAAE,CAAC,IAAY,EAAE,QAAgB,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;QACnF,mBAAmB,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;QACnC,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,KAAK,EAAE,CAAC,IAAY,EAAE,OAAoC,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QACzG,SAAS,EAAE,CAAC,IAAY,EAAE,KAAa,EAAE,OAAwC,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC;QAClI,EAAE,EAAE,CAAC,IAAY,EAAE,OAAiC,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QACvF,UAAU,EAAE,YAAY,EAAE,MAAM;QAChC,QAAQ,EAAE,CAAC,OAAsC,EAAE,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QACrF,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC;QACjC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YACnC,cAAc,EAAE,SAAS,CAAC,cAAc;YACxC,mBAAmB,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE;SAC5D,CAAC;QACF,2BAA2B,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM;QAC/C,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI;QAC9E,wBAAwB,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,GAAE,CAAC;QACpD,uBAAuB,EAAE;YAAQ,UAAU,KAAI,CAAC;SAAE;QAClD,4BAA4B,EAAE;YAAQ,QAAQ,KAAK,OAAO,KAAK,CAAC,CAAC,CAAC;SAAE;QACpE,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;YACrG,0BAA0B,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;QAC7D,qBAAqB,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9B,gBAAgB,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QACpG,iBAAiB,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,QAAQ,KAAK,OAAO,EAAE,6BAA6B;QAC5F,+BAA+B,EAAE,KAAK,EAAE,MAAe,EAAE,SAA8B,EAAE,EAAE,CAAC,SAAS,EAAE;QACvG,yBAAyB,EAAE,+BAA+B;QAC1D,4BAA4B,EAAE,MAAM,SAAS,EAAE;QAC/C,kBAAkB,EAAE,KAAK,IAAI,EAAE;YAC7B,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;YAAC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,8BAA8B,CAAC,CAAC;YACjG,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE;gBACtF,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM;gBAC/E,aAAa,EAAE,GAAG,EAAE,GAAG,IAAI,OAAO;oBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,CAAC;QACD,yBAAyB,EAAE,CAAC,KAAgE,EAAE,EAAE;YAC9F,MAAM,aAAa,GAAG,GAAG,EAAE,GAAG,IAAI,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;YACjF,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,GAAG,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,EAAE;gBAAE,MAAM,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClI,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACzG,CAAC;QACD,8BAA8B,EAAE,KAAK,EAAE,SAAiC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,SAAS,EAAE,EAAE,CAAC;QAC/H,uCAAuC,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE,EAAE,mBAAmB,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;QAC5F,uBAAuB,EAAE,KAAK,IAAI,EAAE,GAAG,cAAc,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;QACvE,2BAA2B,EAAE,KAAK,IAAI,EAAE;YACtC,WAAW,EAAE,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACzC,IAAI,cAAc;gBAAE,MAAM,IAAI,OAAO,CAAO,MAAM,CAAC,EAAE,GAAG,iBAAiB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACvF,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACxB,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;QAC9D,CAAC;QACD,gCAAgC,EAAE,KAAK,IAAI,EAAE;YAC3C,WAAW,EAAE,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,YAAY,WAAW,EAAE,CAAC,CAAC;YACtD,IAAI,cAAc,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;gBACxC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACnB,iBAAiB,EAAE,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;QACD,qBAAqB,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK;QACxC,4BAA4B,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,EAAE,4BAA4B,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAC3F,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QACxC,cAAc,EAAE,KAAK,IAAI,EAAE;YACzB,cAAc,EAAE,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,cAAc,EAAE,CAAC,CAAC;YAAC,MAAM,MAAM,CAAC;YACtE,IAAI,cAAc,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;gBAC3C,MAAM,CAAC,EAAE,CAAC,iBAAiB,EAAE,wDAAwD,CAAC,CAAC;gBACvF,SAAS,GAAG,MAAM,CAAC;YACrB,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,eAAe,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;KAChC,CAA4B,CAAC;IAC9B,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnF,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,uCAAuC,CAAC,CAAC;IACtE,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,EAAE,iEAAiE,CAAC,CAAC;IACnG,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAC9H,6EAA6E,CAAC,CAAC;IACjF,IAAI,cAAc;QAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;eAChF,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;eACvD,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAC9D,+EAA+E,CAAC,CAAC;IACjF,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,mDAAmD,CAAC,CAAC;IACzF,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IAClH,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAC3B,CAAC;AAED,IAAI,CAAC,gFAAgF,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC/F,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QAChF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,0BAA0B,EAAE,CAAC,EAAE,0DAA0D,CAAC,CAAC;QAC/G,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QACtF,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAClF,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;YAAS,CAAC;QAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAAC,CAAC;AACnE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qFAAqF,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACpG,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;QACtF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,CAAC;QAChE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC;YAAS,CAAC;QAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAAC,CAAC;AACnE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wFAAwF,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACvG,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QACvF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,0BAA0B,EAAE,CAAC,EAAE,iDAAiD,CAAC,CAAC;QACtG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC;QACjD,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,eAAe,CAAC,EAAE,MAAM,CAAC,CAAC;QACzD,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,eAAe,CAAC,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;YAAS,CAAC;QAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAAC,CAAC;AACnE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kGAAkG,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACjH,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3E,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/E,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC;QAC7D,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QACtF,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAClF,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;YAAS,CAAC;QAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAAC,CAAC;AACnE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;IAC5F,MAAM,CAAC,GAAG,MAAM,OAAO,EAAE,CAAC;IAAC,IAAI,SAAS,GAAG,KAAK,CAAC;IACjD,IAAI,CAAC;QACH,CAAC,CAAC,MAAM,CAAC,SAAS,GAAG,gBAAgB,CAAC;QAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;QACjF,CAAC,CAAC,WAAW,GAAG,MAAM,+BAA+B,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;QAC/D,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,0DAA0D,CAAC,CAAC;QACnF,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjH,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,iCAAiC,CAAC,CAAC;QACzF,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE,6BAA6B,CAAC,CAAC;QACtE,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE,eAAe,CAAC,EAAE,OAAO,CAAC,CAAC;QAC9D,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO;YACxF,aAAa,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,oBAAoB,CAAC,CAAC;QAC9F,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC/B,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACxF,CAAC;YAAS,CAAC;QAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAAC,CAAC;AACnE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;IACnF,MAAM,CAAC,GAAG,MAAM,OAAO,EAAE,CAAC;IAAC,IAAI,SAAS,GAAG,KAAK,CAAC;IAAC,IAAI,WAAW,GAAG,KAAK,CAAC;IAC1E,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO;YACxF,aAAa,EAAE,GAAG,EAAE;gBAClB,IAAI,WAAW;oBAAE,OAAO;gBACxB,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;gBACtF,IAAI,CAAC,SAAS;oBAAE,OAAO;gBACvB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;gBAC1C,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,sCAAsC,CAAC,CAAC,CAAC;gBAC5E,aAAa,CAAC,IAAI,EAAE,iCAAiC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBACpF,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,+BAA+B,CAAC,CAAC;QACnF,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,yDAAyD,CAAC,CAAC;QAC3F,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC/B,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACxF,CAAC;YAAS,CAAC;QAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAAC,CAAC;AACnE,CAAC,CAAC,CAAC"}
@@ -13,7 +13,8 @@ test('actual relay starts independent staging and stops it before closing resour
13
13
  const source = await readFile(new URL('../src/index.ts', import.meta.url), 'utf8');
14
14
  const relay = source.slice(source.indexOf('async function relayStart('), source.indexOf('export async function run('));
15
15
  assert.match(relay, /startSkillPreparationPump\(/);
16
- assert.ok(relay.indexOf('startSkillPreparationPump(') < relay.indexOf('await executeOneTask('));
16
+ assert.ok(relay.indexOf('const result = await serialized(') >= 0);
17
+ assert.ok(relay.indexOf('startSkillPreparationPump(') < relay.indexOf('const result = await serialized('));
17
18
  assert.match(relay, /await skillPreparationPump\.stop\(\);\s*vault\.close\(\)/);
18
19
  assert.doesNotMatch(relay, /await skillSync\(/);
19
20
  });
@@ -25,7 +26,8 @@ test('actual provider staging uses independently isolated failures', async () =>
25
26
  test('actual relay consumes a verified cache only after an idle task boundary and falls back to fresh preparation', async () => {
26
27
  const source = await readFile(new URL('../src/index.ts', import.meta.url), 'utf8');
27
28
  const relay = source.slice(source.indexOf('async function relayStart('), source.indexOf('export async function run('));
28
- assert.ok(relay.indexOf('const result = await executeOneTask(') < relay.indexOf('await takeCachedSkillUpdate('));
29
+ assert.ok(relay.indexOf('const result = await serialized(') >= 0);
30
+ assert.ok(relay.indexOf('const result = await serialized(') < relay.indexOf('await takeCachedSkillUpdate('));
29
31
  assert.match(relay, /const prepared = cached \|\| await prepareSkillUpdate\(/);
30
32
  assert.ok(relay.indexOf('await takeCachedSkillUpdate(') < relay.indexOf('await activatePreparedSkillUpdate('));
31
33
  });
@@ -1 +1 @@
1
- {"version":3,"file":"skillPreparationCaller.test.js","sourceRoot":"","sources":["../src/skillPreparationCaller.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skillPreparationCaller.test.js","sourceRoot":"","sources":["../src/skillPreparationCaller.test.ts"],"names":[],"mappings":"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"}
package/dist/usage.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const CLI_USAGE = "Usage: dharma <bootstrap|onboard|login|status|sessions start|sessions status|sessions work|sessions stop|demo connect|demo transport-connect|demo status|demo package|demo package-status|demo watch|demo watch-enable|demo watch-status|demo watch-disable|demo role|demo peers|demo ask|demo reply|demo inbox|demo ack|demo resume|demo signing-client-proof|demo signing-owner-proof|providers list|repositories discover|repositories connect|repositories list|repositories status|repositories snapshot|repositories role-register|repositories role-discover|repositories ask|repositories reply|workspace add|workspace sync|evidence preview|evidence capture|evidence capture-batch|evidence sync|evidence run-request|relay probe|relay start|relay stop|relay upgrade|relay autostart status|relay autostart disable|assistant chat|assistant history|assistant status|assistant approve|assistant reject|organization status|agents list|agents bind-runtime|evaluations validate|evaluations launch|evaluations status|evaluations results|experiments list|experiments run|failures list|remediations list|remediations act|tasks list|tasks dispatch|handoffs list|skills list|skills release|skills rollout|skills rollback|skills sync|skills status|skills verify|usage list> [options]";
1
+ export declare const CLI_USAGE = "Usage: dharma <bootstrap|onboard|login|status|sessions start|sessions status|sessions work|sessions stop|demo connect|demo transport-connect|demo status|demo package|demo package-status|demo watch|demo watch-enable|demo watch-status|demo watch-disable|demo role|demo peers|demo ask|demo reply|demo inbox|demo ack|demo resume|demo signing-client-proof|demo signing-owner-proof|providers list|repositories discover|repositories connect|repositories list|repositories status|repositories snapshot|repositories recover-installer|repositories role-register|repositories role-discover|repositories ask|repositories reply|workspace add|workspace sync|workspace recover-registry|evidence preview|evidence capture|evidence capture-batch|evidence sync|evidence run-request|relay probe|relay start|relay stop|relay upgrade|relay autostart status|relay autostart disable|assistant chat|assistant history|assistant status|assistant approve|assistant reject|organization status|agents list|agents bind-runtime|evaluations validate|evaluations launch|evaluations status|evaluations results|experiments list|experiments run|failures list|remediations list|remediations act|tasks list|tasks dispatch|handoffs list|skills list|skills release|skills rollout|skills rollback|skills sync|skills status|skills verify|usage list> [options]";
2
2
  //# sourceMappingURL=usage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,+uCAA+uC,CAAC"}
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,yyCAAyyC,CAAC"}
package/dist/usage.js CHANGED
@@ -1,2 +1,2 @@
1
- export const CLI_USAGE = 'Usage: dharma <bootstrap|onboard|login|status|sessions start|sessions status|sessions work|sessions stop|demo connect|demo transport-connect|demo status|demo package|demo package-status|demo watch|demo watch-enable|demo watch-status|demo watch-disable|demo role|demo peers|demo ask|demo reply|demo inbox|demo ack|demo resume|demo signing-client-proof|demo signing-owner-proof|providers list|repositories discover|repositories connect|repositories list|repositories status|repositories snapshot|repositories role-register|repositories role-discover|repositories ask|repositories reply|workspace add|workspace sync|evidence preview|evidence capture|evidence capture-batch|evidence sync|evidence run-request|relay probe|relay start|relay stop|relay upgrade|relay autostart status|relay autostart disable|assistant chat|assistant history|assistant status|assistant approve|assistant reject|organization status|agents list|agents bind-runtime|evaluations validate|evaluations launch|evaluations status|evaluations results|experiments list|experiments run|failures list|remediations list|remediations act|tasks list|tasks dispatch|handoffs list|skills list|skills release|skills rollout|skills rollback|skills sync|skills status|skills verify|usage list> [options]';
1
+ export const CLI_USAGE = 'Usage: dharma <bootstrap|onboard|login|status|sessions start|sessions status|sessions work|sessions stop|demo connect|demo transport-connect|demo status|demo package|demo package-status|demo watch|demo watch-enable|demo watch-status|demo watch-disable|demo role|demo peers|demo ask|demo reply|demo inbox|demo ack|demo resume|demo signing-client-proof|demo signing-owner-proof|providers list|repositories discover|repositories connect|repositories list|repositories status|repositories snapshot|repositories recover-installer|repositories role-register|repositories role-discover|repositories ask|repositories reply|workspace add|workspace sync|workspace recover-registry|evidence preview|evidence capture|evidence capture-batch|evidence sync|evidence run-request|relay probe|relay start|relay stop|relay upgrade|relay autostart status|relay autostart disable|assistant chat|assistant history|assistant status|assistant approve|assistant reject|organization status|agents list|agents bind-runtime|evaluations validate|evaluations launch|evaluations status|evaluations results|experiments list|experiments run|failures list|remediations list|remediations act|tasks list|tasks dispatch|handoffs list|skills list|skills release|skills rollout|skills rollback|skills sync|skills status|skills verify|usage list> [options]';
2
2
  //# sourceMappingURL=usage.js.map
package/dist/usage.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"usage.js","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,4uCAA4uC,CAAC"}
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,syCAAsyC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export type WorkspaceRegistryRead<T> = {
2
+ state: 'absent' | 'valid';
3
+ records: T[];
4
+ };
5
+ export declare function readWorkspaceRegistry<T>(path: string, read?: (path: string) => Promise<string>): Promise<WorkspaceRegistryRead<T>>;
6
+ //# sourceMappingURL=workspaceRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspaceRegistry.d.ts","sourceRoot":"","sources":["../src/workspaceRegistry.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI;IACrC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC1B,OAAO,EAAE,CAAC,EAAE,CAAC;CACd,CAAC;AAEF,wBAAsB,qBAAqB,CAAC,CAAC,EAC3C,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAoC,GACzE,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAkBnC"}