@camstack/addon-pipeline 1.0.3 → 1.0.5

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 (31) hide show
  1. package/dist/audio-analyzer/index.js +1 -1
  2. package/dist/audio-analyzer/index.mjs +1 -1
  3. package/dist/audio-codec-nodeav/index.js +1 -1
  4. package/dist/audio-codec-nodeav/index.mjs +1 -1
  5. package/dist/decoder-nodeav/index.js +1 -1
  6. package/dist/decoder-nodeav/index.mjs +1 -1
  7. package/dist/detection-pipeline/index.js +1 -1
  8. package/dist/detection-pipeline/index.mjs +1 -1
  9. package/dist/{dist-XRXnZrVC.mjs → dist-CP2uP-D8.mjs} +122 -27
  10. package/dist/{dist-C1goFC50.js → dist-v0PZCoV-.js} +122 -27
  11. package/dist/motion-wasm/index.js +1 -1
  12. package/dist/motion-wasm/index.mjs +1 -1
  13. package/dist/pipeline-runner/index.js +1 -1
  14. package/dist/pipeline-runner/index.mjs +1 -1
  15. package/dist/recorder/index.js +1 -1
  16. package/dist/recorder/index.mjs +1 -1
  17. package/dist/stream-broker/_stub.js +2 -2
  18. package/dist/stream-broker/{_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-dGO6_Xee.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-Hzarxdhd.mjs} +3 -3
  19. package/dist/stream-broker/{_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-Tf-HACFd.mjs → _virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-c9YxHYlI.mjs} +1 -1
  20. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-SlpG44Ip.mjs +26 -0
  21. package/dist/stream-broker/{hostInit-ClKL4kbX.mjs → hostInit-BXhCtKAA.mjs} +3 -3
  22. package/dist/stream-broker/index.js +1 -1
  23. package/dist/stream-broker/index.mjs +1 -1
  24. package/dist/stream-broker/remoteEntry.js +1 -1
  25. package/embed-dist/assets/{MaskShapeCanvas-DI4BY7W2-DEYqSd2k.js → MaskShapeCanvas-DI4BY7W2-CQxn6ukH.js} +1 -1
  26. package/embed-dist/assets/{MotionZonesSettings-C1EEbk2V-CRvYkSju.js → MotionZonesSettings-C1EEbk2V-BziDLK12.js} +1 -1
  27. package/embed-dist/assets/{PrivacyMaskSettings-APgPLF7p-CIq73-7y.js → PrivacyMaskSettings-APgPLF7p-D3KDk03_.js} +1 -1
  28. package/embed-dist/assets/{index-C5Az4io-.js → index-CvgJINQE.js} +9 -9
  29. package/embed-dist/index.html +1 -1
  30. package/package.json +3 -4
  31. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-B0Z2W5UM.mjs +0 -26
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../chunk-D6vf50IK.js");
6
- const require_dist = require("../dist-C1goFC50.js");
6
+ const require_dist = require("../dist-v0PZCoV-.js");
7
7
  let node_fs = require("node:fs");
8
8
  node_fs = require_chunk.__toESM(node_fs);
9
9
  let node_path = require("node:path");
@@ -1,5 +1,5 @@
1
1
  import { t as __require } from "../chunk-BdkLduGY.mjs";
2
- import { L as mapAudioLabelToMacro, P as hydrateSchema, S as audioAnalyzerCapability, c as DEFAULT_AUDIO_ANALYZER_CONFIG, i as BaseAddon, j as errMsg, m as HF_BASE_URL, n as AUDIO_BACKEND_CHOICES, x as audioAnalysisCapability } from "../dist-XRXnZrVC.mjs";
2
+ import { L as mapAudioLabelToMacro, P as hydrateSchema, S as audioAnalyzerCapability, c as DEFAULT_AUDIO_ANALYZER_CONFIG, i as BaseAddon, j as errMsg, m as HF_BASE_URL, n as AUDIO_BACKEND_CHOICES, x as audioAnalysisCapability } from "../dist-CP2uP-D8.mjs";
3
3
  import * as fs from "node:fs";
4
4
  import * as path$1 from "node:path";
5
5
  import { downloadFile } from "@camstack/system";
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_dist = require("../dist-C1goFC50.js");
5
+ const require_dist = require("../dist-v0PZCoV-.js");
6
6
  const require_codec_runtime = require("../codec-runtime-BOk-13PN.js");
