wicked-crew-api-types 0.127.0 → 0.130.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 +58 -2
  2. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -282,6 +282,11 @@ export interface HealthCapabilities {
282
282
  * older daemon — read as `'required'`.
283
283
  */
284
284
  qeAcceptance?: 'required' | 'off';
285
+ /**
286
+ * (api-types 0.128.0) `LaunchRunBody.primary` is accepted: a launch may name the seat that leads
287
+ * the run. ABSENT on an older daemon — do not send the field (its strict schema 400s on it).
288
+ */
289
+ launchPrimary?: boolean;
285
290
  }
286
291
 
287
292
  /** One `GET /health.warnings[]` entry (additive; wicked-core#411 / wicked-crew#497). */
@@ -1024,7 +1029,11 @@ export interface RosterSeat {
1024
1029
  key: string;
1025
1030
  display_name: string;
1026
1031
  binary: string;
1032
+ /** wicked-core#572: may cast a council ballot — and nothing more (see `work_eligible`). */
1027
1033
  enabled_for_council: boolean;
1034
+ /** (api-types 0.129.0) wicked-core#572: may be seated for work; absent means true. The engine's
1035
+ * registry field, passed through verbatim. */
1036
+ seat_eligible_for_work?: boolean;
1028
1037
  category?: string;
1029
1038
  /**
1030
1039
  * Runtime health (crew#274). Additive: absent on a daemon predating the field, and safe to
@@ -1119,6 +1128,18 @@ export interface RosterSeat {
1119
1128
  council_eligible?: boolean;
1120
1129
  /** Present when `council_eligible` is false: the one reason, in the operator's words. */
1121
1130
  council_ineligible_reason?: string;
1131
+ /**
1132
+ * (api-types 0.129.0, crew#916, wicked-core#572) Whether the seat may be seated for WORK as far as
1133
+ * the daemon can tell: `seat_eligible_for_work` not false, `auth` not `signed_out`, no active
1134
+ * engine bench, login check answered. Independent of `council_eligible` — `enabled_for_council`
1135
+ * covers the ballot only, so a work-only seat reads `council_eligible: false, work_eligible: true`
1136
+ * and a reviewer-only seat the reverse. Neither false alone benches the seat: a launch benches it
1137
+ * only when both are false. Never handed to the engine (`clisJson` strips it). ABSENT on a daemon
1138
+ * before 0.129.0.
1139
+ */
1140
+ work_eligible?: boolean;
1141
+ /** (api-types 0.129.0) Present when `work_eligible` is false: the one reason, in the operator's words. */
1142
+ work_ineligible_reason?: string;
1122
1143
  /**
1123
1144
  * Present when THIS daemon's recent councils benched the seat: the engine's own
1124
1145
  * `councilSeatFailed` evidence (`non_zero_exit` / `timed_out`, the derivative `benched` kind
@@ -4746,6 +4767,15 @@ export interface LaunchRunBody {
4746
4767
  problem: string;
4747
4768
  sessionId?: string;
4748
4769
  clisJson?: string;
4770
+ /**
4771
+ * (api-types 0.128.0; DES-TEAMING-002 §8.1) The seat that LEADS the run (the primary agent, PA):
4772
+ * a seat key from the launch roster (`clisJson`, else the daemon's default roster). The PA owns
4773
+ * every step not marked `owner: "team"`. Omitted: the engine picks one at random among the
4774
+ * eligible seats; either way the choice is recorded as `wicked.team.path.started.selection`
4775
+ * (`"chosen"` | `"random"`). A key that is not in the roster, or names a signed-out seat, is a 400.
4776
+ * Send only when `GET /health.capabilities.launchPrimary === true`.
4777
+ */
4778
+ primary?: string;
4749
4779
  entityMode?: EntityMode;
4750
4780
  humanConfirm?: string;
4751
4781
  repoRef?: string;
@@ -7446,6 +7476,24 @@ export interface DiagnosticsResponse {
7446
7476
  seatGovernance?: DiagnosticsSeatGovernance;
7447
7477
  /** (api-types 0.97.0, crew#740) The memory store this daemon reads and writes. */
7448
7478
  memoryStore?: MemoryStoreInfo;
7479
+ /** (api-types 0.130.0, crew#1068) The wicked-vault CLI the engine records held team findings with
7480
+ * — see `DiagnosticsVault`. `null` on a route set booted without an engine adapter; ABSENT on an
7481
+ * older daemon. */
7482
+ vault?: DiagnosticsVault | null;
7483
+ }
7484
+
7485
+ /**
7486
+ * (api-types 0.130.0, crew#1068) `DiagnosticsResponse.vault`: what the daemon exported to the engine
7487
+ * as `WICKED_VAULT_BIN` at boot. `shipped` = crew's own `wicked-vault` dependency's bin (an absolute
7488
+ * path); `operator` = the operator's own value, kept; `off` = the operator set it empty (the vault is
7489
+ * switched off on purpose); `unresolvable` = crew's bin could not be resolved, so nothing was
7490
+ * exported. `finding` is non-null exactly for `off` and `unresolvable` — the same entry
7491
+ * `GET /health.warnings[]` carries (`vault.off` / `vault.unresolvable`) — and names the remedy.
7492
+ */
7493
+ export interface DiagnosticsVault {
7494
+ bin: string | null;
7495
+ source: 'shipped' | 'operator' | 'off' | 'unresolvable';
7496
+ finding: { kind: 'vault.off' | 'vault.unresolvable'; severity: 'warning'; message: string; remedy: string } | null;
7449
7497
  }
7450
7498
 
7451
7499
  /** `DiagnosticsResponse.seatGovernance` (crew#742). Paths are for the local operator. */
@@ -10081,7 +10129,11 @@ export interface McpSecretResponse {
10081
10129
  /** `POST /mcp/call`: what the garden shim sends. `token` is the worker's `WICKED_MCP_TOKEN`. */
10082
10130
  export interface McpCallBody {
10083
10131
  token: string;
10084
- /** `mcp:<server>/<tool>`. */
10132
+ /**
10133
+ * `mcp:<server>/<tool>`. The server name `estate` is reserved (wicked-core#1018): `mcp:estate/<tool>`
10134
+ * is the estate relay, a container seat's way to its run's estate (the read-only graph, memory,
10135
+ * knowledge and rules lookups, and `proposal.submit`), scoped by the daemon to the token's run.
10136
+ */
10085
10137
  subject: string;
10086
10138
  /** The tool's arguments (a JSON object); absent = `{}`. */
10087
10139
  args?: Record<string, unknown>;
@@ -10118,7 +10170,11 @@ export interface McpCallResponse {
10118
10170
  subject: string;
10119
10171
  /** The call record's span id (`GET /mcp/usage` and the run's Governance panel resolve it). */
10120
10172
  callId: string | null;
10121
- /** The scrubbed `tools/call` result — only when `outcome` is `ok`. */
10173
+ /**
10174
+ * The scrubbed `tools/call` result — only when `outcome` is `ok`. For `mcp:estate/<tool>`, a
10175
+ * JSON-RPC error estate answered (e.g. `-32602`, fix the arguments) is a tool error that keeps
10176
+ * its code: `{ content, isError: true, rpcError: { code, message } }`.
10177
+ */
10122
10178
  result?: Record<string, unknown>;
10123
10179
  /** The rules or gates that decided (deny, ask, withheld). */
10124
10180
  ruleIds: string[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wicked-crew-api-types",
3
- "version": "0.127.0",
3
+ "version": "0.130.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",