@archmax-ai/harness 2.0.1 → 2.1.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/env.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { AsyncLocalStorage } from "node:async_hooks";
1
2
  import { existsSync, readFileSync } from "node:fs";
2
3
  import { dirname, resolve } from "node:path";
3
4
  import { fileURLToPath } from "node:url";
@@ -181,6 +182,96 @@ function withAssistantRoleDefault(completions) {
181
182
  }
182
183
  return completions;
183
184
  }
185
+ /**
186
+ * Send each assistant turn's `reasoning_content` back to the provider.
187
+ *
188
+ * A thinking-mode endpoint (DeepSeek, and others on its protocol) returns the
189
+ * model's reasoning as `reasoning_content`, which `@langchain/openai` keeps in
190
+ * `additional_kwargs` — and then leaves out of the next request, so the endpoint
191
+ * refuses it: "The reasoning_content in the thinking mode must be passed back".
192
+ *
193
+ * Once any assistant turn in a request carries reasoning, every assistant turn
194
+ * gets the field: the runtime's own notes (`runtimeNote` in `core/messages.ts`,
195
+ * written at every state change) are assistant turns the model never reasoned
196
+ * for, and they carry an empty one. A request with no reasoning anywhere — any
197
+ * endpoint not in thinking mode — goes out exactly as before.
198
+ */
199
+ function withReasoningPassback(completions) {
200
+ // The provider turns messages into request params in a module-level function
201
+ // with no seam, so the request's reasoning is captured where the messages come
202
+ // in and attached where the params go out; the store keeps concurrent calls on
203
+ // one model (sub-runs share it) apart.
204
+ const reasoning = new AsyncLocalStorage();
205
+ const seam = completions;
206
+ for (const entry of ["_generate", "_streamResponseChunks", "_streamChatModelEvents"]) {
207
+ const method = seam[entry];
208
+ if (typeof method !== "function")
209
+ continue;
210
+ const original = method;
211
+ seam[entry] = (messages, ...rest) => {
212
+ const store = assistantReasoning(messages);
213
+ const result = reasoning.run(store, () => original.call(completions, messages, ...rest));
214
+ // The streaming entries are async generators: their body runs on each
215
+ // `next()`, outside the call that made them, so each step re-enters the store.
216
+ return isAsyncIterator(result) ? stepsWithin(reasoning, store, result) : result;
217
+ };
218
+ }
219
+ const send = seam.completionWithRetry;
220
+ if (typeof send === "function") {
221
+ const original = send;
222
+ seam.completionWithRetry = (request, ...rest) => original.call(completions, withReasoning(request, reasoning.getStore()), ...rest);
223
+ }
224
+ return completions;
225
+ }
226
+ function isAsyncIterator(value) {
227
+ return (typeof value === "object" &&
228
+ value !== null &&
229
+ typeof value.next === "function" &&
230
+ Symbol.asyncIterator in value);
231
+ }
232
+ /** `steps`, with every step taken inside `store`. */
233
+ async function* stepsWithin(storage, store, steps) {
234
+ try {
235
+ for (;;) {
236
+ const step = await storage.run(store, () => steps.next());
237
+ if (step.done)
238
+ return step.value;
239
+ yield step.value;
240
+ }
241
+ }
242
+ finally {
243
+ await steps.return?.();
244
+ }
245
+ }
246
+ /** Each assistant message's `reasoning_content`, in order. */
247
+ function assistantReasoning(messages) {
248
+ return messages.flatMap((message) => {
249
+ const m = message;
250
+ if (m?.getType?.() !== "ai")
251
+ return [];
252
+ const content = m.additional_kwargs?.reasoning_content;
253
+ return [typeof content === "string" ? content : undefined];
254
+ });
255
+ }
256
+ /** `request` with `reasoning` on its assistant params, when there is any to send. */
257
+ function withReasoning(request, reasoning) {
258
+ if (!reasoning?.some((content) => content !== undefined))
259
+ return request;
260
+ const params = request.messages;
261
+ if (!Array.isArray(params))
262
+ return request;
263
+ const assistant = params.filter((param) => param.role === "assistant");
264
+ // One param per assistant message is the provider's mapping; a message it
265
+ // splits (audio) breaks the pairing, and nothing is attached rather than
266
+ // attaching reasoning to the wrong turn.
267
+ if (assistant.length !== reasoning.length)
268
+ return request;
269
+ let next = 0;
270
+ return {
271
+ ...request,
272
+ messages: params.map((param) => param.role === "assistant" ? { ...param, reasoning_content: reasoning[next++] ?? "" } : param),
273
+ };
274
+ }
184
275
  /** The `role` a provider named on a delta/message, if it named a non-empty one. */
