@marifold/core 0.61.0 → 0.64.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/dist/agent/AgentEvents.d.ts +7 -0
- package/dist/agent/AgentEvents.d.ts.map +1 -1
- package/dist/agent/AgentRunner.d.ts.map +1 -1
- package/dist/agent/AgentRunner.js +57 -15
- package/dist/agent/AgentRunner.js.map +1 -1
- package/dist/agent/AttachmentResources.d.ts +40 -0
- package/dist/agent/AttachmentResources.d.ts.map +1 -0
- package/dist/agent/AttachmentResources.js +192 -0
- package/dist/agent/AttachmentResources.js.map +1 -0
- package/dist/agent/RunArtifacts.d.ts +18 -0
- package/dist/agent/RunArtifacts.d.ts.map +1 -0
- package/dist/agent/RunArtifacts.js +137 -0
- package/dist/agent/RunArtifacts.js.map +1 -0
- package/dist/agent/tools/InspectAttachmentTool.d.ts.map +1 -1
- package/dist/agent/tools/InspectAttachmentTool.js +4 -69
- package/dist/agent/tools/InspectAttachmentTool.js.map +1 -1
- package/dist/agent/tools/ReadAttachmentTool.d.ts +34 -0
- package/dist/agent/tools/ReadAttachmentTool.d.ts.map +1 -0
- package/dist/agent/tools/ReadAttachmentTool.js +84 -0
- package/dist/agent/tools/ReadAttachmentTool.js.map +1 -0
- package/dist/agent/tools/SearchAttachmentTool.d.ts +33 -0
- package/dist/agent/tools/SearchAttachmentTool.d.ts.map +1 -0
- package/dist/agent/tools/SearchAttachmentTool.js +76 -0
- package/dist/agent/tools/SearchAttachmentTool.js.map +1 -0
- package/dist/agent/tools/SkillManagementTool.d.ts +75 -0
- package/dist/agent/tools/SkillManagementTool.d.ts.map +1 -0
- package/dist/agent/tools/SkillManagementTool.js +312 -0
- package/dist/agent/tools/SkillManagementTool.js.map +1 -0
- package/dist/config/MarifoldOpenAICompatProvider.d.ts.map +1 -1
- package/dist/config/MarifoldOpenAICompatProvider.js +9 -0
- package/dist/config/MarifoldOpenAICompatProvider.js.map +1 -1
- package/dist/errors/MarifoldError.d.ts +2 -1
- package/dist/errors/MarifoldError.d.ts.map +1 -1
- package/dist/errors/MarifoldError.js +3 -0
- package/dist/errors/MarifoldError.js.map +1 -1
- package/dist/index.d.ts +9 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +26 -3
- package/dist/index.js.map +1 -1
- package/dist/runs/RunRegistry.d.ts +4 -0
- package/dist/runs/RunRegistry.d.ts.map +1 -1
- package/dist/runs/RunRegistry.js +22 -1
- package/dist/runs/RunRegistry.js.map +1 -1
- package/dist/runtime/MarifoldRuntime.d.ts.map +1 -1
- package/dist/runtime/MarifoldRuntime.js +24 -3
- package/dist/runtime/MarifoldRuntime.js.map +1 -1
- package/dist/skill/BuiltInSkillManager.d.ts.map +1 -1
- package/dist/skill/BuiltInSkillManager.js +2 -1
- package/dist/skill/BuiltInSkillManager.js.map +1 -1
- package/dist/skill/BuiltInSkills.d.ts +6 -0
- package/dist/skill/BuiltInSkills.d.ts.map +1 -0
- package/dist/skill/BuiltInSkills.js +91 -0
- package/dist/skill/BuiltInSkills.js.map +1 -0
- package/dist/skill/SkillSchema.d.ts +2 -2
- package/dist/skill/SkillSchema.d.ts.map +1 -1
- package/dist/skill/SkillStore.d.ts +9 -0
- package/dist/skill/SkillStore.d.ts.map +1 -1
- package/dist/skill/SkillStore.js +87 -14
- package/dist/skill/SkillStore.js.map +1 -1
- package/dist/skill/index.d.ts +1 -0
- package/dist/skill/index.d.ts.map +1 -1
- package/dist/skill/index.js +5 -1
- package/dist/skill/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -3,6 +3,7 @@ import { TaskPlanItem, TaskStatus, TaskStepStatus } from '../tasks/TaskStore';
|
|
|
3
3
|
import { ApprovalRequest } from './ApprovalPolicy';
|
|
4
4
|
import type { AgentToolKind } from './ToolRegistry';
|
|
5
5
|
import type { UserInputRequest, UserInputResponse } from './UserInput';
|
|
6
|
+
import type { RunArtifact } from './RunArtifacts';
|
|
6
7
|
/** Token usage accumulated over an agent run's model calls (optional planning
|
|
7
8
|
* and loop turns), as reported by the provider. Fields are undefined when the
|
|
8
9
|
* provider does not report usage (e.g. some local models). */
|
|
@@ -85,6 +86,12 @@ export type AgentEvent = {
|
|
|
85
86
|
summary: string;
|
|
86
87
|
isError: boolean;
|
|
87
88
|
}
|
|
89
|
+
/** A regular file generated under the isolated run output directory. The
|
|
90
|
+
* opaque id is resolved by the hosting transport; host paths never cross. */
|
|
91
|
+
| {
|
|
92
|
+
type: 'artifact';
|
|
93
|
+
artifact: RunArtifact;
|
|
94
|
+
}
|
|
88
95
|
/** @deprecated Kept for wire/source compatibility with pre-v0.24.2 runners.
|
|
89
96
|
* Current runners verify observable behavior through normal tool calls and
|
|
90
97
|
* never emit a separate model-authored self-grade. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentEvents.d.ts","sourceRoot":"","sources":["../../src/agent/AgentEvents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"AgentEvents.d.ts","sourceRoot":"","sources":["../../src/agent/AgentEvents.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentRunner.d.ts","sourceRoot":"","sources":["../../src/agent/AgentRunner.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAEV,YAAY,EACZ,aAAa,EACb,cAAc,EAIf,MAAM,iBAAiB,CAAC;AAMzB,OAAO,EAAuB,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,8BAA8B,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAC/I,OAAO,EAAyB,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,UAAU,EAAc,MAAM,eAAe,CAAC;AACvD,OAAO,EACL,aAAa,EACb,eAAe,EAEf,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAM1B,OAAO,EAAsB,YAAY,EAAgB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"AgentRunner.d.ts","sourceRoot":"","sources":["../../src/agent/AgentRunner.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,6 +42,8 @@ const MemoryControls_1 = require("../memory/MemoryControls");
|
|
|
42
42
|
const AgentHistory_1 = require("./AgentHistory");
|
|
43
43
|
const ControlBlockTools_1 = require("./ControlBlockTools");
|
|
44
44
|
const RunWorkspace_1 = require("./RunWorkspace");
|
|
45
|
+
const RunArtifacts_1 = require("./RunArtifacts");
|
|
46
|
+
const ToolRegistry_1 = require("./ToolRegistry");
|
|
45
47
|
const PLAN_SCHEMA = {
|
|
46
48
|
type: 'object',
|
|
47
49
|
properties: {
|
|
@@ -53,6 +55,11 @@ const PLAN_SCHEMA = {
|
|
|
53
55
|
const NATIVE_WEB_SEARCH_COMPAT_OPTION = 'marifold_native_web_search';
|
|
54
56
|
/** Char budget for the injected history window when no profile budget is set. */
|
|
55
57
|
const HISTORY_BUDGET_DEFAULT_CHARS = 16000;
|
|
58
|
+
/** Tool output is operational context, not a document transport. Bound each
|
|
59
|
+
* result and the accumulated turn-local exchange independently so several
|
|
60
|
+
* successful reads cannot overflow the next provider request. */
|
|
61
|
+
const MODEL_TOOL_RESULT_MAX_CHARS = 24_000;
|
|
62
|
+
const MODEL_TOOL_EXCHANGE_MAX_CHARS = 64_000;
|
|
56
63
|
/**
|
|
57
64
|
* Approval-aware agent loop. Optionally plans, iterates tool calls against the
|
|
58
65
|
* ToolRegistry, and records the final outcome in the ephemeral TaskStore.
|
|
@@ -251,7 +258,7 @@ class AgentRunner {
|
|
|
251
258
|
const message = response.error?.message ?? 'Provider call failed.';
|
|
252
259
|
yield { type: 'error', code: response.error?.code ?? 'PROVIDER_ERROR', message };
|
|
253
260
|
await persistSessionTurn(failedSessionOutcome(message), 'failed');
|
|
254
|
-
yield* this.finish(task.id, 'failed', undefined, 'Retry the run once the provider issue is resolved.', usage);
|
|
261
|
+
yield* this.finish(task.id, 'failed', undefined, 'Retry the run once the provider issue is resolved.', usage, workspace);
|
|
255
262
|
return;
|
|
256
263
|
}
|
|
257
264
|
const { text, calls } = this.extractTurn(response, state);
|
|
@@ -286,7 +293,7 @@ class AgentRunner {
|
|
|
286
293
|
message: `Iteration cap of ${maxIterations} reached before the objective was completed.`,
|
|
287
294
|
});
|
|
288
295
|
await persistSessionTurn(failedSessionOutcome(`Stopped at the iteration cap of ${maxIterations} before completing the objective.`), 'failed');
|
|
289
|
-
yield* this.finish(task.id, 'failed', 'Stopped at the iteration cap before completing the objective.', 'Re-run with a higher iteration cap or a narrower objective.', usage);
|
|
296
|
+
yield* this.finish(task.id, 'failed', 'Stopped at the iteration cap before completing the objective.', 'Re-run with a higher iteration cap or a narrower objective.', usage, workspace);
|
|
290
297
|
return;
|
|
291
298
|
}
|
|
292
299
|
// Persist a single clean turn pair (objective → final answer) so resuming
|
|
@@ -297,19 +304,19 @@ class AgentRunner {
|
|
|
297
304
|
// self-grade unreliably — so it was pure token overhead. Real checks belong
|
|
298
305
|
// in tools the agent runs inside the loop, not a final self-assessment.
|
|
299
306
|
this.completePlanSteps(task.id, true);
|
|
300
|
-
yield* this.finish(task.id, 'completed', finalText, undefined, usage);
|
|
307
|
+
yield* this.finish(task.id, 'completed', finalText, undefined, usage, workspace);
|
|
301
308
|
}
|
|
302
309
|
catch (error) {
|
|
303
310
|
if (error instanceof AbortedError || (options.signal?.aborted ?? false)) {
|
|
304
311
|
this.deps.taskStore.appendEvent(task.id, { kind: 'note', message: 'Run cancelled by the user.' });
|
|
305
312
|
await persistSessionTurn('Run cancelled before a final response was produced.', 'cancelled');
|
|
306
|
-
yield* this.finish(task.id, 'cancelled', undefined, 'Resume by starting a new run with the same objective.', usage);
|
|
313
|
+
yield* this.finish(task.id, 'cancelled', undefined, 'Resume by starting a new run with the same objective.', usage, workspace);
|
|
307
314
|
return;
|
|
308
315
|
}
|
|
309
316
|
const message = error instanceof Error ? error.message : String(error);
|
|
310
317
|
yield { type: 'error', code: 'AGENT_RUN_ERROR', message };
|
|
311
318
|
await persistSessionTurn(failedSessionOutcome(message), 'failed');
|
|
312
|
-
yield* this.finish(task.id, 'failed', undefined, message, usage);
|
|
319
|
+
yield* this.finish(task.id, 'failed', undefined, message, usage, workspace);
|
|
313
320
|
}
|
|
314
321
|
}
|
|
315
322
|
async *executeCall(taskId, call, options, state, toolContext) {
|
|
@@ -486,11 +493,14 @@ class AgentRunner {
|
|
|
486
493
|
}
|
|
487
494
|
recordToolResult(taskId, state, call, content, isError, summary, appendObservation = true) {
|
|
488
495
|
this.trace({ kind: 'tool_result', tool: call.name, chars: content.length, isError });
|
|
496
|
+
const modelContent = (0, ToolRegistry_1.capToolOutput)(content, MODEL_TOOL_RESULT_MAX_CHARS);
|
|
489
497
|
if (state.mode === 'native') {
|
|
490
|
-
state.exchange.push({ kind: 'tool_result', toolCallId: call.id, name: call.name, content, isError });
|
|
498
|
+
state.exchange.push({ kind: 'tool_result', toolCallId: call.id, name: call.name, content: modelContent, isError });
|
|
499
|
+
compactNativeToolExchange(state.exchange);
|
|
491
500
|
}
|
|
492
501
|
else {
|
|
493
|
-
state.transcript.push((0, ControlBlockTools_1.formatControlBlockResult)(call,
|
|
502
|
+
state.transcript.push((0, ControlBlockTools_1.formatControlBlockResult)(call, modelContent, isError));
|
|
503
|
+
compactControlBlockTranscript(state.transcript);
|
|
494
504
|
}
|
|
495
505
|
state.toolSummaries.push(`${isError ? '[error] ' : ''}${summary}`);
|
|
496
506
|
if (appendObservation) {
|
|
@@ -519,7 +529,7 @@ class AgentRunner {
|
|
|
519
529
|
return drained;
|
|
520
530
|
}
|
|
521
531
|
loopRequest(config, profile, options, state, workspace, webSearchMode, providerTools) {
|
|
522
|
-
const toolDefinitions = this.toolDefinitions(webSearchMode);
|
|
532
|
+
const toolDefinitions = this.toolDefinitions(webSearchMode, options.instructions);
|
|
523
533
|
const base = {
|
|
524
534
|
config,
|
|
525
535
|
profile,
|
|
@@ -546,7 +556,7 @@ class AgentRunner {
|
|
|
546
556
|
};
|
|
547
557
|
}
|
|
548
558
|
agentContext(state, workspace, webSearchMode, instructions, lean = false) {
|
|
549
|
-
const toolDefinitions = this.toolDefinitions(webSearchMode);
|
|
559
|
+
const toolDefinitions = this.toolDefinitions(webSearchMode, instructions);
|
|
550
560
|
const webSearchContext = webSearchMode === 'native'
|
|
551
561
|
? 'Provider-hosted web search is available for this run. Use it for web/current-information requests; Marifold fallback search is not exposed while native search is available.'
|
|
552
562
|
: webSearchMode === 'unavailable'
|
|
@@ -556,14 +566,14 @@ class AgentRunner {
|
|
|
556
566
|
? [
|
|
557
567
|
'Attachments uploaded for this run:',
|
|
558
568
|
...workspace.attachments.map(attachment => (`- ${attachment.id}: ${attachment.name} (${attachment.mediaType}, ${formatAttachmentBytes(attachment.size)})`)),
|
|
559
|
-
'Attachments are not embedded in this agent prompt.
|
|
569
|
+
'Attachments are not embedded in this agent prompt. Start with inspect_attachment for metadata, a small preview, and the read-only run path. Use search_attachment and bounded read_attachment ranges for understanding. For joins, conversions, edits, extraction, or other complete-file operations, run a local format-specific program against the read-only path and write deliverables to $MARIFOLD_OUTPUT_DIR; never pull the complete file through model context. You may inspect independent attachments in parallel with other read-only tool calls.',
|
|
560
570
|
].join('\n')
|
|
561
571
|
: 'No attachments were uploaded for this run.';
|
|
562
572
|
const workspaceContext = [
|
|
563
573
|
`Working directory: ${workspace.cwd}. Relative tool paths resolve against it.`,
|
|
564
574
|
`User home: ${workspace.userHome}. In tool paths and shell commands, ~ refers to this directory.`,
|
|
565
575
|
`Isolated run directory: ${workspace.rootDir}. Its internal runtime home is ${workspace.homeDir}.`,
|
|
566
|
-
`${attachments}\nHonor explicit destination paths from the user; otherwise write generated deliverables to ${workspace.outputDir}. Temporary scripts and environments belong in ${workspace.workDir}.`,
|
|
576
|
+
`${attachments}\nHonor explicit destination paths from the user; otherwise write generated deliverables to ${workspace.outputDir}. Regular output files are published to clients automatically, so mention their filenames normally and do not invent sandbox:, file:, or host-path download links. Temporary scripts and environments belong in ${workspace.workDir}.`,
|
|
567
577
|
...(this.deps.registry.get('ask_user')?.kind === 'interaction' ? [
|
|
568
578
|
'ask_user is optional. Use it only when essential information is missing and a reasonable assumption could materially change the result. Otherwise proceed. Batch all currently known questions into one call, and call it without other tools in that response.',
|
|
569
579
|
] : []),
|
|
@@ -573,7 +583,7 @@ class AgentRunner {
|
|
|
573
583
|
// and we ask for only the final output to avoid plan/preamble/reasoning prose.
|
|
574
584
|
if (lean) {
|
|
575
585
|
const context = [...(instructions ?? [])];
|
|
576
|
-
context.push(`${webSearchContext}\n${workspaceContext}\nUse inspect_attachment when the skill depends on an uploaded attachment. Use read_file only if the instructions reference a bundled file (e.g. vars.toml). Resolve required inputs, then reply with ONLY the final output the instructions define — no plan, preamble, reasoning, or commentary.`);
|
|
586
|
+
context.push(`${webSearchContext}\n${workspaceContext}\nUse inspect_attachment when the skill depends on an uploaded attachment, then use bounded attachment search/read or local processing as appropriate. Use read_file only if the instructions reference a bundled file (e.g. vars.toml). Resolve required inputs, then reply with ONLY the final output the instructions define — no plan, preamble, reasoning, or commentary.`);
|
|
577
587
|
if (state.mode === 'control-block') {
|
|
578
588
|
context.push((0, ControlBlockTools_1.buildControlBlockInstructions)(toolDefinitions));
|
|
579
589
|
}
|
|
@@ -598,8 +608,9 @@ class AgentRunner {
|
|
|
598
608
|
}
|
|
599
609
|
return context;
|
|
600
610
|
}
|
|
601
|
-
toolDefinitions(webSearchMode) {
|
|
602
|
-
const
|
|
611
|
+
toolDefinitions(webSearchMode, instructions) {
|
|
612
|
+
const exposeSkillManagement = instructions?.some(instruction => instruction.includes('manage_skill')) ?? false;
|
|
613
|
+
const definitions = this.deps.registry.definitions().filter(tool => tool.name !== 'manage_skill' || exposeSkillManagement);
|
|
603
614
|
return webSearchMode === 'fallback'
|
|
604
615
|
? definitions
|
|
605
616
|
: definitions.filter(tool => tool.name !== 'web_search');
|
|
@@ -657,12 +668,17 @@ class AgentRunner {
|
|
|
657
668
|
plan: task.plan.map(step => ({ id: step.id, text: step.text, status: 'completed' })),
|
|
658
669
|
});
|
|
659
670
|
}
|
|
660
|
-
async *finish(taskId, status, summary, nextAction, usage) {
|
|
671
|
+
async *finish(taskId, status, summary, nextAction, usage, workspace) {
|
|
661
672
|
const updated = this.deps.taskStore.update(taskId, {
|
|
662
673
|
status,
|
|
663
674
|
...(summary ? { summary: truncate(summary, 2000) } : {}),
|
|
664
675
|
...(nextAction ? { nextAction: truncate(nextAction, 500) } : {}),
|
|
665
676
|
});
|
|
677
|
+
if (workspace) {
|
|
678
|
+
for (const artifact of (0, RunArtifacts_1.listRunArtifacts)(workspace)) {
|
|
679
|
+
yield { type: 'artifact', artifact };
|
|
680
|
+
}
|
|
681
|
+
}
|
|
666
682
|
yield { type: 'status', taskId, status: updated.status };
|
|
667
683
|
yield {
|
|
668
684
|
type: 'done',
|
|
@@ -678,6 +694,32 @@ class AgentRunner {
|
|
|
678
694
|
}
|
|
679
695
|
}
|
|
680
696
|
exports.AgentRunner = AgentRunner;
|
|
697
|
+
function compactNativeToolExchange(exchange) {
|
|
698
|
+
let total = exchange.reduce((sum, turn) => (sum + (turn.kind === 'tool_result' ? turn.content.length : (turn.text?.length ?? 0))), 0);
|
|
699
|
+
if (total <= MODEL_TOOL_EXCHANGE_MAX_CHARS)
|
|
700
|
+
return;
|
|
701
|
+
for (let index = 0; index < exchange.length && total > MODEL_TOOL_EXCHANGE_MAX_CHARS; index += 1) {
|
|
702
|
+
const turn = exchange[index];
|
|
703
|
+
if (turn.kind !== 'tool_result' || turn.content.startsWith('[Earlier tool result compacted'))
|
|
704
|
+
continue;
|
|
705
|
+
const replacement = `[Earlier tool result compacted: ${turn.name}; ${turn.content.length.toLocaleString('en-US')} characters omitted. Re-run a bounded read or search if the details are still needed.]`;
|
|
706
|
+
total -= turn.content.length - replacement.length;
|
|
707
|
+
exchange[index] = { ...turn, content: replacement };
|
|
708
|
+
}
|
|
709
|
+
}
|
|
710
|
+
function compactControlBlockTranscript(transcript) {
|
|
711
|
+
let total = transcript.reduce((sum, turn) => sum + turn.length, 0);
|
|
712
|
+
if (total <= MODEL_TOOL_EXCHANGE_MAX_CHARS)
|
|
713
|
+
return;
|
|
714
|
+
for (let index = 0; index < transcript.length - 1 && total > MODEL_TOOL_EXCHANGE_MAX_CHARS; index += 1) {
|
|
715
|
+
const turn = transcript[index];
|
|
716
|
+
if (turn.startsWith('[Earlier control-block turn compacted'))
|
|
717
|
+
continue;
|
|
718
|
+
const replacement = `[Earlier control-block turn compacted; ${turn.length.toLocaleString('en-US')} characters omitted.]`;
|
|
719
|
+
total -= turn.length - replacement.length;
|
|
720
|
+
transcript[index] = replacement;
|
|
721
|
+
}
|
|
722
|
+
}
|
|
681
723
|
class AbortedError extends Error {
|
|
682
724
|
constructor() {
|
|
683
725
|
super('Agent run aborted.');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentRunner.js","sourceRoot":"","sources":["../../src/agent/AgentRunner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AgentRunner.js","sourceRoot":"","sources":["../../src/agent/AgentRunner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { StagedRunAttachment } from './RunWorkspace';
|
|
2
|
+
export declare const ATTACHMENT_PREVIEW_CHARS = 8000;
|
|
3
|
+
export declare const DEFAULT_ATTACHMENT_READ_CHARS = 8000;
|
|
4
|
+
export declare const MAX_ATTACHMENT_READ_CHARS = 20000;
|
|
5
|
+
export declare const DEFAULT_ATTACHMENT_SEARCH_RESULTS = 8;
|
|
6
|
+
export declare const MAX_ATTACHMENT_SEARCH_RESULTS = 20;
|
|
7
|
+
export interface AttachmentInspection {
|
|
8
|
+
content: string;
|
|
9
|
+
hasReadableText: boolean;
|
|
10
|
+
}
|
|
11
|
+
export interface AttachmentReadResult {
|
|
12
|
+
content: string;
|
|
13
|
+
start: number;
|
|
14
|
+
end: number;
|
|
15
|
+
total: number;
|
|
16
|
+
unit: 'characters';
|
|
17
|
+
}
|
|
18
|
+
export interface AttachmentSearchMatch {
|
|
19
|
+
line: number;
|
|
20
|
+
text: string;
|
|
21
|
+
}
|
|
22
|
+
export interface AttachmentSearchResult {
|
|
23
|
+
matches: AttachmentSearchMatch[];
|
|
24
|
+
truncated: boolean;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Format-neutral attachment facade. Original files remain authoritative and
|
|
28
|
+
* local; model-visible content is always a bounded derived view.
|
|
29
|
+
*/
|
|
30
|
+
export declare class AttachmentResource {
|
|
31
|
+
readonly attachment: StagedRunAttachment;
|
|
32
|
+
constructor(attachment: StagedRunAttachment);
|
|
33
|
+
inspect(maxPreviewChars?: number): AttachmentInspection;
|
|
34
|
+
read(start: number, maxChars: number): AttachmentReadResult | undefined;
|
|
35
|
+
search(query: string, maxResults: number): AttachmentSearchResult | undefined;
|
|
36
|
+
private readableText;
|
|
37
|
+
}
|
|
38
|
+
export declare function isTextAttachment(attachment: Pick<StagedRunAttachment, 'name' | 'mediaType'>): boolean;
|
|
39
|
+
export declare function formatAttachmentSearch(result: AttachmentSearchResult, query: string): string;
|
|
40
|
+
//# sourceMappingURL=AttachmentResources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AttachmentResources.d.ts","sourceRoot":"","sources":["../../src/agent/AttachmentResources.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,eAAO,MAAM,wBAAwB,OAAQ,CAAC;AAC9C,eAAO,MAAM,6BAA6B,OAAQ,CAAC;AACnD,eAAO,MAAM,yBAAyB,QAAS,CAAC;AAChD,eAAO,MAAM,iCAAiC,IAAI,CAAC;AACnD,eAAO,MAAM,6BAA6B,KAAK,CAAC;AA8BhD,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,YAAY,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACjC,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,qBAAa,kBAAkB;IACjB,QAAQ,CAAC,UAAU,EAAE,mBAAmB;IAApD,YAAqB,UAAU,EAAE,mBAAmB,EAAI;IAExD,OAAO,CAAC,eAAe,SAA2B,GAAG,oBAAoB,CAwCxE;IAED,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAatE;IAED,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS,CAe5E;IAED,OAAO,CAAC,YAAY;CASrB;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,mBAAmB,EAAE,MAAM,GAAG,WAAW,CAAC,GAAG,OAAO,CAGrG;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAM5F"}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.AttachmentResource = exports.MAX_ATTACHMENT_SEARCH_RESULTS = exports.DEFAULT_ATTACHMENT_SEARCH_RESULTS = exports.MAX_ATTACHMENT_READ_CHARS = exports.DEFAULT_ATTACHMENT_READ_CHARS = exports.ATTACHMENT_PREVIEW_CHARS = void 0;
|
|
37
|
+
exports.isTextAttachment = isTextAttachment;
|
|
38
|
+
exports.formatAttachmentSearch = formatAttachmentSearch;
|
|
39
|
+
const fs = __importStar(require("fs"));
|
|
40
|
+
const path = __importStar(require("path"));
|
|
41
|
+
exports.ATTACHMENT_PREVIEW_CHARS = 8_000;
|
|
42
|
+
exports.DEFAULT_ATTACHMENT_READ_CHARS = 8_000;
|
|
43
|
+
exports.MAX_ATTACHMENT_READ_CHARS = 20_000;
|
|
44
|
+
exports.DEFAULT_ATTACHMENT_SEARCH_RESULTS = 8;
|
|
45
|
+
exports.MAX_ATTACHMENT_SEARCH_RESULTS = 20;
|
|
46
|
+
const TEXT_EXTENSIONS = new Set([
|
|
47
|
+
'.txt', '.md', '.markdown', '.json', '.jsonl', '.yaml', '.yml', '.toml', '.ini',
|
|
48
|
+
'.csv', '.tsv', '.xml', '.html', '.css', '.js', '.mjs', '.cjs', '.ts', '.tsx',
|
|
49
|
+
'.jsx', '.py', '.rb', '.go', '.rs', '.java', '.kt', '.swift', '.c', '.h', '.cpp',
|
|
50
|
+
'.hpp', '.cs', '.sh', '.zsh', '.bash', '.fish', '.sql', '.log', '.diff', '.patch',
|
|
51
|
+
]);
|
|
52
|
+
const FORMAT_LABELS = new Map([
|
|
53
|
+
['.xlsx', 'Excel workbook'],
|
|
54
|
+
['.xlsm', 'macro-enabled Excel workbook'],
|
|
55
|
+
['.xls', 'legacy Excel workbook'],
|
|
56
|
+
['.docx', 'Word document'],
|
|
57
|
+
['.doc', 'legacy Word document'],
|
|
58
|
+
['.odt', 'OpenDocument text'],
|
|
59
|
+
['.pptx', 'PowerPoint presentation'],
|
|
60
|
+
['.ppt', 'legacy PowerPoint presentation'],
|
|
61
|
+
['.odp', 'OpenDocument presentation'],
|
|
62
|
+
['.pdf', 'PDF document'],
|
|
63
|
+
['.epub', 'EPUB ebook'],
|
|
64
|
+
['.mobi', 'Mobipocket ebook'],
|
|
65
|
+
['.azw', 'Kindle ebook'],
|
|
66
|
+
['.azw3', 'Kindle ebook'],
|
|
67
|
+
['.zip', 'ZIP archive'],
|
|
68
|
+
['.tar', 'TAR archive'],
|
|
69
|
+
['.gz', 'gzip archive'],
|
|
70
|
+
['.7z', '7-Zip archive'],
|
|
71
|
+
]);
|
|
72
|
+
/**
|
|
73
|
+
* Format-neutral attachment facade. Original files remain authoritative and
|
|
74
|
+
* local; model-visible content is always a bounded derived view.
|
|
75
|
+
*/
|
|
76
|
+
class AttachmentResource {
|
|
77
|
+
attachment;
|
|
78
|
+
constructor(attachment) {
|
|
79
|
+
this.attachment = attachment;
|
|
80
|
+
}
|
|
81
|
+
inspect(maxPreviewChars = exports.ATTACHMENT_PREVIEW_CHARS) {
|
|
82
|
+
const source = this.readableText();
|
|
83
|
+
const pathLine = this.attachment.path
|
|
84
|
+
? `Read-only run path: ${this.attachment.path}`
|
|
85
|
+
: 'Read-only run path: unavailable';
|
|
86
|
+
const header = [
|
|
87
|
+
`Attachment: ${this.attachment.name}`,
|
|
88
|
+
`Format: ${formatLabel(this.attachment)}`,
|
|
89
|
+
`Media type: ${this.attachment.mediaType}`,
|
|
90
|
+
`Size: ${formatBytes(this.attachment.size)}`,
|
|
91
|
+
pathLine,
|
|
92
|
+
];
|
|
93
|
+
if (source === undefined) {
|
|
94
|
+
return {
|
|
95
|
+
hasReadableText: false,
|
|
96
|
+
content: [
|
|
97
|
+
...header,
|
|
98
|
+
'Readable view: unavailable for this format.',
|
|
99
|
+
'For a complete-file task, use a format-specific local tool against the read-only run path and write deliverables to $MARIFOLD_OUTPUT_DIR.',
|
|
100
|
+
].join('\n'),
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
const previewLimit = Math.max(1, Math.min(maxPreviewChars, exports.ATTACHMENT_PREVIEW_CHARS));
|
|
104
|
+
const preview = source.slice(0, previewLimit);
|
|
105
|
+
const remainder = source.length - preview.length;
|
|
106
|
+
return {
|
|
107
|
+
hasReadableText: true,
|
|
108
|
+
content: [
|
|
109
|
+
...header,
|
|
110
|
+
`Readable view: ${source.length.toLocaleString('en-US')} characters.`,
|
|
111
|
+
'Use read_attachment for bounded ranges and search_attachment to find relevant passages.',
|
|
112
|
+
'For joins, conversions, edits, or other complete-file operations, process the read-only path locally instead of reading the whole document into model context.',
|
|
113
|
+
'',
|
|
114
|
+
'Preview:',
|
|
115
|
+
preview || '(empty)',
|
|
116
|
+
...(remainder > 0 ? [`[preview bounded — ${remainder.toLocaleString('en-US')} characters not shown]`] : []),
|
|
117
|
+
].join('\n'),
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
read(start, maxChars) {
|
|
121
|
+
const source = this.readableText();
|
|
122
|
+
if (source === undefined)
|
|
123
|
+
return undefined;
|
|
124
|
+
const safeStart = Math.min(Math.max(0, start), source.length);
|
|
125
|
+
const safeLimit = Math.max(1, Math.min(maxChars, exports.MAX_ATTACHMENT_READ_CHARS));
|
|
126
|
+
const content = source.slice(safeStart, safeStart + safeLimit);
|
|
127
|
+
return {
|
|
128
|
+
content,
|
|
129
|
+
start: safeStart,
|
|
130
|
+
end: safeStart + content.length,
|
|
131
|
+
total: source.length,
|
|
132
|
+
unit: 'characters',
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
search(query, maxResults) {
|
|
136
|
+
const source = this.readableText();
|
|
137
|
+
if (source === undefined)
|
|
138
|
+
return undefined;
|
|
139
|
+
const needle = query.toLocaleLowerCase();
|
|
140
|
+
const limit = Math.max(1, Math.min(maxResults, exports.MAX_ATTACHMENT_SEARCH_RESULTS));
|
|
141
|
+
const matches = [];
|
|
142
|
+
let totalMatches = 0;
|
|
143
|
+
for (const [index, line] of source.split(/\r?\n/).entries()) {
|
|
144
|
+
if (!line.toLocaleLowerCase().includes(needle))
|
|
145
|
+
continue;
|
|
146
|
+
totalMatches += 1;
|
|
147
|
+
if (matches.length < limit) {
|
|
148
|
+
matches.push({ line: index + 1, text: line.slice(0, 1_000) });
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
return { matches, truncated: totalMatches > matches.length };
|
|
152
|
+
}
|
|
153
|
+
readableText() {
|
|
154
|
+
if (this.attachment.inspectionText !== undefined)
|
|
155
|
+
return this.attachment.inspectionText;
|
|
156
|
+
if (!this.attachment.path || !isTextAttachment(this.attachment))
|
|
157
|
+
return undefined;
|
|
158
|
+
try {
|
|
159
|
+
return fs.readFileSync(this.attachment.path, 'utf8');
|
|
160
|
+
}
|
|
161
|
+
catch {
|
|
162
|
+
return undefined;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
exports.AttachmentResource = AttachmentResource;
|
|
167
|
+
function isTextAttachment(attachment) {
|
|
168
|
+
return attachment.mediaType.startsWith('text/')
|
|
169
|
+
|| TEXT_EXTENSIONS.has(path.extname(attachment.name).toLowerCase());
|
|
170
|
+
}
|
|
171
|
+
function formatAttachmentSearch(result, query) {
|
|
172
|
+
if (result.matches.length === 0)
|
|
173
|
+
return `No matches for ${JSON.stringify(query)}.`;
|
|
174
|
+
return [
|
|
175
|
+
...result.matches.map(match => `Line ${match.line}: ${match.text}`),
|
|
176
|
+
...(result.truncated ? ['[additional matches omitted; narrow the query to inspect them]'] : []),
|
|
177
|
+
].join('\n');
|
|
178
|
+
}
|
|
179
|
+
function formatLabel(attachment) {
|
|
180
|
+
if (attachment.image)
|
|
181
|
+
return 'image';
|
|
182
|
+
const extension = path.extname(attachment.name).toLowerCase();
|
|
183
|
+
return FORMAT_LABELS.get(extension) ?? (isTextAttachment(attachment) ? 'text document' : 'binary file');
|
|
184
|
+
}
|
|
185
|
+
function formatBytes(bytes) {
|
|
186
|
+
if (bytes < 1024)
|
|
187
|
+
return `${bytes} B`;
|
|
188
|
+
if (bytes < 1024 * 1024)
|
|
189
|
+
return `${(bytes / 1024).toFixed(1)} KiB`;
|
|
190
|
+
return `${(bytes / (1024 * 1024)).toFixed(1)} MiB`;
|
|
191
|
+
}
|
|
192
|
+
//# sourceMappingURL=AttachmentResources.js.map
|