@evident-ai/cli 3.1.1-dev.f24491c → 3.2.0
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 +75 -11
- package/dist/index.js +3096 -544
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -72,20 +72,21 @@ delivers any channel messages (e.g. Slack) to your local OpenCode.
|
|
|
72
72
|
|
|
73
73
|
```bash
|
|
74
74
|
# Interactive: connect a specific runner
|
|
75
|
-
evident run --
|
|
75
|
+
evident run --runner <runner-id>
|
|
76
76
|
|
|
77
77
|
# Drive a single conversation
|
|
78
|
-
evident run --
|
|
78
|
+
evident run --runner <runner-id> --conversation <conversation-id>
|
|
79
79
|
|
|
80
80
|
# CI: exit after 30s with no work
|
|
81
|
-
evident run --
|
|
81
|
+
evident run --runner <runner-id> --idle-timeout 30
|
|
82
82
|
```
|
|
83
83
|
|
|
84
84
|
Options:
|
|
85
85
|
|
|
86
|
-
-
|
|
86
|
+
- `--runner [id]` — Runner ID to connect to. Optional when `EVIDENT_RUNNER_KEY`
|
|
87
87
|
is set (the runner is then resolved automatically from the key).
|
|
88
|
-
-
|
|
88
|
+
- `-a, --agent [id]` — Deprecated alias for `--runner`. Still supported, but it
|
|
89
|
+
prints a deprecation warning; `--runner` wins if both are given.
|
|
89
90
|
- `-p, --port <port>` — OpenCode port (default: `4096`).
|
|
90
91
|
- `--log-level <level>` — Log verbosity: `debug | info | warn | error` (default:
|
|
91
92
|
`info`). Env: `EVIDENT_LOG_LEVEL`.
|
|
@@ -93,7 +94,53 @@ Options:
|
|
|
93
94
|
- `-c, --conversation <id>` — Process only this specific conversation.
|
|
94
95
|
- `--idle-timeout <seconds>` — Exit after N seconds with no pending work (useful
|
|
95
96
|
in CI to avoid polling indefinitely).
|
|
97
|
+
- `--opencode-start-timeout <seconds>` — How long to wait for OpenCode to become
|
|
98
|
+
healthy when the runner starts it itself (default: `180`). On expiry the runner
|
|
99
|
+
warns and comes online anyway rather than failing. Env:
|
|
100
|
+
`EVIDENT_OPENCODE_START_TIMEOUT` (seconds).
|
|
101
|
+
- `--claude-usage-reporting <mode>` — Whether to report the local Claude Code
|
|
102
|
+
subscription's rate-limit usage to Evident, so it shows on the runner page:
|
|
103
|
+
`auto` (default) reports it when a usable Claude Code login is found on this
|
|
104
|
+
machine and stays silent otherwise; `on` forces reporting and warns loudly (and
|
|
105
|
+
keeps retrying) if no usable login is found; `off` disables it entirely — no
|
|
106
|
+
Claude credential is ever read. An unrecognized value falls back to `auto` with
|
|
107
|
+
a warning. Env: `EVIDENT_CLAUDE_USAGE_REPORTING`.
|
|
96
108
|
- `--json` — Output in JSON format (forces non-interactive mode).
|
|
109
|
+
- `--session-cleanup-max-age <duration>` — Delete OpenCode sessions idle longer
|
|
110
|
+
than this window (format `<number><unit>`, unit one of `s, m, h, d` — e.g.
|
|
111
|
+
`7d`, `24h`). Setting this (or `--session-cleanup-max-count`) is what enables
|
|
112
|
+
cleanup — there is no separate on/off flag. An invalid value is warned about
|
|
113
|
+
and ignored, which can leave cleanup off if it was the only rule set. Env:
|
|
114
|
+
`EVIDENT_SESSION_CLEANUP_MAX_AGE`.
|
|
115
|
+
- `--session-cleanup-max-count <n>` — Keep only the newest N OpenCode sessions
|
|
116
|
+
by last activity, deleting the rest. Also enables cleanup; combines with
|
|
117
|
+
`--session-cleanup-max-age` as OR. A session with a turn actively in progress
|
|
118
|
+
is never deleted, regardless of either rule. Env:
|
|
119
|
+
`EVIDENT_SESSION_CLEANUP_MAX_COUNT`.
|
|
120
|
+
- `--max-active-sessions <n>` — Cap how many sessions the runner will have
|
|
121
|
+
actively working at once (default: unlimited). Counts sessions with work in
|
|
122
|
+
flight and is per runner process, not global across runners. Once the cap is
|
|
123
|
+
reached, new work simply stays pending and is picked up on a later poll tick
|
|
124
|
+
— nothing is dropped or errored — but a follow-up into a conversation whose
|
|
125
|
+
session is already active is never blocked, since it costs no extra slot. A
|
|
126
|
+
legitimately long-running turn holds its slot for as long as it runs
|
|
127
|
+
(bounded only by the 6h absolute processing ceiling), so pick N with that in
|
|
128
|
+
mind. After a restart the runner re-adopts work it had already claimed,
|
|
129
|
+
which can briefly push the active count above the cap — that's deliberate;
|
|
130
|
+
the cap bounds new dispatch, not re-adoption. An invalid value (`0`,
|
|
131
|
+
negative, non-numeric) is warned about and falls back to unlimited. Env:
|
|
132
|
+
`EVIDENT_MAX_ACTIVE_SESSIONS`.
|
|
133
|
+
- `--session-cleanup-interval <duration>` — How often the cleanup sweep runs
|
|
134
|
+
(default: `1h`). An invalid value falls back to the default rather than
|
|
135
|
+
disabling cleanup. Env: `EVIDENT_SESSION_CLEANUP_INTERVAL`.
|
|
136
|
+
- `--enable-file-sync-to <dir>` — Let the runner write files Evident has queued
|
|
137
|
+
for it into this directory — it collects them as part of the polling it
|
|
138
|
+
already does, so they land a couple of seconds after you hand them over.
|
|
139
|
+
Repeatable (up to 16); each value must be absolute once a leading `~` is
|
|
140
|
+
expanded, and the filesystem root is rejected. Omit it entirely and the
|
|
141
|
+
runner collects nothing and refuses any queued file, telling you why. Use
|
|
142
|
+
`--enable-file-sync-to ~/.claude` to connect a Claude subscription from the
|
|
143
|
+
web — see the website's Model providers doc.
|
|
97
144
|
|
|
98
145
|
## Global flags
|
|
99
146
|
|
|
@@ -110,11 +157,27 @@ targets the **production** Evident platform by default.
|
|
|
110
157
|
that runner and resolves the runner ID automatically, so `--runner`/`--agent`
|
|
111
158
|
is not required. Ideal for CI/CD. Preferred name; wins over `EVIDENT_AGENT_KEY`
|
|
112
159
|
if both are set.
|
|
113
|
-
- `EVIDENT_AGENT_KEY` —
|
|
160
|
+
- `EVIDENT_AGENT_KEY` — Deprecated alias for `EVIDENT_RUNNER_KEY`. Still fully
|
|
161
|
+
supported, but `evident run` prints a deprecation warning when it is used
|
|
162
|
+
without `EVIDENT_RUNNER_KEY`.
|
|
114
163
|
- `EVIDENT_TOKEN` — A user token used for authentication (alternative to a
|
|
115
164
|
keychain login from `evident login`).
|
|
116
165
|
- `EVIDENT_API_URL` — Override the API base URL (equivalent to `--endpoint`).
|
|
117
166
|
- `EVIDENT_TUNNEL_URL` — Override the tunnel relay URL (equivalent to `--tunnel`).
|
|
167
|
+
- `EVIDENT_CLAUDE_USAGE_REPORTING` — Equivalent to `--claude-usage-reporting`; the
|
|
168
|
+
flag wins if both are set.
|
|
169
|
+
- `EVIDENT_LOG_LEVEL` — Equivalent to `--log-level`; the flag wins if both are
|
|
170
|
+
set, and `-v`/`--verbose` also outranks this env var.
|
|
171
|
+
- `EVIDENT_OPENCODE_START_TIMEOUT` — Equivalent to `--opencode-start-timeout`
|
|
172
|
+
(seconds); the flag wins if both are set.
|
|
173
|
+
- `EVIDENT_SESSION_CLEANUP_MAX_AGE` — Equivalent to `--session-cleanup-max-age`;
|
|
174
|
+
the flag wins if both are set.
|
|
175
|
+
- `EVIDENT_SESSION_CLEANUP_MAX_COUNT` — Equivalent to
|
|
176
|
+
`--session-cleanup-max-count`; the flag wins if both are set.
|
|
177
|
+
- `EVIDENT_MAX_ACTIVE_SESSIONS` — Equivalent to `--max-active-sessions`; the
|
|
178
|
+
flag wins if both are set.
|
|
179
|
+
- `EVIDENT_SESSION_CLEANUP_INTERVAL` — Equivalent to
|
|
180
|
+
`--session-cleanup-interval`; the flag wins if both are set.
|
|
118
181
|
|
|
119
182
|
Authentication precedence for `run`: `EVIDENT_RUNNER_KEY`/`EVIDENT_AGENT_KEY`
|
|
120
183
|
(tied; `EVIDENT_RUNNER_KEY` wins if both are set) → `EVIDENT_TOKEN` →
|
|
@@ -141,20 +204,21 @@ ID.
|
|
|
141
204
|
From your project directory, start the runner:
|
|
142
205
|
|
|
143
206
|
```bash
|
|
144
|
-
evident run --
|
|
207
|
+
evident run --runner <runner-id>
|
|
145
208
|
```
|
|
146
209
|
|
|
147
210
|
`evident run` ensures `opencode serve` is running on `127.0.0.1:4096` (starting
|
|
148
211
|
it if needed) and connects the tunnel. Once connected, the web shows the runner as
|
|
149
212
|
online and you can open its chat.
|
|
150
213
|
|
|
151
|
-
For CI or unattended use, set `
|
|
214
|
+
For CI or unattended use, set `EVIDENT_RUNNER_KEY` and omit `--runner`:
|
|
152
215
|
|
|
153
216
|
```bash
|
|
154
|
-
|
|
217
|
+
EVIDENT_RUNNER_KEY=<runner-key> evident run --idle-timeout 30
|
|
155
218
|
```
|
|
156
219
|
|
|
157
|
-
(`
|
|
220
|
+
(`EVIDENT_AGENT_KEY` is a still-supported deprecated alias for
|
|
221
|
+
`EVIDENT_RUNNER_KEY`.)
|
|
158
222
|
|
|
159
223
|
## How it works
|
|
160
224
|
|
|
@@ -191,7 +255,7 @@ evident logout
|
|
|
191
255
|
evident login
|
|
192
256
|
```
|
|
193
257
|
|
|
194
|
-
In CI, make sure `
|
|
258
|
+
In CI, make sure `EVIDENT_RUNNER_KEY` (or `EVIDENT_TOKEN`) is set.
|
|
195
259
|
|
|
196
260
|
### OpenCode isn't reachable
|
|
197
261
|
|