@camstack/addon-pipeline 0.1.12 → 0.1.13

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 (43) 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/{index-BhOycEVH.js → index-BBpVDiWL.js} +169 -6
  10. package/dist/index-BBpVDiWL.js.map +1 -0
  11. package/dist/{index-FxfFGsiL.mjs → index-BwLnHesq.mjs} +169 -6
  12. package/dist/index-BwLnHesq.mjs.map +1 -0
  13. package/dist/motion-wasm/index.js +1 -1
  14. package/dist/motion-wasm/index.mjs +1 -1
  15. package/dist/pipeline-runner/index.js +1 -1
  16. package/dist/pipeline-runner/index.mjs +1 -1
  17. package/dist/stream-broker/@mf-types.zip +0 -0
  18. package/dist/stream-broker/__mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.mjs-p-Z3JTk9.mjs +19 -0
  19. package/dist/stream-broker/__mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.mjs-MYpjp-jd.mjs +20 -0
  20. package/dist/stream-broker/_stub.js +1 -1
  21. package/dist/stream-broker/{_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-Czwg8GUO.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-B8d_i3jf.mjs} +6 -6
  22. package/dist/stream-broker/{hostInit-fG6oFw4t.mjs → hostInit-oba_vMZE.mjs} +6 -6
  23. package/dist/stream-broker/{index-BOmtakNy.mjs → index-BAZcm437.mjs} +1 -1
  24. package/dist/stream-broker/{index-l13fl8lu.mjs → index-BkB3U-Tc.mjs} +7059 -5702
  25. package/dist/stream-broker/{index-Bpv0NSqI.mjs → index-COebxMhm.mjs} +6466 -9848
  26. package/dist/stream-broker/index.js +1 -1
  27. package/dist/stream-broker/index.mjs +1 -1
  28. package/dist/stream-broker/remoteEntry.js +1 -1
  29. package/dist/stream-broker/schemas-ChN4Ih0h.mjs +3584 -0
  30. package/package.json +1 -1
  31. package/python/postprocessors/__pycache__/__init__.cpython-312.pyc +0 -0
  32. package/python/postprocessors/__pycache__/arcface.cpython-312.pyc +0 -0
  33. package/python/postprocessors/__pycache__/ctc.cpython-312.pyc +0 -0
  34. package/python/postprocessors/__pycache__/saliency.cpython-312.pyc +0 -0
  35. package/python/postprocessors/__pycache__/scrfd.cpython-312.pyc +0 -0
  36. package/python/postprocessors/__pycache__/softmax.cpython-312.pyc +0 -0
  37. package/python/postprocessors/__pycache__/yamnet.cpython-312.pyc +0 -0
  38. package/python/postprocessors/__pycache__/yolo.cpython-312.pyc +0 -0
  39. package/python/postprocessors/__pycache__/yolo_seg.cpython-312.pyc +0 -0
  40. package/dist/index-BhOycEVH.js.map +0 -1
  41. package/dist/index-FxfFGsiL.mjs.map +0 -1
  42. package/dist/stream-broker/__mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.mjs-ChoHjdk6.mjs +0 -17
  43. package/dist/stream-broker/__mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.mjs-BvJPhiY_.mjs +0 -20
@@ -8549,10 +8549,30 @@ const StatusSchema = object({
8549
8549
  }
8550
8550
  });
8551
8551
  const LinkStateSchema = _enum(["unlinked", "linked", "error"]);
8552
+ const ExportSetupFieldSchema = object({
8553
+ label: string(),
8554
+ value: string(),
8555
+ /** Mask the value by default + render a reveal toggle (client id, secrets). */
8556
+ secret: boolean().optional()
8557
+ });
8558
+ const ExportSetupSchema = object({
8559
+ /** A string to render as a scannable QR — HAP `X-HM://…` URI, a pairing URL, etc. Omitted when there's nothing to scan. */
8560
+ qr: string().optional(),
8561
+ /** Label/value rows shown with a copy button (HAP setup code, OAuth URLs, client id, linked-account count, …). */
8562
+ fields: array(ExportSetupFieldSchema).readonly().optional(),
8563
+ /** Free-form operator instructions rendered above the fields. */
8564
+ note: string().optional()
8565
+ });
8552
8566
  const DeviceExportStatusSchema = object({
8553
8567
  linkState: LinkStateSchema,
8554
8568
  exposedDeviceCount: number(),
8555
- error: string().optional()
8569
+ error: string().optional(),
8570
+ /**
8571
+ * Optional pairing/account info the panel renders in a generic
8572
+ * "Setup" section. Addon-agnostic — the addon id identifies the
8573
+ * export target, never an `ecosystem` key here.
8574
+ */
8575
+ setup: ExportSetupSchema.optional()
8556
8576
  });
8557
8577
  const DeviceKindSchema = string();