185
276
  function stringRole(payload) {
186
277
  const role = payload?.role;
@@ -225,7 +316,7 @@ export function createChatModel(env = loadEnv()) {
225
316
  // be dropped by it.
226
317
  return new ChatOpenAI({
227
318
  ...fields,
228
- completions: withAssistantRoleDefault(new ChatOpenAICompletions(fields)),
319
+ completions: withReasoningPassback(withAssistantRoleDefault(new ChatOpenAICompletions(fields))),
229
320
  });
230
321
  }
231
322
  /**
package/dist/env.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"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"}
@@ -56,6 +56,12 @@ export type ProposedAction = {
56
56
  * turn it is in; absent means an ordinary turn.
57
57
  */
58
58
  replyOnly?: boolean;
59
+ /**
60
+ * The session the call runs in, whose store folder is the workspace root.
61
+ * Supplied by the caller that knows it; a tool path naming it as its
62
+ * first segment is then refused ({@link sessionFolderRule}).
63
+ */
64
+ sessionId?: string;
59
65
  } | {
60
66
  kind: "transition";
61
67
  from: string;
@@ -2,7 +2,7 @@ import { ADVANCE_TOOL, DEFAULT_TOOLS, HARNESS_CONTROL_TOOLS, EVAL_TOOL, SET_VARI
2
2
  import { FORBID_ANY_TOOL } from "../machine/spec-schema.js";
3
3
  import { argsSatisfy, normalizeAllowEntry, pathGuardMatches, } from "../machine/allow.js";
4
4
  import { BUILT_IN_TOOL_PATH_TABLE, declaredPathsOf, malformedPathArgs, MUTATING_ACCESSES, OFFLOAD_ACCESSES, pathArgNamesOf, pathValuesOf, SCRATCHPAD_ACCESSES, } from "../machine/tool-paths.js";
5
- import { canonicalizeRelPath } from "../core/workspace.js";
5
+ import { canonicalizeRelPath, pathFormProblem } from "../core/workspace.js";
6
6
  import { classifyWorkspacePath, mountNameOf, SESSION_INTERNAL_DIRS, SESSION_OFFLOAD_DIRS, SESSION_OPEN_DIR, } from "../core/zones.js";
7
7
  import { NO_MOUNTS } from "../core/mounts.js";
8
8
  import { NO_SKILLS, skillOfPath } from "../core/skills.js";
@@ -630,6 +630,58 @@ const pathArgumentRule = (action, api) => {
630
630
  warn: true,
631
631
  };
632
632
  };
633
+ /**
634
+ * Safety rule: a declared path is spelled plainly. A backslash, a control or
635
+ * format character, or whitespace at a segment's edge is refused
636
+ * (`core/workspace.ts`, `pathFormProblem`). The kernel classifies
637
+ * `finance\q3.xlsx` as a run path, while a host that folds `\` to `/` or trims
638
+ * the path would read the `finance` mount, so such a path is refused rather
639
+ * than normalized. The router refuses the same characters.
640
+ */
641
+ const pathFormRule = (action, api) => {
642
+ if (action.kind !== "tool-call")
643
+ return null;
644
+ for (const path of pathsOf(action, api)) {
645
+ const problem = pathFormProblem(path.path);
646
+ if (!problem)
647
+ continue;
648
+ const several = Object.keys(toolPathsOf(action.tool, api) ?? {}).length > 1;
649
+ return {
650
+ decision: "block",
651
+ ruleId: "tool.path-form",
652
+ reason: `[workflow] BLOCKED: '${action.tool}' on ${JSON.stringify(path.path)}${several ? ` (${path.arg})` : ""} ` +
653
+ `is not a plain workspace path: ${problem}. Separate segments with '/' and leave no ` +
654
+ `spaces or invisible characters at either end of a name, e.g. '${SESSION_OPEN_DIR}/notes.md'.`,
655
+ warn: true,
656
+ };
657
+ }
658
+ return null;
659
+ };
660
+ /**
661
+ * Safety rule: the session's own store folder is not addressable by name. The
662
+ * session zone passes a path that starts with the bound session id through
663
+ * unprefixed, so the runtime can address `<session>/checkpoints/` itself. A
664
+ * tool path spelled that way (`s1/checkpoints/x.json`, `s1/./checkpoints/x.json`)
665
+ * would reach the real checkpoint folder while classifying as a run path. Only
666
+ * fires when the caller supplies the session id; the runtime's own writers do
667
+ * not go through the kernel.
668
+ */
669
+ const sessionFolderRule = (action, api) => {
670
+ if (action.kind !== "tool-call" || !action.sessionId)
671
+ return null;
672
+ const { sessionId } = action;
673
+ const path = pathsOf(action, api).find((p) => canonicalizeRelPath(p.path).path.split("/")[0] === sessionId);
674
+ if (!path)
675
+ return null;
676
+ return {
677
+ decision: "block",
678
+ ruleId: "zone.session-folder",
679
+ reason: `[workflow] BLOCKED: ${subject(action, path, api)} names this session's own store folder ` +
680
+ `('${sessionId}/'). Workspace paths already start in this session: write ` +
681
+ `'${SESSION_OPEN_DIR}/notes.md' for a file of your own.`,
682
+ warn: true,
683
+ };
684
+ };
633
685
  /**
634
686
  * Safety rule: the authoring plane is not addressable. Every
635
687
  * {@link AUTHORING_PREFIXES} prefix (`workflows/**`) has no route
@@ -672,6 +724,8 @@ const governancePlaneRule = (action, api) => {
672
724
  const SAFETY_RULES = [
673
725
  // First: every path rule below reads the declared paths, which this vouches for.
674
726
  pathArgumentRule,
727
+ pathFormRule,
728
+ sessionFolderRule,
675
729
  governancePlaneRule,
676
730
  scriptSkillOnlyRule,
677
731
  replyOnlyRule,
@@ -1 +1 @@
1
- {"version":3,"file":"kernel.js","sourceRoot":"","sources":["../../src/kernel/kernel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kernel.js","sourceRoot":"","sources":["../../src/kernel/kernel.ts"],"names":[],"mappings":"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"}
@@ -93,6 +93,8 @@ export interface GuardVariableReference {
93
93
  arg: string;
94
94
  glob: string;
95
95
  reference: VariableReference;
96
+ /** The entry is the `paths:` shorthand, so the reference sits in a path guard on every path argument. */
97
+ fromPaths: boolean;
96
98
  }
