@archmax-ai/harness 0.3.2 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/README.md +3 -1
  2. package/dist/assembly/compose.d.ts +40 -3
  3. package/dist/assembly/compose.js +85 -8
  4. package/dist/assembly/compose.js.map +1 -1
  5. package/dist/assembly/delegation-registry.js +5 -2
  6. package/dist/assembly/delegation-registry.js.map +1 -1
  7. package/dist/assembly/image-reads.d.ts +53 -0
  8. package/dist/assembly/image-reads.js +163 -0
  9. package/dist/assembly/image-reads.js.map +1 -0
  10. package/dist/assembly/index.d.ts +21 -0
  11. package/dist/assembly/index.js +7 -1
  12. package/dist/assembly/index.js.map +1 -1
  13. package/dist/assembly/plain.js +10 -4
  14. package/dist/assembly/plain.js.map +1 -1
  15. package/dist/authoring-skill/archmax-harness/references/backend-integration.md +59 -1
  16. package/dist/authoring-skill/archmax-harness/references/hook-and-test-scripts.md +27 -1
  17. package/dist/authoring-skill/archmax-harness/references/workflow-schema.md +71 -22
  18. package/dist/authoring-skill/archmax-harness/references/workflow-yaml.md +24 -5
  19. package/dist/core/binary-read.d.ts +44 -0
  20. package/dist/core/binary-read.js +93 -0
  21. package/dist/core/binary-read.js.map +1 -0
  22. package/dist/core/binary-types.d.ts +19 -0
  23. package/dist/core/binary-types.js +54 -0
  24. package/dist/core/binary-types.js.map +1 -0
  25. package/dist/core/file-operations.d.ts +43 -0
  26. package/dist/core/file-operations.js +368 -0
  27. package/dist/core/file-operations.js.map +1 -0
  28. package/dist/core/path-mapping.d.ts +17 -3
  29. package/dist/core/path-mapping.js +32 -1
  30. package/dist/core/path-mapping.js.map +1 -1
  31. package/dist/core/platform-prompt.generated.js +1 -1
  32. package/dist/core/platform-prompt.generated.js.map +1 -1
  33. package/dist/core/prompt.d.ts +27 -0
  34. package/dist/core/prompt.js +65 -5
  35. package/dist/core/prompt.js.map +1 -1
  36. package/dist/core/raw-download.d.ts +16 -0
  37. package/dist/core/raw-download.js +56 -0
  38. package/dist/core/raw-download.js.map +1 -0
  39. package/dist/core/session-zone.d.ts +9 -1
  40. package/dist/core/session-zone.js +15 -0
  41. package/dist/core/session-zone.js.map +1 -1
  42. package/dist/core/tool-context.d.ts +27 -0
  43. package/dist/core/tool-context.js +14 -0
  44. package/dist/core/tool-context.js.map +1 -0
  45. package/dist/core/tool-telemetry.js +2 -1
  46. package/dist/core/tool-telemetry.js.map +1 -1
  47. package/dist/core/workspace-context.js +1 -0
  48. package/dist/core/workspace-context.js.map +1 -1
  49. package/dist/core/workspace-router.d.ts +30 -1
  50. package/dist/core/workspace-router.js +80 -3
  51. package/dist/core/workspace-router.js.map +1 -1
  52. package/dist/index.d.ts +11 -1
  53. package/dist/index.js +3 -1
  54. package/dist/index.js.map +1 -1
  55. package/dist/kernel/kernel.js +198 -119
  56. package/dist/kernel/kernel.js.map +1 -1
  57. package/dist/machine/allow.d.ts +22 -0
  58. package/dist/machine/allow.js +47 -15
  59. package/dist/machine/allow.js.map +1 -1
  60. package/dist/machine/lint-spec.js +12 -3
  61. package/dist/machine/lint-spec.js.map +1 -1
  62. package/dist/machine/machine.d.ts +15 -1
  63. package/dist/machine/machine.js +43 -8
  64. package/dist/machine/machine.js.map +1 -1
  65. package/dist/machine/spec-schema.js +14 -0
  66. package/dist/machine/spec-schema.js.map +1 -1
  67. package/dist/machine/tool-names.d.ts +27 -7
  68. package/dist/machine/tool-names.js +43 -13
  69. package/dist/machine/tool-names.js.map +1 -1
  70. package/dist/machine/tool-paths.d.ts +64 -0
  71. package/dist/machine/tool-paths.js +155 -0
  72. package/dist/machine/tool-paths.js.map +1 -0
  73. package/dist/public/spec.d.ts +11 -1
  74. package/dist/public/spec.js +10 -1
  75. package/dist/public/spec.js.map +1 -1
  76. package/dist/validate/validate.js +10 -5
  77. package/dist/validate/validate.js.map +1 -1
  78. package/dist/workflow/agent-tools.d.ts +20 -1
  79. package/dist/workflow/agent-tools.js +35 -1
  80. package/dist/workflow/agent-tools.js.map +1 -1
  81. package/dist/workflow/control-tools.d.ts +4 -1
  82. package/dist/workflow/control-tools.js +16 -9
  83. package/dist/workflow/control-tools.js.map +1 -1
  84. package/dist/workflow/governance.d.ts +2 -0
  85. package/dist/workflow/governance.js +1 -0
  86. package/dist/workflow/governance.js.map +1 -1
  87. package/dist/workflow/middleware.d.ts +2 -0
  88. package/dist/workflow/middleware.js +27 -12
  89. package/dist/workflow/middleware.js.map +1 -1
  90. package/dist/workflow/on-error.js +3 -2
  91. package/dist/workflow/on-error.js.map +1 -1
  92. package/dist/workflow/parks.js +5 -5
  93. package/dist/workflow/parks.js.map +1 -1
  94. package/dist/workflow/render-prompt.d.ts +2 -0
  95. package/dist/workflow/render-prompt.js +9 -3
  96. package/dist/workflow/render-prompt.js.map +1 -1
  97. package/dist/workflow/returns-check.d.ts +35 -0
  98. package/dist/workflow/returns-check.js +10 -0
  99. package/dist/workflow/returns-check.js.map +1 -0
  100. package/dist/workflow/signature-checks.d.ts +26 -1
  101. package/dist/workflow/signature-checks.js +35 -10
  102. package/dist/workflow/signature-checks.js.map +1 -1
  103. package/dist/workflow/state.d.ts +75 -1
  104. package/dist/workflow/state.js +83 -0
  105. package/dist/workflow/state.js.map +1 -1
  106. package/dist/workflow/sub-workflow.d.ts +16 -5
  107. package/dist/workflow/sub-workflow.js +84 -37
  108. package/dist/workflow/sub-workflow.js.map +1 -1
  109. package/dist/workflow/tool-service.js +57 -10
  110. package/dist/workflow/tool-service.js.map +1 -1
  111. package/dist/workflow/turn-boundary.d.ts +8 -7
  112. package/dist/workflow/turn-boundary.js +10 -9
  113. package/dist/workflow/turn-boundary.js.map +1 -1
  114. package/dist/workflow/workflow-tools.js +5 -1
  115. package/dist/workflow/workflow-tools.js.map +1 -1
  116. package/package.json +1 -1
  117. package/skills/archmax-harness/references/backend-integration.md +59 -1
  118. package/skills/archmax-harness/references/hook-and-test-scripts.md +27 -1
  119. package/skills/archmax-harness/references/workflow-schema.md +71 -22
  120. package/skills/archmax-harness/references/workflow-yaml.md +24 -5