7
7
  let node_crypto = require("node:crypto");
8
8
  //#region src/audio-codec-nodeav/addon/index.ts
@@ -1,4 +1,4 @@
1
- import { C as audioCodecCapability, i as BaseAddon, j as errMsg } from "../dist-XRXnZrVC.mjs";
1
+ import { C as audioCodecCapability, i as BaseAddon, j as errMsg } from "../dist-CP2uP-D8.mjs";
2
2
  import { t as DecodeRuntime } from "../codec-runtime-BsqlEjPi.mjs";
3
3
  import { randomUUID } from "node:crypto";
4
4
  //#region src/audio-codec-nodeav/addon/index.ts
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_dist = require("../dist-C1goFC50.js");
5
+ const require_dist = require("../dist-v0PZCoV-.js");
6
6
  let _camstack_shm_ring = require("@camstack/shm-ring");
7
7
  let node_crypto = require("node:crypto");
8
8
  //#region src/decoder-nodeav/frame-ring-sink.ts
@@ -1,4 +1,4 @@
1
- import { O as decoderCapability, _ as RingBuffer, h as HWACCEL_OPTIONS, i as BaseAddon, j as errMsg, l as DEFAULT_DECODER_HWACCEL_CONFIG } from "../dist-XRXnZrVC.mjs";
1
+ import { O as decoderCapability, _ as RingBuffer, h as HWACCEL_OPTIONS, i as BaseAddon, j as errMsg, l as DEFAULT_DECODER_HWACCEL_CONFIG } from "../dist-CP2uP-D8.mjs";
2
2
  import { FrameRingReaderCache, FrameRingWriter, MIN_RING_SLOTS, computeSegmentSize, computeSlotByteLength, createSegment, deriveSlotCount } from "@camstack/shm-ring";
3
3
  import { randomUUID } from "node:crypto";
4
4
  //#region src/decoder-nodeav/frame-ring-sink.ts
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../chunk-D6vf50IK.js");
6
- const require_dist = require("../dist-C1goFC50.js");
6
+ const require_dist = require("../dist-v0PZCoV-.js");
7
7
  let node_fs = require("node:fs");
8
8
  node_fs = require_chunk.__toESM(node_fs);
9
9
  let node_path = require("node:path");
@@ -1,5 +1,5 @@
1
1
  import { t as __require } from "../chunk-BdkLduGY.mjs";
2
- import { A as detectionPipelineCapability, E as createEvent, M as evaluateZoneRules, N as hfModelUrl, P as hydrateSchema, U as pipelineExecutorCapability, V as parseJsonUnknown, i as BaseAddon, j as errMsg, o as COCO_80_LABELS, p as EventCategory, q as sleep, r as AUDIO_MACRO_LABELS, s as COCO_TO_MACRO, t as APPLE_SA_TO_MACRO, v as YAMNET_TO_MACRO } from "../dist-XRXnZrVC.mjs";
2
+ import { A as detectionPipelineCapability, E as createEvent, M as evaluateZoneRules, N as hfModelUrl, P as hydrateSchema, U as pipelineExecutorCapability, V as parseJsonUnknown, i as BaseAddon, j as errMsg, o as COCO_80_LABELS, p as EventCategory, q as sleep, r as AUDIO_MACRO_LABELS, s as COCO_TO_MACRO, t as APPLE_SA_TO_MACRO, v as YAMNET_TO_MACRO } from "../dist-CP2uP-D8.mjs";
3
3
  import * as fs from "node:fs";
4
4
  import * as path$1 from "node:path";
5
5
  import * as os from "node:os";
@@ -5130,14 +5130,15 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
5130
5130
  EventCategory["DeviceSleeping"] = "device.sleeping";
5131
5131
  EventCategory["RetentionCleanup"] = "retention.cleanup";
