camstack 1.2.70 → 1.2.72

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-BBI0PDUc.mjs
14525
+ // ../types/dist/sleep-DAxSW8cv.mjs
14526
14526
  var WELL_KNOWN_TABS = [
14527
14527
  {
14528
14528
  id: "overview",
@@ -15839,6 +15839,13 @@ var MediaRelocateModeSchema = external_exports.enum([
15839
15839
  ]);
15840
15840
  var RelocateMediaInputSchema = external_exports.object({
15841
15841
  toLocationId: external_exports.string(),
15842
+ /**
15843
+ * Restrict the pass to rows currently on this location. Omitted / `'*'` =
15844
+ * every row that is not already on `toLocationId` (the historical
15845
+ * behaviour). A named source is what a from→to migration needs: without it
15846
+ * "move events off disk 2" also emptied disk 1.
15847
+ */
15848
+ fromLocationId: external_exports.string().optional(),
15842
15849
  throttleMbps: external_exports.number().min(1).max(1e3).optional(),
15843
15850
  /** Omitted = `move`, the pre-existing behaviour. */
15844
15851
  mode: MediaRelocateModeSchema.optional()
@@ -15870,9 +15877,18 @@ var StorageMigrationDestinationsSchema = external_exports.object({
15870
15877
  backups: external_exports.string().min(1).optional(),
15871
15878
  galleryMedia: external_exports.string().min(1).optional()
15872
15879
  }).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
15880
+ var StorageMigrationSourcesSchema = external_exports.object({
15881
+ recordings: external_exports.string().min(1).optional(),
15882
+ recordingsLow: external_exports.string().min(1).optional(),
15883
+ eventMedia: external_exports.string().min(1).optional(),
15884
+ backups: external_exports.string().min(1).optional(),
15885
+ galleryMedia: external_exports.string().min(1).optional()
15886
+ }).optional();
15873
15887
  var StorageMigrationModeSchema = external_exports.enum(["blocking", "nonBlocking"]);
15874
15888
  var StorageMigrationInputSchema = external_exports.object({
15875
15889
  destinations: StorageMigrationDestinationsSchema,
15890
+ /** Omitted = each class's current default. */
15891
+ sources: StorageMigrationSourcesSchema,
15876
15892
  throttleMbps: external_exports.number().min(1).max(1e3).optional(),
15877
15893
  /** Omitted = `blocking`, which stays the default. */
15878
15894
  mode: StorageMigrationModeSchema.optional()
@@ -15918,6 +15934,13 @@ var StorageMigrationMoveSchema = external_exports.object({
15918
15934
  storageClass: StorageMigrationClassSchema,
15919
15935
  fromLocationId: external_exports.string(),
15920
15936
  toLocationId: external_exports.string(),
15937
+ /**
15938
+ * True when `from` was NOT the class default at plan time. The move still
15939
+ * copies bytes, but the default is left alone and the source is disabled
15940
+ * once the copy verifies. Absent on jobs planned before this field existed
15941
+ * — those jobs always repointed, which is `false`.
15942
+ */
15943
+ freezeSource: external_exports.boolean().optional(),
15921
15944
  moverJobId: external_exports.string().nullable(),
15922
15945
  state: RelocateJobStateSchema.nullable(),
15923
15946
  error: external_exports.string().nullable(),
@@ -15931,6 +15954,7 @@ var StorageMigrationJobSchema = external_exports.object({
15931
15954
  * can tell a seconds-long cutover from a thirty-hour one. */
15932
15955
  mode: StorageMigrationModeSchema,
15933
15956
  destinations: StorageMigrationDestinationsSchema,
15957
+ sources: StorageMigrationSourcesSchema,
15934
15958
  throttleMbps: external_exports.number(),
15935
15959
  moves: external_exports.array(StorageMigrationMoveSchema),
15936
15960
  pauseLeaseId: external_exports.string().nullable(),
@@ -15957,6 +15981,7 @@ var StorageMigrationFindingSchema = external_exports.object({
15957
15981
  });
15958
15982
  var StorageMigrationPlanSchema = external_exports.object({
15959
15983
  destinations: StorageMigrationDestinationsSchema,
15984
+ sources: StorageMigrationSourcesSchema,
15960
15985
  /** The mode this plan was built for. A plan is only valid for its mode: the
15961
15986
  * `eventMedia` seal gate and the single-cardinality refusal both depend on
15962
15987
  * it. */
@@ -15964,7 +15989,8 @@ var StorageMigrationPlanSchema = external_exports.object({
15964
15989
  moves: external_exports.array(external_exports.object({
15965
15990
  storageClass: StorageMigrationClassSchema,
15966
15991
  fromLocationId: external_exports.string(),
15967
- toLocationId: external_exports.string()
15992
+ toLocationId: external_exports.string(),
15993
+ freezeSource: external_exports.boolean().optional()
15968
15994
  })),
15969
15995
  findings: external_exports.array(StorageMigrationFindingSchema)
15970
15996
  });
@@ -16076,9 +16102,42 @@ var LedgerWalkReportSchema = external_exports.object({
16076
16102
  var RelocatableMediaCountSchema = external_exports.object({ rows: external_exports.number().int().nonnegative() }).nullable();
16077
16103
  var RelocatableMediaCountInputSchema = external_exports.object({
16078
16104
  toLocationId: external_exports.string().min(1),
16105
+ /** Restrict the count to one source; omitted / `'*'` = every non-target row. */
16106
+ fromLocationId: external_exports.string().optional(),
16079
16107
  /** Omitted = `move`. */
16080
16108
  mode: MediaRelocateModeSchema.optional()
16081
16109
  });
16110
+ var StorageCleanupPhaseSchema = external_exports.enum([
16111
+ "orphans",
16112
+ "debug-media",
16113
+ "ghost-ledger",
16114
+ "done",
16115
+ "failed",
16116
+ "cancelled"
16117
+ ]);
16118
+ var StorageCleanupInputSchema = external_exports.object({
16119
+ /** Also walk motion stills / track filmstrips. Off by default. */
16120
+ includeDebugMedia: external_exports.boolean().optional()
16121
+ });
16122
+ var StorageCleanupJobSchema = external_exports.object({
16123
+ jobId: external_exports.string(),
16124
+ phase: StorageCleanupPhaseSchema,
16125
+ includeDebugMedia: external_exports.boolean(),
16126
+ orphansReclaimed: external_exports.number().int().nonnegative(),
16127
+ orphanBytesReclaimed: external_exports.number().int().nonnegative(),
16128
+ debugMediaReclaimed: external_exports.number().int().nonnegative(),
16129
+ debugMediaBytesReclaimed: external_exports.number().int().nonnegative(),
16130
+ ghostsForgotten: external_exports.number().int().nonnegative(),
16131
+ ghostBytesForgotten: external_exports.number().int().nonnegative(),
16132
+ /** Short operator-facing line: current collection, pass, or location. */
16133
+ detail: external_exports.string().nullable(),
16134
+ cancelRequested: external_exports.boolean(),
16135
+ startedAt: external_exports.number(),
16136
+ updatedAt: external_exports.number(),
16137
+ finishedAt: external_exports.number().nullable(),
16138
+ error: external_exports.string().nullable()
16139
+ });
16140
+ var StorageCleanupStatusInputSchema = external_exports.object({ jobId: external_exports.string().optional() });
16082
16141
  var StorageLocationTypeSchema = external_exports.string().regex(/^[a-z][a-zA-Z0-9-]*$/);
16083
16142
  var StorageLocationSchema = external_exports.object({
16084
16143
  id: external_exports.string().regex(/^[a-z][a-zA-Z0-9-]*:[a-zA-Z0-9-]+$/),
@@ -20713,6 +20772,27 @@ var deviceManagerCapability = {
20713
20772
  kind: "mutation",
20714
20773
  auth: "admin"
20715
20774
  }),
20775
+ /** Rename a room: replace the label in the registry IN PLACE and move
20776
+ * every device that carried it, as ONE server operation.
20777
+ *
20778
+ * The admin UI used to do this as `addLocation(to)` → N ×
20779
+ * `setLocation(device, to)` → `removeLocation(from)` from the browser.
20780
+ * Nothing bound those three together, so a closed tab left the fleet
20781
+ * split across two rooms — one of which the operator believed was gone.
20782
+ *
20783
+ * `from` is matched the way the registry matches everywhere else
20784
+ * (trimmed, case-insensitive) and need NOT be registered: the registry is
20785
+ * a suggestion list, and the devices that most need a rename are exactly
20786
+ * the ones carrying a label nobody registered. `to` renames onto an
20787
+ * existing room by MERGING into it, leaving no duplicate label. An empty
20788
+ * `to` throws before anything is written. */
20789
+ renameLocation: method(external_exports.object({
20790
+ from: external_exports.string(),
20791
+ to: external_exports.string()
20792
+ }), external_exports.object({ moved: external_exports.number() }), {
20793
+ kind: "mutation",
20794
+ auth: "admin"
20795
+ }),
20716
20796
  /** Soft-disable / re-enable the device. Drivers consult
20717
20797
  * `BaseDevice.disabled` to gate lifecycle hooks. */
20718
20798
  setDisabled: method(external_exports.object({
@@ -26342,46 +26422,6 @@ var RecentTracksPageSchema = external_exports.object({
26342
26422
  /** Cursor for the next page, or null when this page is the last. */
26343
26423
  nextCursor: external_exports.string().nullable()
26344
26424
  });
26345
- var LIST_GROUPS_DEFAULT_LIMIT = 40;
26346
- var LIST_GROUPS_MAX_LIMIT = 100;
26347
- var AnalyticsGroupRecordSchema = external_exports.object({
26348
- id: external_exports.string(),
26349
- deviceId: external_exports.number().int(),
26350
- openedAt: external_exports.number().int(),
26351
- closedAt: external_exports.number().int(),
26352
- timestamp: external_exports.number().int(),
26353
- memberCount: external_exports.number().int(),
26354
- memberTrackIds: external_exports.array(external_exports.string()).readonly(),
26355
- className: external_exports.string(),
26356
- classes: external_exports.array(external_exports.string()).readonly(),
26357
- /** Relative event-media path, or null when the group has no picture yet. */
26358
- mediaUrl: external_exports.string().nullable(),
26359
- singleton: external_exports.boolean()
26360
- });
26361
- var AnalyticsGroupMemberSchema = external_exports.object({
26362
- trackId: external_exports.string(),
26363
- deviceId: external_exports.number().int(),
26364
- className: external_exports.string(),
26365
- firstSeen: external_exports.number().int(),
26366
- lastSeen: external_exports.number().int(),
26367
- mediaUrl: external_exports.string().nullable()
26368
- });
26369
- var AnalyticsGroupDetailSchema = AnalyticsGroupRecordSchema.extend({ members: external_exports.array(AnalyticsGroupMemberSchema).readonly() });
26370
- var ListGroupsQueryInput = external_exports.object({
26371
- /** Devices to merge. An empty array yields `{ groups: [], nextCursor: null }`. */
26372
- deviceIds: external_exports.array(external_exports.number()),
26373
- /** Window lower bound on `closedAt` (inclusive). */
26374
- since: external_exports.number().optional(),
26375
- /** Window upper bound on `openedAt` (inclusive). */
26376
- until: external_exports.number().optional(),
26377
- limit: external_exports.number().int().min(1).max(LIST_GROUPS_MAX_LIMIT).default(LIST_GROUPS_DEFAULT_LIMIT),
26378
- /** Opaque continuation cursor from a previous page's `nextCursor`. */
26379
- cursor: external_exports.string().optional()
26380
- });
26381
- var ListGroupsPageSchema = external_exports.object({
26382
- groups: external_exports.array(AnalyticsGroupRecordSchema).readonly(),
26383
- nextCursor: external_exports.string().nullable()
26384
- });
26385
26425
  var KEY_EVENTS_DEFAULT_LIMIT = 50;
26386
26426
  var KEY_EVENTS_MAX_LIMIT = 200;
26387
26427
  var KeyEventQueryInput = external_exports.object({
@@ -26474,9 +26514,7 @@ var TrackCascadeCountsSchema = external_exports.object({
26474
26514
  /** Unassigned plate reads removed (best-effort; plate leg deferred to plate-intelligence). */
26475
26515
  plates: external_exports.number().int(),
26476
26516
  /** Per-track CLIP search vectors removed (best-effort). */
26477
- embeddings: external_exports.number().int(),
26478
- /** Group membership + group rows removed with their last member (best-effort). */
26479
- groups: external_exports.number().int()
26517
+ embeddings: external_exports.number().int()
26480
26518
  });
26481
26519
  var DiskReconcileCountsSchema = external_exports.object({
26482
26520
  mediaDropped: external_exports.number().int(),
@@ -26689,16 +26727,6 @@ var pipelineAnalyticsCapability = {
26689
26727
  * are not included (same contract as `listTracks`).
26690
26728
  */
26691
26729
  listRecentTracks: method(RecentTracksQueryInput, RecentTracksPageSchema),
26692
- /**
26693
- * Batched co-moving group listing — the Groups feed. Same merge/cursor
26694
- * contract as {@link listRecentTracks}. A group is a sealed partition of
26695
- * one session; `getGroup` is the detail with members.
26696
- */
26697
- listGroups: method(ListGroupsQueryInput, ListGroupsPageSchema),
26698
- getGroup: method(external_exports.object({
26699
- deviceId: external_exports.number(),
26700
- groupId: external_exports.string().min(1)
26701
- }), AnalyticsGroupDetailSchema.nullable()),
26702
26730
  clearTracks: method(external_exports.object({ deviceId: external_exports.number() }), external_exports.void(), {
26703
26731
  kind: "mutation",
26704
26732
  auth: "admin"
@@ -29793,7 +29821,23 @@ var storageMigrationCapability = {
29793
29821
  drain: method(StorageMigrationDrainInputSchema, external_exports.object({ jobId: external_exports.string() }), {
29794
29822
  kind: "mutation",
29795
29823
  auth: "admin"
29796
- })
29824
+ }),
29825
+ /**
29826
+ * One operator cleanup of leftover analytics (DB + blobs) and ghost
29827
+ * ledger rows on frozen footage locations. Optional debug-media sweep.
29828
+ * Returns immediately; poll {@link cleanupStatus}.
29829
+ */
29830
+ cleanupStart: method(StorageCleanupInputSchema, external_exports.object({ jobId: external_exports.string() }), {
29831
+ kind: "mutation",
29832
+ auth: "admin"
29833
+ }),
29834
+ cleanupStatus: method(StorageCleanupStatusInputSchema, StorageCleanupJobSchema.nullable(), { auth: "admin" }),
29835
+ cleanupCancel: method(external_exports.object({ jobId: external_exports.string() }), external_exports.object({ cancelled: external_exports.boolean() }), {
29836
+ kind: "mutation",
29837
+ auth: "admin"
29838
+ }),
29839
+ /** Recent finished migration jobs, newest first. The live job is `status`. */
29840
+ history: method(external_exports.object({}), external_exports.array(StorageMigrationJobSchema).readonly(), { auth: "admin" })
29797
29841
  }
29798
29842
  };
29799
29843
  var ProviderInfoSchema = external_exports.discriminatedUnion("shouldSaveDiskSpace", [external_exports.object({
@@ -36585,6 +36629,26 @@ var RecordingRebalanceInputSchema = external_exports.object({
36585
36629
  /** Ignore piles smaller than this (default 1 GB). */
36586
36630
  minMoveGb: external_exports.number().min(0).optional()
36587
36631
  });
36632
+ var RecordingDevicePlacementSchema = external_exports.object({
36633
+ deviceId: external_exports.number().int(),
36634
+ profile: external_exports.string(),
36635
+ locationId: external_exports.string()
36636
+ });
36637
+ var RecordingDevicePinSchema = external_exports.object({
36638
+ deviceId: external_exports.number().int(),
36639
+ /** Recordings-class location this camera is pinned to. */
36640
+ locationId: external_exports.string()
36641
+ });
36642
+ var RecordingPlacementViewSchema = external_exports.object({
36643
+ assignments: external_exports.array(RecordingDevicePlacementSchema),
36644
+ pins: external_exports.array(RecordingDevicePinSchema),
36645
+ defaultLocations: external_exports.record(external_exports.string(), external_exports.string())
36646
+ });
36647
+ var RecordingSetDevicePlacementInputSchema = external_exports.object({
36648
+ deviceId: external_exports.number().int(),
36649
+ /** `null` = Auto. Otherwise a `recordings:*` location id. */
36650
+ locationId: external_exports.string().nullable()
36651
+ });
36588
36652
  var LocateSegmentResultSchema = external_exports.discriminatedUnion("kind", [external_exports.object({
36589
36653
  kind: external_exports.literal("segment"),
36590
36654
  startMs: external_exports.number(),
@@ -36903,6 +36967,22 @@ var recordingCapability = {
36903
36967
  startStorageRebalance: method(RecordingRebalanceInputSchema, RecordingRebalancePlanSchema, {
36904
36968
  kind: "mutation",
36905
36969
  auth: "admin"
36970
+ }),
36971
+ /**
36972
+ * The placement plan in force plus operator pins. Drives the Locations
36973
+ * admin page: Auto vs a named recordings location, per camera.
36974
+ */
36975
+ getPlacement: method(external_exports.object({}), RecordingPlacementViewSchema, {
36976
+ kind: "query",
36977
+ auth: "admin"
36978
+ }),
36979
+ /**
36980
+ * Pin a camera to a recordings location, or clear the pin (Auto). High and
36981
+ * mid follow the pin; low stays with the recordingsLow planner.
36982
+ */
36983
+ setDevicePlacement: method(RecordingSetDevicePlacementInputSchema, external_exports.object({ ok: external_exports.literal(true) }), {
36984
+ kind: "mutation",
36985
+ auth: "admin"
36906
36986
  })
36907
36987
  }
36908
36988
  };
@@ -40540,6 +40620,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
40540
40620
  addonId: null,
40541
40621
  access: "delete"
40542
40622
  },
40623
+ "deviceManager.renameLocation": {
40624
+ capName: "device-manager",
40625
+ capScope: "system",
40626
+ addonId: null,
40627
+ access: "create"
40628
+ },
40543
40629
  "deviceManager.runDeviceAction": {
40544
40630
  capName: "device-manager",
40545
40631
  capScope: "system",
@@ -42232,12 +42318,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
42232
42318
  addonId: null,
42233
42319
  access: "view"
42234
42320
  },
42235
- "pipelineAnalytics.getGroup": {
42236
- capName: "pipeline-analytics",
42237
- capScope: "device",
42238
- addonId: null,
42239
- access: "view"
42240
- },
42241
42321
  "pipelineAnalytics.getKeyEvents": {
42242
42322
  capName: "pipeline-analytics",
42243
42323
  capScope: "device",
@@ -42340,12 +42420,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
42340
42420
  addonId: null,
42341
42421
  access: "view"
42342
42422
  },
42343
- "pipelineAnalytics.listGroups": {
42344
- capName: "pipeline-analytics",
42345
- capScope: "device",
42346
- addonId: null,
42347
- access: "view"
42348
- },
42349
42423
  "pipelineAnalytics.listOpsLog": {
42350
42424
  capName: "pipeline-analytics",
42351
42425
  capScope: "device",
@@ -43360,6 +43434,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
43360
43434
  addonId: null,
43361
43435
  access: "view"
43362
43436
  },
43437
+ "recording.getPlacement": {
43438
+ capName: "recording",
43439
+ capScope: "system",
43440
+ addonId: null,
43441
+ access: "view"
43442
+ },
43363
43443
  "recording.getPlaybackManifest": {
43364
43444
  capName: "recording",
43365
43445
  capScope: "system",
@@ -43486,6 +43566,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
43486
43566
  addonId: null,
43487
43567
  access: "create"
43488
43568
  },
43569
+ "recording.setDevicePlacement": {
43570
+ capName: "recording",
43571
+ capScope: "system",
43572
+ addonId: null,
43573
+ access: "create"
43574
+ },
43489
43575
  "recording.startStorageMigrationMove": {
43490
43576
  capName: "recording",
43491
43577
  capScope: "system",
@@ -43930,12 +44016,36 @@ var METHOD_ACCESS_MAP = Object.freeze({
43930
44016
  addonId: null,
43931
44017
  access: "create"
43932
44018
  },
44019
+ "storageMigration.cleanupCancel": {
44020
+ capName: "storage-migration",
44021
+ capScope: "system",
44022
+ addonId: null,
44023
+ access: "create"
44024
+ },
44025
+ "storageMigration.cleanupStart": {
44026
+ capName: "storage-migration",
44027
+ capScope: "system",
44028
+ addonId: null,
44029
+ access: "create"
44030
+ },
44031
+ "storageMigration.cleanupStatus": {
44032
+ capName: "storage-migration",
44033
+ capScope: "system",
44034
+ addonId: null,
44035
+ access: "view"
44036
+ },
43933
44037
  "storageMigration.drain": {
43934
44038
  capName: "storage-migration",
43935
44039
  capScope: "system",
43936
44040
  addonId: null,
43937
44041
  access: "create"
43938
44042
  },
44043
+ "storageMigration.history": {
44044
+ capName: "storage-migration",
44045
+ capScope: "system",
44046
+ addonId: null,
44047
+ access: "view"
44048
+ },
43939
44049
  "storageMigration.movers": {
43940
44050
  capName: "storage-migration",
43941
44051
  capScope: "system",
@@ -45932,11 +46042,6 @@ var METHOD_DEVICE_SELECTORS = Object.freeze({
45932
46042
  form: "single",
45933
46043
  optional: true
45934
46044
  }],
45935
- "pipelineAnalytics.getGroup": [{
45936
- name: "deviceId",
45937
- form: "single",
45938
- optional: false
45939
- }],
45940
46045
  "pipelineAnalytics.getKeyEvents": [{
45941
46046
  name: "deviceId",
45942
46047
  form: "single",
@@ -46002,11 +46107,6 @@ var METHOD_DEVICE_SELECTORS = Object.freeze({
46002
46107
  form: "single",
46003
46108
  optional: false
46004
46109
  }],
46005
- "pipelineAnalytics.listGroups": [{
46006
- name: "deviceIds",
46007
- form: "array",
46008
- optional: false
46009
- }],
46010
46110
  "pipelineAnalytics.listOpsLog": [{
46011
46111
  name: "deviceId",
46012
46112
  form: "single",
@@ -46422,6 +46522,11 @@ var METHOD_DEVICE_SELECTORS = Object.freeze({
46422
46522
  form: "single",
46423
46523
  optional: false
46424
46524
  }],
46525
+ "recording.setDevicePlacement": [{
46526
+ name: "deviceId",
46527
+ form: "single",
46528
+ optional: false
46529
+ }],
46425
46530
  "recording.startStorageMigrationMove": [{
46426
46531
  name: "deviceId",
46427
46532
  form: "single",
package/dist/cli.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runDiscover
4
- } from "./chunk-45XQKO4Y.js";
4
+ } from "./chunk-CX4PX7YL.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-E2VZZ5O3.js");
41
+ await import("./launcher-WAZ55ZSY.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-E2VZZ5O3.js");
86
+ await import("./launcher-WAZ55ZSY.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-KE6GFVKY.js");
1133
+ const { discoverNodes, resolveHubFromDiscovered, filterHubNodes, DEFAULT_HUB_HTTPS_PORT } = await import("./discover-RIINNWGY.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-45XQKO4Y.js";
8
+ } from "./chunk-CX4PX7YL.js";
9
9
  import "./chunk-LMMQX4CK.js";
10
10
  export {
11
11
  DEFAULT_HUB_HTTPS_PORT,