omniharness-cli 0.1.31 → 0.1.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -35,6 +35,7 @@ The harness treats the **current working directory** as the workspace.
35
35
  |---|---|
36
36
  | `OMNIROUTE_URL` | OmniRoute endpoint (default `http://127.0.0.1:20128`, the HTTP API port) |
37
37
  | `OMNIROUTE_API_KEY` | OmniRoute API key — `Authorization: Bearer <key>` on every request |
38
+ | `OMNIROUTE_MGMT_TOKEN` | OmniRoute management token (`manage` scope) — when set, OmniRoute's MCP tools are discovered and exposed to the agent |
38
39
 
39
40
  If `OMNIROUTE_API_KEY` is unset, the harness asks you to paste the key on
40
41
  interactive launch and holds it **in memory only** — it is never written to
@@ -1,5 +1,6 @@
1
- import { OmniRouteClient } from '../config/omniRoute.js';
2
- import type { AgentMode, HarnessState } from '../types/index.js';
1
+ import { type AttachmentInput } from '../attachments.js';
2
+ import { OmniRouteClient, type CompressionInfo, type McpToolDescriptor } from '../config/omniRoute.js';
3
+ import type { AgentMode, HarnessState, TodoItem } from '../types/index.js';
3
4
  import { type SystemTools } from '../tools/systemTools.js';
4
5
  import { type Skill } from '../skills.js';
