@animalabs/agent-framework 0.6.7 → 0.6.10

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 (54) hide show
  1. package/dist/src/agent.d.ts +5 -34
  2. package/dist/src/agent.d.ts.map +1 -1
  3. package/dist/src/agent.js +62 -137
  4. package/dist/src/agent.js.map +1 -1
  5. package/dist/src/framework.d.ts +14 -56
  6. package/dist/src/framework.d.ts.map +1 -1
  7. package/dist/src/framework.js +192 -1742
  8. package/dist/src/framework.js.map +1 -1
  9. package/dist/src/modules/workspace/index.d.ts +10 -0
  10. package/dist/src/modules/workspace/index.d.ts.map +1 -1
  11. package/dist/src/modules/workspace/index.js +48 -2
  12. package/dist/src/modules/workspace/index.js.map +1 -1
  13. package/dist/src/modules/workspace/types.d.ts +2 -0
  14. package/dist/src/modules/workspace/types.d.ts.map +1 -1
  15. package/dist/src/modules/workspace/types.js.map +1 -1
  16. package/dist/src/modules/workspace/watcher.d.ts +17 -0
  17. package/dist/src/modules/workspace/watcher.d.ts.map +1 -1
  18. package/dist/src/modules/workspace/watcher.js +143 -7
  19. package/dist/src/modules/workspace/watcher.js.map +1 -1
  20. package/dist/src/types/agent.d.ts +15 -12
  21. package/dist/src/types/agent.d.ts.map +1 -1
  22. package/dist/test/helpers/mock-membrane.js +1 -1
  23. package/dist/test/helpers/mock-membrane.js.map +1 -1
  24. package/dist/test/mcpl-awareness-barrier.test.js +1 -228
  25. package/dist/test/mcpl-awareness-barrier.test.js.map +1 -1
  26. package/dist/test/refusal-single-call.test.d.ts +2 -0
  27. package/dist/test/refusal-single-call.test.d.ts.map +1 -0
  28. package/dist/test/refusal-single-call.test.js +177 -0
  29. package/dist/test/refusal-single-call.test.js.map +1 -0
  30. package/dist/test/trunk-channel-routing.test.js +5 -1
  31. package/dist/test/trunk-channel-routing.test.js.map +1 -1
  32. package/dist/test/workspace-watcher.test.js +161 -9
  33. package/dist/test/workspace-watcher.test.js.map +1 -1
  34. package/dist/tsconfig.tsbuildinfo +1 -1
  35. package/package.json +4 -4
  36. package/src/agent.ts +67 -226
  37. package/src/framework.ts +226 -2394
  38. package/src/modules/workspace/index.ts +47 -2
  39. package/src/modules/workspace/types.ts +2 -0
  40. package/src/modules/workspace/watcher.ts +160 -7
  41. package/src/types/agent.ts +17 -12
  42. package/dist/src/canonical-json.d.ts +0 -2
  43. package/dist/src/canonical-json.d.ts.map +0 -1
  44. package/dist/src/canonical-json.js +0 -23
  45. package/dist/src/canonical-json.js.map +0 -1
  46. package/dist/test/primary-summary-refusal-fallback-integration.test.d.ts +0 -2
  47. package/dist/test/primary-summary-refusal-fallback-integration.test.d.ts.map +0 -1
  48. package/dist/test/primary-summary-refusal-fallback-integration.test.js +0 -1955
  49. package/dist/test/primary-summary-refusal-fallback-integration.test.js.map +0 -1
  50. package/dist/test/primary-summary-refusal-fallback.test.d.ts +0 -2
  51. package/dist/test/primary-summary-refusal-fallback.test.d.ts.map +0 -1
  52. package/dist/test/primary-summary-refusal-fallback.test.js +0 -753
  53. package/dist/test/primary-summary-refusal-fallback.test.js.map +0 -1
  54. package/src/canonical-json.ts +0 -22
