@camstack/addon-pipeline 0.1.13 → 0.1.14

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 (35) 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-BBpVDiWL.js → index-CFPKrb2Y.js} +29 -231
  10. package/dist/index-CFPKrb2Y.js.map +1 -0
  11. package/dist/{index-BwLnHesq.mjs → index-DKh0uEve.mjs} +29 -231
  12. package/dist/index-DKh0uEve.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-CpCK52pE.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-BN3K4dM8.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-B8d_i3jf.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-CqeKw-Ig.mjs} +6 -6
  22. package/dist/stream-broker/{hostInit-oba_vMZE.mjs → hostInit-DkjoXTMb.mjs} +6 -6
  23. package/dist/stream-broker/{index-COebxMhm.mjs → index-BP0-1QYT.mjs} +1923 -2181
  24. package/dist/stream-broker/{index-BkB3U-Tc.mjs → index-DKercbDS.mjs} +572 -569
  25. package/dist/stream-broker/{index-BAZcm437.mjs → index-lmXLeXy8.mjs} +1 -1
  26. package/dist/stream-broker/index.js +4 -4
  27. package/dist/stream-broker/index.js.map +1 -1
  28. package/dist/stream-broker/index.mjs +4 -4
  29. package/dist/stream-broker/index.mjs.map +1 -1
  30. package/dist/stream-broker/remoteEntry.js +1 -1
  31. package/package.json +1 -1
  32. package/dist/index-BBpVDiWL.js.map +0 -1
  33. package/dist/index-BwLnHesq.mjs.map +0 -1
  34. package/dist/stream-broker/__mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.mjs-p-Z3JTk9.mjs +0 -19
  35. 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 +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-BBpVDiWL.js");
25
+ const index = require("../index-CFPKrb2Y.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-BwLnHesq.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-DKh0uEve.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-BBpVDiWL.js");
4
+ const index = require("../index-CFPKrb2Y.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-BwLnHesq.mjs";
2
+ import { B as BaseAddon, w as audioCodecCapability, e as errMsg } from "../index-DKh0uEve.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-BBpVDiWL.js");
26
+ const index = require("../index-CFPKrb2Y.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-BwLnHesq.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-DKh0uEve.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-BBpVDiWL.js");
25
+ const index = require("../index-CFPKrb2Y.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-BwLnHesq.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-DKh0uEve.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";
@@ -10297,51 +10297,6 @@ const AuthResultSchema = object({
10297
10297
  validateToken: method(object({ token: string() }), AuthResultSchema.nullable())
10298
10298
  }
10299
10299
  });