5132
5132
  /**
5133
- * Progress snapshot emitted by `BulkUpdateCoordinator` on every state
5134
- * transition (item status change, phase change, completion, cancel).
5135
- * Payload is `BulkUpdateState`. Admin UI subscribes via `useLiveEvent`
5136
- * to drive the sticky `BulkUpdateBanner` and per-row `AddonRowBadge`.
5137
- *
5138
- * Spec: docs/superpowers/specs/2026-05-21-addons-bulk-update-progress-design.md
5133
+ * Legacy bulk-update progress snapshot (payload `BulkUpdateState`). No longer
5134
+ * emitted F3 removed the coordinator that produced it; "Update all" now runs
5135
+ * as one lifecycle engine job (`AddonsJobProgress`/`AddonsJobLog`). Retained
5136
+ * (with `BulkUpdateState`) only to avoid regenerating the event maps; removed
5137
+ * in F4 once live bulk progress is re-implemented over the engine events.
5139
5138
  */
5140
5139
  EventCategory["AddonsBulkUpdateProgress"] = "addons.bulk-update-progress";
5140
+ EventCategory["AddonsJobProgress"] = "addons.job-progress";
5141
+ EventCategory["AddonsJobLog"] = "addons.job-log";
5141
5142
  /**
5142
5143
  * A container's child visibility toggled (hidden/shown). Emitted by the
5143
5144
  * `accessories` cap when a child device is hidden or revealed.
@@ -17441,6 +17442,69 @@ method(_void(), array(IntegrationWithStateSchema)), method(object({ id: string()
17441
17442
  kind: "mutation",
17442
17443
  auth: "admin"
17443
17444
  });
17445
+ var jobKindSchema = _enum([
17446
+ "install",
17447
+ "update",
17448
+ "uninstall",
17449
+ "restart"
17450
+ ]);
17451
+ var taskPhaseSchema = _enum([
17452
+ "queued",
17453
+ "fetching",
17454
+ "staged",
17455
+ "validating",
17456
+ "applying",
17457
+ "restarting",
17458
+ "applied",
17459
+ "done",
17460
+ "failed",
17461
+ "skipped"
17462
+ ]);
17463
+ var taskTargetSchema = _enum(["framework", "addon"]);
17464
+ var taskLogEntrySchema = object({
17465
+ tsMs: number(),
17466
+ nodeId: string(),
17467
+ packageName: string(),
17468
+ phase: taskPhaseSchema,
17469
+ message: string()
17470
+ });
17471
+ var lifecycleTaskSchema = object({
17472
+ taskId: string(),
17473
+ nodeId: string(),
17474
+ packageName: string(),
17475
+ fromVersion: string().nullable(),
17476
+ toVersion: string(),
17477
+ target: taskTargetSchema,
17478
+ phase: taskPhaseSchema,
17479
+ stagedPath: string().nullable(),
17480
+ attempts: number(),
17481
+ steps: array(taskLogEntrySchema),
17482
+ error: string().nullable(),
17483
+ startedAtMs: number().nullable(),
17484
+ finishedAtMs: number().nullable()
17485
+ });
17486
+ var lifecycleJobStateSchema = _enum([
17487
+ "running",
17488
+ "completed",
17489
+ "failed",
17490
+ "partially-failed",
17491
+ "cancelled"
17492
+ ]);
17493
+ var lifecycleJobScopeSchema = _enum([
17494
+ "single",
17495
+ "bulk",
17496
+ "cluster"
17497
+ ]);
17498
+ var lifecycleJobSchema = object({
17499
+ jobId: string(),
17500
+ kind: jobKindSchema,
17501
+ createdAtMs: number(),
17502
+ createdBy: string(),
17503
+ scope: lifecycleJobScopeSchema,
17504
+ tasks: array(lifecycleTaskSchema),
17505
+ state: lifecycleJobStateSchema,
17506
+ schemaVersion: literal(1)
17507
+ });
17444
17508
  /**
17445
17509
  * addons — system-scoped singleton capability for addon package
17446
17510
  * management (install, update, configure, restart) and per-addon log
@@ -17623,7 +17687,7 @@ var BulkUpdatePhaseSchema = _enum([
17623
17687
  "restarting",
17624
17688
  "finalizing"
17625
17689
  ]);
17626
- var BulkUpdateStateSchema = object({
17690
+ object({
17627
17691
  id: string(),
17628
17692
  nodeId: string(),
17629
17693
  startedAtMs: number(),
@@ -17726,20 +17790,7 @@ method(_void(), array(AddonListItemSchema).readonly()), method(object({
17726
17790
  }), UpdateFrameworkPackageResultSchema, {
17727
17791
  kind: "mutation",
17728
17792
  auth: "admin"
17729
- }), method(object({
17730
- nodeId: string(),
17731
- items: array(object({
17732
- name: string(),
17733
- version: string(),
17734
- isSystem: boolean()
17735
- })).readonly()
17736
- }), object({ id: string() }), {
17737
- kind: "mutation",
17738
- auth: "admin"
17739
- }), method(object({ id: string() }), BulkUpdateStateSchema.nullable(), { auth: "admin" }), method(object({ id: string() }), object({ cancelled: boolean() }), {
17740
- kind: "mutation",
17741
- auth: "admin"
17742
- }), method(object({ nodeId: string().optional() }), array(BulkUpdateStateSchema).readonly(), { auth: "admin" }), method(object({ name: string() }), array(PackageVersionInfoSchema).readonly()), method(object({ addonId: string() }), RestartAddonResultSchema, {
17793
+ }), method(object({ name: string() }), array(PackageVersionInfoSchema).readonly()), method(object({ addonId: string() }), RestartAddonResultSchema, {
17743
17794
  kind: "mutation",
17744
17795
  auth: "admin"
17745
17796
  }), method(object({ packageName: string() }), object({ success: literal(true) }), {
@@ -17761,6 +17812,24 @@ method(_void(), array(AddonListItemSchema).readonly()), method(object({
17761
17812
  kind: "mutation",
17762
17813
  auth: "admin"
17763
17814
  }), method(CustomActionInputSchema, unknown(), { kind: "mutation" }), method(object({
17815
+ kind: _enum([
17816
+ "install",
17817
+ "update",
17818
+ "uninstall",
17819
+ "restart"
17820
+ ]),
17821
+ targets: array(object({
17822
+ name: string().min(1),
17823
+ version: string().min(1)
17824
+ })).min(1),
17825
+ nodeIds: array(string()).optional()
17826
+ }), object({ jobId: string() }), {
17827
+ kind: "mutation",
17828
+ auth: "admin"
17829
+ }), method(object({ jobId: string() }), lifecycleJobSchema.nullable(), { auth: "admin" }), method(object({ activeOnly: boolean().optional() }), array(lifecycleJobSchema), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
17830
+ kind: "mutation",
17831
+ auth: "admin"
17832
+ }), method(object({
17764
17833
  addonId: string(),
17765
17834
  level: LogLevelSchema$1.optional()
17766
17835
  }), LogStreamEntrySchema, { kind: "subscription" });
@@ -17801,7 +17870,7 @@ Object.freeze({
17801
17870
  addonId: null,
17802
17871
  access: "create"
17803
17872
  },
17804
- "addons.cancelBulkUpdate": {
17873
+ "addons.cancelJob": {
17805
17874
  capName: "addons",
17806
17875
  capScope: "system",
17807
17876
  addonId: null,
@@ -17831,7 +17900,7 @@ Object.freeze({
17831
17900
  addonId: null,
17832
17901
  access: "view"
17833
17902
  },
17834
- "addons.getBulkUpdateState": {
17903
+ "addons.getJob": {
17835
17904
  capName: "addons",
17836
17905
  capScope: "system",
17837
17906
  addonId: null,
@@ -17879,19 +17948,19 @@ Object.freeze({
17879
17948
  addonId: null,
17880
17949
  access: "view"
17881
17950
  },
17882
- "addons.listActiveBulkUpdates": {
17951
+ "addons.listCapabilityProviders": {
17883
17952
  capName: "addons",
17884
17953
  capScope: "system",
17885
17954
  addonId: null,
17886
17955
  access: "view"
17887
17956
  },
17888
- "addons.listCapabilityProviders": {
17957
+ "addons.listFrameworkPackages": {
17889
17958
  capName: "addons",
17890
17959
  capScope: "system",
17891
17960
  addonId: null,
17892
17961
  access: "view"
17893
17962
  },
17894
- "addons.listFrameworkPackages": {
17963
+ "addons.listJobs": {
17895
17964
  capName: "addons",
17896
17965
  capScope: "system",
17897
17966
  addonId: null,
@@ -17975,7 +18044,7 @@ Object.freeze({
17975
18044
  addonId: null,
17976
18045
  access: "create"
17977
18046
  },
17978
- "addons.startBulkUpdate": {
18047
+ "addons.startJob": {
17979
18048
  capName: "addons",
17980
18049
  capScope: "system",
17981
18050
  addonId: null,
@@ -21962,6 +22031,32 @@ Object.freeze({
21962
22031
  "network-access": "ingress",
21963
22032
  "smtp-provider": "email"
21964
22033
  });
22034
+ var frameworkSwapPackageSchema = object({
22035
+ name: string(),
22036
+ stagedPath: string(),
22037
+ backupPath: string(),
22038
+ toVersion: string(),
22039
+ fromVersion: string().nullable()
22040
+ });
22041
+ object({
22042
+ jobId: string(),
22043
+ taskId: string(),
22044
+ packages: array(frameworkSwapPackageSchema),
22045
+ requestedAtMs: number(),
22046
+ schemaVersion: literal(1)
22047
+ });
22048
+ object({
22049
+ jobId: string(),
22050
+ taskId: string(),
22051
+ backups: array(object({
22052
+ name: string(),
22053
+ backupPath: string(),
22054
+ livePath: string()
22055
+ })),
22056
+ appliedAtMs: number(),
22057
+ bootAttempts: number(),
22058
+ schemaVersion: literal(1)
22059
+ });
21965
22060
  /**
21966
22061
  * Names that, when used as URL query parameters, almost certainly carry
21967
22062
  * a secret. Matching is case-insensitive and anchored to the full param
@@ -5130,14 +5130,15 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
5130
5130
  EventCategory["DeviceSleeping"] = "device.sleeping";
5131
5131
  EventCategory["RetentionCleanup"] = "retention.cleanup";
5132
5132
  /**
5133
- * Progress snapshot emitted by `BulkUpdateCoordinator` on every state
5134
- * transition (item status change, phase change, completion, cancel).
5135
- * Payload is `BulkUpdateState`. Admin UI subscribes via `useLiveEvent`
5136
- * to drive the sticky `BulkUpdateBanner` and per-row `AddonRowBadge`.
5137
- *
5138
- * Spec: docs/superpowers/specs/2026-05-21-addons-bulk-update-progress-design.md
5133
+ * Legacy bulk-update progress snapshot (payload `BulkUpdateState`). No longer
5134
+ * emitted F3 removed the coordinator that produced it; "Update all" now runs
5135
+ * as one lifecycle engine job (`AddonsJobProgress`/`AddonsJobLog`). Retained
5136
+ * (with `BulkUpdateState`) only to avoid regenerating the event maps; removed
5137
+ * in F4 once live bulk progress is re-implemented over the engine events.
5139
5138
  */
