@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
@@ -22,7 +22,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
22
22
  mod
23
23
  ));
24
24
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
25
- const index = require("../index-BhOycEVH.js");
25
+ const index = require("../index-BBpVDiWL.js");
26
26
  const path = require("node:path");
27
27
  const fs = require("node:fs");
28
28
  const core = require("@camstack/core");
@@ -1,4 +1,4 @@
1
- import { e as errMsg, x as HF_BASE_URL, B as BaseAddon, y as DEFAULT_AUDIO_ANALYZER_CONFIG, z as AUDIO_BACKEND_CHOICES, m as hydrateSchema, F as audioAnalyzerCapability, G as audioAnalysisCapability, I as mapAudioLabelToMacro } from "../index-FxfFGsiL.mjs";
1
+ import { e as errMsg, x as HF_BASE_URL, B as BaseAddon, y as DEFAULT_AUDIO_ANALYZER_CONFIG, z as AUDIO_BACKEND_CHOICES, m as hydrateSchema, F as audioAnalyzerCapability, G as audioAnalysisCapability, I as mapAudioLabelToMacro } from "../index-BwLnHesq.mjs";
2
2
  import * as path from "node:path";
3
3
  import * as fs from "node:fs";
4
4
  import { downloadFile } from "@camstack/core";
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const crypto = require("node:crypto");
4
- const index = require("../index-BhOycEVH.js");
4
+ const index = require("../index-BBpVDiWL.js");
5
5
  const nodeAv = require("node-av");
6
6
  const CODEC_ID_BY_NAME = {
7
7
  aac: nodeAv.AV_CODEC_ID_AAC,
@@ -1,5 +1,5 @@
1
1
  import { randomUUID } from "node:crypto";
2
- import { B as BaseAddon, w as audioCodecCapability, e as errMsg } from "../index-FxfFGsiL.mjs";
2
+ import { B as BaseAddon, w as audioCodecCapability, e as errMsg } from "../index-BwLnHesq.mjs";
3
3
  import { Codec, CodecContext, AV_SAMPLE_FMT_FLT, SoftwareResampleContext, Packet, Frame, AVERROR_EAGAIN, AVERROR_EOF, AV_CODEC_ID_PCM_MULAW, AV_CODEC_ID_PCM_ALAW, AV_CODEC_ID_OPUS, AV_CODEC_ID_AAC_LATM, AV_CODEC_ID_AAC, AV_CH_LAYOUT_MONO, AV_CHANNEL_ORDER_NATIVE, AV_CH_LAYOUT_STEREO, AV_SAMPLE_FMT_S16 } from "node-av";
4
4
  const CODEC_ID_BY_NAME = {
5
5
  aac: AV_CODEC_ID_AAC,
@@ -23,7 +23,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
23
23
  ));
24
24
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
25
25
  const crypto = require("node:crypto");
