@archmax-ai/harness 0.3.2 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/README.md +3 -1
  2. package/dist/assembly/compose.d.ts +40 -3
  3. package/dist/assembly/compose.js +81 -7
  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 +6 -3
  14. package/dist/assembly/plain.js.map +1 -1
  15. package/dist/authoring-skill/archmax-harness/references/backend-integration.md +48 -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 +67 -22
  18. package/dist/authoring-skill/archmax-harness/references/workflow-yaml.md +24 -5
  19. package/dist/core/binary-read.d.ts +52 -0
  20. package/dist/core/binary-read.js +129 -0
  21. package/dist/core/binary-read.js.map +1 -0
  22. package/dist/core/file-operations.d.ts +43 -0
  23. package/dist/core/file-operations.js +368 -0
  24. package/dist/core/file-operations.js.map +1 -0
  25. package/dist/core/path-mapping.d.ts +10 -3
  26. package/dist/core/path-mapping.js +27 -0
  27. package/dist/core/path-mapping.js.map +1 -1
  28. package/dist/core/platform-prompt.generated.js +1 -1
  29. package/dist/core/platform-prompt.generated.js.map +1 -1
  30. package/dist/core/prompt.d.ts +27 -0
  31. package/dist/core/prompt.js +65 -5
  32. package/dist/core/prompt.js.map +1 -1
  33. package/dist/core/session-zone.d.ts +3 -0
  34. package/dist/core/session-zone.js +9 -0
  35. package/dist/core/session-zone.js.map +1 -1
  36. package/dist/core/tool-context.d.ts +23 -0
  37. package/dist/core/tool-context.js +14 -0
  38. package/dist/core/tool-context.js.map +1 -0
  39. package/dist/core/tool-telemetry.js +2 -1
  40. package/dist/core/tool-telemetry.js.map +1 -1
  41. package/dist/core/workspace-router.d.ts +11 -1
  42. package/dist/core/workspace-router.js +47 -3
  43. package/dist/core/workspace-router.js.map +1 -1
  44. package/dist/index.d.ts +11 -1
  45. package/dist/index.js +3 -1
  46. package/dist/index.js.map +1 -1
  47. package/dist/kernel/kernel.js +167 -119
  48. package/dist/kernel/kernel.js.map +1 -1
  49. package/dist/machine/allow.d.ts +22 -0
  50. package/dist/machine/allow.js +47 -15
  51. package/dist/machine/allow.js.map +1 -1
  52. package/dist/machine/lint-spec.js +12 -3
  53. package/dist/machine/lint-spec.js.map +1 -1
  54. package/dist/machine/machine.d.ts +10 -1
  55. package/dist/machine/machine.js +36 -8
  56. package/dist/machine/machine.js.map +1 -1
  57. package/dist/machine/spec-schema.js +14 -0
  58. package/dist/machine/spec-schema.js.map +1 -1
  59. package/dist/machine/tool-names.d.ts +27 -7
  60. package/dist/machine/tool-names.js +43 -13
  61. package/dist/machine/tool-names.js.map +1 -1
  62. package/dist/machine/tool-paths.d.ts +51 -0
  63. package/dist/machine/tool-paths.js +127 -0
  64. package/dist/machine/tool-paths.js.map +1 -0
  65. package/dist/public/spec.d.ts +6 -1
  66. package/dist/public/spec.js +5 -1
  67. package/dist/public/spec.js.map +1 -1
  68. package/dist/validate/validate.js +10 -5
  69. package/dist/validate/validate.js.map +1 -1
  70. package/dist/workflow/agent-tools.d.ts +20 -1
  71. package/dist/workflow/agent-tools.js +31 -1
  72. package/dist/workflow/agent-tools.js.map +1 -1
  73. package/dist/workflow/control-tools.d.ts +4 -1
  74. package/dist/workflow/control-tools.js +16 -9
  75. package/dist/workflow/control-tools.js.map +1 -1
  76. package/dist/workflow/governance.d.ts +2 -0
  77. package/dist/workflow/governance.js +1 -0
  78. package/dist/workflow/governance.js.map +1 -1
  79. package/dist/workflow/middleware.d.ts +2 -0
  80. package/dist/workflow/middleware.js +27 -12
  81. package/dist/workflow/middleware.js.map +1 -1
  82. package/dist/workflow/on-error.js +3 -2
  83. package/dist/workflow/on-error.js.map +1 -1
  84. package/dist/workflow/parks.js +5 -5
  85. package/dist/workflow/parks.js.map +1 -1
  86. package/dist/workflow/render-prompt.d.ts +2 -0
  87. package/dist/workflow/render-prompt.js +9 -3
  88. package/dist/workflow/render-prompt.js.map +1 -1
  89. package/dist/workflow/returns-check.d.ts +35 -0
  90. package/dist/workflow/returns-check.js +10 -0
  91. package/dist/workflow/returns-check.js.map +1 -0
  92. package/dist/workflow/signature-checks.d.ts +26 -1
  93. package/dist/workflow/signature-checks.js +35 -10
  94. package/dist/workflow/signature-checks.js.map +1 -1
  95. package/dist/workflow/state.d.ts +75 -1
  96. package/dist/workflow/state.js +83 -0
  97. package/dist/workflow/state.js.map +1 -1
  98. package/dist/workflow/sub-workflow.d.ts +16 -5
  99. package/dist/workflow/sub-workflow.js +84 -37
  100. package/dist/workflow/sub-workflow.js.map +1 -1
  101. package/dist/workflow/tool-service.js +57 -10
  102. package/dist/workflow/tool-service.js.map +1 -1
  103. package/dist/workflow/turn-boundary.d.ts +8 -7
  104. package/dist/workflow/turn-boundary.js +10 -9
  105. package/dist/workflow/turn-boundary.js.map +1 -1
  106. package/dist/workflow/workflow-tools.js +5 -1
  107. package/dist/workflow/workflow-tools.js.map +1 -1
  108. package/package.json +1 -1
  109. package/skills/archmax-harness/references/backend-integration.md +48 -1
  110. package/skills/archmax-harness/references/hook-and-test-scripts.md +27 -1
  111. package/skills/archmax-harness/references/workflow-schema.md +67 -22
  112. package/skills/archmax-harness/references/workflow-yaml.md +24 -5
