@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.
- package/README.md +1 -1
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.js +64 -31
- package/dist/agent/agent.js.map +1 -1
- package/dist/agent/architect.d.ts +3 -0
- package/dist/agent/architect.d.ts.map +1 -1
- package/dist/agent/architect.js +1 -0
- package/dist/agent/architect.js.map +1 -1
- package/dist/agent/cost-router.d.ts.map +1 -1
- package/dist/agent/cost-router.js +2 -0
- package/dist/agent/cost-router.js.map +1 -1
- package/dist/attachments.d.ts +47 -0
- package/dist/attachments.d.ts.map +1 -0
- package/dist/attachments.js +179 -0
- package/dist/attachments.js.map +1 -0
- package/dist/code-index/builder.d.ts.map +1 -1
- package/dist/code-index/builder.js +4 -0
- package/dist/code-index/builder.js.map +1 -1
- package/dist/commands/custom-commands.d.ts +25 -0
- package/dist/commands/custom-commands.d.ts.map +1 -0
- package/dist/commands/custom-commands.js +99 -0
- package/dist/commands/custom-commands.js.map +1 -0
- package/dist/context/compaction.d.ts.map +1 -1
- package/dist/context/compaction.js +11 -1
- package/dist/context/compaction.js.map +1 -1
- package/dist/context/mask.d.ts.map +1 -1
- package/dist/context/mask.js +1 -1
- package/dist/context/mask.js.map +1 -1
- package/dist/diff/unified-diff.js +42 -15
- package/dist/diff/unified-diff.js.map +1 -1
- package/dist/git/auto-commit.d.ts.map +1 -1
- package/dist/git/auto-commit.js +14 -2
- package/dist/git/auto-commit.js.map +1 -1
- package/dist/github/github-tools.d.ts +84 -0
- package/dist/github/github-tools.d.ts.map +1 -0
- package/dist/github/github-tools.js +176 -0
- package/dist/github/github-tools.js.map +1 -0
- package/dist/index.d.ts +18 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -4
- package/dist/index.js.map +1 -1
- package/dist/memory/memory-store.d.ts +57 -10
- package/dist/memory/memory-store.d.ts.map +1 -1
- package/dist/memory/memory-store.js +236 -69
- package/dist/memory/memory-store.js.map +1 -1
- package/dist/memory/rank.d.ts +21 -0
- package/dist/memory/rank.d.ts.map +1 -0
- package/dist/memory/rank.js +65 -0
- package/dist/memory/rank.js.map +1 -0
- package/dist/memory/stale.d.ts +19 -0
- package/dist/memory/stale.d.ts.map +1 -0
- package/dist/memory/stale.js +46 -0
- package/dist/memory/stale.js.map +1 -0
- package/dist/orchestrator/specialists.js +5 -5
- package/dist/orchestrator/specialists.js.map +1 -1
- package/dist/semantic/semantic-index.d.ts.map +1 -1
- package/dist/semantic/semantic-index.js +4 -0
- package/dist/semantic/semantic-index.js.map +1 -1
- package/dist/sessions/index.d.ts +1 -0
- package/dist/sessions/index.d.ts.map +1 -1
- package/dist/sessions/index.js +1 -0
- package/dist/sessions/index.js.map +1 -1
- package/dist/sessions/search.d.ts +23 -0
- package/dist/sessions/search.d.ts.map +1 -0
- package/dist/sessions/search.js +67 -0
- package/dist/sessions/search.js.map +1 -0
- package/dist/specs/index.d.ts +2 -0
- package/dist/specs/index.d.ts.map +1 -1
- package/dist/specs/index.js +1 -0
- package/dist/specs/index.js.map +1 -1
- package/dist/specs/store.d.ts +7 -0
- package/dist/specs/store.d.ts.map +1 -1
- package/dist/specs/store.js +33 -0
- package/dist/specs/store.js.map +1 -1
- package/dist/specs/sync.d.ts +30 -0
- package/dist/specs/sync.d.ts.map +1 -0
- package/dist/specs/sync.js +156 -0
- package/dist/specs/sync.js.map +1 -0
- package/dist/specs/types.d.ts +2 -0
- package/dist/specs/types.d.ts.map +1 -1
- package/dist/tools/ignore-rules.d.ts +16 -0
- package/dist/tools/ignore-rules.d.ts.map +1 -0
- package/dist/tools/ignore-rules.js +85 -0
- package/dist/tools/ignore-rules.js.map +1 -0
- package/dist/tools/index.d.ts +3 -2
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +5 -2
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/list-files.d.ts +3 -0
- package/dist/tools/list-files.d.ts.map +1 -1
- package/dist/tools/list-files.js +8 -0
- package/dist/tools/list-files.js.map +1 -1
- package/dist/tools/memory.d.ts +34 -1
- package/dist/tools/memory.d.ts.map +1 -1
- package/dist/tools/memory.js +118 -25
- package/dist/tools/memory.js.map +1 -1
- package/dist/tools/notebook.d.ts +70 -0
- package/dist/tools/notebook.d.ts.map +1 -0
- package/dist/tools/notebook.js +164 -0
- package/dist/tools/notebook.js.map +1 -0
- package/dist/tools/read-file.d.ts +8 -1
- package/dist/tools/read-file.d.ts.map +1 -1
- package/dist/tools/read-file.js +19 -1
- package/dist/tools/read-file.js.map +1 -1
- package/dist/tools/search-files.d.ts +5 -2
- package/dist/tools/search-files.d.ts.map +1 -1
- package/dist/tools/search-files.js +8 -0
- package/dist/tools/search-files.js.map +1 -1
- package/dist/tools/web-search.d.ts +56 -0
- package/dist/tools/web-search.d.ts.map +1 -0
- package/dist/tools/web-search.js +132 -0
- package/dist/tools/web-search.js.map +1 -0
- package/dist/types.d.ts +31 -0
- package/dist/types.d.ts.map +1 -1
- 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":"
|
|
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"}
|
package/dist/agent/agent.js
CHANGED
|
@@ -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 (
|
|
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
|
|
911
|
-
// `mime`). When found, attach the
|
|
912
|
-
//
|
|
913
|
-
//
|
|
914
|
-
const
|
|
915
|
-
if (
|
|
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:
|
|
924
|
-
|
|
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
|
|
936
|
-
*
|
|
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
|
|
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
|
|
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
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
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
|
}
|
package/dist/agent/agent.js.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/agent/architect.js
CHANGED
|
@@ -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;
|
|
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;
|
|
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"}
|
|
@@ -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;
|
|
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"}
|