wicked-crew-api-types 0.101.0 → 0.103.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 +256 -1
  2. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -261,6 +261,12 @@ export interface HealthCapabilities {
261
261
  * has the field. ABSENT or `false` — a walkthrough step on this daemon's runs fails closed.
262
262
  */
263
263
  walkthroughRoots?: boolean;
264
+ /**
265
+ * (crew ≥ 0.9.0; wicked-core#850) `LaunchRunBody.reducedAssurance` is accepted, a one-CLI
266
+ * full-assurance launch answers `LaunchRunResponse.assuranceNotice`, delivery enforces `qe_acceptance` ({@link QeAcceptanceRefusal}) and gate / delivery responses carry
267
+ * receipts. ABSENT on an older daemon — do not send the field (its strict schema 400s on it).
268
+ */
269
+ reducedAssurance?: boolean;
264
270
  }
265
271
 
266
272
  /** One `GET /health.warnings[]` entry (additive; wicked-core#411 / wicked-crew#497). */
@@ -303,6 +309,19 @@ export interface AgentSession {
303
309
  archived_at: number | null;
304
310
  /** Optional operator note recorded at archival. */
305
311
  archive_note: string | null;
312
+ /**
313
+ * (api-types 0.102.0; wicked-core#850, core-ts ≥ 0.7.46) The run's assurance contract, persisted
314
+ * by the engine: `mode: 'reduced'` only when the launch opted in (`reducedAssurance: true`).
315
+ * ABSENT on a run from an older engine (read it as unknown, never as `full`).
316
+ */
317
+ assurance?: RunAssurance;
318
+ /**
319
+ * (crew ≥ 0.9.0, EX-04) How the run's delivery was assured, when crew delivered it post-hoc
320
+ * (`POST /runs/:id/deliver`): `verified: false`, with the tree before and after the lift — the
321
+ * same label the PR body carries. Rehydrated from the `run.delivered` audit entry. ABSENT for an
322
+ * in-run delivery (its receipt is `deliverLiftEvaluated.assurance`) and for an undelivered run.
323
+ */
324
+ delivery_assurance?: DeliveryAssurance;
306
325
  /**
307
326
  * The project this run is filed into (DES-UX-001 §8.2, CREW-UX-2; api-types 0.8.0) —
308
327
  * populated by the crew server from the membership record at DTO assembly on BOTH
@@ -668,6 +687,9 @@ export interface WorkUnit {
668
687
  skill_ref?: string | null;
669
688
  /** The command this unit runs directly (Tool-executor phases). `null`/absent for Agent units. */
670
689
  tool_cmd?: string[] | null;
690
+ /** (api-types 0.102.0; wicked-core#850, core-ts ≥ 0.7.46) The receipt of this unit's LAST gate,
691
+ * as `gateEvaluated.assurance` carried it. ABSENT until a gate ran, and on an older engine. */
692
+ assurance?: AssuranceReceipt;
671
693
  /** Evaluator≠creator role. Present on def-driven units; absent on legacy/free-text. */
672
694
  role?: PhaseRole;
673
695
  /** Gate policy for this phase. Present on def-driven units; absent on legacy/free-text. */
@@ -1260,6 +1282,22 @@ export interface GateInfo {
1260
1282
  * advisory: it never gates a decision, and is omitted entirely on a normal gate.
1261
1283
  */
1262
1284
  refusal?: { matched: boolean; reason: string };
1285
+ /** (crew ≥ 0.9.0) The gated unit's persisted receipt (`WorkUnit.assurance`) — what assured the
1286
+ * work this gate asks about. `null` when the unit carries none (no gate evaluated it yet, or an
1287
+ * older engine); ABSENT on an older daemon. */
1288
+ assurance?: AssuranceReceipt | null;
1289
+ }
1290
+
1291
+ /**
1292
+ * The 200 body of `POST /runs/:id/gate` (and of a gated `POST /runs/:id/resume`). `assurance`
1293
+ * (crew ≥ 0.9.0) is the gated unit's receipt as it stood when the decision was taken; `null` when
1294
+ * the unit carried none. A DELIVER gate's approve also carries `delivery` (its QE acceptance check).
1295
+ */
1296
+ export interface GateDecisionResult {
1297
+ status: SessionStatus;
1298
+ landing?: SteeringLandingResult;
1299
+ assurance?: AssuranceReceipt | null;
1300
+ delivery?: { qeAcceptance: QeAcceptanceCheck | null };
1263
1301
  }
1264
1302
 
1265
1303
  /** Approve / reject payload for the steering gate (`POST /runs/:id/gate`). On a
@@ -1845,6 +1883,14 @@ export interface DataUsedEvent {
1845
1883
  * which denies fail-closed WITHOUT that event; `reason` names the cause;
1846
1884
  * - `repo_checks` — the repository's own checks failed in the worktree (wicked-core F-039, see
1847
1885
  * {@link RepoChecksEvaluatedEvent}).
1886
+ * - `same_seat_evaluator` (api-types 0.102.0; wicked-core#850 EX-01, core-ts ≥ 0.7.46) — a
1887
+ * review/test unit ran on the seat that built its work, on a run whose contract requires a
1888
+ * distinct evaluator. It escalates as a `dead_seat` gate: reassign the unit to a distinct seat.
1889
+ * - `evaluator_error` (api-types 0.102.0; EX-05) — the evaluator≠creator pass errored; `reason`
1890
+ * names the error. Before core-ts 0.7.46 the error was dropped and the gate could approve.
1891
+ * - `judge_unavailable` — the gate's judge did not run (every eligible judge seat failed, or, since
1892
+ * core-ts 0.7.46 / EX-02, the run requires a judge and none distinct from the creator existed).
1893
+ * A HOLD: sign a judge seat in, then approve to re-run.
1848
1894
  * Open-ended (`string & {}`) so a newer engine's source parses in an older studio.
1849
1895
  */
1850
1896
  export type UnitDenialSource =
@@ -1859,6 +1905,9 @@ export type UnitDenialSource =
1859
1905
  | 'elicitation'
1860
1906
  | 'worktree_guard'
1861
1907
  | 'repo_checks'
1908
+ | 'same_seat_evaluator'
1909
+ | 'evaluator_error'
1910
+ | 'judge_unavailable'
1862
1911
  | (string & {});
1863
1912
 
1864
1913
  /** The MACHINE-READABLE twin of `gateEvaluated.denialReason` (wicked-core `UnitDenial`, camelCase on
@@ -1874,6 +1923,136 @@ export interface UnitDenial {
1874
1923
  phase: string | null;
1875
1924
  }
1876
1925
 
1926
+ // ── Assurance (api-types 0.102.0; wicked-core#850, codex audit EX-01..EX-05, core-ts ≥ 0.7.46) ──
1927
+
1928
+ /** The run's assurance mode. `reduced` only when the launch EXPLICITLY opted in
1929
+ * (`LaunchRunBody.reducedAssurance: true`); it is disclosed on every receipt. */
1930
+ export type AssuranceMode = 'full' | 'reduced';
1931
+
1932
+ /** What a run's contract can require: a workflow's `required_instruments`, else the first two. */
1933
+ export type AssuranceRequirement = 'distinct_evaluator' | 'judge' | 'qe_acceptance' | (string & {});
1934
+
1935
+ /** A receipt's instrument token (`ran[]`, `skipped[].instrument`). */
1936
+ export type AssuranceInstrument =
1937
+ | 'pinned_validator'
1938
+ | 'repo_checks'
1939
+ | 'judge'
1940
+ | 'evaluator_pass'
1941
+ | 'distinct_evaluator'
1942
+ | (string & {});
1943
+
1944
+ /** Why an instrument is absent from a receipt. */
1945
+ export type AssuranceSkipReason =
1946
+ | 'reduced_assurance'
1947
+ | 'no_distinct_seat'
1948
+ | 'no_boundary'
1949
+ | 'error'
1950
+ | 'not_applicable'
1951
+ | (string & {});
1952
+
1953
+ /**
1954
+ * The run's assurance CONTRACT, persisted by the engine on the session (`AgentSession.assurance`)
1955
+ * and carried on `sessionStarted.assurance`. `required` is what the workflow requires BEFORE any
1956
+ * waiver; `reduced` waives exactly `distinct_evaluator` and `judge`, never `qe_acceptance`. A
1957
+ * session persisted before core-ts 0.7.46 reads back `full` with the default requirements.
1958
+ */
1959
+ export interface RunAssurance {
1960
+ mode: AssuranceMode;
1961
+ required: AssuranceRequirement[];
1962
+ }
1963
+
1964
+ /** One instrument a receipt did NOT run, and why. */
1965
+ export interface AssuranceSkip {
1966
+ instrument: AssuranceInstrument;
1967
+ reason: AssuranceSkipReason;
1968
+ /** The engine's own words when it has them (the judge-skip reason, the floor note); else `null`. */
1969
+ detail: string | null;
1970
+ }
1971
+
1972
+ /**
1973
+ * What assured ONE decision: the run's contract, the instruments that RAN and the ones that did
1974
+ * not (and why), who made, evaluated and judged the work, the tree it was decided on, the attempt.
1975
+ * On `gateEvaluated.assurance` (one unit's gate, persisted as `WorkUnit.assurance`) and
1976
+ * `deliverLiftEvaluated.assurance` (every gate of the run aggregated, stamped with the delivered
1977
+ * tree). A receipt claims only what ran: a pinned validator that timed out is a skip, checks count
1978
+ * as ran only when some executed, a judge only when a seat answered. `null` fields are the
1979
+ * engine's `None`, never absent.
1980
+ */
1981
+ export interface AssuranceReceipt {
1982
+ mode: AssuranceMode;
1983
+ required: AssuranceRequirement[];
1984
+ ran: AssuranceInstrument[];
1985
+ skipped: AssuranceSkip[];
1986
+ creator: string | null;
1987
+ evaluator: string | null;
1988
+ judge: string | null;
1989
+ tree: string | null;
1990
+ attempt: number;
1991
+ }
1992
+
1993
+ /**
1994
+ * (crew ≥ 0.9.0, EX-03) The QE acceptance check a delivery ran: present when the run's contract
1995
+ * requires `qe_acceptance`. `satisfied` only on a PASS ATTRIBUTED to this run — a FAIL, any
1996
+ * non-PASS verdict, no verdict, an unattributed verdict or an unreadable ledger refuses delivery.
1997
+ */
1998
+ export interface QeAcceptanceCheck {
1999
+ satisfied: boolean;
2000
+ /** The gate's own words (`GET /runs/:id/acceptance` → `gate.reason`). */
2001
+ reason: string;
2002
+ /** The deciding verdict's id and reviewer, when one was attributed; `null` otherwise. */
2003
+ verdictId: string | null;
2004
+ reviewer: string | null;
2005
+ }
2006
+
2007
+ /**
2008
+ * (crew ≥ 0.9.0) What assured a DELIVERY. `receipt` is the run's aggregate: the engine's
2009
+ * `deliverLiftEvaluated.assurance` for an in-run deliver, or — for a post-hoc delivery, which no
2010
+ * engine lift preceded — crew's union of the units' persisted receipts with `tree` set to the
2011
+ * delivered tree. `verified: false` (EX-04) is a post-hoc / recovery delivery: nothing re-verified
2012
+ * the tree it pushed, and `treeBefore` (the run's work as it stood) and `treeAfter` (what was
2013
+ * delivered, after the rebase) say whether the lift moved it. The PR body carries the same label.
2014
+ */
2015
+ export interface DeliveryAssurance {
2016
+ verified: boolean;
2017
+ via: 'deliver_lift' | 'post_hoc';
2018
+ receipt: AssuranceReceipt | null;
2019
+ treeBefore: string | null;
2020
+ treeAfter: string | null;
2021
+ /** `null` when the run's contract does not require `qe_acceptance`. */
2022
+ qeAcceptance: QeAcceptanceCheck | null;
2023
+ }
2024
+
2025
+ /**
2026
+ * (crew ≥ 0.9.0, EX-03) The 409 body of a delivery the QE acceptance requirement refused: an
2027
+ * APPROVE of the deliver gate (`POST /runs/:id/gate`, or a gated `POST /runs/:id/resume`) or a
2028
+ * post-hoc `POST /runs/:id/deliver`. Nothing was pushed; a deliver gate stays open. Record an
2029
+ * attributed PASS (garden's qe `accept`), then approve again.
2030
+ */
2031
+ export interface QeAcceptanceRefusal {
2032
+ code: 'qe_acceptance_required';
2033
+ error: string;
2034
+ acceptance: QeAcceptanceCheck;
2035
+ assurance: AssuranceReceipt | null;
2036
+ }
2037
+
2038
+ /**
2039
+ * (crew ≥ 0.9.0, EX-01/EX-02) `LaunchRunResponse.assuranceNotice`: the run launched under FULL
2040
+ * assurance on a roster whose WORK seats (not benched, not ballot-only) all invoke ONE CLI binary
2041
+ * (the engine's judge identity), so no other seat can evaluate its work and no other identity can
2042
+ * judge it. If the run reviews or changes code, the engine refuses the review on its builder's seat
2043
+ * (`dead_seat` gate) or holds a gate that needs a judge (`judge_unavailable`), and the run waits.
2044
+ * The ways forward are explicit: sign a second CLI in, or relaunch with `retryWith` merged into the
2045
+ * launch body (the creator's seat then evaluates its own work, disclosed on every receipt). A client
2046
+ * shows `message` and asks its operator; crew never applies the opt-in by itself.
2047
+ */
2048
+ export interface LaunchAssuranceNotice {
2049
+ code: 'single_cli_roster';
2050
+ message: string;
2051
+ /** The work seats, all one CLI identity. */
2052
+ seats: string[];
2053
+ retryWith: { retryOf: string; reducedAssurance: true };
2054
+ }
2055
+
1877
2056
  /** §3 B1 — the gate's decision depth, emitted alongside `gateDecided`. `denial` is the structured
1878
2057
  * twin of `denialReason`: `null` when the gate approved, else the winning layer (deny-dominates) —
1879
2058
  * `worktree_guard` and `repo_checks` are the two wicked-core F-036/F-039 layers. `judgeCli` /
@@ -1935,6 +2114,9 @@ export interface GateEvaluatedEvent {
1935
2114
  * parsed", never as PASS.
1936
2115
  */
1937
2116
  evaluatorVerdict?: string | null;
2117
+ /** (api-types 0.102.0; wicked-core#850, core-ts ≥ 0.7.46) What assured this gate — persisted on
2118
+ * the unit as `WorkUnit.assurance`. ABSENT on an older engine. */
2119
+ assurance?: AssuranceReceipt;
1938
2120
  }