@@ -24,6 +24,17 @@ export declare const RUN_TOOL = "archmax_run";
24
24
  export declare const GET_VARIABLES_TOOL = "archmax_get_variables";
25
25
  /** Create, update, and lock the run's variables. */
26
26
  export declare const SET_VARIABLES_TOOL = "archmax_set_variables";
27
+ /**
28
+ * The runtime's own file operations, beside Deep Agents' built-ins and named
29
+ * like them (they act on the workspace, not on the run). Each works on one file
30
+ * and never reads it into the conversation; their path arguments are declared in
31
+ * `tool-paths.ts` and governed like every other tool's.
32
+ */
33
+ export declare const COPY_FILE_TOOL = "copy_file";
34
+ export declare const MOVE_FILE_TOOL = "move_file";
35
+ export declare const REMOVE_FILE_TOOL = "remove_file";
36
+ /** The runtime's file operations, which no host tool may share a name with. */
37
+ export declare const RUNTIME_FILE_TOOLS: ReadonlySet<string>;
27
38
  /**
28
39
  * Prefix of the tool that runs a sibling workflow as a sub-run:
29
40
  * `archmax_workflow_<slug>`, with the slug **verbatim** so the tool name, the
@@ -69,9 +80,10 @@ export declare function isReservedToolName(name: string): boolean;
69
80
  export declare const ALWAYS_ALLOWED_TOOLS: ReadonlySet<string>;
70
81
  /**
71
82
  * The built-in tools essential in every assembly — always disclosed, always
72
- * permitted, never declared: the file tools, `write_todos`, and the two sandbox
73
- * tools. A script's `tools.*` calls are governed against the active state like a
74
- * direct call. A state entry naming an essential tool *narrows* the grant
83
+ * permitted, never declared: the file tools (the runtime's file operations
84
+ * among them), `write_todos`, and the two sandbox tools. A script's `tools.*` calls are
85
+ * governed against the active state like a direct call. A state entry naming
86
+ * an essential tool *narrows* the grant
75
87
  * (`{ tool: archmax_run, paths: [...] }`); `policy.forbid_tools` closes one.
76
88
  */
77
89
  export declare const ESSENTIAL_TOOLS: ReadonlySet<string>;
@@ -88,14 +100,22 @@ export declare const ESSENTIAL_TOOLS: ReadonlySet<string>;
88
100
  */
