@camstack/addon-notifiers 1.2.606 → 1.2.608

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.
package/dist/addon.js CHANGED
@@ -5577,7 +5577,7 @@ var ZodIssueCode = {
5577
5577
  var ZodFirstPartyTypeKind;
5578
5578
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5579
5579
  //#endregion
5580
- //#region ../types/dist/sleep-BSuCCFjf.mjs
5580
+ //#region ../types/dist/sleep-CSuN0thG.mjs
5581
5581
  /**
5582
5582
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5583
5583
  * window to float samples (D455).
@@ -8188,7 +8188,13 @@ var RecordKindDeclarationSchema = object({
8188
8188
  secretPaths: array(string().min(1)).default([]),
8189
8189
  /** The id key of each array that carries a secret (`{ headers: 'name' }`). */
8190
8190
  secretArrayKeys: record(string(), string()).default({}),
8191
- /** The legacy table this kind adopts from; the boot guard reads it (D853: no migration code). */
8191
+ /**
8192
+ * RETIRED (D900): the legacy table a kind adopted from during the records
8193
+ * migration. Nothing declares it any more and nothing reads it; the schema
8194
+ * still ACCEPTS it because the catalog rows the migration wrote carry it
8195
+ * (an orphaned kind is never redeclared) and an addon built before the
8196
+ * removal still sends it. Never set it.
8197
+ */
8192
8198
  adoptsFrom: string().min(1).optional(),
8193
8199
  /** Kinds that must agree through `transact` sit in one file under one family name. */
8194
8200
  transactFamily: string().min(1).optional(),
@@ -8263,7 +8269,6 @@ function defineRecordKinds(specs) {
8263
8269
  maxDataBytes: spec.maxDataBytes,
8264
8270
  secretPaths: [...secretPaths],
8265
8271
  secretArrayKeys: spec.secretArrayKeys === void 0 ? void 0 : { ...spec.secretArrayKeys },
8266
- adoptsFrom: spec.adoptsFrom,
8267
8272
  transactFamily: spec.transactFamily,
8268
8273
  entry: spec.entry === void 0 ? void 0 : {
8269
8274
  title: spec.entry.title,
@@ -16996,11 +17001,12 @@ var DeclareKindResultSchema = object({
16996
17001
  kindId: number().int(),
16997
17002
  state: RecordKindStateSchema,
16998
17003
  createdIndexes: array(string()),
16999
- /** The boot guard: the kind is empty while its legacy table still holds rows. */
17000
- adoptionPending: object({
17001
- legacyTable: string(),
17002
- legacyRows: number().int()
17003
- }).nullable()
17004
+ /**
17005
+ * RETIRED (D900): always `null`. It carried the records-migration boot guard;
17006
+ * it stays on the wire, null, because an addon built before the removal reads
17007
+ * an ABSENT field as "adoption pending" and refuses to start.
17008
+ */
17009
+ adoptionPending: _null()
17004
17010
  });
17005
17011
  /** Keychain refs a write released (the old marker is gone from the row): the owner deletes the values. */
17006
17012
  var SecretRefsList = array(string());
@@ -17173,26 +17179,7 @@ method(object({ ownerPrefix: string().min(1).optional() }), object({ tables: arr
17173
17179
  }), object({ kinds: array(StorageKindSchema) }), { auth: "admin" }), method(RecordQueryInputSchema.extend({
17174
17180
  owner: string().min(1),
17175
17181
  kind: RecordKindNameSchema
17176
- }), RecordQueryResultSchema, { auth: "admin" }), method(object({
17177
- owner: string().min(1),
17178
- kind: RecordKindNameSchema,
17179
- records: array(RecordInputSchema).max(RECORD_BATCH_MAX),
17180
- /** The LAST batch: the copy is complete, the boot guard stops asking. */
17181
- complete: boolean().optional()
17182
- }).refine((input) => input.records.length > 0 || input.complete === true, { message: "records must be non-empty unless complete is true" }), object({ adopted: number().int() }), {
17183
- kind: "mutation",
17184
- auth: "admin"
17185
- }), method(object({
17186
- collection: string().min(1),
17187
- cursor: string().optional(),
17188
- limit: number().int().min(1).max(1e3).optional()
17189
- }), object({
17190
- rows: array(object({
17191
- id: string(),
17192
- data: record(string(), unknown())
17193
- })),
17194
- nextCursor: string().nullable()
17195
- }), { auth: "admin" }), method(object({ collection: string().min(1) }), object({ adopted: boolean() }), { auth: "admin" });
17182
+ }), RecordQueryResultSchema, { auth: "admin" });
17196
17183
  /**
17197
17184
  * record-entries - the ONE admin surface for every list of user-created entries
17198
17185
  * (D881): notification targets, brokers, LLM profiles, anything an addon
@@ -58376,9 +58363,24 @@ var NpuInfoSchema = object({
58376
58363
  name: string().optional(),
58377
58364
  generation: _enum(["xdna1", "xdna2"]).optional()
58378
58365
  });
58366
+ var CoralBusSchema = _enum(["usb", "pci"]);
58379
58367
  var CoralInfoSchema = object({
58380
58368
  type: literal("coral-edgetpu"),
58381
- bus: string().optional()
58369
+ /** Legacy single-bus report (older nodes) — read via `coralUsableUnits`. */
58370
+ bus: string().optional(),
58371
+ /** Legacy USB unit count (older nodes) — read via `coralUsableUnits`. */
58372
+ count: number().int().nonnegative().optional(),
58373
+ /** Usable units per bus — each one is its own `edgetpu:<bus>[:N]` device. */
58374
+ units: array(object({
58375
+ bus: CoralBusSchema,
58376
+ count: number().int().nonnegative()
58377
+ })).readonly().optional(),
58378
+ /** Present-but-unusable units, each with its typed reason (never "absent"). */
58379
+ unavailable: array(object({
58380
+ bus: CoralBusSchema,
58381
+ count: number().int().nonnegative(),
58382
+ reason: _enum(["driver-missing", "device-not-accessible"])
58383
+ })).readonly().optional()
58382
58384
  });
