@multiplayer-app/agent 0.1.5 → 0.1.7

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 (74) hide show
  1. package/dist/checkpoint-timer.test.d.ts +2 -0
  2. package/dist/checkpoint-timer.test.d.ts.map +1 -0
  3. package/dist/checkpoint-timer.test.js +77 -0
  4. package/dist/checkpoint-timer.test.js.map +1 -0
  5. package/dist/cli.js +15 -6
  6. package/dist/cli.js.map +1 -1
  7. package/dist/config.js +2 -2
  8. package/dist/config.js.map +1 -1
  9. package/dist/git-sync.d.ts +1 -1
  10. package/dist/git-sync.d.ts.map +1 -1
  11. package/dist/git-sync.js +17 -29
  12. package/dist/git-sync.js.map +1 -1
  13. package/dist/git-sync.test.d.ts +2 -0
  14. package/dist/git-sync.test.d.ts.map +1 -0
  15. package/dist/git-sync.test.js +181 -0
  16. package/dist/git-sync.test.js.map +1 -0
  17. package/dist/lambda-microvm-entrypoint.js +22 -8
  18. package/dist/lambda-microvm-entrypoint.js.map +1 -1
  19. package/dist/lifecycle.test.d.ts +2 -0
  20. package/dist/lifecycle.test.d.ts.map +1 -0
  21. package/dist/lifecycle.test.js +46 -0
  22. package/dist/lifecycle.test.js.map +1 -0
  23. package/dist/link.d.ts.map +1 -1
  24. package/dist/link.js +6 -4
  25. package/dist/link.js.map +1 -1
  26. package/dist/protocol.d.ts +14 -4
  27. package/dist/protocol.d.ts.map +1 -1
  28. package/dist/protocol.js +7 -1
  29. package/dist/protocol.js.map +1 -1
  30. package/dist/protocol.test.js +6 -0
  31. package/dist/protocol.test.js.map +1 -1
  32. package/dist/research/filingramp-contract.d.ts +45 -0
  33. package/dist/research/filingramp-contract.d.ts.map +1 -0
  34. package/dist/research/filingramp-contract.js +277 -0
  35. package/dist/research/filingramp-contract.js.map +1 -0
  36. package/dist/research/filingramp-contract.test.d.ts +2 -0
  37. package/dist/research/filingramp-contract.test.d.ts.map +1 -0
  38. package/dist/research/filingramp-contract.test.js +76 -0
  39. package/dist/research/filingramp-contract.test.js.map +1 -0
  40. package/dist/research/filingramp-tools.d.ts +1 -1
  41. package/dist/research/filingramp-tools.d.ts.map +1 -1
  42. package/dist/research/filingramp-tools.js +158 -47
  43. package/dist/research/filingramp-tools.js.map +1 -1
  44. package/dist/research/filingramp-tools.test.d.ts +2 -0
  45. package/dist/research/filingramp-tools.test.d.ts.map +1 -0
  46. package/dist/research/filingramp-tools.test.js +99 -0
  47. package/dist/research/filingramp-tools.test.js.map +1 -0
  48. package/dist/research/prompt.d.ts +4 -0
  49. package/dist/research/prompt.d.ts.map +1 -1
  50. package/dist/research/prompt.js +15 -4
  51. package/dist/research/prompt.js.map +1 -1
  52. package/dist/research/scope.d.ts +22 -8
  53. package/dist/research/scope.d.ts.map +1 -1
  54. package/dist/research/scope.js +49 -15
  55. package/dist/research/scope.js.map +1 -1
  56. package/dist/research/scope.test.js +47 -6
  57. package/dist/research/scope.test.js.map +1 -1
  58. package/dist/runtime.d.ts +2 -0
  59. package/dist/runtime.d.ts.map +1 -1
  60. package/dist/runtime.js +20 -3
  61. package/dist/runtime.js.map +1 -1
  62. package/dist/session.d.ts +6 -1
  63. package/dist/session.d.ts.map +1 -1
  64. package/dist/session.js +103 -47
  65. package/dist/session.js.map +1 -1
  66. package/dist/tools/fs-tools.d.ts +1 -0
  67. package/dist/tools/fs-tools.d.ts.map +1 -1
  68. package/dist/tools/fs-tools.js +11 -2
  69. package/dist/tools/fs-tools.js.map +1 -1
  70. package/dist/tools/fs-tools.test.d.ts +2 -0
  71. package/dist/tools/fs-tools.test.d.ts.map +1 -0
  72. package/dist/tools/fs-tools.test.js +41 -0
  73. package/dist/tools/fs-tools.test.js.map +1 -0
  74. package/package.json +1 -1
