camstack 1.2.144 → 1.2.145

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-BnujYGPe.mjs
14525
+ // ../types/dist/sleep-CnLyvg3w.mjs
14526
14526
  var AUDIO_CHUNK_FORMATS = [
14527
14527
  "f32le",
14528
14528
  "pcmu",
@@ -15399,7 +15399,8 @@ var MEDIA_OWNER_TYPES = [
15399
15399
  "scene",
15400
15400
  "motion",
15401
15401
  "object",
15402
- "audio"
15402
+ "audio",
15403
+ "mosaic"
15403
15404
  ];
15404
15405
  var OWNER_TYPES = new Set(MEDIA_OWNER_TYPES);
15405
15406
  var EVENT_OWNER_TYPES = [
@@ -15407,6 +15408,7 @@ var EVENT_OWNER_TYPES = [
15407
15408
  "object",
15408
15409
  "audio"
15409
15410
  ];
15411
+ var EventOwnerTypeSchema = external_exports.enum(EVENT_OWNER_TYPES);
15410
15412
  var EVENT_OWNER_TYPE_SET = new Set(EVENT_OWNER_TYPES);
15411
15413
  var VideoEncodeSchema = external_exports.object({
15412
15414
  codec: external_exports.enum([
@@ -20006,6 +20008,60 @@ var settingsStoreCapability = {
20006
20008
  filter: QueryFilterSchema.optional(),
20007
20009
  columns: external_exports.array(external_exports.string()).readonly().optional()
20008
20010
  }), external_exports.array(SettingsRecordSchema).readonly()),
20011
+ /**
20012
+ * Make a SLOT hold this row — insert it, or update whatever already
20013
+ * occupies the slot — and answer with the id the row HAS.
20014
+ *
20015
+ * ## Why the store needed this
20016
+ *
20017
+ * {@link set} is already an upsert, but its slot is the PRIMARY KEY: the
20018
+ * caller has to know the id to address the row. That is exactly what a
20019
+ * collection keyed by an `INTEGER` rowid alias cannot do — SQLite assigns
20020
+ * the id, so a writer whose uniqueness rule is "one row per
20021
+ * `(ownerKind, ownerId, kind, slot)`" has no id to name and no way to
20022
+ * express the rule. {@link insert} can express it (a UNIQUE index
20023
+ * arbitrates) but only by THROWING at the loser of a race, and the loser
20024
+ * here is a legitimate re-capture, not an error.
20025
+ *
20026
+ * Getting there without this method means read-then-write: query the slot,
20027
+ * then `insert` or `update`. Two statements instead of one, a race between
20028
+ * them, and a recovery path that has to recognise a UNIQUE violation by its
20029
+ * MESSAGE — across a process boundary, because the store lives behind an
20030
+ * RPC door. A string match would be the whole gate, and a store that
20031
+ * rephrased its error would lose the row silently. One statement has no
20032
+ * such gate (D482).
20033
+ *
20034
+ * ## The contract
20035
+ *
20036
+ * `conflict` names the DECLARED columns that identify the slot. They must
20037
+ * be covered by a UNIQUE index on the collection — SQLite resolves an
20038
+ * `ON CONFLICT` target against its indexes and REFUSES the statement when
20039
+ * none matches, so a wrong list is a loud error on the first write, never a
20040
+ * silently duplicated row. An empty list is refused rather than passed on:
20041
+ * `ON CONFLICT()` is not valid SQL, and the intent it would most likely
20042
+ * encode ("no slot, just insert") is {@link insert}.
20043
+ *
20044
+ * Row shape is {@link insert}'s: `record.id` is used when the collection
20045
+ * needs a supplied key and IGNORED when the primary key is an `INTEGER`
20046
+ * rowid alias — exactly as `insert` and `insertMany` already treat it.
20047
+ *
20048
+ * Returns the id either way: the one SQLite assigned on an insert, or the
20049
+ * one the row it updated already had. A caller cannot tell which happened,
20050
+ * and deliberately — every caller wants the slot's id, and one that needed
20051
+ * to distinguish creation from replacement would have to read first anyway.
20052
+ */
20053
+ upsert: method(external_exports.object({
20054
+ namespace: external_exports.string().optional(),
20055
+ collection: external_exports.string(),
20056
+ /** Declared columns identifying the slot; must be covered by a UNIQUE
20057
+ * index on the collection. Never empty. */
20058
+ conflict: external_exports.array(external_exports.string()).readonly(),
20059
+ record: BulkRecordSchema
20060
+ }), external_exports.object({
20061
+ /** The id the row HAS: assigned by SQLite on an insert, or the existing
20062
+ * row's own id on an update. */
20063
+ id: external_exports.union([external_exports.string(), external_exports.number()])
20064
+ }), { kind: "mutation" }),
20009
20065
  /** Insert a new record. */
20010
20066
  insert: method(external_exports.object({
20011
20067
  namespace: external_exports.string().optional(),
@@ -20249,6 +20305,20 @@ var dataStoreProviderCapability = {
20249
20305
  kind: "mutation",
20250
20306
  auth: "admin"
20251
20307
  }),
20308
+ /**
20309
+ * Make a slot hold this row, and answer with the id the row HAS. The
20310
+ * engine half of `settings-store.upsert` — read that docblock for why the
20311
+ * store needed a slot that is not the primary key (D482).
20312
+ */
20313
+ upsert: method(external_exports.object({
20314
+ namespace: external_exports.string().optional(),
20315
+ collection: external_exports.string(),
20316
+ conflict: external_exports.array(external_exports.string()).readonly(),
20317
+ record: BulkRecordSchema
20318
+ }), external_exports.object({ id: external_exports.union([external_exports.string(), external_exports.number()]) }), {
20319
+ kind: "mutation",
20320
+ auth: "admin"
20321
+ }),
20252
20322
  /** Insert many records in ONE transaction. All or nothing. */
20253
20323
  insertMany: method(external_exports.object({
20254
20324
  namespace: external_exports.string().optional(),
@@ -26551,8 +26621,8 @@ var TrackPositionSchema = external_exports.object({
26551
26621
  var TrackSnapshotSchema = external_exports.object({
26552
26622
  timestamp: external_exports.number(),
26553
26623
  position: TrackPositionSchema,
26554
- /** MediaStore key; resolve via `getTrackMedia({ trackId })`. */
26555
- mediaKey: external_exports.string()
26624
+ /** The snapshot's media row id (D482); resolve via `listTrackMedia({ trackId })`. */
26625
+ mediaId: external_exports.number().int()
26556
26626
  });
26557
26627
  var TrackEnvelopeSchema = external_exports.object({
26558
26628
  minX: external_exports.number(),
@@ -26991,14 +27061,14 @@ var ObjectEventSchema = external_exports.object({
26991
27061
  * pixel-space `bbox` onto a displayed image. Omitted in slim projection. */
26992
27062
  frameWidth: external_exports.number().optional(),
26993
27063
  frameHeight: external_exports.number().optional(),
26994
- /** MediaStore key for the crop attached to this event (if any). */
26995
- mediaKey: external_exports.string().optional(),
26996
- /** Design B: MediaStore key of the track's native-resolution key frame (the
27064
+ /** Media row id of the crop attached to this event (if any) — D482. */
27065
+ mediaId: external_exports.number().int().optional(),
27066
+ /** Design B: media row id of the track's native-resolution key frame (the
26997
27067
  * best-detection full frame). Resolve via the event-media data-plane
26998
- * (`/addon/<addonId>/event-media/<keyFrameMediaKey>`) for a detail view that
27068
+ * (`/addon/<addonId>/event-media/m/<keyFrameMediaId>`) for a detail view that
26999
27069
  * draws `bbox` over the native frame. Absent on legacy rows / non-decoded
27000
- * sources — consumers fall back to `mediaKey` (the tight crop). */
27001
- keyFrameMediaKey: external_exports.string().optional(),
27070
+ * sources — consumers fall back to `mediaId` (the tight crop). */
27071
+ keyFrameMediaId: external_exports.number().int().optional(),
27002
27072
  /** Populated by B5 (recording playback URL for this event). */
27003
27073
  mediaUrl: external_exports.string().optional(),
27004
27074
  /** The parent track's key-event importance [0,1], propagated to every object
@@ -27035,7 +27105,19 @@ var MediaFileKindEnum = external_exports.enum([
27035
27105
  "sceneFrame"
27036
27106
  ]);
27037
27107
  var MediaFileRefSchema = external_exports.object({
27038
- key: external_exports.string(),
27108
+ /**
27109
+ * The media row's OWN id — the rowid SQLite assigned it (D482).
27110
+ *
27111
+ * It used to be the row's composite key, `<ownerType>:<ownerId>:<fileKind>
27112
+ * [:<timestampMs>]`, which embedded a FOREIGN id. D474 made event ids
27113
+ * per-table rowid aliases, so `object:101314` and `motion:101314` are two
27114
+ * different rows that spell the same number, and a track whose
27115
+ * `bestEventId` was an object event was served a motion event's snapshot —
27116
+ * a night-time thumbnail on an afternoon track, with no error anywhere. A
27117
+ * surrogate id cannot name the wrong row's owner, because it names no owner
27118
+ * at all.
27119
+ */
27120
+ mediaId: external_exports.number().int(),
27039
27121
  kind: MediaFileKindEnum,
27040
27122
  sizeBytes: external_exports.number(),
27041
27123
  timestamp: external_exports.number()
@@ -27103,7 +27185,7 @@ var RetrainTrackSchema = external_exports.object({
27103
27185
  annotationCount: external_exports.number().int()
27104
27186
  });
27105
27187
  var RetrainFrameCandidateSchema = external_exports.object({
27106
- mediaKey: external_exports.string(),
27188
+ mediaId: external_exports.number().int(),
27107
27189
  kind: MediaFileKindEnum,
27108
27190
  timestamp: external_exports.number(),
27109
27191
  sizeBytes: external_exports.number().int(),
@@ -27116,7 +27198,7 @@ var RetrainFrameSchema = external_exports.object({
27116
27198
  deviceId: external_exports.number(),
27117
27199
  trackId: external_exports.string(),
27118
27200
  /** Provenance only. It may already point at nothing — that is expected. */
27119
- sourceMediaKey: external_exports.string(),
27201
+ sourceMediaId: external_exports.number().int(),
27120
27202
  sourceKind: MediaFileKindEnum,
27121
27203
  sizeBytes: external_exports.number().int(),
27122
27204
  width: external_exports.number().int(),
@@ -27131,7 +27213,7 @@ var RetrainCopyRefusalSchema = external_exports.enum([
27131
27213
  var RetrainFrameSelectionSchema = external_exports.object({
27132
27214
  copied: external_exports.array(RetrainFrameSchema).readonly(),
27133
27215
  refused: external_exports.array(external_exports.object({
27134
- sourceMediaKey: external_exports.string(),
27216
+ sourceMediaId: external_exports.number().int(),
27135
27217
  reason: RetrainCopyRefusalSchema
27136
27218
  })).readonly()
27137
27219
  });
@@ -27139,7 +27221,7 @@ var RetrainFrameListSchema = external_exports.object({
27139
27221
  candidates: external_exports.array(RetrainFrameCandidateSchema).readonly(),
27140
27222
  copies: external_exports.array(RetrainFrameSchema).readonly(),
27141
27223
  /** What the page pre-selects — the native key frame when one survives. */
27142
- autoPickMediaKey: external_exports.string().optional()
27224
+ autoPickMediaId: external_exports.number().int().optional()
27143
27225
  });
27144
27226
  var RetrainAssistSubjectSchema = external_exports.discriminatedUnion("kind", [external_exports.object({
27145
27227
  kind: external_exports.literal("package"),
@@ -27232,7 +27314,7 @@ var SummarySchema = external_exports.object({
27232
27314
  lastActiveAt: external_exports.number(),
27233
27315
  sealedAt: external_exports.number().nullable(),
27234
27316
  memberCount: external_exports.number().int().nonnegative(),
27235
- groupShotKey: external_exports.string().nullable()
27317
+ groupShotMediaId: external_exports.number().int().nullable()
27236
27318
  });
27237
27319
  var SummariesQueryInput = external_exports.object({
27238
27320
  deviceIds: external_exports.array(external_exports.number()).min(1),
@@ -28125,7 +28207,7 @@ var pipelineAnalyticsCapability = {
28125
28207
  selectRetrainFrames: method(external_exports.object({
28126
28208
  deviceId: external_exports.number(),
28127
28209
  trackId: external_exports.string(),
28128
- mediaKeys: external_exports.array(external_exports.string()).min(1)
28210
+ mediaIds: external_exports.array(external_exports.number().int()).min(1)
28129
28211
  }), RetrainFrameSelectionSchema, {
28130
28212
  kind: "mutation",
28131
28213
  auth: "admin"
@@ -28289,8 +28371,29 @@ var pipelineAnalyticsCapability = {
28289
28371
  kind: "query",
28290
28372
  auth: "admin"
28291
28373
  }),
28374
+ /**
28375
+ * The media an EVENT owns.
28376
+ *
28377
+ * `ownerType` is REQUIRED, and that is the whole correction (D482). An
28378
+ * event is a row in ONE of three tables, and since D474 each numbers from
28379
+ * 1 independently: `motion:101314` and `object:101314` both exist. This
28380
+ * method took a bare `eventId` and the provider probed motion → object →
28381
+ * audio, stopping at the first hit — so on the live hub, where object
28382
+ * events own no media of their own and 299 883 of 300 559 media rows are
28383
+ * motion-owned, EVERY object event resolved to its motion namesake. A
28384
+ * track from 17:34 on camera 615 was served a snapshot from 22:35 eleven
28385
+ * days earlier, silently.
28386
+ *
28387
+ * D476 had already disambiguated the KEY (`motion:` vs `object:`); this is
28388
+ * the API catching up to it. Naming the table is not a "qualification" of
28389
+ * the ambiguity — a listing BY OWNER has no address to make surrogate: the
28390
+ * owner IS (table, id), and half of it is not a question.
28391
+ */
28292
28392
  getEventMedia: method(external_exports.object({
28293
- eventId: external_exports.string(),
28393
+ /** Which of the three event tables owns the row. */
28394
+ ownerType: EventOwnerTypeSchema,
28395
+ /** The event's rowid in that table (D474: an event id is a number). */
28396
+ eventId: external_exports.number().int(),
28294
28397
  kind: MediaFileKindEnum.optional(),
28295
28398
  deviceId: external_exports.number()
28296
28399
  }), external_exports.array(MediaFileSchema).readonly()),
@@ -28335,11 +28438,14 @@ var pipelineAnalyticsCapability = {
28335
28438
  * the live hub: one event's `fullFrameBoxed` is 2 824 077 B, base64'd to
28336
28439
  * ~3.8 MB, allocated whole in hub-main's heap, for a list of keys.
28337
28440
  *
28338
- * Same `deviceId` authorization subject as `getEventMedia`, and the same
28339
- * rows — this is a projection of that method, never a different question.
28441
+ * Same `deviceId` authorization subject as `getEventMedia`, the same
28442
+ * REQUIRED `ownerType` (read that method's docblock for the night-time
28443
+ * thumbnail this closes — D482), and the same rows: this is a projection
28444
+ * of that method, never a different question.
28340
28445
  */
28341
28446
  listEventMedia: method(external_exports.object({
28342
- eventId: external_exports.string(),
28447
+ ownerType: EventOwnerTypeSchema,
28448
+ eventId: external_exports.number().int(),
28343
28449
  deviceId: external_exports.number()
28344
28450
  }), external_exports.array(MediaFileInfoSchema).readonly()),
28345
28451
  /**
@@ -34018,8 +34124,8 @@ var IdentitySchema = external_exports.object({
34018
34124
  id: external_exports.string(),
34019
34125
  name: external_exports.string(),
34020
34126
  sampleCount: external_exports.number().int().nonnegative(),
34021
- coverMediaKey: external_exports.string().optional(),
34022
- /** Inline base64 of the cover sample's crop, resolved from `coverMediaKey`.
34127
+ coverMediaId: external_exports.number().int().optional(),
34128
+ /** Inline base64 of the cover sample's crop, resolved from `coverMediaId`.
34023
34129
  * Lets the UI render the person's face avatar instead of a placeholder icon. */
34024
34130
  coverBase64: external_exports.string().optional()
34025
34131
  });
@@ -34035,8 +34141,8 @@ var IdentitySampleAuditRowSchema = external_exports.object({
34035
34141
  enrolledAt: external_exports.number().int(),
34036
34142
  deviceId: external_exports.number().int().optional(),
34037
34143
  source: external_exports.enum(["detected", "photo"]),
34038
- /** The enrolled crop's media key, so the panel can show the evidence. */
34039
- mediaKey: external_exports.string().optional(),
34144
+ /** The enrolled crop's media row id, so the panel can show the evidence. */
34145
+ mediaId: external_exports.number().int().optional(),
34040
34146
  /**
34041
34147
  * False = the sample is stamped with a DIFFERENT face model, and a cosine
34042
34148
  * across feature spaces is a well-formed float with no meaning. Every number
@@ -34105,15 +34211,15 @@ var FaceInfoSchema = external_exports.object({
34105
34211
  */
34106
34212
  cropUrl: external_exports.string().optional(),
34107
34213
  /** Design B: the face bbox (pixel space) on the key frame — lets a detail
34108
- * view draw the box over the native `keyFrameMediaKey` frame. Absent on
34214
+ * view draw the box over the native `keyFrameMediaId` frame. Absent on
34109
34215
  * legacy rows written before design B. */
34110
34216
  faceBbox: BoundingBoxSchema.optional(),
34111
34217
  /** Design B: MediaStore key of the track's native-resolution key frame.
34112
34218
  * Fetch the native JPEG via the event-media data-plane
34113
- * (`/addon/<addonId>/event-media/<keyFrameMediaKey>`). Absent when the
34219
+ * (`/addon/<addonId>/event-media/m/<keyFrameMediaId>`). Absent when the
34114
34220
  * track produced no key frame (e.g. native/onboard source) — the UI falls
34115
34221
  * back to the inline `base64` face crop. */
34116
- keyFrameMediaKey: external_exports.string().optional(),
34222
+ keyFrameMediaId: external_exports.number().int().optional(),
34117
34223
  /** Winning identity-match cosine (0..1) for this face's track, when an
34118
34224
  * identity was auto-confirmed. Lets the UI surface WHY a face was assigned
34119
34225
  * (confidence badge / low-confidence audit). Absent on legacy rows and on
@@ -34151,7 +34257,9 @@ var FaceClusterSchema = external_exports.object({
34151
34257
  cohesion: external_exports.number()
34152
34258
  });
34153
34259
  var MediaFileLiteSchema$1 = external_exports.object({
34154
- key: external_exports.string(),
34260
+ /** The media row's own id — the same address `MediaFileRef.mediaId` carries
34261
+ * (D482). It was the row's composite key, which embedded the owner. */
34262
+ mediaId: external_exports.number().int(),
34155
34263
  kind: external_exports.string(),
34156
34264
  url: external_exports.string(),
34157
34265
  sizeBytes: external_exports.number(),
@@ -34173,7 +34281,7 @@ var faceGalleryCapability = {
34173
34281
  * covers inline, ~10 KB of base64 per row, on a query this UI mounts
34174
34282
  * four times and the viewer holds at `staleTime: 30_000`.
34175
34283
  *
34176
- * Nothing loses its avatar: `coverMediaKey` is already on every row and
34284
+ * Nothing loses its avatar: `coverMediaId` is already on every row and
34177
34285
  * the `event-media` plane serves that key `immutable` with an ETag.
34178
34286
  *
34179
34287
  * **This is an INPUT field, so it does not reach the addon until the
@@ -37303,8 +37411,8 @@ var VehicleSchema = external_exports.object({
37303
37411
  id: external_exports.string(),
37304
37412
  name: external_exports.string(),
37305
37413
  sampleCount: external_exports.number().int().nonnegative(),
37306
- coverMediaKey: external_exports.string().optional(),
37307
- /** Inline base64 of the cover sample's plate crop, resolved from `coverMediaKey`. */
37414
+ coverMediaId: external_exports.number().int().optional(),
37415
+ /** Inline base64 of the cover sample's plate crop, resolved from `coverMediaId`. */
37308
37416
  coverBase64: external_exports.string().optional()
37309
37417
  });
37310
37418
  var VehicleSampleInfoSchema = external_exports.object({
@@ -37337,7 +37445,7 @@ var PlateInfoSchema = external_exports.object({
37337
37445
  /** keyFrame parity: the plate bbox (pixel space) on the native key frame. */
37338
37446
  plateBbox: BoundingBoxSchema.optional(),
37339
37447
  /** keyFrame parity: MediaStore key of the track's native-resolution key frame. */
37340
- keyFrameMediaKey: external_exports.string().optional(),
37448
+ keyFrameMediaId: external_exports.number().int().optional(),
37341
37449
  base64: external_exports.string().optional(),
37342
37450
  /**
37343
37451
  * Same crop as a data-plane URL, always present when the plate has a stored
@@ -37348,7 +37456,9 @@ var PlateInfoSchema = external_exports.object({
37348
37456
  cropUrl: external_exports.string().optional()
37349
37457
  });
37350
37458
  var MediaFileLiteSchema = external_exports.object({
37351
- key: external_exports.string(),
37459
+ /** The media row's own id — the same address `MediaFileRef.mediaId` carries
37460
+ * (D482). It was the row's composite key, which embedded the owner. */
37461
+ mediaId: external_exports.number().int(),
37352
37462
  kind: external_exports.string(),
37353
37463
  url: external_exports.string(),
37354
37464
  sizeBytes: external_exports.number(),
@@ -37422,7 +37532,7 @@ var plateGalleryCapability = {
37422
37532
  listVehicles: method(external_exports.object({
37423
37533
  /** Inline {@link VehicleSchema.coverBase64} on every row. Default
37424
37534
  * `false` — the vehicle twin of `faceGallery.listIdentities`'s
37425
- * option; `coverMediaKey` + the `event-media` plane carry the picture.
37535
+ * option; `coverMediaId` + the `event-media` plane carry the picture.
37426
37536
  * INPUT field: stripped by the hub router until the train ships, which
37427
37537
  * resolves to `false` and is exactly the intended default. */
37428
37538
  includeCrops: external_exports.boolean().optional()
@@ -38920,7 +39030,14 @@ var SceneReferenceSchema = external_exports.object({
38920
39030
  modelId: external_exports.string(),
38921
39031
  condition: SceneConditionSchema,
38922
39032
  capturedAt: external_exports.number(),
38923
- thumbnailMediaId: external_exports.string().optional(),
39033
+ /**
39034
+ * The reference thumbnail's media ROW id (D482).
39035
+ *
39036
+ * The name already said `mediaId` while the value was the row's composite
39037
+ * key — a leftover that read as done and was not. It is the row's own id
39038
+ * now, addressed at `/addon/<addonId>/event-media/m/<id>`.
39039
+ */
39040
+ thumbnailMediaId: external_exports.number().int().optional(),
38924
39041
  /** Whole-frame (downscaled) embedding captured alongside the ROI crop. The
38925
39042
  * anti-view-shift anchor: a bumped camera, a PTZ preset or a re-aim makes the
38926
39043
  * normalized rect frame a different piece of world, and the scene would
@@ -40612,7 +40729,7 @@ var StationaryObjectSchema = external_exports.object({
40612
40729
  /** Enrichment label carried from the source track (identity / plate). */
40613
40730
  label: external_exports.string().optional(),
40614
40731
  /** Native-resolution key-frame media key for the parked object's best image. */
40615
- keyFrameMediaKey: external_exports.string().optional()
40732
+ keyFrameMediaId: external_exports.number().int().optional()
40616
40733
  });
40617
40734
  var CameraOccupancySnapshotSchema = external_exports.object({
40618
40735
  /** Frame timestamp of the inference result that produced this snapshot. */
@@ -41876,6 +41993,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
41876
41993
  addonId: null,
41877
41994
  access: "create"
41878
41995
  },
41996
+ "dataStoreProvider.upsert": {
41997
+ capName: "data-store-provider",
41998
+ capScope: "system",
41999
+ addonId: null,
42000
+ access: "create"
42001
+ },
41879
42002
  "dayNight.getOptions": {
41880
42003
  capName: "day-night",
41881
42004
  capScope: "device",
@@ -45740,6 +45863,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
45740
45863
  addonId: null,
45741
45864
  access: "create"
45742
45865
  },
45866
+ "settingsStore.upsert": {
45867
+ capName: "settings-store",
45868
+ capScope: "system",
45869
+ addonId: null,
45870
+ access: "create"
45871
+ },
45743
45872
  "smtpProvider.getStatus": {
45744
45873
  capName: "smtp-provider",
45745
45874
  capScope: "system",
package/dist/cli.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runDiscover
4
- } from "./chunk-E3UKNBI7.js";
4
+ } from "./chunk-W67ATFOA.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-25V2QKN6.js");
41
+ await import("./launcher-LICFWRGL.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-25V2QKN6.js");
86
+ await import("./launcher-LICFWRGL.js");
87
87
  }
88
88
 
89
89
  // src/commands/setup.ts
@@ -1140,7 +1140,7 @@ function isUnknown(_value) {
1140
1140
  return true;
1141
1141
  }
1142
1142
  async function resolveServerInteractive(presetNamespace) {
1143
- const { discoverNodes, resolveHubFromDiscovered, filterHubNodes, DEFAULT_HUB_HTTPS_PORT } = await import("./discover-YH7C75RI.js");
1143
+ const { discoverNodes, resolveHubFromDiscovered, filterHubNodes, DEFAULT_HUB_HTTPS_PORT } = await import("./discover-CPDHVQWB.js");
1144
1144
  if (presetNamespace) {
1145
1145
  const spinner4 = clack.spinner();
1146
1146
  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-E3UKNBI7.js";
8
+ } from "./chunk-W67ATFOA.js";
9
9
  import "./chunk-LMMQX4CK.js";
10
10
  export {
11
11
  DEFAULT_HUB_HTTPS_PORT,