wicked-crew-api-types 0.98.0 → 0.99.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.
Files changed (2) hide show
  1. package/index.d.ts +42 -2
  2. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -826,6 +826,15 @@ export interface RosterSeat {
826
826
  * engine predating the field (serde omits `None`) and on seats with no known login flow.
827
827
  */
828
828
  login_invocation?: string;
829
+ /**
830
+ * The shell invocation that signs this seat OUT of its own configuration root (crew#615;
831
+ * wicked-core#807 `AgenticCli.logout_invocation`, core-ts >= 0.7.43): the CLI's own documented
832
+ * logout (`claude auth logout`, `codex logout`, `opencode auth logout`), prefixed with the seat's
833
+ * root exactly like {@link login_invocation}. Passed through VERBATIM; absent for a seat whose CLI
834
+ * documents no logout (copilot, pi, agy) and on an engine predating the field. `POST
835
+ * /seats/:cli/logout` runs it.
836
+ */
837
+ logout_invocation?: string;
829
838
  /**
830
839
  * Whether the seat LOOKS signed in — a cheap file/env-presence HEURISTIC computed by the
831
840
  * daemon (`seat-signin.ts`), never a spawned probe and never proof the credential still
@@ -2569,7 +2578,8 @@ export interface UnitPlannedEvent {
2569
2578
  description: string;
2570
2579
  stage: StageKind;
2571
2580
  role: PhaseRole;
2572
- gate: 'auto' | 'human_confirm' | 'human_confirm_if';
2581
+ /** `consent_before` from wicked-core-ts 0.7.43 (core#801, crew#888). */
2582
+ gate: 'auto' | 'human_confirm' | 'human_confirm_if' | 'consent_before';
2573
2583
  skill_ref: string | null;
2574
2584
  has_validator_pin: boolean;
2575
2585
  executor_type: 'agent' | 'tool';
@@ -4301,9 +4311,17 @@ export interface GraphKind {
4301
4311
  /** Gate position in the value→strategy→execution ladder. */
4302
4312
  export type GateType = 'value' | 'strategy' | 'execution';
4303
4313
 
4304
- /** Human-confirm spec for a phase gate (serde flattened from Rust enum). */
4314
+ /**
4315
+ * Human-confirm spec for a phase gate (serde flattened from Rust enum).
4316
+ *
4317
+ * `'consent_before'` (wicked-core#805 / core#801, core-ts >= 0.7.43; crew#888): the engine pauses
4318
+ * BEFORE the phase runs, with `awaitingHuman{gateKind: 'consent'}`, whatever the run-level
4319
+ * `humanConfirm` policy, and nothing pauses after it. Approve runs the phase; reject cancels the run
4320
+ * with nothing in the phase run. A standing order never answers a `consent` gate.
4321
+ */
4305
4322
  export type GateSpec =
4306
4323
  | 'auto'
4324
+ | 'consent_before'
4307
4325
  | { human_confirm: { unconditional: boolean } }
4308
4326
  | { human_confirm_if: 'verdict_not_pass' };
4309
4327
 
@@ -4422,6 +4440,28 @@ export interface DomainCoverage {
4422
4440
  resolved: number;
4423
4441
  }
4424
4442
 
4443
+ /**
4444
+ * `POST /seats/:cli/login` and `POST /seats/:cli/logout` (crew#615): the PTY size for the terminal
4445
+ * the daemon opens running the seat's own `login_invocation` / `logout_invocation`. Both optional
4446
+ * (default 100 x 30).
4447
+ */
4448
+ export interface SeatSessionBody {
4449
+ cols?: number;
4450
+ rows?: number;
4451
+ }
4452
+
4453
+ /**
4454
+ * The answer to {@link SeatSessionBody}: the terminal running the seat's sign-in / sign-out
4455
+ * command. Drive and read it over `/ws/terminals/:id` (a device URL streams there). 404 when the
4456
+ * seat is unknown or its CLI documents no such command.
4457
+ */
4458
+ export interface SeatSessionResponse {
4459
+ terminalId: string;
4460
+ /** The seat key the command was run for. */
4461
+ cli: string;
4462
+ action: 'login' | 'logout';
4463
+ }
4464
+
4425
4465
  /** The open-terminal request body (`POST /terminals`, DES-TERMINAL-001 §6). */
4426
4466
  export interface OpenTerminalBody {
4427
4467
  /** Working directory the PTY opens in. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wicked-crew-api-types",
3
- "version": "0.98.0",
3
+ "version": "0.99.0",
4
4
  "description": "The wire contract of the wicked-crew daemon's /api/v1 REST surface and /ws CoreEvent frames \u2014 types only, zero runtime",
5
5
  "type": "module",
6
6
  "types": "./index.d.ts",