package/dist/session.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.SessionAgent = void 0;
6
+ exports.SessionAgent = exports.PERIODIC_CHECKPOINT_MS = void 0;
7
7
  exports.limitConversation = limitConversation;
8
8
  exports.runSessionAgent = runSessionAgent;
9
9
  // Session mode: the process stays up for the life of the session VM and serves chat turns
@@ -30,7 +30,7 @@ const CONVERSATION_FILE = '.builder/conversation.json';
30
30
  const MAX_STEPS_PER_TURN = 80;
31
31
  /** Rough context cap (chars ≈ tokens × 4): older turns are dropped, the first question is kept. */
32
32
  const CONTEXT_CHAR_BUDGET = 480000;
33
- const PERIODIC_CHECKPOINT_MS = 10 * 60000;
33
+ exports.PERIODIC_CHECKPOINT_MS = 5 * 60000;
34
34
  const MAX_PUBLISHED_FILE_BYTES = 512 * 1024;
35
35
  const MAX_EXTRACTION_CHARS = 60000;
36
36
  const CODING_SYSTEM_PROMPT = `You are a coding agent running inside an isolated session workspace VM with a persistent disk. You have direct tools to read/write files and run shell commands in the workspace, plus (if any MCP servers are configured) search_tools/get_tool_details/call_mcp_tool to use them. Work efficiently, verify with cheap commands (build, lint), report progress with report_progress, publish deliverables with publish_results, and finish each turn with a concise summary.`;
@@ -75,6 +75,8 @@ class SessionAgent {
75
75
  this.tools = {};
76
76
  this.systemPrompt = CODING_SYSTEM_PROMPT;
77
77
  this.stopped = false;
78
+ this.checkpointTask = Promise.resolve();
79
+ this.lastCheckpointAt = 0;
78
80
  this.budget = config.tokenBudget;
79
81
  if (config.git)
80
82
  this.gitSync = new git_sync_1.GitSync(config.git);
@@ -87,15 +89,13 @@ class SessionAgent {
87
89
  var _a;
88
90
  let restored = false;
89
91
  if (this.gitSync) {
90
- try {
91
- restored = await this.gitSync.restore();
92
- }
93
- catch (error) {
94
- console.error('[session] git restore failed, continuing with an empty workspace:', error.message);
95
- }
92
+ restored = await this.gitSync.restore();
96
93
  }
97
94
  await fs_1.promises.mkdir(this.workspaceDir, { recursive: true });
98
95
  restored = (await this.loadConversation()) || restored;
96
+ if (this.config.profile === 'research') {
97
+ await Promise.all(prompt_1.RESEARCH_WORKSPACE_DIRS.map((dir) => fs_1.promises.mkdir(path_1.default.join(this.workspaceDir, dir), { recursive: true })));
98
+ }
99
99
  this.tools = this.buildTools();
100
100
  this.systemPrompt =
101
101
  this.config.profile === 'research'
@@ -103,32 +103,58 @@ class SessionAgent {
103
103
  scope: this.config.researchScope,
104
104
  industryData: Boolean((_a = this.config.filingRamp) === null || _a === void 0 ? void 0 : _a.industryData),
105
105
  tokenBudget: this.budget,
106
+ restored,
106
107
  })
107
108
  : CODING_SYSTEM_PROMPT;
108
109
  this.link.onCommand((command) => this.handle(command));
109
110
  await this.link.ready();
111
+ this.scheduleCheckpoint();
110
112
  this.link.send({ type: 'ready', mode: 'session', profile: this.config.profile, restored });
111
113
  console.log(`[session] ready session=${this.config.sessionId} profile=${this.config.profile} restored=${restored}`);
112
114
  }