89
101
  export declare const UNGRANTABLE_TOOLS: ReadonlySet<string>;
90
102
  /**
91
- * Thrown when a host-bound tool claims the reserved `archmax_` prefix; refused at
92
- * assembly rather than shadowed.
103
+ * Thrown when a host-bound tool claims the reserved `archmax_` prefix or a
104
+ * runtime file operation's name; refused at assembly rather than shadowed.
93
105
  */
94
106
  export declare class ReservedToolNameError extends Error {
95
107
  readonly names: string[];
96
- constructor(names: string[]);
108
+ /** Which reservation was claimed: the control-tool prefix, or a runtime file operation's name. */
109
+ readonly reservation: "prefix" | "file-operation";
110
+ constructor(names: string[],
111
+ /** Which reservation was claimed: the control-tool prefix, or a runtime file operation's name. */
112
+ reservation?: "prefix" | "file-operation");
97
113
  }
98
- /** Refuse host tools that claim the `archmax_` namespace. */
114
+ /**
115
+ * Refuse host tools that claim the `archmax_` namespace or the name of one of the
116
+ * runtime's file operations — two tools sharing a name would leave the model
117
+ * calling whichever the framework happened to keep.
118
+ */
99
119
  export declare function assertNoReservedToolNames(tools: readonly {
100
120
  name?: unknown;
101
121
  }[] | undefined): void;
@@ -24,6 +24,17 @@ export const RUN_TOOL = "archmax_run";
24
24
  export const GET_VARIABLES_TOOL = "archmax_get_variables";
25
25
  /** Create, update, and lock the run's variables. */
26
26
  export const SET_VARIABLES_TOOL = "archmax_set_variables";
27
+ /**
28
+ * The runtime's own file operations, beside Deep Agents' built-ins and named
29
+ * like them (they act on the workspace, not on the run). Each works on one file
30
+ * and never reads it into the conversation; their path arguments are declared in
31
+ * `tool-paths.ts` and governed like every other tool's.
32
+ */
33
+ export const COPY_FILE_TOOL = "copy_file";
34
+ export const MOVE_FILE_TOOL = "move_file";
35
+ export const REMOVE_FILE_TOOL = "remove_file";
36
+ /** The runtime's file operations, which no host tool may share a name with. */
37
+ export const RUNTIME_FILE_TOOLS = new Set([COPY_FILE_TOOL, MOVE_FILE_TOOL, REMOVE_FILE_TOOL]);
27
38
  /**
28
39
  * Prefix of the tool that runs a sibling workflow as a sub-run:
29
40
  * `archmax_workflow_<slug>`, with the slug **verbatim** so the tool name, the
@@ -95,9 +106,10 @@ export const ALWAYS_ALLOWED_TOOLS = new Set([
95
106
  ]);
96
107
  /**
97
108
  * The built-in tools essential in every assembly — always disclosed, always
98
- * permitted, never declared: the file tools, `write_todos`, and the two sandbox
99
- * tools. A script's `tools.*` calls are governed against the active state like a
100
- * direct call. A state entry naming an essential tool *narrows* the grant
109
+ * permitted, never declared: the file tools (the runtime's file operations
110
+ * among them), `write_todos`, and the two sandbox tools. A script's `tools.*` calls are
111
+ * governed against the active state like a direct call. A state entry naming
112
+ * an essential tool *narrows* the grant
101
113
  * (`{ tool: archmax_run, paths: [...] }`); `policy.forbid_tools` closes one.
102
114
  */
