@camstack/types 1.2.322 → 1.2.324

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 (45) hide show
  1. package/dist/addon.js +3 -14
  2. package/dist/addon.mjs +3 -14
  3. package/dist/capabilities/addons.cap.d.ts +156 -2
  4. package/dist/capabilities/broker.cap.d.ts +4 -4
  5. package/dist/capabilities/decoder.cap.d.ts +0 -211
  6. package/dist/capabilities/device-manager.cap.d.ts +4 -4
  7. package/dist/capabilities/index.d.ts +7 -7
  8. package/dist/capabilities/llm-runtime.cap.d.ts +3 -3
  9. package/dist/capabilities/llm.cap.d.ts +4 -4
  10. package/dist/capabilities/local-network.cap.d.ts +11 -11
  11. package/dist/capabilities/metrics-provider.cap.d.ts +2 -2
  12. package/dist/capabilities/mqtt-broker.cap.d.ts +3 -3
  13. package/dist/capabilities/pipeline-orchestrator.cap.d.ts +9 -13
  14. package/dist/capabilities/pipeline-runner.cap.d.ts +0 -2
  15. package/dist/capabilities/recording.cap.d.ts +3 -3
  16. package/dist/capabilities/schemas/streaming-shared.d.ts +9 -79
  17. package/dist/capabilities/snapshot.cap.d.ts +2 -2
  18. package/dist/capabilities/stream-broker.cap.d.ts +0 -85
  19. package/dist/capabilities/videoclips.cap.d.ts +3 -3
  20. package/dist/capabilities/webrtc-session.cap.d.ts +0 -2
  21. package/dist/client.js +3 -80
  22. package/dist/client.mjs +3 -80
  23. package/dist/enums/event-category.d.ts +0 -9
  24. package/dist/enums.js +1 -1
  25. package/dist/enums.mjs +1 -1
  26. package/dist/{event-category-BGmz_oxW.mjs → event-category-B_0XEcLF.mjs} +0 -9
  27. package/dist/{event-category-DmS_tLsU.js → event-category-CtBAl88K.js} +0 -9
  28. package/dist/ffmpeg/hwaccel.d.ts +1 -1
  29. package/dist/generated/addon-api.d.ts +7 -105
  30. package/dist/generated/cap-input-defaults.d.ts +1 -1
  31. package/dist/generated/method-access-map.d.ts +1 -1
  32. package/dist/generated/method-device-selectors.d.ts +2 -2
  33. package/dist/generated/system-proxy.d.ts +3 -3
  34. package/dist/index.d.ts +0 -1
  35. package/dist/index.js +115 -292
  36. package/dist/index.mjs +111 -284
  37. package/dist/interfaces/api-responses.d.ts +0 -19
  38. package/dist/interfaces/capability.d.ts +1 -2
  39. package/dist/interfaces/event-bus.d.ts +0 -13
  40. package/dist/interfaces/pipeline-runner-capability.d.ts +0 -1
  41. package/dist/interfaces/stream-broker.d.ts +2 -67
  42. package/dist/{sleep-DAJ9Er57.mjs → sleep-BNeXenvr.mjs} +11 -86
  43. package/dist/{sleep-AalHiRYL.js → sleep-DPar9AHl.js} +10 -115
  44. package/package.json +1 -1
  45. package/dist/interfaces/decoder.d.ts +0 -89
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_sleep = require("./sleep-AalHiRYL.js");
3
- const require_event_category = require("./event-category-DmS_tLsU.js");
2
+ const require_sleep = require("./sleep-DPar9AHl.js");
3
+ const require_event_category = require("./event-category-CtBAl88K.js");
4
4
  const require_composition = require("./composition-BLWAivB2.js");
5
5
  const require_err_msg = require("./err-msg-Dx2Kor0g.js");
6
6
  const require_enums = require("./enums.js");
@@ -3962,72 +3962,6 @@ var StorageLocationDeclarationSchema = zod.z.object({
3962
3962
  ]).optional()
3963
3963
  });
3964
3964
  //#endregion