1939
2121
 
1940
2122
  /** Foundation wave: session started with enriched context. */
@@ -1946,6 +2128,9 @@ export interface SessionStartedEvent {
1946
2128
  cli_count: number;
1947
2129
  governed: boolean;
1948
2130
  entity_mode: 'shared' | 'isolated';
2131
+ /** (api-types 0.102.0; wicked-core#850, core-ts ≥ 0.7.46) The run's assurance contract. ABSENT
2132
+ * on an older engine. */
2133
+ assurance?: RunAssurance;
1949
2134
  }
1950
2135
 
1951
2136
  // ── P1 observability events ─────────────────────────────────────────────────
@@ -2121,7 +2306,10 @@ export interface GateEscalatedEvent {
2121
2306
  * The raw denial LAYER token (`gateEvaluated.denial.source`): `worktree_guard` ·
2122
2307
  * `input_governance` · `dead_seat` · `repo_checks` · `repo_checks_timeout` · `pinned_validator`
2123
2308
  * · `substance` · `deliverables` · `agent_validator` · `worker_failure` · `evaluator_verdict`
2124
- * (0.7.27) · `governance`. `""` (EMPTY) = a hook veto whose source identity was folded away
2309
+ * (0.7.27) · `governance` · `same_seat_evaluator` (a `dead_seat` condition: the review ran on its
2310
+ * builder's seat — core-ts 0.7.46, EX-01) · `evaluator_error` · `judge_unavailable` (a
2311
+ * `judge_unavailable` condition; since core-ts 0.7.46 also a required judge with no distinct
2312
+ * seat — EX-02). `""` (EMPTY) = a hook veto whose source identity was folded away
2125
2313
  * (`actor.rs` `boundary_deny` arm with no structured denial) — a reader keys copy on
2126
2314
  * `(condition, denialSource)` and treats `""` beside `boundary_deny` as input governance.
2127
2315
  */
@@ -2498,6 +2686,9 @@ export type DeliverLiftEvaluatedEvent = {
2498
2686
  conflicts: string[];
2499
2687
  /** Why the lift was skipped / failed, or a disclosed degradation (a failed fetch); `null` otherwise. */
2500
2688
  note: string | null;
2689
+ /** (api-types 0.102.0; wicked-core#850, core-ts ≥ 0.7.46) Every gate of the run aggregated,
2690
+ * stamped with the delivered tree and the attempt. ABSENT on an older engine. */
2691
+ assurance?: AssuranceReceipt;
2501
2692
  };
2502
2693
 
2503
2694
  /** wicked-core#431 / F-3R2-009 — an `executes_code: false` phase (an evaluator, a recon rung, a
@@ -2624,6 +2815,38 @@ export type AdviceDeliveredEvent = {
2624
2815
  detail: string | null;
2625
2816
  };
2626
2817
 
2818
+ /**
2819
+ * (wicked-core#762) The engine ended an ACP turn itself: the worker's final message was followed by
2820
+ * `quietSecs` of silence (`WICKED_ACP_SETTLE_SECS`, default 600) with no tool call open, so the turn
2821
+ * is settled `Ok` with its `outputBytes` of output as the attempt's result and the wedged process is
2822
+ * dropped. Crew's stall watchdog reads it as a returned worker (never a reassign). Spelled as
2823
+ * wicked-core's `CoreEvent::to_json` emits it.
2824
+ */
2825
+ export type AcpTurnSettledEvent = {
2826
+ type: 'acpTurnSettled';
2827
+ session: string;
2828
+ ord: number;
2829
+ attempt: number;
2830
+ cliKey: string;
2831
+ quietSecs: number;
2832
+ outputBytes: number;
2833
+ };
2834
+
2835
+ /**
2836
+ * (wicked-core#418) An ACP session opened to replace a process the engine closed itself, and what
2837
+ * the cold start cost (`ms`, to the opened session): `reason` is `posture_switch`,
2838
+ * `fenced_unit_quiesced` or `turn_settled` (read an unknown token as a reason, never an error).
2839
+ */
2840
+ export type AcpProcessRestartedEvent = {
2841
+ type: 'acpProcessRestarted';
2842
+ session: string;
2843
+ ord: number;
2844
+ attempt: number;
2845
+ cliKey: string;
2846
+ reason: 'posture_switch' | 'fenced_unit_quiesced' | 'turn_settled' | (string & {});
2847
+ ms: number;
2848
+ };
2849
+
2627
2850
  /**
2628
2851
  * DES-TEAMING-001 §5.3 / §7 (wicked-core#602, S3; api-types 0.40.0) — the worker's answer to one
2629
2852
  * DELIVERED finding, read from its final output line `ADVICE <id>: ACCEPT|DECLINE — <reason>` (the
@@ -4309,6 +4532,17 @@ export interface LaunchRunBody {
4309
4532
  * `excluded: true`. Send only when `GET /health.capabilities.linkedIssuesExclude === true`.
4310
4533
  */
4311
4534
  excludeLinkedIssues?: string[];
4535
+ /**
4536
+ * (crew ≥ 0.9.0; wicked-core#850 EX-01/EX-02) The EXPLICIT opt-in to reduced assurance: the
4537
+ * creator's seat may evaluate its own work and a pinned gate may pass with its judge skipped for
4538
+ * want of a distinct seat — both disclosed on every receipt (`AgentSession.assurance.mode:
4539
+ * 'reduced'`). Omitted or `false` (the same): full assurance — a run that would grade on its
4540
+ * creator's seat parks at the engine's `dead_seat` gate, a gate whose judge had no distinct seat
4541
+ * holds (`judge_unavailable`), and a one-CLI launch is answered with
4542
+ * `LaunchRunResponse.assuranceNotice`. It never waives `qe_acceptance`. A client must ask its
4543
+ * operator before sending `true`; send it only when `GET /health.capabilities.reducedAssurance === true`.
4544
+ */
4545
+ reducedAssurance?: boolean;
4312
4546
  }