113
115
  /** Lifecycle hooks (suspend / terminate) call this; it is safe to call repeatedly. */
114
- async checkpoint(reason) {
115
- await this.saveConversation();
116
- if (!this.gitSync)
117
- return;
118
- try {
116
+ checkpoint(reason, requestId) {
117
+ const work = async () => {
118
+ await this.saveConversation();
119
+ if (!this.gitSync) {
120
+ if (requestId)
121
+ throw new Error('Git is not configured; workspace cannot be checkpointed');
122
+ return;
123
+ }
119
124
  const commit = await this.gitSync.commit(`checkpoint: ${reason}`);
120
- this.link.send({ type: 'checkpointed', commit });
121
- }
122
- catch (error) {
123
- console.error('[session] git checkpoint failed:', error.message);
124
- }
125
+ this.lastCheckpointAt = Date.now();
126
+ this.link.send({ type: 'checkpointed', commit, requestId });
127
+ };
128
+ const next = this.checkpointTask.then(work, work);
129
+ this.checkpointTask = next.catch(() => undefined);
130
+ return next;
125
131
  }
126
132
  async stop() {
127
133
  var _a;
128
134
  this.stopped = true;
135
+ if (this.periodic)
136
+ clearTimeout(this.periodic);
137
+ this.periodic = undefined;
138
+ this.queue.length = 0;
129
139
  (_a = this.current) === null || _a === void 0 ? void 0 : _a.abort.abort();
140
+ await this.turnTask;
130
141
  await this.checkpoint('shutdown');
131
142
  }
143
+ scheduleCheckpoint(delayMs = exports.PERIODIC_CHECKPOINT_MS) {
144
+ if (this.stopped)
145
+ return;
146
+ // Schedule after completion so slow Git cannot build an unbounded checkpoint queue.
147
+ this.periodic = setTimeout(() => {
148
+ const remaining = exports.PERIODIC_CHECKPOINT_MS - (Date.now() - this.lastCheckpointAt);
149
+ if (remaining > 0) {
150
+ this.scheduleCheckpoint(remaining);
151
+ return;
152
+ }
153
+ void this.checkpoint('periodic').catch((error) => console.error('[session] periodic checkpoint failed:', error))
154
+ .finally(() => this.scheduleCheckpoint());
155
+ }, delayMs);
156
+ this.periodic.unref();
157
+ }
132
158
  async handle(command) {
133
159
  var _a;
134
160
  switch (command.type) {
@@ -137,14 +163,16 @@ class SessionAgent {
137
163
  this.queue.push({ messageId: command.messageId, text: command.text });
138
164
  return;
139
165
  }
140
- void this.runTurn(command.messageId, command.text);
166
+ this.turnTask = this.runTurn(command.messageId, command.text);
141
167
  return;
142
168
  case 'abort':
143
169
  this.queue.length = 0;
144
170
  (_a = this.current) === null || _a === void 0 ? void 0 : _a.abort.abort();
145
171
  return;
146
172
  case 'checkpoint':
147
- await this.checkpoint('requested');
173
+ if (command.waitForTurn)
174
+ await this.turnTask;
175
+ await this.checkpoint('requested', command.requestId);
148
176
  return;
149
177
  }
150
178
  }
@@ -166,22 +194,33 @@ class SessionAgent {
166
194
  .min(1)
167
195
  .max(20),
168
196
  }),
169
- execute: async ({ steps }) => {
197
+ execute: async ({ steps }, { toolCallId }) => {
170
198
  if (this.current)
171
- this.link.send({ type: 'progress', messageId: this.current.messageId, steps: steps });
199
+ this.link.send({ type: 'progress', messageId: this.current.messageId, toolCallId, steps: steps });
172
200
  return { ok: true };
173
201
  },
174
202
  }),