3965
- //#region src/interfaces/stream-broker.ts
3966
- var DecoderStatsSchema = zod.z.object({
3967
- inputFps: zod.z.number(),
3968
- outputFps: zod.z.number(),
3969
- avgDecodeTimeMs: zod.z.number(),
3970
- droppedFrames: zod.z.number(),
3971
- /**
3972
- * Pull-mode adaptive-fps telemetry (optional — only pull sessions run the
3973
- * lag-driven controller; push sessions omit these). `lagMs` is the EWMA of
3974
- * the decoder's real-time drift (rising = falling behind live); `adaptiveFps`
3975
- * is the current lag-throttled emit rate (≤ `effectiveFps` ceiling).
3976
- */
3977
- lagMs: zod.z.number().optional(),
3978
- effectiveFps: zod.z.number().optional(),
3979
- adaptiveFps: zod.z.number().optional()
3980
- });
3981
- var DecoderSessionConfigSchema = zod.z.object({
3982
- codec: zod.z.string(),
3983
- maxFps: zod.z.number().default(0),
3984
- outputFormat: zod.z.enum([
3985
- "jpeg",
3986
- "rgb",
3987
- "bgr",
3988
- "yuv420",
3989
- "gray"
3990
- ]).default("jpeg"),
3991
- scale: zod.z.number().default(1),
3992
- width: zod.z.number().optional(),
3993
- height: zod.z.number().optional(),
3994
- /**
3995
- * Identifier of the camera this decoder session serves. Optional
3996
- * because the cap is generic (any caller could request decode), but
3997
- * stream-broker passes it so decoder logs include `deviceId` for
3998
- * per-camera filtering when diagnosing failures (e.g. node-av
3999
- * sendPacket errors on a single hung camera).
4000
- */
4001
- deviceId: zod.z.number().int().nonnegative().optional(),
4002
- /**
4003
- * Free-form tag for log scoping. Stream-broker uses
4004
- * `broker:<deviceId>/<profile>`. Decoder session logger surfaces it
4005
- * on every line so `grep tag=broker:5/high` filters one camera
4006
- * profile cleanly.
4007
- */
4008
- tag: zod.z.string().optional(),
4009
- /**
4010
- * Where the session delivers decoded frames (Phase 5 / D9):
4011
- *
4012
- * - `'callback'` (default) — the legacy pixel path: decoded frames are
4013
- * buffered as `DecodedFrame`s and drained via `pullFrames`.
4014
- * - `'shm'` — the shared-memory frame plane: decoded frames are written
4015
- * into an OS shared-memory ring and drained as zero-pixel
4016
- * `FrameHandle`s via `pullHandles`. A session is one mode or the
4017
- * other — `pullFrames` returns nothing for an `'shm'` session and
4018
- * `pullHandles` returns nothing for a `'callback'` session.
4019
- */
4020
- frameSink: zod.z.enum(["callback", "shm"]).default("callback"),
4021
- /**
4022
- * Per-camera decoder DEBUG facility. When `true`, a pull-mode session emits
4023
- * a throttled (~1Hz) structured `decoder debug` line (effective/adaptive fps,
4024
- * real-time lag, dropped-frame delta, avg decode time, hwaccel). Mirrors the
4025
- * stream-broker's `streamingDebug` gate — off by default so production logs
4026
- * stay quiet and the emit path pays zero per-frame cost when disabled.
4027
- */
4028
- debug: zod.z.boolean().optional()
4029
- });
4030
- //#endregion
4031
3965
  //#region src/interfaces/timezones.ts
