@camstack/addon-mqtt-broker 1.2.53 → 1.2.56

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.
@@ -13335,6 +13335,35 @@ method(_void(), array(string()).readonly(), { auth: "admin" }), method(object({
13335
13335
  auth: "admin"
13336
13336
  });
13337
13337
  /**
13338
+ * Transport bounds for AI capability methods.
13339
+ *
13340
+ * Its own module because `llm.cap.ts` and `llm-runtime.cap.ts` already import
13341
+ * each other: declaring the constant in either one hands the other `undefined`
13342
+ * at module-init time, and an undefined `timeoutMs` silently falls back to the
13343
+ * kernel's 60 s default — the exact failure this constant exists to prevent,
13344
+ * reintroduced invisibly. Found by the guard, not by review.
13345
+ */
13346
+ /**
13347
+ * Ceiling for a cap method that runs inference or loads a model.
13348
+ *
13349
+ * Deliberately far above anything the AI layer itself may wait for (a summary
13350
+ * asks 180 s by default, a rule may ask 600 s), because the TRANSPORT must
13351
+ * never be the layer that gives up first: when it does, the failure is
13352
+ * reported as a transport error for a model that was still thinking, naming
13353
+ * the wrong layer and hiding the real one.
13354
+ *
13355
+ * Measured 2026-09-03: a 6-image vision request needs 44.8 s warm and ~20 s
13356
+ * more on a cold model load. With no declaration every digest failed at
13357
+ * exactly 60 s and shipped without its text.
13358
+ *
13359
+ * A ceiling, not a budget. The AI layer's own timeouts (the rule's `timeoutMs`,
13360
+ * the profile's `timeoutMs` / `firstTokenTimeoutMs`) remain the things that
13361
+ * decide when to stop, because only they can say WHY.
13362
+ */
13363
+ var AI_CAP_TRANSPORT_TIMEOUT_MS = 6e5;
13364
+ /** A multi-gigabyte download. An hour is not generous, it is honest. */
13365
+ var AI_MODEL_INSTALL_TIMEOUT_MS = 60 * 6e4;
13366
+ /**
13338
13367
  * Shared LLM generate contracts — imported by BOTH `llm.cap.ts` (consumer
13339
13368
  * surface) and `llm-runtime.cap.ts` (node-side managed executor) so the two
13340
13369
  * caps stay wire-compatible without a circular cap→cap import.
@@ -13606,16 +13635,19 @@ method(LlmGenerateBaseInputSchema.extend({
13606
13635
  timeoutMs: number().int().positive().optional()
13607
13636
  }), LlmGenerateResultSchema, {
13608
13637
  kind: "mutation",
13609
- auth: "admin"
13638
+ auth: "admin",
13639
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13610
13640
  }), method(object({ runtime: ManagedRuntimeConfigSchema }), LlmRuntimeStatusSchema, {
13611
13641
  kind: "mutation",
13612
- auth: "admin"
13642
+ auth: "admin",
13643
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13613
13644
  }), method(object({}), _void(), {
13614
13645
  kind: "mutation",
13615
13646
  auth: "admin"
13616
13647
  }), method(object({}), LlmRuntimeStatusSchema, { auth: "admin" }), method(object({ model: ManagedModelRefSchema }), _void(), {
13617
13648
  kind: "mutation",
13618
- auth: "admin"
13649
+ auth: "admin",
13650
+ timeoutMs: AI_MODEL_INSTALL_TIMEOUT_MS
13619
13651
  }), method(object({ file: string() }), _void(), {
13620
13652
  kind: "mutation",
13621
13653
  auth: "admin"
@@ -13783,7 +13815,13 @@ var ProfileRefInputSchema = object({
13783
13815
  addonId: string(),
13784
13816
  profileId: string()
13785
13817
  });
13786
- method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(object({
13818
+ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
13819
+ kind: "mutation",
13820
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13821
+ }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, {
13822
+ kind: "mutation",
13823
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13824
+ }), method(object({
13787
13825
  addonId: string().optional(),
13788
13826
  requestId: string()
13789
13827
  }), _void(), { kind: "mutation" }), method(object({}), array(LlmProfileKindDescriptorSchema)), method(object({}), array(LlmProfileSchema)), method(object({ profile: LlmProfileSchema }), LlmProfileSchema, {
@@ -13794,7 +13832,8 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }
13794
13832
  auth: "admin"
13795
13833
  }), method(ProfileRefInputSchema, LlmGenerateResultSchema, {
13796
13834
  kind: "mutation",
13797
- auth: "admin"
13835
+ auth: "admin",
13836
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13798
13837
  }), method(ProfileRefInputSchema, array(string())), method(object({}), array(LlmDefaultSchema)), method(object({
13799
13838
  selector: LlmDefaultSelectorSchema,
13800
13839
  profileId: string().nullable()
@@ -14260,17 +14299,6 @@ var ContainerMemoryPointSchema = object({
14260
14299
  */
14261
14300
  gpuShmemBytes: number().nullable()
14262
14301
  }).extend({ atMs: number() });
