moa-cli 0.3.2__tar.gz → 0.3.4__tar.gz
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.
- {moa_cli-0.3.2 → moa_cli-0.3.4}/PKG-INFO +13 -5
- {moa_cli-0.3.2 → moa_cli-0.3.4}/README.md +12 -4
- {moa_cli-0.3.2 → moa_cli-0.3.4}/pyproject.toml +1 -1
- {moa_cli-0.3.2 → moa_cli-0.3.4}/src/moa_cli/__init__.py +1 -1
- moa_cli-0.3.4/src/moa_cli/cli.py +804 -0
- moa_cli-0.3.4/src/moa_cli/config.py +242 -0
- moa_cli-0.3.4/src/moa_cli/execution.py +170 -0
- moa_cli-0.3.4/src/moa_cli/output.py +159 -0
- moa_cli-0.3.4/src/moa_cli/providers.py +176 -0
- moa_cli-0.3.4/src/moa_cli/workflows.py +202 -0
- moa_cli-0.3.2/src/moa_cli/cli.py +0 -1596
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: moa-cli
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.4
|
|
4
4
|
Summary: Ask one question to multiple local AI coding CLIs in parallel and collect their answers.
|
|
5
5
|
Keywords: llm,agents,cli,claude,codex,agy,opencode,peer-review
|
|
6
6
|
Author: Paul-Louis Pröve
|
|
@@ -50,7 +50,7 @@ A single model gives you one perspective. Asking three frontier models the same
|
|
|
50
50
|
|
|
51
51
|
```text
|
|
52
52
|
$ moa ask "Is Postgres or SQLite better for a desktop app?"
|
|
53
|
-
Asking claude, codex, agy (timeout
|
|
53
|
+
Asking claude, codex, agy (timeout 900s, read-only)
|
|
54
54
|
|
|
55
55
|
──────────────── claude (opus) · OK · 3.2s ────────────────
|
|
56
56
|
|
|
@@ -103,11 +103,16 @@ is enforced by spawning each CLI with its own read-only flags:
|
|
|
103
103
|
|
|
104
104
|
| Provider | Read-only (default) | Reads files | Web research |
|
|
105
105
|
| ---------- | -------------------------- | ----------- | ------------------------- |
|
|
106
|
-
| `claude` | `--permission-mode
|
|
106
|
+
| `claude` | `--permission-mode default` | yes | yes |
|
|
107
107
|
| `codex` | `-s read-only` | yes | **no** (sandbox blocks network) |
|
|
108
108
|
| `opencode` | `--agent plan` | yes | yes |
|
|
109
109
|
| `agy` | `--sandbox` (partial: shell only - can still edit files) | yes | yes |
|
|
110
110
|
|
|
111
|
+
`claude`'s `--permission-mode default` is read-only in moa's non-interactive use: it reads
|
|
112
|
+
files and researches online with the full toolset, but any write or edit needs an interactive
|
|
113
|
+
approval that never comes under `-p`, so all mutations are denied. (`plan` mode is **not**
|
|
114
|
+
usable headless - it emits a plan and waits for approval instead of answering.)
|
|
115
|
+
|
|
111
116
|
`codex`'s read-only mode is a kernel sandbox that also blocks network, so codex does no
|
|
112
117
|
web research in the default mode (it still reads local files). `agy` has **no true
|
|
113
118
|
read-only mode**: its `--sandbox` flag restricts agy's terminal/shell but does **not** stop
|
|
@@ -275,12 +280,15 @@ Invocations below show the default (read-only) flags; `--yolo` swaps in each too
|
|
|
275
280
|
|
|
276
281
|
| Provider | CLI | Invocation (read-only default) |
|
|
277
282
|
| ----------- | ---------- | ------------------------------------------------------------------- |
|
|
278
|
-
| `claude` | `claude` | `claude --model opus --permission-mode
|
|
283
|
+
| `claude` | `claude` | `claude --model opus --permission-mode default -p PROMPT` |
|
|
279
284
|
| `codex` | `codex` | `codex exec -m gpt-5.5 --skip-git-repo-check -s read-only PROMPT` |
|
|
280
285
|
| `agy` | `agy` | `agy --sandbox --model "Gemini 3.1 Pro (High)" -p PROMPT` (partial: shell only - can still edit files) |
|
|
281
286
|
| `opencode` | `opencode` | `opencode run --agent plan PROMPT` |
|
|
282
287
|
|
|
283
|
-
Adding a new agent is a single entry in the `PROVIDERS` table in
|
|
288
|
+
Adding a new agent is a single entry in the `PROVIDERS` table in
|
|
289
|
+
`src/moa_cli/providers.py` (executable, default model, command builder,
|
|
290
|
+
permission flags); it then participates in detection, `-n` selection, and
|
|
291
|
+
`distill` automatically.
|
|
284
292
|
|
|
285
293
|
## Agent skill
|
|
286
294
|
|
|
@@ -39,7 +39,7 @@ A single model gives you one perspective. Asking three frontier models the same
|
|
|
39
39
|
|
|
40
40
|
```text
|
|
41
41
|
$ moa ask "Is Postgres or SQLite better for a desktop app?"
|
|
42
|
-
Asking claude, codex, agy (timeout
|
|
42
|
+
Asking claude, codex, agy (timeout 900s, read-only)
|
|
43
43
|
|
|
44
44
|
──────────────── claude (opus) · OK · 3.2s ────────────────
|
|
45
45
|
|
|
@@ -92,11 +92,16 @@ is enforced by spawning each CLI with its own read-only flags:
|
|
|
92
92
|
|
|
93
93
|
| Provider | Read-only (default) | Reads files | Web research |
|
|
94
94
|
| ---------- | -------------------------- | ----------- | ------------------------- |
|
|
95
|
-
| `claude` | `--permission-mode
|
|
95
|
+
| `claude` | `--permission-mode default` | yes | yes |
|
|
96
96
|
| `codex` | `-s read-only` | yes | **no** (sandbox blocks network) |
|
|
97
97
|
| `opencode` | `--agent plan` | yes | yes |
|
|
98
98
|
| `agy` | `--sandbox` (partial: shell only - can still edit files) | yes | yes |
|
|
99
99
|
|
|
100
|
+
`claude`'s `--permission-mode default` is read-only in moa's non-interactive use: it reads
|
|
101
|
+
files and researches online with the full toolset, but any write or edit needs an interactive
|
|
102
|
+
approval that never comes under `-p`, so all mutations are denied. (`plan` mode is **not**
|
|
103
|
+
usable headless - it emits a plan and waits for approval instead of answering.)
|
|
104
|
+
|
|
100
105
|
`codex`'s read-only mode is a kernel sandbox that also blocks network, so codex does no
|
|
101
106
|
web research in the default mode (it still reads local files). `agy` has **no true
|
|
102
107
|
read-only mode**: its `--sandbox` flag restricts agy's terminal/shell but does **not** stop
|
|
@@ -264,12 +269,15 @@ Invocations below show the default (read-only) flags; `--yolo` swaps in each too
|
|
|
264
269
|
|
|
265
270
|
| Provider | CLI | Invocation (read-only default) |
|
|
266
271
|
| ----------- | ---------- | ------------------------------------------------------------------- |
|
|
267
|
-
| `claude` | `claude` | `claude --model opus --permission-mode
|
|
272
|
+
| `claude` | `claude` | `claude --model opus --permission-mode default -p PROMPT` |
|
|
268
273
|
| `codex` | `codex` | `codex exec -m gpt-5.5 --skip-git-repo-check -s read-only PROMPT` |
|
|
269
274
|
| `agy` | `agy` | `agy --sandbox --model "Gemini 3.1 Pro (High)" -p PROMPT` (partial: shell only - can still edit files) |
|
|
270
275
|
| `opencode` | `opencode` | `opencode run --agent plan PROMPT` |
|
|
271
276
|
|
|
272
|
-
Adding a new agent is a single entry in the `PROVIDERS` table in
|
|
277
|
+
Adding a new agent is a single entry in the `PROVIDERS` table in
|
|
278
|
+
`src/moa_cli/providers.py` (executable, default model, command builder,
|
|
279
|
+
permission flags); it then participates in detection, `-n` selection, and
|
|
280
|
+
`distill` automatically.
|
|
273
281
|
|
|
274
282
|
## Agent skill
|
|
275
283
|
|