@ikarmic/forge-core 4.4.0 → 4.5.0

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 (115) hide show
  1. package/README.md +1 -1
  2. package/dist/agent/agent.d.ts.map +1 -1
  3. package/dist/agent/agent.js +64 -31
  4. package/dist/agent/agent.js.map +1 -1
  5. package/dist/agent/architect.d.ts +3 -0
  6. package/dist/agent/architect.d.ts.map +1 -1
  7. package/dist/agent/architect.js +1 -0
  8. package/dist/agent/architect.js.map +1 -1
  9. package/dist/agent/cost-router.d.ts.map +1 -1
  10. package/dist/agent/cost-router.js +2 -0
  11. package/dist/agent/cost-router.js.map +1 -1
  12. package/dist/attachments.d.ts +47 -0
  13. package/dist/attachments.d.ts.map +1 -0
  14. package/dist/attachments.js +179 -0
  15. package/dist/attachments.js.map +1 -0
  16. package/dist/code-index/builder.d.ts.map +1 -1
  17. package/dist/code-index/builder.js +4 -0
  18. package/dist/code-index/builder.js.map +1 -1
  19. package/dist/commands/custom-commands.d.ts +25 -0
  20. package/dist/commands/custom-commands.d.ts.map +1 -0
  21. package/dist/commands/custom-commands.js +99 -0
  22. package/dist/commands/custom-commands.js.map +1 -0
  23. package/dist/context/compaction.d.ts.map +1 -1
  24. package/dist/context/compaction.js +11 -1
  25. package/dist/context/compaction.js.map +1 -1
  26. package/dist/context/mask.d.ts.map +1 -1
  27. package/dist/context/mask.js +1 -1
  28. package/dist/context/mask.js.map +1 -1
  29. package/dist/diff/unified-diff.js +42 -15
  30. package/dist/diff/unified-diff.js.map +1 -1
  31. package/dist/git/auto-commit.d.ts.map +1 -1
  32. package/dist/git/auto-commit.js +14 -2
  33. package/dist/git/auto-commit.js.map +1 -1
  34. package/dist/github/github-tools.d.ts +84 -0
  35. package/dist/github/github-tools.d.ts.map +1 -0
  36. package/dist/github/github-tools.js +176 -0
  37. package/dist/github/github-tools.js.map +1 -0
  38. package/dist/index.d.ts +18 -8
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +13 -4
  41. package/dist/index.js.map +1 -1
  42. package/dist/memory/memory-store.d.ts +57 -10
  43. package/dist/memory/memory-store.d.ts.map +1 -1
  44. package/dist/memory/memory-store.js +236 -69
  45. package/dist/memory/memory-store.js.map +1 -1
  46. package/dist/memory/rank.d.ts +21 -0
  47. package/dist/memory/rank.d.ts.map +1 -0
  48. package/dist/memory/rank.js +65 -0
  49. package/dist/memory/rank.js.map +1 -0
  50. package/dist/memory/stale.d.ts +19 -0
  51. package/dist/memory/stale.d.ts.map +1 -0
  52. package/dist/memory/stale.js +46 -0
  53. package/dist/memory/stale.js.map +1 -0
  54. package/dist/orchestrator/specialists.js +5 -5
  55. package/dist/orchestrator/specialists.js.map +1 -1
  56. package/dist/semantic/semantic-index.d.ts.map +1 -1
  57. package/dist/semantic/semantic-index.js +4 -0
  58. package/dist/semantic/semantic-index.js.map +1 -1
  59. package/dist/sessions/index.d.ts +1 -0
  60. package/dist/sessions/index.d.ts.map +1 -1
  61. package/dist/sessions/index.js +1 -0
  62. package/dist/sessions/index.js.map +1 -1
  63. package/dist/sessions/search.d.ts +23 -0
  64. package/dist/sessions/search.d.ts.map +1 -0
  65. package/dist/sessions/search.js +67 -0
  66. package/dist/sessions/search.js.map +1 -0
  67. package/dist/specs/index.d.ts +2 -0
  68. package/dist/specs/index.d.ts.map +1 -1
  69. package/dist/specs/index.js +1 -0
  70. package/dist/specs/index.js.map +1 -1
  71. package/dist/specs/store.d.ts +7 -0
  72. package/dist/specs/store.d.ts.map +1 -1
  73. package/dist/specs/store.js +33 -0
  74. package/dist/specs/store.js.map +1 -1
  75. package/dist/specs/sync.d.ts +30 -0
  76. package/dist/specs/sync.d.ts.map +1 -0
  77. package/dist/specs/sync.js +156 -0
  78. package/dist/specs/sync.js.map +1 -0
  79. package/dist/specs/types.d.ts +2 -0
  80. package/dist/specs/types.d.ts.map +1 -1
  81. package/dist/tools/ignore-rules.d.ts +16 -0
  82. package/dist/tools/ignore-rules.d.ts.map +1 -0
  83. package/dist/tools/ignore-rules.js +85 -0
  84. package/dist/tools/ignore-rules.js.map +1 -0
  85. package/dist/tools/index.d.ts +3 -2
  86. package/dist/tools/index.d.ts.map +1 -1
  87. package/dist/tools/index.js +5 -2
  88. package/dist/tools/index.js.map +1 -1
  89. package/dist/tools/list-files.d.ts +3 -0
  90. package/dist/tools/list-files.d.ts.map +1 -1
  91. package/dist/tools/list-files.js +8 -0
  92. package/dist/tools/list-files.js.map +1 -1
  93. package/dist/tools/memory.d.ts +34 -1
  94. package/dist/tools/memory.d.ts.map +1 -1
  95. package/dist/tools/memory.js +118 -25
  96. package/dist/tools/memory.js.map +1 -1
  97. package/dist/tools/notebook.d.ts +70 -0
  98. package/dist/tools/notebook.d.ts.map +1 -0
  99. package/dist/tools/notebook.js +164 -0
  100. package/dist/tools/notebook.js.map +1 -0
  101. package/dist/tools/read-file.d.ts +8 -1
  102. package/dist/tools/read-file.d.ts.map +1 -1
  103. package/dist/tools/read-file.js +19 -1
  104. package/dist/tools/read-file.js.map +1 -1
  105. package/dist/tools/search-files.d.ts +5 -2
  106. package/dist/tools/search-files.d.ts.map +1 -1
  107. package/dist/tools/search-files.js +8 -0
  108. package/dist/tools/search-files.js.map +1 -1
  109. package/dist/tools/web-search.d.ts +56 -0
  110. package/dist/tools/web-search.d.ts.map +1 -0
  111. package/dist/tools/web-search.js +132 -0
  112. package/dist/tools/web-search.js.map +1 -0
  113. package/dist/types.d.ts +31 -0
  114. package/dist/types.d.ts.map +1 -1
  115. package/package.json +2 -1
