camstack 1.2.66 → 1.2.68

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.
@@ -14522,7 +14522,7 @@ function date4(params) {
14522
14522
  // ../../node_modules/zod/v4/classic/external.js
14523
14523
  config(en_default());
14524
14524
 
14525
- // ../types/dist/sleep-bm0x6zZF.mjs
14525
+ // ../types/dist/sleep-BS40IUZZ.mjs
14526
14526
  var WELL_KNOWN_TABS = [
14527
14527
  {
14528
14528
  id: "overview",
@@ -21237,6 +21237,80 @@ var embeddingEncoderCapability = {
21237
21237
  getInfo: method(external_exports.void(), EmbeddingInfoSchema, { auth: "admin" })
21238
21238
  }
21239
21239
  };
21240
+ var FailureReasonCountSchema = external_exports.object({
21241
+ /**
21242
+ * Why the attempt did not land, in the contributor's own vocabulary —
21243
+ * `worker-lease-gone`, `queue-overflow`, `timeout`, `empty-read`. The same
21244
+ * strings that already appear in this repo's logs and, where one exists, the
21245
+ * same string the per-track `previewMissReason` records (D276): a second
21246
+ * vocabulary for the same loss would make the row and the counter
21247
+ * un-joinable.
21248
+ */
21249
+ reason: external_exports.string(),
21250
+ count: external_exports.number().int().nonnegative()
21251
+ });
21252
+ var FailureContributionSchema = external_exports.object({
21253
+ /**
21254
+ * The failing path — `enrichment-crop`, `inference`, `plate-ocr`,
21255
+ * `person-over-vehicle`. Free text, for the reason `load-contribution` keeps
21256
+ * `unit` free: the families are owned by different addons and a shared enum
21257
+ * is a central list that rots invisibly.
21258
+ */
21259
+ family: external_exports.string(),
21260
+ /**
21261
+ * The NUMERIC device id — the same value every log line carries as
21262
+ * `tags.deviceId`. Never nullable and never absent: a contributor that
21263
+ * cannot name the camera must not emit the entry, because a fleet total
21264
+ * cannot answer the only question anybody asks of this surface.
21265
+ */
21266
+ deviceId: external_exports.number().int().positive(),
21267
+ /**
21268
+ * A second dimension inside the family: the model / step id for an inference
21269
+ * timeout, so "which camera AND which model" is one read. Absent when the
21270
+ * family has a single variant.
21271
+ */
21272
+ variant: external_exports.string().optional(),
21273
+ /**
21274
+ * Epoch ms this counter started — the INCARNATION MARKER. A consumer
21275
+ * differencing two reads must drop the interval when it changes, because the
21276
+ * counter restarted from zero in a respawned runner. Same discipline as
21277
+ * `LoadContribution.startedAtMs`.
21278
+ */
21279
+ sinceMs: external_exports.number(),
21280
+ /** Epoch ms it was read. `atMs - sinceMs` is the interval this covers. */
21281
+ atMs: external_exports.number(),
21282
+ /**
21283
+ * THE DENOMINATOR — every attempt on this path for this camera in the
21284
+ * window. A failure count published without it is the mistake this schema
21285
+ * exists to make impossible.
21286
+ */
21287
+ attempts: external_exports.number().int().nonnegative(),
21288
+ /** Attempts that landed. `attempts - succeeded` is the loss. */
21289
+ succeeded: external_exports.number().int().nonnegative(),
21290
+ /** The loss, partitioned. Sums to `attempts - succeeded`. */
21291
+ reasons: external_exports.array(FailureReasonCountSchema).readonly()
21292
+ });
21293
+ var failureContributionCapability = {
21294
+ name: "failure-contribution",
21295
+ scope: "system",
21296
+ mode: "collection",
21297
+ internal: true,
21298
+ methods: {
21299
+ /**
21300
+ * This addon's per-camera failure counters, read live from bounded in-RAM
21301
+ * state it already keeps. Inert: no persistence, no sampling, no timer.
21302
+ *
21303
+ * READING NEVER RESETS. The counters are CUMULATIVE since `sinceMs`, and a
21304
+ * consumer that wants a rate differences two reads. A draining read would
21305
+ * make two operators with the page open each destroy half of the other's
21306
+ * numbers, and `load-contribution` already settled the same question the
21307
+ * same way for `cpuSeconds`.
21308
+ */
21309
+ list: method(external_exports.void(), external_exports.array(FailureContributionSchema).readonly())
21310
+ },
21311
+ /** In-process only — enumerated through `addons.listCapabilityProviders`. */
21312
+ mount: { kind: "skip" }
21313
+ };
21240
21314
  var DirEntrySchema = external_exports.object({
21241
21315
  name: external_exports.string(),
21242
21316
  path: external_exports.string()
@@ -21775,145 +21849,6 @@ var llmCapability = {
21775
21849
  })
21776
21850
  }
21777
21851
  };
21778
- var LogChannelApplyResultSchema = external_exports.object({
21779
- /** How many declared channels are armed in this process after the call. */
21780
- armed: external_exports.number().int().min(0),
21781
- /**
21782
- * Names the document armed that this process does not declare. Reported
21783
- * rather than swallowed: a name here is either a typo or an addon that has
21784
- * not booted, and both deserve a line instead of silence.
21785
- */
21786
- unknown: external_exports.array(external_exports.string()).readonly()
21787
- });
21788
- var logChannelsCapability = {
21789
- name: "log-channels",
21790
- scope: "system",
21791
- mode: "collection",
21792
- internal: true,
21793
- methods: {
21794
- /** The channels this addon declares. Inert: no value, no state. */
21795
- list: method(external_exports.void(), external_exports.array(LogChannelDescriptorSchema).readonly()),
21796
- /**
21797
- * Refresh this process's mirror from the document's FULL set of armed
21798
- * windows.
21799
- *
21800
- * Full and not incremental on purpose: the document is the authority, so a
21801
- * channel it does not name is disarmed here. An incremental apply would
21802
- * let a disarm get lost in transit and leave a channel running that
21803
- * nobody can see is running.
21804
- */
21805
- apply: method(external_exports.object({ windows: external_exports.array(LogChannelWindowSchema).readonly() }), LogChannelApplyResultSchema, { kind: "mutation" })
21806
- },
21807
- /** In-process only — enumerated through `addons.listCapabilityProviders`. */
21808
- mount: { kind: "skip" }
21809
- };
21810
- var LogLevelSchema = external_exports.enum([
21811
- "debug",
21812
- "info",
21813
- "warn",
21814
- "error"
21815
- ]);
21816
- var LogEntrySchema = external_exports.object({
21817
- timestamp: external_exports.date(),
21818
- level: LogLevelSchema,
21819
- scope: external_exports.array(external_exports.string()),
21820
- message: external_exports.string(),
21821
- meta: external_exports.record(external_exports.string(), external_exports.unknown()).optional(),
21822
- tags: external_exports.record(external_exports.string(), external_exports.string()).optional()
21823
- });
21824
- var logDestinationCapability = {
21825
- name: "log-destination",
21826
- scope: "system",
21827
- mode: "collection",
21828
- internal: true,
21829
- methods: {
21830
- write: method(LogEntrySchema, external_exports.void(), { kind: "mutation" }),
21831
- query: method(external_exports.object({
21832
- scope: external_exports.array(external_exports.string()).optional(),
21833
- level: LogLevelSchema.optional(),
21834
- since: external_exports.date().optional(),
21835
- until: external_exports.date().optional(),
21836
- limit: external_exports.number().optional(),
21837
- tags: external_exports.record(external_exports.string(), external_exports.string()).optional()
21838
- }), external_exports.array(LogEntrySchema).readonly())
21839
- },
21840
- /** BIG PLAN 2: declarative mount hint — read by `@camstack/system` `buildCapRouters`. */
21841
- mount: { kind: "skip" }
21842
- };
21843
- var FailureReasonCountSchema = external_exports.object({
21844
- /**
21845
- * Why the attempt did not land, in the contributor's own vocabulary —
21846
- * `worker-lease-gone`, `queue-overflow`, `timeout`, `empty-read`. The same
21847
- * strings that already appear in this repo's logs and, where one exists, the
21848
- * same string the per-track `previewMissReason` records (D276): a second
21849
- * vocabulary for the same loss would make the row and the counter
21850
- * un-joinable.
21851
- */
21852
- reason: external_exports.string(),
21853
- count: external_exports.number().int().nonnegative()
21854
- });
21855
- var FailureContributionSchema = external_exports.object({
21856
- /**
21857
- * The failing path — `enrichment-crop`, `inference`, `plate-ocr`,
21858
- * `person-over-vehicle`. Free text, for the reason `load-contribution` keeps
21859
- * `unit` free: the families are owned by different addons and a shared enum
21860
- * is a central list that rots invisibly.
21861
- */
21862
- family: external_exports.string(),
21863
- /**
21864
- * The NUMERIC device id — the same value every log line carries as
21865
- * `tags.deviceId`. Never nullable and never absent: a contributor that
21866
- * cannot name the camera must not emit the entry, because a fleet total
21867
- * cannot answer the only question anybody asks of this surface.
21868
- */
21869
- deviceId: external_exports.number().int().positive(),
21870
- /**
21871
- * A second dimension inside the family: the model / step id for an inference
21872
- * timeout, so "which camera AND which model" is one read. Absent when the
21873
- * family has a single variant.
21874
- */
21875
- variant: external_exports.string().optional(),
21876
- /**
21877
- * Epoch ms this counter started — the INCARNATION MARKER. A consumer
21878
- * differencing two reads must drop the interval when it changes, because the
21879
- * counter restarted from zero in a respawned runner. Same discipline as
21880
- * `LoadContribution.startedAtMs`.
21881
- */
21882
- sinceMs: external_exports.number(),
21883
- /** Epoch ms it was read. `atMs - sinceMs` is the interval this covers. */
21884
- atMs: external_exports.number(),
21885
- /**
21886
- * THE DENOMINATOR — every attempt on this path for this camera in the
21887
- * window. A failure count published without it is the mistake this schema
21888
- * exists to make impossible.
21889
- */
21890
- attempts: external_exports.number().int().nonnegative(),
21891
- /** Attempts that landed. `attempts - succeeded` is the loss. */
21892
- succeeded: external_exports.number().int().nonnegative(),
21893
- /** The loss, partitioned. Sums to `attempts - succeeded`. */
21894
- reasons: external_exports.array(FailureReasonCountSchema).readonly()
21895
- });
21896
- var failureContributionCapability = {
21897
- name: "failure-contribution",
21898
- scope: "system",
21899
- mode: "collection",
21900
- internal: true,
21901
- methods: {
21902
- /**
21903
- * This addon's per-camera failure counters, read live from bounded in-RAM
21904
- * state it already keeps. Inert: no persistence, no sampling, no timer.
21905
- *
21906
- * READING NEVER RESETS. The counters are CUMULATIVE since `sinceMs`, and a
21907
- * consumer that wants a rate differences two reads. A draining read would
21908
- * make two operators with the page open each destroy half of the other's
21909
- * numbers, and `load-contribution` already settled the same question the
21910
- * same way for `cpuSeconds`.
21911
- */
21912
- list: method(external_exports.void(), external_exports.array(FailureContributionSchema).readonly())
21913
- },
21914
- /** In-process only — enumerated through `addons.listCapabilityProviders`. */
21915
- mount: { kind: "skip" }
21916
- };
21917
21852
  var LOAD_CONTRIBUTION_ROLES = [
21918
21853
  "decode",
21919
21854
  "transcode",
@@ -21993,6 +21928,71 @@ var loadContributionCapability = {
21993
21928
  /** In-process only — enumerated through `addons.listCapabilityProviders`. */
21994
21929
  mount: { kind: "skip" }
21995
21930
  };
21931
+ var LogChannelApplyResultSchema = external_exports.object({
21932
+ /** How many declared channels are armed in this process after the call. */
21933
+ armed: external_exports.number().int().min(0),
21934
+ /**
21935
+ * Names the document armed that this process does not declare. Reported
21936
+ * rather than swallowed: a name here is either a typo or an addon that has
21937
+ * not booted, and both deserve a line instead of silence.
21938
+ */
21939
+ unknown: external_exports.array(external_exports.string()).readonly()
21940
+ });
21941
+ var logChannelsCapability = {
21942
+ name: "log-channels",
21943
+ scope: "system",
21944
+ mode: "collection",
21945
+ internal: true,
21946
+ methods: {
21947
+ /** The channels this addon declares. Inert: no value, no state. */
21948
+ list: method(external_exports.void(), external_exports.array(LogChannelDescriptorSchema).readonly()),
21949
+ /**
21950
+ * Refresh this process's mirror from the document's FULL set of armed
21951
+ * windows.
21952
+ *
21953
+ * Full and not incremental on purpose: the document is the authority, so a
21954
+ * channel it does not name is disarmed here. An incremental apply would
21955
+ * let a disarm get lost in transit and leave a channel running that
21956
+ * nobody can see is running.
21957
+ */
21958
+ apply: method(external_exports.object({ windows: external_exports.array(LogChannelWindowSchema).readonly() }), LogChannelApplyResultSchema, { kind: "mutation" })
21959
+ },
21960
+ /** In-process only — enumerated through `addons.listCapabilityProviders`. */
21961
+ mount: { kind: "skip" }
21962
+ };
21963
+ var LogLevelSchema = external_exports.enum([
21964
+ "debug",
21965
+ "info",
21966
+ "warn",
21967
+ "error"
21968
+ ]);
21969
+ var LogEntrySchema = external_exports.object({
21970
+ timestamp: external_exports.date(),
21971
+ level: LogLevelSchema,
21972
+ scope: external_exports.array(external_exports.string()),
21973
+ message: external_exports.string(),
21974
+ meta: external_exports.record(external_exports.string(), external_exports.unknown()).optional(),
21975
+ tags: external_exports.record(external_exports.string(), external_exports.string()).optional()
21976
+ });
21977
+ var logDestinationCapability = {
21978
+ name: "log-destination",
21979
+ scope: "system",
21980
+ mode: "collection",
21981
+ internal: true,
21982
+ methods: {
21983
+ write: method(LogEntrySchema, external_exports.void(), { kind: "mutation" }),
21984
+ query: method(external_exports.object({
21985
+ scope: external_exports.array(external_exports.string()).optional(),
21986
+ level: LogLevelSchema.optional(),
21987
+ since: external_exports.date().optional(),
21988
+ until: external_exports.date().optional(),
21989
+ limit: external_exports.number().optional(),
21990
+ tags: external_exports.record(external_exports.string(), external_exports.string()).optional()
21991
+ }), external_exports.array(LogEntrySchema).readonly())
21992
+ },
21993
+ /** BIG PLAN 2: declarative mount hint — read by `@camstack/system` `buildCapRouters`. */
21994
+ mount: { kind: "skip" }
21995
+ };
21996
21996
  var LoginStageEnum = external_exports.enum(["primary", "second-factor"]);
21997
21997
  var RedirectLoginMethodSchema = external_exports.object({
21998
21998
  kind: external_exports.literal("redirect"),
@@ -26081,13 +26081,18 @@ var MediaFileKindEnum = external_exports.enum([
26081
26081
  "keyFrameSmall",
26082
26082
  "thumbnailSmall"
26083
26083
  ]);
26084
- var MediaFileSchema = external_exports.object({
26084
+ var MediaFileRefSchema = external_exports.object({
26085
26085
  key: external_exports.string(),
26086
26086
  kind: MediaFileKindEnum,
26087
- base64: external_exports.string(),
26088
26087
  sizeBytes: external_exports.number(),
26089
26088
  timestamp: external_exports.number()
26090
26089
  });
26090
+ var MediaFileSchema = MediaFileRefSchema.extend({
26091
+ /** `/addon/<addonId>/event-media/<encoded stored key>`. Always present. */
26092
+ url: external_exports.string(),
26093
+ /** @deprecated Transitional — see the schema docblock. Use {@link url}. */
26094
+ base64: external_exports.string()
26095
+ });
26091
26096
  var MediaFileInfoSchema = MediaFileSchema.omit({ base64: true });
26092
26097
  var RetrainMacroClassSchema = external_exports.enum([
26093
26098
  "person",
@@ -26394,6 +26399,25 @@ var EventStoreFootprintSchema = external_exports.object({
26394
26399
  totalBytes: external_exports.number().int(),
26395
26400
  devices: external_exports.array(EventStoreDeviceFootprintSchema).readonly()
26396
26401
  });
26402
+ var EventMediaKindFootprintSchema = external_exports.object({
26403
+ kind: MediaFileKindEnum,
26404
+ /** Media rows of this kind. */
26405
+ rows: external_exports.number().int(),
26406
+ /** Bytes on disk held by those rows. */
26407
+ bytes: external_exports.number().int()
26408
+ });
26409
+ var EventMediaKindBreakdownSchema = external_exports.object({
26410
+ /** Every media row in scope, from one unfiltered aggregate. */
26411
+ totalRows: external_exports.number().int(),
26412
+ /** Every media byte in scope, from that same aggregate. */
26413
+ totalBytes: external_exports.number().int(),
26414
+ /** Per-kind footprint, ordered by bytes descending. */
26415
+ kinds: external_exports.array(EventMediaKindFootprintSchema).readonly(),
26416
+ /** `totalRows` minus the summed `kinds` rows — see the schema note. */
26417
+ unaccountedRows: external_exports.number().int(),
26418
+ /** `totalBytes` minus the summed `kinds` bytes — see the schema note. */
26419
+ unaccountedBytes: external_exports.number().int()
26420
+ });
26397
26421
  var EventPruneCountsSchema = external_exports.object({
26398
26422
  motion: external_exports.number().int(),
26399
26423
  object: external_exports.number().int(),
@@ -26749,6 +26773,22 @@ var pipelineAnalyticsCapability = {
26749
26773
  auth: "admin"
26750
26774
  }),
26751
26775
  /**
26776
+ * The same media footprint, broken down by {@link MediaFileKind} instead of
26777
+ * by camera — fleet-wide, or for one camera with `deviceId`.
26778
+ *
26779
+ * Separate from {@link getEventStoreFootprint} rather than a field on it:
26780
+ * the two answer different questions on different axes, the per-camera one
26781
+ * is what the management table renders on every open, and nothing should
26782
+ * pay for a per-kind pass to draw it. See
26783
+ * {@link EventMediaKindBreakdownSchema} for why `unaccounted*` exists —
26784
+ * `kinds` is enumerated, `totalBytes` is not, and the gap must be visible
26785
+ * to anyone sizing a deletion against it.
26786
+ */
26787
+ getEventMediaFootprintByKind: method(external_exports.object({ deviceId: external_exports.number().int().optional() }), EventMediaKindBreakdownSchema, {
26788
+ kind: "query",
26789
+ auth: "admin"
26790
+ }),
26791
+ /**
26752
26792
  * Cluster-wide prune of events older than `olderThanMs` (exclusive) across
26753
26793
  * every camera, deleting each event's media in lockstep. Logged to the
26754
26794
  * events ops-log with `reason` (default `'retention'`). Returns the summed
@@ -27153,6 +27193,26 @@ var pipelineAnalyticsCapability = {
27153
27193
  deviceId: external_exports.number()
27154
27194
  }), external_exports.array(MediaFileInfoSchema).readonly()),
27155
27195
  /**
27196
+ * What media an EVENT has, without any of it — the twin `getEventMedia`
27197
+ * never had.
27198
+ *
27199
+ * `listTrackMedia` above got this treatment because a track's media is
27200
+ * 5-8 MB. An event's is worse per row, not better: an old-style event owns
27201
+ * a `crop` AND a native-resolution `fullFrameBoxed`, and the track DETAIL
27202
+ * modal — the one surface that legitimately shows the big kinds — unions
27203
+ * both listings to build its filmstrip. It then renders every tile from
27204
+ * the `event-media` plane by key and throws the bytes away. Measured on
27205
+ * the live hub: one event's `fullFrameBoxed` is 2 824 077 B, base64'd to
27206
+ * ~3.8 MB, allocated whole in hub-main's heap, for a list of keys.
27207
+ *
27208
+ * Same `deviceId` authorization subject as `getEventMedia`, and the same
27209
+ * rows — this is a projection of that method, never a different question.
27210
+ */
27211
+ listEventMedia: method(external_exports.object({
27212
+ eventId: external_exports.string(),
27213
+ deviceId: external_exports.number()
27214
+ }), external_exports.array(MediaFileInfoSchema).readonly()),
27215
+ /**
27156
27216
  * Search object events by text query using CLIP cosine similarity.
27157
27217
  * Encodes `text` via the `embedding-encoder` cap, queries the
27158
27218
  * `ObjectEmbeddingStore` with optional prefilters, ranks all matching
@@ -29472,6 +29532,20 @@ var storageCapability = {
29472
29532
  listProviders: method(external_exports.void(), external_exports.array(ProviderListEntrySchema).readonly()),
29473
29533
  testConfig: method(external_exports.object({
29474
29534
  providerId: external_exports.string(),
29535
+ /**
29536
+ * The location this config is an UNSAVED edit of, when there is one.
29537
+ *
29538
+ * `listLocations` replaces every declared secret with the redaction
29539
+ * sentinel, so the edit modal's form state holds the sentinel for any
29540
+ * credential the operator did not retype — and posting that here
29541
+ * without a way to resolve it makes the provider try to authenticate
29542
+ * as `__camstack_redacted__` and report the operator's own working
29543
+ * password as wrong. Given this id, the orchestrator restores each
29544
+ * sentinel from the stored config (same rule as `upsertLocation`)
29545
+ * before dispatching. Omitted by the "Add location" wizard, where
29546
+ * every value was typed just now and nothing is stored yet.
29547
+ */
29548
+ locationId: external_exports.string().optional(),
29475
29549
  config: external_exports.record(external_exports.string(), external_exports.unknown())
29476
29550
  }), external_exports.object({
29477
29551
  ok: external_exports.boolean(),
@@ -32593,7 +32667,7 @@ var FaceClusterSchema = external_exports.object({
32593
32667
  var MediaFileLiteSchema$1 = external_exports.object({
32594
32668
  key: external_exports.string(),
32595
32669
  kind: external_exports.string(),
32596
- base64: external_exports.string(),
32670
+ url: external_exports.string(),
32597
32671
  sizeBytes: external_exports.number(),
32598
32672
  timestamp: external_exports.number()
32599
32673
  });
@@ -35486,7 +35560,7 @@ var PlateInfoSchema = external_exports.object({
35486
35560
  var MediaFileLiteSchema = external_exports.object({
35487
35561
  key: external_exports.string(),
35488
35562
  kind: external_exports.string(),
35489
- base64: external_exports.string(),
35563
+ url: external_exports.string(),
35490
35564
  sizeBytes: external_exports.number(),
35491
35565
  timestamp: external_exports.number()
35492
35566
  });
@@ -41932,6 +42006,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
41932
42006
  addonId: null,
41933
42007
  access: "view"
41934
42008
  },
42009
+ "pipelineAnalytics.getEventMediaFootprintByKind": {
42010
+ capName: "pipeline-analytics",
42011
+ capScope: "device",
42012
+ addonId: null,
42013
+ access: "view"
42014
+ },
41935
42015
  "pipelineAnalytics.getEventStoreFootprint": {
41936
42016
  capName: "pipeline-analytics",
41937
42017
  capScope: "device",
@@ -42028,6 +42108,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
42028
42108
  addonId: null,
42029
42109
  access: "view"
42030
42110
  },
42111
+ "pipelineAnalytics.listEventMedia": {
42112
+ capName: "pipeline-analytics",
42113
+ capScope: "device",
42114
+ addonId: null,
42115
+ access: "view"
42116
+ },
42031
42117
  "pipelineAnalytics.listGroups": {
42032
42118
  capName: "pipeline-analytics",
42033
42119
  capScope: "device",
@@ -45591,6 +45677,11 @@ var METHOD_DEVICE_SELECTORS = Object.freeze({
45591
45677
  form: "single",
45592
45678
  optional: false
45593
45679
  }],
45680
+ "pipelineAnalytics.getEventMediaFootprintByKind": [{
45681
+ name: "deviceId",
45682
+ form: "single",
45683
+ optional: true
45684
+ }],
45594
45685
  "pipelineAnalytics.getGroup": [{
45595
45686
  name: "deviceId",
45596
45687
  form: "single",
@@ -45651,6 +45742,11 @@ var METHOD_DEVICE_SELECTORS = Object.freeze({
45651
45742
  form: "array",
45652
45743
  optional: false
45653
45744
  }],
45745
+ "pipelineAnalytics.listEventMedia": [{
45746
+ name: "deviceId",
45747
+ form: "single",
45748
+ optional: false
45749
+ }],
45654
45750
  "pipelineAnalytics.listGroups": [{
45655
45751
  name: "deviceIds",
45656
45752
  form: "array",
package/dist/cli.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runDiscover
4
- } from "./chunk-EJO2K6FH.js";
4
+ } from "./chunk-6X7D7D4Y.js";
5
5
  import "./chunk-LMMQX4CK.js";
6
6
 
7
7
  // src/cli.ts
@@ -38,7 +38,7 @@ async function runServe(args) {
38
38
  ...typeof values.data === "string" ? { data: values.data } : {}
39
39
  };
40
40
  Object.assign(process.env, buildServeEnv(opts));
41
- await import("./launcher-EJVL74UN.js");
41
+ await import("./launcher-H2LQYCEY.js");
42
42
  }
43
43
 
44
44
  // src/commands/agent.ts
@@ -83,7 +83,7 @@ async function runAgent(args) {
83
83
  ...typeof values.port === "string" ? { port: values.port } : {}
84
84
  };
85
85
  Object.assign(process.env, buildAgentEnv(opts));
86
- await import("./launcher-EJVL74UN.js");
86
+ await import("./launcher-H2LQYCEY.js");
87
87
  }
88
88
 
89
89
  // src/commands/setup.ts
@@ -1130,7 +1130,7 @@ function isUnknown(_value) {
1130
1130
  return true;
1131
1131
  }
1132
1132
  async function resolveServerInteractive(presetNamespace) {
1133
- const { discoverNodes, resolveHubFromDiscovered, filterHubNodes, DEFAULT_HUB_HTTPS_PORT } = await import("./discover-4BY6AQ3K.js");
1133
+ const { discoverNodes, resolveHubFromDiscovered, filterHubNodes, DEFAULT_HUB_HTTPS_PORT } = await import("./discover-ABTN33LN.js");
1134
1134
  if (presetNamespace) {
1135
1135
  const spinner4 = clack.spinner();
1136
1136
  spinner4.start(`Discovering hub on LAN (namespace "${presetNamespace}")`);
@@ -5,7 +5,7 @@ import {
5
5
  filterHubNodes,
6
6
  resolveHubFromDiscovered,
7
7
  runDiscover
8
- } from "./chunk-EJO2K6FH.js";
8
+ } from "./chunk-6X7D7D4Y.js";
9
9
  import "./chunk-LMMQX4CK.js";
10
10
  export {
11
11
  DEFAULT_HUB_HTTPS_PORT,