@commonlyai/cli 0.1.240 → 0.1.242
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/package.json
CHANGED
package/src/commands/agent.js
CHANGED
|
@@ -73,6 +73,7 @@ import {
|
|
|
73
73
|
ADAPTERS_WITH_DEFAULT_MCP,
|
|
74
74
|
ADAPTERS_WITH_GRANT_BROKER,
|
|
75
75
|
ADAPTERS_WITH_DEFAULT_SANDBOX,
|
|
76
|
+
ADAPTERS_WITH_SANDBOX_ENFORCEMENT,
|
|
76
77
|
defaultMcpServers,
|
|
77
78
|
seatBaseline,
|
|
78
79
|
withDefaultMcpServer,
|
|
@@ -1151,7 +1152,7 @@ export const resolveAttachSandbox = ({
|
|
|
1151
1152
|
// pure — a mode and an adapter name — so it belongs with the derivation, and
|
|
1152
1153
|
// its witnesses live beside it.
|
|
1153
1154
|
if ((mode === 'workspace' || mode === 'read-only')
|
|
1154
|
-
&& (!confined || !
|
|
1155
|
+
&& (!confined || !ADAPTERS_WITH_SANDBOX_ENFORCEMENT.has(adapterName))) {
|
|
1155
1156
|
throw new Error(
|
|
1156
1157
|
`sandbox.mode=${mode} requires public trust and an adapter with sandbox enforcement`,
|
|
1157
1158
|
);
|
package/src/lib/adapters/qwen.js
CHANGED
|
@@ -322,9 +322,12 @@ export default {
|
|
|
322
322
|
...EXCLUDED_TOOLS, ...(isPublic ? PUBLIC_READ_TOOLS : []),
|
|
323
323
|
].join(','),
|
|
324
324
|
// Qwen ignores settings permissions in bare/safe mode, but still
|
|
325
|
-
// honours CLI allow rules.
|
|
326
|
-
//
|
|
327
|
-
|
|
325
|
+
// honours CLI allow rules. Any seat needs its declared Commonly tools
|
|
326
|
+
// approved before non-interactive execution begins, public included:
|
|
327
|
+
// without it a public seat's commonly_post_message was declined
|
|
328
|
+
// (D247 walk, 11-04). Public parity with Claude's --allowedTools
|
|
329
|
+
// mcp__commonly__*; the withheld tools stay in --exclude-tools above.
|
|
330
|
+
...(Object.hasOwn(mcp.mcpServers, 'commonly')
|
|
328
331
|
? ['--allowed-tools', 'mcp__commonly__*'] : []),
|
|
329
332
|
'-o', 'stream-json', '-p', fullPrompt,
|
|
330
333
|
];
|
|
@@ -49,6 +49,14 @@ export const ADAPTERS_WITH_DEFAULT_MCP = new Set(['claude', 'codex', 'pi', 'open
|
|
|
49
49
|
*/
|
|
50
50
|
export const ADAPTERS_WITH_DEFAULT_SANDBOX = new Set(['claude', 'codex', 'opencode', 'qwen']);
|
|
51
51
|
|
|
52
|
+
// Adapters that confine a public turn themselves. This is wider than the set
|
|
53
|
+
// above: Goose enforces Seatbelt/bwrap but is not handed the default block,
|
|
54
|
+
// because a default cannot supply its required provider and model. The attach
|
|
55
|
+
// gate (agent.js resolveAttachSandbox) reads this set, not the default one, or
|
|
56
|
+
// an explicitly configured public Goose seat is refused before its adapter runs
|
|
57
|
+
// (D247 walk, 11-04). pi stays out until it has a sandbox path.
|
|
58
|
+
export const ADAPTERS_WITH_SANDBOX_ENFORCEMENT = new Set([...ADAPTERS_WITH_DEFAULT_SANDBOX, 'goose']);
|
|
59
|
+
|
|
52
60
|
// The server has not yet admitted OpenCode to its grant-broker confinement
|
|
53
61
|
// allowlist. Keep runtime sandbox support separate from the narrower set of
|
|
54
62
|
// adapters that may receive a room grant.
|