wicked-crew-api-types 0.106.0 → 0.108.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 +88 -16
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -5158,11 +5158,12 @@ export interface SystemSettings {
|
|
|
5158
5158
|
baseSkillPolicy?: 'warn' | 'require';
|
|
5159
5159
|
/**
|
|
5160
5160
|
* The DELIVER IDENTITY (crew#549; additive): the GitHub login the deliver phase must push as.
|
|
5161
|
-
*
|
|
5162
|
-
*
|
|
5163
|
-
*
|
|
5164
|
-
*
|
|
5165
|
-
*
|
|
5161
|
+
* (crew#940) On a github.com origin the deliver script reads THIS login's own token from gh's
|
|
5162
|
+
* keyring and uses it for its gh calls and its git fetch/push alone, whatever account gh has
|
|
5163
|
+
* active; a login gh holds no token for is "GitHub credentials not configured", refused before
|
|
5164
|
+
* anything is staged. An exported `GH_TOKEN` wins, and is refused when it authenticates as
|
|
5165
|
+
* another login. `''`/absent ⇒ the `GH_ACCOUNT` env var decides, and unset there means the phase
|
|
5166
|
+
* pushes as whatever login gh holds (git's credential cross-checked), said aloud on the gate card.
|
|
5166
5167
|
*
|
|
5167
5168
|
* A LOGIN ONLY — never a token. The credential itself stays in gh's keyring or in the daemon's
|
|
5168
5169
|
* `GH_TOKEN`; `GET /settings` returns this login and no secret ever.
|
|
@@ -5395,6 +5396,9 @@ export interface RunInventoryResponse {
|
|
|
5395
5396
|
export interface PresetStep {
|
|
5396
5397
|
catalog: string;
|
|
5397
5398
|
id: string;
|
|
5399
|
+
/** (crew#928, wicked-core#854) The step changes no file in the run's tree; see
|
|
5400
|
+
* {@link TeamPlanStep.writes_nothing}. */
|
|
5401
|
+
writes_nothing?: boolean;
|
|
5398
5402
|
[k: string]: unknown;
|
|
5399
5403
|
}
|
|
5400
5404
|
|
|
@@ -7197,7 +7201,8 @@ export interface DiagnosticsSkillsFinding {
|
|
|
7197
7201
|
* an `error` under `'require'` (the engine refuses every launch at intake); cleared by a publish
|
|
7198
7202
|
* that hands it. Also carried as `DiagnosticsSkills.baseSkill.finding`; `skills.phase-skill`
|
|
7199
7203
|
* (`warning`, crew#661) = a subsystem's phases declare a skill the published snapshot did not hold
|
|
7200
|
-
* when it armed, so they run without it — one per `DiagnosticsSkills.phaseSkillGaps` entry
|
|
7204
|
+
* when it armed, so they run without it — one per `DiagnosticsSkills.phaseSkillGaps` entry (none
|
|
7205
|
+
* since crew#935);
|
|
7201
7206
|
* `skills.garden` (`error`, api-types 0.78.0, crew#753) = the installed wicked-garden is older
|
|
7202
7207
|
* than the daemon requires (`GardenRequiredBody.required`), so it is not used: found at seed,
|
|
7203
7208
|
* the runtime is `config-error` and the engine is handed a refusal path. Rides
|
|
@@ -7274,7 +7279,9 @@ export interface DiagnosticsSkills {
|
|
|
7274
7279
|
/** Subsystems whose phases run WITHOUT a skill their workflow declares (crew#661; additive) — one
|
|
7275
7280
|
* entry per subsystem, judged when that seam ARMED (the decision holds until the daemon restarts).
|
|
7276
7281
|
* Each entry also rides `findings` as a `skills.phase-skill` warning. `[]` when every armed seam
|
|
7277
|
-
* holds its skill; ABSENT on a daemon before this field (read it as unknown, not as `[]`).
|
|
7282
|
+
* holds its skill; ABSENT on a daemon before this field (read it as unknown, not as `[]`). Always
|
|
7283
|
+
* `[]` from a daemon carrying crew#935: the interactive seams launch wicked-core's presets, which
|
|
7284
|
+
* always run their skill (a snapshot without it fails the run), so no seam arms without it. */
|
|
7278
7285
|
phaseSkillGaps?: DiagnosticsPhaseSkillGap[];
|
|
7279
7286
|
}
|
|
7280
7287
|
|
|
@@ -8132,8 +8139,36 @@ export interface TeamPlanStep {
|
|
|
8132
8139
|
* phase's pool; a raise is refused (`wicked.team.plan.refused`, reason `pool_raised`). Omitted
|
|
8133
8140
|
* when unset. */
|
|
8134
8141
|
pool?: number;
|
|
8142
|
+
/** (crew#928, wicked-core#854) The step changes no file in the run's tree (capture-learnings'
|
|
8143
|
+
* `capture`, steering-author's `propose`). A plan whose every creator step sets it, and that has
|
|
8144
|
+
* no `run` step, may be scoped `SCOPE {"touch":[]}`, which scores 0. Set on a code phase it is
|
|
8145
|
+
* refused (`writes_nothing_on_code`). Omitted when unset. */
|
|
8146
|
+
writes_nothing?: boolean;
|
|
8135
8147
|
}
|
|
8136
8148
|
|
|
8149
|
+
/**
|
|
8150
|
+
* The stable token of a plan-rule refusal (wicked-core `PlanRefusal::reason`). A refusal formatted
|
|
8151
|
+
* by the engine's `PlanRefusal` reads `<token>: <detail>`; a skin matches the token, never the
|
|
8152
|
+
* prose. NOT every `plan.refused` reason is one: some are plain text (an auto-mode floor override,
|
|
8153
|
+
* a held edit the run ended before applying), and a launch / preview / `propose_plan` error message
|
|
8154
|
+
* CONTAINS the refusal text behind a context prefix (`the plan is refused: <token>: …`), so search
|
|
8155
|
+
* for the token rather than splitting on the first `:`. Open-ended: the engine may add tokens.
|
|
8156
|
+
*
|
|
8157
|
+
* - `pool_raised` (crew#894, wicked-core#810): a step raised its phase's pool.
|
|
8158
|
+
* - `writes_nothing_on_code` (crew#928, wicked-core#854): `writes_nothing: true` on a step whose
|
|
8159
|
+
* phase executes code.
|
|
8160
|
+
* - `security_review_on_non_code_plan` (crew#928, wicked-core#846/#854): a `security_review` in a
|
|
8161
|
+
* plan where no step does code work; its diff evidence floor could never pass. The detail names
|
|
8162
|
+
* the step and either the held testing rule that added it (`rule TST-1002 requires it`) or `the
|
|
8163
|
+
* plan authored it`. Raised mid-run (a rule fired by the diff re-score) it FAILS the run, and
|
|
8164
|
+
* the run's error text carries the rule.
|
|
8165
|
+
*/
|
|
8166
|
+
export type PlanRefusalToken =
|
|
8167
|
+
| 'pool_raised'
|
|
8168
|
+
| 'writes_nothing_on_code'
|
|
8169
|
+
| 'security_review_on_non_code_plan'
|
|
8170
|
+
| (string & {});
|
|
8171
|
+
|
|
8137
8172
|
export interface TeamPlanOverride {
|
|
8138
8173
|
remove: string[];
|
|
8139
8174
|
reason: string;
|
|
@@ -8216,8 +8251,11 @@ export type TeamPlanAcceptedPayload = TeamEnvelope & {
|
|
|
8216
8251
|
export type TeamPlanRefusedPayload = TeamEnvelope & {
|
|
8217
8252
|
proposal_id: string;
|
|
8218
8253
|
base_rev: number | null;
|
|
8219
|
-
/** The engine's refusal reason, verbatim
|
|
8220
|
-
*
|
|
8254
|
+
/** The engine's refusal reason, verbatim. A plan-rule refusal reads `<token>: <detail>` with a
|
|
8255
|
+
* {@link PlanRefusalToken} — e.g. `pool_raised` (crew#894, wicked-core#810: a plan step raised a
|
|
8256
|
+
* phase's `pool`; a step may only lower it), `security_review_on_non_code_plan` or
|
|
8257
|
+
* `writes_nothing_on_code` (crew#928); other reasons are plain text. A launch / preview /
|
|
8258
|
+
* `propose_plan` error message contains the same text behind a context prefix. */
|
|
8221
8259
|
reason: string;
|
|
8222
8260
|
};
|
|
8223
8261
|
|
|
@@ -10050,7 +10088,8 @@ export type EditorPermission =
|
|
|
10050
10088
|
* fetched at `entry_url` (`GET /editors/:id/:version/entry`, the §8.2 headers, re-hashed per serve).
|
|
10051
10089
|
* First-party editors ship inside studio's bundle (`<studio dist>/editors/<id>/editor.json` +
|
|
10052
10090
|
* `index.html`, ids `wicked-*`) and are discovered at boot; third-party editors arrive as garden
|
|
10053
|
-
* packs
|
|
10091
|
+
* packs (`source: 'pack'`), installed by the operator once garden's `pack check` and the
|
|
10092
|
+
* install-time conformance run have both passed.
|
|
10054
10093
|
*/
|
|
10055
10094
|
export interface EditorView {
|
|
10056
10095
|
id: string;
|
|
@@ -10069,20 +10108,52 @@ export interface EditorView {
|
|
|
10069
10108
|
bytes: number;
|
|
10070
10109
|
first_party: boolean;
|
|
10071
10110
|
enabled: boolean;
|
|
10072
|
-
|
|
10111
|
+
/** `studio-bundle`: first-party, shipped with studio. `pack`: a third-party pack the operator installed. */
|
|
10112
|
+
source: 'studio-bundle' | 'pack';
|
|
10073
10113
|
entry_url: string;
|
|
10074
10114
|
}
|
|
10075
10115
|
|
|
10076
10116
|
/** `GET /editors` (operator+). */
|
|
10077
10117
|
export interface ListEditorsResponse {
|
|
10078
10118
|
editors: EditorView[];
|
|
10079
|
-
/**
|
|
10080
|
-
|
|
10119
|
+
/** `conformance_required`: `POST /editors` installs a pack only after garden's `pack check` and the
|
|
10120
|
+
* install-time conformance run pass (`refused_until_conformance` before the install surface: every install was refused). */
|
|
10121
|
+
installs: 'conformance_required' | 'refused_until_conformance';
|
|
10081
10122
|
}
|
|
10082
10123
|
|
|
10083
10124
|
/** `POST /editors` body (human-only): a pack directory holding `wicked-pack.json`. */
|
|
10084
10125
|
export interface InstallEditorBody {
|
|
10085
10126
|
packRoot: string;
|
|
10127
|
+
/** Install it on (the default; an update keeps the editor's current switch) or off. */
|
|
10128
|
+
enabled?: boolean;
|
|
10129
|
+
}
|
|
10130
|
+
|
|
10131
|
+
/** `POST /editors` → 200: the pack's editors are installed (or updated in place) and listed. */
|
|
10132
|
+
export interface InstallEditorResponse {
|
|
10133
|
+
installed: true;
|
|
10134
|
+
/** The pack was installed before; its editors were replaced (a new hash asks for its grants again). */
|
|
10135
|
+
updated: boolean;
|
|
10136
|
+
editors: EditorView[];
|
|
10137
|
+
check: PackCheckResult;
|
|
10138
|
+
conformance: EditorConformanceSummary;
|
|
10139
|
+
}
|
|
10140
|
+
|
|
10141
|
+
/** What the install-time conformance run found (garden `scripts/editor/conformance.py`). */
|
|
10142
|
+
export interface EditorConformanceSummary {
|
|
10143
|
+
ok: boolean;
|
|
10144
|
+
at: string;
|
|
10145
|
+
/** Per editor: the version and entry sha256 the run tested (an install requires both to be the installed ones). */
|
|
10146
|
+
editors: Array<{ id: string; version: string; sha256: string; ok: boolean; cases: Record<string, { ok: boolean }>; gaps: string[] }>;
|
|
10147
|
+
/** Set when the run could not happen (no headless browser, no garden with the runner). */
|
|
10148
|
+
error?: string;
|
|
10149
|
+
}
|
|
10150
|
+
|
|
10151
|
+
/** `POST /editors` → 422 when the conformance run failed or could not run (fail closed). */
|
|
10152
|
+
export interface InstallEditorNotConformant {
|
|
10153
|
+
code: 'editor_not_conformant' | 'conformance_unavailable';
|
|
10154
|
+
error: string;
|
|
10155
|
+
check: PackCheckResult;
|
|
10156
|
+
conformance: EditorConformanceSummary;
|
|
10086
10157
|
}
|
|
10087
10158
|
|
|
10088
10159
|
/** One finding of garden's `pack check --json`. */
|
|
@@ -10101,11 +10172,12 @@ export interface PackCheckResult {
|
|
|
10101
10172
|
}
|
|
10102
10173
|
|
|
10103
10174
|
/**
|
|
10104
|
-
* `POST /editors` → 501: the pack passed garden's gate
|
|
10105
|
-
*
|
|
10175
|
+
* `POST /editors` → 501: the pack passed garden's gate but also ships skills or blocks, whose own
|
|
10176
|
+
* approval (§3.2 "Add these") is not built yet; this is what it would ask the operator to approve.
|
|
10177
|
+
* Nothing was written. (`third_party_editors_not_available` before the install surface: every pack was refused.)
|
|
10106
10178
|
*/
|
|
10107
10179
|
export interface InstallEditorRefusal {
|
|
10108
|
-
code: 'third_party_editors_not_available';
|
|
10180
|
+
code: 'pack_ships_skills_or_blocks' | 'third_party_editors_not_available';
|
|
10109
10181
|
error: string;
|
|
10110
10182
|
check: PackCheckResult;
|
|
10111
10183
|
pack: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wicked-crew-api-types",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.108.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",
|