wicked-core-ts 0.7.23 → 0.7.25

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 +54 -0
  2. package/package.json +6 -6
package/index.d.ts CHANGED
@@ -38,6 +38,13 @@ export interface LaunchOptions {
38
38
  entityMode?: string
39
39
  /** Human-confirm gate policy: `none` (default) | `all` | `before:<ord>`. */
40
40
  humanConfirm?: string
41
+ /**
42
+ * EXPLICIT opt-out of the engine's deliver gate (F-E2E-030). The run's `deliver` Tool unit
43
+ * (the crew-composed phase that pushes the run branch and opens the PR) pauses for a human
44
+ * before it runs — whatever `humanConfirm` says — unless this is `true`. Omit (or `false`)
45
+ * for the gate; `true` only when the caller has named the launch "auto-deliver" to its user.
46
+ */
47
+ autoDeliver?: boolean
41
48
  /** The id of a registered repo to run within (creates an isolated worktree). Omit for a repo-less run. */
42
49
  repoRef?: string
43
50
  /**
@@ -111,6 +118,21 @@ export declare class Core {
111
118
  * `sinceBoot` from a boot baseline; an addon without this static answers `null` there.
112
119
  */
113
120
  static eventStoreCount(dbPath: string): Promise<string>
121
+ /**
122
+ * The state-home PREFLIGHT crew runs at `serve` (wicked-core#411 / wicked-crew#497): survey
123
+ * the state home the worker Read fence classifies and report every entry its registry cannot
124
+ * classify — the condition that would otherwise refuse EVERY worker launch, discovered today
125
+ * at the run's first worker after a planning council and the intake gate. `snapshotPath` is
126
+ * the published generation crew hands the engine (`WICKED_SKILLS_SNAPSHOT`; the state home is
127
+ * derived from its shape), or absent when none is handed — the store's parent (`dbPath`) is
128
+ * then surveyed for information. Resolves to the JSON `{ stateHome, derivedFrom:
129
+ * 'snapshot' | 'db' | null, unregistered: [{ name, path, level }], refusesLaunches, error,
130
+ * remedy }` — `refusesLaunches` is true exactly when a handed snapshot derives a state home
131
+ * with unregistered entries, which is also what `launchRun` now rejects synchronously with a
132
+ * typed configuration error (no session persisted). Read-only; never touches the process
133
+ * environment. An addon without this static answers `null` in crew's `GET /diagnostics.stateHome`.
134
+ */
135
+ static preflightStateHome(snapshotPath: string | undefined | null, dbPath: string): Promise<string>
114
136
  /**
115
137
  * Replay a dead-letter outbox — the emit seam's NDJSON spool (`WICKED_APPS_EMIT_DEADLETTER`)
116
138
  * of governance events it could not store — into the estate store at `dbPath`, writing each
@@ -680,6 +702,30 @@ export declare class Subscription {
680
702
  * carrier, role, tool, command, reason, remedy} (a worker seat's `git push` / `gh pr create` /
681
703
  * `gh api` mutation refused — delivery is the deliver phase's job); acpFallback.fallbackKind gains
682
704
  * 'auth_failed' | 'unauthenticated' (no single-shot fallback follows an auth kind).
705
+ * F-E2E-030/029/028 additions (all additive): awaitingHuman carries `gateKind: 'run_level' | 'def' |
706
+ * 'deliver' | 'terminal' | 'escalation' | 'failure' | 'triage'` (WHY the run paused — key on it,
707
+ * never on the prompt's wording; the engine's deliver gate is 'deliver'); workerToolCallDenied.reason
708
+ * may start with 'install fence:' (a package-manager install outside the unit's worktree, judged
709
+ * from the seat's shell cwd tracked across its tool calls — best-effort, never hermetic);
710
+ * sandboxPosture {session, ord, cli, posture: 'os' | 'advisory', reason} (the write containment
711
+ * the assigned seat runs under — 'advisory' = no OS write boundary on the seat record, command-text
712
+ * fences + worktree guard only); worktreeRetained {session, path, reason} (a terminal run's worktree
713
+ * kept because it holds uncommitted work — cancel included).
714
+ * core#468 (additive): unitDispatched carries `baseSkill: {name, role} | null` — the run's
715
+ * role-keyed BASE skill directive (`role` is 'creator' | 'evaluator' | 'neutral'), null when the
716
+ * run declares none; the generation it is handed from is the same unit's skillsSnapshotHanded.gen.
717
+ * core#467/#469/F-RC2-009 additions (all additive): repoChecksEvaluated carries `outcome: 'passed' |
718
+ * 'failed' | 'timed_out' | 'not_run'` (a timed-out floor denies under source 'repo_checks_timeout',
719
+ * never 'repo_checks'), `floor: 'creator' | 'verify'`, `claim: {phrase, check, verdict} | null` and
720
+ * `env: {home, tmpdir, locale, network, sandboxLevel, path, passthrough} | null`; every `checks[]`
721
+ * entry carries `outcome`, `boundS`, `boundNote`, `failureIds`, `classification: 'regression' |
722
+ * 'pre_existing_in_sandbox' | 'floor_env_mismatch' | null` (only a regression denies), `preExisting`,
723
+ * `regressions` and `base: {head, cached, run, error} | null` (the same check run on the run base).
724
+ * core#461 (additive): unitDistributed.distinctnessFallback ('creator_seat' | null — the
725
+ * evaluator ≠ creator fallback as a field, see UnitDistributedEventJson); gateEscalated.condition
726
+ * gains the class 'dead_seat' (denialSource 'dead_seat'): a worker exited on a dead-seat refusal
727
+ * (signed out / quota / not installed) and no eligible seat remains — the attended run pauses at
728
+ * the escalation gate instead of failing.
683
729
  */
684
730
  export interface CoreEventJson {
685
731
  type: string
@@ -719,6 +765,14 @@ export interface UnitDistributedEventJson extends CoreEventJson {
719
765
  * `routingMethod` and its fields read exactly as before.
720
766
  */
721
767
  seatConstraint: string | null
768
+ /**
769
+ * (core#461) The evaluator ≠ creator DISCLOSURE as a field: `'creator_seat'` when a review/test
770
+ * unit STAYS on a seat that built what it checks because no eligible seat distinct from the
771
+ * builders admits it — a single-eligible-seat roster, or a bench that emptied the pool
772
+ * (`degradedReason` then says which). `null` otherwise. The fallback seat is always a
773
+ * still-eligible one: a benched or dead seat is never the fallback. Additive.
774
+ */
775
+ distinctnessFallback: 'creator_seat' | null
722
776
  }
723
777
 
724
778
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wicked-core-ts",
3
- "version": "0.7.23",
3
+ "version": "0.7.25",
4
4
  "description": "Node/TypeScript bindings (napi-rs) for wicked-core: drive the in-process orchestration engine from JS/TS.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -43,11 +43,11 @@
43
43
  "typecheck": "tsc --noEmit -p types-test/tsconfig.json"
44
44
  },
45
45
  "optionalDependencies": {
46
- "wicked-core-ts-darwin-arm64": "0.7.23",
47
- "wicked-core-ts-darwin-x64": "0.7.23",
48
- "wicked-core-ts-linux-arm64-gnu": "0.7.23",
49
- "wicked-core-ts-linux-x64-gnu": "0.7.23",
50
- "wicked-core-ts-win32-x64-msvc": "0.7.23"
46
+ "wicked-core-ts-darwin-arm64": "0.7.25",
47
+ "wicked-core-ts-darwin-x64": "0.7.25",
48
+ "wicked-core-ts-linux-arm64-gnu": "0.7.25",
49
+ "wicked-core-ts-linux-x64-gnu": "0.7.25",
50
+ "wicked-core-ts-win32-x64-msvc": "0.7.25"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@napi-rs/cli": "^2.18.4",