14263
- var DumpHeapSnapshotInputSchema = object({
14264
- /** The addon whose runner should dump a heap snapshot. */
14265
- addonId: string() });
14266
- var DumpHeapSnapshotResultSchema = object({
14267
- success: boolean(),
14268
- /** Path of the written .heapsnapshot inside the runner's container/host. */
14269
- path: string().optional(),
14270
- /** Process pid that was signalled. */
14271
- pid: number().optional(),
14272
- reason: string().optional()
14273
- });
14274
14302
  /**
14275
14303
  * One point of one function's series.
14276
14304
  *
@@ -14394,10 +14422,7 @@ var SystemMetricsSchema = object({
14394
14422
  gpuPercent: number().optional(),
14395
14423
  gpuMemoryPercent: number().optional()
14396
14424
  });
14397
- method(_void(), SystemResourceSnapshotSchema), method(_void(), SystemResourceSnapshotSchema.nullable()), method(_void(), SystemMetricsSchema), method(object({ dirPath: string() }), DiskSpaceInfoSchema), method(_void(), MetricsGpuInfoSchema.nullable()), method(_void(), number().nullable()), method(object({ pids: array(number()) }), array(PidResourceStatsSchema)), method(_void(), array(AddonInstanceSchema).readonly()), method(object({ addonId: string() }), PidResourceStatsSchema.nullable()), method(_void(), array(NodeProcessSchema).readonly()), method(GetLoadSeriesInputSchema, NodeLoadSeriesSchema), method(DumpHeapSnapshotInputSchema, DumpHeapSnapshotResultSchema, {
14398
- kind: "mutation",
14399
- auth: "admin"
14400
- });
14425
+ method(_void(), SystemResourceSnapshotSchema), method(_void(), SystemResourceSnapshotSchema.nullable()), method(_void(), SystemMetricsSchema), method(object({ dirPath: string() }), DiskSpaceInfoSchema), method(_void(), MetricsGpuInfoSchema.nullable()), method(_void(), number().nullable()), method(object({ pids: array(number()) }), array(PidResourceStatsSchema)), method(_void(), array(AddonInstanceSchema).readonly()), method(object({ addonId: string() }), PidResourceStatsSchema.nullable()), method(_void(), array(NodeProcessSchema).readonly()), method(GetLoadSeriesInputSchema, NodeLoadSeriesSchema);
14401
14426
  method(object({
14402
14427
  sourceUrl: string(),
14403
14428
  metadata: ModelConvertMetadataSchema,
@@ -18650,7 +18675,8 @@ var MediaFileKindEnum = _enum([
18650
18675
  "plateCrop",
18651
18676
  "keyFrame",
18652
18677
  "keyFrameSmall",
18653
- "thumbnailSmall"
18678
+ "thumbnailSmall",
18679
+ "sceneFrame"
18654
18680
  ]);
18655
18681
  /**
18656
18682
  * One media row ON THE WIRE: what it is, how big it is, and WHERE ITS BYTES
@@ -31468,12 +31494,6 @@ Object.freeze({
31468
31494
  addonId: null,
31469
31495
  access: "view"
31470
31496
  },
31471
- "metricsProvider.dumpHeapSnapshot": {
31472
- capName: "metrics-provider",
31473
- capScope: "system",
31474
- addonId: null,
31475
- access: "create"
31476
- },
31477
31497
  "metricsProvider.getAddonStats": {
31478
31498
  capName: "metrics-provider",
31479
31499
  capScope: "system",
@@ -13330,6 +13330,35 @@ method(_void(), array(string()).readonly(), { auth: "admin" }), method(object({
13330
13330
  auth: "admin"
13331
13331
  });
13332
13332
  /**
13333
+ * Transport bounds for AI capability methods.
13334
+ *
13335
+ * Its own module because `llm.cap.ts` and `llm-runtime.cap.ts` already import
13336
+ * each other: declaring the constant in either one hands the other `undefined`
13337
+ * at module-init time, and an undefined `timeoutMs` silently falls back to the
13338
+ * kernel's 60 s default — the exact failure this constant exists to prevent,
13339
+ * reintroduced invisibly. Found by the guard, not by review.
13340
+ */
13341
+ /**
13342
+ * Ceiling for a cap method that runs inference or loads a model.
13343
+ *
13344
+ * Deliberately far above anything the AI layer itself may wait for (a summary
13345
+ * asks 180 s by default, a rule may ask 600 s), because the TRANSPORT must
13346
+ * never be the layer that gives up first: when it does, the failure is
13347
+ * reported as a transport error for a model that was still thinking, naming
13348
+ * the wrong layer and hiding the real one.
13349
+ *
13350
+ * Measured 2026-09-03: a 6-image vision request needs 44.8 s warm and ~20 s
13351
+ * more on a cold model load. With no declaration every digest failed at
13352
+ * exactly 60 s and shipped without its text.
13353
+ *
13354
+ * A ceiling, not a budget. The AI layer's own timeouts (the rule's `timeoutMs`,
13355
+ * the profile's `timeoutMs` / `firstTokenTimeoutMs`) remain the things that
13356
+ * decide when to stop, because only they can say WHY.
13357
+ */
13358
+ var AI_CAP_TRANSPORT_TIMEOUT_MS = 6e5;
13359
+ /** A multi-gigabyte download. An hour is not generous, it is honest. */
13360
+ var AI_MODEL_INSTALL_TIMEOUT_MS = 60 * 6e4;
13361
+ /**
13333
13362
  * Shared LLM generate contracts — imported by BOTH `llm.cap.ts` (consumer
13334
13363
  * surface) and `llm-runtime.cap.ts` (node-side managed executor) so the two
13335
13364
  * caps stay wire-compatible without a circular cap→cap import.
@@ -13601,16 +13630,19 @@ method(LlmGenerateBaseInputSchema.extend({
13601
13630
  timeoutMs: number().int().positive().optional()
13602
13631
  }), LlmGenerateResultSchema, {
13603
13632
  kind: "mutation",
13604
- auth: "admin"
13633
+ auth: "admin",
13634
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13605
13635
  }), method(object({ runtime: ManagedRuntimeConfigSchema }), LlmRuntimeStatusSchema, {
13606
13636
  kind: "mutation",
13607
- auth: "admin"
13637
+ auth: "admin",
13638
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13608
13639
  }), method(object({}), _void(), {
13609
13640
  kind: "mutation",
13610
13641
  auth: "admin"
13611
13642
  }), method(object({}), LlmRuntimeStatusSchema, { auth: "admin" }), method(object({ model: ManagedModelRefSchema }), _void(), {
13612
13643
  kind: "mutation",
13613
- auth: "admin"
13644
+ auth: "admin",
13645
+ timeoutMs: AI_MODEL_INSTALL_TIMEOUT_MS
13614
13646
  }), method(object({ file: string() }), _void(), {
13615
13647
  kind: "mutation",
13616
13648
  auth: "admin"
@@ -13778,7 +13810,13 @@ var ProfileRefInputSchema = object({
13778
13810
  addonId: string(),
13779
13811
  profileId: string()
13780
13812
  });
13781
- method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(object({
13813
+ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
13814
+ kind: "mutation",
13815
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13816
+ }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, {
13817
+ kind: "mutation",
13818
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13819
+ }), method(object({
13782
13820
  addonId: string().optional(),
13783
13821
  requestId: string()
13784
13822
  }), _void(), { kind: "mutation" }), method(object({}), array(LlmProfileKindDescriptorSchema)), method(object({}), array(LlmProfileSchema)), method(object({ profile: LlmProfileSchema }), LlmProfileSchema, {
@@ -13789,7 +13827,8 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }
13789
13827
  auth: "admin"
13790
13828
  }), method(ProfileRefInputSchema, LlmGenerateResultSchema, {
13791
13829
  kind: "mutation",
13792
- auth: "admin"
13830
+ auth: "admin",
13831
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13793
13832
  }), method(ProfileRefInputSchema, array(string())), method(object({}), array(LlmDefaultSchema)), method(object({
13794
13833
  selector: LlmDefaultSelectorSchema,
13795
13834
  profileId: string().nullable()
@@ -14255,17 +14294,6 @@ var ContainerMemoryPointSchema = object({
14255
14294
  */
