@sweny-ai/core 0.1.154 → 0.1.156
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.
|
@@ -22,8 +22,11 @@ export declare const CLAUDE_CODE_CAPABILITIES: HarnessCapabilities;
|
|
|
22
22
|
* is not trusted in that ignored file (config/src/loader/mod.rs).
|
|
23
23
|
* - sandbox fs only: `--sandbox read-only|workspace-write`. Network is one
|
|
24
24
|
* on/off switch (`sandbox_workspace_write.network_access`), not a host list.
|
|
25
|
-
* - readOnly native: `--sandbox read-only` plus the
|
|
26
|
-
*
|
|
25
|
+
* - readOnly native: `--sandbox read-only` plus the web search and subagent
|
|
26
|
+
* switches above. The shell stays: Codex has no other way to read a file, and
|
|
27
|
+
* the OS sandbox (SandboxPolicy::ReadOnly, network off by default,
|
|
28
|
+
* protocol/src/protocol.rs) blocks writes and network from it. An explicit
|
|
29
|
+
* `tools.deny: [shell]` still removes it.
|
|
27
30
|
* - turnLimit watchdog: codex exec has no turn limit; sweny counts tool calls.
|
|
28
31
|
* - usage tokens only: `turn.completed.usage`; Codex reports no cost.
|
|
29
32
|
*/
|
|
@@ -32,8 +32,11 @@ export const CLAUDE_CODE_CAPABILITIES = {
|
|
|
32
32
|
* is not trusted in that ignored file (config/src/loader/mod.rs).
|
|
33
33
|
* - sandbox fs only: `--sandbox read-only|workspace-write`. Network is one
|
|
34
34
|
* on/off switch (`sandbox_workspace_write.network_access`), not a host list.
|
|
35
|
-
* - readOnly native: `--sandbox read-only` plus the
|
|
36
|
-
*
|
|
35
|
+
* - readOnly native: `--sandbox read-only` plus the web search and subagent
|
|
36
|
+
* switches above. The shell stays: Codex has no other way to read a file, and
|
|
37
|
+
* the OS sandbox (SandboxPolicy::ReadOnly, network off by default,
|
|
38
|
+
* protocol/src/protocol.rs) blocks writes and network from it. An explicit
|
|
39
|
+
* `tools.deny: [shell]` still removes it.
|
|
37
40
|
* - turnLimit watchdog: codex exec has no turn limit; sweny counts tool calls.
|
|
38
41
|
* - usage tokens only: `turn.completed.usage`; Codex reports no cost.
|
|
39
42
|
*/
|
package/dist/harness/codex.js
CHANGED
|
@@ -744,8 +744,19 @@ export class CodexHarness {
|
|
|
744
744
|
}
|
|
745
745
|
const readOnly = policy.readOnly;
|
|
746
746
|
const deny = new Set(policy.deny);
|
|
747
|
+
// Read-only keeps the shell. Codex has no non-shell way to read a file
|
|
748
|
+
// (apply_patch only writes), so dropping it left read-only nodes (triage
|
|
749
|
+
// gather/investigate, implement analyze, drift inventory) blind. The shell
|
|
750
|
+
// is safe here because `--sandbox read-only` is enforced by the OS, not by
|
|
751
|
+
// the model: it maps to SandboxPolicy::ReadOnly { network_access: false },
|
|
752
|
+
// "read-only access ... outbound network ... false by default"
|
|
753
|
+
// (openai/codex rust-v0.159.2, codex-rs/protocol/src/protocol.rs, the
|
|
754
|
+
// SandboxPolicy enum ~L1079 and new_read_only_policy ~L1205). So a shell
|
|
755
|
+
// command can read the checkout but cannot write files or reach the
|
|
756
|
+
// network. Network and subagents are still denied at the tool level, and an
|
|
757
|
+
// explicit `tools.deny: [shell]` (already in policy.deny) still removes it.
|
|
747
758
|
if (readOnly)
|
|
748
|
-
for (const c of ["
|
|
759
|
+
for (const c of ["net", "subagent"])
|
|
749
760
|
deny.add(c);
|
|
750
761
|
let sandbox = "read-only";
|
|
751
762
|
if (!readOnly) {
|
package/dist/schema.d.ts
CHANGED
|
@@ -3405,7 +3405,7 @@ export declare const workflowJsonSchema: {
|
|
|
3405
3405
|
}];
|
|
3406
3406
|
};
|
|
3407
3407
|
readonly Permissions: {
|
|
3408
|
-
readonly description: "What a node's agent may do. 'read' runs it read-only: only access: read skill tools, no external skill MCP servers, no
|
|
3408
|
+
readonly description: "What a node's agent may do. 'read' runs it read-only: only access: read skill tools, no external skill MCP servers, no file-write, edit, fetch or subagent built-ins, and no shell (on Codex, a shell confined to its OS read-only sandbox). On the workflow it is the default and the ceiling for every node.";
|
|
3409
3409
|
readonly oneOf: readonly [{
|
|
3410
3410
|
readonly type: "string";
|
|
3411
3411
|
readonly enum: readonly ["read", "write"];
|
package/dist/schema.js
CHANGED
|
@@ -820,7 +820,7 @@ export const workflowJsonSchema = {
|
|
|
820
820
|
],
|
|
821
821
|
},
|
|
822
822
|
Permissions: {
|
|
823
|
-
description: "What a node's agent may do. 'read' runs it read-only: only access: read skill tools, no external skill MCP servers, no
|
|
823
|
+
description: "What a node's agent may do. 'read' runs it read-only: only access: read skill tools, no external skill MCP servers, no file-write, edit, fetch or subagent built-ins, and no shell (on Codex, a shell confined to its OS read-only sandbox). On the workflow it is the default and the ceiling for every node.",
|
|
824
824
|
oneOf: [
|
|
825
825
|
{ type: "string", enum: [...NODE_ACCESS] },
|
|
826
826
|
{
|