wicked-core-ts 0.7.40 → 0.7.41

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 +7 -59
  2. package/package.json +6 -6
package/index.d.ts CHANGED
@@ -255,59 +255,6 @@ export declare class Core {
255
255
  subscribe(callback: (err: Error | null, eventJson: string) => void): Subscription
256
256
  /** Liveness probe — emits a `Heartbeat` to subscribers and resolves once the actor acks (`"ok"`). */
257
257
  ping(): Promise<string>
258
- /**
259
- * Open a chat: eagerly warm one ACP session per seat (crew#165 / core#13) in a SCOPE
260
- * (wicked-core#410 / wicked-crew#502). `cwd` is the seats' working directory — the chat's
261
- * scratch root; omitted, a private `<tmp>/wicked-core-chat-<id>` of the chat's own, NEVER this
262
- * process's cwd. `scopeJson` is `{"codeGraphDb"?: string|null, "readRoots"?: string[]}`: the
263
- * estate graph the seats' READ-ONLY estate MCP is bound to (omitted/null ⇒ no estate MCP) and
264
- * the repository roots in scope (advertised to a claude seat as `additionalDirectories`,
265
- * recorded for every seat). Resolves to a JSON array of per-seat outcomes
266
- * `[{cliKey, ok, error?}]`; `chatSessionReady`/`chatSessionFailed` also stream to
267
- * subscribers. Blocking handshakes run on the task pool, not the JS thread.
268
- */
269
- chatOpen(chatId: string, clisJson: string, cwd?: string | undefined | null, scopeJson?: string | undefined | null): Promise<string>
270
- /**
271
- * Fan a message out to the chat's warm seats (all, or `targets_json` subset). Ack-fast:
272
- * resolves to the JSON array of seats targeted; replies stream as `chatDelta`/`chatReply`.
273
- * `cwd` is accepted for wire compatibility and IGNORED (wicked-core#410): every turn runs in
274
- * the scope recorded at `chatOpen` — a per-message working directory was the F-067 leak.
275
- */
276
- chatSend(chatId: string, text: string, targetsJson?: string | undefined | null, cwd?: string | undefined | null): Promise<string>
277
- /** The seats currently warm for a chat — JSON array of cli keys. */
278
- chatSeats(chatId: string): Promise<string>
279
- /**
280
- * Every chat currently holding pool state — JSON array of
281
- * `[{chatId, seats, idleSecs, cwd, codeGraphDb, readRoots, heldBy}]`, sorted by id. `cwd` /
282
- * `codeGraphDb` / `readRoots` are the scope recorded at `chatOpen` (wicked-core#410): where the
283
- * seats run, the estate graph their read-only estate MCP is bound to (`null` ⇒ none), and the
284
- * repository roots in scope (`[]` when none); `cwd` is `null` only for a pool entry whose scope
285
- * is gone (a chat mid-close). `heldBy` lists the runs launched from the chat that keep it
286
- * warm (`chatHold`, crew#619).
287
- *
288
- * Each warm seat pins an ACP bridge plus an agent child (~520 MB resident) and clients mint
289
- * chat ids freely, so without this an accumulation is invisible until the host runs out of
290
- * memory (FINDING-027). `idleSecs` is seconds since the chat's last open/ensure/turn, or
291
- * `null` when no activity was ever recorded — which the reaper treats as idle-since-forever.
292
- *
293
- * `null` rather than the `u64::MAX` the Rust side uses for that case: a JS `number` is an
294
- * f64, so `u64::MAX` arrives as `18446744073709552000` and no consumer can test for the
295
- * sentinel by equality. `null` is checkable, and it stops a caller from doing arithmetic on a
296
- * value that never meant a duration.
297
- */
298
- chatList(): Promise<string>
299
- /**
300
- * Hold a chat warm for a run launched from it (crew#619): the engine's idle reaper passes the
301
- * chat over until that run is terminal, and its idle clock restarts then. Resolves `"true"`,
302
- * or `"false"` when the chat is not open on this engine (nothing held). Call it right after
303
- * `launchRun` resolves the run id.
304
- */
305
- chatHold(chatId: string, runId: string): Promise<string>
306
- /**
307
- * Close a chat's warm sessions (idempotent); emits
308
- * `chatClosed` with `reason: "requested"`.
309
- */
310
- chatClose(chatId: string): Promise<string>
311
258
  /**
312
259
  * Launch an interactive, resumable run: plans + distributes, then executes each unit off-thread
313
260
  * (or pauses at a human-confirm gate). Resolves to the run id. Progress arrives as `CoreEvent`s
@@ -340,10 +287,10 @@ export declare class Core {
340
287
  * amendment. The engine refuses each at any other gate.
341
288
  *
342
289
  * (core#555, additive.) `amend_intent` (`approve=true`, the text in `amend`, no `amendScope`)
343
- * approves the gate AND AMENDS THE RUN'S INTENT: the text is appended to every unit at or after
344
- * the cursor, so the acceptance list each LATER EVALUATOR is handed changes with the decision,
345
- * and it is recorded on the run (`intent_amendments`) plus an `intentAmended` event. It is the
346
- * only arm that can descope a run mid-flight; refused at a plan or team gate, and with no text.
290
+ * approves the gate AND AMENDS THE RUN'S INTENT: the text is appended to every unit at or
291
+ * after the cursor, so the acceptance list each LATER EVALUATOR is handed changes with the
292
+ * decision, and it is recorded on the run plus an `intentAmended` event. It is the only arm
293
+ * that can descope a run mid-flight; refused at a plan or team gate, and with empty text.
347
294
  *
348
295
  * (DES-TEAMING-002 T3, additive.) `planJson` answers a `plan_approval` gate WITH AN EDIT: the
349
296
  * edited plan as JSON (`approve=true`, `action` omitted or `edit_plan`). The engine accepts it
@@ -1013,8 +960,9 @@ export declare class Subscription {
1013
960
  * may start with 'install fence:' (a package-manager install outside the unit's worktree, judged
1014
961
  * from the seat's shell cwd tracked across its tool calls — best-effort, never hermetic);
1015
962
  * sandboxPosture {session, ord, cli, posture: 'os' | 'advisory', reason} (the write containment
1016
- * the assigned seat runs under — 'advisory' = no OS write boundary on the seat record, command-text
1017
- * fences + worktree guard only); worktreeRetained {session, path, reason} (a terminal run's worktree
963
+ * the assigned seat runs under — 'os' = the seat is on the OS-sandbox floor, the run is bound to a
964
+ * worktree and the host launcher arms; 'advisory' = one of the three failed, reason names which —
965
+ * command-text fences + worktree guard only); worktreeRetained {session, path, reason} (a terminal run's worktree
1018
966
  * kept because it holds uncommitted work — cancel included).
1019
967
  * core#468 (additive): unitDispatched carries `baseSkill: {name, role, handed} | null` — the run's
1020
968
  * role-keyed BASE skill directive (`role` is 'creator' | 'evaluator' | 'neutral'), null when the
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wicked-core-ts",
3
- "version": "0.7.40",
3
+ "version": "0.7.41",
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.40",
47
- "wicked-core-ts-darwin-x64": "0.7.40",
48
- "wicked-core-ts-linux-arm64-gnu": "0.7.40",
49
- "wicked-core-ts-linux-x64-gnu": "0.7.40",
50
- "wicked-core-ts-win32-x64-msvc": "0.7.40"
46
+ "wicked-core-ts-darwin-arm64": "0.7.41",
47
+ "wicked-core-ts-darwin-x64": "0.7.41",
48
+ "wicked-core-ts-linux-arm64-gnu": "0.7.41",
49
+ "wicked-core-ts-linux-x64-gnu": "0.7.41",
50
+ "wicked-core-ts-win32-x64-msvc": "0.7.41"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@napi-rs/cli": "^2.18.4",