wicked-crew-api-types 0.3.0 → 0.5.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/index.d.ts +61 -0
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -221,6 +221,26 @@ export interface OnboardRef {
|
|
|
221
221
|
runId: string | null;
|
|
222
222
|
}
|
|
223
223
|
|
|
224
|
+
/**
|
|
225
|
+
* Runtime health of one council seat (crew#274).
|
|
226
|
+
*
|
|
227
|
+
* Derived by the daemon from the live CoreEvent stream — NEVER from config. The roster is
|
|
228
|
+
* declarative: every configured CLI stays listed and enabled in `clis.toml`; quota/auth/runtime
|
|
229
|
+
* errors are runtime state the platform detects and displays as `inactive` + the error excerpt.
|
|
230
|
+
* Recovery is automatic: a captured-ok unit output for the seat, or an exit-0 `version_probe`
|
|
231
|
+
* from the daemon's low-frequency recovery probe, flips the seat back to `active` and clears
|
|
232
|
+
* the message — no operator hand-edit involved.
|
|
233
|
+
*/
|
|
234
|
+
export interface SeatHealth {
|
|
235
|
+
status: 'active' | 'inactive';
|
|
236
|
+
/** Bounded excerpt of the last seat-level error; present while `inactive`. */
|
|
237
|
+
message?: string;
|
|
238
|
+
/** When the seat entered its current status (ISO-8601). */
|
|
239
|
+
since: string;
|
|
240
|
+
/** When the last seat-level error was observed (ISO-8601), if any was. */
|
|
241
|
+
lastErrorAt?: string;
|
|
242
|
+
}
|
|
243
|
+
|
|
224
244
|
/**
|
|
225
245
|
* A council seat (`AgenticCli`) as returned by `GET /roster`. Only the fields
|
|
226
246
|
* the launch form uses are named; the index signature keeps the (large) rest of
|
|
@@ -232,9 +252,42 @@ export interface RosterSeat {
|
|
|
232
252
|
binary: string;
|
|
233
253
|
enabled_for_council: boolean;
|
|
234
254
|
category?: string;
|
|
255
|
+
/**
|
|
256
|
+
* Runtime health (crew#274). Additive: absent on a daemon predating the field, and safe to
|
|
257
|
+
* round-trip into `clisJson` (the engine's `AgenticCli` deserializer ignores unknown fields).
|
|
258
|
+
* Absent-or-default reads as `active` with no message.
|
|
259
|
+
*/
|
|
260
|
+
health?: SeatHealth;
|
|
261
|
+
/**
|
|
262
|
+
* The shell invocation that runs this seat's own interactive login flow (seat sign-in;
|
|
263
|
+
* wicked-core PR#278 `AgenticCli.login_invocation`). Passed through from the engine roster
|
|
264
|
+
* VERBATIM — the daemon never synthesizes one. The studio hosts it in a PTY terminal
|
|
265
|
+
* (`POST /terminals`) so every CLI's native sign-in gets one uniform surface. Absent on an
|
|
266
|
+
* engine predating the field (serde omits `None`) and on seats with no known login flow.
|
|
267
|
+
*/
|
|
268
|
+
login_invocation?: string;
|
|
269
|
+
/**
|
|
270
|
+
* Whether the seat LOOKS signed in — a cheap file/env-presence HEURISTIC computed by the
|
|
271
|
+
* daemon (`seat-signin.ts`), never a spawned probe and never proof the credential still
|
|
272
|
+
* works. Three-valued on purpose: `true`/`false` when the seat's auth state is observable
|
|
273
|
+
* from files or env, `null`/absent when it is unknowable cheaply (keychain-backed seats,
|
|
274
|
+
* unknown seat keys, or a daemon predating the field).
|
|
275
|
+
*/
|
|
276
|
+
signed_in?: boolean | null;
|
|
235
277
|
[k: string]: unknown;
|
|
236
278
|
}
|
|
237
279
|
|
|
280
|
+
/** Body for `POST /open` — open a file/folder with the OS default application (crew#273). */
|
|
281
|
+
export interface OpenPathBody {
|
|
282
|
+
/**
|
|
283
|
+
* ABSOLUTE path to open. Validated daemon-side: it must resolve inside the run's workdir /
|
|
284
|
+
* extra write roots (when `runId` is given) or a registered repo root — never an arbitrary path.
|
|
285
|
+
*/
|
|
286
|
+
path: string;
|
|
287
|
+
/** Widen validation to this run's workdir + extra write roots. Unknown id ⇒ 404. */
|
|
288
|
+
runId?: string;
|
|
289
|
+
}
|
|
290
|
+
|
|
238
291
|
/** The daemon's cached open-gate record (`GET /runs/:id/gate`, DES-STUDIO-001 §3.3). */
|
|
239
292
|
export interface GateInfo {
|
|
240
293
|
runId: string;
|
|
@@ -998,6 +1051,14 @@ export interface GitContributor {
|
|
|
998
1051
|
export interface SystemSettings {
|
|
999
1052
|
/** Max nodes returned by wicked-estate graph-view (default 150). */
|
|
1000
1053
|
graphNodeLimit: number;
|
|
1054
|
+
/**
|
|
1055
|
+
* Base directory for the ENGINE-OWNED worker CLI config homes (the claude worker home is
|
|
1056
|
+
* `<root>/claude`). The daemon applies it as env `WICKED_WORKER_HOME` at boot and on every
|
|
1057
|
+
* settings change; the engine reads that env per worker spawn (acp_runner.rs), so a change
|
|
1058
|
+
* takes effect on the next spawn with no restart. Absolute path when set; `""` or absent =
|
|
1059
|
+
* the engine default `~/.wicked-worker`.
|
|
1060
|
+
*/
|
|
1061
|
+
worker_config_root?: string;
|
|
1001
1062
|
}
|
|
1002
1063
|
|
|
1003
1064
|
// ── Requirements management (server-side search + overrides; crew api/requirements.ts) ──
|
package/package.json
CHANGED