@multiplayer-app/agent 0.1.10 → 0.1.12

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 (106) hide show
  1. package/dist/agent/model-failure.d.ts +10 -0
  2. package/dist/agent/model-failure.d.ts.map +1 -0
  3. package/dist/agent/model-failure.js +50 -0
  4. package/dist/agent/model-failure.js.map +1 -0
  5. package/dist/agent/profiles/research.d.ts.map +1 -1
  6. package/dist/agent/profiles/research.js +21 -11
  7. package/dist/agent/profiles/research.js.map +1 -1
  8. package/dist/agent/progress-reminder.test.d.ts +2 -0
  9. package/dist/agent/progress-reminder.test.d.ts.map +1 -0
  10. package/dist/agent/progress-reminder.test.js +20 -0
  11. package/dist/agent/progress-reminder.test.js.map +1 -0
  12. package/dist/agent/turn-runner.d.ts +18 -1
  13. package/dist/agent/turn-runner.d.ts.map +1 -1
  14. package/dist/agent/turn-runner.js +60 -7
  15. package/dist/agent/turn-runner.js.map +1 -1
  16. package/dist/context-pruning.d.ts +13 -0
  17. package/dist/context-pruning.d.ts.map +1 -0
  18. package/dist/context-pruning.js +61 -0
  19. package/dist/context-pruning.js.map +1 -0
  20. package/dist/context-pruning.test.d.ts +2 -0
  21. package/dist/context-pruning.test.d.ts.map +1 -0
  22. package/dist/context-pruning.test.js +48 -0
  23. package/dist/context-pruning.test.js.map +1 -0
  24. package/dist/models/resolve-model.d.ts.map +1 -1
  25. package/dist/models/resolve-model.js +3 -1
  26. package/dist/models/resolve-model.js.map +1 -1
  27. package/dist/models/usage.d.ts +4 -0
  28. package/dist/models/usage.d.ts.map +1 -1
  29. package/dist/models/usage.js +8 -2
  30. package/dist/models/usage.js.map +1 -1
  31. package/dist/research/extract-texts.d.ts +41 -0
  32. package/dist/research/extract-texts.d.ts.map +1 -0
  33. package/dist/research/extract-texts.js +239 -0
  34. package/dist/research/extract-texts.js.map +1 -0
  35. package/dist/research/extract-texts.test.d.ts +2 -0
  36. package/dist/research/extract-texts.test.d.ts.map +1 -0
  37. package/dist/research/extract-texts.test.js +120 -0
  38. package/dist/research/extract-texts.test.js.map +1 -0
  39. package/dist/research/extraction-tool.d.ts +1 -1
  40. package/dist/research/extraction-tool.d.ts.map +1 -1
  41. package/dist/research/extraction-tool.js +24 -50
  42. package/dist/research/extraction-tool.js.map +1 -1
  43. package/dist/research/extraction-tool.test.js +2 -0
  44. package/dist/research/extraction-tool.test.js.map +1 -1
  45. package/dist/research/filingramp/attachment-tools.d.ts.map +1 -1
  46. package/dist/research/filingramp/attachment-tools.js +122 -23
  47. package/dist/research/filingramp/attachment-tools.js.map +1 -1
  48. package/dist/research/filingramp/document-search-tool.d.ts.map +1 -1
  49. package/dist/research/filingramp/document-search-tool.js +88 -30
  50. package/dist/research/filingramp/document-search-tool.js.map +1 -1
  51. package/dist/research/filingramp/filing-detail-tool.d.ts +4 -0
  52. package/dist/research/filingramp/filing-detail-tool.d.ts.map +1 -1
  53. package/dist/research/filingramp/filing-detail-tool.js +57 -10
  54. package/dist/research/filingramp/filing-detail-tool.js.map +1 -1
  55. package/dist/research/filingramp/shared.d.ts +16 -0
  56. package/dist/research/filingramp/shared.d.ts.map +1 -1
  57. package/dist/research/filingramp/shared.js +74 -2
  58. package/dist/research/filingramp/shared.js.map +1 -1
  59. package/dist/research/filingramp-contract.d.ts.map +1 -1
  60. package/dist/research/filingramp-contract.js +8 -2
  61. package/dist/research/filingramp-contract.js.map +1 -1
  62. package/dist/research/filingramp-tools.d.ts +1 -0
  63. package/dist/research/filingramp-tools.d.ts.map +1 -1
  64. package/dist/research/filingramp-tools.js +5 -0
  65. package/dist/research/filingramp-tools.js.map +1 -1
  66. package/dist/research/filingramp-tools.test.js +93 -0
  67. package/dist/research/filingramp-tools.test.js.map +1 -1
  68. package/dist/research/prompt.d.ts.map +1 -1
  69. package/dist/research/prompt.js +16 -7
  70. package/dist/research/prompt.js.map +1 -1
  71. package/dist/runtime/config.d.ts.map +1 -1
  72. package/dist/runtime/config.js +6 -5
  73. package/dist/runtime/config.js.map +1 -1
  74. package/dist/runtime/lambda-microvm.js +73 -25
  75. package/dist/runtime/lambda-microvm.js.map +1 -1
  76. package/dist/runtime/microvm-bootstrap.d.ts +18 -0
  77. package/dist/runtime/microvm-bootstrap.d.ts.map +1 -0
  78. package/dist/runtime/microvm-bootstrap.js +77 -0
  79. package/dist/runtime/microvm-bootstrap.js.map +1 -0
  80. package/dist/runtime/microvm-bootstrap.test.d.ts +2 -0
  81. package/dist/runtime/microvm-bootstrap.test.d.ts.map +1 -0
  82. package/dist/runtime/microvm-bootstrap.test.js +50 -0
  83. package/dist/runtime/microvm-bootstrap.test.js.map +1 -0
  84. package/dist/session/runtime.d.ts +8 -0
  85. package/dist/session/runtime.d.ts.map +1 -1
  86. package/dist/session/runtime.js +49 -8
  87. package/dist/session/runtime.js.map +1 -1
  88. package/dist/tool-call-repair.d.ts +11 -0
  89. package/dist/tool-call-repair.d.ts.map +1 -0
  90. package/dist/tool-call-repair.js +91 -0
  91. package/dist/tool-call-repair.js.map +1 -0
  92. package/dist/tool-call-repair.test.d.ts +2 -0
  93. package/dist/tool-call-repair.test.d.ts.map +1 -0
  94. package/dist/tool-call-repair.test.js +50 -0
  95. package/dist/tool-call-repair.test.js.map +1 -0
  96. package/dist/tools/exec-tools.d.ts +1 -0
  97. package/dist/tools/exec-tools.d.ts.map +1 -1
  98. package/dist/tools/exec-tools.js +23 -3
  99. package/dist/tools/exec-tools.js.map +1 -1
  100. package/dist/transport/protocol.d.ts +9 -4
  101. package/dist/transport/protocol.d.ts.map +1 -1
  102. package/dist/transport/protocol.js +6 -6
  103. package/dist/transport/protocol.js.map +1 -1
  104. package/dist/transport/protocol.test.js +1 -1
  105. package/dist/transport/protocol.test.js.map +1 -1
  106. package/package.json +1 -1
