@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/assembly/compose.d.ts +8 -1
- package/dist/assembly/compose.js +20 -4
- package/dist/assembly/compose.js.map +1 -1
- package/dist/authoring-skill/archmax-harness/references/workflow-schema.md +4 -0
- package/dist/core/file-operations.js +2 -1
- package/dist/core/file-operations.js.map +1 -1
- package/dist/core/state-listing.d.ts +14 -0
- package/dist/core/state-listing.js +23 -0
- package/dist/core/state-listing.js.map +1 -0
- package/dist/core/workspace-router.d.ts +13 -1
- package/dist/core/workspace-router.js +34 -6
- package/dist/core/workspace-router.js.map +1 -1
- package/dist/core/workspace.d.ts +15 -0
- package/dist/core/workspace.js +28 -0
- package/dist/core/workspace.js.map +1 -1
- package/dist/env.js +92 -1
- package/dist/env.js.map +1 -1
- package/dist/kernel/kernel.d.ts +6 -0
- package/dist/kernel/kernel.js +55 -1
- package/dist/kernel/kernel.js.map +1 -1
- package/dist/machine/allow.d.ts +2 -0
- package/dist/machine/allow.js +11 -7
- package/dist/machine/allow.js.map +1 -1
- package/dist/machine/variables.d.ts +19 -2
- package/dist/machine/variables.js +47 -3
- package/dist/machine/variables.js.map +1 -1
- package/dist/sandbox/ptc-gateway.js +14 -16
- package/dist/sandbox/ptc-gateway.js.map +1 -1
- package/dist/workflow/control-tools.js +10 -1
- package/dist/workflow/control-tools.js.map +1 -1
- package/dist/workflow/governance.js +7 -14
- package/dist/workflow/governance.js.map +1 -1
- package/package.json +1 -1
- package/skills/archmax-harness/references/workflow-schema.md +4 -0
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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"}
|
package/dist/kernel/kernel.d.ts
CHANGED
|
@@ -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;
|
package/dist/kernel/kernel.js
CHANGED
|
@@ -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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"}
|
package/dist/machine/allow.d.ts
CHANGED
|
@@ -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
|
package/dist/machine/allow.js
CHANGED
|
@@ -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
|
-
/**
|
|
77
|
-
|
|
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
|
|
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
|