wicked-crew-api-types 0.97.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.
- package/index.d.ts +94 -4
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -227,6 +227,8 @@ export interface HealthCapabilities {
|
|
|
227
227
|
/**
|
|
228
228
|
* `LaunchRunBody.revisesPr` is accepted (crew#550; crew ≥ 0.7.36). ABSENT on a daemon before
|
|
229
229
|
* the field — read as `false`: do not send `revisesPr` to such a daemon.
|
|
230
|
+
* NOTE (crew#662): this CAPABILITY flag is a boolean; the LAUNCH field of the same name,
|
|
231
|
+
* `LaunchRunBody.revisesPr`, is the pull request NUMBER (a positive integer) — never `true`.
|
|
230
232
|
*/
|
|
231
233
|
revisesPr?: boolean;
|
|
232
234
|
/**
|
|
@@ -246,6 +248,12 @@ export interface HealthCapabilities {
|
|
|
246
248
|
* as `false`: group such a daemon's runs one session per run.
|
|
247
249
|
*/
|
|
248
250
|
runChatId?: boolean;
|
|
251
|
+
/**
|
|
252
|
+
* (crew#825; additive) `LaunchRunBody.excludeLinkedIssues` is accepted and
|
|
253
|
+
* `POST /linked-issues/preview` is served. ABSENT on an older daemon — read as `false`: do not
|
|
254
|
+
* send the field (its strict launch schema 400s on it) and do not call the preview.
|
|
255
|
+
*/
|
|
256
|
+
linkedIssuesExclude?: boolean;
|
|
249
257
|
/**
|
|
250
258
|
* Repo-bound runs get an EVIDENCE ROOT for walkthroughs (WT-W1, api-types 0.74.0): the engine
|
|
251
259
|
* addon takes `LaunchOptions.evidenceRoot` (wicked-core-ts ≥ 0.7.35), so a walkthrough step on a
|
|
@@ -818,6 +826,15 @@ export interface RosterSeat {
|
|
|
818
826
|
* engine predating the field (serde omits `None`) and on seats with no known login flow.
|
|
819
827
|
*/
|
|
820
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;
|
|
821
838
|
/**
|
|
822
839
|
* Whether the seat LOOKS signed in — a cheap file/env-presence HEURISTIC computed by the
|
|
823
840
|
* daemon (`seat-signin.ts`), never a spawned probe and never proof the credential still
|
|
@@ -2561,7 +2578,8 @@ export interface UnitPlannedEvent {
|
|
|
2561
2578
|
description: string;
|
|
2562
2579
|
stage: StageKind;
|
|
2563
2580
|
role: PhaseRole;
|
|
2564
|
-
|
|
2581
|
+
/** `consent_before` from wicked-core-ts 0.7.43 (core#801, crew#888). */
|
|
2582
|
+
gate: 'auto' | 'human_confirm' | 'human_confirm_if' | 'consent_before';
|
|
2565
2583
|
skill_ref: string | null;
|
|
2566
2584
|
has_validator_pin: boolean;
|
|
2567
2585
|
executor_type: 'agent' | 'tool';
|
|
@@ -4063,6 +4081,8 @@ export interface LaunchRunBody {
|
|
|
4063
4081
|
* `deliver: 'none'` is a 400), and the PR must be OPEN and not from a fork (409 naming why).
|
|
4064
4082
|
* Send it ONLY when `GET /health.capabilities.revisesPr === true` — an older daemon's strict
|
|
4065
4083
|
* launch schema rejects the key with a 400.
|
|
4084
|
+
* NOTE (crew#662): a positive integer PR number — not the boolean capability flag
|
|
4085
|
+
* `HealthCapabilities.revisesPr` of the same name. A 400 names the field and what it expected.
|
|
4066
4086
|
*/
|
|
4067
4087
|
revisesPr?: number;
|
|
4068
4088
|
/**
|
|
@@ -4120,6 +4140,30 @@ export interface LaunchRunBody {
|
|
|
4120
4140
|
* guard as `channel` above.
|
|
4121
4141
|
*/
|
|
4122
4142
|
actor?: string;
|
|
4143
|
+
/**
|
|
4144
|
+
* (crew#825; additive) Issue refs the intent names that the daemon must NOT read and append to
|
|
4145
|
+
* the problem (`"541"`, `"#541"`, `"owner/repo#541"`; at most 50) — a reference in passing is not
|
|
4146
|
+
* a request to inline the issue. Answered as `LaunchRunResponse.linkedIssues[]` entries with
|
|
4147
|
+
* `excluded: true`. Send only when `GET /health.capabilities.linkedIssuesExclude === true`.
|
|
4148
|
+
*/
|
|
4149
|
+
excludeLinkedIssues?: string[];
|
|
4150
|
+
}
|
|
4151
|
+
|
|
4152
|
+
/** `POST /linked-issues/preview` (crew#825): what a workflow launch of `problem` WOULD append. */
|
|
4153
|
+
export interface LinkedIssuesPreviewBody {
|
|
4154
|
+
problem: string;
|
|
4155
|
+
repoRef?: string;
|
|
4156
|
+
excludeLinkedIssues?: string[];
|
|
4157
|
+
}
|
|
4158
|
+
|
|
4159
|
+
/** The `POST /linked-issues/preview` 200 body: the same reading `POST /runs` does, nothing launched. */
|
|
4160
|
+
export interface LinkedIssuesPreviewResponse {
|
|
4161
|
+
issues: LinkedIssue[];
|
|
4162
|
+
/** Characters the block would add to the problem; `0` when nothing would be appended. */
|
|
4163
|
+
appendedChars: number;
|
|
4164
|
+
/** Present when the reading itself failed (the repo list or gh unreadable): a launch now runs on
|
|
4165
|
+
* the intent alone, exactly as `POST /runs` does on the same fault. */
|
|
4166
|
+
error?: string;
|
|
4123
4167
|
}
|
|
4124
4168
|
|
|
4125
4169
|
/**
|
|
@@ -4136,6 +4180,10 @@ export interface LinkedIssue {
|
|
|
4136
4180
|
title?: string;
|
|
4137
4181
|
/** Present when not `resolved`: why, in one line. */
|
|
4138
4182
|
error?: string;
|
|
4183
|
+
/** (crew#825; additive) Present when `resolved`: characters this issue adds to the problem. */
|
|
4184
|
+
chars?: number;
|
|
4185
|
+
/** (crew#825; additive) `true` when the launch left this ref out (`excludeLinkedIssues`). */
|
|
4186
|
+
excluded?: true;
|
|
4139
4187
|
}
|
|
4140
4188
|
|
|
4141
4189
|
/** The `POST /runs` 201 body. `linkedIssues` (crew#627, additive) is present when the intent of a
|
|
@@ -4149,6 +4197,12 @@ export interface LaunchRunResponse {
|
|
|
4149
4197
|
* delivery), and `notice` says so in words a composer can show. ABSENT on every other launch.
|
|
4150
4198
|
*/
|
|
4151
4199
|
freeText?: { notice: string };
|
|
4200
|
+
/**
|
|
4201
|
+
* (crew#874) PRESENT when the installed wicked-garden is not the one the published skills
|
|
4202
|
+
* generation was built from: the run executes the PUBLISHED generation, and this says so — the
|
|
4203
|
+
* same `skills.installed-ahead` finding `GET /diagnostics.skills.findings` carries.
|
|
4204
|
+
*/
|
|
4205
|
+
skillsWarning?: { kind: 'skills.installed-ahead'; severity: 'warning'; message: string };
|
|
4152
4206
|
}
|
|
4153
4207
|
|
|
4154
4208
|
/**
|
|
@@ -4257,9 +4311,17 @@ export interface GraphKind {
|
|
|
4257
4311
|
/** Gate position in the value→strategy→execution ladder. */
|
|
4258
4312
|
export type GateType = 'value' | 'strategy' | 'execution';
|
|
4259
4313
|
|
|
4260
|
-
/**
|
|
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
|
+
*/
|
|
4261
4322
|
export type GateSpec =
|
|
4262
4323
|
| 'auto'
|
|
4324
|
+
| 'consent_before'
|
|
4263
4325
|
| { human_confirm: { unconditional: boolean } }
|
|
4264
4326
|
| { human_confirm_if: 'verdict_not_pass' };
|
|
4265
4327
|
|
|
@@ -4378,6 +4440,28 @@ export interface DomainCoverage {
|
|
|
4378
4440
|
resolved: number;
|
|
4379
4441
|
}
|
|
4380
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
|
+
|
|
4381
4465
|
/** The open-terminal request body (`POST /terminals`, DES-TERMINAL-001 §6). */
|
|
4382
4466
|
export interface OpenTerminalBody {
|
|
4383
4467
|
/** Working directory the PTY opens in. */
|
|
@@ -6504,7 +6588,12 @@ export interface DiagnosticsSkillsFinding {
|
|
|
6504
6588
|
* generation landed with (a reference the skill's author owns that names nothing in the
|
|
6505
6589
|
* snapshot — published as found); `message` names the publish finding's kind, `file:line` and
|
|
6506
6590
|
* evidence. Reported while that generation is current, from the publish that found them until the
|
|
6507
|
-
* daemon restarts (a restart re-verifies `current` without re-scanning it)
|
|
6591
|
+
* daemon restarts (a restart re-verifies `current` without re-scanning it);
|
|
6592
|
+
* `skills.installed-ahead` (`warning`, crew#874) = the installed wicked-garden's content hash is
|
|
6593
|
+
* not the baseline the published generation was built from — runs use the published (older)
|
|
6594
|
+
* skills; `message` names both versions and the remedy (refresh-baseline, then publish). A
|
|
6595
|
+
* daemon boot refreshes and publishes on its own when nothing in the catalog is user-edited
|
|
6596
|
+
* (`WICKED_CREW_SKILLS_AUTO_REFRESH=0` turns that off); when it did not, the message says why. */
|
|
6508
6597
|
kind:
|
|
6509
6598
|
| 'skills.fallback'
|
|
6510
6599
|
| 'skills.blocked'
|
|
@@ -6515,7 +6604,8 @@ export interface DiagnosticsSkillsFinding {
|
|
|
6515
6604
|
| 'skills.base-skill'
|
|
6516
6605
|
| 'skills.phase-skill'
|
|
6517
6606
|
| 'skills.garden'
|
|
6518
|
-
| 'skills.publish-warning'
|
|
6607
|
+
| 'skills.publish-warning'
|
|
6608
|
+
| 'skills.installed-ahead';
|
|
6519
6609
|
severity: 'warning' | 'error';
|
|
6520
6610
|
message: string;
|
|
6521
6611
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wicked-crew-api-types",
|
|
3
|
-
"version": "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",
|