97
99
  /**
98
100
  * Every `${{…}}` reference in the spec's tool-argument guards, with where it was
@@ -68,20 +68,24 @@ export function argsSatisfy(argMatchers, args, variables, onUnresolved, kinds =
68
68
  if (!argMatchers)
69
69
  return true;
70
70
  return Object.entries(argMatchers).every(([name, globs]) => {
71
- const resolved = resolveGlobs(globs, variables, onUnresolved);
72
71
  const as = kinds.pathArgs.includes(name) ? "path" : kinds.side === "deny" ? "text-or-path" : "text";
72
+ const resolved = resolveGlobs(globs, variables, onUnresolved, as === "path");
73
73
  return resolved !== null && valueMatches(resolvePath(args, name.split(".")), resolved, as);
74
74
  });
75
75
  }
76
- /** A guard's globs with every `${{…}}` resolved, or `null` (reported) when one cannot be. */
77
- function resolveGlobs(globs, variables, onUnresolved) {
76
+ /**
77
+ * A guard's globs with every `${{…}}` resolved, or `null` (reported) when one
78
+ * cannot be. A path guard (`path`) also refuses a reference whose value names
79
+ * no path (`isRootPathValue`), which would widen `${{dir}}/**` to `**`.
80
+ */
81
+ function resolveGlobs(globs, variables, onUnresolved, path = false) {
78
82
  const resolved = [];
79
83
  for (const glob of globs) {
80
84
  if (!hasVariableReference(glob)) {
81
85
  resolved.push(glob);
82
86
  continue;
83
87
  }
84
- const result = resolveGlob(glob, variables ?? {});
88
+ const result = resolveGlob(glob, variables ?? {}, { path });
85
89
  if (!result.ok) {
86
90
  onUnresolved?.({ reference: result.reference, detail: result.detail });
87
91
  return null;
@@ -111,7 +115,7 @@ export function pathMatchers(entry, pathArgs) {
111
115
  * fails.
112
116
  */
113
117
  export function pathGuardMatches(entry, values, mode, variables, onUnresolved) {
114
- const globs = resolveGlobs(entry.argMatchers?.[DEFAULT_PATH_ARG] ?? [], variables, onUnresolved);
118
+ const globs = resolveGlobs(entry.argMatchers?.[DEFAULT_PATH_ARG] ?? [], variables, onUnresolved, true);
115
119
  if (globs === null)
116
120
  return null;
117
121
  const test = (value) => valueMatches(value, globs);
@@ -126,13 +130,13 @@ export function guardReferences(spec) {
126
130
  const found = [];
127
131
  const collect = (entries, state) => {
128
132
  for (const entry of entries ?? []) {
129
- const { tool, argMatchers } = normalizeAllowEntry(entry);
133
+ const { tool, argMatchers, fromPaths } = normalizeAllowEntry(entry);
130
134
  if (!argMatchers)
131
135
  continue;
132
136
  for (const [arg, globs] of Object.entries(argMatchers)) {
133
137
  for (const glob of globs) {
134
138
  for (const ref of parseReferences(glob)) {
135
- found.push({ state, tool, arg, glob, reference: ref });
139
+ found.push({ state, tool, arg, glob, reference: ref, fromPaths: fromPaths === true });
136
140
  }
137
141
  }
138
142
  }
@@ -1 +1 @@
1
- {"version":3,"file":"allow.js","sourceRoot":"","sources":["../../src/machine/allow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"allow.js","sourceRoot":"","sources":["../../src/machine/allow.ts"],"names":[],"mappings":"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"}
@@ -110,7 +110,7 @@ export interface VariableReference {
110
110
  index: number;
111
111
  }
112
112
  /** Why a reference could not be resolved. Each is a fail-closed outcome. */
113
- export type UnresolvedReason = "malformed" | "invalid-name" | "unset" | "path-missing" | "non-scalar";
113
+ export type UnresolvedReason = "malformed" | "invalid-name" | "unset" | "path-missing" | "non-scalar" | "root-path";
114
114
  export interface ResolvedGlob {
115
115
  ok: true;
116
116
  /** The glob with every reference substituted and glob-escaped. */
@@ -153,13 +153,22 @@ export declare function resolvePath(value: unknown, path: string[]): unknown;
153
153
  * literal text; without it a variable holding `*` or `{a,b}` widens the guard.
154
154
  */
155
155
  export declare function escapeGlobLiteral(value: string): string;
156
+ /**
157
+ * Whether a value substituted as whole path segments names no path at all:
158
+ * `""`, `.`, `/`, `//` or `./`. Placed as a segment of a path guard
159
+ * (`${{dir}}/**`), such a value drops out and the guard covers the workspace
160
+ * root, so a path guard refuses to resolve it.
161
+ */
162
+ export declare function isRootPathValue(value: unknown): boolean;
156
163
  /**
157
164
  * Substitute every reference in a glob against the run's variables. Returns the
158
165
  * resolved pattern, or the first unresolved reference and why — a glob with an
159
166
  * unresolved reference matches nothing at all, so the caller must not fall back
160
167
  * to the original text.
161
168
  */
162
- export declare function resolveGlob(glob: string, variables: VariableStore): GlobResolution;
169
+ export declare function resolveGlob(glob: string, variables: VariableStore, options?: {
170
+ path?: boolean;
171
+ }): GlobResolution;
163
172
  /**
164
173
  * Substitute every reference in a piece of **prose** (a sub-workflow prompt)
165
174
  * verbatim: a prompt is text a model reads, where glob-escaping would teach it
@@ -198,3 +207,11 @@ export declare function describeGlob(glob: string, variables: VariableStore): st
198
207
  * enforcement is the runtime failure when the guard cannot resolve.
199
208
  */
200
209
  export declare function unguaranteedReferenceWarnings(machine: Pick<WorkflowMachine, "spec">, seededVariables: VariableStore): string[];
210
+ /**
211
+ * The variables a path guard substitutes whole (`${{dir}}/**`, `${{dir}}`), by
212
+ * name: those `archmax_set_variables` refuses to set to a value naming no path
213
+ * (`isRootPathValue`), which would leave the guard unable to resolve. A
214
+ * reference into a variable (`${{cfg.dir}}`) is not listed; the guard itself
215
+ * still fails closed on it.
216
+ */
217
+ export declare function pathGuardVariables(machine: Pick<WorkflowMachine, "spec" | "toolPaths">): Set<string>;
@@ -9,7 +9,9 @@
9
9
  * and traversal reads own properties only (`resolvePath`), so `tags.length` and
10
10
  * `constructor` never resolve.
11
11
  */
12
+ import { canonicalizeRelPath } from "../core/workspace.js";
12
13
  import { guardReferences } from "./allow.js";
14
+ import { pathArgNamesOf } from "./tool-paths.js";
13
15
  import { SET_VARIABLES_TOOL } from "./tool-names.js";
14
16
  import { declaredVariableNames } from "./triggers.js";
15
17
  /** The shape a run-variable name must take: a snake_case identifier, never dotted. */
@@ -256,16 +258,27 @@ function explain(reason, ref) {
256
258
  return `${target} does not resolve — the value has no such path`;
257
259
  case "non-scalar":
258
260
  return `${target} resolves to a non-scalar value; only strings, numbers and booleans can be substituted into a guard`;
261
+ case "root-path":
262
+ return `${target} resolves to an empty path or the workspace root, which would widen the path guard to every path`;
259
263
  }
260
264
  }
265
+ /**
266
+ * Whether a value substituted as whole path segments names no path at all:
267
+ * `""`, `.`, `/`, `//` or `./`. Placed as a segment of a path guard
268
+ * (`${{dir}}/**`), such a value drops out and the guard covers the workspace
269
+ * root, so a path guard refuses to resolve it.
270
+ */
271
+ export function isRootPathValue(value) {
272
+ return typeof value === "string" && canonicalizeRelPath(value).path === "";
273
+ }
261
274
  /**
262
275
  * Substitute every reference in a glob against the run's variables. Returns the
263
276
  * resolved pattern, or the first unresolved reference and why — a glob with an
264
277
  * unresolved reference matches nothing at all, so the caller must not fall back
265
278
  * to the original text.
266
279
  */
267
- export function resolveGlob(glob, variables) {
268
- return substitute(glob, variables, escapeGlobLiteral);
280
+ export function resolveGlob(glob, variables, options = {}) {
281
+ return substitute(glob, variables, escapeGlobLiteral, options.path === true);
269
282
  }
270
283
  /**
271
284
  * Shared substitution. `render` decides how a resolved value enters the output:
@@ -273,7 +286,7 @@ export function resolveGlob(glob, variables) {
273
286
  * disclosure (where the result is *prose the model reads*) — showing an author's
274
287
  * email as `a\@b.c` would teach the model to pass the backslash.
275
288
  */
276
- function substitute(glob, variables, render) {
289
+ function substitute(glob, variables, render, path = false) {
277
290
  const refs = scan(glob);
278
291
  if (refs.length === 0)
279
292
  return { ok: true, pattern: glob };
@@ -308,11 +321,22 @@ function substitute(glob, variables, render) {
308
321
  detail: explain("non-scalar", ref),
309
322
  };
310
323
  }
324
+ // In a path guard, a reference standing for whole segments must name a
325
+ // path: an empty value would turn `${{dir}}/**` into `**`.
326
+ if (path && wholeSegments(glob, ref) && isRootPathValue(String(resolved))) {
327
+ return { ok: false, reason: "root-path", reference: ref.raw, detail: explain("root-path", ref) };
328
+ }
311
329
  out += glob.slice(cursor, ref.index) + render(String(resolved));
312
330
  cursor = ref.index + ref.raw.length;
313
331
  }
314
332
  return { ok: true, pattern: out + glob.slice(cursor) };
315
333
  }
334
+ /** Whether a reference fills whole path segments of a glob: bounded by `/` or the glob's ends. */
335
+ function wholeSegments(glob, ref) {
336
+ const before = glob[ref.index - 1];
337
+ const after = glob[ref.index + ref.raw.length];
338
+ return (before === undefined || before === "/") && (after === undefined || after === "/");
339
+ }
316
340
  /**
317
341
  * Substitute every reference in a piece of **prose** (a sub-workflow prompt)
318
342
  * verbatim: a prompt is text a model reads, where glob-escaping would teach it
@@ -416,4 +440,24 @@ export function unguaranteedReferenceWarnings(machine, seededVariables) {
416
440
  }
417
441
  return messages;
418
442
  }
443
+ /**
444
+ * The variables a path guard substitutes whole (`${{dir}}/**`, `${{dir}}`), by
445
+ * name: those `archmax_set_variables` refuses to set to a value naming no path
446
+ * (`isRootPathValue`), which would leave the guard unable to resolve. A
447
+ * reference into a variable (`${{cfg.dir}}`) is not listed; the guard itself
448
+ * still fails closed on it.
449
+ */
450
+ export function pathGuardVariables(machine) {
451
+ const names = new Set();
452
+ for (const ref of guardReferences(machine.spec)) {
453
+ const { reference } = ref;
454
+ if (reference.path.length > 0 || !wholeSegments(ref.glob, reference))
455
+ continue;
456
+ const pathArg = ref.fromPaths ||
457
+ (ref.tool !== undefined && pathArgNamesOf(ref.tool, machine.toolPaths(ref.tool)).includes(ref.arg));
458
+ if (pathArg)
459
+ names.add(reference.name);
460
+ }
461
+ return names;
462
+ }
419
463
  //# sourceMappingURL=variables.js.map