4032
3966
  var EU_DST = {
4033
3967
  offsetHours: 1,
@@ -8853,13 +8787,6 @@ var BrokerRtspClientSchema = zod.z.object({
8853
8787
  lastRtpAt: zod.z.number(),
8854
8788
  bytesSent: zod.z.number()
8855
8789
  });
8856
- var BrokerDecodedClientSchema = zod.z.object({
8857
- tag: zod.z.string(),
8858
- subscribedAt: zod.z.number(),
8859
- maxFps: zod.z.number(),
8860
- framesDelivered: zod.z.number(),
8861
- framesDropped: zod.z.number()
8862
- });
8863
8790
  var BrokerAudioClientSchema = zod.z.object({
8864
8791
  tag: zod.z.string(),
8865
8792
  subscribedAt: zod.z.number(),
@@ -8959,7 +8886,6 @@ var BrokerEncodedClientSchema = zod.z.object({
8959
8886
  });
8960
8887
  var BrokerClientsSchema = zod.z.object({
8961
8888
  rtsp: zod.z.array(BrokerRtspClientSchema).readonly(),
8962
- decoded: zod.z.array(BrokerDecodedClientSchema).readonly(),
8963
8889
  audio: zod.z.array(BrokerAudioClientSchema).readonly(),
8964
8890
  encoded: zod.z.array(BrokerEncodedClientSchema).readonly(),
8965
8891
  pipeClients: zod.z.number(),
@@ -9451,11 +9377,7 @@ var streamBrokerCapability = {
9451
9377
  listClients: require_sleep.method(zod.z.object({ brokerId: zod.z.string() }), BrokerClientsSchema),
9452
9378
  killClient: require_sleep.method(zod.z.object({
9453
9379
  brokerId: zod.z.string(),
9454
- channel: zod.z.enum([
9455
- "rtsp",
9456
- "decoded",
9457
- "audio"
9458
- ]),
9380
+ channel: zod.z.enum(["rtsp", "audio"]),
9459
9381
  handle: zod.z.string()
9460
9382
  }), zod.z.object({ killed: zod.z.boolean() }), {
9461
9383
  kind: "mutation",
@@ -9554,31 +9476,6 @@ var streamBrokerCapability = {
9554
9476
  maxCount: zod.z.number().int().positive().default(8)
9555
9477
  }), zod.z.array(require_sleep.DecodedAudioChunkSchema).readonly()),
9556
9478
  unsubscribeAudioChunks: require_sleep.method(zod.z.object({ subscriptionId: zod.z.string() }), zod.z.object({ released: zod.z.boolean() }), { kind: "mutation" }),
9557
- /**
9558
- * ── Shared-memory frame plane (Phase 5 / D9) ──────────────────────
9559
- *
9560
- * The handle-based replacement for the live-object `IStreamBroker.
9561
- * onDecodedFrame` callback path. A consumer:
9562
- *
9563
- * 1. `subscribeFrames({ brokerId, format })` — the broker spins up
9564
- * (or reuses) a `frameSink: 'shm'` decoder session producing that
9565
- * `format` and returns a `subscriptionId`.
9566
- * 2. polls `pullFrameHandles({ subscriptionId, maxCount })` — drains
9567
- * zero-pixel `FrameHandle[]`; each handle is fed to a
9568
- * `FrameRingReader` that opens the named shm segment and reads the
9569
- * pixels back zero-copy.
9570
- * 3. `unsubscribeFrames({ subscriptionId })` on teardown.
9571
- *
9572
- * The broker keeps one shm ring per `(brokerId, format)` actually
9573
- * requested — no broker-side `sharp` conversion. fps throttling is
9574
- * implicit (latest-wins ring reads drop frames for a slow consumer).
9575
- */
9576
- subscribeFrames: require_sleep.method(require_sleep.SubscribeFramesInputSchema, require_sleep.SubscribeFramesResultSchema, { kind: "mutation" }),
9577
- pullFrameHandles: require_sleep.method(zod.z.object({
9578
- subscriptionId: zod.z.string(),
9579
- maxCount: zod.z.number().int().positive().default(4)
9580
- }), zod.z.array(require_sleep.FrameHandleSchema).readonly()),
9581
- unsubscribeFrames: require_sleep.method(zod.z.object({ subscriptionId: zod.z.string() }), zod.z.object({ released: zod.z.boolean() }), { kind: "mutation" }),
9582
9479
  setPreBufferDuration: require_sleep.method(zod.z.object({
9583
9480
  brokerId: zod.z.string(),
9584
9481
  seconds: zod.z.number().min(0).max(30)
@@ -12755,72 +12652,18 @@ var DEFAULT_DECODER_HWACCEL_CONFIG = {
12755
12652
  hwaccel: "auto",
12756
12653
  probedBestHwaccel: ""
12757
12654
  };
12758
- /**
12759
- * shm ring usage stats for a `frameSink: 'shm'` decoder session —
12760
- * exposed via `decoder.getShmStats` so downstream consumers can
12761
- * observe ring pressure (slot count, byte budget, hit/miss ratio).
12762
- */
12763
- var ShmRingStatsSchema = zod.z.object({
12764
- sessionId: zod.z.string(),
12765
- slotCount: zod.z.number().int(),
12766
- slotByteLength: zod.z.number().int(),
12767
- segmentBytes: zod.z.number().int(),
12768
- budgetMb: zod.z.number().int(),
12769
- framesWritten: zod.z.number().int(),
12770
- getFrameHits: zod.z.number().int(),
12771
- getFrameMisses: zod.z.number().int()
12772
- });
12773
12655
  var decoderCapability = {
12774
12656
  name: "decoder",
12775
12657
  scope: "system",
12776
12658
  mode: "singleton",
12777
12659
  preferredProvider: "decoder-nodeav",
12778
12660
  methods: {
12779
- supportsCodec: require_sleep.method(zod.z.object({ codec: zod.z.string() }), zod.z.boolean()),
12780
12661
  getInfo: require_sleep.method(zod.z.void(), zod.z.object({
12781
12662
  id: zod.z.string(),
12782
12663
  name: zod.z.string(),
12783
- isPullMode: zod.z.boolean().optional(),
12784
- priority: zod.z.number().optional(),
12785
12664
  hwaccel: zod.z.string().optional(),
12786
12665
  probedBestHwaccel: zod.z.string().optional()
12787
12666
  })),
12788
- createSession: require_sleep.method(DecoderSessionConfigSchema, zod.z.object({
12789
- sessionId: zod.z.string(),
12790
- nodeId: zod.z.string()
12791
- })),
12792
- destroySession: require_sleep.method(zod.z.object({ sessionId: zod.z.string() }), zod.z.void()),
12793
- pushPacket: require_sleep.method(zod.z.object({
12794
- sessionId: zod.z.string(),
12795
- packet: require_sleep.EncodedPacketSchema
12796
- }), zod.z.void()),
12797
- openStream: require_sleep.method(zod.z.object({
12798
- sessionId: zod.z.string(),
12799
- url: zod.z.string()
12800
- }), zod.z.void()),
12801
- pullFrames: require_sleep.method(zod.z.object({
12802
- sessionId: zod.z.string(),
12803
- maxCount: zod.z.number().default(1),
12804
- waitMs: zod.z.number().optional()
12805
- }), zod.z.array(require_sleep.DecodedFrameSchema)),
12806
- pullHandles: require_sleep.method(zod.z.object({
12807
- sessionId: zod.z.string(),
12808
- maxCount: zod.z.number().default(1),
12809
- waitMs: zod.z.number().optional()
12810
- }), zod.z.array(require_sleep.FrameHandleSchema)),
12811
- getFrame: require_sleep.method(zod.z.object({ handle: require_sleep.FrameHandleSchema }), require_sleep.DecodedFrameSchema.nullable()),
12812
- getShmStats: require_sleep.method(zod.z.object({ sessionId: zod.z.string() }), ShmRingStatsSchema.nullable()),
12813
- updateConfig: require_sleep.method(zod.z.object({
12814
- sessionId: zod.z.string(),
12815
- config: DecoderSessionConfigSchema.partial()
12816
- }), zod.z.void()),
12817
- getStats: require_sleep.method(zod.z.object({ sessionId: zod.z.string() }), DecoderStatsSchema),
12818
- listActiveSessions: require_sleep.method(zod.z.void(), zod.z.array(zod.z.object({
12819
- sessionId: zod.z.string(),
12820
- codec: zod.z.string(),
12821
- outputFormat: zod.z.string(),
12822
- createdAtMs: zod.z.number()
12823
- })).readonly()),
12824
12667
  /**
12825
12668
  * Re-run the host platform-probe for the decoder's hwaccel backend
12826
12669
  * and write the detected value into the addon's own global
@@ -23805,8 +23648,8 @@ var DEFAULT_MIN_LANDMARK_FACE_SIZE_PX = 24;
23805
23648
  var CLUSTER_STEP_SETTING_FIELDS = [{
23806
23649
  stepId: "face-embedding",
23807
23650
  key: "minLandmarkFaceSize",
23808
- label: "Min face size for recognition (detection px)",
23809
- description: "Refuse to embed a face smaller than this IN THE DETECTION FRAME. Applies to every node — the enrolled gallery is one index, and two admission floors would fill it from two policies. 0 disables the gate.",
23651
+ label: "Min face size to embed (detection-frame px)",
23652
+ description: "Faces smaller than this in the small frame the detector sees are not embedded, so they can never be recognised. Below it the face cannot be aligned reliably and a bad embedding matches everyone. Same value on every node. 0 = no limit.",
23810
23653
  type: "slider",
23811
23654
  min: 0,
23812
23655
  max: 64,
@@ -28736,14 +28579,15 @@ var RunnerLocalLoadSchema = zod.z.object({
28736
28579
  * Per-inference-device live load (multi-device C4). One entry per deviceKey
28737
28580
  * this runner currently has attached cameras on, so the orchestrator's second
28738
28581
  * `balance()` pass (over a node's devices) weights on real per-pool session
28739
- * counts. Empty on single-device / pre-multi-device runners. `queueDepthTotal`
28740
- * per device is 0 until the pool backlog gets a public accessor (follow-up).
28582
+ * counts. Empty on single-device / pre-multi-device runners. There is no
28583
+ * per-device queue depth: the inference pool's backlog has no accessor, and
28584
+ * a field that always read 0 was removed rather than shown as a measurement
28585
+ * (D762).
28741
28586
  */
28742
28587
  devices: zod.z.array(zod.z.object({
28743
28588
  deviceKey: zod.z.string(),
28744
28589
  backend: zod.z.string(),
28745
- attachedCameras: zod.z.number(),
28746
- queueDepthTotal: zod.z.number()
28590
+ attachedCameras: zod.z.number()
28747
28591
  })).default([]),
28748
28592
  /** Hardware capability flags reported by this node. */
28749
28593
  hardware: zod.z.object({
@@ -29260,7 +29104,10 @@ var PipelineAssignmentSchema = zod.z.object({
29260
29104
  });
29261
29105
  /**
29262
29106
  * Per-agent load summary surfaced to the load balancer + dashboards.
29263
- * Aggregated from each runner's `getLocalLoad` cap call.
29107
+ * Aggregated from each runner's `getLocalLoad` cap call. In the
29108
+ * `getAgentLoad` report, a single-device node's default-pool sessions (no
29109
+ * `deviceKey`) are credited to its one eligible device in `load.devices` —
29110
+ * the default pool IS that device (D745); the balancer's census stays raw.
29264
29111
  */
29265
29112
  var AgentLoadSummarySchema = zod.z.object({
29266
29113
  nodeId: zod.z.string(),
@@ -29350,8 +29197,14 @@ var CameraBrokerProfileSchema = zod.z.object({
29350
29197
  width: zod.z.number(),
29351
29198
  height: zod.z.number(),
29352
29199
  subscribers: zod.z.number(),
29353
- inFps: zod.z.number(),
29354
- outFps: zod.z.number()
29200
+ /**
29201
+ * Encoded packets/s the broker receives from the camera. null when the
29202
+ * broker's stats read failed — unknown, never 0 (a 0 here reads as a stall).
29203
+ * There is no output rate: decoding runs in the session decode workers, not
29204
+ * in the broker, so the broker's own decoded-frame rate is 0 on every live
29205
+ * camera and is not served (D758).
29206
+ */
29207
+ inFps: zod.z.number().nullable()
29355
29208
  });
29356
29209
  /** Broker block — null when the broker stage is unreachable or inactive. */
29357
29210
  var CameraBrokerStatusSchema = zod.z.object({
@@ -33661,8 +33514,6 @@ var WebrtcStreamChoiceSchema = zod.z.object({
33661
33514
  ]).nullable(),
33662
33515
  /** Input FPS from the camera (null for adaptive). */
33663
33516
  inputFps: zod.z.number().nullable(),
33664
- /** Decoded FPS (null for adaptive). */
33665
- decodeFps: zod.z.number().nullable(),
33666
33517
  /** Bitrate in kbps (null for adaptive). */
33667
33518
  bitrateKbps: zod.z.number().nullable()
33668
33519
  });
@@ -34468,6 +34319,65 @@ var AddonAutoUpdateSchema = ChannelWithInheritSchema;
34468
34319
  var RestartAddonResultSchema = zod.z.unknown();
34469
34320
  var InstallPackageResultSchema = zod.z.unknown();
34470
34321
  var ReloadPackagesResultSchema = zod.z.unknown();
34322
+ /**
34323
+ * What an uninstall did on ONE node.
34324
+ * - `uninstalled` — removed: runner(s) stopped, caps gone, code deleted.
34325
+ * - `not-installed` — the node did not have it (nothing to do).
34326
+ * - `refused` — protected / bootstrap package; nothing touched.
34327
+ * - `failed` — attempted and did not complete; `error` says why.
34328
+ * - `pending-reconnect` — the node is OFFLINE: its record was pruned so the
34329
+ * back-fill never returns the package, and the stale-addon sweep removes the
34330
+ * copy when the node registers again (only once the hub no longer has it).
34331
+ */
34332
+ var UninstallNodeOutcomeSchema = zod.z.enum([
34333
+ "uninstalled",
34334
+ "not-installed",
34335
+ "refused",
34336
+ "failed",
34337
+ "pending-reconnect"
34338
+ ]);
34339
+ var UninstallNodeResultSchema = zod.z.object({
34340
+ nodeId: zod.z.string(),
34341
+ outcome: UninstallNodeOutcomeSchema,
34342
+ error: zod.z.string().optional(),
34343
+ addonIds: zod.z.array(zod.z.string()).readonly(),
34344
+ runnersStopped: zod.z.array(zod.z.string()).readonly(),
34345
+ warnings: zod.z.array(zod.z.string()).readonly()
34346
+ });
34347
+ var UninstallPackageResultSchema = zod.z.object({
34348
+ /** Every targeted node ended `uninstalled`, `not-installed` or `pending-reconnect`. */
34349
+ success: zod.z.boolean(),
34350
+ packageName: zod.z.string(),
34351
+ results: zod.z.array(UninstallNodeResultSchema).readonly()
34352
+ });
34353
+ /**
34354
+ * One node that has a package. `source: 'live'` = the node answered now (the
34355
+ * hub's installer, or an agent's `$agent.status`); `'recorded'` = an offline
34356
+ * node's last declared roster — the copy may or may not still be on disk.
34357
+ */
34358
+ var PackageInstallationSchema = zod.z.object({
34359
+ packageName: zod.z.string(),
34360
+ nodeId: zod.z.string(),
34361
+ nodeName: zod.z.string(),
34362
+ isHub: zod.z.boolean(),
34363
+ isOnline: zod.z.boolean(),
34364
+ version: zod.z.string().nullable(),
34365
+ addonIds: zod.z.array(zod.z.string()).readonly(),
34366
+ source: zod.z.enum(["live", "recorded"]),
34367
+ /** The hub installs this package too. `false` on an agent row = an orphan. */
34368
+ onHub: zod.z.boolean()
34369
+ });
34370
+ /**
34371
+ * `unreachable` lists online agents whose status read FAILED — absence from
34372
+ * `installations` is only "not installed" for a node that answered (D315).
34373
+ */
34374
+ var PackageInstallationsSchema = zod.z.object({
34375
+ installations: zod.z.array(PackageInstallationSchema).readonly(),
34376
+ unreachable: zod.z.array(zod.z.object({
34377
+ nodeId: zod.z.string(),
34378
+ error: zod.z.string()
34379
+ })).readonly()
34380
+ });
34471
34381
  var BulkUpdateItemStatusSchema = zod.z.enum([
34472
34382
  "queued",
34473
34383
  "updating",
@@ -34576,10 +34486,31 @@ var addonsCapability = {
34576
34486
  }),
34577
34487
  isWorkspaceAvailable: require_sleep.method(zod.z.void(), zod.z.boolean()),
34578
34488
  listWorkspacePackages: require_sleep.method(zod.z.void(), zod.z.array(zod.z.unknown()).readonly()),
34579
- uninstallPackage: require_sleep.method(zod.z.object({ packageName: zod.z.string() }), zod.z.unknown(), {
34489
+ /**
34490
+ * Uninstall a package. `nodeId` omitted (or `'hub'`) uninstalls on the hub
34491
+ * — the original behaviour, which still THROWS on failure. An agent
34492
+ * `nodeId` removes it from that agent through `$agent.undeploy`
34493
+ * (runners stopped, caps deregistered, code deleted) and prunes the node's
34494
+ * declared roster so the back-fill never returns it. `everywhere: true`
34495
+ * does both for every node that has it (agents first, hub last); offline
34496
+ * nodes answer `pending-reconnect`. Node-level failures in those two modes
34497
+ * are REPORTED per node, never thrown. Protected packages are refused.
34498
+ */
34499
+ uninstallPackage: require_sleep.method(zod.z.object({
34500
+ packageName: zod.z.string().min(1),
34501
+ nodeId: zod.z.string().optional(),
34502
+ everywhere: zod.z.boolean().optional()
34503
+ }), UninstallPackageResultSchema, {
34580
34504
  kind: "mutation",
34581
34505
  auth: "admin"
34582
34506
  }),
34507
+ /**
34508
+ * Which nodes have a package (or, with no `packageName`, every package on
34509
+ * every node). Hub from its installer, online agents from `$agent.status`
34510
+ * (in parallel, bounded), offline agents from their declared roster.
34511
+ * Drives the uninstall confirm and the Addons page's "not on the hub" list.
34512
+ */
34513
+ listInstallations: require_sleep.method(zod.z.object({ packageName: zod.z.string().optional() }), PackageInstallationsSchema, { auth: "admin" }),
34583
34514
  reloadPackages: require_sleep.method(zod.z.void(), ReloadPackagesResultSchema, {
34584
34515
  kind: "mutation",
34585
34516
  auth: "admin"
@@ -51831,6 +51762,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
51831
51762
  addonId: null,
51832
51763
  access: "view"
51833
51764
  },
51765
+ "addons.listInstallations": {
51766
+ capName: "addons",
51767
+ capScope: "system",
51768
+ addonId: null,
51769
+ access: "view"
51770
+ },
51834
51771
  "addons.listJobs": {
51835
51772
  capName: "addons",
51836
51773
  capScope: "system",
@@ -53013,90 +52950,18 @@ var METHOD_ACCESS_MAP = Object.freeze({
53013
52950
  addonId: null,
53014
52951
  access: "create"
53015
52952
  },
53016
- "decoder.createSession": {
53017
- capName: "decoder",
53018
- capScope: "system",
53019
- addonId: null,
53020
- access: "view"
53021
- },
53022
- "decoder.destroySession": {
53023
- capName: "decoder",
53024
- capScope: "system",
53025
- addonId: null,
53026
- access: "delete"
53027
- },
53028
- "decoder.getFrame": {
53029
- capName: "decoder",
53030
- capScope: "system",
53031
- addonId: null,
53032
- access: "view"
53033
- },
53034
52953
  "decoder.getInfo": {
53035
52954
  capName: "decoder",
53036
52955
  capScope: "system",
53037
52956
  addonId: null,
53038
52957
  access: "view"
53039
52958
  },
53040
- "decoder.getShmStats": {
53041
- capName: "decoder",
53042
- capScope: "system",
53043
- addonId: null,
53044
- access: "view"
53045
- },
53046
- "decoder.getStats": {
53047
- capName: "decoder",
53048
- capScope: "system",
53049
- addonId: null,
53050
- access: "view"
53051
- },
53052
- "decoder.listActiveSessions": {
53053
- capName: "decoder",
53054
- capScope: "system",
53055
- addonId: null,
53056
- access: "view"
53057
- },
53058
- "decoder.openStream": {
53059
- capName: "decoder",
53060
- capScope: "system",
53061
- addonId: null,
53062
- access: "view"
53063
- },
53064
- "decoder.pullFrames": {
53065
- capName: "decoder",
53066
- capScope: "system",
53067
- addonId: null,
53068
- access: "view"
53069
- },
53070
- "decoder.pullHandles": {
53071
- capName: "decoder",
53072
- capScope: "system",
53073
- addonId: null,
53074
- access: "view"
53075
- },
53076
- "decoder.pushPacket": {
53077
- capName: "decoder",
53078
- capScope: "system",
53079
- addonId: null,
53080
- access: "view"
53081
- },
53082
52959
  "decoder.reprobeHwaccel": {
53083
52960
  capName: "decoder",
53084
52961
  capScope: "system",
53085
52962
  addonId: null,
53086
52963
  access: "create"
53087
52964
  },
53088
- "decoder.supportsCodec": {
53089
- capName: "decoder",
53090
- capScope: "system",
53091
- addonId: null,
53092
- access: "view"
53093
- },
53094
- "decoder.updateConfig": {
53095
- capName: "decoder",
53096
- capScope: "system",
53097
- addonId: null,
53098
- access: "view"
53099
- },
53100
52965
  "detectionPipeline.applyDeviceSettingsPatch": {
53101
52966
  capName: "detection-pipeline",
53102
52967
  capScope: "device",
@@ -58143,12 +58008,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
58143
58008
  addonId: null,
58144
58009
  access: "view"
58145
58010
  },
58146
- "streamBroker.pullFrameHandles": {
58147
- capName: "stream-broker",
58148
- capScope: "system",
58149
- addonId: null,
58150
- access: "view"
58151
- },
58152
58011
  "streamBroker.regenerateRtspToken": {
58153
58012
  capName: "stream-broker",
58154
58013
  capScope: "system",
@@ -58215,12 +58074,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
58215
58074
  addonId: null,
58216
58075
  access: "create"
58217
58076
  },
58218
- "streamBroker.subscribeFrames": {
58219
- capName: "stream-broker",
58220
- capScope: "system",
58221
- addonId: null,
58222
- access: "create"
58223
- },
58224
58077
  "streamBroker.unassignProfile": {
58225
58078
  capName: "stream-broker",
58226
58079
  capScope: "system",
@@ -58233,12 +58086,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
58233
58086
  addonId: null,
58234
58087
  access: "create"
58235
58088
  },
58236
- "streamBroker.unsubscribeFrames": {
58237
- capName: "stream-broker",
58238
- capScope: "system",
58239
- addonId: null,
58240
- access: "create"
58241
- },
58242
58089
  "streamCatalog.getCatalog": {
58243
58090
  capName: "stream-catalog",
58244
58091
  capScope: "device",
@@ -64104,11 +63951,6 @@ var METHOD_DEVICE_SELECTORS = Object.freeze({
64104
63951
  form: "single",
64105
63952
  optional: false
64106
63953
  }],
64107
- "decoder.createSession": [{
64108
- name: "deviceId",
64109
- form: "single",
64110
- optional: true
64111
- }],
64112
63954
  "detectionPipeline.applyDeviceSettingsPatch": [{
64113
63955
  name: "deviceId",
64114
63956
  form: "single",
@@ -66339,7 +66181,6 @@ var SYSTEM_SCOPE_DEVICE_METHODS = [
66339
66181
  "audioAnalyzer.attachDevice",
66340
66182
  "audioAnalyzer.classify",
66341
66183
  "audioAnalyzer.detachDevice",
66342
- "decoder.createSession",
66343
66184
  "deviceAdoption.getStatus",
66344
66185
  "deviceAdoption.release",
66345
66186
  "deviceAdoption.resync",
@@ -66981,6 +66822,7 @@ function createSystemProxy(api) {
66981
66822
  isWorkspaceAvailable: (input) => dispatch("addons", "isWorkspaceAvailable", "query", input),
66982
66823
  listWorkspacePackages: (input) => dispatch("addons", "listWorkspacePackages", "query", input),
66983
66824
  uninstallPackage: (input) => dispatch("addons", "uninstallPackage", "mutation", input),
66825
+ listInstallations: (input) => dispatch("addons", "listInstallations", "query", input),
66984
66826
  reloadPackages: (input) => dispatch("addons", "reloadPackages", "mutation", input),
66985
66827
  searchAvailable: (input) => dispatch("addons", "searchAvailable", "query", input),
66986
66828
  listUpdates: (input) => dispatch("addons", "listUpdates", "query", input),
@@ -67109,19 +66951,7 @@ function createSystemProxy(api) {
67109
66951
  validateComposition: (input) => dispatch("coreBlocks", "validateComposition", "mutation", input)
67110
66952
  },
67111
66953
  decoder: {
67112
- supportsCodec: (input) => dispatch("decoder", "supportsCodec", "query", input),
67113
66954
  getInfo: (input) => dispatch("decoder", "getInfo", "query", input),
67114
- createSession: (input) => dispatch("decoder", "createSession", "query", input),
67115
- destroySession: (input) => dispatch("decoder", "destroySession", "query", input),
67116
- pushPacket: (input) => dispatch("decoder", "pushPacket", "query", input),
67117
- openStream: (input) => dispatch("decoder", "openStream", "query", input),
67118
- pullFrames: (input) => dispatch("decoder", "pullFrames", "query", input),
67119
- pullHandles: (input) => dispatch("decoder", "pullHandles", "query", input),
67120
- getFrame: (input) => dispatch("decoder", "getFrame", "query", input),
67121
- getShmStats: (input) => dispatch("decoder", "getShmStats", "query", input),
67122
- updateConfig: (input) => dispatch("decoder", "updateConfig", "query", input),
67123
- getStats: (input) => dispatch("decoder", "getStats", "query", input),
67124
- listActiveSessions: (input) => dispatch("decoder", "listActiveSessions", "query", input),
67125
66955
  reprobeHwaccel: (input) => dispatch("decoder", "reprobeHwaccel", "mutation", input)
67126
66956
  },
67127
66957
  deviceAdoption: {
@@ -67598,9 +67428,6 @@ function createSystemProxy(api) {
67598
67428
  subscribeAudioChunks: (input) => dispatch("streamBroker", "subscribeAudioChunks", "mutation", input),
67599
67429
  pullAudioChunks: (input) => dispatch("streamBroker", "pullAudioChunks", "query", input),
67600
67430
  unsubscribeAudioChunks: (input) => dispatch("streamBroker", "unsubscribeAudioChunks", "mutation", input),
67601
- subscribeFrames: (input) => dispatch("streamBroker", "subscribeFrames", "mutation", input),
67602
- pullFrameHandles: (input) => dispatch("streamBroker", "pullFrameHandles", "query", input),
67603
- unsubscribeFrames: (input) => dispatch("streamBroker", "unsubscribeFrames", "mutation", input),
67604
67431
  setPreBufferDuration: (input) => dispatch("streamBroker", "setPreBufferDuration", "mutation", input),
67605
67432
  getPreBufferInfo: (input) => dispatch("streamBroker", "getPreBufferInfo", "query", input),
67606
67433
  getRtspPort: (input) => dispatch("streamBroker", "getRtspPort", "query", input),
@@ -75774,7 +75601,6 @@ exports.BrokerClientsSchema = BrokerClientsSchema;
75774
75601
  exports.BrokerConnectionDetailsSchema = BrokerConnectionDetailsSchema;
75775
75602
  exports.BrokerConsumerAttributionSchema = BrokerConsumerAttributionSchema;
75776
75603
  exports.BrokerConsumerKindSchema = BrokerConsumerKindSchema;
75777
- exports.BrokerDecodedClientSchema = BrokerDecodedClientSchema;
75778
75604
  exports.BrokerEncodedClientSchema = BrokerEncodedClientSchema;
75779
75605
  exports.BrokerGetStateInputSchema = GetStateInputSchema;
75780
75606
  exports.BrokerInfoSchema = BrokerInfoSchema;
@@ -76080,9 +75906,6 @@ exports.DayNightSettingsPatchSchema = DayNightSettingsPatchSchema;
76080
75906
  exports.DayNightStatusSchema = DayNightStatusSchema;
76081
75907
  exports.DeclaredDevices = DeclaredDevices;
76082
75908
  exports.DecodedAudioChunkSchema = require_sleep.DecodedAudioChunkSchema;
76083
- exports.DecodedFrameSchema = require_sleep.DecodedFrameSchema;
76084
- exports.DecoderSessionConfigSchema = DecoderSessionConfigSchema;
76085
- exports.DecoderStatsSchema = DecoderStatsSchema;
76086
75909
  exports.DeleteIntegrationResultSchema = DeleteIntegrationResultSchema;
76087
75910
  exports.DetailCropConventionSchema = DetailCropConventionSchema;
76088
75911
  exports.DetectionCatalogClassMapSchema = DetectionCatalogClassMapSchema;
@@ -76156,7 +75979,6 @@ exports.EmbeddingRefusalCodeSchema = EmbeddingRefusalCodeSchema;
76156
75979
  exports.EmbeddingResultSchema = EmbeddingResultSchema;
76157
75980
  exports.EmbeddingTowerSchema = EmbeddingTowerSchema;
76158
75981
  exports.EncodeProfileSchema = EncodeProfileSchema;
76159
- exports.EncodedPacketSchema = require_sleep.EncodedPacketSchema;
76160
75982
  exports.EnrichedWidgetMetadataSchema = EnrichedWidgetMetadataSchema;
76161
75983
  exports.EnumSensorDateTimeFormatSchema = EnumSensorDateTimeFormatSchema;
76162
75984
  exports.EnumSensorStatusSchema = EnumSensorStatusSchema;
@@ -76234,7 +76056,6 @@ exports.FieldClaimModeSchema = FieldClaimModeSchema;
76234
76056
  exports.FieldClaimSchema = FieldClaimSchema;
76235
76057
  exports.FloodStatusSchema = FloodStatusSchema;
76236
76058
  exports.Fmp4BoxSplitter = require_composition.Fmp4BoxSplitter;
76237
- exports.FrameHandleFormatSchema = require_sleep.FrameHandleFormatSchema;
76238
76059
  exports.FrameHandleSchema = require_sleep.FrameHandleSchema;
76239
76060
  exports.FrameInputSchema = FrameInputSchema;
76240
76061
  exports.FrameLazyCountersSchema = FrameLazyCountersSchema;
@@ -76748,6 +76569,8 @@ exports.PROVIDER_KIND_CAP_NAMES = PROVIDER_KIND_CAP_NAMES;
76748
76569
  exports.PROVIDER_PIN_FIELD = require_sleep.PROVIDER_PIN_FIELD;
76749
76570
  exports.PUBLIC_ENDPOINT_HTTP_REASON = PUBLIC_ENDPOINT_HTTP_REASON;
76750
76571
  exports.PYTHON_SCRIPT = PYTHON_SCRIPT;
76572
+ exports.PackageInstallationSchema = PackageInstallationSchema;
76573
+ exports.PackageInstallationsSchema = PackageInstallationsSchema;
76751
76574
  exports.PackageUpdateSchema = PackageUpdateSchema;
76752
76575
  exports.PackageVersionInfoSchema = PackageVersionInfoSchema;
76753
76576
  exports.ParkRefusalSchema = ParkRefusalSchema;
@@ -77000,7 +76823,6 @@ exports.SettingsSchemaWithValuesSchema = SettingsSchemaWithValuesSchema;
77000
76823
  exports.SettingsUpdateResultSchema = SettingsUpdateResultSchema;
77001
76824
  exports.ShareSourceSchema = ShareSourceSchema;
77002
76825
  exports.ShareWeightsSchema = ShareWeightsSchema;
77003
- exports.ShmRingStatsSchema = ShmRingStatsSchema;
77004
76826
  exports.SiteLocationSchema = SiteLocationSchema;
77005
76827
  exports.SiteLocationSourceSchema = SiteLocationSourceSchema;
77006
76828
  exports.SiteLocationStatusSchema = SiteLocationStatusSchema;
@@ -77073,8 +76895,6 @@ exports.StreamSourceEntrySchema = require_sleep.StreamSourceEntrySchema;
77073
76895
  exports.StreamSourceSchema = require_sleep.StreamSourceSchema;
77074
76896
  exports.SubscribeAudioChunksInputSchema = require_sleep.SubscribeAudioChunksInputSchema;
77075
76897
  exports.SubscribeAudioChunksResultSchema = require_sleep.SubscribeAudioChunksResultSchema;
77076
- exports.SubscribeFramesInputSchema = require_sleep.SubscribeFramesInputSchema;
77077
- exports.SubscribeFramesResultSchema = require_sleep.SubscribeFramesResultSchema;
77078
76898
  exports.SuggestSharesInputSchema = SuggestSharesInputSchema;
77079
76899
  exports.SuggestSharesResultSchema = SuggestSharesResultSchema;
77080
76900
  exports.SuggestedDeviceShareSchema = SuggestedDeviceShareSchema;
@@ -77140,6 +76960,9 @@ exports.UNIT_TABLE = UNIT_TABLE;
77140
76960
  exports.USE_ROOT_MODEL_DEFAULTS = USE_ROOT_MODEL_DEFAULTS;
77141
76961
  exports.USE_ROOT_MODEL_SETTING_KEY = USE_ROOT_MODEL_SETTING_KEY;
77142
76962
  exports.UnifiedBrokerInfoSchema = BrokerInfoSchema;
76963
+ exports.UninstallNodeOutcomeSchema = UninstallNodeOutcomeSchema;
76964
+ exports.UninstallNodeResultSchema = UninstallNodeResultSchema;
76965
+ exports.UninstallPackageResultSchema = UninstallPackageResultSchema;
77143
76966
  exports.UnitConversionError = UnitConversionError;
77144
76967
  exports.UnstampedEventMediaCountSchema = UnstampedEventMediaCountSchema;
77145
76968
  exports.UnstampedRowsSchema = UnstampedRowsSchema;