10300
- const AuthProviderInfoSchema = object({
10301
- /** Stable id matching the addon id (used for `getLoginUrl({addonId,…})`). */
10302
- addonId: string(),
10303
- /**
10304
- * Per-instance id when one addon registers multiple "logical"
10305
- * providers (e.g. OIDC with Google + Microsoft + custom). The login
10306
- * URL becomes `/addon/${addonId}/${instanceId}/start` — handler reads
10307
- * `:instanceId` from the route. Empty/unset means the addon is a
10308
- * single-instance provider; the URL is `/addon/${addonId}/start`.
10309
- */
10310
- instanceId: string().optional(),
10311
- /** Display label shown on the login button + admin row. */
10312
- displayName: string(),
10313
- /** Optional iconography hint (lucide-react icon name OR emoji). */
10314
- icon: string().optional(),
10315
- /** When true, the provider exposes a redirect-based login flow
10316
- * (`getLoginUrl` returns a URL the browser navigates to). */
10317
- hasRedirectFlow: boolean(),
10318
- /** When true, the provider exposes a credential-form login flow
10319
- * (`validateCredentials` accepts username + password). */
10320
- hasCredentialFlow: boolean(),
10321
- /** Provider kind, drives admin-UI hint dispatch (oidc / saml / totp / …). */
10322
- kind: string().optional(),
10323
- /** Operator-facing status string (e.g. "Connected to https://login.acme.com"). */
10324
- status: string().optional(),
10325
- /** When false, the provider is registered but disabled by config; the
10326
- * UI surfaces it as inactive without enumerating it for login. */
10327
- enabled: boolean()
10328
- });
10329
- ({
10330
- methods: {
10331
- /** All registered auth providers, both enabled and disabled. */
10332
- listProviders: method(_void(), array(AuthProviderInfoSchema).readonly()),
10333
- /**
10334
- * Toggle a provider's enabled flag. Disabled providers stay
10335
- * registered but aren't surfaced on the login page. The orchestrator
10336
- * persists the state in `addon-settings` so it survives restarts.
10337
- */
10338
- setProviderEnabled: method(
10339
- object({ addonId: string(), enabled: boolean() }),
10340
- object({ success: literal(true) }),
10341
- { kind: "mutation", auth: "admin" }
10342
- )
10343
- }
10344
- });
10345
10300
  const NetworkEndpointSchema = object({
10346
10301
  url: string(),
10347
10302
  hostname: string(),
@@ -10373,55 +10328,13 @@ const NetworkEndpointEntrySchema = NetworkEndpointSchema.extend({
10373
10328
  getEndpoint: method(_void(), NetworkEndpointSchema.nullable()),
10374
10329
  getStatus: method(_void(), NetworkAccessStatusSchema),
10375
10330
  /**
10376
- * Enumerate every active ingress entry. Default implementation (when
10377
- * the provider omits this method) is derived from `getEndpoint()` —
10378
- * see the remote-access orchestrator for the fallback path.
10331
+ * Enumerate every active ingress entry. Providers that expose only a
10332
+ * single endpoint may omit this method; callers fall back to
10333
+ * `getEndpoint()` in that case.
10379
10334
  */
10380
10335
  listEndpoints: method(_void(), array(NetworkEndpointEntrySchema).readonly())
10381
10336
  }
10382
10337
  });
10383
- const RemoteAccessEndpointSchema = object({
10384
- url: string(),
10385
- hostname: string(),
10386
- port: number(),
10387
- protocol: _enum(["http", "https"])
10388
- });
10389
- const RemoteAccessProviderInfoSchema = object({
10390
- /** Stable id matching the addon id. */
10391
- addonId: string(),
10392
- /** Display label shown on the admin row — sourced from the addon manifest. */
10393
- displayName: string(),
10394
- /** When false, the provider is registered but disabled. */
10395
- enabled: boolean(),
10396
- /** True when the underlying tunnel/connection is up. */
10397
- connected: boolean(),
10398
- /** Public-facing endpoint, when connected. Null otherwise. */
10399
- endpoint: RemoteAccessEndpointSchema.nullable(),
10400
- /** Last error message (when connected=false), if available. */
10401
- error: string().optional()
10402
- });
10403
- ({
10404
- methods: {
10405
- /** All registered remote-access providers + their live status. */
10406
- listProviders: method(_void(), array(RemoteAccessProviderInfoSchema).readonly()),
10407
- /**
10408
- * Start a specific provider's tunnel. Per-provider config still
10409
- * lives on the addon's settings panel; this is just the on/off
10410
- * trigger so the admin UI can manage the lifecycle from one place.
10411
- */
10412
- startProvider: method(
10413
- object({ addonId: string() }),
10414
- RemoteAccessEndpointSchema,
10415
- { kind: "mutation", auth: "admin" }
10416
- ),
10417
- /** Stop a specific provider's tunnel (idempotent on already-stopped). */
10418
- stopProvider: method(
10419
- object({ addonId: string() }),
10420
- object({ success: literal(true) }),
10421
- { kind: "mutation", auth: "admin" }
10422
- )
10423
- }
10424
- });
10425
10338
  const TurnServerSchema = object({
10426
10339
  /** Single URL or list of URLs (e.g. "turn:turn.example.com:3478?transport=udp"). */
10427
10340
  urls: union([string(), array(string())]),
@@ -10441,45 +10354,6 @@ const TurnServerSchema = object({
10441
10354
  )
10442
10355
  }
10443
10356
  });
10444
- const TurnProviderInfoSchema = object({
10445
- /** Stable id matching the addon id. */
10446
- addonId: string(),
10447
- /** Display label shown on the admin row — sourced from the addon manifest. */
10448
- displayName: string(),
10449
- /** When false, the provider is registered but disabled. */
10450
- enabled: boolean(),
10451
- /** Number of servers this provider is currently exposing. */
10452
- serverCount: number(),
10453
- /**
10454
- * Flat list of every TURN/STUN URL this provider currently exposes.
10455
- * One row per URL (multi-URL ICE server entries are flattened). The
10456
- * admin UI shows this in a compact per-provider list so operators
10457
- * can verify what's actually being negotiated without having to dig
10458
- * into the combined `getAllServers` output.
10459
- */
10460
- urls: array(string()).readonly(),
10461
- /** Last fetch error (when serverCount=0 due to API failure), if any. */
10462
- error: string().optional()
10463
- });
10464
- ({
10465
- methods: {
10466
- /** All registered TURN providers + per-provider stats. */
10467
- listProviders: method(_void(), array(TurnProviderInfoSchema).readonly()),
10468
- /**
10469
- * Combined list of TURN/STUN servers from all ENABLED providers.
10470
- * Consumed by the WebRTC layer at session-creation time —
10471
- * implementations may fetch fresh short-lived credentials each
10472
- * call (e.g. Cloudflare API), so consumers SHOULD call per-session.
10473
- */
10474
- getAllServers: method(_void(), array(TurnServerSchema).readonly()),
10475
- /** Toggle a provider's enabled flag. */
10476
- setProviderEnabled: method(
10477
- object({ addonId: string(), enabled: boolean() }),
10478
- object({ success: literal(true) }),
10479
- { kind: "mutation", auth: "admin" }
10480
- )
10481
- }
10482
- });
10483
10357
  const SnapshotImageSchema = object({
10484
10358
  base64: string(),
10485
10359
  contentType: string()
@@ -11952,7 +11826,7 @@ const AllowedAddressesSchema = object({
11952
11826
  )
11953
11827
  }
11954
11828
  });
11955
- const MeshEndpointSchema$1 = object({
11829
+ const MeshEndpointSchema = object({
11956
11830
  /** Stable identifier within the provider (e.g. `mesh-ipv4`, `magicdns`, `funnel`). */
11957
11831
  id: string(),
11958
11832
  /** Operator-facing label (e.g. "Mesh IPv4", "MagicDNS"). */
@@ -12025,7 +11899,7 @@ const MeshStatusSchema = object({
12025
11899
  /** Number of peers visible to this host (excluding self). */
12026
11900
  peerCount: number(),
12027
11901
  /** Every endpoint this provider exposes for the current host. */
12028
- endpoints: array(MeshEndpointSchema$1).readonly(),
11902
+ endpoints: array(MeshEndpointSchema).readonly(),
12029
11903
  /** Last error from the daemon, when not joined. */
12030
11904
  error: string().optional(),
12031
11905
  // ── Account / tenant identity (generic across providers) ────────
@@ -12188,105 +12062,6 @@ const MeshStatusSchema = object({
12188
12062
  // tabs driven by this cap.
12189
12063
  }
12190
12064
  });
12191
- const MeshEndpointSchema = object({
12192
- id: string(),
12193
- label: string(),
12194
- scope: _enum(["mesh", "public"]),
12195
- url: string(),
12196
- hostname: string(),
12197
- port: number(),
12198
- protocol: _enum(["http", "https"])
12199
- });
12200
- const MeshProviderInfoSchema = object({
12201
- /** Stable id matching the addon id. */
12202
- addonId: string(),
12203
- /** Display label shown on the admin row — sourced from the addon manifest. */
12204
- displayName: string(),
12205
- /** True when the host is joined to this provider's mesh. */
12206
- joined: boolean(),
12207
- /** Local mesh IP (empty when not joined). */
12208
- meshIp: string(),
12209
- /** MagicDNS / mesh hostname (empty when not configured). */
12210
- magicDnsHostname: string(),
12211
- /** Peer count (excluding self). */
12212
- peerCount: number(),
12213
- /** Active endpoints (mesh IP + MagicDNS + optional public Funnel). */
12214
- endpoints: array(MeshEndpointSchema).readonly(),
12215
- /** Last error reported by the provider. */
12216
- error: string().optional(),
12217
- // ── Generic identity fields mirrored from MeshStatus ─────────────
12218
- /** Tenant / tailnet / network display name. Empty pre-join. */
12219
- tenantName: string(),
12220
- /** Mesh DNS suffix (e.g. tailXXXX.ts.net). Empty when not configured. */
12221
- magicDnsSuffix: string(),
12222
- /** Authenticated user / account login. Null for token-only providers. */
12223
- userLogin: string().nullable(),
12224
- /** Provider control-plane URL. */
12225
- controlPlaneUrl: string(),
12226
- /** Machine-key expiry (epoch ms). Null when keys don't rotate. */
12227
- keyExpiry: number().nullable()
12228
- });
12229
- ({
12230
- methods: {
12231
- /** All registered mesh-network providers + live status. */
12232
- listProviders: method(_void(), array(MeshProviderInfoSchema).readonly()),
12233
- /**
12234
- * Join the mesh of a specific provider. Per-provider config still
12235
- * lives on its settings panel; the orchestrator forwards.
12236
- */
12237
- joinProvider: method(
12238
- object({
12239
- addonId: string(),
12240
- authKey: string().min(8),
12241
- hostname: string().optional()
12242
- }),
12243
- object({ joined: literal(true) }),
12244
- { kind: "mutation" }
12245
- ),
12246
- leaveProvider: method(
12247
- object({ addonId: string() }),
12248
- object({ success: literal(true) }),
12249
- { kind: "mutation" }
12250
- ),
12251
- /**
12252
- * Browser-redirect login flow. Forwards to the named provider's
12253
- * `mesh-network.startLogin` and returns the URL the daemon
12254
- * prints. UI opens it in a new tab, then polls `listProviders`
12255
- * for `joined: true`.
12256
- */
12257
- startLoginProvider: method(
12258
- object({
12259
- addonId: string(),
12260
- hostname: string().optional()
12261
- }),
12262
- object({ loginUrl: string() }),
12263
- { kind: "mutation" }
12264
- ),
12265
- /**
12266
- * Sign out of the provider's account entirely (`mesh-network.logout`).
12267
- * Distinct from `leaveProvider` which only takes the host off-mesh;
12268
- * `logoutProvider` wipes credentials so the next start requires a
12269
- * fresh login.
12270
- */
12271
- logoutProvider: method(
12272
- object({ addonId: string() }),
12273
- object({ loggedOut: literal(true) }),
12274
- { kind: "mutation" }
12275
- ),
12276
- /**
12277
- * Per-provider peer list. Forwards to `mesh-network.listPeers` on
12278
- * the addressed provider. Separate from `listProviders` because
12279
- * peer payloads can be large on a heavily-populated tailnet —
12280
- * fetch only when the operator opens the Peers tab.
12281
- */
12282
- listProviderPeers: method(
12283
- object({ addonId: string() }),
12284
- object({
12285
- peers: array(MeshPeerSchema).readonly()
12286
- })
12287
- )
12288
- }
12289
- });
12290
12065
  const MethodAccessSchema = _enum(["view", "create", "delete"]);
12291
12066
  const AllowedProviderSchema = union([literal("*"), array(string())]);
12292
12067
  const AllowedDevicesSchema = record(string(), union([literal("*"), array(string())]));
@@ -13156,6 +12931,29 @@ const CustomActionInputSchema = object({
13156
12931
  isActive: boolean()
13157
12932
  })).readonly()
13158
12933
  ),
12934
+ /**
12935
+ * Toggle a single collection-cap provider on/off. Generic write-side
12936
+ * counterpart of `listCapabilityProviders` — drives the per-provider
12937
+ * Enable/Disable affordance in admin pages (TURN servers, etc.)
12938
+ * without needing a bespoke orchestrator cap.
12939
+ *
12940
+ * Reaches the hub's `CapabilityRegistry` directly:
12941
+ * `enableCollectionProvider` / `disableCollectionProvider` flip the
12942
+ * registry-level `disabledProviders` set. `getCollectionEntries`
12943
+ * already filters disabled providers out, so a disabled provider
12944
+ * drops out of every collection aggregate immediately. Only valid
12945
+ * for `mode: 'collection'` caps — the registry no-ops + warns for
12946
+ * singletons.
12947
+ */
12948
+ setCapabilityProviderEnabled: method(
12949
+ object({
12950
+ capName: string().min(1),
12951
+ addonId: string().min(1),
12952
+ enabled: boolean()
12953
+ }),
12954
+ object({ success: literal(true) }),
12955
+ { kind: "mutation", auth: "admin" }
12956
+ ),
13159
12957
  /**
13160
12958
  * Live-update one of the framework packages marked
13161
12959
  * `camstack.system: true` (`@camstack/types|kernel|core|sdk|ui-library`).
@@ -14027,4 +13825,4 @@ exports.pipelineRunnerCapability = pipelineRunnerCapability;
14027
13825
  exports.streamBrokerCapability = streamBrokerCapability;
14028
13826
  exports.string = string;
14029
13827
  exports.webrtcSessionCapability = webrtcSessionCapability;
14030
- //# sourceMappingURL=index-BBpVDiWL.js.map
13828
+ //# sourceMappingURL=index-CFPKrb2Y.js.map