package/README.md CHANGED
@@ -14,7 +14,7 @@ The agent engine for [IKarmic AI Forge](https://github.com/ikarmic/forge). Share
14
14
  - **Cost tracking**: `lookupPricing` + `computeCostUsd` against a built-in pricing table; surfaced as `cost` events and `costUsd` on `AgentRunResult`.
15
15
  - **Secret redaction**: `redact()` scrubs provider keys, JWTs, PEM keys, and `.env`-style secrets from tool output before the model sees them.
16
16
  - **Tool result cache**: `ToolResultCache` (LRU + TTL, never caches destructive tools) survives across turns within a session.
17
- - **Project memory**: `buildMemoryBlock()` auto-loads `.forge/MEMORY.md` into the system prompt; `memory_read` / `memory_write` tools let the agent record conventions mid-run.
17
+ - **Project memory**: `buildMemoryBlock()` auto-loads `.forge/MEMORY.md` into the system prompt; `memory_read` / `memory_write` / `memory_forget` tools let the agent record and retire conventions mid-run (typed sections, relevance-ranked injection, stale-ref markers).
18
18
  - **Plan mode**: `AgentConfig.planMode` runs a single-turn, tool-free pass that emits a numbered plan as text. Pair with an approve/edit/cancel flow.
19
19
  - **Context compaction**: opt-in summarization of older turns when approaching the model's context window. `AgentConfig.enableCompaction` toggles it; the rest are knobs.
20
20
  - **Skills system**: `discoverSkills()` finds `SKILL.md` files in `./skills/`, `./.forge/skills/`, `~/.forge/skills/`. `selectSkills()` + `composeSkillsPrompt()` score and inject the top matches for the current task.
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/agent/agent.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EACV,WAAW,EAEX,eAAe,EACf,cAAc,EAGd,cAAc,EAEd,WAAW,EACZ,MAAM,aAAa,CAAC;AAOrB,eAAO,MAAM,uBAAuB,QAAiB,CAAC;AAWtD;;;GAGG;AACH,qBAAa,KAAK;IAChB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmB;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;IACxC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAC/C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuB;IAC7C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;IACzD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAwB;gBAElC,MAAM,EAAE,WAAW;IAkC/B,qEAAqE;IACrE,OAAO,KAAK,kBAAkB,GAO7B;IAED;;;OAGG;IACG,GAAG,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IA6rB5D;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAUpB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IA2BtB;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;YA0BZ,eAAe;IAsC7B;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;CAO/B;AA2FD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,WAAW,GAAG,SAAS,GAAG,cAAc,EAAE,CAYxG"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/agent/agent.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EACV,WAAW,EAEX,eAAe,EACf,cAAc,EAGd,cAAc,EAEd,WAAW,EACZ,MAAM,aAAa,CAAC;AAQrB,eAAO,MAAM,uBAAuB,QAAiB,CAAC;AAWtD;;;GAGG;AACH,qBAAa,KAAK;IAChB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmB;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;IACxC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAC/C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuB;IAC7C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;IACzD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAwB;gBAElC,MAAM,EAAE,WAAW;IAsC/B,qEAAqE;IACrE,OAAO,KAAK,kBAAkB,GAO7B;IAED;;;OAGG;IACG,GAAG,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAqsB5D;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAUpB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IA2BtB;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;YA0BZ,eAAe;IAoD7B;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;CAO/B;AA4FD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,WAAW,GAAG,SAAS,GAAG,cAAc,EAAE,CAYxG"}
@@ -11,6 +11,8 @@ import { createFileAuditSink } from '../policy/audit.js';
11
11
  import { applyPolicy, getOrgPolicy } from '../policy/policy.js';