5140
5139
  EventCategory["AddonsBulkUpdateProgress"] = "addons.bulk-update-progress";
5140
+ EventCategory["AddonsJobProgress"] = "addons.job-progress";
5141
+ EventCategory["AddonsJobLog"] = "addons.job-log";
5141
5142
  /**
5142
5143
  * A container's child visibility toggled (hidden/shown). Emitted by the
5143
5144
  * `accessories` cap when a child device is hidden or revealed.
@@ -17441,6 +17442,69 @@ method(_void(), array(IntegrationWithStateSchema)), method(object({ id: string()
17441
17442
  kind: "mutation",
17442
17443
  auth: "admin"
17443
17444
  });
17445
+ var jobKindSchema = _enum([
17446
+ "install",
17447
+ "update",
17448
+ "uninstall",
17449
+ "restart"
17450
+ ]);
17451
+ var taskPhaseSchema = _enum([
17452
+ "queued",
17453
+ "fetching",
17454
+ "staged",
17455
+ "validating",
17456
+ "applying",
17457
+ "restarting",
17458
+ "applied",
17459
+ "done",
17460
+ "failed",
17461
+ "skipped"
17462
+ ]);
17463
+ var taskTargetSchema = _enum(["framework", "addon"]);
17464
+ var taskLogEntrySchema = object({
17465
+ tsMs: number(),
17466
+ nodeId: string(),
17467
+ packageName: string(),
17468
+ phase: taskPhaseSchema,
17469
+ message: string()
17470
+ });
17471
+ var lifecycleTaskSchema = object({
17472
+ taskId: string(),
17473
+ nodeId: string(),
17474
+ packageName: string(),
17475
+ fromVersion: string().nullable(),
17476
+ toVersion: string(),
17477
+ target: taskTargetSchema,
17478
+ phase: taskPhaseSchema,
17479
+ stagedPath: string().nullable(),
17480
+ attempts: number(),
17481
+ steps: array(taskLogEntrySchema),
17482
+ error: string().nullable(),
17483
+ startedAtMs: number().nullable(),
17484
+ finishedAtMs: number().nullable()
17485
+ });
17486
+ var lifecycleJobStateSchema = _enum([
17487
+ "running",
17488
+ "completed",
17489
+ "failed",
17490
+ "partially-failed",
17491
+ "cancelled"
17492
+ ]);
17493
+ var lifecycleJobScopeSchema = _enum([
17494
+ "single",
17495
+ "bulk",
17496
+ "cluster"
17497
+ ]);
17498
+ var lifecycleJobSchema = object({
17499
+ jobId: string(),
17500
+ kind: jobKindSchema,
17501
+ createdAtMs: number(),
17502
+ createdBy: string(),
17503
+ scope: lifecycleJobScopeSchema,
17504
+ tasks: array(lifecycleTaskSchema),
17505
+ state: lifecycleJobStateSchema,
17506
+ schemaVersion: literal(1)
17507
+ });
17444
17508
  /**
17445
17509
  * addons — system-scoped singleton capability for addon package
17446
17510
  * management (install, update, configure, restart) and per-addon log
@@ -17623,7 +17687,7 @@ var BulkUpdatePhaseSchema = _enum([
17623
17687
  "restarting",
17624
17688
  "finalizing"
17625
17689
  ]);
17626
- var BulkUpdateStateSchema = object({
17690
+ object({
17627
17691
  id: string(),
17628
17692
  nodeId: string(),
17629
17693
  startedAtMs: number(),
@@ -17726,20 +17790,7 @@ method(_void(), array(AddonListItemSchema).readonly()), method(object({
17726
17790
  }), UpdateFrameworkPackageResultSchema, {
17727
17791
  kind: "mutation",
17728
17792
  auth: "admin"
17729
- }), method(object({
17730
- nodeId: string(),
17731
- items: array(object({
17732
- name: string(),
17733
- version: string(),
17734
- isSystem: boolean()
17735
- })).readonly()
17736
- }), object({ id: string() }), {
17737
- kind: "mutation",
17738
- auth: "admin"
17739
- }), method(object({ id: string() }), BulkUpdateStateSchema.nullable(), { auth: "admin" }), method(object({ id: string() }), object({ cancelled: boolean() }), {
17740
- kind: "mutation",
17741
- auth: "admin"
17742
- }), method(object({ nodeId: string().optional() }), array(BulkUpdateStateSchema).readonly(), { auth: "admin" }), method(object({ name: string() }), array(PackageVersionInfoSchema).readonly()), method(object({ addonId: string() }), RestartAddonResultSchema, {
17793
+ }), method(object({ name: string() }), array(PackageVersionInfoSchema).readonly()), method(object({ addonId: string() }), RestartAddonResultSchema, {
17743
17794
  kind: "mutation",
17744
17795
  auth: "admin"
17745
17796
  }), method(object({ packageName: string() }), object({ success: literal(true) }), {
@@ -17761,6 +17812,24 @@ method(_void(), array(AddonListItemSchema).readonly()), method(object({
17761
17812
  kind: "mutation",
17762
17813
  auth: "admin"
17763
17814
  }), method(CustomActionInputSchema, unknown(), { kind: "mutation" }), method(object({
17815
+ kind: _enum([
17816
+ "install",
17817
+ "update",
17818
+ "uninstall",
17819
+ "restart"
17820
+ ]),
17821
+ targets: array(object({
17822
+ name: string().min(1),
17823
+ version: string().min(1)
17824
+ })).min(1),
17825
+ nodeIds: array(string()).optional()
17826
+ }), object({ jobId: string() }), {
17827
+ kind: "mutation",
17828
+ auth: "admin"
17829
+ }), method(object({ jobId: string() }), lifecycleJobSchema.nullable(), { auth: "admin" }), method(object({ activeOnly: boolean().optional() }), array(lifecycleJobSchema), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
17830
+ kind: "mutation",
17831
+ auth: "admin"
17832
+ }), method(object({
17764
17833
  addonId: string(),
17765
17834
  level: LogLevelSchema$1.optional()
17766
17835
  }), LogStreamEntrySchema, { kind: "subscription" });
@@ -17801,7 +17870,7 @@ Object.freeze({
17801
17870
  addonId: null,
17802
17871
  access: "create"
17803
17872
  },
17804
- "addons.cancelBulkUpdate": {
17873
+ "addons.cancelJob": {
17805
17874
  capName: "addons",
17806
17875
  capScope: "system",
17807
17876
  addonId: null,
@@ -17831,7 +17900,7 @@ Object.freeze({
17831
17900
  addonId: null,
17832
17901
  access: "view"
17833
17902
  },
17834
- "addons.getBulkUpdateState": {
17903
+ "addons.getJob": {
17835
17904
  capName: "addons",
17836
17905
  capScope: "system",
17837
17906
  addonId: null,
@@ -17879,19 +17948,19 @@ Object.freeze({
17879
17948
  addonId: null,
17880
17949
  access: "view"
17881
17950
  },
17882
- "addons.listActiveBulkUpdates": {
17951
+ "addons.listCapabilityProviders": {
17883
17952
  capName: "addons",
17884
17953
  capScope: "system",
17885
17954
  addonId: null,
17886
17955
  access: "view"
17887
17956
  },
17888
- "addons.listCapabilityProviders": {
17957
+ "addons.listFrameworkPackages": {
17889
17958
  capName: "addons",
17890
17959
  capScope: "system",
17891
17960
  addonId: null,
17892
17961
  access: "view"
17893
17962
  },
17894
- "addons.listFrameworkPackages": {
17963
+ "addons.listJobs": {
17895
17964
  capName: "addons",
17896
17965
  capScope: "system",
17897
17966
  addonId: null,
@@ -17975,7 +18044,7 @@ Object.freeze({
17975
18044
  addonId: null,
17976
18045
  access: "create"
17977
18046
  },
17978
- "addons.startBulkUpdate": {
18047
+ "addons.startJob": {
17979
18048
  capName: "addons",
17980
18049
  capScope: "system",
17981
18050
  addonId: null,
@@ -21962,6 +22031,32 @@ Object.freeze({
21962
22031
  "network-access": "ingress",
21963
22032
  "smtp-provider": "email"
21964
22033
  });
22034
+ var frameworkSwapPackageSchema = object({
22035
+ name: string(),
22036
+ stagedPath: string(),
22037
+ backupPath: string(),
22038
+ toVersion: string(),
22039
+ fromVersion: string().nullable()
22040
+ });
22041
+ object({
22042
+ jobId: string(),
22043
+ taskId: string(),
22044
+ packages: array(frameworkSwapPackageSchema),
22045
+ requestedAtMs: number(),
22046
+ schemaVersion: literal(1)
22047
+ });
22048
+ object({
22049
+ jobId: string(),
22050
+ taskId: string(),
22051
+ backups: array(object({
22052
+ name: string(),
22053
+ backupPath: string(),
22054
+ livePath: string()
22055
+ })),
22056
+ appliedAtMs: number(),
22057
+ bootAttempts: number(),
22058
+ schemaVersion: literal(1)
22059
+ });
21965
22060
  /**
21966
22061
  * Names that, when used as URL query parameters, almost certainly carry
21967
22062
  * a secret. Matching is case-insensitive and anchored to the full param
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_dist = require("../dist-C1goFC50.js");
5
+ const require_dist = require("../dist-v0PZCoV-.js");
6
6
  let node_fs = require("node:fs");
7
7
  let node_path = require("node:path");
8
8
  //#region src/motion-wasm/wasm-motion-detector.ts
@@ -1,4 +1,4 @@
1
- import { B as motionDetectionCapability, M as evaluateZoneRules, P as hydrateSchema, d as DeviceType, i as BaseAddon } from "../dist-XRXnZrVC.mjs";
1
+ import { B as motionDetectionCapability, M as evaluateZoneRules, P as hydrateSchema, d as DeviceType, i as BaseAddon } from "../dist-CP2uP-D8.mjs";
2
2
  import { readFileSync } from "node:fs";
3
3
  import { join } from "node:path";
4
4
  //#region src/motion-wasm/wasm-motion-detector.ts
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_dist = require("../dist-C1goFC50.js");
5
+ const require_dist = require("../dist-v0PZCoV-.js");
6
6
  let _camstack_shm_ring = require("@camstack/shm-ring");
7
7
  //#region src/pipeline-runner/frame-queue.ts
8
8
  /**
@@ -1,4 +1,4 @@
1
- import { $ as boolean, D as customAction, E as createEvent, I as makeSourceBrokerId, Q as array, W as pipelineRunnerCapability, Z as _enum, i as BaseAddon, it as object, j as errMsg, k as defineCustomActions, ot as string, p as EventCategory, rt as number, tt as lazy } from "../dist-XRXnZrVC.mjs";
1
+ import { $ as boolean, D as customAction, E as createEvent, I as makeSourceBrokerId, Q as array, W as pipelineRunnerCapability, Z as _enum, i as BaseAddon, it as object, j as errMsg, k as defineCustomActions, ot as string, p as EventCategory, rt as number, tt as lazy } from "../dist-CP2uP-D8.mjs";
2
2
  import { FrameRingReaderCache } from "@camstack/shm-ring";
3
3
  //#region src/pipeline-runner/frame-queue.ts
4
4
  /**
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require("../chunk-D6vf50IK.js");
2
- const require_dist = require("../dist-C1goFC50.js");
2
+ const require_dist = require("../dist-v0PZCoV-.js");
3
3
  let node_fs = require("node:fs");
4
4
  let node_path = require("node:path");
5
5
  node_path = require_chunk.__toESM(node_path);
@@ -1,4 +1,4 @@
1
- import { G as recordingCapability, J as storageEvictableCapability, K as selectAssignedProfileSlots, P as hydrateSchema, T as createDurableState, at as record, g as RecordingConfigSchema, i as BaseAddon, j as errMsg, ot as string, p as EventCategory, z as migrateConfigToBands } from "../dist-XRXnZrVC.mjs";
1
+ import { G as recordingCapability, J as storageEvictableCapability, K as selectAssignedProfileSlots, P as hydrateSchema, T as createDurableState, at as record, g as RecordingConfigSchema, i as BaseAddon, j as errMsg, ot as string, p as EventCategory, z as migrateConfigToBands } from "../dist-CP2uP-D8.mjs";
2
2
  import { promises } from "node:fs";
3
3
  import path from "node:path";
4
4
  import { createFileDataPlaneHandler } from "@camstack/system";
@@ -1,8 +1,8 @@
1
1
  import { a as e, i as t, n, o as r, r as i, t as a } from "./_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare__react__loadShare__.js-C9j-2lBe.mjs";
2
- import { a as o, c as s, i as c, l, n as u, o as d, r as f, s as p, t as m, u as h } from "./_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-B0Z2W5UM.mjs";
2
+ import { a as o, c as s, i as c, l, n as u, o as d, r as f, s as p, t as m, u as h } from "./_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-SlpG44Ip.mjs";
3
3
  import { n as g, r as _, t as v } from "./_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-XO0-Pyu6.mjs";
4
4
  import { n as y, t as b } from "./_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-BO7TIbJV.mjs";
5
- import { t as x } from "./_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-Tf-HACFd.mjs";
5
+ import { t as x } from "./_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-c9YxHYlI.mjs";
6
6
  //#region ../../node_modules/lucide-react/dist/esm/shared/src/utils.js
7
7
  var S = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), C = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), w = (e) => {
8
8
  let t = C(e);
@@ -3,7 +3,7 @@ import "./dist-CYZr2fwk.mjs";
3
3
  var e = {
4
4
  "@camstack/sdk": {
5
5
  name: "@camstack/sdk",
6
- version: "1.0.3",
6
+ version: "1.0.4",
7
7
  scope: ["default"],
8
8
  loaded: !1,
9
9
  from: "addon_stream_broker_widgets",
@@ -18,7 +18,7 @@ var e = {
18
18
  },
19
19
  "@camstack/types": {
20
20
  name: "@camstack/types",
21
- version: "1.0.3",
21
+ version: "1.0.4",
22
22
  scope: ["default"],
23
23
  loaded: !1,
24
24
  from: "addon_stream_broker_widgets",
@@ -33,7 +33,7 @@ var e = {
33
33
  },
34
34
  "@camstack/ui-library": {
35
35
  name: "@camstack/ui-library",
36
- version: "1.0.3",
36
+ version: "1.0.4",
37
37
  scope: ["default"],
38
38
  loaded: !1,
39
39
  from: "addon_stream_broker_widgets",