4313
4547
 
4314
4548
  /** `POST /linked-issues/preview` (crew#825): what a workflow launch of `problem` WOULD append. */
@@ -4365,6 +4599,9 @@ export interface LaunchRunResponse {
4365
4599
  * same `skills.installed-ahead` finding `GET /diagnostics.skills.findings` carries.
4366
4600
  */
4367
4601
  skillsWarning?: { kind: 'skills.installed-ahead'; severity: 'warning'; message: string };
4602
+ /** (crew ≥ 0.9.0; wicked-core#850) PRESENT when a full-assurance launch's usable seats are all one
4603
+ * CLI: the run will wait at a gate for a distinct seat. ABSENT otherwise. */
4604
+ assuranceNotice?: LaunchAssuranceNotice;
4368
4605
  }
4369
4606
 
4370
4607
  /**
@@ -4399,6 +4636,9 @@ export interface SetGuidanceResult {
4399
4636
  */
4400
4637
  export interface DeliverRunResult {
4401
4638
  prUrl: string;
4639
+ /** (crew ≥ 0.9.0, EX-04) Always `verified: false, via: 'post_hoc'` here: nothing re-verified the
4640
+ * delivered tree. ABSENT on an idempotent replay of a delivery recorded before crew 0.9.0. */
4641
+ assurance?: DeliveryAssurance;
4402
4642
  }