@@ -3,7 +3,7 @@ import { classifyWorkspacePath } from "./zones.js";
3
3
  import type { MountPrefixes } from "./mounts.js";
4
4
  /**
5
5
  * The workspace's single entry point, wrapping the mount-routing
6
- * {@link CompositeBackend}. It owns the three things prefix routing cannot do
6
+ * {@link CompositeBackend}. It owns the things prefix routing cannot do
7
7
  * on its own:
8
8
  *
9
9
  * 1. **Canonicalization.** `CompositeBackend` routes by literal prefix, but
@@ -28,10 +28,31 @@ import type { MountPrefixes } from "./mounts.js";
28
28
  * serves searches, and a search addressed at it (the mount or a path inside
29
29
  * it) is delegated to its route directly, so the backend's own answer —
30
30
  * matches or refusal — reaches the caller verbatim.
31
+ * 5. **Text-only reads.** A `read` whose result is binary — a non-text MIME
32
+ * type, bytes, or NUL in decoded text — is answered with the binary notice
33
+ * (`core/binary-read.ts`) instead of content, so no caller of `read_file`
34
+ * or `tools.readFile` ever gets base64 or decoded bytes. A route's own
35
+ * `{ error }` and `readRaw` are untouched.
36
+ * 6. **Raw-byte transfer and deletion.** `downloadFiles`/`uploadFiles` and
37
+ * `delete` route each path as a read or a write does (exact file mount, else
38
+ * the composite), so the file operations can move bytes no text channel
39
+ * carries and remove a file. The protocol makes all three optional and Deep
40
+ * Agents feature-detects them, so none throws for want of support:
41
+ * `downloadFiles` is always present and reads a route without the raw
42
+ * channel through `readRaw` (exact bytes or an error); `uploadFiles` is
43
+ * present exactly when the session zone has it, and a route without it
44
+ * answers that file with an error; `delete` answers a route without it with
45
+ * an error. Deep Agents itself is handed the router without `delete`
46
+ * ({@link withoutDeletion}).
31
47
  */
