wicked-core-ts 0.7.25 → 0.7.27

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 +37 -5
  2. package/package.json +6 -6
package/index.d.ts CHANGED
@@ -47,6 +47,15 @@ export interface LaunchOptions {
47
47
  autoDeliver?: boolean
48
48
  /** The id of a registered repo to run within (creates an isolated worktree). Omit for a repo-less run. */
49
49
  repoRef?: string
50
+ /**
51
+ * An EXPLICIT base for the run worktree (crew#550 `revisesPr`; wicked-core-ts ≥ 0.7.27): the
52
+ * name of a branch on `origin` — an open pull request's head — the run starts from instead of
53
+ * the remote default branch. Resolved after the engine's own `git fetch origin` as
54
+ * `origin/<baseRef>`; a ref that does not resolve FAILS the launch (`sessionFailed` naming it),
55
+ * never a silent fall-back to the default branch. The run still lives on `wicked/<run>`. Omit
56
+ * for today's resolution (the remote default tip, else the clone's `HEAD`).
57
+ */
58
+ baseRef?: string
50
59
  /**
51
60
  * A registered `WorkflowDef` id (`feature` | `bug` | `migration` or a drop-in). When set, planning
52
61
  * is data-driven from the def's phases; omit for the free-text planner.
@@ -218,10 +227,18 @@ export declare class Core {
218
227
  resumeRun(runId: string): Promise<string>
219
228
  /**
220
229
  * Resolve a human-confirm gate on a PAUSED run. `approve=true` proceeds (optionally applying
221
- * `amend` to the next unit's instruction); `approve=false` rejects → cancels the run. Resolves
222
- * to the resulting status token. Rejects if the run is not paused at a gate.
230
+ * `amend` to a unit's instruction); `approve=false` rejects → cancels the run. Resolves to the
231
+ * resulting status token. Rejects if the run is not paused at a gate.
232
+ *
233
+ * (DES-L1 PR-1B, additive — absent `action` = today's two-arm mapping.) `action` names the
234
+ * arm: `approve` | `request_changes` | `reject`. `request_changes` requires `approve=false`
235
+ * and sends a NOT-PASS review back to the creator phase (`amend` is the operator's note);
236
+ * `amendScope` (`cursor` | `creator`, approve only) says where an approve's `amend` lands —
237
+ * the cursor unit (default) or the first creator phase at/after it. A disagreement
238
+ * (`action=request_changes` with `approve=true`, `action=approve` with `approve=false`, an
239
+ * unknown token) rejects before the engine is asked.
223
240
  */
224
- confirmGate(runId: string, approve: boolean, amend?: string | undefined | null): Promise<string>
241
+ confirmGate(runId: string, approve: boolean, amend?: string | undefined | null, action?: string | undefined | null, amendScope?: string | undefined | null): Promise<string>
225
242
  /**
226
243
  * Cancel a run — mark it terminally `Cancelled` and stop advancing it. Resolves to the status
227
244
  * token. Safe whether the run is executing or paused.
@@ -237,7 +254,11 @@ export declare class Core {
237
254
  * Validate + launch a campaign — a DAG of Runs (DES-CAMPAIGN-001). `defJson` is a
238
255
  * `CampaignDef` JSON object in the engine wire shape (snake_case): `{ id, name?, nodes:
239
256
  * [{ node_id, run_spec: { problem, clis, entity_mode, human_confirm?, repo_ref?,
240
- * workflow_id? } }], edges?: [{ from, to, condition? }], policy?, max_concurrency }`.
257
+ * workflow_id? } }], edges?: [{ from, to, condition? }], policy?, max_concurrency,
258
+ * denial_gate?: "hold" | "auto_reject" }` — `denial_gate` (DES-L1 PR-1D, core#484) says what
259
+ * an unattended campaign does when a node parks at the engine's ESCALATION gate: `hold`
260
+ * (default) waits for a human, `auto_reject` answers it with Reject (the node cancels, its
261
+ * dependents follow the edge rule); def / run-level gates always hold.
241
262
  * Resolves to the campaign id. Fire-and-forget: independent nodes dispatch immediately and
242
263
  * progress arrives as the `campaign*` CoreEvents — `subscribe()` first. Rejects a cycle /
243
264
  * empty / duplicate-edge / unknown-edge-endpoint def at launch, before anything persists.
@@ -711,9 +732,20 @@ export declare class Subscription {
711
732
  * the assigned seat runs under — 'advisory' = no OS write boundary on the seat record, command-text
712
733
  * fences + worktree guard only); worktreeRetained {session, path, reason} (a terminal run's worktree
713
734
  * kept because it holds uncommitted work — cancel included).
714
- * core#468 (additive): unitDispatched carries `baseSkill: {name, role} | null` — the run's
735
+ * core#468 (additive): unitDispatched carries `baseSkill: {name, role, handed} | null` — the run's
715
736
  * role-keyed BASE skill directive (`role` is 'creator' | 'evaluator' | 'neutral'), null when the
716
737
  * run declares none; the generation it is handed from is the same unit's skillsSnapshotHanded.gen.
738
+ * core#479 (additive, DES-L4 PR-⑥): `baseSkill.handed: boolean` — true when the seat's CLI has a
739
+ * per-launch skills lever and the admitted generation holds the skill (the directive names a skill
740
+ * the seat can invoke); false for a lever-less seat, which is told the discipline is NOT loaded.
741
+ * DES-L1 PR-1A (additive): gateEvaluated carries `evaluatorVerdict: string | null` — the Evaluator
742
+ * unit's OWN verdict token read from its output (`'PASS'` | `'FAIL'` | any other token it wrote; PASS
743
+ * is the only pass, every other token denies into the escalation gate); null when the layer did not
744
+ * read the unit (creator/neutral/tool) or the evaluator wrote no `VERDICT:` line (then
745
+ * `denial.source === 'evaluator_verdict'` and `denial.reason` is the contract text).
746
+ * DES-L1 PR-1B (additive): unitReworkAmended carries `scope: 'cursor' | 'creator' | 'request_changes'`
747
+ * — which gate arm landed the amendment; for `request_changes` the `ord` is the rewound creator and
748
+ * `amendment` is the rejected review's findings followed by the operator's note.
717
749
  * core#467/#469/F-RC2-009 additions (all additive): repoChecksEvaluated carries `outcome: 'passed' |
718
750
  * 'failed' | 'timed_out' | 'not_run'` (a timed-out floor denies under source 'repo_checks_timeout',
719
751
  * never 'repo_checks'), `floor: 'creator' | 'verify'`, `claim: {phrase, check, verdict} | null` and
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wicked-core-ts",
3
- "version": "0.7.25",
3
+ "version": "0.7.27",
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.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"
46
+ "wicked-core-ts-darwin-arm64": "0.7.27",
47
+ "wicked-core-ts-darwin-x64": "0.7.27",
48
+ "wicked-core-ts-linux-arm64-gnu": "0.7.27",
49
+ "wicked-core-ts-linux-x64-gnu": "0.7.27",
50
+ "wicked-core-ts-win32-x64-msvc": "0.7.27"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@napi-rs/cli": "^2.18.4",