12
12
  import { createBrowserTools } from '../tools/browser-tools.js';
13
13
  import { createCodebaseSearchTool } from '../tools/codebase-search.js';
14
+ import { createGitHubTools, githubFromEnv } from '../github/github-tools.js';
15
+ import { createWebSearchTool, webSearchFromEnv } from '../tools/web-search.js';
14
16
  import { embedderFromEnv } from '../semantic/embedder.js';
15
17
  import { DEFAULT_VERIFY_RETRIES, failureMessage, runVerification } from './verify.js';
16
18
  import { isListedCommand } from '../tools/command-allow.js';
@@ -22,17 +24,18 @@ import { redact } from '../tools/redact.js';
22
24
  import { composeSkillsPrompt, selectSkills } from '../skills/activator.js';
23
25
  import { MAX_TOOL_INJECTIONS, selectAtStart, selectOnToolTouch, toWorkspaceRelative, wrapSteering } from '../steering/select.js';
24
26
  import { applyCacheHints } from './cache-hints.js';
27
+ import { attachmentParts, formatBytes, mediaPartTokens } from '../attachments.js';
25
28
  import { CONTINUE_PROMPT, DEFAULT_PLAN_MODE_SUFFIX, DEFAULT_SPEC_MODE_SUFFIX, DEFAULT_SYSTEM_PROMPT } from './prompts.js';
26
29
  /** Read-only tool names whose output flows through the redactor. */
27
30
  const DEFAULT_MAX_CONTINUATIONS = 3;
28
31
  export const DEFAULT_MAX_DURATION_MS = 10 * 60 * 1000;
29
32
  const REDACTABLE_TOOLS = new Set(['read_file', 'search_files', 'list_files']);
30
33
  /** Tools whose successful `path` argument can trigger mid-run fileMatch steering. */
31
- const STEERING_FILE_TOOLS = new Set(['read_file', 'write_file', 'edit_file']);
34
+ const STEERING_FILE_TOOLS = new Set(['read_file', 'write_file', 'edit_file', 'edit_notebook']);
32
35
  /** Tools that change a file, so auto-lint checks their `path` afterwards. */
33
- const FILE_WRITE_TOOLS = new Set(['write_file', 'edit_file']);
36
+ const FILE_WRITE_TOOLS = new Set(['write_file', 'edit_file', 'edit_notebook']);
34
37
  /** Pure reads whose results may be reused within a run. Every other tool invalidates the cache. */