103
115
  export const ESSENTIAL_TOOLS = new Set([
@@ -105,6 +117,9 @@ export const ESSENTIAL_TOOLS = new Set([
105
117
  "read_file",
106
118
  "write_file",
107
119
  "edit_file",
120
+ COPY_FILE_TOOL,
121
+ MOVE_FILE_TOOL,
122
+ REMOVE_FILE_TOOL,
108
123
  "glob",
109
124
  "grep",
110
125
  "write_todos",
@@ -124,26 +139,41 @@ export const ESSENTIAL_TOOLS = new Set([
124
139
  */
125
140
  export const UNGRANTABLE_TOOLS = new Set(["task"]);
126
141
  /**
127
- * Thrown when a host-bound tool claims the reserved `archmax_` prefix; refused at
128
- * assembly rather than shadowed.
142
+ * Thrown when a host-bound tool claims the reserved `archmax_` prefix or a
143
+ * runtime file operation's name; refused at assembly rather than shadowed.
129
144
  */
130
145
  export class ReservedToolNameError extends Error {
131
146
  names;
132
- constructor(names) {
147
+ reservation;
148
+ constructor(names,
149
+ /** Which reservation was claimed: the control-tool prefix, or a runtime file operation's name. */
150
+ reservation = "prefix") {
133
151
  const one = names.length === 1;
134
- super(`Host tool${one ? "" : "s"} ${names.map((n) => `'${n}'`).join(", ")} use${one ? "s" : ""} ` +
135
- `the reserved '${ARCHMAX_TOOL_PREFIX}' prefix, which names the runtime's own control ` +
136
- `tools. Rename ${one ? "it" : "them"}.`);
152
+ const listed = names.map((n) => `'${n}'`).join(", ");
153
+ super(reservation === "prefix"
154
+ ? `Host tool${one ? "" : "s"} ${listed} use${one ? "s" : ""} the reserved ` +
155
+ `'${ARCHMAX_TOOL_PREFIX}' prefix, which names the runtime's own control tools. ` +
156
+ `Rename ${one ? "it" : "them"}.`
157
+ : `Host tool${one ? "" : "s"} ${listed} take${one ? "s" : ""} the name of the runtime's own ` +
158
+ `file operation${one ? "" : "s"} (${[...RUNTIME_FILE_TOOLS].join(", ")}), which every ` +
159
+ `agent already has. Drop ${one ? "it" : "them"}, or rename ${one ? "it" : "them"}.`);
137
160
  this.names = names;
161
+ this.reservation = reservation;
138
162
  this.name = "ReservedToolNameError";
139
163
  }
140
164
  }
141
- /** Refuse host tools that claim the `archmax_` namespace. */
165
+ /**
166
+ * Refuse host tools that claim the `archmax_` namespace or the name of one of the
167
+ * runtime's file operations — two tools sharing a name would leave the model
168
+ * calling whichever the framework happened to keep.
169
+ */
142
170
  export function assertNoReservedToolNames(tools) {
143
- const claimed = (tools ?? [])
144
- .map((tool) => tool.name)
145
- .filter((name) => typeof name === "string" && isReservedToolName(name));
171
+ const names = (tools ?? []).map((tool) => tool.name).filter((name) => typeof name === "string");
172
+ const claimed = names.filter(isReservedToolName);
146
173
  if (claimed.length > 0)
147
174
  throw new ReservedToolNameError(claimed);
175
+ const shadowing = names.filter((name) => RUNTIME_FILE_TOOLS.has(name));
176
+ if (shadowing.length > 0)
177
+ throw new ReservedToolNameError(shadowing, "file-operation");
148
178
  }
149
179
  //# sourceMappingURL=tool-names.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-names.js","sourceRoot":"","sources":["../../src/machine/tool-names.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-names.js","sourceRoot":"","sources":["../../src/machine/tool-names.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ /** How a call uses one of its path arguments. */
2
+ export type PathAccess = "read" | "list" | "search" | "write" | "remove" | "execute";
3
+ /** A tool's path arguments, by argument name. */
4
+ export type ToolPaths = Readonly<Record<string, PathAccess>>;
5
+ /** Every access a declaration may name. */
6
+ export declare const PATH_ACCESSES: readonly PathAccess[];
7
+ /** The accesses that change what is stored: refused wherever a write is. */
8
+ export declare const MUTATING_ACCESSES: ReadonlySet<PathAccess>;
9
+ /**
10
+ * The accesses the always-open `scratchpad/` permits in every state, whatever
11
+ * the state's `allow` list says. Searching and executing are not among them.
12
+ */
13
+ export declare const SCRATCHPAD_ACCESSES: ReadonlySet<PathAccess>;
14
+ /** The accesses the context-offload areas permit: readable, never writable. */
15
+ export declare const OFFLOAD_ACCESSES: ReadonlySet<PathAccess>;
16
+ /** The path declarations of the tools every assembly registers. */
17
+ export declare const BUILT_IN_TOOL_PATHS: Readonly<Record<string, ToolPaths>>;
18
+ /** Thrown at assembly for a path declaration the runtime cannot honour. */
19
+ export declare class ToolPathsError extends Error {
20
+ constructor(message: string);
21
+ }
22
+ /** The resolved table: the built-ins plus a host's declarations. */
23
+ export type ToolPathTable = ReadonlyMap<string, ToolPaths>;
24
+ /** The table with no host declarations. */
25
+ export declare const BUILT_IN_TOOL_PATH_TABLE: ToolPathTable;
26
+ /**
27
+ * Merge a host's declarations into the built-in table. A declaration for a
28
+ * built-in tool is refused — its paths are the runtime's to govern — as is an
29
+ * access the kernel does not know, so a typo cannot leave an argument ungoverned.
30
+ */
31
+ export declare function resolveToolPaths(host: Readonly<Record<string, ToolPaths>> | undefined): ToolPathTable;
32
+ /** One path a call names, with the argument it came from and how the call uses it. */
33
+ export interface DeclaredPath {
34
+ arg: string;
35
+ access: PathAccess;
36
+ path: string;
37
+ }
38
+ /**
39
+ * The declared path arguments a call actually carries, in declaration order. An
40
+ * argument the call omits, or passes as something other than a string, names no
41
+ * path: the tool's own argument check refuses it.
42
+ */
43
+ export declare function declaredPathsOf(tool: string, paths: ToolPaths | undefined, args: Record<string, unknown>): DeclaredPath[];
44
+ /** The arguments a `paths:` guard matches for `tool`: its declared ones, else `file_path`. */
45
+ export declare function pathArgsOf(paths: ToolPaths | undefined): string[];
46
+ /**
47
+ * The values a `paths:` guard on `tool` tests, one per argument it matches
48
+ * ({@link pathArgsOf}), read through the built-in aliases as the path rules read
49
+ * them. An argument the call omits is `undefined`, which no glob matches.
50
+ */
51
+ export declare function pathValuesOf(tool: string, paths: ToolPaths | undefined, args: Record<string, unknown>): unknown[];
@@ -0,0 +1,127 @@
1
+ /**
2
+ * Which arguments of a tool name workspace paths, and how the call uses each.
3
+ *
4
+ * Every path rule of the kernel — the zones, the mount and skill rules, the
5
+ * inherited denials, the always-open scratchpad — reads this table rather than a
6
+ * list of tool names and one argument, so a tool is governed by the paths it
7
+ * declares, whoever registered it: a Deep Agents built-in, the runtime's own
8
+ * file operations, or a host tool. A `paths:` guard in an allow or forbid entry
9
+ * matches the same declared arguments.
10
+ *
11
+ * A tool with no declaration has no path rules, as a host tool had none before
12
+ * this table existed; a `paths:` guard on it still matches `file_path`.
13
+ */
14
+ import { DEFAULT_PATH_ARG } from "./allow.js";
15
+ import { COPY_FILE_TOOL, MOVE_FILE_TOOL, REMOVE_FILE_TOOL, RUN_TOOL } from "./tool-names.js";
16
+ /** Every access a declaration may name. */
17
+ export const PATH_ACCESSES = ["read", "list", "search", "write", "remove", "execute"];
18
+ /** The accesses that change what is stored: refused wherever a write is. */
19
+ export const MUTATING_ACCESSES = new Set(["write", "remove"]);
20
+ /**
21
+ * The accesses the always-open `scratchpad/` permits in every state, whatever
22
+ * the state's `allow` list says. Searching and executing are not among them.
23
+ */
24
+ export const SCRATCHPAD_ACCESSES = new Set(["read", "list", "write", "remove"]);
25
+ /** The accesses the context-offload areas permit: readable, never writable. */
26
+ export const OFFLOAD_ACCESSES = new Set(["read", "list"]);
27
+ /** The path declarations of the tools every assembly registers. */
28
+ export const BUILT_IN_TOOL_PATHS = {
29
+ read_file: { file_path: "read" },
30
+ write_file: { file_path: "write" },
31
+ edit_file: { file_path: "write" },
32
+ ls: { path: "list" },
33
+ glob: { path: "search" },
34
+ grep: { path: "search" },
35
+ [RUN_TOOL]: { file_path: "execute" },
36
+ [COPY_FILE_TOOL]: { source: "read", destination: "write" },
37
+ [MOVE_FILE_TOOL]: { source: "remove", destination: "write" },
38
+ [REMOVE_FILE_TOOL]: { file_path: "remove" },
39
+ };
40
+ /**
41
+ * Second spellings the built-in file tools accept for their one path argument.
42
+ * Deep Agents' `read_file`, `write_file` and `edit_file` take `path` when
43
+ * `file_path` is absent, so a path rule that read only the declared name would
44
+ * let the other spelling through ungoverned. The kernel reads the declared name
45
+ * first and the alias when it is absent — the tool's own precedence — for every
46
+ * single-path built-in, as it always has.
47
+ */
48
+ const BUILT_IN_PATH_ALIASES = {
49
+ read_file: { file_path: "path" },
50
+ write_file: { file_path: "path" },
51
+ edit_file: { file_path: "path" },
52
+ ls: { path: "file_path" },
53
+ glob: { path: "file_path" },
54
+ grep: { path: "file_path" },
55
+ [RUN_TOOL]: { file_path: "path" },
56
+ };
57
+ /** Thrown at assembly for a path declaration the runtime cannot honour. */
58
+ export class ToolPathsError extends Error {
59
+ constructor(message) {
60
+ super(message);
61
+ this.name = "ToolPathsError";
62
+ }
63
+ }
64
+ /** The table with no host declarations. */
65
+ export const BUILT_IN_TOOL_PATH_TABLE = new Map(Object.entries(BUILT_IN_TOOL_PATHS));
66
+ /**
67
+ * Merge a host's declarations into the built-in table. A declaration for a
68
+ * built-in tool is refused — its paths are the runtime's to govern — as is an
69
+ * access the kernel does not know, so a typo cannot leave an argument ungoverned.
70
+ */
71
+ export function resolveToolPaths(host) {
72
+ const table = new Map(BUILT_IN_TOOL_PATH_TABLE);
73
+ for (const [tool, paths] of Object.entries(host ?? {})) {
74
+ if (Object.hasOwn(BUILT_IN_TOOL_PATHS, tool)) {
75
+ throw new ToolPathsError(`Tool '${tool}' is a built-in tool; its path arguments are declared by the runtime and ` +
76
+ `cannot be redeclared.`);
77
+ }
78
+ const entries = Object.entries(paths ?? {});
79
+ if (entries.length === 0) {
80
+ throw new ToolPathsError(`Tool '${tool}' declares no path argument; omit its declaration instead.`);
81
+ }
82
+ for (const [arg, access] of entries) {
83
+ if (!PATH_ACCESSES.includes(access)) {
84
+ throw new ToolPathsError(`Tool '${tool}' declares argument '${arg}' with access '${String(access)}'; the accesses ` +
85
+ `are ${PATH_ACCESSES.map((a) => `'${a}'`).join(", ")}.`);
86
+ }
87
+ }
88
+ table.set(tool, Object.freeze({ ...paths }));
89
+ }
90
+ return table;
91
+ }
92
+ /**
93
+ * The declared path arguments a call actually carries, in declaration order. An
94
+ * argument the call omits, or passes as something other than a string, names no
95
+ * path: the tool's own argument check refuses it.
96
+ */
97
+ export function declaredPathsOf(tool, paths, args) {
98
+ if (!paths)
99
+ return [];
100
+ const aliases = BUILT_IN_PATH_ALIASES[tool];
101
+ const found = [];
102
+ for (const [arg, access] of Object.entries(paths)) {
103
+ const alias = aliases?.[arg];
104
+ const value = args[arg] ?? (alias === undefined ? undefined : args[alias]);
105
+ if (typeof value === "string")
106
+ found.push({ arg, access, path: value });
107
+ }
108
+ return found;
109
+ }
110
+ /** The arguments a `paths:` guard matches for `tool`: its declared ones, else `file_path`. */
111
+ export function pathArgsOf(paths) {
112
+ const declared = Object.keys(paths ?? {});
113
+ return declared.length > 0 ? declared : [DEFAULT_PATH_ARG];
114
+ }
115
+ /**
116
+ * The values a `paths:` guard on `tool` tests, one per argument it matches
117
+ * ({@link pathArgsOf}), read through the built-in aliases as the path rules read
118
+ * them. An argument the call omits is `undefined`, which no glob matches.
119
+ */
120
+ export function pathValuesOf(tool, paths, args) {
121
+ const aliases = BUILT_IN_PATH_ALIASES[tool];
122
+ return pathArgsOf(paths).map((arg) => {
123
+ const alias = aliases?.[arg];
124
+ return args[arg] ?? (alias === undefined ? undefined : args[alias]);
125
+ });
126
+ }
127
+ //# sourceMappingURL=tool-paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-paths.js","sourceRoot":"","sources":["../../src/machine/tool-paths.ts"],"names":[],"mappings":"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"}
@@ -125,7 +125,12 @@ ALWAYS_ALLOWED_TOOLS,
125
125
  /** The always-on built-ins a state's own entry may narrow but `allow_always` cannot add to. */
126
126
  ESSENTIAL_TOOLS,
127
127
  /** Tools no list may grant (`task`). */
128
- UNGRANTABLE_TOOLS, ReservedToolNameError, } from "../machine/tool-names.js";
128
+ UNGRANTABLE_TOOLS, ReservedToolNameError,
129
+ /** The runtime's file operations, always on in every agent. */
130
+ COPY_FILE_TOOL, MOVE_FILE_TOOL, REMOVE_FILE_TOOL, RUNTIME_FILE_TOOLS, } from "../machine/tool-names.js";
131
+ /** Each built-in tool's path arguments and how a call uses each. */
132
+ export { BUILT_IN_TOOL_PATHS, PATH_ACCESSES } from "../machine/tool-paths.js";
133
+ export type { ToolPaths, PathAccess } from "../machine/tool-paths.js";
129
134
  export { DEFAULT_SUB_WORKFLOW_DEPTH, DEFAULT_SUB_WORKFLOW_CONCURRENCY } from "../machine/delegation.js";
130
135
  export { SESSION_INTERNAL_DIRS, SESSION_OFFLOAD_DIRS, SESSION_OPEN_DIR, SESSION_AGNOSTIC_PREFIX, SESSION_AGNOSTIC_PREFIXES, NO_MOUNTS,
131
136
  /** Every session-area name the runtime owns at the workspace root. */
@@ -123,7 +123,11 @@ ALWAYS_ALLOWED_TOOLS,
123
123
  /** The always-on built-ins a state's own entry may narrow but `allow_always` cannot add to. */
124
124
  ESSENTIAL_TOOLS,
125
125
  /** Tools no list may grant (`task`). */
126
- UNGRANTABLE_TOOLS, ReservedToolNameError, } from "../machine/tool-names.js";
126
+ UNGRANTABLE_TOOLS, ReservedToolNameError,
127
+ /** The runtime's file operations, always on in every agent. */
128
+ COPY_FILE_TOOL, MOVE_FILE_TOOL, REMOVE_FILE_TOOL, RUNTIME_FILE_TOOLS, } from "../machine/tool-names.js";
129
+ /** Each built-in tool's path arguments and how a call uses each. */
130
+ export { BUILT_IN_TOOL_PATHS, PATH_ACCESSES } from "../machine/tool-paths.js";
127
131
  export { DEFAULT_SUB_WORKFLOW_DEPTH, DEFAULT_SUB_WORKFLOW_CONCURRENCY } from "../machine/delegation.js";
128
132
  // --- The root namespace ---------------------------------------------------------------
129
133
  export { SESSION_INTERNAL_DIRS, SESSION_OFFLOAD_DIRS, SESSION_OPEN_DIR, SESSION_AGNOSTIC_PREFIX, SESSION_AGNOSTIC_PREFIXES, NO_MOUNTS,
@@ -1 +1 @@
1
- {"version":3,"file":"spec.js","sourceRoot":"","sources":["../../src/public/spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spec.js","sourceRoot":"","sources":["../../src/public/spec.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ import { canonicalizeRelPath, normalizeRelPath } from "../core/workspace.js";
12
12
  import { isSlug, SLUG_PATTERN } from "../machine/slug.js";
13
13
  import { createWorkspaceContext } from "../core/workspace-context.js";
14
14
  import { normalizeAllowEntry } from "../machine/allow.js";
15
+ import { MUTATING_ACCESSES } from "../machine/tool-paths.js";
15
16
  import { normalizeMountGrants, } from "../machine/mount-grants.js";
16
17
  import { hookKind, normalizeHooks } from "../lifecycle/hook-shape.js";
17
18
  import { BUILTIN_HOOK_KINDS } from "../lifecycle/runner.js";
@@ -573,11 +574,15 @@ function validateStateGovernance(machine, states, slug, state, field, add, mount
573
574
  `does not mean what it reads as.`, { field: `${field}.tools.allow` });
574
575
  }
575
576
  }
576
- // Writes the kernel will refuse even though the state's list permits them.
577
- for (const { tool, argMatchers } of entries) {
578
- if ((tool !== "write_file" && tool !== "edit_file") || !argMatchers)
577
+ // Writes the kernel will refuse even though the state's list permits them:
578
+ // every path argument a tool declares as a write or a removal, read from the
579
+ // same table the kernel decides by.
580
+ for (const entry of entries) {
581
+ const { tool, argMatchers } = entry;
582
+ if (!tool || !argMatchers)
579
583
  continue;
580
- for (const filePath of argMatchers.file_path ?? []) {
584
+ const mutating = Object.entries(machine.toolPaths(tool) ?? {}).filter(([, access]) => MUTATING_ACCESSES.has(access));
585
+ for (const [arg, filePath] of mutating.flatMap(([arg]) => (entry.fromPaths ? argMatchers.file_path : argMatchers[arg])?.map((glob) => [arg, glob]) ?? [])) {
581
586
  // The zone checks apply to globs too (`checkpoints/**` shares the prefix),
582
587
  // so they run before the concrete-path kernel probe below.
583
588
  const zone = classifyWorkspacePath(filePath);
@@ -587,7 +592,7 @@ function validateStateGovernance(machine, states, slug, state, field, add, mount
587
592
  }
588
593
  if (filePath.includes("*"))
589
594
  continue;
590
- const verdict = decide(machine, { kind: "tool-call", state: slug, tool, args: { file_path: filePath } }, [], mountPrefixes);
595
+ const verdict = decide(machine, { kind: "tool-call", state: slug, tool, args: { [arg]: filePath } }, [], mountPrefixes);
591
596
  if (verdict.ruleId === "zone.read-only") {
592
597
  add("error", `State '${slug}' allows '${tool}' on '${filePath}', which is in the read-only authored zone; the runtime will block it. Write under '${SESSION_OPEN_DIR}/' instead.`, { field: `${field}.tools.allow` });
593
598
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/validate/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/validate/validate.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,29 @@
1
1
  import type { StructuredTool } from "@langchain/core/tools";
2
+ import { type ToolContext } from "../core/tool-context.js";
3
+ import type { ToolPaths } from "../machine/tool-paths.js";
4
+ /** The tool metadata key a tool's path declaration travels under to assembly. */
5
+ export declare const TOOL_PATHS_METADATA_KEY = "archmax.paths";
2
6
  /** One resolved capability tool, keyed by the id `tools.allow` uses (e.g. `<collection>__<action>`). */
3
7
  export interface AgentToolDescriptor {
4
8
  description: string;
5
9
  /** JSON Schema describing the tool's inputs (LLM-facing). */
6
10
  inputSchema: Record<string, unknown>;
7
- handler: (input: Record<string, unknown>) => Promise<unknown>;
11
+ /**
12
+ * The arguments that name workspace paths, and how the call uses each. Every
13
+ * path rule of the kernel then governs them as it governs the built-in file
14
+ * tools' (zones, mounts, skills, `paths:` guards).
15
+ */
16
+ paths?: ToolPaths;
17
+ /**
18
+ * Runs the tool. `context.workspace` is the turn's workspace, bound to the
19
+ * session — the same one `read_file` resolves through.
20
+ */
21
+ handler: (input: Record<string, unknown>, context: ToolContext) => Promise<unknown>;
8
22
  }
9
23
  /** Adapt a map of resolved capability tools into bindable `StructuredTool`s; per-state `tools.allow` still gates them. */
10
24
  export declare function toolsFromMap(entries: Record<string, AgentToolDescriptor>): StructuredTool[];
25
+ /**
26
+ * The path declarations the host's tools carry in their metadata (set by
27
+ * {@link toolsFromMap} from a descriptor's `paths`), by tool name.
28
+ */
29
+ export declare function toolPathsFromMetadata(tools: readonly StructuredTool[] | undefined): Record<string, ToolPaths>;