@camstack/addon-agent-ui 1.2.66 → 1.2.67

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/dist/addon.js +43 -1
  2. package/package.json +1 -1
package/dist/addon.js CHANGED
@@ -12640,6 +12640,24 @@ method(_void(), _void(), { kind: "mutation" }), method(_void(), _void(), { kind:
12640
12640
  kind: "mutation",
12641
12641
  auth: "admin"
12642
12642
  });
12643
+ /**
12644
+ * Device Manager capability — hub-side singleton that unifies device persistence,
12645
+ * live registry access, and all management operations into a single tRPC surface.
12646
+ *
12647
+ * Replaces:
12648
+ * - `device-persistence` capability (persistence methods absorbed here)
12649
+ * - `device-management.router.ts` (deleted in Phase 2)
12650
+ * - `device-ops.router.ts` (compat layer — deleted; device-provider ops absorbed here)
12651
+ *
12652
+ * All device provider addons (rtsp, onvif, frigate, …) are hub-local: they may
12653
+ * fork into separate processes but never run on remote cluster agents. Therefore:
12654
+ * - No nodeId routing needed — this is a pure hub singleton.
12655
+ * - The hub's DeviceRegistry is the single source of truth for all live devices.
12656
+ * - No shadow registry or cross-node aggregation required.
12657
+ *
12658
+ * Forked workers register devices back to the hub via `ctx.devices`
12659
+ * (DeviceManagerApi → ctx.api.deviceManager.registerDevice), same as today.
12660
+ */
12643
12661
  /** One child-placement directive on a container's `childLayout`. Structurally
12644
12662
  * identical to `ChildLayoutEntry` in `device-management.ts` — the cap wire
12645
12663
  * shape for the same field. The child is identified by its re-sync-stable
@@ -18288,6 +18306,9 @@ var RetrainStatusSchema = _enum([
18288
18306
  *
18289
18307
  * `debug` does NOT pin; it is attention, not durability.
18290
18308
  *
18309
+ * `debugNote` is the operator's own words about WHAT should be checked on this
18310
+ * track, and it lives and dies with `debug` — see {@link MAX_TRACK_DEBUG_NOTE_LEN}.
18311
+ *
18291
18312
  * `favourited` IS a BOOLEAN pin (durability bit), not a retrain lifecycle.
18292
18313
  * A favourited track is skipped by retention the same way `staging` is, but
18293
18314
  * it does not enter `none|staging|trained` and has no staging budget.
@@ -18298,6 +18319,21 @@ var TrackFlagFields = {
18298
18319
  markForTrain: boolean().optional(),
18299
18320
  /** Operator marked this track for diagnostic attention. */
18300
18321
  debug: boolean().optional(),
18322
+ /**
18323
+ * What the operator wants CHECKED on this track, in their own words.
18324
+ *
18325
+ * The flag alone says "look at this" and nothing about what for; a debug set
18326
+ * reviewed hours later is a list of tracks with no question attached. Bound
18327
+ * to `debug` on the WRITE side — the body clears it when `debug` goes off,
18328
+ * and refuses it on a track whose debug is off — so a note can never outlive
18329
+ * the attention it belongs to.
18330
+ *
18331
+ * `''` is a real value ("marked, nothing to add"); the ABSENT key means
18332
+ * "leave whatever is stored alone", which is what lets a surface turn debug
18333
+ * on without a note (a cancelled prompt) and what lets it edit the note
18334
+ * without touching the flag.
18335
+ */
18336
+ debugNote: string().max(500).optional(),
18301
18337
  /** Operator favourited this track. Pins it against pruning. */
18302
18338
  favourited: boolean().optional()
18303
18339
  };
@@ -18324,6 +18360,12 @@ var TrackFlagsSchema = object({
18324
18360
  trackId: string(),
18325
18361
  markForTrain: boolean(),
18326
18362
  debug: boolean(),
18363
+ /** The note as it STANDS after the write — never absent here (a track with no
18364
+ * note reports `''`), for the same reason the booleans are required: a
18365
+ * surface that has just written must be able to render the note it now owns
18366
+ * without a re-fetch, and an absent key would read as "unchanged" on a
18367
+ * screen that has no previous value to keep. */
18368
+ debugNote: string(),
18327
18369
  favourited: boolean(),
18328
18370
  /** The lifecycle state the boolean was derived from. Required here (unlike on
18329
18371
  * a track row) because this shape is only ever produced by the write body,
@@ -37359,7 +37401,7 @@ var AgentUIAddon = class extends BaseAddon {
37359
37401
  capability: adminUiCapability,
37360
37402
  provider: {
37361
37403
  getStaticDir: async () => ({ staticDir: path.resolve(__dirname) }),
37362
- getVersion: async () => ({ version: "1.2.66" })
37404
+ getVersion: async () => ({ version: "1.2.67" })
37363
37405
  }
37364
37406
  }];
37365
37407
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-agent-ui",
3
- "version": "1.2.66",
3
+ "version": "1.2.67",
4
4
  "description": "Agent UI — lightweight status dashboard served by every agent node",
5
5
  "keywords": [
6
6
  "camstack",