32
48
  export interface WorkspaceRouterOptions {
33
49
  /** Mount-routing backend: session zone as default route, authored zone mounted. */
34
50
  composite: CompositeBackend;
51
+ /**
52
+ * The composite's default route, the session zone. The router has
53
+ * `uploadFiles` exactly when it does: that is where Deep Agents writes.
54
+ */
55
+ defaultRoute: BackendProtocolV2;
35
56
  /**
36
57
  * The composite `grep`/`glob` fan out through: the same default route and the
37
58
  * searchable directory routes only. Defaults to `composite`, which is exact
@@ -57,5 +78,13 @@ export declare class WorkspacePathEscapeError extends Error {
57
78
  constructor(path: string);
58
79
  }
59
80
  export declare function createWorkspaceRouter(options: WorkspaceRouterOptions): BackendProtocolV2;
81
+ /**
82
+ * The workspace as Deep Agents is handed it: everything but `delete`. Deep
83
+ * Agents registers its own `delete` tool (recursive: a folder and all beneath
84
+ * it) whenever its backend can delete; deleting files is `remove_file`'s, so
85
+ * that tool must not exist. The file operations and host tools keep the router
86
+ * itself, `delete` included.
87
+ */
88
+ export declare function withoutDeletion<T extends BackendProtocolV2>(backend: T): T;
60
89
  /** Re-exported so callers can classify a path with the router's own rules. */
61
90
  export { classifyWorkspacePath };
@@ -1,3 +1,5 @@
1
+ import { binaryReadError } from "./binary-read.js";
2
+ import { downloadViaReadRaw } from "./raw-download.js";
1
3
  import { canonicalizeRelPath } from "./workspace.js";
2
4
  import { SESSION_INTERNAL_DIRS, classifyWorkspacePath, mountNameOf } from "./zones.js";
3
5
  /** Thrown when a workspace path resolves above the workspace root. */
@@ -48,6 +50,25 @@ export function createWorkspaceRouter(options) {
48
50
  // slash, and the mount itself becomes `/`.
49
51
  return { backend, name, routePath: target.slice(name.length + 1) || "/" };
50
52
  };
53
+ /** A routed read's result, or the binary notice in its place. */
54
+ const textOnly = async (target, pending) => {
55
+ const res = await pending;
56
+ // A v1 file mount answers a bare string; read it as Deep Agents' adapter wraps it.
57
+ const raw = res;
58
+ const binary = binaryReadError(target, typeof raw === "string" ? { content: raw } : res);
59
+ return binary === null ? res : { error: binary };
60
+ };
61
+ /** One file's bytes from a store: its raw channel, else `readRaw`. */
62
+ const downloadFrom = async (backend, key) => backend.downloadFiles ? (await backend.downloadFiles([key]))[0] : downloadViaReadRaw(backend, key);
63
+ /** One composite-routed file's bytes; a route without the raw channel is read through `readRaw`. */
64
+ const downloadRouted = async (target) => {
65
+ try {
66
+ return (await composite.downloadFiles([target]))[0];
67
+ }
68
+ catch {
69
+ return downloadViaReadRaw(composite, target);
70
+ }
71
+ };
51
72
  /** Hide runtime-internal areas and surface file mounts at `/`. */
52
73
  const shapeRoot = async (path, files) => {
53
74
  if (path !== "/" || !boundSessionId())
@@ -83,9 +104,7 @@ export function createWorkspaceRouter(options) {
83
104
  read(filePath, offset, limit) {
84
105
  const target = canonical(filePath);
85
106
  const file = fileMount(target);
86
- return file
87
- ? file.backend.read(file.key, offset, limit)
88
- : composite.read(target, offset, limit);
107
+ return textOnly(target, file ? file.backend.read(file.key, offset, limit) : composite.read(target, offset, limit));
89
108
  },
90
109
  readRaw(filePath) {
91
110
  const target = canonical(filePath);
@@ -137,9 +156,67 @@ export function createWorkspaceRouter(options) {
137
156
  ? file.backend.edit(file.key, oldString, newString, replaceAll)
138
157
  : composite.edit(target, oldString, newString, replaceAll);
139
158
  },
159
+ async delete(filePath) {
160
+ const target = canonical(filePath);
161
+ const file = fileMount(target);
162
+ if (!file)
163
+ return composite.delete(target);
164
+ if (!file.backend.delete)
165
+ return { error: `Cannot delete '${target.slice(1)}': the store serving it cannot delete.` };
166
+ return file.backend.delete(file.key);
167
+ },
168
+ async downloadFiles(paths) {
169
+ const out = [];
170
+ for (const path of paths) {
171
+ const target = canonical(path);
172
+ const file = fileMount(target);
173
+ const res = file ? await downloadFrom(file.backend, file.key) : await downloadRouted(target);
174
+ out.push({ path: target, content: res?.content ?? null, error: res?.error ?? null });
175
+ }
176
+ return out;
177
+ },
140
178
  };
179
+ if (options.defaultRoute.uploadFiles) {
180
+ router.uploadFiles = async (files) => {
181
+ const out = [];
182
+ for (const [path, content] of files) {
183
+ const target = canonical(path);
184
+ const file = fileMount(target);
185
+ let error;
186
+ if (file) {
187
+ error = file.backend.uploadFiles
188
+ ? ((await file.backend.uploadFiles([[file.key, content]]))[0]?.error ?? null)
189
+ : "permission_denied";
190
+ }
191
+ else {
192
+ try {
193
+ error = (await composite.uploadFiles([[target, content]]))[0]?.error ?? null;
194
+ }
195
+ catch {
196
+ // The composite throws for a route without uploads: this file is refused, not the batch.
197
+ error = "permission_denied";
198
+ }
199
+ }
200
+ out.push({ path: target, error });
201
+ }
202
+ return out;
203
+ };
204
+ }
141
205
  return router;
142
206
  }
207
+ /**
208
+ * The workspace as Deep Agents is handed it: everything but `delete`. Deep
209
+ * Agents registers its own `delete` tool (recursive: a folder and all beneath
210
+ * it) whenever its backend can delete; deleting files is `remove_file`'s, so
211
+ * that tool must not exist. The file operations and host tools keep the router
212
+ * itself, `delete` included.
213
+ */
214
+ export function withoutDeletion(backend) {
215
+ return new Proxy(backend, {
216
+ get: (target, key, receiver) => (key === "delete" ? undefined : Reflect.get(target, key, receiver)),
217
+ has: (target, key) => key !== "delete" && Reflect.has(target, key),
218
+ });
219
+ }
143
220
  /** Re-exported so callers can classify a path with the router's own rules. */
144
221
  export { classifyWorkspacePath };
145
222
  //# sourceMappingURL=workspace-router.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-router.js","sourceRoot":"","sources":["../../src/core/workspace-router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-router.js","sourceRoot":"","sources":["../../src/core/workspace-router.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -106,8 +106,10 @@ WorkflowLoadError,
106
106
  WorkflowDisabledError, } from "./machine/load-spec.js";
107
107
  /** A trigger id the machine does not declare. */
108
108
  export { UnknownTriggerError } from "./machine/triggers.js";
109
- /** A host tool wearing a reserved `archmax_` name. */
109
+ /** A host tool wearing a reserved `archmax_` name, or a runtime file operation's name. */
110
110
  export { ReservedToolNameError } from "./machine/tool-names.js";
111
+ /** A host path declaration the runtime cannot honour (a built-in tool, an unknown access). */
112
+ export { ToolPathsError } from "./machine/tool-paths.js";
111
113
  /** A seeded variable name that is not a legal identifier. */
112
114
  export { InvalidVariableNameError } from "./machine/variables.js";
113
115
  /** A mount key shadows a session area. */
@@ -178,6 +180,14 @@ export { PLATFORM_PROMPT_PATH } from "./workflow/paths.js";
178
180
  export { resolveSystemPrompt } from "./core/prompt.js";
179
181
  /** Bind a `name → tool` map in the shape the `tools` option takes. */
180
182
  export { toolsFromMap } from "./workflow/agent-tools.js";
183
+ /** One host tool for `toolsFromMap`: its schema, its declared paths, and a handler handed the turn's workspace. */
184
+ export type { AgentToolDescriptor } from "./workflow/agent-tools.js";
185
+ /** What a host tool's handler is handed: the turn's workspace. */
186
+ export type { ToolContext } from "./core/tool-context.js";
187
+ /** A tool's path arguments and how a call uses each — the `toolPaths` option's values. */
188
+ export type { ToolPaths, PathAccess } from "./machine/tool-paths.js";
189
+ /** The `images` option: show the model the images it reads. */
190
+ export type { ImageReadOptions } from "./assembly/image-reads.js";
181
191
  /** A message's text, whatever content-block shape it arrived in. */
182
192
  export { contentToString } from "./core/messages.js";
183
193
  /** Whether a message is the assistant's turn. */
package/dist/index.js CHANGED
@@ -54,8 +54,10 @@ WorkflowLoadError,
54
54
  WorkflowDisabledError, } from "./machine/load-spec.js";
55
55
  /** A trigger id the machine does not declare. */
56
56
  export { UnknownTriggerError } from "./machine/triggers.js";
57
- /** A host tool wearing a reserved `archmax_` name. */
57
+ /** A host tool wearing a reserved `archmax_` name, or a runtime file operation's name. */
58
58
  export { ReservedToolNameError } from "./machine/tool-names.js";
59
+ /** A host path declaration the runtime cannot honour (a built-in tool, an unknown access). */
60
+ export { ToolPathsError } from "./machine/tool-paths.js";
59
61
  /** A seeded variable name that is not a legal identifier. */
60
62
  export { InvalidVariableNameError } from "./machine/variables.js";
61
63
  /** A mount key shadows a session area. */
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}