26
- const index = require("../index-BhOycEVH.js");
26
+ const index = require("../index-BBpVDiWL.js");
27
27
  function backendToHwDeviceConst(backend, consts) {
28
28
  switch (backend) {
29
29
  case "videotoolbox":
@@ -1,5 +1,5 @@
1
1
  import { randomUUID } from "node:crypto";
2
- import { e as errMsg, B as BaseAddon, u as DEFAULT_DECODER_HWACCEL_CONFIG, H as HWACCEL_OPTIONS, v as decoderCapability, R as RingBuffer } from "../index-FxfFGsiL.mjs";
2
+ import { e as errMsg, B as BaseAddon, u as DEFAULT_DECODER_HWACCEL_CONFIG, H as HWACCEL_OPTIONS, v as decoderCapability, R as RingBuffer } from "../index-BwLnHesq.mjs";
3
3
  function backendToHwDeviceConst(backend, consts) {
4
4
  switch (backend) {
5
5
  case "videotoolbox":
@@ -22,7 +22,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
22
22
  mod
23
23
  ));
24
24
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
25
- const index = require("../index-BhOycEVH.js");
25
+ const index = require("../index-BBpVDiWL.js");
26
26
  const fs = require("node:fs");
27
27
  const path = require("node:path");
28
28
  const os = require("node:os");
@@ -1,4 +1,4 @@
1
- import { h as hfModelUrl, C as COCO_TO_MACRO, g as COCO_80_LABELS, A as AUDIO_MACRO_LABELS, e as errMsg, f as createEvent, E as EventCategory, i as evaluateZoneRules, Y as YAMNET_TO_MACRO, j as APPLE_SA_TO_MACRO, k as parseJsonUnknown, B as BaseAddon, m as hydrateSchema, q as pipelineExecutorCapability, r as detectionPipelineCapability } from "../index-FxfFGsiL.mjs";
1
+ import { h as hfModelUrl, C as COCO_TO_MACRO, g as COCO_80_LABELS, A as AUDIO_MACRO_LABELS, e as errMsg, f as createEvent, E as EventCategory, i as evaluateZoneRules, Y as YAMNET_TO_MACRO, j as APPLE_SA_TO_MACRO, k as parseJsonUnknown, B as BaseAddon, m as hydrateSchema, q as pipelineExecutorCapability, r as detectionPipelineCapability } from "../index-BwLnHesq.mjs";
2
2
  import * as fs from "node:fs";
3
3
  import * as path from "node:path";
4
4
  import * as os from "node:os";
@@ -8550,10 +8550,30 @@ const StatusSchema = object({
8550
8550
  }
8551
8551
  });
8552
8552
  const LinkStateSchema = _enum(["unlinked", "linked", "error"]);
8553
+ const ExportSetupFieldSchema = object({
8554
+ label: string(),
8555
+ value: string(),
8556
+ /** Mask the value by default + render a reveal toggle (client id, secrets). */
8557
+ secret: boolean().optional()
8558
+ });
8559
+ const ExportSetupSchema = object({
8560
+ /** A string to render as a scannable QR — HAP `X-HM://…` URI, a pairing URL, etc. Omitted when there's nothing to scan. */
8561
+ qr: string().optional(),
8562
+ /** Label/value rows shown with a copy button (HAP setup code, OAuth URLs, client id, linked-account count, …). */
8563
+ fields: array(ExportSetupFieldSchema).readonly().optional(),
8564
+ /** Free-form operator instructions rendered above the fields. */
8565
+ note: string().optional()
8566
+ });
8553
8567
  const DeviceExportStatusSchema = object({
8554
8568
  linkState: LinkStateSchema,
8555
8569
  exposedDeviceCount: number(),
8556
- error: string().optional()
8570
+ error: string().optional(),
8571
+ /**
8572
+ * Optional pairing/account info the panel renders in a generic
8573
+ * "Setup" section. Addon-agnostic — the addon id identifies the
8574
+ * export target, never an `ecosystem` key here.
8575
+ */
8576
+ setup: ExportSetupSchema.optional()
8557
8577
  });
8558
8578
  const DeviceKindSchema = string();
8559
8579
  const ExposedDeviceSchema = object({
@@ -12038,7 +12058,25 @@ const MeshStatusSchema = object({
12038
12058
  * doesn't rotate keys for the bound host. Operator-facing surface
12039
12059
  * for "your access expires on …" banners.
12040
12060
  */
12041
- keyExpiry: number().nullable()
12061
+ keyExpiry: number().nullable(),
12062
+ // ── Onboard-daemon handoff (Tailscale, generic slot) ────────────
12063
+ /**
12064
+ * When the provider runs its OWN mesh daemon (e.g. the Tailscale
12065
+ * client addon in `onboard` mode spawns a private `tailscaled`),
12066
+ * this carries the local control-socket path. Companion addons that
12067
+ * must drive the SAME daemon — chiefly `tailscale-ingress` for
12068
+ * Serve/Funnel — read it to point their CLI at the right socket
12069
+ * instead of the system default. Empty when the provider uses the
12070
+ * host's system daemon (or doesn't have the concept).
12071
+ */
12072
+ daemonSocket: string().optional(),
12073
+ /**
12074
+ * Path to the mesh CLI binary the provider downloaded for onboard
12075
+ * mode. Companion addons reuse it so they don't need a system
12076
+ * install when the operator chose a fully self-contained mesh.
12077
+ * Empty in host mode.
12078
+ */
12079
+ daemonCliPath: string().optional()
12042
12080
  });
12043
12081
  ({
12044
12082
  methods: {
@@ -12924,6 +12962,21 @@ const AddonAutoUpdateSchema = ChannelWithInheritSchema;
12924
12962
  const RestartAddonResultSchema = unknown();
12925
12963
  const InstallPackageResultSchema = unknown();
12926
12964
  const ReloadPackagesResultSchema = unknown();
12965
+ const UpdateFrameworkPackageResultSchema = object({
12966
+ packageName: string(),
12967
+ fromVersion: string(),
12968
+ toVersion: string(),
12969
+ /** Ms-epoch the server scheduled its self-restart. */
12970
+ restartingAt: number()
12971
+ });
12972
+ const FrameworkPackageStatusSchema = object({
12973
+ packageName: string(),
12974
+ currentVersion: string(),
12975
+ latestVersion: string().nullable(),
12976
+ hasUpdate: boolean(),
12977
+ /** Optional manifest description for the row tooltip. */
12978
+ description: string().optional()
12979
+ });
12927
12980
  const LogStreamEntrySchema = object({
12928
12981
  timestamp: string(),
12929
12982
  level: string(),
@@ -12983,13 +13036,29 @@ const CustomActionInputSchema = object({
12983
13036
  object({ query: string().optional() }),
12984
13037
  array(SearchResultSchema)
12985
13038
  ),
13039
+ /**
13040
+ * Available package updates for a node. `nodeId` omitted (or
13041
+ * `'hub'`) checks the hub's own installed packages; an agent
13042
+ * `nodeId` checks that agent's installed roster against npm
13043
+ * (the hub does the npm lookups + diff — agents stay npm-free).
13044
+ */
12986
13045
  listUpdates: method(
12987
- _void(),
13046
+ object({ nodeId: string().optional() }),
12988
13047
  array(PackageUpdateSchema).readonly(),
12989
13048
  { auth: "admin" }
12990
13049
  ),
13050
+ /**
13051
+ * Update one package on a node. `nodeId` omitted (or `'hub'`)
13052
+ * installs on the hub via npm; an agent `nodeId` makes the hub
13053
+ * pack the resolved version and push the tarball to that agent
13054
+ * (`$agent.deploy` + `$agent.reload`) — agents need no npm runtime.
13055
+ */
12991
13056
  updatePackage: method(
12992
- object({ name: string().min(1), version: string().optional() }),
13057
+ object({
13058
+ name: string().min(1),
13059
+ version: string().optional(),
13060
+ nodeId: string().optional()
13061
+ }),
12993
13062
  unknown(),
12994
13063
  { kind: "mutation", auth: "admin" }
12995
13064
  ),
@@ -13010,12 +13079,105 @@ const CustomActionInputSchema = object({
13010
13079
  object({ rolledBackTo: string().nullable() }),
13011
13080
  { kind: "mutation", auth: "admin" }
13012
13081
  ),
13013
- forceRefresh: method(_void(), unknown(), { kind: "mutation", auth: "admin" }),
13082
+ /** Re-check updates for a node, bypassing any cache. `nodeId`
13083
+ * omitted (or `'hub'`) refreshes the hub; an agent `nodeId`
13084
+ * re-checks that agent's roster. */
13085
+ forceRefresh: method(
13086
+ object({ nodeId: string().optional() }),
13087
+ unknown(),
13088
+ { kind: "mutation", auth: "admin" }
13089
+ ),
13014
13090
  restartServer: method(
13015
13091
  object({ confirm: literal(true) }),
13016
13092
  unknown(),
13017
13093
  { kind: "mutation", auth: "admin" }
13018
13094
  ),
13095
+ /**
13096
+ * Most-recent restart marker (kind / packageName / from→to versions
13097
+ * / requestedBy / requestedAt). Returns `null` when this process
13098
+ * didn't boot from a tracked restart, or when the
13099
+ * post-boot retention window (5 min) has elapsed.
13100
+ *
13101
+ * Drives the admin-UI reconnect overlay's success toast — the
13102
+ * `system.restart-completed` event itself is fired before the
13103
+ * client has time to re-subscribe, so the client queries this on
13104
+ * first reconnect instead.
13105
+ */
13106
+ getLastRestart: method(
13107
+ _void(),
13108
+ object({
13109
+ kind: _enum(["framework-update", "manual", "system"]),
13110
+ packageName: string().optional(),
13111
+ fromVersion: string().optional(),
13112
+ toVersion: string().optional(),
13113
+ requestedBy: string().optional(),
13114
+ requestedAt: number()
13115
+ }).nullable(),
13116
+ { auth: "admin" }
13117
+ ),
13118
+ /**
13119
+ * Snapshot of the framework packages installed under the hub's
13120
+ * `<appRoot>/node_modules/`. Each row carries the currently
13121
+ * installed version and (best-effort) the latest version
13122
+ * available on npm. Drives the admin-UI "System packages" panel.
13123
+ *
13124
+ * Spec: docs/superpowers/specs/2026-05-14-framework-live-update-design.md
13125
+ */
13126
+ listFrameworkPackages: method(
13127
+ _void(),
13128
+ array(FrameworkPackageStatusSchema).readonly(),
13129
+ { auth: "admin" }
13130
+ ),
13131
+ /**
13132
+ * Cluster-wide capability-provider discovery. Returns the list of
13133
+ * `{ addonId, mode, isActive }` tuples for whatever addon(s)
13134
+ * currently provide the requested capability across the cluster.
13135
+ *
13136
+ * Why this lives on `addons` (and not on a `capabilities` cap of
13137
+ * its own): the hub's main-process `CapabilityRegistry` already
13138
+ * aggregates registrations from every forked group-runner and
13139
+ * remote agent via Moleculer event propagation — there's no
13140
+ * cross-process registry mirror to build, just an introspection
13141
+ * shim.
13142
+ *
13143
+ * Use this from addon code when you need to know whether another
13144
+ * addon has registered a specific cap (e.g. `tailscale-ingress`
13145
+ * checking `tailscale-client` is up before calling `tailscale
13146
+ * serve`). Don't reach for `ctx.capabilities.getCollectionEntries`
13147
+ * — that reads the LOCAL registry of the calling addon's group
13148
+ * runner and never sees providers in other processes. See
13149
+ * `CLAUDE.md` → Critical rules → ctx.api vs ctx.capabilities.
13150
+ */
13151
+ listCapabilityProviders: method(
13152
+ object({ capName: string().min(1) }),
13153
+ array(object({
13154
+ addonId: string(),
13155
+ mode: _enum(["singleton", "collection"]),
13156
+ isActive: boolean()
13157
+ })).readonly()
13158
+ ),
13159
+ /**
13160
+ * Live-update one of the framework packages marked
13161
+ * `camstack.system: true` (`@camstack/types|kernel|core|sdk|ui-library`).
13162
+ * Runs `npm install --prefix <appRoot> <name>@<version> --no-save`,
13163
+ * writes a `.restart-pending` marker, emits `system.restarting`
13164
+ * and schedules a graceful process exit. The supervisor (Docker /
13165
+ * Electron / systemd) brings the hub back up; on first boot after
13166
+ * the restart the marker fires `system.restart-completed`.
13167
+ *
13168
+ * `version` defaults to `'latest'`. The allow-list of valid
13169
+ * `packageName` values is enforced server-side.
13170
+ *
13171
+ * Spec: docs/superpowers/specs/2026-05-14-framework-live-update-design.md
13172
+ */
13173
+ updateFrameworkPackage: method(
13174
+ object({
13175
+ packageName: string().min(1),
13176
+ version: string().optional()
13177
+ }),
13178
+ UpdateFrameworkPackageResultSchema,
13179
+ { kind: "mutation", auth: "admin" }
13180
+ ),
13019
13181
  getVersions: method(
13020
13182
  object({ name: string() }),
13021
13183
  array(PackageVersionInfoSchema).readonly()
@@ -13086,6 +13248,7 @@ var EventCategory = /* @__PURE__ */ ((EventCategory2) => {
13086
13248
  EventCategory2["SystemBoot"] = "system.boot";
13087
13249
  EventCategory2["SystemAddonsReady"] = "system.addons-ready";
13088
13250
  EventCategory2["SystemRestarting"] = "system.restarting";
13251
+ EventCategory2["SystemRestartCompleted"] = "system.restart-completed";
13089
13252
  EventCategory2["SystemReadyState"] = "system.ready-state";
13090
13253
  EventCategory2["AddonStarted"] = "addon.started";
13091
13254
  EventCategory2["AddonStopped"] = "addon.stopped";
@@ -13864,4 +14027,4 @@ exports.pipelineRunnerCapability = pipelineRunnerCapability;
13864
14027
  exports.streamBrokerCapability = streamBrokerCapability;
13865
14028
  exports.string = string;
13866
14029
  exports.webrtcSessionCapability = webrtcSessionCapability;
13867
- //# sourceMappingURL=index-BhOycEVH.js.map
14030
+ //# sourceMappingURL=index-BBpVDiWL.js.map