8558
8578
  const ExposedDeviceSchema = object({
@@ -12037,7 +12057,25 @@ const MeshStatusSchema = object({
12037
12057
  * doesn't rotate keys for the bound host. Operator-facing surface
12038
12058
  * for "your access expires on …" banners.
12039
12059
  */
12040
- keyExpiry: number().nullable()
12060
+ keyExpiry: number().nullable(),
12061
+ // ── Onboard-daemon handoff (Tailscale, generic slot) ────────────
12062
+ /**
12063
+ * When the provider runs its OWN mesh daemon (e.g. the Tailscale
12064
+ * client addon in `onboard` mode spawns a private `tailscaled`),
12065
+ * this carries the local control-socket path. Companion addons that
12066
+ * must drive the SAME daemon — chiefly `tailscale-ingress` for
12067
+ * Serve/Funnel — read it to point their CLI at the right socket
12068
+ * instead of the system default. Empty when the provider uses the
12069
+ * host's system daemon (or doesn't have the concept).
12070
+ */
12071
+ daemonSocket: string().optional(),
12072
+ /**
12073
+ * Path to the mesh CLI binary the provider downloaded for onboard
12074
+ * mode. Companion addons reuse it so they don't need a system
12075
+ * install when the operator chose a fully self-contained mesh.
12076
+ * Empty in host mode.
12077
+ */
12078
+ daemonCliPath: string().optional()
12041
12079
  });
12042
12080
  ({
12043
12081
  methods: {
@@ -12923,6 +12961,21 @@ const AddonAutoUpdateSchema = ChannelWithInheritSchema;
12923
12961
  const RestartAddonResultSchema = unknown();
12924
12962
  const InstallPackageResultSchema = unknown();
12925
12963
  const ReloadPackagesResultSchema = unknown();
12964
+ const UpdateFrameworkPackageResultSchema = object({
12965
+ packageName: string(),
12966
+ fromVersion: string(),
12967
+ toVersion: string(),
12968
+ /** Ms-epoch the server scheduled its self-restart. */
12969
+ restartingAt: number()
12970
+ });
12971
+ const FrameworkPackageStatusSchema = object({
12972
+ packageName: string(),
12973
+ currentVersion: string(),
12974
+ latestVersion: string().nullable(),
12975
+ hasUpdate: boolean(),
12976
+ /** Optional manifest description for the row tooltip. */
12977
+ description: string().optional()
12978
+ });
12926
12979
  const LogStreamEntrySchema = object({
12927
12980
  timestamp: string(),
12928
12981
  level: string(),
@@ -12982,13 +13035,29 @@ const CustomActionInputSchema = object({
12982
13035
  object({ query: string().optional() }),
12983
13036
  array(SearchResultSchema)
12984
13037
  ),
13038
+ /**
13039
+ * Available package updates for a node. `nodeId` omitted (or
13040
+ * `'hub'`) checks the hub's own installed packages; an agent
13041
+ * `nodeId` checks that agent's installed roster against npm
13042
+ * (the hub does the npm lookups + diff — agents stay npm-free).
13043
+ */
12985
13044
  listUpdates: method(
12986
- _void(),
13045
+ object({ nodeId: string().optional() }),
12987
13046
  array(PackageUpdateSchema).readonly(),
12988
13047
  { auth: "admin" }
12989
13048
  ),
13049
+ /**
13050
+ * Update one package on a node. `nodeId` omitted (or `'hub'`)
13051
+ * installs on the hub via npm; an agent `nodeId` makes the hub
13052
+ * pack the resolved version and push the tarball to that agent
13053
+ * (`$agent.deploy` + `$agent.reload`) — agents need no npm runtime.
13054
+ */
12990
13055
  updatePackage: method(
12991
- object({ name: string().min(1), version: string().optional() }),
13056
+ object({
13057
+ name: string().min(1),
13058
+ version: string().optional(),
13059
+ nodeId: string().optional()
13060
+ }),
12992
13061
  unknown(),
12993
13062
  { kind: "mutation", auth: "admin" }
12994
13063
  ),
@@ -13009,12 +13078,105 @@ const CustomActionInputSchema = object({
13009
13078
  object({ rolledBackTo: string().nullable() }),
13010
13079
  { kind: "mutation", auth: "admin" }
13011
13080
  ),
13012
- forceRefresh: method(_void(), unknown(), { kind: "mutation", auth: "admin" }),
13081
+ /** Re-check updates for a node, bypassing any cache. `nodeId`
13082
+ * omitted (or `'hub'`) refreshes the hub; an agent `nodeId`
13083
+ * re-checks that agent's roster. */
13084
+ forceRefresh: method(
13085
+ object({ nodeId: string().optional() }),
13086
+ unknown(),
13087
+ { kind: "mutation", auth: "admin" }
13088
+ ),
13013
13089
  restartServer: method(
13014
13090
  object({ confirm: literal(true) }),
13015
13091
  unknown(),
13016
13092
  { kind: "mutation", auth: "admin" }
13017
13093
  ),
13094
+ /**
13095
+ * Most-recent restart marker (kind / packageName / from→to versions
13096
+ * / requestedBy / requestedAt). Returns `null` when this process
13097
+ * didn't boot from a tracked restart, or when the
13098
+ * post-boot retention window (5 min) has elapsed.
13099
+ *
13100
+ * Drives the admin-UI reconnect overlay's success toast — the
13101
+ * `system.restart-completed` event itself is fired before the
13102
+ * client has time to re-subscribe, so the client queries this on
13103
+ * first reconnect instead.
13104
+ */
13105
+ getLastRestart: method(
13106
+ _void(),
13107
+ object({
13108
+ kind: _enum(["framework-update", "manual", "system"]),
13109
+ packageName: string().optional(),
13110
+ fromVersion: string().optional(),
13111
+ toVersion: string().optional(),
13112
+ requestedBy: string().optional(),
13113
+ requestedAt: number()
13114
+ }).nullable(),
13115
+ { auth: "admin" }
13116
+ ),
13117
+ /**
13118
+ * Snapshot of the framework packages installed under the hub's
13119
+ * `<appRoot>/node_modules/`. Each row carries the currently
13120
+ * installed version and (best-effort) the latest version
13121
+ * available on npm. Drives the admin-UI "System packages" panel.
13122
+ *
13123
+ * Spec: docs/superpowers/specs/2026-05-14-framework-live-update-design.md
13124
+ */
13125
+ listFrameworkPackages: method(
13126
+ _void(),
13127
+ array(FrameworkPackageStatusSchema).readonly(),
13128
+ { auth: "admin" }
13129
+ ),
13130
+ /**
13131
+ * Cluster-wide capability-provider discovery. Returns the list of
13132
+ * `{ addonId, mode, isActive }` tuples for whatever addon(s)
13133
+ * currently provide the requested capability across the cluster.
13134
+ *
13135
+ * Why this lives on `addons` (and not on a `capabilities` cap of
13136
+ * its own): the hub's main-process `CapabilityRegistry` already
13137
+ * aggregates registrations from every forked group-runner and
13138
+ * remote agent via Moleculer event propagation — there's no
13139
+ * cross-process registry mirror to build, just an introspection
13140
+ * shim.
13141
+ *
13142
+ * Use this from addon code when you need to know whether another
13143
+ * addon has registered a specific cap (e.g. `tailscale-ingress`
13144
+ * checking `tailscale-client` is up before calling `tailscale
13145
+ * serve`). Don't reach for `ctx.capabilities.getCollectionEntries`
13146
+ * — that reads the LOCAL registry of the calling addon's group
13147
+ * runner and never sees providers in other processes. See
13148
+ * `CLAUDE.md` → Critical rules → ctx.api vs ctx.capabilities.
13149
+ */
13150
+ listCapabilityProviders: method(
13151
+ object({ capName: string().min(1) }),
13152
+ array(object({
13153
+ addonId: string(),
13154
+ mode: _enum(["singleton", "collection"]),
13155
+ isActive: boolean()
13156
+ })).readonly()
13157
+ ),
13158
+ /**
13159
+ * Live-update one of the framework packages marked
13160
+ * `camstack.system: true` (`@camstack/types|kernel|core|sdk|ui-library`).
13161
+ * Runs `npm install --prefix <appRoot> <name>@<version> --no-save`,
13162
+ * writes a `.restart-pending` marker, emits `system.restarting`
13163
+ * and schedules a graceful process exit. The supervisor (Docker /
13164
+ * Electron / systemd) brings the hub back up; on first boot after
13165
+ * the restart the marker fires `system.restart-completed`.
13166
+ *
13167
+ * `version` defaults to `'latest'`. The allow-list of valid
13168
+ * `packageName` values is enforced server-side.
13169
+ *
13170
+ * Spec: docs/superpowers/specs/2026-05-14-framework-live-update-design.md
13171
+ */
13172
+ updateFrameworkPackage: method(
13173
+ object({
13174
+ packageName: string().min(1),
13175
+ version: string().optional()
13176
+ }),
13177
+ UpdateFrameworkPackageResultSchema,
13178
+ { kind: "mutation", auth: "admin" }
13179
+ ),
13018
13180
  getVersions: method(
13019
13181
  object({ name: string() }),
13020
13182
  array(PackageVersionInfoSchema).readonly()
@@ -13085,6 +13247,7 @@ var EventCategory = /* @__PURE__ */ ((EventCategory2) => {
13085
13247
  EventCategory2["SystemBoot"] = "system.boot";
13086
13248
  EventCategory2["SystemAddonsReady"] = "system.addons-ready";
13087
13249
  EventCategory2["SystemRestarting"] = "system.restarting";
13250
+ EventCategory2["SystemRestartCompleted"] = "system.restart-completed";
13088
13251
  EventCategory2["SystemReadyState"] = "system.ready-state";
13089
13252
  EventCategory2["AddonStarted"] = "addon.started";
13090
13253
  EventCategory2["AddonStopped"] = "addon.stopped";
@@ -13865,4 +14028,4 @@ export {
13865
14028
  DEFAULT_AUDIO_ANALYZER_CONFIG as y,
13866
14029
  AUDIO_BACKEND_CHOICES as z
13867
14030
  };
13868
- //# sourceMappingURL=index-FxfFGsiL.mjs.map
14031
+ //# sourceMappingURL=index-BwLnHesq.mjs.map