35
- const CACHEABLE_TOOLS = new Set(['read_file', 'read_image', 'list_files', 'search_files', 'find_symbol', 'list_symbols', 'find_references', 'codebase_search', 'memory_read', 'fetch_url']);
38
+ const CACHEABLE_TOOLS = new Set(['read_file', 'read_image', 'list_files', 'search_files', 'find_symbol', 'list_symbols', 'find_references', 'codebase_search', 'memory_read', 'fetch_url', 'web_search']);
36
39
  /**
37
40
  * The agent: orchestrates the model + tool loop. One Agent instance is
38
41
  * single-use; create a new one per user task.
@@ -61,11 +64,17 @@ export class Agent {
61
64
  this.browser = new BrowserSession(config.browser === true ? {} : config.browser);
62
65
  allTools.push(...createBrowserTools(this.browser));
63
66
  }
67
+ const github = config.github === true ? githubFromEnv() : config.github;
68
+ if (github)
69
+ allTools.push(...createGitHubTools(github));
70
+ const webSearch = config.webSearch === true ? webSearchFromEnv() : config.webSearch;
71
+ if (webSearch)
72
+ allTools.push(createWebSearchTool(webSearch));
64
73
  if (config.semanticSearch) {
65
74
  allTools.push(createCodebaseSearchTool(config.semanticSearch.embedder ?? embedderFromEnv()));
66
75
  }
67
76
  const memoryFiltered = config.disableMemory
68
- ? allTools.filter((t) => t.name !== 'memory_read' && t.name !== 'memory_write')
77
+ ? allTools.filter((t) => t.name !== 'memory_read' && t.name !== 'memory_write' && t.name !== 'memory_forget')
69
78
  : allTools;
70
79
  const sandboxedTools = applySandbox(memoryFiltered, config.toolSandbox);
71
80
  this.tools = this.wrapToolsWithCache(sandboxedTools, config.cacheSize, config.cacheTtlMs, config.disableCache);
@@ -86,7 +95,7 @@ export class Agent {
86
95
  const cfg = this.checkpoints?.captureBeforeTools;
87
96
  if (!cfg) {
88
97
  // Default: file-mutating tools + run_command (which can mutate via shell).
89
- return new Set(['write_file', 'edit_file', 'run_command']);
98
+ return new Set(['write_file', 'edit_file', 'edit_notebook', 'run_command']);
90
99
  }
91
100
  return new Set(cfg);
92
101
  }
@@ -163,6 +172,13 @@ export class Agent {
163
172
  const messages = options.history
164
173
  ? [...options.history, { role: 'user', content: userContent }]
165
174
  : await buildInitialMessages(this.config, options.task, this.skills, startSteering.system, userContent);
175
+ if (options.attachments && options.attachments.length > 0) {
176
+ // Attached files ride in this turn's user message as native parts (see attachments.ts).
177
+ messages[messages.length - 1] = {
178
+ role: 'user',
179
+ content: [{ type: 'text', text: userContent }, ...attachmentParts(options.attachments)],
180
+ };
181
+ }
166
182
  // Plan mode: hard-cap iterations to 1 and add a system prompt suffix
167
183
  // telling the model to emit a plan as text and stop. Spec mode: allow
168
184
  // up to `specMaxIterations` turns (default 15) so the model can
@@ -218,6 +234,7 @@ export class Agent {
218
234
  parentModel: this.config.model,
219
235
  ...(this.config.commandRunner ? { commandRunner: this.config.commandRunner } : {}),
220
236
  ...(abortSignal ? { abortSignal } : {}),
237
+ ...(this.config.memoryMaxBodyChars !== undefined ? { memoryMaxBodyChars: this.config.memoryMaxBodyChars } : {}),
221
238
  };
222
239
  // Emit initial cache stats so the UI knows the cache is wired up.
223
240
  emit({ type: 'cache_stats', ...this.cache.getStats() });
@@ -475,7 +492,7 @@ export class Agent {
475
492
  emit({ type: 'tool_result', name: call.toolName, id: call.toolCallId, result: message, isError: true });
476
493
  continue;
477
494
  }
478
- const approval = await this.requestApproval(def, call.toolCallId, argsParsed.data, abortSignal);
495
+ const approval = await this.requestApproval(def, call.toolCallId, argsParsed.data, abortSignal, ctx);
479
496
  this.audit?.record({ event: 'tool_call', tool: call.toolName, args: approval.args ?? argsParsed.data, approved: approval.approved, auto: this.config.auto === true }, auditCtx);
480
497
  if (!approval.approved) {
481
498
  const denial = approval.note ? `Denied by user. ${approval.note}` : `Denied by user.`;
@@ -545,7 +562,7 @@ export class Agent {
545
562
  redactedCount = scrubbed.count;
546
563
  }
547
564
  this.audit?.record({ event: 'tool_result', tool: call.toolName, isError: false, durationMs: Date.now() - toolStartedAt }, auditCtx);
548
- if (call.toolName === 'write_file' || call.toolName === 'edit_file')
565
+ if (FILE_WRITE_TOOLS.has(call.toolName))
549
566
  editedSinceVerify = true;
550
567
  const editedPath = toolArgs.path;
551
568
  if (FILE_WRITE_TOOLS.has(call.toolName) && typeof editedPath === 'string')
@@ -846,11 +863,15 @@ export class Agent {
846
863
  return { ...t, execute: invalidating };
847
864
  });
848
865
  }
849
- async requestApproval(def, id, args, abortSignal) {
866
+ async requestApproval(def, id, args, abortSignal, ctx) {
850
867
  // Read-only tools the user chose not to be asked about (never a destructive one).
851
868
  if (!def.destructive && this.config.autoApproveTools?.includes(def.name)) {
852
869
  return { approved: true };
853
870
  }
871
+ // Memory writes the user chose not to be asked about. memory_forget is deleted data: always asked.
872
+ if (def.name === 'memory_write' && this.config.memoryAutoApproveWrites) {
873
+ return { approved: true };
874
+ }
854
875
  // A plain command the user already said "always allow" for: exact match only (see command-allow.ts).
855
876
  if (def.name === 'run_command' && this.config.autoApproveCommands?.length && isListedCommand(args, this.config.autoApproveCommands)) {
856
877
  return { approved: true };
@@ -859,12 +880,22 @@ export class Agent {
859
880
  if (auto && !(def.destructive && !this.config.allowDestructive)) {
860
881
  return { approved: true };
861
882
  }
883
+ let preview;
884
+ if (def.previewApproval && ctx) {
885
+ try {
886
+ preview = (await def.previewApproval(args, ctx)) || undefined;
887
+ }
888
+ catch {
889
+ // A failed preview never blocks the approval prompt.
890
+ }
891
+ }
862
892
  const request = {
863
893
  name: def.name,
864
894
  id,
865
895
  args,
866
896
  destructive: def.destructive === true,
867
897
  description: def.description,
898
+ ...(preview ? { preview } : {}),
868
899
  };
869
900
  if (this.config.approve) {
870
901
  // Stop must work while a prompt is open: an unanswered approval never resolves on its own,
@@ -907,12 +938,12 @@ function toAiSdkTools(tools) {
907
938
  return out;
908
939
  }
909
940
  function toolResult(toolCallId, toolName, result) {
910
- // Detect multimodal content (read_image returns a `dataUrl` +
911
- // `mime`). When found, attach the image so vision-capable models can
912
- // actually see it instead of just reading the base64 string. Providers
913
- // that don't support this will gracefully fall back to the text value.
914
- const image = extractImageAttachment(result);
915
- if (image) {
941
+ // Detect multimodal content (read_image returns an image, read_file a PDF, each as
942
+ // `dataUrl` + `mime`). When found, attach the bytes so vision and document-capable
943
+ // models see them instead of a base64 string. Providers that don't support this
944
+ // gracefully fall back to the text value.
945
+ const media = extractMediaAttachment(result);
946
+ if (media) {
916
947
  return {
917
948
  type: 'tool-result',
918
949
  toolCallId,
@@ -920,8 +951,10 @@ function toolResult(toolCallId, toolName, result) {
920
951
  output: {
921
952
  type: 'content',
922
953
  value: [
923
- { type: 'text', text: image.summary },
924
- { type: 'image-data', data: image.dataUrl, mediaType: image.mime },
954
+ { type: 'text', text: media.summary },
955
+ media.mime.startsWith('image/')
956
+ ? { type: 'image-data', data: media.dataUrl, mediaType: media.mime }
957
+ : { type: 'file', data: { type: 'data', data: media.base64 }, mediaType: media.mime, ...(media.filename ? { filename: media.filename } : {}) },
925
958
  ],
926
959
  },
927
960
  };
@@ -932,11 +965,10 @@ function toolResultError(toolCallId, toolName, message) {
932
965
  return { type: 'tool-result', toolCallId, toolName, output: { type: 'error-text', value: message } };
933
966
  }
934
967
  /**
935
- * Inspect a tool result for multimodal content. Returns the attachment
936
- * to include in `experimental_content` if the result looks like an
937
- * image (dataUrl + mime present); null otherwise.
968
+ * Inspect a tool result for multimodal content: an image or a PDF (dataUrl + mime
969
+ * present). Returns null otherwise.
938
970
  */
