@archmax-ai/harness 0.4.0 → 0.4.2
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/assembly/compose.d.ts +12 -9
- package/dist/assembly/compose.js +22 -17
- package/dist/assembly/compose.js.map +1 -1
- package/dist/assembly/plain.js +4 -1
- package/dist/assembly/plain.js.map +1 -1
- package/dist/authoring-skill/archmax-harness/references/backend-integration.md +29 -14
- package/dist/authoring-skill/archmax-harness/references/workflow-schema.md +5 -1
- package/dist/core/binary-read.d.ts +1 -9
- package/dist/core/binary-read.js +2 -38
- package/dist/core/binary-read.js.map +1 -1
- package/dist/core/binary-types.d.ts +19 -0
- package/dist/core/binary-types.js +54 -0
- package/dist/core/binary-types.js.map +1 -0
- package/dist/core/path-mapping.d.ts +11 -4
- package/dist/core/path-mapping.js +20 -16
- package/dist/core/path-mapping.js.map +1 -1
- package/dist/core/prompt.js +3 -2
- package/dist/core/prompt.js.map +1 -1
- package/dist/core/raw-download.d.ts +16 -0
- package/dist/core/raw-download.js +56 -0
- package/dist/core/raw-download.js.map +1 -0
- package/dist/core/session-zone.d.ts +8 -3
- package/dist/core/session-zone.js +11 -5
- package/dist/core/session-zone.js.map +1 -1
- package/dist/core/tool-context.d.ts +6 -2
- package/dist/core/tool-context.js.map +1 -1
- package/dist/core/workspace-context.js +1 -0
- package/dist/core/workspace-context.js.map +1 -1
- package/dist/core/workspace-router.d.ts +26 -4
- package/dist/core/workspace-router.js +61 -23
- package/dist/core/workspace-router.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/kernel/kernel.js +33 -2
- package/dist/kernel/kernel.js.map +1 -1
- package/dist/machine/delegation.d.ts +3 -3
- package/dist/machine/delegation.js +3 -3
- package/dist/machine/machine.d.ts +5 -0
- package/dist/machine/machine.js +7 -0
- package/dist/machine/machine.js.map +1 -1
- package/dist/machine/tool-paths.d.ts +20 -7
- package/dist/machine/tool-paths.js +44 -16
- package/dist/machine/tool-paths.js.map +1 -1
- package/dist/public/spec.d.ts +5 -0
- package/dist/public/spec.js +5 -0
- package/dist/public/spec.js.map +1 -1
- package/dist/workflow/agent-tools.js +8 -4
- package/dist/workflow/agent-tools.js.map +1 -1
- package/dist/workflow/governance.d.ts +0 -2
- package/dist/workflow/governance.js +1 -27
- package/dist/workflow/governance.js.map +1 -1
- package/dist/workflow/middleware.d.ts +0 -1
- package/dist/workflow/middleware.js +0 -1
- package/dist/workflow/middleware.js.map +1 -1
- package/package.json +2 -2
- package/skills/archmax-harness/references/backend-integration.md +29 -14
- package/skills/archmax-harness/references/workflow-schema.md +5 -1
- package/dist/workflow/prompt-pruning.d.ts +0 -20
- package/dist/workflow/prompt-pruning.js +0 -83
- package/dist/workflow/prompt-pruning.js.map +0 -1
|
@@ -134,11 +134,14 @@ export interface Composed {
|
|
|
134
134
|
*/
|
|
135
135
|
export declare function frameworkPassthrough(params: CreateAgentParams): Pick<CreateDeepAgentParams, "store" | "interruptOn" | "name">;
|
|
136
136
|
/**
|
|
137
|
-
* The planning scratchpad: `write_todos` is always-on and
|
|
138
|
-
* not register it
|
|
137
|
+
* The planning scratchpad: `write_todos` is always-on and Deep Agents 1.13 does
|
|
138
|
+
* not register it (only its Codex harness profile adds the middleware), so the
|
|
139
|
+
* assembly installs langchain's `todoListMiddleware`.
|
|
139
140
|
* Must sit outermost among the runtime's own middleware so its guidance lands on
|
|
140
141
|
* the system prompt **before** the workflow instrumentation splits it into
|
|
141
|
-
* `[static, volatile]` blocks.
|
|
142
|
+
* `[static, volatile]` blocks. On a model with the Codex profile, Deep Agents
|
|
143
|
+
* merges it into the profile's tail position instead, past the split (pinned in
|
|
144
|
+
* `behaviour/upstream-additions.test.ts`).
|
|
142
145
|
*/
|
|
143
146
|
export declare function todoMiddleware(): AgentMiddleware;
|
|
144
147
|
/**
|
|
@@ -169,15 +172,15 @@ export declare function fileReadMiddleware(ctx: AssemblyContext): AgentMiddlewar
|
|
|
169
172
|
* grading rubrics, registered so the framework provides the `task` tool the
|
|
170
173
|
* runtime dispatches them through.
|
|
171
174
|
*
|
|
172
|
-
*
|
|
173
|
-
* nothing — so registering a grader
|
|
174
|
-
* gives the runtime a runnable.
|
|
175
|
-
*
|
|
176
|
-
*
|
|
175
|
+
* Under a workflow they are never *disclosed* — `task` is withheld in every state
|
|
176
|
+
* and grantable by nothing — so registering a grader gives the graded agent no
|
|
177
|
+
* reach; it only gives the runtime a runnable. Deep Agents also builds its
|
|
178
|
+
* general-purpose subagent beside them, and `createDeepAgent` takes no parameter
|
|
179
|
+
* that turns it off (only a harness profile does): a governed agent cannot reach
|
|
180
|
+
* it, and a plain agent is offered `task` with it, as a plain Deep Agent is.
|
|
177
181
|
*/
|
|
178
182
|
export declare function rubricParams(ctx: AssemblyContext): {
|
|
179
183
|
subagents: LoadedRubric[];
|
|
180
|
-
generalPurposeAgent: boolean;
|
|
181
184
|
};
|
|
182
185
|
/**
|
|
183
186
|
* Bind `fn` to a session: the session zone's view (agent-visible paths resolve
|
package/dist/assembly/compose.js
CHANGED
|
@@ -11,6 +11,7 @@ import { withEventContext } from "../core/events.js";
|
|
|
11
11
|
import { resolveSystemPrompt } from "../core/prompt.js";
|
|
12
12
|
import { SessionStoreIdError, sessionIdRejection } from "../core/session-store.js";
|
|
13
13
|
import { TOOL_MOCK_MIDDLEWARE_NAME } from "../core/tool-mocks.js";
|
|
14
|
+
import { withoutDeletion } from "../core/workspace-router.js";
|
|
14
15
|
import { loadPromptCacheEnv } from "../env.js";
|
|
15
16
|
import { BUILTIN_HOOK_KINDS } from "../lifecycle/runner.js";
|
|
16
17
|
import { compileForbiddenSkillRules, compileForbiddenMountRules, compileForbidRules, } from "../kernel/kernel.js";
|
|
@@ -45,11 +46,14 @@ export function frameworkPassthrough(params) {
|
|
|
45
46
|
};
|
|
46
47
|
}
|
|
47
48
|
/**
|
|
48
|
-
* The planning scratchpad: `write_todos` is always-on and
|
|
49
|
-
* not register it
|
|
49
|
+
* The planning scratchpad: `write_todos` is always-on and Deep Agents 1.13 does
|
|
50
|
+
* not register it (only its Codex harness profile adds the middleware), so the
|
|
51
|
+
* assembly installs langchain's `todoListMiddleware`.
|
|
50
52
|
* Must sit outermost among the runtime's own middleware so its guidance lands on
|
|
51
53
|
* the system prompt **before** the workflow instrumentation splits it into
|
|
52
|
-
* `[static, volatile]` blocks.
|
|
54
|
+
* `[static, volatile]` blocks. On a model with the Codex profile, Deep Agents
|
|
55
|
+
* merges it into the profile's tail position instead, past the split (pinned in
|
|
56
|
+
* `behaviour/upstream-additions.test.ts`).
|
|
53
57
|
*/
|
|
54
58
|
export function todoMiddleware() {
|
|
55
59
|
return todoListMiddleware();
|
|
@@ -115,14 +119,15 @@ export function fileReadMiddleware(ctx) {
|
|
|
115
119
|
* grading rubrics, registered so the framework provides the `task` tool the
|
|
116
120
|
* runtime dispatches them through.
|
|
117
121
|
*
|
|
118
|
-
*
|
|
119
|
-
* nothing — so registering a grader
|
|
120
|
-
* gives the runtime a runnable.
|
|
121
|
-
*
|
|
122
|
-
*
|
|
122
|
+
* Under a workflow they are never *disclosed* — `task` is withheld in every state
|
|
123
|
+
* and grantable by nothing — so registering a grader gives the graded agent no
|
|
124
|
+
* reach; it only gives the runtime a runnable. Deep Agents also builds its
|
|
125
|
+
* general-purpose subagent beside them, and `createDeepAgent` takes no parameter
|
|
126
|
+
* that turns it off (only a harness profile does): a governed agent cannot reach
|
|
127
|
+
* it, and a plain agent is offered `task` with it, as a plain Deep Agent is.
|
|
123
128
|
*/
|
|
124
129
|
export function rubricParams(ctx) {
|
|
125
|
-
return { subagents: ctx.subagents
|
|
130
|
+
return { subagents: ctx.subagents };
|
|
126
131
|
}
|
|
127
132
|
/**
|
|
128
133
|
* Bind `fn` to a session: the session zone's view (agent-visible paths resolve
|
|
@@ -311,13 +316,11 @@ export async function composeGoverned(ctx, input) {
|
|
|
311
316
|
// declares one — so the graph default and the native caching middleware follow
|
|
312
317
|
// the workflow rather than the process environment.
|
|
313
318
|
const { workflowModel, workflowCacheStrategy: cacheStrategy, stateModels } = resolveStateModels(ctx, target, input.workflow, cacheConfig.enabled);
|
|
314
|
-
//
|
|
315
|
-
//
|
|
319
|
+
// Built-ins no state of this workflow discloses, reported so a host sees what
|
|
320
|
+
// the model is never shown: `task`, in every state of every assembly.
|
|
316
321
|
const disclosedAnywhere = new Set(Object.keys(target.spec.states).flatMap((slug) => [...target.disclosedTools(slug)]));
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
const withheldBuiltins = [...UNGRANTABLE_TOOLS].filter((tool) => !disclosedAnywhere.has(tool));
|
|
320
|
-
emit({ type: "prompt-shaping", cache: cacheStrategy, withheld: withheldBuiltins });
|
|
322
|
+
const withheld = [...UNGRANTABLE_TOOLS].filter((tool) => !disclosedAnywhere.has(tool));
|
|
323
|
+
emit({ type: "prompt-shaping", cache: cacheStrategy, withheld });
|
|
321
324
|
// One dispatcher per composition, so the depth, cycle and concurrency bounds
|
|
322
325
|
// are enforced in one place and every dispatch is reported the same way. A
|
|
323
326
|
// child of this composition inherits what it inherited plus its own policy:
|
|
@@ -352,7 +355,7 @@ export async function composeGoverned(ctx, input) {
|
|
|
352
355
|
subWorkflows: dispatcher,
|
|
353
356
|
...(params.hookExecutors ? { hookExecutors: params.hookExecutors } : {}),
|
|
354
357
|
onEvent: emit,
|
|
355
|
-
promptShaping: { cacheStrategy, cacheTtl: cacheConfig.ttl
|
|
358
|
+
promptShaping: { cacheStrategy, cacheTtl: cacheConfig.ttl },
|
|
356
359
|
stateModels,
|
|
357
360
|
workspace,
|
|
358
361
|
workflowName: input.workflow,
|
|
@@ -399,7 +402,9 @@ export async function composeGoverned(ctx, input) {
|
|
|
399
402
|
// The workflow's own model is the graph default; a state that declares its
|
|
400
403
|
// own is switched onto it per call by the governance middleware.
|
|
401
404
|
model: workflowModel,
|
|
402
|
-
|
|
405
|
+
// Without `delete`: Deep Agents' own recursive `delete` tool stays out, and
|
|
406
|
+
// `remove_file` is the agent's one way to delete a file.
|
|
407
|
+
backend: withoutDeletion(ctx.backend),
|
|
403
408
|
// Deliberately no `skills`: upstream's section cannot vary per state; the
|
|
404
409
|
// workflow middleware renders the active state's set instead.
|
|
405
410
|
tools: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compose.js","sourceRoot":"","sources":["../../src/assembly/compose.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"compose.js","sourceRoot":"","sources":["../../src/assembly/compose.ts"],"names":[],"mappings":"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"}
|
package/dist/assembly/plain.js
CHANGED
|
@@ -6,6 +6,7 @@ import { createDeepAgent } from "deepagents";
|
|
|
6
6
|
import { createFileOperationTools } from "../core/file-operations.js";
|
|
7
7
|
import { asCompiledAgentGraph } from "../core/deepagents.js";
|
|
8
8
|
import { TOOL_MOCK_MIDDLEWARE_NAME } from "../core/tool-mocks.js";
|
|
9
|
+
import { withoutDeletion } from "../core/workspace-router.js";
|
|
9
10
|
import { fileReadMiddleware, frameworkPassthrough, rubricParams, todoMiddleware, } from "./compose.js";
|
|
10
11
|
/**
|
|
11
12
|
* A skill source as upstream's middleware wants it: a leading-slash,
|
|
@@ -22,7 +23,9 @@ export function composePlain(ctx, systemPrompt) {
|
|
|
22
23
|
const middleware = [todoMiddleware(), ...fileReadMiddleware(ctx), ...(ctx.params.middleware ?? [])];
|
|
23
24
|
const deepAgent = createDeepAgent({
|
|
24
25
|
model: ctx.model,
|
|
25
|
-
|
|
26
|
+
// Without `delete`: Deep Agents' own recursive `delete` tool stays out, and
|
|
27
|
+
// `remove_file` is the agent's one way to delete a file.
|
|
28
|
+
backend: withoutDeletion(ctx.backend),
|
|
26
29
|
// No machine, so there are no states to vary disclosure by: upstream's
|
|
27
30
|
// skills middleware discloses every skill of the declared sources, which is
|
|
28
31
|
// exactly right here and exactly wrong under a workflow.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plain.js","sourceRoot":"","sources":["../../src/assembly/plain.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAA2B,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,cAAc,GAEf,MAAM,cAAc,CAAC;AAEtB;;;;;GAKG;AACH,SAAS,aAAa,CAAC,MAAc;IACnC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC;AAC/D,CAAC;AAED,+GAA+G;AAC/G,MAAM,UAAU,YAAY,CAC1B,GAAoB,EACpB,YAAoB;IAEpB,gFAAgF;IAChF,MAAM,UAAU,GAAG,CAAC,cAAc,EAAE,EAAE,GAAG,kBAAkB,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;IACpG,MAAM,SAAS,GAAG,eAAe,CAAC;QAChC,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,OAAO,EAAE,GAAG,CAAC,OAAO;
|
|
1
|
+
{"version":3,"file":"plain.js","sourceRoot":"","sources":["../../src/assembly/plain.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAA2B,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,cAAc,GAEf,MAAM,cAAc,CAAC;AAEtB;;;;;GAKG;AACH,SAAS,aAAa,CAAC,MAAc;IACnC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC;AAC/D,CAAC;AAED,+GAA+G;AAC/G,MAAM,UAAU,YAAY,CAC1B,GAAoB,EACpB,YAAoB;IAEpB,gFAAgF;IAChF,MAAM,UAAU,GAAG,CAAC,cAAc,EAAE,EAAE,GAAG,kBAAkB,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;IACpG,MAAM,SAAS,GAAG,eAAe,CAAC;QAChC,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,4EAA4E;QAC5E,yDAAyD;QACzD,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC;QACrC,uEAAuE;QACvE,4EAA4E;QAC5E,yDAAyD;QACzD,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC;QAC3C,4EAA4E;QAC5E,+EAA+E;QAC/E,KAAK,EAAE,CAAC,GAAG,wBAAwB,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACtE,GAAG,YAAY,CAAC,GAAG,CAAC;QACpB,UAAU;QACV,YAAY,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;QAClD,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,GAAG,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC;KACpC,CAAC,CAAC;IACH,OAAO;QACL,KAAK,EAAE,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC;QAC5C,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,yBAAyB,CAAC;KACxE,CAAC;AACJ,CAAC"}
|
|
@@ -106,7 +106,7 @@ All optional (`CreateAgentParams`, `src/assembly/index.ts`):
|
|
|
106
106
|
| `checkpointer` | `BaseCheckpointSaver` | Custom-adapter escape hatch; takes precedence over the session store for checkpoint persistence. Defaults to a durable `BackendCheckpointSaver` writing through the session store. Use `MemorySaver` for ephemeral runs. |
|
|
107
107
|
| `middleware` | `AgentMiddleware[]` | Extra middleware appended after workflow instrumentation. |
|
|
108
108
|
| `onEvent` | `WorkflowEventHandler` | Subscribe to all lifecycle diagnostics; suppresses console output when set. |
|
|
109
|
-
| `promptCache` | `PromptCacheOptions` | `{ enabled?, ttl?: "5m" \| "1h" }`. Provider prompt caching for the stable prefix; on by default. Falls back to `settings.prompt_cache`, then `ARCHMAX_PROMPT_CACHE`/`_TTL`. |
|
|
109
|
+
| `promptCache` | `PromptCacheOptions` | `{ enabled?, ttl?: "5m" \| "1h" }`. Provider prompt caching for the stable prefix; on by default. Falls back to `settings.prompt_cache`, then `ARCHMAX_PROMPT_CACHE`/`_TTL`. Turning it off does not stop `ChatAnthropic` or `ChatBedrockConverse` caching: Deep Agents installs LangChain's caching middleware for them itself (5-minute lifetime). |
|
|
110
110
|
| `pricing` | `PricingTable` | USD per 1M tokens, keyed by model id (`default` matches any): `{ input?, output?, cacheRead?, cacheWrite? }`. Looked up by the id the response reported, else the id the runtime was configured to run — so a keyed table prices a workload behind a proxy that echoes no model back. Input rate applies to the input tokens the cache did not serve. Makes `costUsd` appear on usage events, run metadata, and the CLI footer. Falls back to `ARCHMAX_PRICE_*`. Unpriced → tokens only. |
|
|
111
111
|
|
|
112
112
|
Fails closed: throws `WorkflowLoadError` if the named workflow's `workflow.yaml`
|
|
@@ -601,15 +601,26 @@ A custom `backend` **requires** an explicit `sessionStore` — assembly throws
|
|
|
601
601
|
Persisting the session zone off-box (an S3-backed session store) is how you share run
|
|
602
602
|
state across a worker fleet and an API.
|
|
603
603
|
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
`uploadFiles
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
604
|
+
`downloadFiles`, `uploadFiles` and `delete` are optional in the protocol and stay
|
|
605
|
+
optional in the workspace: a store with only the required methods serves skills,
|
|
606
|
+
reads and text copies. `downloadFiles` is always present and reads a store without
|
|
607
|
+
it through `readRaw` (exact bytes or `permission_denied`, never altered text);
|
|
608
|
+
`uploadFiles` is present when the session store has it, and a mount without it
|
|
609
|
+
refuses that file; `delete` answers a store without it with an error. What each
|
|
610
|
+
buys the file operations (`copy_file`, `move_file`, `remove_file`): a write to a
|
|
611
|
+
binary-typed path (an image, a PDF) carries **base64**, which the backend's
|
|
612
|
+
`write` must decode — Deep Agents' convention, with the extensions in
|
|
613
|
+
`BINARY_MIME_TYPES` on `@archmax-ai/harness/spec`. Other bytes the text channel
|
|
614
|
+
cannot carry (a `.docx`, a `.zip`, Latin-1 text) need `uploadFiles`, and a move
|
|
615
|
+
or removal needs `delete`. Every copy is read back; a store that kept something
|
|
616
|
+
else is refused, never reported as copied. A read-only mount refuses an upload
|
|
617
|
+
and a delete itself. Deep Agents is handed the workspace without `delete`, so its
|
|
618
|
+
own recursive `delete` tool never exists: `remove_file` is the one way to delete
|
|
619
|
+
a file.
|
|
620
|
+
|
|
621
|
+
A store's `grep` receives the call's match cap as its fourth argument,
|
|
622
|
+
`maxCount` (the agent's `max_count`, else Deep Agents' 1,000). A store may stop
|
|
623
|
+
there and return `truncated: true`; the workspace caps one that ignores it.
|
|
613
624
|
|
|
614
625
|
### Host tools
|
|
615
626
|
|
|
@@ -636,11 +647,15 @@ const agent = await createAgent({ tools, essentialTools: ["get_markdown"] });
|
|
|
636
647
|
areas, the skills and mounts the state was given (`mount.not-allowed`,
|
|
637
648
|
`skill.not-allowed`), a mount's `access: read` (`mount.read-only` for a
|
|
638
649
|
`write` or `remove`), inherited denials and `paths:` guards. A refused call
|
|
639
|
-
never runs the handler. No declaration, no path rules.
|
|
650
|
+
never runs the handler. No declaration, no path rules. An argument may hold a
|
|
651
|
+
list of paths (`files: string[]`), each governed; any other shape is refused.
|
|
652
|
+
Declaring paths only narrows: `scratchpad/` is open in every state to the
|
|
653
|
+
always-on tools, so a tool a state must grant stays refused where it is not.
|
|
640
654
|
- `context.workspace` is the turn's workspace, bound to the session — the
|
|
641
|
-
instance `read_file` uses — with `downloadFiles
|
|
642
|
-
besides the text methods. The plain agent
|
|
643
|
-
turn, reading it throws
|
|
655
|
+
instance `read_file` uses — with `downloadFiles`, `uploadFiles` (when the
|
|
656
|
+
session store has it) and `delete` besides the text methods. The plain agent
|
|
657
|
+
hands the same context. Outside a turn, reading it throws; the property is
|
|
658
|
+
non-enumerable there, so comparing or logging the context does not.
|
|
644
659
|
|
|
645
660
|
## Cases against your agent
|
|
646
661
|
|
|
@@ -741,7 +741,11 @@ entry guards every declared path argument: a grant needs all of them to match
|
|
|
741
741
|
(`{ tool: copy_file, paths: [skills/**, reports/**] }`), a denial needs one
|
|
742
742
|
(`{ tool: "*", paths: [secrets/**] }` blocks a copy in or out). A host tool that
|
|
743
743
|
declares its paths (`toolPaths`, or a descriptor's `paths`) is governed the same
|
|
744
|
-
way
|
|
744
|
+
way; an argument may hold a list of paths, each one governed (and each one
|
|
745
|
+
tested by a `paths:` guard), and any other shape is refused
|
|
746
|
+
(`tool.path-argument`). `scratchpad/` is open in every state to the always-on
|
|
747
|
+
tools only — a host tool a state must grant stays refused where it is not
|
|
748
|
+
granted, whatever its paths. Any other tool
|
|
745
749
|
must be declared in the state's `tools.allow` or workflow-level
|
|
746
750
|
`tools.allow_always`. A `tools.allow` entry naming an always-on tool **narrows**
|
|
747
751
|
it for that state.
|
|
@@ -13,15 +13,7 @@ import type { ReadResult } from "deepagents";
|
|
|
13
13
|
* NUL character (git's and ripgrep's rule), which survives the backend's UTF-8
|
|
14
14
|
* decoding of an unknown extension.
|
|
15
15
|
*/
|
|
16
|
-
|
|
17
|
-
* The non-text entries of Deep Agents' extension table (`backends/utils.ts`,
|
|
18
|
-
* identical in 1.13.4 and 1.14.2), which it does not export. Every other
|
|
19
|
-
* extension maps to a text type, or to `text/plain` by default, so only these
|
|
20
|
-
* decide anything. Pinned against `FilesystemBackend` by `binary-read.test.ts`.
|
|
21
|
-
*/
|
|
22
|
-
export declare const BINARY_MIME_TYPES: Readonly<Record<string, string>>;
|
|
23
|
-
/** The MIME type for a path's binary extension, or `undefined` when Deep Agents would read it as text. */
|
|
24
|
-
export declare function binaryMimeTypeOf(path: string): string | undefined;
|
|
16
|
+
export { BINARY_MIME_TYPES, binaryMimeTypeOf } from "./binary-types.js";
|
|
25
17
|
/**
|
|
26
18
|
* The image types the model may be shown (`images` assembly option): the ones
|
|
27
19
|
* chat-completions vision accepts. HEIC/HEIF are binary but not among them, so
|
package/dist/core/binary-read.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { binaryMimeTypeOf } from "./binary-types.js";
|
|
2
2
|
/**
|
|
3
3
|
* Reads are text only. Deep Agents' `read_file` hands a non-text file to the
|
|
4
4
|
* model as a base64 multimodal block (`image`, `audio`, `video`, `file`), which
|
|
@@ -13,43 +13,7 @@ import { posix } from "node:path";
|
|
|
13
13
|
* NUL character (git's and ripgrep's rule), which survives the backend's UTF-8
|
|
14
14
|
* decoding of an unknown extension.
|
|
15
15
|
*/
|
|
16
|
-
|
|
17
|
-
* The non-text entries of Deep Agents' extension table (`backends/utils.ts`,
|
|
18
|
-
* identical in 1.13.4 and 1.14.2), which it does not export. Every other
|
|
19
|
-
* extension maps to a text type, or to `text/plain` by default, so only these
|
|
20
|
-
* decide anything. Pinned against `FilesystemBackend` by `binary-read.test.ts`.
|
|
21
|
-
*/
|
|
22
|
-
export const BINARY_MIME_TYPES = {
|
|
23
|
-
".png": "image/png",
|
|
24
|
-
".jpg": "image/jpeg",
|
|
25
|
-
".jpeg": "image/jpeg",
|
|
26
|
-
".gif": "image/gif",
|
|
27
|
-
".webp": "image/webp",
|
|
28
|
-
".heic": "image/heic",
|
|
29
|
-
".heif": "image/heif",
|
|
30
|
-
".mp3": "audio/mpeg",
|
|
31
|
-
".wav": "audio/wav",
|
|
32
|
-
".aiff": "audio/aiff",
|
|
33
|
-
".aac": "audio/aac",
|
|
34
|
-
".ogg": "audio/ogg",
|
|
35
|
-
".flac": "audio/flac",
|
|
36
|
-
".mp4": "video/mp4",
|
|
37
|
-
".webm": "video/webm",
|
|
38
|
-
".mpeg": "video/mpeg",
|
|
39
|
-
".mov": "video/quicktime",
|
|
40
|
-
".avi": "video/x-msvideo",
|
|
41
|
-
".flv": "video/x-flv",
|
|
42
|
-
".mpg": "video/mpeg",
|
|
43
|
-
".wmv": "video/x-ms-wmv",
|
|
44
|
-
".3gpp": "video/3gpp",
|
|
45
|
-
".pdf": "application/pdf",
|
|
46
|
-
".ppt": "application/vnd.ms-powerpoint",
|
|
47
|
-
".pptx": "application/vnd.openxmlformats-officedocument.presentationml.presentation",
|
|
48
|
-
};
|
|
49
|
-
/** The MIME type for a path's binary extension, or `undefined` when Deep Agents would read it as text. */
|
|
50
|
-
export function binaryMimeTypeOf(path) {
|
|
51
|
-
return BINARY_MIME_TYPES[posix.extname(path).toLocaleLowerCase()];
|
|
52
|
-
}
|
|
16
|
+
export { BINARY_MIME_TYPES, binaryMimeTypeOf } from "./binary-types.js";
|
|
53
17
|
/**
|
|
54
18
|
* The image types the model may be shown (`images` assembly option): the ones
|
|
55
19
|
* chat-completions vision accepts. HEIC/HEIF are binary but not among them, so
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binary-read.js","sourceRoot":"","sources":["../../src/core/binary-read.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"binary-read.js","sourceRoot":"","sources":["../../src/core/binary-read.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The binary types of Deep Agents' v2 file format: the extensions `read_file`
|
|
3
|
+
* treats as non-text, and the paths a `write` addresses with base64 that the
|
|
4
|
+
* store decodes. Pure — no `node:*` — so the spec subpath can export it to a
|
|
5
|
+
* host store that honours the convention (`@archmax-ai/harness/spec`).
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* The non-text entries of Deep Agents' extension table (`backends/utils.ts`,
|
|
9
|
+
* identical in 1.13.4 and 1.14.2), which it does not export. Every other
|
|
10
|
+
* extension maps to a text type, or to `text/plain` by default, so only these
|
|
11
|
+
* decide anything. Pinned against `FilesystemBackend` by `binary-read.test.ts`.
|
|
12
|
+
*/
|
|
13
|
+
export declare const BINARY_MIME_TYPES: Readonly<Record<string, string>>;
|
|
14
|
+
/**
|
|
15
|
+
* The MIME type for a path's binary extension, or `undefined` when Deep Agents
|
|
16
|
+
* would read it as text. A `write` to a path this names carries base64, which a
|
|
17
|
+
* store honouring Deep Agents' convention decodes to the bytes.
|
|
18
|
+
*/
|
|
19
|
+
export declare function binaryMimeTypeOf(path: string): string | undefined;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The binary types of Deep Agents' v2 file format: the extensions `read_file`
|
|
3
|
+
* treats as non-text, and the paths a `write` addresses with base64 that the
|
|
4
|
+
* store decodes. Pure — no `node:*` — so the spec subpath can export it to a
|
|
5
|
+
* host store that honours the convention (`@archmax-ai/harness/spec`).
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* The non-text entries of Deep Agents' extension table (`backends/utils.ts`,
|
|
9
|
+
* identical in 1.13.4 and 1.14.2), which it does not export. Every other
|
|
10
|
+
* extension maps to a text type, or to `text/plain` by default, so only these
|
|
11
|
+
* decide anything. Pinned against `FilesystemBackend` by `binary-read.test.ts`.
|
|
12
|
+
*/
|
|
13
|
+
export const BINARY_MIME_TYPES = {
|
|
14
|
+
".png": "image/png",
|
|
15
|
+
".jpg": "image/jpeg",
|
|
16
|
+
".jpeg": "image/jpeg",
|
|
17
|
+
".gif": "image/gif",
|
|
18
|
+
".webp": "image/webp",
|
|
19
|
+
".heic": "image/heic",
|
|
20
|
+
".heif": "image/heif",
|
|
21
|
+
".mp3": "audio/mpeg",
|
|
22
|
+
".wav": "audio/wav",
|
|
23
|
+
".aiff": "audio/aiff",
|
|
24
|
+
".aac": "audio/aac",
|
|
25
|
+
".ogg": "audio/ogg",
|
|
26
|
+
".flac": "audio/flac",
|
|
27
|
+
".mp4": "video/mp4",
|
|
28
|
+
".webm": "video/webm",
|
|
29
|
+
".mpeg": "video/mpeg",
|
|
30
|
+
".mov": "video/quicktime",
|
|
31
|
+
".avi": "video/x-msvideo",
|
|
32
|
+
".flv": "video/x-flv",
|
|
33
|
+
".mpg": "video/mpeg",
|
|
34
|
+
".wmv": "video/x-ms-wmv",
|
|
35
|
+
".3gpp": "video/3gpp",
|
|
36
|
+
".pdf": "application/pdf",
|
|
37
|
+
".ppt": "application/vnd.ms-powerpoint",
|
|
38
|
+
".pptx": "application/vnd.openxmlformats-officedocument.presentationml.presentation",
|
|
39
|
+
};
|
|
40
|
+
/** A path's extension as `node:path`'s `extname` reads it: from the last dot of the last segment, not a leading one. */
|
|
41
|
+
function extensionOf(path) {
|
|
42
|
+
const name = path.slice(path.lastIndexOf("/") + 1);
|
|
43
|
+
const dot = name.lastIndexOf(".");
|
|
44
|
+
return dot > 0 ? name.slice(dot) : "";
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* The MIME type for a path's binary extension, or `undefined` when Deep Agents
|
|
48
|
+
* would read it as text. A `write` to a path this names carries base64, which a
|
|
49
|
+
* store honouring Deep Agents' convention decodes to the bytes.
|
|
50
|
+
*/
|
|
51
|
+
export function binaryMimeTypeOf(path) {
|
|
52
|
+
return BINARY_MIME_TYPES[extensionOf(path).toLocaleLowerCase()];
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=binary-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binary-types.js","sourceRoot":"","sources":["../../src/core/binary-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAqC;IACjE,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,WAAW;IACnB,OAAO,EAAE,YAAY;IACrB,OAAO,EAAE,YAAY;IACrB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,WAAW;IACnB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,WAAW;IACnB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,WAAW;IACnB,OAAO,EAAE,YAAY;IACrB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,iBAAiB;IACzB,MAAM,EAAE,iBAAiB;IACzB,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,gBAAgB;IACxB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,iBAAiB;IACzB,MAAM,EAAE,+BAA+B;IACvC,OAAO,EAAE,2EAA2E;CACrF,CAAC;AAEF,wHAAwH;AACxH,SAAS,WAAW,CAAC,IAAY;IAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACnD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAClC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACxC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC;AAClE,CAAC"}
|
|
@@ -23,11 +23,18 @@ import type { BackendProtocolV2 } from "deepagents";
|
|
|
23
23
|
/** The prefix in effect for a call: a fixed string, or resolved per call. */
|
|
24
24
|
export type PrefixResolver = () => string | undefined;
|
|
25
25
|
/**
|
|
26
|
-
* A mapped backend
|
|
27
|
-
*
|
|
28
|
-
*
|
|
26
|
+
* A mapped backend. The protocol's optional methods stay optional — Deep Agents
|
|
27
|
+
* feature-detects them — so each is present only where it can answer every path
|
|
28
|
+
* it is asked about, and none throws for want of support:
|
|
29
|
+
*
|
|
30
|
+
* - `downloadFiles` is always present: the wrapped store's own when it has one,
|
|
31
|
+
* else read through `readRaw` (`core/raw-download.ts`), exact bytes or an error.
|
|
32
|
+
* - `uploadFiles` is present when the wrapped store has it, or on a read-only
|
|
33
|
+
* mount, which refuses every file.
|
|
34
|
+
* - `delete` is always present; a store without it answers an error, as
|
|
35
|
+
* `CompositeBackend` does.
|
|
29
36
|
*/
|
|
30
|
-
export type MappedBackend = BackendProtocolV2 & Required<Pick<BackendProtocolV2, "downloadFiles" | "
|
|
37
|
+
export type MappedBackend = BackendProtocolV2 & Required<Pick<BackendProtocolV2, "downloadFiles" | "delete">>;
|
|
31
38
|
/**
|
|
32
39
|
* Wrap `backend` so it is addressed under `prefix` from the outside, mapping
|
|
33
40
|
* paths in both directions. `prefix` may be a resolver, returning `undefined`
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { downloadViaReadRaw } from "./raw-download.js";
|
|
1
2
|
import { normalizeRelPath } from "./workspace.js";
|
|
2
3
|
function relPrefix(prefix) {
|
|
3
4
|
return normalizeRelPath(prefix).replace(/\/+$/, "");
|
|
@@ -59,7 +60,7 @@ export function mountSubtree(backend, prefix, options = {}) {
|
|
|
59
60
|
return hadSlash ? `/${stripped}` : stripped;
|
|
60
61
|
};
|
|
61
62
|
const mapFiles = (files, active) => files?.map((file) => ({ ...file, path: mapOut(file.path, active) }));
|
|
62
|
-
|
|
63
|
+
const mapped = {
|
|
63
64
|
async ls(path) {
|
|
64
65
|
const active = prefixFor(path);
|
|
65
66
|
const res = await backend.ls(mapIn(path, active));
|
|
@@ -72,11 +73,11 @@ export function mountSubtree(backend, prefix, options = {}) {
|
|
|
72
73
|
readRaw(filePath) {
|
|
73
74
|
return backend.readRaw(mapIn(filePath, prefixFor(filePath)));
|
|
74
75
|
},
|
|
75
|
-
async grep(pattern, path, glob) {
|
|
76
|
+
async grep(pattern, path, glob, maxCount) {
|
|
76
77
|
const target = path ?? "";
|
|
77
78
|
const active = prefixFor(target);
|
|
78
79
|
const searchPath = path == null && !active ? path : mapIn(target, active);
|
|
79
|
-
const res = await backend.grep(pattern, searchPath, glob);
|
|
80
|
+
const res = await backend.grep(pattern, searchPath, glob, maxCount);
|
|
80
81
|
const matches = res.matches?.map((match) => ({ ...match, path: mapOut(match.path, active) }));
|
|
81
82
|
return matches ? { ...res, matches } : res;
|
|
82
83
|
},
|
|
@@ -102,13 +103,13 @@ export function mountSubtree(backend, prefix, options = {}) {
|
|
|
102
103
|
const res = await backend.edit(mapIn(filePath, active), oldString, newString, replaceAll);
|
|
103
104
|
return res.path === undefined ? res : { ...res, path: mapOut(res.path, active) };
|
|
104
105
|
},
|
|
105
|
-
// Raw-byte transfer
|
|
106
|
-
// for a route without it, so a caller has one "unsupported" signal to handle.
|
|
106
|
+
// Raw-byte transfer: the store's own channel, else `readRaw` path by path.
|
|
107
107
|
async downloadFiles(paths) {
|
|
108
|
-
if (!backend.downloadFiles)
|
|
109
|
-
throw new Error("Backend does not support downloadFiles");
|
|
110
108
|
const actives = paths.map(prefixFor);
|
|
111
|
-
const
|
|
109
|
+
const inner = paths.map((path, i) => mapIn(path, actives[i]));
|
|
110
|
+
const res = backend.downloadFiles
|
|
111
|
+
? await backend.downloadFiles(inner)
|
|
112
|
+
: await Promise.all(inner.map((path) => downloadViaReadRaw(backend, path)));
|
|
112
113
|
return res.map((entry, i) => ({ ...entry, path: mapOut(entry.path, actives[i]) }));
|
|
113
114
|
},
|
|
114
115
|
async delete(filePath) {
|
|
@@ -120,16 +121,19 @@ export function mountSubtree(backend, prefix, options = {}) {
|
|
|
120
121
|
const res = await backend.delete(mapIn(filePath, active));
|
|
121
122
|
return res.path === undefined ? res : { ...res, path: mapOut(res.path, active) };
|
|
122
123
|
},
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
124
|
+
};
|
|
125
|
+
if (options.readOnly) {
|
|
126
|
+
mapped.uploadFiles = async (files) => files.map(([path]) => ({ path, error: "permission_denied" }));
|
|
127
|
+
}
|
|
128
|
+
else if (backend.uploadFiles) {
|
|
129
|
+
const uploadFiles = backend.uploadFiles.bind(backend);
|
|
130
|
+
mapped.uploadFiles = async (files) => {
|
|
128
131
|
const actives = files.map(([path]) => prefixFor(path));
|
|
129
|
-
const res = await
|
|
132
|
+
const res = await uploadFiles(files.map(([path, content], i) => [mapIn(path, actives[i]), content]));
|
|
130
133
|
return res.map((entry, i) => ({ ...entry, path: mapOut(entry.path, actives[i]) }));
|
|
131
|
-
}
|
|
132
|
-
}
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
return mapped;
|
|
133
137
|
}
|
|
134
138
|
function optionalRel(prefix) {
|
|
135
139
|
if (prefix == null)
|