175
- ask_user: (0, ai_1.tool)({
176
- description: 'Pause and ask the user a question you cannot answer yourself (confirm a large population, choose between interpretations, approve spending more tokens). The turn ends after this call; the answer arrives as the next user message.',
203
+ // Same name and input contract as the platform's own clarification tool, so the chat renders
204
+ // the question with its standard answer form and routes the answer back through approvals.
205
+ request_clarification: (0, ai_1.tool)({
206
+ description: 'Pause and ask the user one question you cannot answer yourself: confirm a large population, correct the scope, choose between readings, approve a codebook or more spending. Give 2–6 explicit options; set allowFreeText when they may not cover the answer. The turn ends after this call; the answer arrives as the next user message.',
177
207
  inputSchema: zod_1.z.object({
178
- question: zod_1.z.string().min(1).max(2000),
179
- options: zod_1.z.array(zod_1.z.string().max(120)).max(6).optional(),
208
+ question: zod_1.z.string().min(5).max(8000).describe('Clear, concise question with the context the user needs to decide; markdown allowed'),
209
+ selectionMode: zod_1.z.enum(['single', 'multiple']).describe('Whether the user picks one option or several'),
210
+ options: zod_1.z
211
+ .array(zod_1.z.object({
212
+ id: zod_1.z.string().min(1).max(60).describe('Stable option identifier'),
213
+ label: zod_1.z.string().min(1).max(300).describe('User-visible option label'),
214
+ description: zod_1.z.string().max(500).optional().describe('Optional explanation'),
215
+ }))
216
+ .min(2)
217
+ .max(6),
218
+ allowFreeText: zod_1.z.boolean().default(false).describe('Whether the user may answer in their own words instead'),
180
219
  }),
181
- execute: async ({ question, options }) => {
220
+ execute: async ({ question }, { toolCallId }) => {
182
221
  if (this.current) {
183
222
  this.current.askedUser = true;
184
- this.link.send({ type: 'question', messageId: this.current.messageId, text: question, options });
223
+ this.link.send({ type: 'question', messageId: this.current.messageId, toolCallId, question });
185
224
  }
186
225
  return { asked: true };
187
226
  },
@@ -243,16 +282,31 @@ class SessionAgent {
243
282
  fields: zod_1.z.array(zod_1.z.string().min(1).max(60)).min(1).max(15).describe('Field names each row must contain'),
244
283
  outputPath: zod_1.z.string().min(1).max(300).describe('e.g. data/extracted/water-valve.jsonl'),
245
284
  }),
246
- execute: async ({ paths, question, fields, outputPath }) => {
285
+ execute: async ({ paths, question, fields, outputPath }, { toolCallId }) => {
247
286
  var _a, _b;
248
287
  const model = (0, model_1.resolveLanguageModel)(this.config.provider, this.config.extractionModel);
249
288
  const output = path_1.default.resolve(this.workspaceDir, outputPath);
250
289
  await fs_1.promises.mkdir(path_1.default.dirname(output), { recursive: true });
251
290
  let rows = 0;
252
291
  const failures = [];
253
- for (const relative of paths) {
292
+ const report = (index) => {
293
+ if (!this.current)
294
+ return;
295
+ this.link.send({
296
+ type: 'progress',
297
+ messageId: this.current.messageId,
298
+ toolCallId,
299
+ steps: [
300
+ { key: 'extract', label: `Extracting facts`, status: index < paths.length ? 'active' : 'done', detail: `${index}/${paths.length} documents` },
301
+ ],
302
+ });
303
+ };
304
+ report(0);
305
+ for (const [index, relative] of paths.entries()) {
254
306
  if ((_a = this.current) === null || _a === void 0 ? void 0 : _a.abort.signal.aborted)
255
307
  break;
308
+ if (index > 0 && index % 3 === 0)
309
+ report(index);
256
310
  try {
257
311
  const text = (await fs_1.promises.readFile(path_1.default.resolve(this.workspaceDir, relative), 'utf8')).slice(0, MAX_EXTRACTION_CHARS);
258
312
  const result = await (0, ai_1.generateText)({
@@ -273,6 +327,7 @@ class SessionAgent {
273
327
  failures.push({ path: relative, reason: error.message });
274
328
  }
275
329
  }
330
+ report(paths.length);
276
331
  return { outputPath, rows, failures, model: this.config.extractionModel };
277
332
  },
278
333
  });
@@ -303,7 +358,6 @@ class SessionAgent {
303
358
  }
304
359
  }
305
360
  this.messages.push({ role: 'user', content: text });
306
- this.periodic = setInterval(() => void this.checkpoint('periodic'), PERIODIC_CHECKPOINT_MS);
307
361
  let partialText = '';
308
362
  let completed = false;
309
363
  try {
@@ -356,14 +410,12 @@ class SessionAgent {
356
410
  completed = true;
357
411
  if (this.budgetExceeded() && !turn.askedUser) {
358
412
  this.budgetPaused = true;
359
- this.link.send({
360
- type: 'question',
361
- messageId,
362
- text: `I have used ${this.usedTokens.toLocaleString()} tokens, which reaches this session's budget. Reply "continue" to extend it by ${(_c = this.config.tokenBudget) === null || _c === void 0 ? void 0 : _c.toLocaleString()} tokens, or tell me to wrap up with what I have.`,
363
- options: ['continue', 'wrap up'],
364
- });
413
+ const notice = `${partialText ? '\n\n' : ''}I have used ${this.usedTokens.toLocaleString()} tokens, which reaches this session's budget. Reply "continue" to extend it by ${(_c = this.config.tokenBudget) === null || _c === void 0 ? void 0 : _c.toLocaleString()} tokens, or tell me to wrap up with what I have.`;
414
+ partialText += notice;
415
+ this.link.send({ type: 'text_delta', messageId, text: notice });
365
416
  }
366
417
  const summary = (await result.text) || partialText;
418
+ await this.checkpoint('turn finished');
367
419
  this.link.send({ type: 'done', messageId, summary });
368
420
  }
369
421
  catch (error) {
@@ -382,40 +434,44 @@ class SessionAgent {
382
434
  }
383
435
  }
384
436
  finally {
385
- if (this.periodic)
386
- clearInterval(this.periodic);
387
- this.periodic = undefined;
437
+ if (!completed) {
438
+ await this.checkpoint('turn interrupted').catch((error) => console.error('[session] checkpoint failed:', error));
439
+ }
388
440
  this.current = undefined;
389
- await this.checkpoint('turn finished');
390
441
  const next = this.queue.shift();
391
442
  if (next && !this.stopped)
392
- void this.runTurn(next.messageId, next.text);
443
+ this.turnTask = this.runTurn(next.messageId, next.text);
393
444
  }
394
445
  }
395
446
  conversationPath() {
396
447
  return path_1.default.join(this.workspaceDir, CONVERSATION_FILE);
397
448
  }
398
449
  async loadConversation() {
399
- var _a;
450
+ var _a, _b, _c;
400
451
  try {
401
452
  const raw = await fs_1.promises.readFile(this.conversationPath(), 'utf8');
402
453
  const parsed = JSON.parse(raw);
403
454
  if (parsed.version === 1 && Array.isArray(parsed.messages)) {
404
455
  this.messages = parsed.messages;
405
456
  this.usedTokens = (_a = parsed.usedTokens) !== null && _a !== void 0 ? _a : 0;
457
+ this.budget = (_b = parsed.budget) !== null && _b !== void 0 ? _b : this.budget;
458
+ this.budgetPaused = (_c = parsed.budgetPaused) !== null && _c !== void 0 ? _c : this.budgetExceeded();
406
459
  return this.messages.length > 0;
407
460
  }
461
+ throw new Error('Invalid saved session conversation');
408
462
  }
409
- catch (_b) {
410
- /* first boot of this session */
463
+ catch (error) {
464
+ if (error.code !== 'ENOENT')
465
+ throw error;
411
466
  }
412
467
  return false;
413
468
  }
414
469
  async saveConversation() {
415
470
  const target = this.conversationPath();
416
471
  await fs_1.promises.mkdir(path_1.default.dirname(target), { recursive: true });
417
- const payload = { version: 1, messages: this.messages, usedTokens: this.usedTokens };
418
- await fs_1.promises.writeFile(target, JSON.stringify(payload));
472
+ const payload = { version: 1, messages: this.messages, usedTokens: this.usedTokens, budget: this.budget, budgetPaused: this.budgetPaused };
473
+ await fs_1.promises.writeFile(`${target}.tmp`, JSON.stringify(payload));
474
+ await fs_1.promises.rename(`${target}.tmp`, target);
419
475
  }
420
476
  }
421
477
  exports.SessionAgent = SessionAgent;
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,7 @@ export declare function createFsTools(workspaceDir: string): {
21
21
  list_files: import("ai").Tool<{
22
22
  path?: string | undefined;
23
23
  }, {
24
+ exists: boolean;
24
25
  entries: {
25
26
  name: string;
26
27
  type: "file" | "directory";
@@ -1 +1 @@
1
- {"version":3,"file":"fs-tools.d.ts","sourceRoot":"","sources":["../../src/tools/fs-tools.ts"],"names":[],"mappings":"AAmBA,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM;;;;;;;;;kBAiBf,MAAM;mBAAS,MAAM;;;;;;;;;;;;;;;;;;EA2CvD"}
1
+ {"version":3,"file":"fs-tools.d.ts","sourceRoot":"","sources":["../../src/tools/fs-tools.ts"],"names":[],"mappings":"AAmBA,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM;;;;;;;;;kBAiBf,MAAM;mBAAS,MAAM;;;;;;;;;;;;;;;;;;;EAmDvD"}
@@ -59,15 +59,24 @@ function createFsTools(workspaceDir) {
59
59
  },
60
60
  });
61
61
  const listFilesTool = (0, ai_1.tool)({
62
- description: "List files under a directory in the session's workspace (non-recursive).",
62
+ description: "List files under a directory in the session's workspace (non-recursive). A directory that does not exist yet is reported as exists=false with no entries, not as an error.",
63
63
  inputSchema: zod_1.z.object({
64
64
  path: zod_1.z.string().max(500).optional().describe('Workspace-relative directory; omit for the workspace root'),
65
65
  }),
66
66
  execute: async (input) => {
67
67
  var _a;
68
68
  const target = resolveWorkspacePath(workspaceDir, (_a = input.path) !== null && _a !== void 0 ? _a : '.');
69
- const entries = await fs_1.promises.readdir(target, { withFileTypes: true });
69
+ let entries;
70
+ try {
71
+ entries = await fs_1.promises.readdir(target, { withFileTypes: true });
72
+ }
73
+ catch (error) {
74
+ if (error.code === 'ENOENT')
75
+ return { exists: false, entries: [] };
76
+ throw error;
77
+ }
70
78
  return {
79
+ exists: true,
71
80
  entries: entries.map((entry) => ({
72
81
  name: entry.name,
73
82
  type: entry.isDirectory() ? 'directory' : 'file',
@@ -1 +1 @@
1
- {"version":3,"file":"fs-tools.js","sourceRoot":"","sources":["../../src/tools/fs-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fs-tools.js","sourceRoot":"","sources":["../../src/tools/fs-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=fs-tools.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fs-tools.test.d.ts","sourceRoot":"","sources":["../../src/tools/fs-tools.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const node_fs_1 = require("node:fs");
7
+ const node_os_1 = __importDefault(require("node:os"));
8
+ const node_path_1 = __importDefault(require("node:path"));
9
+ const strict_1 = __importDefault(require("node:assert/strict"));
10
+ const node_test_1 = require("node:test");
11
+ const fs_tools_1 = require("./fs-tools");
12
+ (0, node_test_1.describe)('fs tools', () => {
13
+ let workspace;
14
+ (0, node_test_1.beforeEach)(async () => {
15
+ workspace = await node_fs_1.promises.mkdtemp(node_path_1.default.join(node_os_1.default.tmpdir(), 'fs-tools-'));
16
+ });
17
+ (0, node_test_1.afterEach)(async () => {
18
+ await node_fs_1.promises.rm(workspace, { recursive: true, force: true });
19
+ });
20
+ (0, node_test_1.it)('reports a missing directory as an empty listing instead of failing', async () => {
21
+ const tools = (0, fs_tools_1.createFsTools)(workspace);
22
+ const result = (await tools.list_files.execute({ path: 'research' }, callOptions()));
23
+ strict_1.default.deepEqual(result, { exists: false, entries: [] });
24
+ });
25
+ (0, node_test_1.it)('lists files and directories under an existing path', async () => {
26
+ await node_fs_1.promises.mkdir(node_path_1.default.join(workspace, 'research'));
27
+ await node_fs_1.promises.writeFile(node_path_1.default.join(workspace, 'research', 'notes.md'), '# plan');
28
+ const tools = (0, fs_tools_1.createFsTools)(workspace);
29
+ const result = (await tools.list_files.execute({ path: 'research' }, callOptions()));
30
+ strict_1.default.equal(result.exists, true);
31
+ strict_1.default.deepEqual(result.entries, [{ name: 'notes.md', type: 'file' }]);
32
+ });
33
+ (0, node_test_1.it)('rejects paths that escape the workspace', async () => {
34
+ const tools = (0, fs_tools_1.createFsTools)(workspace);
35
+ await strict_1.default.rejects(() => Promise.resolve(tools.read_file.execute({ path: '/etc/passwd' }, callOptions())), /escapes the workspace/);
36
+ });
37
+ });
38
+ function callOptions() {
39
+ return { toolCallId: 'call-1', messages: [] };
40
+ }
41
+ //# sourceMappingURL=fs-tools.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fs-tools.test.js","sourceRoot":"","sources":["../../src/tools/fs-tools.test.ts"],"names":[],"mappings":";;;;;AAAA,qCAAwC;AACxC,sDAAwB;AACxB,0DAA4B;AAC5B,gEAAuC;AACvC,yCAA+D;AAC/D,yCAA0C;AAI1C,IAAA,oBAAQ,EAAC,UAAU,EAAE,GAAG,EAAE;IACxB,IAAI,SAAiB,CAAA;IAErB,IAAA,sBAAU,EAAC,KAAK,IAAI,EAAE;QACpB,SAAS,GAAG,MAAM,kBAAE,CAAC,OAAO,CAAC,mBAAI,CAAC,IAAI,CAAC,iBAAE,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,CAAC,CAAA;IACnE,CAAC,CAAC,CAAA;IAEF,IAAA,qBAAS,EAAC,KAAK,IAAI,EAAE;QACnB,MAAM,kBAAE,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAC1D,CAAC,CAAC,CAAA;IAEF,IAAA,cAAE,EAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;QAClF,MAAM,KAAK,GAAG,IAAA,wBAAa,EAAC,SAAS,CAAC,CAAA;QACtC,MAAM,MAAM,GAAG,CAAC,MAAM,KAAK,CAAC,UAAU,CAAC,OAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,WAAW,EAAE,CAAC,CAAe,CAAA;QACnG,gBAAM,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAA;IAC1D,CAAC,CAAC,CAAA;IAEF,IAAA,cAAE,EAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,kBAAE,CAAC,KAAK,CAAC,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAA;QAChD,MAAM,kBAAE,CAAC,SAAS,CAAC,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAA;QAC1E,MAAM,KAAK,GAAG,IAAA,wBAAa,EAAC,SAAS,CAAC,CAAA;QACtC,MAAM,MAAM,GAAG,CAAC,MAAM,KAAK,CAAC,UAAU,CAAC,OAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,WAAW,EAAE,CAAC,CAAe,CAAA;QACnG,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QACjC,gBAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;IACxE,CAAC,CAAC,CAAA;IAEF,IAAA,cAAE,EAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,KAAK,GAAG,IAAA,wBAAa,EAAC,SAAS,CAAC,CAAA;QACtC,MAAM,gBAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,OAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAA;IACxI,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,SAAS,WAAW;IAClB,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;AAC/C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@multiplayer-app/agent",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
4
4
  "description": "Agent that runs inside a session VM — one-shot coding tasks or long-lived research sessions driven over the gateway socket; local file/exec tools, FilingRamp research tools, MCP over env-var config",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",