deepclause-sdk 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +83 -12
- package/dist/agent.d.ts +14 -1
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +117 -9
- package/dist/agent.js.map +1 -1
- package/dist/cli/config.d.ts +86 -26
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js +15 -0
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/index.js +38 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/repl.d.ts +27 -0
- package/dist/cli/repl.d.ts.map +1 -1
- package/dist/cli/repl.js +191 -5
- package/dist/cli/repl.js.map +1 -1
- package/dist/cli/run.d.ts.map +1 -1
- package/dist/cli/run.js +16 -0
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/visualize.d.ts +4 -0
- package/dist/cli/visualize.d.ts.map +1 -1
- package/dist/cli/visualize.js +29 -4
- package/dist/cli/visualize.js.map +1 -1
- package/dist/prolog/bridge.d.ts +3 -1
- package/dist/prolog/bridge.d.ts.map +1 -1
- package/dist/prolog/bridge.js +2 -0
- package/dist/prolog/bridge.js.map +1 -1
- package/dist/prolog/loader.d.ts +32 -0
- package/dist/prolog/loader.d.ts.map +1 -1
- package/dist/prolog/loader.js +87 -0
- package/dist/prolog/loader.js.map +1 -1
- package/dist/prolog-src/deepclause_mi.pl +1217 -120
- package/dist/repl/agent.d.ts +33 -1
- package/dist/repl/agent.d.ts.map +1 -1
- package/dist/repl/agent.js +91 -8
- package/dist/repl/agent.js.map +1 -1
- package/dist/repl/backend.d.ts +31 -0
- package/dist/repl/backend.d.ts.map +1 -1
- package/dist/repl/backend.js +122 -77
- package/dist/repl/backend.js.map +1 -1
- package/dist/repl/harness-tools.d.ts +49 -2
- package/dist/repl/harness-tools.d.ts.map +1 -1
- package/dist/repl/harness-tools.js +87 -7
- package/dist/repl/harness-tools.js.map +1 -1
- package/dist/repl/imagegen.d.ts +29 -0
- package/dist/repl/imagegen.d.ts.map +1 -0
- package/dist/repl/imagegen.js +84 -0
- package/dist/repl/imagegen.js.map +1 -0
- package/dist/repl/index.d.ts +20 -2
- package/dist/repl/index.d.ts.map +1 -1
- package/dist/repl/index.js +6 -0
- package/dist/repl/index.js.map +1 -1
- package/dist/repl/model-resolver.d.ts +59 -0
- package/dist/repl/model-resolver.d.ts.map +1 -0
- package/dist/repl/model-resolver.js +156 -0
- package/dist/repl/model-resolver.js.map +1 -0
- package/dist/repl/render.d.ts +36 -2
- package/dist/repl/render.d.ts.map +1 -1
- package/dist/repl/render.js +175 -17
- package/dist/repl/render.js.map +1 -1
- package/dist/repl/session.d.ts +129 -4
- package/dist/repl/session.d.ts.map +1 -1
- package/dist/repl/session.js +380 -17
- package/dist/repl/session.js.map +1 -1
- package/dist/repl/tool-arguments.d.ts +36 -0
- package/dist/repl/tool-arguments.d.ts.map +1 -0
- package/dist/repl/tool-arguments.js +123 -0
- package/dist/repl/tool-arguments.js.map +1 -0
- package/dist/repl/toolset.d.ts +28 -1
- package/dist/repl/toolset.d.ts.map +1 -1
- package/dist/repl/toolset.js +52 -4
- package/dist/repl/toolset.js.map +1 -1
- package/dist/repl/tui/transcript.d.ts +2 -0
- package/dist/repl/tui/transcript.d.ts.map +1 -1
- package/dist/repl/tui/transcript.js +16 -0
- package/dist/repl/tui/transcript.js.map +1 -1
- package/dist/runner.d.ts +44 -2
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +293 -33
- package/dist/runner.js.map +1 -1
- package/dist/system/assets/docs/AGENT_PROMPT.md +1000 -44
- package/dist/system/assets/docs/DML_AUTHORING.md +96 -17
- package/dist/system/assets/docs/DML_REFERENCE.md +652 -39
- package/dist/system/assets/docs/PROLOG_SNIPPETS.md +45 -1
- package/dist/system/assets/docs/TASK_PROMPT.md +2 -0
- package/dist/system/environment.d.ts +36 -0
- package/dist/system/environment.d.ts.map +1 -0
- package/dist/system/environment.js +81 -0
- package/dist/system/environment.js.map +1 -0
- package/dist/system/runtime/shell-manager.d.ts +40 -2
- package/dist/system/runtime/shell-manager.d.ts.map +1 -1
- package/dist/system/runtime/shell-manager.js +82 -16
- package/dist/system/runtime/shell-manager.js.map +1 -1
- package/dist/system/runtime/shell-tool-events.js +25 -1
- package/dist/system/runtime/shell-tool-events.js.map +1 -1
- package/dist/types.d.ts +76 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/visualize/ascii.d.ts +55 -0
- package/dist/visualize/ascii.d.ts.map +1 -0
- package/dist/visualize/ascii.js +242 -0
- package/dist/visualize/ascii.js.map +1 -0
- package/dist/visualize/display.d.ts +24 -0
- package/dist/visualize/display.d.ts.map +1 -0
- package/dist/visualize/display.js +29 -0
- package/dist/visualize/display.js.map +1 -0
- package/dist/visualize/graphics.d.ts +35 -0
- package/dist/visualize/graphics.d.ts.map +1 -0
- package/dist/visualize/graphics.js +96 -0
- package/dist/visualize/graphics.js.map +1 -0
- package/dist/visualize/image.d.ts +38 -0
- package/dist/visualize/image.d.ts.map +1 -0
- package/dist/visualize/image.js +95 -0
- package/dist/visualize/image.js.map +1 -0
- package/dist/visualize/index.d.ts +7 -0
- package/dist/visualize/index.d.ts.map +1 -1
- package/dist/visualize/index.js +9 -0
- package/dist/visualize/index.js.map +1 -1
- package/dist/visualize/raster.d.ts +23 -0
- package/dist/visualize/raster.d.ts.map +1 -0
- package/dist/visualize/raster.js +47 -0
- package/dist/visualize/raster.js.map +1 -0
- package/dist/visualize/svg.d.ts +39 -0
- package/dist/visualize/svg.d.ts.map +1 -0
- package/dist/visualize/svg.js +148 -0
- package/dist/visualize/svg.js.map +1 -0
- package/dist/visualize/transcode.d.ts +13 -0
- package/dist/visualize/transcode.d.ts.map +1 -0
- package/dist/visualize/transcode.js +40 -0
- package/dist/visualize/transcode.js.map +1 -0
- package/docs/images/repl.png +0 -0
- package/package.json +10 -6
- package/src/prolog-src/deepclause_mi.pl +1217 -120
- package/dist/compaction.d.ts +0 -98
- package/dist/compaction.d.ts.map +0 -1
- package/dist/compaction.js +0 -471
- package/dist/compaction.js.map +0 -1
- package/dist/repl/tools.d.ts +0 -53
- package/dist/repl/tools.d.ts.map +0 -1
- package/dist/repl/tools.js +0 -307
- package/dist/repl/tools.js.map +0 -1
- package/dist/system/assets/compactors/default-loop-compactor.dml +0 -43
- package/dist/system/assets/compactors/default-session-compactor.dml +0 -30
- package/dist/system/assets/docs/META_PROMPT.md +0 -68
|
@@ -17,12 +17,22 @@ transformation is open-ended (`DML_AUTHORING.md` §0).
|
|
|
17
17
|
| Atom case | `downcase_atom('ABC', L)` / `upcase_atom('abc', U)` | `abc` / `ABC` |
|
|
18
18
|
| Collapse whitespace | `normalize_space(string(T), " a b ")` | `a b` |
|
|
19
19
|
| Build a string | `format(string(S), "~w/~w", [A, B])` | `a/b` |
|
|
20
|
+
| Run a command with data | `exec(bash(argv: ["python3", Script, Text]), R)` | args quoted by the runtime |
|
|
20
21
|
| Number <-> string | `number_string(42, S)` / `atom_number("42", N)` | `"42"` / `42` |
|
|
21
22
|
| Substring test | `sub_string(S, _, _, _, "needle")` | true |
|
|
22
23
|
| Substring test (atom) | `sub_atom(A, _, _, _, needle)` | true |
|
|
23
24
|
| Concat | `string_concat("a", "b", S)` | `ab` |
|
|
24
25
|
| Char list | `string_chars("abc", L)` | `[a,b,c]` |
|
|
25
26
|
| JSON string -> dict | `atom_json_dict('{"a":[1,2]}', D, []), get_dict(a, D, A)` | `[1,2]` |
|
|
27
|
+
| dict -> JSON string | `atom_json_dict(S, x{a:1}, [])` (`atom_json_dict/3` is bidirectional) | `"{\"a\":1}"` |
|
|
28
|
+
| JSON path | `json_get(D, "results.0.title", T)` / `[results,0,title]` | the nested value |
|
|
29
|
+
| JSON with default | `json_get(D, "results.0.year", "unknown", T)` | default when absent |
|
|
30
|
+
| JSON project | `json_gets(D, "results.*.title", Ts)` / `"a.*.b.*.c"` flattens | list of values |
|
|
31
|
+
| JSON set | `json_put(D, "meta.reviewed", yes, D2)` (keys only, not indices) | updated dict |
|
|
32
|
+
| Parse with a DCG | `string_chars(T, Cs), phrase(grammar(X), Cs)` | binds `X` |
|
|
33
|
+
| Build from a template | `pattern("Name: $name", T, [name="Ada"])` | `"Name: Ada"` |
|
|
34
|
+
| Parse a template | `pattern("Name: $name", "Name: Ada", B)` | `[name="Ada"]` |
|
|
35
|
+
| Parse a typed slot | `pattern("n=$n:int", "n=42", B)` | `[n=42]` |
|
|
26
36
|
|
|
27
37
|
In `task/`, `output/`, `answer/` description strings, `{Var}` interpolates the
|
|
28
38
|
bound value; in `format/3` use `~w`.
|
|
@@ -80,13 +90,36 @@ pattern with `(?i)` for case-insensitive matching.
|
|
|
80
90
|
| Group by key | `group_pairs_by_key([a-1,a-2,b-3], G)` | `[a-[1,2], b-[3]]` |
|
|
81
91
|
|
|
82
92
|
`sort/4`'s first argument is the **argument position** to sort on (here `2` =
|
|
83
|
-
the value in each `Key-Value`), not a sort mode.
|
|
93
|
+
the value in each `Key-Value`), not a sort mode. It addresses arguments of a
|
|
94
|
+
compound, so it does **not** work on dicts — use `predsort/3` for those.
|
|
95
|
+
|
|
96
|
+
More, all verified:
|
|
97
|
+
|
|
98
|
+
| Task | Snippet | Result |
|
|
99
|
+
|---|---|---|
|
|
100
|
+
| Reverse | `reverse([1,2,3], L)` | `[3,2,1]` |
|
|
101
|
+
| 1-based index | `nth1(1, [a,b,c], E)` | `a` |
|
|
102
|
+
| Remove one occurrence | `select(b, [a,b,c], L)` | `[a,c]` |
|
|
103
|
+
| Membership, once | `memberchk(b, [a,b,c])` | true (no choice point) |
|
|
104
|
+
| Generate blanks | `length(L, 3)` | `[_,_,_]` |
|
|
105
|
+
| Zip | `pairs_keys_values(P, [a,b], [1,2])` | `[a-1,b-2]` |
|
|
106
|
+
| Unzip | `pairs_keys/2` / `pairs_values/2` | `[a,b]` / `[1,2]` |
|
|
107
|
+
| Keep only integers | `convlist([X,Y]>>(integer(X), Y is X*2), [1,a,3], L)` | `[2,6]` |
|
|
108
|
+
| All of a type | `maplist(integer, [1,2,3])` | true |
|
|
109
|
+
| Map over two lists | `maplist([A,B,C]>>(C is A+B), [1,2], [10,20], L)` | `[11,22]` |
|
|
110
|
+
| Custom sort | `predsort([O,A,B]>>compare(O,A,B), [3,1,2], L)` | `[1,2,3]` |
|
|
111
|
+
| Max by aggregate | `aggregate_all(max(N), member(N,[1,9,3]), M)` | `9` |
|
|
112
|
+
| Drop empty strings | `exclude(==(""), ["",a,""], L)` | `[a]` |
|
|
113
|
+
| Field from dicts | `json_gets(D, "rows.*.name", L)` | the field values |
|
|
114
|
+
| Stable pairs sort | `msort([b-1,a-2,a-1], L)` | `[a-1,a-2,b-1]` |
|
|
84
115
|
|
|
85
116
|
## Dicts and data
|
|
86
117
|
|
|
87
118
|
| Task | Snippet |
|
|
88
119
|
|---|---|
|
|
89
120
|
| Read a field | `D = point{x:1,y:2}, get_dict(x, D, X)` |
|
|
121
|
+
| Model field, any key form | `dict_field(D, "affiliation", A)` — atom or string key, any case, `_`/`-`/space ignored; fails if absent |
|
|
122
|
+
| Model field with default | `dict_field(D, country, "unstated", C)` |
|
|
90
123
|
| Keys | `dict_keys(a{x:1,y:2}, K)` → `[x,y]` |
|
|
91
124
|
| Add/replace a field | `put_dict(score, a{name:"n"}, 9, D2)` |
|
|
92
125
|
|
|
@@ -106,6 +139,17 @@ the value in each `Key-Value`), not a sort mode.
|
|
|
106
139
|
to collect all matches.
|
|
107
140
|
- `re_match/3` takes an options list; use `re_matchsub/4` for capture groups.
|
|
108
141
|
- `sort/4`'s first argument is the argument position, not a mode.
|
|
142
|
+
- Dict keys must be **atoms**: `get_dict("name", D)` raises
|
|
143
|
+
`type_error(dict-key, name)` rather than failing, and `x{"a":1}` is a syntax
|
|
144
|
+
error. Use `dict_field/3,4` for model-produced dicts, whose key spelling varies.
|
|
145
|
+
- `phrase/2` takes a **list**: `phrase(g(X), "text")` raises
|
|
146
|
+
`type_error(list, "text")`. Convert first with `string_chars/2`.
|
|
147
|
+
- **`setof/3` and `bagof/3` fail on an empty solution set**; `findall/3` gives `[]`.
|
|
148
|
+
- **`sort/2` removes duplicates.** `msort/2` keeps them and is stable.
|
|
149
|
+
- `max_list([])` fails; `sum_list([a,b])` raises a type error. Guard first.
|
|
150
|
+
- **Not available in this build:** `nth0/4` (replace), `numlist/4` (step),
|
|
151
|
+
`chunk/3`, `rename_keys/3`.
|
|
152
|
+
- A missing `json_get/3` path **fails**; use `json_get/4` for a default.
|
|
109
153
|
- A top-level `:- use_module(library(clpfd)).` is required before `#=`/`ins`.
|
|
110
154
|
- Untrusted data (URLs, file contents, user text) goes through files/stdin,
|
|
111
155
|
never interpolated into a shell command.
|
|
@@ -20,6 +20,8 @@ You are an AI agent executing a subtask inside a larger DeepClause workflow.
|
|
|
20
20
|
2. If you are missing information, call exactly one relevant tool.
|
|
21
21
|
3. If the subtask cannot be completed with the available context and tools, call `finish(false)`.
|
|
22
22
|
|
|
23
|
+
{ENVIRONMENT_SECTION}
|
|
24
|
+
|
|
23
25
|
## Anti-Loop Rules
|
|
24
26
|
|
|
25
27
|
{STALL_GUIDANCE}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The environment and clock block put in front of the model.
|
|
3
|
+
*
|
|
4
|
+
* Two surfaces can run code — the agent's own tools and DML's `exec(bash(...))` —
|
|
5
|
+
* and they must not disagree about what a path means or whether anything is
|
|
6
|
+
* isolated. So the facts are stated once, from the same resolution the runtime
|
|
7
|
+
* uses, instead of being left for the model to infer. This is also the only place
|
|
8
|
+
* the model learns the date: without it a model reasons from its training cutoff.
|
|
9
|
+
*
|
|
10
|
+
* Both blocks are meant to be appended **last** in a system prompt. The prompt is
|
|
11
|
+
* rebuilt for every model call, so a block that changes per turn invalidates any
|
|
12
|
+
* prefix caching from that point; keeping the stable documentation ahead of it
|
|
13
|
+
* preserves the cacheable head.
|
|
14
|
+
*/
|
|
15
|
+
import { type ExecutionEnvironment } from './runtime/shell-manager.js';
|
|
16
|
+
export interface EnvironmentBlockOptions {
|
|
17
|
+
workspacePath?: string;
|
|
18
|
+
environment?: ExecutionEnvironment;
|
|
19
|
+
/** Injectable clock, so tests do not depend on the wall calendar. */
|
|
20
|
+
now?: Date;
|
|
21
|
+
}
|
|
22
|
+
/** `2026-02-14 14:31 (Saturday, Europe/Berlin, CET)` in the host's timezone. */
|
|
23
|
+
export declare function describeNow(now?: Date): string;
|
|
24
|
+
/**
|
|
25
|
+
* The `EXECUTION ENVIRONMENT` block.
|
|
26
|
+
*
|
|
27
|
+
* Everything here is conditional on the effective backend, and says so. The one
|
|
28
|
+
* claim that does *not* depend on a sandbox is that only the workspace reaches
|
|
29
|
+
* the host: that is the WASM filesystem's mount, which is always there.
|
|
30
|
+
*/
|
|
31
|
+
export declare function describeEnvironment(options?: EnvironmentBlockOptions): string;
|
|
32
|
+
/** `NOW` — always recomputed, so a long session does not read yesterday's date. */
|
|
33
|
+
export declare function describeCurrentTime(now?: Date): string;
|
|
34
|
+
/** Both blocks, in the order they should be appended. */
|
|
35
|
+
export declare function describeRuntimeContext(options?: EnvironmentBlockOptions): string;
|
|
36
|
+
//# sourceMappingURL=environment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/system/environment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAE/F,MAAM,WAAW,uBAAuB;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC,qEAAqE;IACrE,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAED,gFAAgF;AAChF,wBAAgB,WAAW,CAAC,GAAG,GAAE,IAAiB,GAAG,MAAM,CAoB1D;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,uBAA4B,GAAG,MAAM,CAoCjF;AAED,mFAAmF;AACnF,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,IAAiB,GAAG,MAAM,CAOlE;AAED,yDAAyD;AACzD,wBAAgB,sBAAsB,CAAC,OAAO,GAAE,uBAA4B,GAAG,MAAM,CAEpF"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The environment and clock block put in front of the model.
|
|
3
|
+
*
|
|
4
|
+
* Two surfaces can run code — the agent's own tools and DML's `exec(bash(...))` —
|
|
5
|
+
* and they must not disagree about what a path means or whether anything is
|
|
6
|
+
* isolated. So the facts are stated once, from the same resolution the runtime
|
|
7
|
+
* uses, instead of being left for the model to infer. This is also the only place
|
|
8
|
+
* the model learns the date: without it a model reasons from its training cutoff.
|
|
9
|
+
*
|
|
10
|
+
* Both blocks are meant to be appended **last** in a system prompt. The prompt is
|
|
11
|
+
* rebuilt for every model call, so a block that changes per turn invalidates any
|
|
12
|
+
* prefix caching from that point; keeping the stable documentation ahead of it
|
|
13
|
+
* preserves the cacheable head.
|
|
14
|
+
*/
|
|
15
|
+
import { SANDBOX_WORKSPACE_PATH } from './runtime/shell-manager.js';
|
|
16
|
+
/** `2026-02-14 14:31 (Saturday, Europe/Berlin, CET)` in the host's timezone. */
|
|
17
|
+
export function describeNow(now = new Date()) {
|
|
18
|
+
const parts = new Intl.DateTimeFormat('en-GB', {
|
|
19
|
+
year: 'numeric',
|
|
20
|
+
month: '2-digit',
|
|
21
|
+
day: '2-digit',
|
|
22
|
+
hour: '2-digit',
|
|
23
|
+
minute: '2-digit',
|
|
24
|
+
hour12: false,
|
|
25
|
+
weekday: 'long',
|
|
26
|
+
timeZoneName: 'short',
|
|
27
|
+
}).formatToParts(now);
|
|
28
|
+
const get = (type) => parts.find((part) => part.type === type)?.value ?? '';
|
|
29
|
+
const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
30
|
+
const date = `${get('year')}-${get('month')}-${get('day')}`;
|
|
31
|
+
const time = `${get('hour')}:${get('minute')}`;
|
|
32
|
+
const zoneNames = [timezone, get('timeZoneName')].filter(Boolean).join(', ');
|
|
33
|
+
return `${date} ${time} (${get('weekday')}, ${zoneNames})`;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* The `EXECUTION ENVIRONMENT` block.
|
|
37
|
+
*
|
|
38
|
+
* Everything here is conditional on the effective backend, and says so. The one
|
|
39
|
+
* claim that does *not* depend on a sandbox is that only the workspace reaches
|
|
40
|
+
* the host: that is the WASM filesystem's mount, which is always there.
|
|
41
|
+
*/
|
|
42
|
+
export function describeEnvironment(options = {}) {
|
|
43
|
+
const { workspacePath, environment } = options;
|
|
44
|
+
const sandboxed = environment?.sandboxed ?? false;
|
|
45
|
+
const workspace = workspacePath ?? process.cwd();
|
|
46
|
+
const label = environment?.backendLabel ?? 'unknown';
|
|
47
|
+
const lines = [
|
|
48
|
+
'EXECUTION ENVIRONMENT',
|
|
49
|
+
`- Shell backend: ${label}${environment?.description ? ` (${environment.description})` : ''}.`,
|
|
50
|
+
];
|
|
51
|
+
if (!sandboxed) {
|
|
52
|
+
lines.push('- There is NO sandbox: `exec(bash(...))` and the shell tool run as your user '
|
|
53
|
+
+ 'account. Writes outside the workspace are real files on this machine and '
|
|
54
|
+
+ 'persist, and a `rm` is a real `rm`.');
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
lines.push(`- \`exec(bash(...))\` is isolated by ${environment?.description}. Writes outside `
|
|
58
|
+
+ 'the workspace stay inside that sandbox and are gone when it ends.');
|
|
59
|
+
}
|
|
60
|
+
lines.push(`- Workspace, as your own tools see it: ${workspace}`, `- Workspace, inside DML and \`exec\`: ${SANDBOX_WORKSPACE_PATH} — and it is the `
|
|
61
|
+
+ `working directory, so \`out.txt\` and \`${SANDBOX_WORKSPACE_PATH}/out.txt\` are the `
|
|
62
|
+
+ 'same file. Prefer this name; it is the same everywhere.', '- Only files under the workspace reach the host. In DML, any other absolute path '
|
|
63
|
+
+ '(e.g. `/etc/x`, `/tmp/x`) is the ephemeral per-session VM filesystem, not this '
|
|
64
|
+
+ `machine. For scratch use \`$TMPDIR\` (per-session in every backend), not a fixed path.`, '- Do not hardcode the workspace\'s host path: it depends on how the session is run '
|
|
65
|
+
+ '(AgentVM, bubblewrap, sandbox-exec, or nothing at all).');
|
|
66
|
+
return lines.join('\n') + '\n';
|
|
67
|
+
}
|
|
68
|
+
/** `NOW` — always recomputed, so a long session does not read yesterday's date. */
|
|
69
|
+
export function describeCurrentTime(now = new Date()) {
|
|
70
|
+
return [
|
|
71
|
+
'NOW',
|
|
72
|
+
`- ${describeNow(now)}`,
|
|
73
|
+
'- Do not assume today\'s date from training data. For the exact time run `date` '
|
|
74
|
+
+ '(or `exec(bash(argv: ["date", "-Is"]))`).',
|
|
75
|
+
].join('\n') + '\n';
|
|
76
|
+
}
|
|
77
|
+
/** Both blocks, in the order they should be appended. */
|
|
78
|
+
export function describeRuntimeContext(options = {}) {
|
|
79
|
+
return `\n${describeEnvironment(options)}\n${describeCurrentTime(options.now)}\n`;
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=environment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/system/environment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,sBAAsB,EAA6B,MAAM,4BAA4B,CAAC;AAS/F,gFAAgF;AAChF,MAAM,UAAU,WAAW,CAAC,MAAY,IAAI,IAAI,EAAE;IAChD,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;QAC7C,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,MAAM;QACf,YAAY,EAAE,OAAO;KACtB,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAEtB,MAAM,GAAG,GAAG,CAAC,IAAkC,EAAU,EAAE,CACzD,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;IACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;IAElE,MAAM,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;IAC5D,MAAM,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC/C,MAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7E,OAAO,GAAG,IAAI,IAAI,IAAI,KAAK,GAAG,CAAC,SAAS,CAAC,KAAK,SAAS,GAAG,CAAC;AAC7D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAmC,EAAE;IACvE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAC/C,MAAM,SAAS,GAAG,WAAW,EAAE,SAAS,IAAI,KAAK,CAAC;IAClD,MAAM,SAAS,GAAG,aAAa,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACjD,MAAM,KAAK,GAAG,WAAW,EAAE,YAAY,IAAI,SAAS,CAAC;IACrD,MAAM,KAAK,GAAG;QACZ,uBAAuB;QACvB,oBAAoB,KAAK,GAAG,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG;KAC/F,CAAC;IAEF,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,CACR,+EAA+E;cAC3E,2EAA2E;cAC3E,qCAAqC,CAC1C,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CACR,wCAAwC,WAAW,EAAE,WAAW,mBAAmB;cAC/E,mEAAmE,CACxE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CACR,0CAA0C,SAAS,EAAE,EACrD,yCAAyC,sBAAsB,mBAAmB;UAC9E,2CAA2C,sBAAsB,qBAAqB;UACtF,yDAAyD,EAC7D,mFAAmF;UAC/E,iFAAiF;UACjF,wFAAwF,EAC5F,qFAAqF;UACjF,yDAAyD,CAC9D,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AACjC,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,mBAAmB,CAAC,MAAY,IAAI,IAAI,EAAE;IACxD,OAAO;QACL,KAAK;QACL,KAAK,WAAW,CAAC,GAAG,CAAC,EAAE;QACvB,kFAAkF;cAC9E,2CAA2C;KAChD,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AACtB,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,sBAAsB,CAAC,UAAmC,EAAE;IAC1E,OAAO,KAAK,mBAAmB,CAAC,OAAO,CAAC,KAAK,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;AACpF,CAAC"}
|
|
@@ -43,10 +43,29 @@ export declare class HostShellManager implements ShellManager {
|
|
|
43
43
|
dispose(): Promise<void>;
|
|
44
44
|
}
|
|
45
45
|
export declare function createShellManager(options: CreateShellManagerOptions): ShellManager;
|
|
46
|
-
|
|
46
|
+
/**
|
|
47
|
+
* The execution backends that isolate `exec(bash(...))` from the host. `clean-room`
|
|
48
|
+
* is the absence of a wrapper; it runs the command as the user, so it does not
|
|
49
|
+
* qualify as a sandbox.
|
|
50
|
+
*/
|
|
51
|
+
export type ExecutionBackendKind = 'agentvm' | HostShellWrapperKind;
|
|
52
|
+
export interface ExecutionEnvironment {
|
|
53
|
+
kind: ExecutionBackendKind;
|
|
47
54
|
backendLabel: string;
|
|
48
55
|
description: string;
|
|
49
|
-
|
|
56
|
+
/** True for a backend that provides filesystem isolation. */
|
|
57
|
+
sandboxed: boolean;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Resolve how shell commands will actually run, as data.
|
|
61
|
+
*
|
|
62
|
+
* One source of truth for three consumers that must agree: the harness
|
|
63
|
+
* `require_sandbox` directive (checked at load against the *effective* backend,
|
|
64
|
+
* so an installed-but-unused bwrap does not satisfy it), the environment block
|
|
65
|
+
* put in front of the model, and the CLI status line. It was previously computed
|
|
66
|
+
* but never read, so nothing told the agent whether it was sandboxed.
|
|
67
|
+
*/
|
|
68
|
+
export declare function describeShellExecutionBackend(sandbox?: boolean, hostConfig?: HostShellConfig): ExecutionEnvironment;
|
|
50
69
|
export declare function resolveHostShellStrategy(options?: {
|
|
51
70
|
hostConfig?: HostShellConfig;
|
|
52
71
|
platform?: NodeJS.Platform;
|
|
@@ -60,5 +79,24 @@ export declare function resolveHostShellWrapperKind(options?: {
|
|
|
60
79
|
envOverride?: string;
|
|
61
80
|
strictIsolation?: boolean;
|
|
62
81
|
}): HostShellWrapperKind;
|
|
82
|
+
/**
|
|
83
|
+
* The name every surface uses for the workspace: the WASM filesystem mounts it
|
|
84
|
+
* there, AgentVM mounts it there, and bwrap is told to bind it there. Where a
|
|
85
|
+
* mount is impossible the name is mapped onto the real directory instead.
|
|
86
|
+
*/
|
|
87
|
+
export declare const SANDBOX_WORKSPACE_PATH = "/workspace";
|
|
88
|
+
/**
|
|
89
|
+
* Rewrite workspace paths for backends that cannot mount `/workspace`.
|
|
90
|
+
*
|
|
91
|
+
* Only a word that *begins* with `/workspace` is a workspace path — preceded by
|
|
92
|
+
* the start of the command, whitespace, or a shell metacharacter, and followed
|
|
93
|
+
* by `/` or the end of the word. That keeps `/workspacex` and `/workspace-suffix`
|
|
94
|
+
* untouched, and `-I/workspace/include` and `--dir=/workspace` working. A blind
|
|
95
|
+
* search-and-replace would corrupt exactly the commands this exists to serve.
|
|
96
|
+
*
|
|
97
|
+
* This is a fallback, not the design: bwrap and AgentVM bind the real thing, so
|
|
98
|
+
* launched *programs* see `/workspace` there rather than only the agent's paths.
|
|
99
|
+
*/
|
|
100
|
+
export declare function mapWorkspacePaths(command: string, workspacePath: string): string;
|
|
63
101
|
export {};
|
|
64
102
|
//# sourceMappingURL=shell-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-manager.d.ts","sourceRoot":"","sources":["../../../src/system/runtime/shell-manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAC;AAwB9B,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG,OAAO,GAAG,cAAc,CAAC;AAC3E,MAAM,MAAM,0BAA0B,GAAG,MAAM,GAAG,oBAAoB,CAAC;AACvE,MAAM,MAAM,6BAA6B,GAAG,QAAQ,GAAG,sBAAsB,CAAC;AAE9E,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,0BAA0B,CAAC;IACrC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,oBAAoB,CAAC;IAClC,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,6BAA6B,CAAC;CACtD;AAED,UAAU,sBAAsB;IAC9B,aAAa,CAAC,eAAe,EAAE,OAAO,GAAG,OAAO,CAAC;IACjD,2BAA2B,CAAC,EAAE,CAAC,eAAe,EAAE,OAAO,KAAK,6BAA6B,GAAG,IAAI,CAAC;IACjG,mBAAmB,IAAI,OAAO,CAAC;CAChC;AAUD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAChI,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,yBAAyB;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,qBAAa,gBAAiB,YAAW,YAAY;IAKjD,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAL7B,QAAQ,CAAC,IAAI,EAAG,MAAM,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;gBAGlC,aAAa,EAAE,MAAM,EACrB,UAAU,GAAE,eAAoB;IAK7C,IAAI,CACR,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,EACpB,QAAQ,CAAC,EAAE,iBAAiB,EAC5B,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"shell-manager.d.ts","sourceRoot":"","sources":["../../../src/system/runtime/shell-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,6 +53,11 @@ export class HostShellManager {
|
|
|
53
53
|
cwd: this.workspacePath,
|
|
54
54
|
env: launchPlan.env,
|
|
55
55
|
detached: process.platform !== 'win32',
|
|
56
|
+
// stdin is /dev/null, so a command that reads it sees EOF instead of a
|
|
57
|
+
// pipe nobody writes to. Without this, `cat` (or anything that reads
|
|
58
|
+
// stdin) blocks until the idle timeout kills it — a runtime with no
|
|
59
|
+
// stdin is not a reason to hang for 30 seconds.
|
|
60
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
56
61
|
});
|
|
57
62
|
observer?.onStart?.({
|
|
58
63
|
command,
|
|
@@ -268,17 +273,30 @@ export function createShellManager(options) {
|
|
|
268
273
|
}
|
|
269
274
|
return new HostShellManager(options.workspacePath, options.hostConfig);
|
|
270
275
|
}
|
|
276
|
+
/**
|
|
277
|
+
* Resolve how shell commands will actually run, as data.
|
|
278
|
+
*
|
|
279
|
+
* One source of truth for three consumers that must agree: the harness
|
|
280
|
+
* `require_sandbox` directive (checked at load against the *effective* backend,
|
|
281
|
+
* so an installed-but-unused bwrap does not satisfy it), the environment block
|
|
282
|
+
* put in front of the model, and the CLI status line. It was previously computed
|
|
283
|
+
* but never read, so nothing told the agent whether it was sandboxed.
|
|
284
|
+
*/
|
|
271
285
|
export function describeShellExecutionBackend(sandbox = false, hostConfig = {}) {
|
|
272
286
|
if (sandbox) {
|
|
273
287
|
return {
|
|
288
|
+
kind: 'agentvm',
|
|
274
289
|
backendLabel: 'sandbox[agentvm]',
|
|
275
290
|
description: 'AgentVM sandbox',
|
|
291
|
+
sandboxed: true,
|
|
276
292
|
};
|
|
277
293
|
}
|
|
278
294
|
const strategy = resolveHostShellStrategy({ hostConfig });
|
|
279
295
|
return {
|
|
296
|
+
kind: strategy.wrapperKind,
|
|
280
297
|
backendLabel: strategy.backendLabel,
|
|
281
298
|
description: strategy.description,
|
|
299
|
+
sandboxed: strategy.wrapperKind !== 'clean-room',
|
|
282
300
|
};
|
|
283
301
|
}
|
|
284
302
|
export function resolveHostShellStrategy(options = {}) {
|
|
@@ -485,15 +503,60 @@ function probeCommand(command, args) {
|
|
|
485
503
|
inherited,
|
|
486
504
|
};
|
|
487
505
|
}
|
|
506
|
+
/**
|
|
507
|
+
* The name every surface uses for the workspace: the WASM filesystem mounts it
|
|
508
|
+
* there, AgentVM mounts it there, and bwrap is told to bind it there. Where a
|
|
509
|
+
* mount is impossible the name is mapped onto the real directory instead.
|
|
510
|
+
*/
|
|
511
|
+
export const SANDBOX_WORKSPACE_PATH = '/workspace';
|
|
512
|
+
/**
|
|
513
|
+
* The workspace path a command sees for this backend: `/workspace` where it is
|
|
514
|
+
* mounted, and the real directory where a mount is impossible (so scripts can
|
|
515
|
+
* still find it by `$WORKSPACE` and `$PWD`).
|
|
516
|
+
*/
|
|
517
|
+
function sandboxWorkspacePathFor(strategy, workspacePath) {
|
|
518
|
+
return strategy.wrapperKind === 'bwrap' ? SANDBOX_WORKSPACE_PATH : workspacePath;
|
|
519
|
+
}
|
|
520
|
+
/**
|
|
521
|
+
* Rewrite workspace paths for backends that cannot mount `/workspace`.
|
|
522
|
+
*
|
|
523
|
+
* Only a word that *begins* with `/workspace` is a workspace path — preceded by
|
|
524
|
+
* the start of the command, whitespace, or a shell metacharacter, and followed
|
|
525
|
+
* by `/` or the end of the word. That keeps `/workspacex` and `/workspace-suffix`
|
|
526
|
+
* untouched, and `-I/workspace/include` and `--dir=/workspace` working. A blind
|
|
527
|
+
* search-and-replace would corrupt exactly the commands this exists to serve.
|
|
528
|
+
*
|
|
529
|
+
* This is a fallback, not the design: bwrap and AgentVM bind the real thing, so
|
|
530
|
+
* launched *programs* see `/workspace` there rather than only the agent's paths.
|
|
531
|
+
*/
|
|
532
|
+
export function mapWorkspacePaths(command, workspacePath) {
|
|
533
|
+
// What may precede the name: the start of the command, whitespace, or a shell
|
|
534
|
+
// metacharacter — plus a short option such as `-I/workspace/include`, which is
|
|
535
|
+
// how compiler and interpreter flags are written.
|
|
536
|
+
const prefix = '[\\s"\'`=(:;|&<>,@]|-[A-Za-z]+';
|
|
537
|
+
// What may follow it. `-` is deliberately absent: `/workspace-suffix` is a
|
|
538
|
+
// different path, not the workspace.
|
|
539
|
+
const suffix = '[\\s"\'`()=:;|&<>,]';
|
|
540
|
+
const pattern = new RegExp(`(^|${prefix})\\/workspace(?=\\/|$|${suffix})`, 'g');
|
|
541
|
+
return command.replace(pattern, (_match, lead) => `${lead}${workspacePath}`);
|
|
542
|
+
}
|
|
488
543
|
function buildHostShellLaunchPlan(strategy, command, workspacePath) {
|
|
489
544
|
const scratchDir = createScratchDir();
|
|
490
|
-
const
|
|
545
|
+
const sandboxWorkspacePath = sandboxWorkspacePathFor(strategy, workspacePath);
|
|
546
|
+
const env = buildRestrictedEnv(scratchDir, sandboxWorkspacePath);
|
|
547
|
+
// Where a mount is impossible (no bwrap, no AgentVM) the name still has to
|
|
548
|
+
// work, so `/workspace` is mapped onto the real directory in the command
|
|
549
|
+
// string. Where bwrap is in play the bind has already done it, and rewriting
|
|
550
|
+
// as well would be wrong.
|
|
551
|
+
const effectiveCommand = sandboxWorkspacePath === SANDBOX_WORKSPACE_PATH
|
|
552
|
+
? command
|
|
553
|
+
: mapWorkspacePaths(command, workspacePath);
|
|
491
554
|
switch (strategy.wrapperKind) {
|
|
492
555
|
case 'bwrap':
|
|
493
556
|
if (strategy.bwrapExecWrapperMode === 'setpriv-no-new-privs') {
|
|
494
557
|
return {
|
|
495
558
|
executable: resolveExecutable('setpriv'),
|
|
496
|
-
args: ['--no-new-privs', resolveExecutable('bwrap'), ...buildBwrapArgs(
|
|
559
|
+
args: ['--no-new-privs', resolveExecutable('bwrap'), ...buildBwrapArgs(effectiveCommand, workspacePath, scratchDir, env, strategy)],
|
|
497
560
|
env,
|
|
498
561
|
strategy,
|
|
499
562
|
scratchDir,
|
|
@@ -501,7 +564,7 @@ function buildHostShellLaunchPlan(strategy, command, workspacePath) {
|
|
|
501
564
|
}
|
|
502
565
|
return {
|
|
503
566
|
executable: resolveExecutable('bwrap'),
|
|
504
|
-
args: buildBwrapArgs(
|
|
567
|
+
args: buildBwrapArgs(effectiveCommand, workspacePath, scratchDir, env, strategy),
|
|
505
568
|
env,
|
|
506
569
|
strategy,
|
|
507
570
|
scratchDir,
|
|
@@ -509,7 +572,7 @@ function buildHostShellLaunchPlan(strategy, command, workspacePath) {
|
|
|
509
572
|
case 'sandbox-exec':
|
|
510
573
|
return {
|
|
511
574
|
executable: resolveExecutable('sandbox-exec'),
|
|
512
|
-
args: ['-p', buildSandboxExecProfile(workspacePath, scratchDir), '/bin/bash', '--noprofile', '--norc', '-c',
|
|
575
|
+
args: ['-p', buildSandboxExecProfile(workspacePath, scratchDir), '/bin/bash', '--noprofile', '--norc', '-c', effectiveCommand],
|
|
513
576
|
env,
|
|
514
577
|
strategy,
|
|
515
578
|
scratchDir,
|
|
@@ -518,7 +581,7 @@ function buildHostShellLaunchPlan(strategy, command, workspacePath) {
|
|
|
518
581
|
default:
|
|
519
582
|
return {
|
|
520
583
|
executable: resolveExecutable('bash'),
|
|
521
|
-
args: ['--noprofile', '--norc', '-c',
|
|
584
|
+
args: ['--noprofile', '--norc', '-c', effectiveCommand],
|
|
522
585
|
env,
|
|
523
586
|
strategy,
|
|
524
587
|
scratchDir,
|
|
@@ -541,7 +604,7 @@ function cleanupScratchDir(scratchDir) {
|
|
|
541
604
|
// Best-effort cleanup only.
|
|
542
605
|
}
|
|
543
606
|
}
|
|
544
|
-
function buildRestrictedEnv(scratchDir,
|
|
607
|
+
function buildRestrictedEnv(scratchDir, sandboxWorkspacePath) {
|
|
545
608
|
const pathValue = getDefaultHostPathValue();
|
|
546
609
|
return {
|
|
547
610
|
PATH: pathValue,
|
|
@@ -552,7 +615,11 @@ function buildRestrictedEnv(scratchDir, workspacePath) {
|
|
|
552
615
|
XDG_DATA_HOME: join(scratchDir, '.local', 'share'),
|
|
553
616
|
LANG: 'C.UTF-8',
|
|
554
617
|
LC_ALL: 'C.UTF-8',
|
|
555
|
-
PWD:
|
|
618
|
+
PWD: sandboxWorkspacePath,
|
|
619
|
+
// Scripts can reach the workspace by name. `$TMPDIR` is the scratch
|
|
620
|
+
// directory, which is disposable in every backend — unlike a hardcoded
|
|
621
|
+
// /tmp, which is the real one when there is no sandbox.
|
|
622
|
+
WORKSPACE: sandboxWorkspacePath,
|
|
556
623
|
};
|
|
557
624
|
}
|
|
558
625
|
function buildHostProbeEnv() {
|
|
@@ -592,13 +659,6 @@ function buildBwrapArgs(command, workspacePath, scratchDir, env, strategy) {
|
|
|
592
659
|
}
|
|
593
660
|
args.push('--ro-bind', requiredHostPath, requiredHostPath);
|
|
594
661
|
}
|
|
595
|
-
for (const directoryPath of buildMountParentDirs(workspacePath)) {
|
|
596
|
-
if (createdMountDirs.has(directoryPath)) {
|
|
597
|
-
continue;
|
|
598
|
-
}
|
|
599
|
-
args.push('--dir', directoryPath);
|
|
600
|
-
createdMountDirs.add(directoryPath);
|
|
601
|
-
}
|
|
602
662
|
for (const directoryPath of buildMountParentDirs(scratchDir)) {
|
|
603
663
|
if (createdMountDirs.has(directoryPath)) {
|
|
604
664
|
continue;
|
|
@@ -606,10 +666,16 @@ function buildBwrapArgs(command, workspacePath, scratchDir, env, strategy) {
|
|
|
606
666
|
args.push('--dir', directoryPath);
|
|
607
667
|
createdMountDirs.add(directoryPath);
|
|
608
668
|
}
|
|
609
|
-
|
|
669
|
+
// The workspace is presented as /workspace, not at its host path. Every other
|
|
670
|
+
// surface already calls it that — the WASM filesystem mounts it at /workspace
|
|
671
|
+
// (src/prolog/loader.ts), AgentVM mounts it at /workspace — so this is what
|
|
672
|
+
// makes one name true everywhere, and it stops the host path leaking into the
|
|
673
|
+
// sandbox. `--chdir` matches, so a relative path means the same thing too.
|
|
674
|
+
args.push('--dir', '/workspace');
|
|
675
|
+
args.push('--bind', workspacePath, SANDBOX_WORKSPACE_PATH);
|
|
610
676
|
args.push('--bind', scratchDir, scratchDir);
|
|
611
677
|
//args.push('--tmpfs', '/tmp');
|
|
612
|
-
args.push('--chdir',
|
|
678
|
+
args.push('--chdir', SANDBOX_WORKSPACE_PATH);
|
|
613
679
|
for (const [key, value] of Object.entries(env)) {
|
|
614
680
|
if (typeof value === 'string') {
|
|
615
681
|
args.push('--setenv', key, value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-manager.js","sourceRoot":"","sources":["../../../src/system/runtime/shell-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shell-manager.js","sourceRoot":"","sources":["../../../src/system/runtime/shell-manager.ts"],"names":[],"mappings":"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"}
|