@eventmodelers/cli 1.0.98 → 1.0.100

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.
Files changed (3) hide show
  1. package/README.md +12 -6
  2. package/cli.js +7 -1
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -217,15 +217,21 @@ server to register by hand (`<baseUrl>/mcp`, header `x-token` from `$EVENTMODELE
217
217
  Run `init-agents --hosts <harness>` to install the skills for a harness that does not read
218
218
  `.claude/skills`. There are no subagents: self-directed work is done inline.
219
219
 
220
- **In a container.** `docker/<agent>/Dockerfile` runs the modeling agent for one coding agent
221
- (so far `docker/opencode`). Build from this directory and pass the board's credentials as env vars:
220
+ **In a container.** `docker/agent/Dockerfile` runs the modeling agent with Claude Code, OpenCode and Codex all installed;
221
+ `AGENT` (`claude` by default, `opencode` or `codex`) picks which one runs. Build from this directory and pass the board's
222
+ credentials as env vars:
222
223
 
223
224
  ```bash
224
- docker build -f docker/opencode/Dockerfile -t eventmodelers-agent-opencode .
225
- docker run --rm -e EVENTMODELERS_TOKEN=... -e EVENTMODELERS_ORGANIZATION_ID=... -e EVENTMODELERS_BOARD_ID=... \
226
- -e OPENCODE_API_KEY=... eventmodelers-agent-opencode --model opencode/big-pickle
225
+ docker build -f docker/agent/Dockerfile -t eventmodelers-agent .
226
+ docker run --rm -e AGENT=codex -e OPENAI_API_KEY \
227
+ -e EVENTMODELERS_TOKEN=... -e EVENTMODELERS_ORGANIZATION_ID=... -e EVENTMODELERS_BOARD_ID=... \
228
+ eventmodelers-agent --model gpt-5-codex
227
229
  ```
228
230
 
231
+ Claude authenticates with `ANTHROPIC_API_KEY`, or with your subscription via `CLAUDE_CODE_OAUTH_TOKEN` (run `claude setup-token`
232
+ once). The container is the sandbox, so the image sets `EVENTMODELERS_CODEX_NO_SANDBOX=1`, which makes the `codex` preset run
233
+ `--dangerously-bypass-approvals-and-sandbox` instead of `--full-auto`.
234
+
229
235
  `--agent`, `--exec`, `--local-ai` and `--bash` each pick the runner, so pass at most one of them —
230
236
  any two together are rejected. For a local or self-hosted model use `--local-ai`, not `--agent`.
231
237
 
@@ -734,7 +740,7 @@ The workflow then:
734
740
  | `images` | Builds the six agent images for `linux/amd64` and `linux/arm64`, **scans each for credentials** (`.github/scripts/scan-image.sh`), and only then pushes it |
735
741
  | `merge` | Combines the two architectures into one multi-arch image per name, tagged `:<tag>` and `:latest` |
736
742
 
737
- Images land in `ghcr.io/nebulit-gmbh/`: `eventmodelers-agent-claude`, `eventmodelers-agent-opencode`, and `em-studio-buildkit-{claude,opencode}-{node,java}`. They run the CLI from the tagged checkout, not from npm, so they don't wait on the npm publish.
743
+ Images land in `docker.io/nebulit/`: `eventmodelers-agent` (modeling) and `em-studio-buildkit-{node,java,dotnet}` (building); each carries all three agent CLIs and `AGENT` selects one. They run the CLI from the tagged checkout, not from npm, so they don't wait on the npm publish.
738
744
 
739
745
  **One-time setup:** an `NPM_TOKEN` repo secret (an npm automation token allowed to publish `@eventmodelers/cli`). The images push with the built-in `GITHUB_TOKEN`; new GHCR packages start private, so make them public in the org's package settings if they should be pullable without a login.
740
746
 
package/cli.js CHANGED
@@ -116,7 +116,13 @@ function resolveAgentPreset(opts, loop) {
116
116
  console.error('❌ --agent is mutually exclusive with --local-ai/--bash — pick one runner.');
117
117
  process.exit(1);
118
118
  }
119
- return AGENT_PRESETS[name]?.[loop] ?? null;
119
+ const cmd = AGENT_PRESETS[name]?.[loop] ?? null;
120
+ // The docker images set this: Codex's own sandbox (landlock) can't start inside a container, and the
121
+ // container already is the sandbox — the flag Codex documents for externally sandboxed environments.
122
+ if (name === 'codex' && cmd && process.env.EVENTMODELERS_CODEX_NO_SANDBOX === '1') {
123
+ return cmd.replace('--full-auto', '--dangerously-bypass-approvals-and-sandbox');
124
+ }
125
+ return cmd;
120
126
  }
121
127
 
122
128
  const STACKS = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eventmodelers/cli",
3
- "version": "1.0.98",
3
+ "version": "1.0.100",
4
4
  "description": "Eventmodelers CLI — real-time Claude agent + skills for Claude Code, for any stack (Node, Supabase, Axon, OpenCQRS, UmaDB, Kurrent, or modeling-only)",
5
5
  "type": "module",
6
6
  "bin": {