@camstack/addon-provider-dreo 0.2.53 → 0.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.
package/dist/addon.js CHANGED
@@ -13574,6 +13574,35 @@ method(_void(), array(string()).readonly(), { auth: "admin" }), method(object({
13574
13574
  auth: "admin"
13575
13575
  });
13576
13576
  /**
13577
+ * Transport bounds for AI capability methods.
13578
+ *
13579
+ * Its own module because `llm.cap.ts` and `llm-runtime.cap.ts` already import
13580
+ * each other: declaring the constant in either one hands the other `undefined`
13581
+ * at module-init time, and an undefined `timeoutMs` silently falls back to the
13582
+ * kernel's 60 s default — the exact failure this constant exists to prevent,
13583
+ * reintroduced invisibly. Found by the guard, not by review.
13584
+ */
13585
+ /**
13586
+ * Ceiling for a cap method that runs inference or loads a model.
13587
+ *
13588
+ * Deliberately far above anything the AI layer itself may wait for (a summary
13589
+ * asks 180 s by default, a rule may ask 600 s), because the TRANSPORT must
13590
+ * never be the layer that gives up first: when it does, the failure is
13591
+ * reported as a transport error for a model that was still thinking, naming
13592
+ * the wrong layer and hiding the real one.
13593
+ *
13594
+ * Measured 2026-09-03: a 6-image vision request needs 44.8 s warm and ~20 s
13595
+ * more on a cold model load. With no declaration every digest failed at
13596
+ * exactly 60 s and shipped without its text.
13597
+ *
13598
+ * A ceiling, not a budget. The AI layer's own timeouts (the rule's `timeoutMs`,
13599
+ * the profile's `timeoutMs` / `firstTokenTimeoutMs`) remain the things that
13600
+ * decide when to stop, because only they can say WHY.
13601
+ */
13602
+ var AI_CAP_TRANSPORT_TIMEOUT_MS = 6e5;
13603
+ /** A multi-gigabyte download. An hour is not generous, it is honest. */
13604
+ var AI_MODEL_INSTALL_TIMEOUT_MS = 60 * 6e4;
13605
+ /**
13577
13606
  * Shared LLM generate contracts — imported by BOTH `llm.cap.ts` (consumer
13578
13607
  * surface) and `llm-runtime.cap.ts` (node-side managed executor) so the two
13579
13608
  * caps stay wire-compatible without a circular cap→cap import.
@@ -13845,16 +13874,19 @@ method(LlmGenerateBaseInputSchema.extend({
13845
13874
  timeoutMs: number().int().positive().optional()
13846
13875
  }), LlmGenerateResultSchema, {
13847
13876
  kind: "mutation",
13848
- auth: "admin"
13877
+ auth: "admin",
13878
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13849
13879
  }), method(object({ runtime: ManagedRuntimeConfigSchema }), LlmRuntimeStatusSchema, {
13850
13880
  kind: "mutation",
13851
- auth: "admin"
13881
+ auth: "admin",
13882
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13852
13883
  }), method(object({}), _void(), {
13853
13884
  kind: "mutation",
13854
13885
  auth: "admin"
13855
13886
  }), method(object({}), LlmRuntimeStatusSchema, { auth: "admin" }), method(object({ model: ManagedModelRefSchema }), _void(), {
13856
13887
  kind: "mutation",
13857
- auth: "admin"
13888
+ auth: "admin",
13889
+ timeoutMs: AI_MODEL_INSTALL_TIMEOUT_MS
13858
13890
  }), method(object({ file: string() }), _void(), {
13859
13891
  kind: "mutation",
13860
13892
  auth: "admin"
@@ -14022,7 +14054,13 @@ var ProfileRefInputSchema = object({
14022
14054
  addonId: string(),
14023
14055
  profileId: string()
14024
14056
  });
14025
- method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(object({
14057
+ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
14058
+ kind: "mutation",
14059
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14060
+ }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, {
14061
+ kind: "mutation",
14062
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14063
+ }), method(object({
14026
14064
  addonId: string().optional(),
14027
14065
  requestId: string()
14028
14066
  }), _void(), { kind: "mutation" }), method(object({}), array(LlmProfileKindDescriptorSchema)), method(object({}), array(LlmProfileSchema)), method(object({ profile: LlmProfileSchema }), LlmProfileSchema, {
@@ -14033,7 +14071,8 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }
14033
14071
  auth: "admin"
14034
14072
  }), method(ProfileRefInputSchema, LlmGenerateResultSchema, {
14035
14073
  kind: "mutation",
14036
- auth: "admin"
14074
+ auth: "admin",
14075
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14037
14076
  }), method(ProfileRefInputSchema, array(string())), method(object({}), array(LlmDefaultSchema)), method(object({
14038
14077
  selector: LlmDefaultSelectorSchema,
14039
14078
  profileId: string().nullable()
@@ -14499,17 +14538,6 @@ var ContainerMemoryPointSchema = object({
14499
14538
  */
14500
14539
  gpuShmemBytes: number().nullable()
14501
14540
  }).extend({ atMs: number() });