939
- function extractImageAttachment(result) {
971
+ function extractMediaAttachment(result) {
940
972
  if (!result || typeof result !== 'object')
941
973
  return null;
942
974
  const r = result;
@@ -946,19 +978,17 @@ function extractImageAttachment(result) {
946
978
  return null;
947
979
  if (!dataUrl.startsWith('data:'))
948
980
  return null;
981
+ if (!mime.startsWith('image/') && mime !== 'application/pdf')
982
+ return null;
949
983
  // Best-effort summary line so the model has something textual
950
- // alongside the image describing what it's looking at.
984
+ // alongside the media describing what it's looking at.
951
985
  const bytes = typeof r.bytes === 'number' ? r.bytes : 0;
952
986
  const path = typeof r.path === 'string' ? r.path : '<unknown>';
953
- const summary = `Image attached: ${mime} (${formatBytes(bytes)}) at ${path}`;
954
- return { dataUrl, mime, summary };
955
- }
956
- function formatBytes(n) {
957
- if (n < 1024)
958
- return `${n} B`;
959
- if (n < 1024 * 1024)
960
- return `${(n / 1024).toFixed(1)} KB`;
961
- return `${(n / 1024 / 1024).toFixed(2)} MB`;
987
+ const what = mime.startsWith('image/') ? 'Image' : 'Document';
988
+ const summary = `${what} attached: ${mime} (${formatBytes(bytes)}) at ${path}`;
989
+ const comma = dataUrl.indexOf(',');
990
+ const filename = typeof r.path === 'string' ? r.path.split(/[\\/]/).pop() : undefined;
991
+ return { dataUrl, base64: dataUrl.slice(comma + 1), mime, ...(filename ? { filename } : {}), summary };
962
992
  }
963
993
  function errorMessageOf(err) {
964
994
  if (err instanceof Error)
@@ -1014,7 +1044,7 @@ async function buildInitialMessages(config, task, skills, steeringSystem = [], u
1014
1044
  let memoryBlock = '';
1015
1045
  if (!config.disableMemory) {
1016
1046
  try {
1017
- memoryBlock = await buildMemoryBlock(cwd, config.memoryInjectionBudget);
1047
+ memoryBlock = await buildMemoryBlock(cwd, config.memoryInjectionBudget, { task });
1018
1048
  }
1019
1049
  catch {
1020
1050
  // Memory load failure shouldn't kill a run: just skip.
@@ -1081,6 +1111,9 @@ function estimateNextPromptTokens(messages) {
1081
1111
  if (typeof text === 'string')
1082
1112
  total += Math.ceil(text.length / 4);
1083
1113
  }
1114
+ else {
1115
+ total += mediaPartTokens(part);
1116
+ }
1084
1117
  }
1085
1118
  }
1086
1119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent/agent.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  * normal tools (phase 2). Two ordinary Agent runs; the loop is unchanged.
5
5
  */
6
6
  import type { ModelMessage } from 'ai';
7
+ import type { Attachment } from '../attachments.js';
7
8
  import type { AgentConfig, AgentEvent, AgentRunResult, ModelConfig } from '../types.js';
8
9
  export interface ArchitectOptions {
9
10
  task: string;
@@ -12,6 +13,8 @@ export interface ArchitectOptions {
12
13
  editorModel: ModelConfig;
13
14
  /** Prior conversation, given to both phases. */
14
15
  history?: ModelMessage[];
16
+ /** Files attached to this turn, given to both phases. */
17
+ attachments?: Attachment[];
15
18
  /** Interactive approval of the plan. Omit to apply it without asking (auto mode). */
16
19
  approvePlan?: (plan: string) => Promise<{
17
20
  approved: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"architect.d.ts","sourceRoot":"","sources":["../../src/agent/architect.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAGvC,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAOxF,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,UAAU,EAAE,WAAW,CAAC;IACxB,WAAW,EAAE,WAAW,CAAC;IACzB,gDAAgD;IAChD,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,qFAAqF;IACrF,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9E,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW,CAUnE;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAEhH;AAoBD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,GAAG,WAAW,CAG1F;AAED,mGAAmG;AACnG,wBAAgB,YAAY,CAC1B,IAAI,EAAE,WAAW,EACjB,SAAS,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAKhD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC,CAyClF"}
1
+ {"version":3,"file":"architect.d.ts","sourceRoot":"","sources":["../../src/agent/architect.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAGvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAOxF,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,UAAU,EAAE,WAAW,CAAC;IACxB,WAAW,EAAE,WAAW,CAAC;IACzB,gDAAgD;IAChD,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,yDAAyD;IACzD,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,qFAAqF;IACrF,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9E,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW,CAUnE;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAEhH;AAoBD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,GAAG,WAAW,CAG1F;AAED,mGAAmG;AACnG,wBAAgB,YAAY,CAC1B,IAAI,EAAE,WAAW,EACjB,SAAS,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAKhD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC,CA0ClF"}
@@ -54,6 +54,7 @@ export async function runArchitect(opts) {
54
54
  const runOptions = (task, history) => ({
55
55
  task,
56
56
  ...(history ? { history } : {}),
57
+ ...(opts.attachments && opts.attachments.length > 0 ? { attachments: opts.attachments } : {}),
57
58
  ...(opts.onEvent ? { onEvent: opts.onEvent } : {}),
58
59
  ...(opts.abortSignal ? { abortSignal: opts.abortSignal } : {}),
59
60
  });
@@ -1 +1 @@
1
- {"version":3,"file":"architect.js","sourceRoot":"","sources":["../../src/agent/architect.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAG3D,OAAO,EAAE,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAepC,MAAM,UAAU,oBAAoB,CAAC,IAAiB;IACpD,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IAC/D,OAAO;QACL,GAAG,IAAI;QACP,QAAQ,EAAE,IAAI;QACd,iBAAiB,EAAE,wBAAwB;QAC3C,cAAc,EAAE,gBAAgB;QAChC,oFAAoF;QACpF,WAAW,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC,GAAG,mBAAmB,CAAC,EAAE;KAC3E,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAiE;IACrG,OAAO,MAAM,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,UAAU,GAAG,wBAAwB,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;AACpH,CAAC;AAED,4GAA4G;AAC5G,SAAS,gBAAgB,CAAC,OAAuB;IAC/C,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC;IACjC,IAAI,KAAK,EAAE,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAClE,OAAO,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,GAAG,gBAAgB,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,+FAA+F;AAC/F,SAAS,sBAAsB,CAAC,QAAwB;IACtD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC3B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QACrG,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,EAAE;QAC5D,CAAC,CAAC,CAAC,CACN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAiB,EAAE,WAAwB;IAC3E,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IACtH,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;AACzC,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,YAAY,CAC1B,IAAiB,EACjB,SAAkD;IAElD,OAAO;QACL,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1G,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,IAAI,uBAAuB,CAAC,GAAG,SAAS,CAAC,UAAU,CAAC;KACnG,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,IAAY;IACnD,OAAO,GAAG,IAAI,yBAAyB,IAAI,iDAAiD,CAAC;AAC/F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAsB;IACvD,MAAM,IAAI,GAAG,CAAC,KAAiB,EAAQ,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,OAAmC,EAAE,EAAE,CAAC,CAAC;QACzE,IAAI;QACJ,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/D,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;IAC7B,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IACpG,MAAM,MAAM,GAAG,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAC5D,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CACjF,CAAC;IACF,uFAAuF;IACvF,MAAM,SAAS,GAAG,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,sBAAsB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IACnF,IAAI,IAAI,CAAC,WAAW,EAAE,OAAO;QAAE,OAAO,EAAE,GAAG,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC1E,IAAI,SAAS,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,SAAS,CAAC;IAClD,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC;QAAE,OAAO,EAAE,GAAG,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAEzF,IAAI,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC;IAC/B,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,QAAQ;YAAE,OAAO,EAAE,GAAG,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QACnE,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS;YAAE,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IACxD,CAAC;IAED,MAAM,YAAY,GAAG,EAAE,GAAG,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;IACxG,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7G,MAAM,MAAM,GAAG,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAExG,OAAO;QACL,GAAG,MAAM;QACT,UAAU,EAAE,SAAS,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU;QACpD,WAAW,EAAE,SAAS,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW;QACvD,YAAY,EAAE,SAAS,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY;QAC1D,UAAU,EAAE,SAAS,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU;QACpD,OAAO,EAAE,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO;QAC3C,SAAS,EAAE,SAAS,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS;KACnD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"architect.js","sourceRoot":"","sources":["../../src/agent/architect.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cost-router.d.ts","sourceRoot":"","sources":["../../src/agent/cost-router.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAc5D,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,GAAG,WAAW,CAKxG"}
1
+ {"version":3,"file":"cost-router.d.ts","sourceRoot":"","sources":["../../src/agent/cost-router.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAgB5D,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,GAAG,WAAW,CAKxG"}
@@ -8,6 +8,8 @@ const READ_ONLY_TOOLS = new Set([
8
8
  'read_image',
9
9
  'memory_read',
10
10
  'fetch_url',
11
+ 'github_pr_read',
12
+ 'web_search',
11
13
  ]);
12
14
  export function createExploreEditRouter(models) {
13
15
  return ({ iteration, lastToolNames }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"cost-router.js","sourceRoot":"","sources":["../../src/agent/cost-router.ts"],"names":[],"mappings":"AAQA,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,WAAW;IACX,YAAY;IACZ,cAAc;IACd,aAAa;IACb,cAAc;IACd,iBAAiB;IACjB,YAAY;IACZ,aAAa;IACb,WAAW;CACZ,CAAC,CAAC;AAEH,MAAM,UAAU,uBAAuB,CAAC,MAAmD;IACzF,OAAO,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,EAAE;QACtC,IAAI,SAAS,IAAI,CAAC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,MAAM,CAAC,MAAM,CAAC;QACvE,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IAC3F,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"cost-router.js","sourceRoot":"","sources":["../../src/agent/cost-router.ts"],"names":[],"mappings":"AAQA,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,WAAW;IACX,YAAY;IACZ,cAAc;IACd,aAAa;IACb,cAAc;IACd,iBAAiB;IACjB,YAAY;IACZ,aAAa;IACb,WAAW;IACX,gBAAgB;IAChB,YAAY;CACb,CAAC,CAAC;AAEH,MAAM,UAAU,uBAAuB,CAAC,MAAmD;IACzF,OAAO,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,EAAE;QACtC,IAAI,SAAS,IAAI,CAAC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,MAAM,CAAC,MAAM,CAAC;QACvE,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IAC3F,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,47 @@
1
+ import type { FilePart, TextPart } from 'ai';
2
+ export interface Attachment {
3
+ /** Display name, usually the file's base name. */
4
+ name: string;
5
+ /** IANA media type, e.g. `image/png`, `application/pdf`, `text/plain`. */
6
+ mediaType: string;
7
+ /** Base64 of the file's bytes (no `data:` prefix). */
8
+ data: string;
9
+ }
10
+ /** Same cap as read_image: what vision APIs accept without resampling. */
11
+ export declare const MAX_IMAGE_ATTACHMENT_BYTES: number;
12
+ /** PDF APIs accept around 32 MB; stay well inside it. */
13
+ export declare const MAX_ATTACHMENT_BYTES: number;
14
+ /** Text attachments past this are cut, with a note, so one log file can't fill the window. */
15
+ export declare const MAX_TEXT_ATTACHMENT_CHARS = 200000;
16
+ export type AttachmentKind = 'image' | 'pdf' | 'text' | 'binary';
17
+ export declare function attachmentKind(mediaType: string): AttachmentKind;
18
+ export declare function isPdf(buf: Uint8Array): boolean;
19
+ /** True when the first 8 KB have no NUL byte and decode as UTF-8. */
20
+ export declare function looksLikeText(buf: Uint8Array): boolean;
21
+ /**
22
+ * Media type from the bytes: images and PDFs by their magic numbers, then text. The
23
+ * declared type (a browser's or an extension's guess) only names text and other
24
+ * binaries, so a mislabelled file is never sent to a provider as an image or PDF.
25
+ */
26
+ export declare function detectMediaType(buf: Uint8Array, declared?: string): string;
27
+ /** Why these bytes can't be attached, or null when they can. */
28
+ export declare function attachmentProblem(bytes: number, mediaType: string): string | null;
29
+ /** Build an attachment from raw bytes; throws with a readable reason when it can't be attached. */
30
+ export declare function makeAttachment(name: string, bytes: Uint8Array, declaredType?: string): Attachment;
31
+ /** Read a file from disk as an attachment. */
32
+ export declare function loadAttachment(filePath: string): Promise<Attachment>;
33
+ /** Decoded size of an attachment's data. */
34
+ export declare function attachmentBytes(a: Attachment): number;
35
+ export declare function formatBytes(n: number): string;
36
+ /** One-line description, e.g. `screenshot.png (image/png, 120.4 KB)`. */
37
+ export declare function describeAttachment(a: Attachment): string;
38
+ /** The content parts that carry the attachments in a user message. */
39
+ export declare function attachmentParts(attachments: readonly Attachment[]): Array<TextPart | FilePart>;
40
+ /**
41
+ * Rough token cost of a non-text content part (an image is about 1,600 tokens on
42
+ * the major providers; a PDF page about the same, and PDFs run ~50 KB a page).
43
+ */
44
+ export declare function mediaPartTokens(part: unknown): number;
45
+ /** A short stand-in for a media part in transcripts (summaries, logs), never the bytes. */
46
+ export declare function mediaPartLabel(part: unknown): string | null;
47
+ //# sourceMappingURL=attachments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachments.d.ts","sourceRoot":"","sources":["../src/attachments.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAI7C,MAAM,WAAW,UAAU;IACzB,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,0EAA0E;AAC1E,eAAO,MAAM,0BAA0B,QAAkB,CAAC;AAC1D,yDAAyD;AACzD,eAAO,MAAM,oBAAoB,QAAmB,CAAC;AACrD,8FAA8F;AAC9F,eAAO,MAAM,yBAAyB,SAAU,CAAC;AAIjD,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEjE,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,CAKhE;AAaD,wBAAgB,KAAK,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAE9C;AAED,qEAAqE;AACrE,wBAAgB,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAUtD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAQ1E;AAED,gEAAgE;AAChE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOjF;AAED,mGAAmG;AACnG,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,UAAU,CAKjG;AAED,8CAA8C;AAC9C,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAO1E;AAED,4CAA4C;AAC5C,wBAAgB,eAAe,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,CAGrD;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAI7C;AAED,yEAAyE;AACzE,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,CAExD;AAED,sEAAsE;AACtE,wBAAgB,eAAe,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,GAAG,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAwB9F;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAUrD;AAED,2FAA2F;AAC3F,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAS3D"}