@@ -1 +1 @@
1
- {"version":3,"file":"mcpl-awareness-barrier.test.js","sourceRoot":"","sources":["../../test/mcpl-awareness-barrier.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcpl-awareness-barrier.test.js","sourceRoot":"","sources":["../../test/mcpl-awareness-barrier.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=refusal-single-call.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refusal-single-call.test.d.ts","sourceRoot":"","sources":["../../test/refusal-single-call.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,177 @@
1
+ import { test } from 'node:test';
2
+ import assert from 'node:assert/strict';
3
+ import { mkdtempSync, rmSync } from 'node:fs';
4
+ import { tmpdir } from 'node:os';
5
+ import { join } from 'node:path';
6
+ import { AgentFramework } from '../src/index.js';
7
+ import { MockMembrane, createMockResponse } from './helpers/mock-membrane.js';
8
+ class RefusalHarnessModule {
9
+ name = 'test';
10
+ toolCalls = [];
11
+ speeches = [];
12
+ ctx = null;
13
+ async start(ctx) {
14
+ this.ctx = ctx;
15
+ ctx.registerSpeechHandler('*');
16
+ }
17
+ async stop() {
18
+ this.ctx?.unregisterSpeechHandler();
19
+ this.ctx = null;
20
+ }
21
+ getTools() {
22
+ return [{
23
+ name: 'echo',
24
+ description: 'Echo input',
25
+ inputSchema: {
26
+ type: 'object',
27
+ properties: {
28
+ message: { type: 'string' },
29
+ },
30
+ },
31
+ }];
32
+ }
33
+ async handleToolCall(call) {
34
+ this.toolCalls.push(call);
35
+ return { success: true, data: { echoed: call.input } };
36
+ }
37
+ async onProcess(event, _state) {
38
+ if (event.type !== 'external-message')
39
+ return {};
40
+ return {
41
+ addMessages: [{
42
+ participant: 'User',
43
+ content: [{ type: 'text', text: String(event.content) }],
44
+ }],
45
+ requestInference: true,
46
+ };
47
+ }
48
+ async onAgentSpeech(_agentName, content) {
49
+ const text = content
50
+ .filter((block) => block.type === 'text')
51
+ .map((block) => block.text)
52
+ .join('\n');
53
+ if (text)
54
+ this.speeches.push(text);
55
+ }
56
+ }
57
+ function refusalResponse(content = []) {
58
+ return {
59
+ ...createMockResponse(content, 'refusal'),
60
+ content,
61
+ stopReason: 'refusal',
62
+ toolCalls: [],
63
+ rawAssistantText: content
64
+ .filter((block) => block.type === 'text')
65
+ .map((block) => block.text)
66
+ .join(''),
67
+ usage: { inputTokens: 40, outputTokens: 0 },
68
+ details: {
69
+ stop: { reason: 'refusal', wasTruncated: false },
70
+ usage: { inputTokens: 40, outputTokens: 0 },
71
+ timing: { totalDurationMs: 100, attempts: 1 },
72
+ model: { requested: 'test-model', actual: 'test-model', provider: 'mock' },
73
+ cache: { markersInRequest: 0, tokensCreated: 0, tokensRead: 0, hitRatio: 0 },
74
+ },
75
+ raw: {
76
+ request: {},
77
+ response: {
78
+ stop_details: { category: 'reasoning_extraction' },
79
+ },
80
+ },
81
+ };
82
+ }
83
+ async function createFramework(storePath, membrane, module) {
84
+ return AgentFramework.create({
85
+ storePath,
86
+ membrane: membrane.asMembrane(),
87
+ agents: [{
88
+ name: 'assistant',
89
+ model: 'test-model',
90
+ systemPrompt: 'system',
91
+ }],
92
+ modules: [module],
93
+ syncIntervalMs: 0,
94
+ });
95
+ }
96
+ function pendingRequests(framework) {
97
+ return framework.pendingRequests;
98
+ }
99
+ test('zero-output refusal makes exactly one provider call and restart stays idle', async () => {
100
+ const tempDir = mkdtempSync(join(tmpdir(), 'af-refusal-zero-'));
101
+ const storePath = join(tempDir, 'store.chronicle');
102
+ let framework;
103
+ let restarted;
104
+ try {
105
+ const firstModule = new RefusalHarnessModule();
106
+ const firstMembrane = new MockMembrane();
107
+ firstMembrane.pushResponse(refusalResponse());
108
+ framework = await createFramework(storePath, firstMembrane, firstModule);
109
+ framework.pushEvent({
110
+ type: 'external-message',
111
+ source: 'test',
112
+ content: 'trigger refusal',
113
+ metadata: {},
114
+ });
115
+ await framework.runUntilIdle();
116
+ assert.equal(firstMembrane.calls.length, 1);
117
+ assert.equal(firstModule.toolCalls.length, 0);
118
+ assert.deepEqual(firstModule.speeches, []);
119
+ assert.equal(pendingRequests(framework).length, 0);
120
+ await framework.stop();
121
+ framework = undefined;
122
+ const secondModule = new RefusalHarnessModule();
123
+ const secondMembrane = new MockMembrane();
124
+ restarted = await createFramework(storePath, secondMembrane, secondModule);
125
+ assert.equal(secondMembrane.calls.length, 0, 'restart must not redispatch a refused turn');
126
+ assert.equal(secondModule.toolCalls.length, 0);
127
+ assert.deepEqual(secondModule.speeches, []);
128
+ assert.equal(pendingRequests(restarted).length, 0);
129
+ }
130
+ finally {
131
+ await restarted?.stop();
132
+ await framework?.stop();
133
+ rmSync(tempDir, { recursive: true, force: true });
134
+ }
135
+ });
136
+ test('partial refusal output remains single-call, does not execute tools, and restart stays idle', async () => {
137
+ const tempDir = mkdtempSync(join(tmpdir(), 'af-refusal-partial-'));
138
+ const storePath = join(tempDir, 'store.chronicle');
139
+ let framework;
140
+ let restarted;
141
+ try {
142
+ const firstModule = new RefusalHarnessModule();
143
+ const firstMembrane = new MockMembrane();
144
+ firstMembrane.pushResponse(refusalResponse([
145
+ { type: 'text', text: 'partial before' },
146
+ { type: 'tool_use', id: 'call-1', name: 'test--echo', input: { message: 'should-not-run' } },
147
+ { type: 'text', text: 'partial after' },
148
+ ]));
149
+ framework = await createFramework(storePath, firstMembrane, firstModule);
150
+ framework.pushEvent({
151
+ type: 'external-message',
152
+ source: 'test',
153
+ content: 'trigger partial refusal',
154
+ metadata: {},
155
+ });
156
+ await framework.runUntilIdle();
157
+ assert.equal(firstMembrane.calls.length, 1);
158
+ assert.equal(firstModule.toolCalls.length, 0, 'refused tool blocks must not execute');
159
+ assert.deepEqual(firstModule.speeches, ['partial before\npartial after']);
160
+ assert.equal(pendingRequests(framework).length, 0);
161
+ await framework.stop();
162
+ framework = undefined;
163
+ const secondModule = new RefusalHarnessModule();
164
+ const secondMembrane = new MockMembrane();
165
+ restarted = await createFramework(storePath, secondMembrane, secondModule);
166
+ assert.equal(secondMembrane.calls.length, 0, 'restart must not invent a transformed retry');
167
+ assert.equal(secondModule.toolCalls.length, 0);
168
+ assert.deepEqual(secondModule.speeches, []);
169
+ assert.equal(pendingRequests(restarted).length, 0);
170
+ }
171
+ finally {
172
+ await restarted?.stop();
173
+ await framework?.stop();
174
+ rmSync(tempDir, { recursive: true, force: true });
175
+ }
176
+ });
177
+ //# sourceMappingURL=refusal-single-call.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refusal-single-call.test.js","sourceRoot":"","sources":["../../test/refusal-single-call.test.ts"],"names":[],"mappings":"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"}
@@ -151,9 +151,13 @@ describe('Trunk channel routing (item-3 redux)', () => {
151
151
  .join('\n') ?? '';
152
152
  assert.match(text, /Channel invitation/);
153
153
  assert.match(text, /channel_open/);
154
- assert.match(text, /backscroll \(0-80\)/);
154
+ // 2026-07-21 rewrite: names resolved, numbered options, backscroll hint
155
+ // phrased as "a number up to N", explicit permission to do nothing.
156
+ assert.match(text, /#portables/);
157
+ assert.match(text, /backscroll \(a number up to 80\)/);
155
158
  assert.match(text, /channel_decline/);
156
159
  assert.match(text, /optionally set acknowledge/);
160
+ assert.match(text, /Doing nothing is also fine\./);
157
161
  await framework.stop();
158
162
  });
159
163
  it('a channel-incoming trunk turn records its triggering channel', async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"trunk-channel-routing.test.js","sourceRoot":"","sources":["../../test/trunk-channel-routing.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trunk-channel-routing.test.js","sourceRoot":"","sources":["../../test/trunk-channel-routing.test.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  import { describe, it, beforeEach, afterEach } from 'node:test';
2
2
  import assert from 'node:assert';
3
- import { existsSync, mkdtempSync, writeFileSync, unlinkSync, rmSync } from 'node:fs';
3
+ import { existsSync, mkdtempSync, mkdirSync, writeFileSync, unlinkSync, rmSync } from 'node:fs';
4
4
  import { tmpdir } from 'node:os';
5
5
  import { join } from 'node:path';
6
6
  import { MountWatcher } from '../src/modules/workspace/watcher.js';
7
7
  // Short debounce keeps each test under ~200ms.
8
8
  const DEBOUNCE_MS = 50;
9
+ const WATCH_ROOT_POLL_MS = 50;
9
10
  // Chokidar's awaitWriteFinish (stabilityThreshold:100) + our debounce means
10
11
  // each emission takes ~150ms to land; wait at least 300ms.
11
12
  const SETTLE_MS = 350;
@@ -24,26 +25,68 @@ function makeConfig() {
24
25
  mode: 'read-write',
25
26
  watch: 'always',
26
27
  watchDebounceMs: DEBOUNCE_MS,
28
+ watchRootPollMs: WATCH_ROOT_POLL_MS,
27
29
  };
28
30
  }
29
- function collect() {
31
+ function collect(lifecycle, config = makeConfig()) {
30
32
  const batches = [];
31
- const watcher = new MountWatcher(makeConfig(), (changes) => {
33
+ const watcher = new MountWatcher(config, (changes) => {
32
34
  batches.push(changes);
33
- });
35
+ }, lifecycle);
34
36
  watcher.start();
35
37
  return { watcher, batches };
36
38
  }
39
+ function withChokidarBackend(usePolling, start) {
40
+ const previousUsePolling = process.env.CHOKIDAR_USEPOLLING;
41
+ const previousInterval = process.env.CHOKIDAR_INTERVAL;
42
+ process.env.CHOKIDAR_USEPOLLING = String(usePolling);
43
+ if (usePolling)
44
+ process.env.CHOKIDAR_INTERVAL = '25';
45
+ try {
46
+ return start();
47
+ }
48
+ finally {
49
+ if (previousUsePolling === undefined)
50
+ delete process.env.CHOKIDAR_USEPOLLING;
51
+ else
52
+ process.env.CHOKIDAR_USEPOLLING = previousUsePolling;
53
+ if (previousInterval === undefined)
54
+ delete process.env.CHOKIDAR_INTERVAL;
55
+ else
56
+ process.env.CHOKIDAR_INTERVAL = previousInterval;
57
+ }
58
+ }
59
+ function withPollingBackend(start) {
60
+ return withChokidarBackend(true, start);
61
+ }
62
+ function withNativeBackend(start) {
63
+ return withChokidarBackend(false, start);
64
+ }
65
+ function collectWithPolling(lifecycle) {
66
+ return withPollingBackend(() => collect(lifecycle));
67
+ }
68
+ function collectWithNative(lifecycle, config) {
69
+ return withNativeBackend(() => collect(lifecycle, config));
70
+ }
37
71
  async function wait(ms) {
38
72
  await new Promise(r => setTimeout(r, ms));
39
73
  }
74
+ async function waitFor(predicate, message, timeoutMs = 1500) {
75
+ const start = Date.now();
76
+ while (Date.now() - start < timeoutMs) {
77
+ if (predicate())
78
+ return;
79
+ await wait(25);
80
+ }
81
+ assert.fail(message);
82
+ }
40
83
  describe('MountWatcher mergeOp', () => {
41
84
  it('unlink + add within debounce window → modified (atomic save)', async () => {
42
85
  // Seed a file before starting the watcher, so add+unlink+add reduces to
43
86
  // unlink+add (atomic save shape).
44
87
  const file = join(tmp, 'ticket.md');
45
88
  writeFileSync(file, 'v1');
46
- const { watcher, batches } = collect();
89
+ const { watcher, batches } = collectWithPolling();
47
90
  await wait(100); // let chokidar initialize
48
91
  // Atomic save: unlink then write
49
92
  unlinkSync(file);
@@ -57,7 +100,7 @@ describe('MountWatcher mergeOp', () => {
57
100
  assert.strictEqual(forFile[0].op, 'modified');
58
101
  });
59
102
  it('create + modify within window → created (net new)', async () => {
60
- const { watcher, batches } = collect();
103
+ const { watcher, batches } = collectWithPolling();
61
104
  await wait(100);
62
105
  const file = join(tmp, 'new.md');
63
106
  writeFileSync(file, 'hello');
@@ -75,7 +118,7 @@ describe('MountWatcher mergeOp', () => {
75
118
  // Seed so the watcher's first observation is the unlink of a real file.
76
119
  const file = join(tmp, 'a.md');
77
120
  writeFileSync(file, 'v1');
78
- const { watcher, batches } = collect();
121
+ const { watcher, batches } = collectWithPolling();
79
122
  await wait(100);
80
123
  // Double-flip: unlink + recreate + unlink + recreate inside one window.
81
124
  unlinkSync(file);
@@ -93,8 +136,11 @@ describe('MountWatcher lifecycle', () => {
93
136
  assert.ok(!existsSync(nested), 'precondition: nested path should not exist');
94
137
  const batches = [];
95
138
  let ready = false;
96
- const watcher = new MountWatcher({ name: 'tickets', path: nested, mode: 'read-write', watch: 'always', watchDebounceMs: DEBOUNCE_MS }, (changes) => { batches.push(changes); }, { onReady: () => { ready = true; } });
97
- watcher.start();
139
+ const watcher = withPollingBackend(() => {
140
+ const mounted = new MountWatcher({ name: 'tickets', path: nested, mode: 'read-write', watch: 'always', watchDebounceMs: DEBOUNCE_MS }, (changes) => { batches.push(changes); }, { onReady: () => { ready = true; } });
141
+ mounted.start();
142
+ return mounted;
143
+ });
98
144
  await wait(150);
99
145
  assert.ok(existsSync(nested), 'start() should have created the watched path');
100
146
  writeFileSync(join(nested, 'ticket.md'), 'hi');
@@ -113,5 +159,111 @@ describe('MountWatcher lifecycle', () => {
113
159
  assert.ok(!existsSync(roPath), 'read-only mount must not mkdir -p behind the user\'s back');
114
160
  await watcher.stop();
115
161
  });
162
+ it('read-write mount recreates a deleted root and re-attaches', async () => {
163
+ let readyCount = 0;
164
+ let reattachCount = 0;
165
+ const { watcher } = collectWithNative({
166
+ onReady: () => { readyCount++; },
167
+ onReattach: () => { reattachCount++; },
168
+ });
169
+ try {
170
+ await waitFor(() => readyCount > 0, 'expected initial watcher ready');
171
+ rmSync(tmp, { recursive: true, force: true });
172
+ await waitFor(() => reattachCount > 0, 'expected watcher to recreate and reattach');
173
+ await waitFor(() => readyCount > 1, 'expected recreated watcher ready');
174
+ assert.ok(existsSync(tmp), 'read-write mount should recreate its deleted root');
175
+ }
176
+ finally {
177
+ await watcher.stop();
178
+ }
179
+ });
180
+ // Sandboxed macOS rejects native fs.watch handles with EMFILE. Keep this
181
+ // production-backend integration assertion authoritative on Linux.
182
+ it('re-attaches after the root is removed and recreated', {
183
+ skip: process.platform !== 'linux',
184
+ }, async () => {
185
+ let readyCount = 0;
186
+ let reattachCount = 0;
187
+ const { watcher, batches } = collectWithNative({
188
+ onReady: () => { readyCount++; },
189
+ onReattach: () => { reattachCount++; },
190
+ }, { ...makeConfig(), watchRootPollMs: 5000 });
191
+ try {
192
+ await waitFor(() => readyCount > 0, 'expected initial watcher ready');
193
+ rmSync(tmp, { recursive: true, force: true });
194
+ mkdirSync(tmp, { recursive: true });
195
+ await waitFor(() => reattachCount > 0, 'expected watcher to reattach');
196
+ await waitFor(() => readyCount > 1, 'expected reattached watcher ready');
197
+ writeFileSync(join(tmp, 'after-recreate.md'), 'hello');
198
+ await wait(SETTLE_MS);
199
+ const created = batches.flat().find(c => c.path === 'after-recreate.md');
200
+ assert.ok(created, `expected created event after reattach, got ${JSON.stringify(batches.flat())}`);
201
+ assert.strictEqual(created.op, 'created');
202
+ }
203
+ finally {
204
+ await watcher.stop();
205
+ }
206
+ });
207
+ it('fires onReattach exactly once for one remove and recreate cycle', async () => {
208
+ let readyCount = 0;
209
+ let reattachCount = 0;
210
+ const { watcher } = collectWithNative({
211
+ onReady: () => { readyCount++; },
212
+ onReattach: () => { reattachCount++; },
213
+ });
214
+ try {
215
+ await waitFor(() => readyCount > 0, 'expected initial watcher ready');
216
+ rmSync(tmp, { recursive: true, force: true });
217
+ mkdirSync(tmp, { recursive: true });
218
+ await waitFor(() => reattachCount > 0, 'expected watcher to reattach');
219
+ await waitFor(() => readyCount > 1, 'expected reattached watcher ready');
220
+ await wait(WATCH_ROOT_POLL_MS * 4);
221
+ assert.strictEqual(reattachCount, 1);
222
+ }
223
+ finally {
224
+ await watcher.stop();
225
+ }
226
+ });
227
+ it('does not re-attach for normal create and modify traffic', async () => {
228
+ let ready = false;
229
+ let reattachCount = 0;
230
+ const { watcher, batches } = collectWithPolling({
231
+ onReady: () => { ready = true; },
232
+ onReattach: () => { reattachCount++; },
233
+ });
234
+ try {
235
+ await waitFor(() => ready, 'expected initial watcher ready');
236
+ const file = join(tmp, 'normal.md');
237
+ writeFileSync(file, 'v1');
238
+ await wait(SETTLE_MS);
239
+ writeFileSync(file, 'v2');
240
+ await wait(SETTLE_MS + WATCH_ROOT_POLL_MS * 4);
241
+ assert.strictEqual(reattachCount, 0);
242
+ const flat = batches.flat();
243
+ assert.ok(flat.some(c => c.path === 'normal.md'), `expected normal file event, got ${JSON.stringify(flat)}`);
244
+ }
245
+ finally {
246
+ await watcher.stop();
247
+ }
248
+ });
249
+ it('keeps a deleted read-only root detached and stops cleanly', async () => {
250
+ let ready = false;
251
+ let reattachCount = 0;
252
+ const watcher = new MountWatcher({ ...makeConfig(), mode: 'read-only' }, () => { }, {
253
+ onReady: () => { ready = true; },
254
+ onReattach: () => { reattachCount++; },
255
+ });
256
+ watcher.start();
257
+ try {
258
+ await waitFor(() => ready, 'expected initial watcher ready');
259
+ rmSync(tmp, { recursive: true, force: true });
260
+ await wait(WATCH_ROOT_POLL_MS * 2);
261
+ assert.ok(!existsSync(tmp), 'read-only mount must not recreate its deleted root');
262
+ assert.strictEqual(reattachCount, 0);
263
+ }
264
+ finally {
265
+ await watcher.stop();
266
+ }
267
+ });
116
268
  });
117
269
  //# sourceMappingURL=workspace-watcher.test.js.map