4403
4643
 
4404
4644
  /**
@@ -4550,6 +4790,13 @@ export interface WorkflowDef {
4550
4790
  * Gated at intake: a launch whose snapshot lacks the skill is refused before any unit is planned.
4551
4791
  */
4552
4792
  base_skill_ref?: string | null;
4793
+ /**
4794
+ * (api-types 0.102.0; wicked-core#850, core-ts ≥ 0.7.46) The instruments a run of this workflow
4795
+ * REQUIRES: `distinct_evaluator`, `judge`, `qe_acceptance`. ABSENT ⇒ the first two. An unknown or
4796
+ * repeated token refuses the def at load. `qe_acceptance` is enforced by crew at delivery (an
4797
+ * attributed QE PASS, or no push) and is never waived by `reducedAssurance`.
4798
+ */
4799
+ required_instruments?: string[] | null;
4553
4800
  }
4554
4801
 
4555
4802
  /** A drop-in workflow definition the ENGINE refused, with the engine's own reason (wicked-crew#718). */
@@ -7169,11 +7416,15 @@ export interface CaptureImageFile {
7169
7416
  export interface CaptureBody {
7170
7417
  notes?: string;
7171
7418
  files?: Array<CaptureTextFile | CaptureImageFile>;
7419
+ /** (crew ≥ 0.9.0) The explicit reduced-assurance opt-in, as `LaunchRunBody.reducedAssurance`. */
7420
+ reducedAssurance?: boolean;
7172
7421
  }
7173
7422
 
7174
7423
  /** `POST /projects/:id/capture` → 201. */
7175
7424
  export interface CaptureResponse {
7176
7425
  runId: string;
7426
+ /** (crew ≥ 0.9.0) The launch's {@link LaunchAssuranceNotice}, when it answered one. */
7427
+ assuranceNotice?: LaunchAssuranceNotice;
7177
7428
  }
7178
7429
 
7179
7430
  // ── The Demo experience (wicked-studio#373, api-types 0.61.0) ────────────────────────────────
@@ -7191,11 +7442,15 @@ export interface DemoLaunchBody {
7191
7442
  show: string;
7192
7443
  /** The roster to seat the team from, as `POST /runs` takes it. Omit for the daemon's roster. */
7193
7444
  clisJson?: string;
7445
+ /** (crew ≥ 0.9.0) The explicit reduced-assurance opt-in, as `LaunchRunBody.reducedAssurance`. */
7446
+ reducedAssurance?: boolean;
7194
7447
  }
7195
7448
 
7196
7449
  /** `POST /projects/:id/demo` → 201. */
7197
7450
  export interface DemoLaunchResponse {
7198
7451
  runId: string;
7452
+ /** (crew ≥ 0.9.0) The launch's {@link LaunchAssuranceNotice}, when it answered one. */
7453
+ assuranceNotice?: LaunchAssuranceNotice;
7199
7454
  }
7200
7455
 
7201
7456
  /** `PUT /runs/:id/demo/script` body: the presenter's edit of `script.md` (plan gate only; ≤ 256 KB). */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wicked-crew-api-types",
3
- "version": "0.101.0",
3
+ "version": "0.103.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",