14502
- var DumpHeapSnapshotInputSchema = object({
14503
- /** The addon whose runner should dump a heap snapshot. */
14504
- addonId: string() });
14505
- var DumpHeapSnapshotResultSchema = object({
14506
- success: boolean(),
14507
- /** Path of the written .heapsnapshot inside the runner's container/host. */
14508
- path: string().optional(),
14509
- /** Process pid that was signalled. */
14510
- pid: number().optional(),
14511
- reason: string().optional()
14512
- });
14513
14541
  /**
14514
14542
  * One point of one function's series.
14515
14543
  *
@@ -14633,10 +14661,7 @@ var SystemMetricsSchema = object({
14633
14661
  gpuPercent: number().optional(),
14634
14662
  gpuMemoryPercent: number().optional()
14635
14663
  });
14636
- 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, {
14637
- kind: "mutation",
14638
- auth: "admin"
14639
- });
14664
+ 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);
14640
14665
  method(object({
14641
14666
  sourceUrl: string(),
14642
14667
  metadata: ModelConvertMetadataSchema,
@@ -18948,7 +18973,8 @@ var MediaFileKindEnum = _enum([
18948
18973
  "plateCrop",
18949
18974
  "keyFrame",
18950
18975
  "keyFrameSmall",
18951
- "thumbnailSmall"
18976
+ "thumbnailSmall",
18977
+ "sceneFrame"
18952
18978
  ]);
18953
18979
  /**
18954
18980
  * One media row ON THE WIRE: what it is, how big it is, and WHERE ITS BYTES
@@ -35188,12 +35214,6 @@ Object.freeze({
35188
35214
  addonId: null,
35189
35215
  access: "view"
35190
35216
  },
35191
- "metricsProvider.dumpHeapSnapshot": {
35192
- capName: "metrics-provider",
35193
- capScope: "system",
35194
- addonId: null,
35195
- access: "create"
35196
- },
35197
35217
  "metricsProvider.getAddonStats": {
35198
35218
  capName: "metrics-provider",
35199
35219
  capScope: "system",
package/dist/addon.mjs CHANGED
@@ -13575,6 +13575,35 @@ method(_void(), array(string()).readonly(), { auth: "admin" }), method(object({
13575
13575
  auth: "admin"
13576
13576
  });
13577
13577
  /**
13578
+ * Transport bounds for AI capability methods.
13579
+ *
13580
+ * Its own module because `llm.cap.ts` and `llm-runtime.cap.ts` already import
13581
+ * each other: declaring the constant in either one hands the other `undefined`
13582
+ * at module-init time, and an undefined `timeoutMs` silently falls back to the
13583
+ * kernel's 60 s default — the exact failure this constant exists to prevent,
13584
+ * reintroduced invisibly. Found by the guard, not by review.
13585
+ */
13586
+ /**
13587
+ * Ceiling for a cap method that runs inference or loads a model.
13588
+ *
13589
+ * Deliberately far above anything the AI layer itself may wait for (a summary
13590
+ * asks 180 s by default, a rule may ask 600 s), because the TRANSPORT must
13591
+ * never be the layer that gives up first: when it does, the failure is
13592
+ * reported as a transport error for a model that was still thinking, naming
13593
+ * the wrong layer and hiding the real one.
13594
+ *
13595
+ * Measured 2026-09-03: a 6-image vision request needs 44.8 s warm and ~20 s
13596
+ * more on a cold model load. With no declaration every digest failed at
13597
+ * exactly 60 s and shipped without its text.
13598
+ *
13599
+ * A ceiling, not a budget. The AI layer's own timeouts (the rule's `timeoutMs`,
13600
+ * the profile's `timeoutMs` / `firstTokenTimeoutMs`) remain the things that
13601
+ * decide when to stop, because only they can say WHY.
13602
+ */
13603
+ var AI_CAP_TRANSPORT_TIMEOUT_MS = 6e5;
13604
+ /** A multi-gigabyte download. An hour is not generous, it is honest. */
13605
+ var AI_MODEL_INSTALL_TIMEOUT_MS = 60 * 6e4;
13606
+ /**
13578
13607
  * Shared LLM generate contracts — imported by BOTH `llm.cap.ts` (consumer
13579
13608
  * surface) and `llm-runtime.cap.ts` (node-side managed executor) so the two
13580
13609
  * caps stay wire-compatible without a circular cap→cap import.
@@ -13846,16 +13875,19 @@ method(LlmGenerateBaseInputSchema.extend({
13846
13875
  timeoutMs: number().int().positive().optional()
13847
13876
  }), LlmGenerateResultSchema, {
13848
13877
  kind: "mutation",
13849
- auth: "admin"
13878
+ auth: "admin",
13879
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13850
13880
  }), method(object({ runtime: ManagedRuntimeConfigSchema }), LlmRuntimeStatusSchema, {
13851
13881
  kind: "mutation",
13852
- auth: "admin"
13882
+ auth: "admin",
13883
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13853
13884
  }), method(object({}), _void(), {
13854
13885
  kind: "mutation",
13855
13886
  auth: "admin"
13856
13887
  }), method(object({}), LlmRuntimeStatusSchema, { auth: "admin" }), method(object({ model: ManagedModelRefSchema }), _void(), {
13857
13888
  kind: "mutation",
13858
- auth: "admin"
13889
+ auth: "admin",
13890
+ timeoutMs: AI_MODEL_INSTALL_TIMEOUT_MS
13859
13891
  }), method(object({ file: string() }), _void(), {
13860
13892
  kind: "mutation",
13861
13893
  auth: "admin"
@@ -14023,7 +14055,13 @@ var ProfileRefInputSchema = object({
14023
14055
  addonId: string(),
14024
14056
  profileId: string()
14025
14057
  });
14026
- method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(object({
14058
+ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
14059
+ kind: "mutation",
14060
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14061
+ }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, {
14062
+ kind: "mutation",
14063
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14064
+ }), method(object({
14027
14065
  addonId: string().optional(),
14028
14066
  requestId: string()
14029
14067
  }), _void(), { kind: "mutation" }), method(object({}), array(LlmProfileKindDescriptorSchema)), method(object({}), array(LlmProfileSchema)), method(object({ profile: LlmProfileSchema }), LlmProfileSchema, {
@@ -14034,7 +14072,8 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }
14034
14072
  auth: "admin"
14035
14073
  }), method(ProfileRefInputSchema, LlmGenerateResultSchema, {
14036
14074
  kind: "mutation",
14037
- auth: "admin"
14075
+ auth: "admin",
14076
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14038
14077
  }), method(ProfileRefInputSchema, array(string())), method(object({}), array(LlmDefaultSchema)), method(object({
14039
14078
  selector: LlmDefaultSelectorSchema,
14040
14079
  profileId: string().nullable()
@@ -14500,17 +14539,6 @@ var ContainerMemoryPointSchema = object({
14500
14539
  */