@@ -10,8 +10,11 @@ const node_path_1 = __importDefault(require("node:path"));
10
10
  const profiles_1 = require("../agent/profiles");
11
11
  const conversation_1 = require("./conversation");
12
12
  const turn_runner_1 = require("../agent/turn-runner");
13
+ const model_failure_1 = require("../agent/model-failure");
13
14
  const workspace_1 = require("../persistence/workspace");
14
15
  exports.PERIODIC_CHECKPOINT_MS = 5 * 60000;
16
+ /** Share of the token budget after which a research turn stops researching and saves what it has. */
17
+ const WRAP_UP_AT = 0.9;
15
18
  class SessionRuntime {
16
19
  constructor(config, link, dependencies = {}) {
17
20
  var _a, _b, _c;
@@ -155,23 +158,52 @@ class SessionRuntime {
155
158
  budgetExceeded() {
156
159
  return this.budget !== undefined && this.usedTokens >= this.budget;
157
160
  }
161
+ nearBudget() {
162
+ return this.budget !== undefined && this.usedTokens >= this.budget * WRAP_UP_AT;
163
+ }
164
+ /**
165
+ * The budget pause as a question with an answer form, like the agent's own request_clarification:
166
+ * the platform routes the answer straight back here (answer-research-question.ts) instead of to
167
+ * the chat's orchestrator, which would otherwise decide for itself whether to resume.
168
+ */
169
+ askBudgetQuestion(messageId) {
170
+ var _a, _b;
171
+ const toolCallId = `budget-${messageId}-${this.usedTokens}`;
172
+ const extension = (_b = (_a = this.config.tokenBudget) === null || _a === void 0 ? void 0 : _a.toLocaleString()) !== null && _b !== void 0 ? _b : '';
173
+ const input = {
174
+ question: `The token budget for this session is used up. Continue the research with ${extension} more tokens, or wrap up with what I have?`,
175
+ selectionMode: 'single',
176
+ options: [
177
+ { id: 'continue', label: `Continue (+${extension} tokens)` },
178
+ { id: 'wrap_up', label: 'Wrap up with what I have' },
179
+ ],
180
+ allowFreeText: false,
181
+ };
182
+ this.link.send({ type: 'tool_call_start', messageId, toolCallId, toolName: 'request_clarification', input });
183
+ this.link.send({ type: 'question', messageId, toolCallId, question: input.question });
184
+ }
158
185
  async runTurn(messageId, text) {
159
186
  var _a;
160
187
  const turn = { messageId, abort: new AbortController() };
188
+ let wrapUpOnly = false;
161
189
  this.current = turn;
162
190
  let accepted = false;
163
191
  let completed = false;
164
192
  let responseRecorded = false;
165
193
  try {
166
194
  this.link.send({ type: 'turn_start', messageId });
167
- // A paused session resumes when the user agrees to another original-sized budget.
195
+ // A paused session resumes when the user agrees to another original-sized budget. The answer
196
+ // usually comes from the pause question's form (askBudgetQuestion labels).
168
197
  if (this.budgetPaused && this.config.tokenBudget) {
169
198
  if (/^(continue|yes|go on|proceed)/i.test(text.trim())) {
170
199
  this.budget = this.usedTokens + this.config.tokenBudget;
171
200
  this.budgetPaused = false;
172
201
  }
202
+ else if (/^wrap/i.test(text.trim()) && this.definition.profile === 'research') {
203
+ wrapUpOnly = true;
204
+ }
173
205
  else {
174
- this.link.send({ type: 'done', messageId, summary: 'The token budget is used up. Reply "continue" to extend it, or stop the session.' });
206
+ this.link.send({ type: 'done', messageId, summary: 'The token budget is used up. Reply "continue" to extend it, or "wrap up" to save what I have.' });
175
207
  return;
176
208
  }
177
209
  }
@@ -184,6 +216,8 @@ class SessionRuntime {
184
216
  workspaceDir: this.workspaceDir,
185
217
  abortSignal: turn.abort.signal,
186
218
  budgetExceeded: () => this.budgetExceeded(),
219
+ nearBudget: () => this.nearBudget(),
220
+ wrapUpOnly,
187
221
  recordUsage: (usage) => { this.usedTokens += usage.totalTokens; },
188
222
  emit: (event) => this.link.send(event),
189
223
  });
@@ -192,11 +226,17 @@ class SessionRuntime {
192
226
  completed = result.status === 'completed';
193
227
  if (result.status === 'completed') {
194
228
  let partialText = result.partialText;
195
- if (this.budgetExceeded() && !result.askedUser) {
229
+ // A wrap-up that finished just under the budget still pauses: the next turn would only wrap up again.
230
+ if ((this.budgetExceeded() || result.wrappedUp) && !result.askedUser) {
196
231
  this.budgetPaused = true;
197
- const notice = `${partialText ? '\n\n' : ''}I have used ${this.usedTokens.toLocaleString()} tokens, which reaches this session's budget. Reply "continue" to extend it by ${(_a = this.config.tokenBudget) === null || _a === void 0 ? void 0 : _a.toLocaleString()} tokens, or tell me to wrap up with what I have.`;
232
+ const saved = result.saved ? ' I saved partial findings and notes.' : '';
233
+ const notice = wrapUpOnly
234
+ ? `${partialText ? '\n\n' : ''}${result.saved ? 'I saved what I have.' : 'I could not save the findings.'} Reply "continue" if you want me to resume the research.`
235
+ : `${partialText ? '\n\n' : ''}I have used ${this.usedTokens.toLocaleString()} tokens, which reaches this session's budget.${saved}`;
198
236
  partialText += notice;
199
237
  this.link.send({ type: 'text_delta', messageId, text: notice });
238
+ if (!wrapUpOnly)
239
+ this.askBudgetQuestion(messageId);
200
240
  }
201
241
  await this.checkpoint('turn finished');
202
242
  this.link.send({ type: 'done', messageId, summary: result.text || partialText });
@@ -205,14 +245,14 @@ class SessionRuntime {
205
245
  this.link.send({ type: 'done', messageId, summary: result.partialText ? `${result.partialText}\n\n_Stopped._` : 'Stopped.' });
206
246
  }
207
247
  else {
208
- this.reportTurnError(messageId, result.error);
248
+ this.reportTurnError(messageId, result.error, result.userMessage);
209
249
  }
210
250
  }
211
251
  catch (error) {
212
252
  // Unexpected executor or checkpoint failures must not leave an unanswered user message.
213
253
  if (accepted && !responseRecorded)
214
254
  this.messages.push({ role: 'assistant', content: '(turn failed)' });
215
- this.reportTurnError(messageId, error instanceof Error ? error.message : String(error));
255
+ this.reportTurnError(messageId, (0, model_failure_1.describeModelFailure)(error), (_a = (0, model_failure_1.userFacingModelFailure)(error)) !== null && _a !== void 0 ? _a : (0, model_failure_1.describeModelFailure)(error));
216
256
  }
217
257
  finally {
218
258
  if (accepted && !completed) {
@@ -222,8 +262,9 @@ class SessionRuntime {
222
262
  this.lastActivityAt = Date.now();
223
263
  }
224
264
  }
225
- reportTurnError(messageId, message) {
226
- console.error('[session] turn failed:', message);
265
+ /** `detail` is the failure as reported (log only); `message` is what reaches the chat. */
266
+ reportTurnError(messageId, detail, message) {
267
+ console.error('[session] turn failed:', detail);
227
268
  this.link.send({ type: 'error', messageId, message });
228
269
  }
229
270
  async loadConversation() {
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/session/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/session/runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { type JSONSchema7, type ToolCallRepairFunction, type ToolSet } from 'ai';
2
+ /** Shown in the chat for a command whose description the model left out (exec-tools.ts). */
3
+ export declare const DEFAULT_DESCRIPTION = "Analyzing the downloaded data";
4
+ /**
5
+ * The input with stringified top-level values turned into the types the schema expects, and a
6
+ * required `description` (a label for the chat, never part of the work) filled in when missing;
7
+ * undefined when nothing changed.
8
+ */
9
+ export declare function coerceToolInput(input: Record<string, unknown>, schema: JSONSchema7): Record<string, unknown> | undefined;
10
+ export declare const repairStringifiedToolInput: ToolCallRepairFunction<ToolSet>;
11
+ //# sourceMappingURL=tool-call-repair.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-call-repair.d.ts","sourceRoot":"","sources":["../src/tool-call-repair.ts"],"names":[],"mappings":"AAKA,OAAO,EAAyB,KAAK,WAAW,EAAE,KAAK,sBAAsB,EAAE,KAAK,OAAO,EAAE,MAAM,IAAI,CAAA;AAwCvG,4FAA4F;AAC5F,eAAO,MAAM,mBAAmB,kCAAkC,CAAA;AAElE;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAcxH;AAED,eAAO,MAAM,0BAA0B,EAAE,sBAAsB,CAAC,OAAO,CAMtE,CAAA"}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.repairStringifiedToolInput = exports.DEFAULT_DESCRIPTION = void 0;
4
+ exports.coerceToolInput = coerceToolInput;
5
+ // Repairs tool calls whose arguments are the right values in the wrong JSON type. Models
6
+ // sometimes send a nested argument as JSON text — fields: "[\"a\", \"b\"]" instead of
7
+ // ["a", "b"], allowed: "{…}", concurrency: "4" — and the whole call then fails validation and
8
+ // costs a step. Only top-level properties are touched, and only towards the type the tool's
9
+ // schema declares; anything else is left for the model to fix from the validation error.
10
+ const ai_1 = require("ai");
11
+ function typesOf(schema) {
12
+ var _a, _b;
13
+ const types = new Set();
14
+ if (!schema || typeof schema === 'boolean')
15
+ return types;
16
+ if (typeof schema.type === 'string')
17
+ types.add(schema.type);
18
+ else if (Array.isArray(schema.type))
19
+ schema.type.forEach((type) => types.add(type));
20
+ for (const branch of [...((_a = schema.anyOf) !== null && _a !== void 0 ? _a : []), ...((_b = schema.oneOf) !== null && _b !== void 0 ? _b : [])])
21
+ typesOf(branch).forEach((type) => types.add(type));
22
+ return types;
23
+ }
24
+ function parseJson(text) {
25
+ try {
26
+ return JSON.parse(text);
27
+ }
28
+ catch (_a) {
29
+ return undefined;
30
+ }
31
+ }
32
+ /** One value converted towards the schema's type, or the value itself when no conversion fits. */
33
+ function coerce(value, schema) {
34
+ if (typeof value !== 'string')
35
+ return value;
36
+ const types = typesOf(schema);
37
+ if (types.has('string'))
38
+ return value;
39
+ const text = value.trim();
40
+ if (types.has('array') && text.startsWith('[')) {
41
+ const parsed = parseJson(text);
42
+ if (Array.isArray(parsed))
43
+ return parsed;
44
+ }
45
+ if (types.has('object') && text.startsWith('{')) {
46
+ const parsed = parseJson(text);
47
+ if (parsed && typeof parsed === 'object' && !Array.isArray(parsed))
48
+ return parsed;
49
+ }
50
+ if ((types.has('number') || types.has('integer')) && /^-?\d+(\.\d+)?$/.test(text))
51
+ return Number(text);
52
+ if (types.has('boolean') && (text === 'true' || text === 'false'))
53
+ return text === 'true';
54
+ return value;
55
+ }
56
+ /** Shown in the chat for a command whose description the model left out (exec-tools.ts). */
57
+ exports.DEFAULT_DESCRIPTION = 'Analyzing the downloaded data';
58
+ /**
59
+ * The input with stringified top-level values turned into the types the schema expects, and a
60
+ * required `description` (a label for the chat, never part of the work) filled in when missing;
61
+ * undefined when nothing changed.
62
+ */
63
+ function coerceToolInput(input, schema) {
64
+ var _a, _b;
65
+ const properties = (_a = schema.properties) !== null && _a !== void 0 ? _a : {};
66
+ let changed = false;
67
+ const out = {};
68
+ if (((_b = schema.required) === null || _b === void 0 ? void 0 : _b.includes('description')) && !(typeof input.description === 'string' && input.description.trim())) {
69
+ out.description = exports.DEFAULT_DESCRIPTION;
70
+ changed = true;
71
+ }
72
+ for (const [key, value] of Object.entries(input)) {
73
+ if (key === 'description' && changed && out.description === exports.DEFAULT_DESCRIPTION)
74
+ continue;
75
+ out[key] = coerce(value, properties[key]);
76
+ if (out[key] !== value)
77
+ changed = true;
78
+ }
79
+ return changed ? out : undefined;
80
+ }
81
+ const repairStringifiedToolInput = async ({ toolCall, inputSchema, error }) => {
82
+ if (!ai_1.InvalidToolInputError.isInstance(error))
83
+ return null;
84
+ const input = parseJson(toolCall.input);
85
+ if (!input || typeof input !== 'object' || Array.isArray(input))
86
+ return null;
87
+ const fixed = coerceToolInput(input, await inputSchema({ toolName: toolCall.toolName }));
88
+ return fixed ? { ...toolCall, input: JSON.stringify(fixed) } : null;
89
+ };
90
+ exports.repairStringifiedToolInput = repairStringifiedToolInput;
91
+ //# sourceMappingURL=tool-call-repair.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-call-repair.js","sourceRoot":"","sources":["../src/tool-call-repair.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tool-call-repair.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-call-repair.test.d.ts","sourceRoot":"","sources":["../src/tool-call-repair.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,50 @@
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 strict_1 = __importDefault(require("node:assert/strict"));
7
+ const node_test_1 = require("node:test");
8
+ const tool_call_repair_1 = require("./tool-call-repair");
9
+ const schema = {
10
+ type: 'object',
11
+ properties: {
12
+ question: { type: 'string' },
13
+ fields: { type: 'array', items: { type: 'string' } },
14
+ allowed: { type: 'object' },
15
+ concurrency: { type: 'integer' },
16
+ dryRun: { type: 'boolean' },
17
+ windows: { anyOf: [{ type: 'object' }, { type: 'null' }] },
18
+ },
19
+ };
20
+ (0, node_test_1.describe)('coerceToolInput', () => {
21
+ (0, node_test_1.it)('turns stringified arrays, objects, numbers and booleans into the declared types', () => {
22
+ const fixed = (0, tool_call_repair_1.coerceToolInput)({
23
+ question: '[not touched: a string field]',
24
+ fields: '["form_title", "purpose"]',
25
+ allowed: '{"coverage_effect": ["broadened", "restricted"]}',
26
+ concurrency: '4',
27
+ dryRun: 'true',
28
+ windows: '{"patterns": ["cancel"]}',
29
+ }, schema);
30
+ strict_1.default.deepEqual(fixed, {
31
+ question: '[not touched: a string field]',
32
+ fields: ['form_title', 'purpose'],
33
+ allowed: { coverage_effect: ['broadened', 'restricted'] },
34
+ concurrency: 4,
35
+ dryRun: true,
36
+ windows: { patterns: ['cancel'] },
37
+ });
38
+ });
39
+ (0, node_test_1.it)('leaves input it cannot fix alone', () => {
40
+ strict_1.default.equal((0, tool_call_repair_1.coerceToolInput)({ fields: ['a'], concurrency: 4 }, schema), undefined);
41
+ strict_1.default.equal((0, tool_call_repair_1.coerceToolInput)({ fields: '[broken json', concurrency: 'four' }, schema), undefined);
42
+ });
43
+ (0, node_test_1.it)('fills a missing required description so the call does not fail', () => {
44
+ const commandSchema = { type: 'object', required: ['description', 'command'], properties: { description: { type: 'string' }, command: { type: 'string' } } };
45
+ strict_1.default.deepEqual((0, tool_call_repair_1.coerceToolInput)({ command: 'ls' }, commandSchema), { description: 'Analyzing the downloaded data', command: 'ls' });
46
+ strict_1.default.deepEqual((0, tool_call_repair_1.coerceToolInput)({ description: '', command: 'ls' }, commandSchema), { description: 'Analyzing the downloaded data', command: 'ls' });
47
+ strict_1.default.equal((0, tool_call_repair_1.coerceToolInput)({ description: 'Listing files', command: 'ls' }, commandSchema), undefined);
48
+ });
49
+ });
50
+ //# sourceMappingURL=tool-call-repair.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-call-repair.test.js","sourceRoot":"","sources":["../src/tool-call-repair.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  export declare function createExecTools(workspaceDir: string): {
2
2
  run_command: import("ai").Tool<{
3
+ description: string;
3
4
  command: string;
4
5
  cwd?: string | undefined;
5
6
  timeoutMs?: number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"exec-tools.d.ts","sourceRoot":"","sources":["../../src/tools/exec-tools.ts"],"names":[],"mappings":"AAeA,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM;;;;;;EAqCnD"}
1
+ {"version":3,"file":"exec-tools.d.ts","sourceRoot":"","sources":["../../src/tools/exec-tools.ts"],"names":[],"mappings":"AAwBA,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM;;;;;;;EAgDnD"}
@@ -10,18 +10,33 @@ const child_process_1 = require("child_process");
10
10
  const path_1 = __importDefault(require("path"));
11
11
  const ai_1 = require("ai");
12
12
  const zod_1 = require("zod");
13
+ const tool_call_repair_1 = require("../tool-call-repair");
13
14
  const MAX_OUTPUT_BYTES = 1024 * 1024;
15
+ /** Output kept in the conversation per stream; every later step re-sends it, so the rest belongs in a file. */
16
+ const MAX_INLINE_OUTPUT_CHARS = 8000;
14
17
  const DEFAULT_TIMEOUT_MS = 60000;
18
+ /** Head and tail of a long output: the start says what ran, the end how it finished. */
15
19
  function truncate(text) {
16
- if (Buffer.byteLength(text, 'utf8') <= MAX_OUTPUT_BYTES)
20
+ if (text.length <= MAX_INLINE_OUTPUT_CHARS)
17
21
  return { text, truncated: false };
18
- return { text: `${text.slice(0, MAX_OUTPUT_BYTES)}…[truncated]`, truncated: true };
22
+ const keep = MAX_INLINE_OUTPUT_CHARS / 2;
23
+ const omitted = text.length - MAX_INLINE_OUTPUT_CHARS;
24
+ return {
25
+ text: `${text.slice(0, keep)}\n…[${omitted.toLocaleString()} chars omitted — redirect the output to a file and grep it]…\n${text.slice(-keep)}`,
26
+ truncated: true,
27
+ };
19
28
  }
20
29
  function createExecTools(workspaceDir) {
21
30
  const runCommandTool = (0, ai_1.tool)({
22
31
  description: "Run a shell command inside the session's workspace (npm install, build steps, starting a dev server). Returns exit code and captured output. For a long-lived process (a dev server), background it (e.g. `nohup npm run dev &`) so this call returns promptly — the live preview picks it up once it's listening on $PORT.",
23
32
  inputSchema: zod_1.z.object({
24
- command: zod_1.z.string().min(1).max(4000).describe('Shell command run in the workspace root (or cwd)'),
33
+ // The chat shows this line instead of the command: users read what is being done, not shell syntax.
34
+ description: zod_1.z
35
+ .string()
36
+ .min(1)
37
+ .max(100)
38
+ .describe('What this command does, in plain words for a non-technical reader, e.g. "Comparing each form with its mock copy" (no file paths or shell syntax)'),
39
+ command: zod_1.z.string().min(1).max(16000).describe('Shell command run in the workspace root (or cwd); for a longer script, write it with write_files and run it'),
25
40
  cwd: zod_1.z.string().max(500).optional().describe('Workspace-relative working directory'),
26
41
  timeoutMs: zod_1.z.number().int().positive().max(300000).optional().describe('Wall-clock limit, default 60000'),
27
42
  }),
@@ -42,6 +57,11 @@ function createExecTools(workspaceDir) {
42
57
  durationMs,
43
58
  truncated: out.truncated || err.truncated,
44
59
  timedOut,
60
+ // The repair filled a missing description (tool-call-repair.ts); without a word here the
61
+ // model keeps copying its own description-less calls and the chat shows the same label.
62
+ ...(input.description === tool_call_repair_1.DEFAULT_DESCRIPTION
63
+ ? { note: 'You left out description: the user sees it as this step\'s label. Set it on every run_command.' }
64
+ : {}),
45
65
  });
46
66
  });
47
67
  void child;
@@ -1 +1 @@
1
- {"version":3,"file":"exec-tools.js","sourceRoot":"","sources":["../../src/tools/exec-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exec-tools.js","sourceRoot":"","sources":["../../src/tools/exec-tools.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,10 @@ export interface AgentUsage {
18
18
  inputTokens: number;
19
19
  outputTokens: number;
20
20
  totalTokens: number;
21
+ /** Part of inputTokens served from the provider's prompt cache. */
22
+ cacheReadTokens?: number;
23
+ /** Part of inputTokens written to the prompt cache. */
24
+ cacheWriteTokens?: number;
21
25
  model: string;
22
26
  }
23
27
  /** A text file the guest wants stored as a session artifact (findings, result tables, evidence). */
@@ -182,11 +186,12 @@ export declare const AGENT_ENV: {
182
186
  readonly GIT_REPOSITORY_DIR: "GIT_REPOSITORY_DIR";
183
187
  /** Branch the session's workspace is mirrored to (default session/<SESSION_ID>). */
184
188
  readonly GIT_BRANCH: "GIT_BRANCH";
185
- /** secret */
186
- readonly GIT_ACCESS_TOKEN: "GIT_ACCESS_TOKEN";
187
189
  readonly SESSION_STORAGE_URL: "SESSION_STORAGE_URL";
188
- /** secret: scoped to this session's snapshots */
189
- readonly SESSION_STORAGE_TOKEN: "SESSION_STORAGE_TOKEN";
190
+ /**
191
+ * secret: the VM's API-issued token (POST /tokens) — authenticates both the project's Git
192
+ * repository and the session's workspace snapshots, whichever this VM was scoped to.
193
+ */
194
+ readonly ACCESS_TOKEN: "ACCESS_TOKEN";
190
195
  };
191
196
  export declare const AGENT_SECRET_ENV_KEYS: readonly string[];
192
197
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/transport/protocol.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,mBAAmB,EAAG,qBAA8B,CAAA;AACjE,eAAO,MAAM,qBAAqB,EAAG,uBAAgC,CAAA;AAErE,kGAAkG;AAClG,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,gGAAgG;AAChG,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAA;IAChD,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,oGAAoG;AACpG,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,MAAM,mBAAmB;AAC7B,0FAA0F;AACxF;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,sBAAsB,EAAE,CAAA;CAAE;AAC9F,wFAAwF;GACtF;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE;AACnB,qFAAqF;GACnF;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAE/F,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,OAAO,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,UAAU,SAAS;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,qFAAqF;IACrF,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,8FAA8F;IAC9F,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,MAAM,iBAAiB,GAAG,SAAS,GACvC;AACE,4EAA4E;AAC1E;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE;AACjF,mDAAmD;GACjD;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GACpG;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE;AACvG,8FAA8F;GAC5F;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,iBAAiB,EAAE,CAAA;CAAE;AAC1F;;;;GAIG;GACD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC7E;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE;AACzD,gDAAgD;GAC9C;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,gBAAgB,EAAE,CAAA;CAAE;AAClE,mFAAmF;GACjF;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,GACzG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAEtD;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GACxE;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CACpC,CAAA;AAEH,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;AAE7D,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAGrE;AAED,eAAO,MAAM,yBAAyB,EAAE,SAAS,qBAAqB,EAgBrE,CAAA;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAQ9E;AAOD,eAAO,MAAM,SAAS;;IAEpB,uFAAuF;;IAEvF,wCAAwC;;;;IAIxC,6DAA6D;;IAE7D,wFAAwF;;;;IAIxF,aAAa;;IAEb,gDAAgD;;;IAGhD,2CAA2C;;;IAG3C,wFAAwF;;IAExF,qFAAqF;;IAErF,aAAa;;IAEb,mEAAmE;;IAEnE,uDAAuD;;;;;IAKvD,oFAAoF;;IAEpF,aAAa;;;IAGb,iDAAiD;;CAEzC,CAAA;AAEV,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EASlD,CAAA"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/transport/protocol.ts"],"names":[],"mappings":"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"}
@@ -90,11 +90,12 @@ exports.AGENT_ENV = {
90
90
  GIT_REPOSITORY_DIR: 'GIT_REPOSITORY_DIR',
91
91
  /** Branch the session's workspace is mirrored to (default session/<SESSION_ID>). */
92
92
  GIT_BRANCH: 'GIT_BRANCH',
93
- /** secret */
94
- GIT_ACCESS_TOKEN: 'GIT_ACCESS_TOKEN',
95
93
  SESSION_STORAGE_URL: 'SESSION_STORAGE_URL',
96
- /** secret: scoped to this session's snapshots */
97
- SESSION_STORAGE_TOKEN: 'SESSION_STORAGE_TOKEN',
94
+ /**
95
+ * secret: the VM's API-issued token (POST /tokens) — authenticates both the project's Git
96
+ * repository and the session's workspace snapshots, whichever this VM was scoped to.
97
+ */
98
+ ACCESS_TOKEN: 'ACCESS_TOKEN',
98
99
  };
99
100
  exports.AGENT_SECRET_ENV_KEYS = [
100
101
  exports.AGENT_ENV.AGENT_SOCKET_TOKEN,
@@ -102,8 +103,7 @@ exports.AGENT_SECRET_ENV_KEYS = [
102
103
  exports.AGENT_ENV.ANTHROPIC_API_KEY,
103
104
  exports.AGENT_ENV.FILINGRAMP_AUTH_TOKEN,
104
105
  exports.AGENT_ENV.FILINGRAMP_CLIENT_SECRET,
105
- exports.AGENT_ENV.GIT_ACCESS_TOKEN,
106
- exports.AGENT_ENV.SESSION_STORAGE_TOKEN,
106
+ exports.AGENT_ENV.ACCESS_TOKEN,
107
107
  exports.AGENT_ENV.MCP_SERVERS_JSON,
108
108
  ];
109
109
  //# sourceMappingURL=protocol.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/transport/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/transport/protocol.ts"],"names":[],"mappings":";AAAA,yFAAyF;AACzF,6FAA6F;AAC7F,wFAAwF;AACxF,8FAA8F;AAC9F,wEAAwE;AACxE,EAAE;AACF,8CAA8C;AAC9C,kFAAkF;AAClF,6DAA6D;;;AAM7D,4CAEC;AAuFD,oDAGC;AAoBD,kDAQC;AA5HY,QAAA,mBAAmB,GAAG,qBAA8B,CAAA;AACpD,QAAA,qBAAqB,GAAG,uBAAgC,CAAA;AAErE,kGAAkG;AAClG,SAAgB,gBAAgB,CAAC,SAAiB;IAChD,OAAO,iBAAiB,SAAS,EAAE,CAAA;AACrC,CAAC;AAuFD,SAAgB,oBAAoB,CAAC,KAAwB;;IAC3D,mFAAmF;IACnF,OAAO,qBAAqB,KAAK,CAAC,SAAS,IAAI,MAAA,KAAK,CAAC,UAAU,mCAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,GAAG,EAAE,CAAA;AACnG,CAAC;AAEY,QAAA,yBAAyB,GAAqC;IACzE,OAAO;IACP,YAAY;IACZ,YAAY;IACZ,iBAAiB;IACjB,iBAAiB;IACjB,kBAAkB;IAClB,UAAU;IACV,UAAU;IACV,OAAO;IACP,OAAO;IACP,cAAc;IACd,MAAM;IACN,OAAO;IACP,WAAW;IACX,SAAS;CACV,CAAA;AAED,SAAgB,mBAAmB,CAAC,KAAc;IAChD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IACrD,MAAM,KAAK,GAAG,KAAmC,CAAA;IACjD,OAAO,CACL,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC7B,iCAA+C,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CACtE,CAAA;AACH,CAAC;AAED,8FAA8F;AAC9F,8FAA8F;AAC9F,+FAA+F;AAC/F,iDAAiD;AAEpC,QAAA,SAAS,GAAG;IACvB,UAAU,EAAE,YAAY;IACxB,uFAAuF;IACvF,UAAU,EAAE,YAAY;IACxB,wCAAwC;IACxC,aAAa,EAAE,eAAe;IAC9B,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa;IAC1B,6DAA6D;IAC7D,sBAAsB,EAAE,wBAAwB;IAChD,wFAAwF;IACxF,kBAAkB,EAAE,oBAAoB;IACxC,mBAAmB,EAAE,qBAAqB;IAC1C,gBAAgB,EAAE,kBAAkB;IACpC,aAAa;IACb,kBAAkB,EAAE,oBAAoB;IACxC,gDAAgD;IAChD,kBAAkB,EAAE,oBAAoB;IACxC,iBAAiB,EAAE,mBAAmB;IACtC,2CAA2C;IAC3C,gBAAgB,EAAE,kBAAkB;IACpC,uBAAuB,EAAE,yBAAyB;IAClD,wFAAwF;IACxF,qBAAqB,EAAE,uBAAuB;IAC9C,qFAAqF;IACrF,oBAAoB,EAAE,sBAAsB;IAC5C,aAAa;IACb,wBAAwB,EAAE,0BAA0B;IACpD,mEAAmE;IACnE,wBAAwB,EAAE,0BAA0B;IACpD,uDAAuD;IACvD,8BAA8B,EAAE,gCAAgC;IAChE,cAAc,EAAE,gBAAgB;IAChC,cAAc,EAAE,gBAAgB;IAChC,kBAAkB,EAAE,oBAAoB;IACxC,oFAAoF;IACpF,UAAU,EAAE,YAAY;IACxB,mBAAmB,EAAE,qBAAqB;IAC1C;;;OAGG;IACH,YAAY,EAAE,cAAc;CACpB,CAAA;AAEG,QAAA,qBAAqB,GAAsB;IACtD,iBAAS,CAAC,kBAAkB;IAC5B,iBAAS,CAAC,kBAAkB;IAC5B,iBAAS,CAAC,iBAAiB;IAC3B,iBAAS,CAAC,qBAAqB;IAC/B,iBAAS,CAAC,wBAAwB;IAClC,iBAAS,CAAC,YAAY;IACtB,iBAAS,CAAC,gBAAgB;CAC3B,CAAA"}
@@ -23,7 +23,7 @@ const protocol_1 = require("./protocol");
23
23
  strict_1.default.equal((0, protocol_1.agentSessionRoom)('abc'), 'agent-session:abc');
24
24
  });
25
25
  (0, node_test_1.it)('lists every secret env key the platform must keep off the VM record', () => {
26
- for (const key of [protocol_1.AGENT_ENV.FILINGRAMP_CLIENT_SECRET, protocol_1.AGENT_ENV.GIT_ACCESS_TOKEN, protocol_1.AGENT_ENV.AGENT_SOCKET_TOKEN, protocol_1.AGENT_ENV.OPENROUTER_API_KEY]) {
26
+ for (const key of [protocol_1.AGENT_ENV.FILINGRAMP_CLIENT_SECRET, protocol_1.AGENT_ENV.ACCESS_TOKEN, protocol_1.AGENT_ENV.AGENT_SOCKET_TOKEN, protocol_1.AGENT_ENV.OPENROUTER_API_KEY]) {
27
27
  strict_1.default.ok(protocol_1.AGENT_SECRET_ENV_KEYS.includes(key), `${key} must be a secret`);
28
28
  }
29
29
  });
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.test.js","sourceRoot":"","sources":["../../src/transport/protocol.test.ts"],"names":[],"mappings":";;;;;AAAA,gEAAuC;AACvC,yCAAwC;AACxC,yCAAkJ;AAElJ,IAAA,oBAAQ,EAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,IAAA,cAAE,EAAC,sFAAsF,EAAE,GAAG,EAAE;QAC9F,MAAM,KAAK,GAAsB,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;QAC9K,gBAAM,CAAC,KAAK,CAAC,IAAA,+BAAoB,EAAC,KAAK,CAAC,EAAE,IAAA,+BAAoB,EAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAA;QAC7E,gBAAM,CAAC,QAAQ,CAAC,IAAA,+BAAoB,EAAC,KAAK,CAAC,EAAE,IAAA,+BAAoB,EAAC,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC,CAAC,CAAA;QAC5G,gBAAM,CAAC,QAAQ,CAAC,IAAA,+BAAoB,EAAC,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,EAAE,IAAA,+BAAoB,EAAC,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IACxJ,CAAC,CAAC,CAAA;IACF,IAAA,cAAE,EAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,gBAAM,CAAC,KAAK,CAAC,IAAA,8BAAmB,EAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;QACnI,gBAAM,CAAC,KAAK,CAAC,IAAA,8BAAmB,EAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;QAC5E,gBAAM,CAAC,KAAK,CAAC,IAAA,8BAAmB,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;QAC1D,gBAAM,CAAC,KAAK,CAAC,IAAA,8BAAmB,EAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAA;IAChD,CAAC,CAAC,CAAA;IAEF,IAAA,cAAE,EAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,gBAAM,CAAC,KAAK,CAAC,IAAA,2BAAgB,EAAC,KAAK,CAAC,EAAE,mBAAmB,CAAC,CAAA;IAC5D,CAAC,CAAC,CAAA;IAEF,IAAA,cAAE,EAAC,qEAAqE,EAAE,GAAG,EAAE;QAC7E,KAAK,MAAM,GAAG,IAAI,CAAC,oBAAS,CAAC,wBAAwB,EAAE,oBAAS,CAAC,gBAAgB,EAAE,oBAAS,CAAC,kBAAkB,EAAE,oBAAS,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC/I,gBAAM,CAAC,EAAE,CAAC,gCAAqB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,mBAAmB,CAAC,CAAA;QAC3E,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"protocol.test.js","sourceRoot":"","sources":["../../src/transport/protocol.test.ts"],"names":[],"mappings":";;;;;AAAA,gEAAuC;AACvC,yCAAwC;AACxC,yCAAkJ;AAElJ,IAAA,oBAAQ,EAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,IAAA,cAAE,EAAC,sFAAsF,EAAE,GAAG,EAAE;QAC9F,MAAM,KAAK,GAAsB,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;QAC9K,gBAAM,CAAC,KAAK,CAAC,IAAA,+BAAoB,EAAC,KAAK,CAAC,EAAE,IAAA,+BAAoB,EAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAA;QAC7E,gBAAM,CAAC,QAAQ,CAAC,IAAA,+BAAoB,EAAC,KAAK,CAAC,EAAE,IAAA,+BAAoB,EAAC,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC,CAAC,CAAA;QAC5G,gBAAM,CAAC,QAAQ,CAAC,IAAA,+BAAoB,EAAC,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,EAAE,IAAA,+BAAoB,EAAC,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IACxJ,CAAC,CAAC,CAAA;IACF,IAAA,cAAE,EAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,gBAAM,CAAC,KAAK,CAAC,IAAA,8BAAmB,EAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;QACnI,gBAAM,CAAC,KAAK,CAAC,IAAA,8BAAmB,EAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;QAC5E,gBAAM,CAAC,KAAK,CAAC,IAAA,8BAAmB,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;QAC1D,gBAAM,CAAC,KAAK,CAAC,IAAA,8BAAmB,EAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAA;IAChD,CAAC,CAAC,CAAA;IAEF,IAAA,cAAE,EAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,gBAAM,CAAC,KAAK,CAAC,IAAA,2BAAgB,EAAC,KAAK,CAAC,EAAE,mBAAmB,CAAC,CAAA;IAC5D,CAAC,CAAC,CAAA;IAEF,IAAA,cAAE,EAAC,qEAAqE,EAAE,GAAG,EAAE;QAC7E,KAAK,MAAM,GAAG,IAAI,CAAC,oBAAS,CAAC,wBAAwB,EAAE,oBAAS,CAAC,YAAY,EAAE,oBAAS,CAAC,kBAAkB,EAAE,oBAAS,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC3I,gBAAM,CAAC,EAAE,CAAC,gCAAqB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,mBAAmB,CAAC,CAAA;QAC3E,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@multiplayer-app/agent",
3
- "version": "0.1.10",
3
+ "version": "0.1.12",
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",