14256
14295
  gpuShmemBytes: number().nullable()
14257
14296
  }).extend({ atMs: number() });
14258
- var DumpHeapSnapshotInputSchema = object({
14259
- /** The addon whose runner should dump a heap snapshot. */
14260
- addonId: string() });
14261
- var DumpHeapSnapshotResultSchema = object({
14262
- success: boolean(),
14263
- /** Path of the written .heapsnapshot inside the runner's container/host. */
14264
- path: string().optional(),
14265
- /** Process pid that was signalled. */
14266
- pid: number().optional(),
14267
- reason: string().optional()
14268
- });
14269
14297
  /**
14270
14298
  * One point of one function's series.
14271
14299
  *
@@ -14389,10 +14417,7 @@ var SystemMetricsSchema = object({
14389
14417
  gpuPercent: number().optional(),
14390
14418
  gpuMemoryPercent: number().optional()
14391
14419
  });
14392
- method(_void(), SystemResourceSnapshotSchema), method(_void(), SystemResourceSnapshotSchema.nullable()), method(_void(), SystemMetricsSchema), method(object({ dirPath: string() }), DiskSpaceInfoSchema), method(_void(), MetricsGpuInfoSchema.nullable()), method(_void(), number().nullable()), method(object({ pids: array(number()) }), array(PidResourceStatsSchema)), method(_void(), array(AddonInstanceSchema).readonly()), method(object({ addonId: string() }), PidResourceStatsSchema.nullable()), method(_void(), array(NodeProcessSchema).readonly()), method(GetLoadSeriesInputSchema, NodeLoadSeriesSchema), method(DumpHeapSnapshotInputSchema, DumpHeapSnapshotResultSchema, {
14393
- kind: "mutation",
14394
- auth: "admin"
14395
- });
14420
+ method(_void(), SystemResourceSnapshotSchema), method(_void(), SystemResourceSnapshotSchema.nullable()), method(_void(), SystemMetricsSchema), method(object({ dirPath: string() }), DiskSpaceInfoSchema), method(_void(), MetricsGpuInfoSchema.nullable()), method(_void(), number().nullable()), method(object({ pids: array(number()) }), array(PidResourceStatsSchema)), method(_void(), array(AddonInstanceSchema).readonly()), method(object({ addonId: string() }), PidResourceStatsSchema.nullable()), method(_void(), array(NodeProcessSchema).readonly()), method(GetLoadSeriesInputSchema, NodeLoadSeriesSchema);
14396
14421
  method(object({
14397
14422
  sourceUrl: string(),
14398
14423
  metadata: ModelConvertMetadataSchema,
@@ -18645,7 +18670,8 @@ var MediaFileKindEnum = _enum([
18645
18670
  "plateCrop",
18646
18671
  "keyFrame",
18647
18672
  "keyFrameSmall",
18648
- "thumbnailSmall"
18673
+ "thumbnailSmall",
18674
+ "sceneFrame"
18649
18675
  ]);
18650
18676
  /**
18651
18677
  * One media row ON THE WIRE: what it is, how big it is, and WHERE ITS BYTES
@@ -31463,12 +31489,6 @@ Object.freeze({
31463
31489
  addonId: null,
31464
31490
  access: "view"
31465
31491
  },
31466
- "metricsProvider.dumpHeapSnapshot": {
31467
- capName: "metrics-provider",
31468
- capScope: "system",
31469
- addonId: null,
31470
- access: "create"
31471
- },
31472
31492
  "metricsProvider.getAddonStats": {
31473
31493
  capName: "metrics-provider",
31474
31494
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-mqtt-broker",
3
- "version": "1.2.53",
3
+ "version": "1.2.56",
4
4
  "description": "MQTT broker registry addon for CamStack — manages external broker entries + an optional embedded aedes broker. Consumers spin up their own `mqtt.js` clients via the `mqtt-broker` cap.",
5
5
  "keywords": [
6
6
  "camstack",