14501
14540
  gpuShmemBytes: number().nullable()
14502
14541
  }).extend({ atMs: number() });
14503
- var DumpHeapSnapshotInputSchema = object({
14504
- /** The addon whose runner should dump a heap snapshot. */
14505
- addonId: string() });
14506
- var DumpHeapSnapshotResultSchema = object({
14507
- success: boolean(),
14508
- /** Path of the written .heapsnapshot inside the runner's container/host. */
14509
- path: string().optional(),
14510
- /** Process pid that was signalled. */
14511
- pid: number().optional(),
14512
- reason: string().optional()
14513
- });
14514
14542
  /**
14515
14543
  * One point of one function's series.
14516
14544
  *
@@ -14634,10 +14662,7 @@ var SystemMetricsSchema = object({
14634
14662
  gpuPercent: number().optional(),
14635
14663
  gpuMemoryPercent: number().optional()
14636
14664
  });
14637
- 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, {
14638
- kind: "mutation",
14639
- auth: "admin"
14640
- });
14665
+ 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);
14641
14666
  method(object({
14642
14667
  sourceUrl: string(),
14643
14668
  metadata: ModelConvertMetadataSchema,
@@ -18949,7 +18974,8 @@ var MediaFileKindEnum = _enum([
18949
18974
  "plateCrop",
18950
18975
  "keyFrame",
18951
18976
  "keyFrameSmall",
18952
- "thumbnailSmall"
18977
+ "thumbnailSmall",
18978
+ "sceneFrame"
18953
18979
  ]);
18954
18980
  /**
18955
18981
  * One media row ON THE WIRE: what it is, how big it is, and WHERE ITS BYTES
@@ -35189,12 +35215,6 @@ Object.freeze({
35189
35215
  addonId: null,
35190
35216
  access: "view"
35191
35217
  },
35192
- "metricsProvider.dumpHeapSnapshot": {
35193
- capName: "metrics-provider",
35194
- capScope: "system",
35195
- addonId: null,
35196
- access: "create"
35197
- },
35198
35218
  "metricsProvider.getAddonStats": {
35199
35219
  capName: "metrics-provider",
35200
35220
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-dreo",
3
- "version": "0.2.53",
3
+ "version": "0.2.56",
4
4
  "description": "Dreo smart-device (fan / air-circulator / purifier / heater / humidifier) device-provider addon for CamStack — wraps the @apocaliss92/nodedreo Dreo cloud client (REST + WebSocket)",
5
5
  "keywords": [
6
6
  "camstack",