5
6
  export interface MastraEngineConfig {
@@ -8,6 +9,8 @@ export interface MastraEngineConfig {
8
9
  mode?: AgentMode;
9
10
  endpoint?: string;
10
11
  apiKey?: string;
12
+ /** OmniRoute management token: when set, OmniRoute MCP tools are discovered and exposed to the agent. */
13
+ mgmtToken?: string;
11
14
  shellAllowed?: boolean;
12
15
  }
13
16
  export type HarnessEvent = {
@@ -34,9 +37,19 @@ export type HarnessEvent = {
34
37
  } | {
35
38
  type: 'text';
36
39
  content: string;
40
+ model?: string;
41
+ compression?: CompressionInfo;
37
42
  } | {
38
43
  type: 'preview';
39
44
  url: string;
45
+ } | {
46
+ type: 'attach';
47
+ name: string;
48
+ kind: AttachmentInput['kind'];
49
+ size: number;
50
+ } | {
51
+ type: 'todos';
52
+ todos: readonly TodoItem[];
40
53
  };
41
54
  export interface ApprovalAction {
42
55
  tool: string;
@@ -47,8 +60,10 @@ export interface MastraEngine {
47
60
  readonly tools: SystemTools;
48
61
  readonly state: HarnessState;
49
62
  readonly skills: readonly Skill[];
63
+ readonly mcpTools: readonly McpToolDescriptor[];
50
64
  subscribe(listener: (event: HarnessEvent) => void): () => void;
51
65
  selectModel(model: string): Promise<void>;
66
+ attach(paths: readonly string[]): Promise<readonly AttachmentInput[]>;
52
67
  setApprovalHandler(handler: (action: ApprovalAction) => Promise<boolean>): void;
53
68
  run(prompt: string, signal?: AbortSignal): Promise<{
54
69
  content: string;
@@ -1,8 +1,13 @@
1
1
  import { exec, spawn } from 'node:child_process';
2
+ import { appendFile, mkdir, readdir, readFile, stat } from 'node:fs/promises';
3
+ import { join, resolve } from 'node:path';
4
+ import { attachmentBlock, kindFromName } from '../attachments.js';
2
5
  import { OmniRouteClient } from '../config/omniRoute.js';
3
6
  import { saveActiveCombo } from '../config/settings.js';
4
7
  import { createSystemTools } from '../tools/systemTools.js';
5
8
  import { loadSkills, renderSkillCommand, skillSchema } from '../skills.js';
9
+ import { chunkText, cosineSimilarity } from '../search.js';
10
+ import { loadSemanticIndex, saveSemanticIndex } from '../semanticStore.js';
6
11
  const VERIFY_RULES = '\n\nWORK LOGIC — you MUST follow this discipline when implementing:\n'
7
12
  + '1. Read files with read_file before editing them. Never guess at contents.\n'
8
13
  + '2. Make the smallest correct change with write_file, then run the relevant checks with run_command '
@@ -18,27 +23,92 @@ const MODE_PROMPT = {
18
23
  plan: 'You are in PLAN mode: investigate the workspace, name risks and steps, and produce a concrete plan. Do not edit files or run commands. Use read_file, index_workspace, and git_diff.',
19
24
  build: 'You are in BUILD mode: implement the request with minimal, correct changes. The full work discipline below is MANDATORY.',
20
25
  research: 'You are in RESEARCH mode: investigate and answer with evidence from the workspace. Use read_file, index_workspace, and git_diff. Do not modify files or run commands.',
26
+ crazy: 'You are in CRAZY MODE: a fully autonomous agent (OpenClaw/Hermes style) that works continuously without asking for permission — every tool call is auto-approved. Decide your own next steps, keep the visible task queue current with update_todo, persist important facts with write_memory, and keep working until the task is genuinely complete. Verify your own work and iterate.',
21
27
  };
22
- const SYSTEM_FRAME = (endpoint, root, mode, skillNames) => 'You are OmniHarness, an autonomous developer agent running inside the user\'s terminal (OmniHarness CLI, powered by the OmniRoute gateway at '
28
+ const MEMORY_FILE = 'memory.md';
29
+ const SYSTEM_FRAME = (endpoint, root, mode, skillNames, memory) => 'You are OmniHarness, an autonomous developer agent running inside the user\'s terminal (OmniHarness CLI, powered by the OmniRoute gateway at '
23
30
  + `${endpoint}). Workspace: ${root}. Act carefully and concretely; use the provided tools rather than guessing at file contents. `
24
31
  + MODE_PROMPT[mode]
25
32
  + (mode === 'build' ? VERIFY_RULES : '')
33
+ + (mode === 'crazy' && memory !== '' ? `\n\nPERSISTENT MEMORY (from previous sessions):\n${memory}` : '')
26
34
  + (skillNames.length > 0 ? `\nCustom skills available: ${skillNames.map((name) => `\`${name}\``).join(', ')}.` : '');
27
- const MAX_TURNS = 24;
35
+ const MAX_TURNS = { plan: 12, build: 24, research: 12, crazy: 120 };
28
36
  const MAX_OUTPUT = 32_000;
29
37
  const RISKY_TOOLS = new Set(['write_file', 'run_command', 'start_preview']);
30
38
  export async function createMastraEngine(config) {
31
- const client = new OmniRouteClient({ endpoint: config.endpoint, apiKey: config.apiKey });
39
+ const client = new OmniRouteClient({ endpoint: config.endpoint, apiKey: config.apiKey, mgmtToken: config.mgmtToken });
32
40
  const tools = createSystemTools(config.workspaceRoot, config.shellAllowed ?? false);
33
41
  const activeModel = config.model ?? 'auto/best-coding';
34
42
  const listeners = new Set();
35
43
  let preview = null;
36
44
  let previewChild = null;
37
45
  let approvalHandler = null;
46
+ let pendingAttachments = [];
47
+ const semanticCache = await loadSemanticIndex(config.workspaceRoot);
38
48
  const state = {
39
49
  taskStatus: 'idle', prompt: '', mode: config.mode ?? 'build', activeModel,
40
50
  workspace: { root: config.workspaceRoot, indexedAt: null, files: [], contextLocked: false },
41
- metrics: client.snapshotMetrics(), messages: [], preview: null,
51
+ metrics: client.snapshotMetrics(), messages: [], preview: null, taskQueue: [],
52
+ };
53
+ const memoryPath = join(state.workspace.root, '.omniharness', MEMORY_FILE);
54
+ let memory = '';
55
+ try {
56
+ memory = (await readFile(memoryPath, 'utf8')).trim();
57
+ }
58
+ catch { /* no memory yet */ }
59
+ const emitTodos = () => {
60
+ const snapshot = { todos: [...state.taskQueue], updatedAt: new Date().toISOString() };
61
+ state.lastTodoUpdate = snapshot;
62
+ emit({ type: 'todos', todos: snapshot.todos });
63
+ };
64
+ const applyTodo = (action) => {
65
+ const queue = [...state.taskQueue];
66
+ switch (action.action) {
67
+ case 'add': {
68
+ const id = `t${Date.now().toString(36)}${queue.length.toString(36)}`;
69
+ queue.push({ id, title: action.title, status: 'pending' });
70
+ state.taskQueue = queue;
71
+ emitTodos();
72
+ return `todo added: ${action.title}`;
73
+ }
74
+ case 'update': {
75
+ const item = queue.find((entry) => entry.id === action.id);
76
+ if (!item)
77
+ return `error: no todo with id ${action.id}`;
78
+ item.title = action.title ?? item.title;
79
+ state.taskQueue = queue;
80
+ emitTodos();
81
+ return `todo updated: ${item.title}`;
82
+ }
83
+ case 'start': {
84
+ const target = (action.id ? queue.find((entry) => entry.id === action.id) : undefined) ?? queue.find((entry) => entry.status === 'pending');
85
+ if (!target)
86
+ return 'error: no pending todo to start';
87
+ for (const entry of queue)
88
+ entry.status = entry.id === target.id ? 'active' : entry.status === 'active' ? 'pending' : entry.status;
89
+ state.taskQueue = queue;
90
+ emitTodos();
91
+ return `started: ${target.title}`;
92
+ }
93
+ case 'complete': {
94
+ const target = (action.id ? queue.find((entry) => entry.id === action.id) : undefined) ?? queue.find((entry) => entry.status !== 'done');
95
+ if (!target)
96
+ return 'error: no todo to complete';
97
+ target.status = 'done';
98
+ state.taskQueue = queue;
99
+ emitTodos();
100
+ return `completed: ${target.title}`;
101
+ }
102
+ case 'remove': {
103
+ const before = queue.length;
104
+ state.taskQueue = queue.filter((entry) => entry.id !== action.id);
105
+ if (state.taskQueue.length === before)
106
+ return `error: no todo with id ${action.id}`;
107
+ emitTodos();
108
+ return `todo removed`;
109
+ }
110
+ default: return 'error: unknown todo action';
111
+ }
42
112
  };
43
113
  const emit = (event) => { for (const listener of listeners)
44
114
  listener(event); };
@@ -73,6 +143,43 @@ export async function createMastraEngine(config) {
73
143
  name: 'git_diff', description: tools.gitDiff.description, highRisk: false, parameters: { type: 'object', properties: {} },
74
144
  execute: async (_, signal) => { const r = await tools.gitDiff.execute(undefined, signal); return r === '' ? '(no diff)' : r; },
75
145
  },
146
+ semantic_search: {
147
+ name: 'semantic_search', description: 'Embed the workspace and search it by meaning, returning the most relevant files with matching snippets. Use instead of guessing which file holds a concept.', highRisk: false, parameters: { type: 'object', properties: { query: { type: 'string' }, limit: { type: 'integer' }, refresh: { type: 'boolean' } }, required: ['query'] },
148
+ execute: async (input, signal) => {
149
+ const query = String(input.query ?? '').trim();
150
+ if (query === '')
151
+ return 'error: query is required';
152
+ if (input.refresh === true)
153
+ semanticCache.clear();
154
+ const limit = typeof input.limit === 'number' && input.limit > 0 ? Math.min(input.limit, 10) : 5;
155
+ const chunks = await indexWorkspaceSemantics(client, semanticCache, state.workspace.root);
156
+ void saveSemanticIndex(state.workspace.root, semanticCache).catch(() => { });
157
+ if (chunks.length === 0)
158
+ return 'no indexable text files in the workspace';
159
+ const [queryVector] = await client.embed([query], undefined, signal);
160
+ const ranked = chunks
161
+ .map((chunk) => ({ chunk, score: cosineSimilarity(queryVector, chunk.embedding) }))
162
+ .sort((a, b) => b.score - a.score)
163
+ .slice(0, limit);
164
+ return ranked.map(({ chunk, score }) => `${chunk.path} (${score.toFixed(3)})\n ${chunk.text.slice(0, 200)}`).join('\n');
165
+ },
166
+ },
167
+ update_todo: {
168
+ name: 'update_todo', description: 'Maintain the visible task queue the user watches: add a step, start it, complete it, or remove it. Keep steps small and current as you work.', highRisk: false, parameters: { type: 'object', properties: { action: { type: 'string', enum: ['add', 'update', 'start', 'complete', 'remove'] }, title: { type: 'string' }, id: { type: 'string' } }, required: ['action'] },
169
+ execute: async (input) => applyTodo(input),
170
+ },
171
+ write_memory: {
172
+ name: 'write_memory', description: 'Persist a fact to long-term memory so future sessions remember it. Use for decisions, learned constraints, and project state worth keeping.', highRisk: false, parameters: { type: 'object', properties: { fact: { type: 'string' } }, required: ['fact'] },
173
+ execute: async (input) => {
174
+ const fact = String(input.fact ?? '').trim();
175
+ if (fact === '')
176
+ return 'error: fact is required';
177
+ await mkdir(join(state.workspace.root, '.omniharness'), { recursive: true });
178
+ await appendFile(memoryPath, `- ${new Date().toISOString()}: ${fact}\n`, 'utf8');
179
+ memory = `${memory}${memory === '' ? '' : '\n'}- ${fact}`;
180
+ return 'memory saved';
181
+ },
182
+ },
76
183
  start_preview: {
77
184
  name: 'start_preview', description: 'Start a local preview server for the workspace and report its URL. Provide the command to run.', highRisk: true, parameters: { type: 'object', properties: { command: { type: 'string' }, args: { type: 'array', items: { type: 'string' } }, port: { type: 'integer' } }, required: ['command'] },
78
185
  execute: async (input) => {
@@ -121,6 +228,27 @@ export async function createMastraEngine(config) {
121
228
  },
122
229
  };
123
230
  }
231
+ // When an OmniRoute management token is configured, discover the gateway's MCP
232
+ // tools and expose them to the agent. Best-effort: a discovery failure (gateway
233
+ // down, disabled MCP transport, wrong scopes) simply leaves the built-in tools.
234
+ let mcpTools = [];
235
+ if (client.hasMcpToken) {
236
+ try {
237
+ mcpTools = await client.listMcpTools();
238
+ for (const descriptor of mcpTools) {
239
+ if (systemTools[descriptor.name])
240
+ continue; // never shadow a built-in tool
241
+ systemTools[descriptor.name] = {
242
+ name: descriptor.name, description: descriptor.description ?? '', highRisk: false,
243
+ parameters: descriptor.inputSchema ?? { type: 'object', properties: {} },
244
+ execute: (input, signal) => client.callMcpTool(descriptor.name, input, signal),
245
+ };
246
+ }
247
+ }
248
+ catch {
249
+ mcpTools = [];
250
+ }
251
+ }
124
252
  const toolSchemas = Object.values(systemTools).map((entry) => ({
125
253
  type: 'function', function: { name: entry.name, description: entry.description, parameters: entry.parameters },
126
254
  }));
@@ -141,7 +269,7 @@ export async function createMastraEngine(config) {
141
269
  catch {
142
270
  parsed = {};
143
271
  }
144
- if (approvalHandler && registered.highRisk) {
272
+ if (state.mode !== 'crazy' && approvalHandler && registered.highRisk) {
145
273
  emit({ type: 'approval_requested', tool: call.function.name, input: parsed });
146
274
  const approved = await approvalHandler({ tool: call.function.name, input: parsed });
147
275
  if (!approved)
@@ -155,7 +283,7 @@ export async function createMastraEngine(config) {
155
283
  }
156
284
  }
157
285
  return {
158
- client, tools, state, skills,
286
+ client, tools, state, skills, mcpTools,
159
287
  subscribe(listener) { listeners.add(listener); return () => listeners.delete(listener); },
160
288
  setApprovalHandler(handler) { approvalHandler = handler; },
161
289
  async selectModel(model) {
@@ -165,6 +293,36 @@ export async function createMastraEngine(config) {
165
293
  }
166
294
  catch { /* persistence is best-effort */ }
167
295
  },
296
+ async attach(paths) {
297
+ const loaded = [];
298
+ const failures = [];
299
+ for (const raw of paths) {
300
+ const full = resolve(state.workspace.root, raw);
301
+ try {
302
+ const info = await stat(full);
303
+ if (!info.isFile()) {
304
+ failures.push(`${raw}: not a file`);
305
+ continue;
306
+ }
307
+ const kind = kindFromName(raw);
308
+ const base = { name: raw, size: info.size, kind };
309
+ const attachment = base;
310
+ if (kind === 'image' && info.size <= 10 * 1024 * 1024) {
311
+ const bytes = await readFile(full);
312
+ attachment.dataUrl = `data:image/${mimeFromName(raw)};base64,${bytes.toString('base64')}`;
313
+ }
314
+ loaded.push(attachment);
315
+ emit({ type: 'attach', name: raw, kind, size: info.size });
316
+ }
317
+ catch (reason) {
318
+ failures.push(`${raw}: ${reason instanceof Error ? reason.message : String(reason)}`);
319
+ }
320
+ }
321
+ if (failures.length > 0)
322
+ throw new Error(`attach failed: ${failures.join('; ')}`);
323
+ pendingAttachments = loaded;
324
+ return loaded.map(({ dataUrl: _dataUrl, ...rest }) => rest);
325
+ },
168
326
  stop() { void stopPreviewChild(); listeners.clear(); },
169
327
  async run(prompt, signal) {
170
328
  state.prompt = prompt;
@@ -172,15 +330,26 @@ export async function createMastraEngine(config) {
172
330
  const userMessage = { role: 'user', content: prompt, createdAt: new Date().toISOString() };
173
331
  state.messages = [...state.messages, userMessage];
174
332
  const wire = [
175
- { role: 'system', content: SYSTEM_FRAME(client.endpoint, state.workspace.root, state.mode, skills.map((skill) => skill.name)) },
333
+ { role: 'system', content: SYSTEM_FRAME(client.endpoint, state.workspace.root, state.mode, skills.map((skill) => skill.name), memory) },
176
334
  ...state.messages.map(asWireMessage),
177
335
  ];
336
+ if (pendingAttachments.length > 0) {
337
+ const note = attachmentBlock(pendingAttachments);
338
+ const images = pendingAttachments
339
+ .filter((a) => a.dataUrl !== undefined)
340
+ .map((a) => ({ type: 'image_url', image_url: { url: a.dataUrl } }));
341
+ wire[wire.length - 1] = images.length > 0
342
+ ? { role: 'user', content: [{ type: 'text', text: `${note}${prompt}` }, ...images] }
343
+ : { role: 'user', content: `${note}${prompt}` };
344
+ pendingAttachments = [];
345
+ }
178
346
  const results = [];
179
347
  let turn = 0;
180
348
  let model = activeModel;
181
349
  let content = '';
182
350
  let reasoning = '';
183
351
  let toolCalls = [];
352
+ let compression;
184
353
  const finishRound = async () => {
185
354
  content = '';
186
355
  reasoning = '';
@@ -208,6 +377,8 @@ export async function createMastraEngine(config) {
208
377
  });
209
378
  if (result.model)
210
379
  model = result.model;
380
+ if (result.compression)
381
+ compression = result.compression;
211
382
  };
212
383
  await finishRound();
213
384
  while (toolCalls.length > 0) {
@@ -221,8 +392,8 @@ export async function createMastraEngine(config) {
221
392
  if (signal?.aborted)
222
393
  break;
223
394
  turn += 1;
224
- if (turn > MAX_TURNS) {
225
- const error = `too many tool turns (limit ${MAX_TURNS})`;
395
+ if (turn > MAX_TURNS[state.mode]) {
396
+ const error = `too many tool turns (limit ${MAX_TURNS[state.mode]})`;
226
397
  state.messages = [...state.messages, { role: 'error', content: error, createdAt: new Date().toISOString() }];
227
398
  state.taskStatus = 'failed';
228
399
  return { content: error + '; latest text: ' + content, model: activeModel };
@@ -263,9 +434,19 @@ export async function createMastraEngine(config) {
263
434
  });
264
435
  if (next.model)
265
436
  model = next.model;
437
+ if (next.compression)
438
+ compression = next.compression;
266
439
  }
267
440
  state.taskStatus = 'completed';
268
441
  state.metrics = client.snapshotMetrics();
442
+ if (state.mode === 'crazy') {
443
+ const summary = content.split('\n')[0]?.slice(0, 160) ?? '';
444
+ try {
445
+ await mkdir(join(state.workspace.root, '.omniharness'), { recursive: true });
446
+ await appendFile(memoryPath, `- ${new Date().toISOString()}: ran "${prompt.slice(0, 80)}" → ${summary}\n`, 'utf8');
447
+ }
448
+ catch { /* memory persistence is best-effort */ }
449
+ }
269
450
  const answer = content;
270
451
  if (reasoning) {
271
452
  emit({ type: 'thinking', text: reasoning });
@@ -275,7 +456,7 @@ export async function createMastraEngine(config) {
275
456
  const tool = result.call.function.name;
276
457
  state.messages = [...state.messages, { role: 'tool', content: result.output.slice(0, 500), toolName: tool, createdAt: new Date().toISOString() }];
277
458
  }
278
- emit({ type: 'text', content: answer });
459
+ emit({ type: 'text', content: answer, model, compression });
279
460
  state.messages = [...state.messages, { role: 'assistant', content: answer, model, createdAt: new Date().toISOString() }];
280
461
  return { content: answer, model };
281
462
  },
@@ -286,7 +467,77 @@ function asWireMessage(message) {
286
467
  return { role: message.role, content: message.content };
287
468
  return { role: 'assistant', content: message.content };
288
469
  }
470
+ function mimeFromName(name) {
471
+ const ext = name.slice(name.lastIndexOf('.') + 1).toLowerCase();
472
+ return ext === 'jpg' ? 'jpeg' : ext === 'svg' ? 'svg+xml' : ext;
473
+ }
289
474
  function truncate(text, max = 4000) {
290
475
  return text.length <= max ? text : `${text.slice(0, max)}\n… (truncated ${text.length - max} chars)`;
291
476
  }
477
+ const MAX_INDEX_FILES = 200;
478
+ const MAX_INDEX_BYTES = 256 * 1024;
479
+ /** Reuse cached embeddings for unchanged files; embed new/changed ones, batched. */
480
+ async function indexWorkspaceSemantics(client, cache, root) {
481
+ const files = [];
482
+ async function walk(directory) {
483
+ if (files.length >= MAX_INDEX_FILES)
484
+ return;
485
+ for (const entry of await readdir(directory, { withFileTypes: true })) {
486
+ if (files.length >= MAX_INDEX_FILES)
487
+ return;
488
+ if (entry.name.startsWith('.') || entry.name === 'node_modules')
489
+ continue;
490
+ const target = resolve(directory, entry.name);
491
+ if (entry.isDirectory())
492
+ await walk(target);
493
+ else if (entry.isFile()) {
494
+ try {
495
+ const info = await stat(target);
496
+ if (info.size > 0 && info.size <= MAX_INDEX_BYTES)
497
+ files.push({ path: target, mtimeMs: info.mtimeMs });
498
+ }
499
+ catch { /* unreadable file: skip */ }
500
+ }
501
+ }
502
+ }
503
+ await walk(root);
504
+ const results = [];
505
+ const changed = new Map();
506
+ for (const file of files) {
507
+ const cached = cache.get(file.path);
508
+ if (cached && cached.mtimeMs === file.mtimeMs) {
509
+ results.push(...cached.chunks);
510
+ continue;
511
+ }
512
+ try {
513
+ const text = await readFile(file.path, 'utf8');
514
+ changed.set(file.path, { mtimeMs: file.mtimeMs, chunks: [] });
515
+ for (const piece of chunkText(text))
516
+ changed.get(file.path).chunks.push({ path: file.path, text: piece, embedding: [] });
517
+ }
518
+ catch { /* binary/unreadable: skip */ }
519
+ }
520
+ const toEmbed = [];
521
+ for (const entry of changed.values())
522
+ toEmbed.push(...entry.chunks);
523
+ for (let i = 0; i < toEmbed.length; i += 16) {
524
+ const batch = toEmbed.slice(i, i + 16);
525
+ const vectors = await client.embed(batch.map((chunk) => chunk.text));
526
+ batch.forEach((chunk, index) => { chunk.embedding = vectors[index]; });
527
+ }
528
+ for (const file of files) {
529
+ const entry = changed.get(file.path);
530
+ if (entry) {
531
+ cache.set(file.path, entry);
532
+ results.push(...entry.chunks);
533
+ }
534
+ }
535
+ // Drop cached entries for files no longer present so the persisted index stays clean.
536
+ const present = new Set(files.map((file) => file.path));
537
+ for (const path of [...cache.keys()]) {
538
+ if (!present.has(path))
539
+ cache.delete(path);
540
+ }
541
+ return results;
542
+ }
292
543
  //# sourceMappingURL=mastraEngine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mastraEngine.js","sourceRoot":"","sources":["../../src/agent/mastraEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mastraEngine.js","sourceRoot":"","sources":["../../src/agent/mastraEngine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /** How an attached file is presented to the model. Images ride the modality bridge as data URLs. */
2
+ export type AttachKind = 'file' | 'image' | 'video';
3
+ export interface AttachmentInput {
4
+ name: string;
5
+ size: number;
6
+ kind: AttachKind;
7
+ }
8
+ export declare function kindFromName(name: string): AttachKind;
9
+ /** Format the attachments block prepended to a prompt so the agent knows what was attached. */
10
+ export declare function attachmentBlock(attachments: readonly AttachmentInput[]): string;
@@ -0,0 +1,17 @@
1
+ const IMAGE_EXT = /\.(png|jpe?g|gif|webp|bmp|svg|avif)$/i;
2
+ const VIDEO_EXT = /\.(mp4|webm|mov|mkv|avi)$/i;
3
+ export function kindFromName(name) {
4
+ if (IMAGE_EXT.test(name))
5
+ return 'image';
6
+ if (VIDEO_EXT.test(name))
7
+ return 'video';
8
+ return 'file';
9
+ }
10
+ /** Format the attachments block prepended to a prompt so the agent knows what was attached. */
11
+ export function attachmentBlock(attachments) {
12
+ if (attachments.length === 0)
13
+ return '';
14
+ const rows = attachments.map((a) => `- ${a.name} (${a.kind}, ${a.size} bytes)`).join('\n');
15
+ return `The user attached these files to this request:\n${rows}\nImages were sent as vision input; read_file the others from the workspace or user path as needed.\n---\n`;
16
+ }
17
+ //# sourceMappingURL=attachments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachments.js","sourceRoot":"","sources":["../src/attachments.ts"],"names":[],"mappings":"AASA,MAAM,SAAS,GAAG,uCAAuC,CAAC;AAC1D,MAAM,SAAS,GAAG,4BAA4B,CAAC;AAE/C,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC;IACzC,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC;IACzC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,eAAe,CAAC,WAAuC;IACrE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACxC,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3F,OAAO,mDAAmD,IAAI,4GAA4G,CAAC;AAC7K,CAAC"}