@kangentic/protocol 0.16.0 → 0.17.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.
@@ -397,11 +397,38 @@ export interface BoardTaskWire {
397
397
  * Resume control; a client applies the same precedence. `start-session`
398
398
  * re-checks the column and refuses a To Do, Done or archived task with the
399
399
  * desktop's Resume copy, so a value overtaken by a move is safe to act on.
400
+ * A paused task that offers no Resume reads false here. From 0.17.0 `paused`
401
+ * tells it apart from a task with no paused session.
400
402
  *
401
403
  * Declared OPTIONAL (`?`) like `spawns_session`; `parseBoardTaskWire`
402
404
  * populates the key from every real wire response.
403
405
  */
404
406
  resumable?: boolean | null;
407
+ /**
408
+ * True when the task has a paused session (a `suspended` session that is not
409
+ * a Command Terminal) and no live one. No column or archive gate applies. It
410
+ * is the fact the desktop card's "Paused" footer reads, so a paused task in
411
+ * Done or on the archived page reads true here while `resumable` reads
412
+ * false. A move into To Do removes the task's session rows, so a task there
413
+ * normally reads false. Gate Resume on `resumable` only; `resumable: true`
414
+ * always comes with `paused: true`.
415
+ *
416
+ * A desktop pause clears the task's `session_id`, so find a paused session
417
+ * from this field, not from `session_id`. A respawn queued behind the
418
+ * desktop's concurrency limit leaves the task holding a paused session and a
419
+ * queued one; that task reads false, as the desktop card shows the queued
420
+ * session. While `spawn_progress` is non-null the desktop card shows that
421
+ * label instead of "Paused"; a client applies the same precedence.
422
+ *
423
+ * Under `view: 'sessions'` a paused task that offers no Resume stays out of
424
+ * the snapshot, because an agent feed has nothing to act on for it. Null or
425
+ * absent means a desktop that predates the field (pre-0.17.0); a client
426
+ * then reads a paused task from `resumable` alone, as before.
427
+ *
428
+ * Declared OPTIONAL (`?`) like `resumable`; `parseBoardTaskWire` populates
429
+ * the key from every real wire response.
430
+ */
431
+ paused?: boolean | null;
405
432
  }
406
433
  /** Phone-needed subset of the desktop's BacklogTask row. */
407
434
  export interface BacklogItemWire {
package/dist/index.cjs CHANGED
@@ -5465,7 +5465,8 @@ function parseBoardTaskWire(value) {
5465
5465
  created_at: requireString(value, "created_at", "board task"),
5466
5466
  updated_at: requireString(value, "updated_at", "board task"),
5467
5467
  spawn_progress: nullableString(value, "spawn_progress"),
5468
- resumable: nullableBoolean(value, "resumable")
5468
+ resumable: nullableBoolean(value, "resumable"),
5469
+ paused: nullableBoolean(value, "paused")
5469
5470
  };
5470
5471
  }
5471
5472
  function parseBacklogItemWire(value) {
package/dist/index.mjs CHANGED
@@ -5339,7 +5339,8 @@ function parseBoardTaskWire(value) {
5339
5339
  created_at: requireString(value, "created_at", "board task"),
5340
5340
  updated_at: requireString(value, "updated_at", "board task"),
5341
5341
  spawn_progress: nullableString(value, "spawn_progress"),
5342
- resumable: nullableBoolean(value, "resumable")
5342
+ resumable: nullableBoolean(value, "resumable"),
5343
+ paused: nullableBoolean(value, "paused")
5343
5344
  };
5344
5345
  }
5345
5346
  function parseBacklogItemWire(value) {
@@ -136,6 +136,8 @@ export declare function parseTranscriptWindowResponsePayload(payload: JsonValue)
136
136
  * `spawn_progress` label in flight (a first start, or a respawn that has
137
137
  * nulled `session_id`) and a `resumable` paused task (a desktop pause
138
138
  * nulls `session_id` too), so the feed can draw "Paused" with a Resume.
139
+ * A paused task that offers no Resume (in Done, say) stays out even though
140
+ * its row reads `paused: true` from 0.17.0 (see `BoardTaskWire.paused`).
139
141
  * - 'full': every non-archived task, for the one project whose board the user
140
142
  * actually has open.
141
143
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kangentic/protocol",
3
- "version": "0.16.0",
3
+ "version": "0.17.0",
4
4
  "description": "Kangentic mobile bridge wire protocol: framing, Noise-based pairing and session handshakes, signed device roster, and capability verbs shared between desktop and mobile.",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.mjs",