58383
58385
  var HardwareInfoSchema = object({
58384
58386
  platform: HardwarePlatformSchema,
@@ -64378,6 +64380,12 @@ Object.freeze({
64378
64380
  addonId: null,
64379
64381
  access: "view"
64380
64382
  },
64383
+ "deviceHistory.queryMany": {
64384
+ capName: "device-history",
64385
+ capScope: "system",
64386
+ addonId: null,
64387
+ access: "view"
64388
+ },
64381
64389
  "deviceHistory.queryNode": {
64382
64390
  capName: "device-history",
64383
64391
  capScope: "system",
@@ -69598,24 +69606,12 @@ Object.freeze({
69598
69606
  addonId: null,
69599
69607
  access: "create"
69600
69608
  },
69601
- "storageAdmin.adoptRecords": {
69602
- capName: "storage-admin",
69603
- capScope: "system",
69604
- addonId: null,
69605
- access: "create"
69606
- },
69607
69609
  "storageAdmin.dropCollection": {
69608
69610
  capName: "storage-admin",
69609
69611
  capScope: "system",
69610
69612
  addonId: null,
69611
69613
  access: "delete"
69612
69614
  },
69613
- "storageAdmin.isAdoptedLegacyTable": {
69614
- capName: "storage-admin",
69615
- capScope: "system",
69616
- addonId: null,
69617
- access: "view"
69618
- },
69619
69615
  "storageAdmin.listKinds": {
69620
69616
  capName: "storage-admin",
69621
69617
  capScope: "system",
@@ -69628,12 +69624,6 @@ Object.freeze({
69628
69624
  addonId: null,
69629
69625
  access: "view"
69630
69626
  },
69631
- "storageAdmin.readLegacyCollection": {
69632
- capName: "storage-admin",
69633
- capScope: "system",
69634
- addonId: null,
69635
- access: "view"
69636
- },
69637
69627
  "storageAdmin.readRecords": {
69638
69628
  capName: "storage-admin",
69639
69629
  capScope: "system",
@@ -73448,12 +73438,6 @@ Object.freeze({
73448
73438
  form: "single",
73449
73439
  optional: false
73450
73440
  }],
73451
- "storageAdmin.adoptRecords": [{
73452
- name: "records",
73453
- form: "object-array",
73454
- optional: false,
73455
- itemField: "deviceId"
73456
- }],
73457
73441
  "storageAdmin.readRecords": [{
73458
73442
  name: "deviceId",
73459
73443
  form: "single",
@@ -78792,7 +78776,6 @@ var notifiersRecordKinds = defineRecordKinds({ "notification-targets": {
78792
78776
  device: "none",
78793
78777
  at: "none",
78794
78778
  retention: { none: "a row goes only on an explicit operator delete; bounded by the number of notification targets the operator configures" },
78795
- adoptsFrom: "notifiers:notification-targets",
78796
78779
  entry: { title: "Notification targets" }
78797
78780
  } });
78798
78781
  //#endregion
package/dist/addon.mjs CHANGED
@@ -5550,7 +5550,7 @@ var ZodIssueCode = {
5550
5550
  var ZodFirstPartyTypeKind;
5551
5551
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5552
5552
  //#endregion
5553
- //#region ../types/dist/sleep-BSuCCFjf.mjs
5553
+ //#region ../types/dist/sleep-CSuN0thG.mjs
5554
5554
  /**
5555
5555
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5556
5556
  * window to float samples (D455).
@@ -8161,7 +8161,13 @@ var RecordKindDeclarationSchema = object({
8161
8161
  secretPaths: array(string().min(1)).default([]),
8162
8162
  /** The id key of each array that carries a secret (`{ headers: 'name' }`). */
8163
8163
  secretArrayKeys: record(string(), string()).default({}),
8164
- /** The legacy table this kind adopts from; the boot guard reads it (D853: no migration code). */
8164
+ /**
8165
+ * RETIRED (D900): the legacy table a kind adopted from during the records
8166
+ * migration. Nothing declares it any more and nothing reads it; the schema
8167
+ * still ACCEPTS it because the catalog rows the migration wrote carry it
8168
+ * (an orphaned kind is never redeclared) and an addon built before the
8169
+ * removal still sends it. Never set it.
8170
+ */
8165
8171
  adoptsFrom: string().min(1).optional(),
8166
8172
  /** Kinds that must agree through `transact` sit in one file under one family name. */
8167
8173
  transactFamily: string().min(1).optional(),
@@ -8236,7 +8242,6 @@ function defineRecordKinds(specs) {
8236
8242
  maxDataBytes: spec.maxDataBytes,
8237
8243
  secretPaths: [...secretPaths],
8238
8244
  secretArrayKeys: spec.secretArrayKeys === void 0 ? void 0 : { ...spec.secretArrayKeys },
8239
- adoptsFrom: spec.adoptsFrom,
8240
8245
  transactFamily: spec.transactFamily,
8241
8246
  entry: spec.entry === void 0 ? void 0 : {
8242
8247
  title: spec.entry.title,
@@ -16969,11 +16974,12 @@ var DeclareKindResultSchema = object({
16969
16974
  kindId: number().int(),
16970
16975
  state: RecordKindStateSchema,
16971
16976
  createdIndexes: array(string()),
16972
- /** The boot guard: the kind is empty while its legacy table still holds rows. */
16973
- adoptionPending: object({
16974
- legacyTable: string(),
16975
- legacyRows: number().int()
16976
- }).nullable()
16977
+ /**
16978
+ * RETIRED (D900): always `null`. It carried the records-migration boot guard;
16979
+ * it stays on the wire, null, because an addon built before the removal reads
16980
+ * an ABSENT field as "adoption pending" and refuses to start.
16981
+ */
16982
+ adoptionPending: _null()
16977
16983
  });
16978
16984
  /** Keychain refs a write released (the old marker is gone from the row): the owner deletes the values. */
16979
16985
  var SecretRefsList = array(string());
@@ -17146,26 +17152,7 @@ method(object({ ownerPrefix: string().min(1).optional() }), object({ tables: arr
17146
17152
  }), object({ kinds: array(StorageKindSchema) }), { auth: "admin" }), method(RecordQueryInputSchema.extend({
17147
17153
  owner: string().min(1),
17148
17154
  kind: RecordKindNameSchema
17149
- }), RecordQueryResultSchema, { auth: "admin" }), method(object({
17150
- owner: string().min(1),
17151
- kind: RecordKindNameSchema,
17152
- records: array(RecordInputSchema).max(RECORD_BATCH_MAX),
17153
- /** The LAST batch: the copy is complete, the boot guard stops asking. */
17154
- complete: boolean().optional()
17155
- }).refine((input) => input.records.length > 0 || input.complete === true, { message: "records must be non-empty unless complete is true" }), object({ adopted: number().int() }), {
17156
- kind: "mutation",
17157
- auth: "admin"
17158
- }), method(object({
17159
- collection: string().min(1),
17160
- cursor: string().optional(),
17161
- limit: number().int().min(1).max(1e3).optional()
17162
- }), object({
17163
- rows: array(object({
17164
- id: string(),
17165
- data: record(string(), unknown())
17166
- })),
17167
- nextCursor: string().nullable()
17168
- }), { auth: "admin" }), method(object({ collection: string().min(1) }), object({ adopted: boolean() }), { auth: "admin" });
17155
+ }), RecordQueryResultSchema, { auth: "admin" });
17169
17156
  /**
17170
17157
  * record-entries - the ONE admin surface for every list of user-created entries
17171
17158
  * (D881): notification targets, brokers, LLM profiles, anything an addon
@@ -58349,9 +58336,24 @@ var NpuInfoSchema = object({
58349
58336
  name: string().optional(),
58350
58337
  generation: _enum(["xdna1", "xdna2"]).optional()
58351
58338
  });
58339
+ var CoralBusSchema = _enum(["usb", "pci"]);
58352
58340
  var CoralInfoSchema = object({
58353
58341
  type: literal("coral-edgetpu"),
58354
- bus: string().optional()
58342
+ /** Legacy single-bus report (older nodes) — read via `coralUsableUnits`. */
58343
+ bus: string().optional(),
58344
+ /** Legacy USB unit count (older nodes) — read via `coralUsableUnits`. */
58345
+ count: number().int().nonnegative().optional(),
58346
+ /** Usable units per bus — each one is its own `edgetpu:<bus>[:N]` device. */
58347
+ units: array(object({
58348
+ bus: CoralBusSchema,
58349
+ count: number().int().nonnegative()
58350
+ })).readonly().optional(),
58351
+ /** Present-but-unusable units, each with its typed reason (never "absent"). */
58352
+ unavailable: array(object({
58353
+ bus: CoralBusSchema,
58354
+ count: number().int().nonnegative(),
58355
+ reason: _enum(["driver-missing", "device-not-accessible"])
58356
+ })).readonly().optional()
58355
58357
  });
58356
58358
  var HardwareInfoSchema = object({
58357
58359
  platform: HardwarePlatformSchema,
@@ -64351,6 +64353,12 @@ Object.freeze({
64351
64353
  addonId: null,
64352
64354
  access: "view"
64353
64355
  },
64356
+ "deviceHistory.queryMany": {
64357
+ capName: "device-history",
64358
+ capScope: "system",
64359
+ addonId: null,
64360
+ access: "view"
64361
+ },
64354
64362
  "deviceHistory.queryNode": {
64355
64363
  capName: "device-history",
64356
64364
  capScope: "system",
@@ -69571,24 +69579,12 @@ Object.freeze({
69571
69579
  addonId: null,
69572
69580
  access: "create"
69573
69581
  },
69574
- "storageAdmin.adoptRecords": {
69575
- capName: "storage-admin",
69576
- capScope: "system",
69577
- addonId: null,
69578
- access: "create"
69579
- },
69580
69582
  "storageAdmin.dropCollection": {
69581
69583
  capName: "storage-admin",
69582
69584
  capScope: "system",
69583
69585
  addonId: null,
69584
69586
  access: "delete"
69585
69587
  },
69586
- "storageAdmin.isAdoptedLegacyTable": {
69587
- capName: "storage-admin",
69588
- capScope: "system",
69589
- addonId: null,
69590
- access: "view"
69591
- },
69592
69588
  "storageAdmin.listKinds": {
69593
69589
  capName: "storage-admin",
69594
69590
  capScope: "system",
@@ -69601,12 +69597,6 @@ Object.freeze({
69601
69597
  addonId: null,
69602
69598
  access: "view"
69603
69599
  },
69604
- "storageAdmin.readLegacyCollection": {
69605
- capName: "storage-admin",
69606
- capScope: "system",
69607
- addonId: null,
69608
- access: "view"
69609
- },
69610
69600
  "storageAdmin.readRecords": {
69611
69601
  capName: "storage-admin",
69612
69602
  capScope: "system",
@@ -73421,12 +73411,6 @@ Object.freeze({
73421
73411
  form: "single",
73422
73412
  optional: false
73423
73413
  }],
73424
- "storageAdmin.adoptRecords": [{
73425
- name: "records",
73426
- form: "object-array",
73427
- optional: false,
73428
- itemField: "deviceId"
73429
- }],
73430
73414
  "storageAdmin.readRecords": [{
73431
73415
  name: "deviceId",
73432
73416
  form: "single",
@@ -78765,7 +78749,6 @@ var notifiersRecordKinds = defineRecordKinds({ "notification-targets": {
78765
78749
  device: "none",
78766
78750
  at: "none",
78767
78751
  retention: { none: "a row goes only on an explicit operator delete; bounded by the number of notification targets the operator configures" },
78768
- adoptsFrom: "notifiers:notification-targets",
78769
78752
  entry: { title: "Notification targets" }
78770
78753
  } });
78771
78754
  //#endregion
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-notifiers",
3
- "version": "1.2.606",
3
+ "version": "1.2.608",
4
4
  "description": "System notifiers addon for CamStack — a `notification-output` collection provider hosting per-kind notifier adapters (ntfy, pushover, gotify, telegram, discord, webhook, zentik).",
5
5
  "keywords": [
6
6
  "camstack",