@camstack/addon-provider-gree 0.2.52 → 0.2.55

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
@@ -13524,6 +13524,35 @@ method(_void(), array(string()).readonly(), { auth: "admin" }), method(object({
13524
13524
  auth: "admin"
13525
13525
  });
13526
13526
  /**
13527
+ * Transport bounds for AI capability methods.
13528
+ *
13529
+ * Its own module because `llm.cap.ts` and `llm-runtime.cap.ts` already import
13530
+ * each other: declaring the constant in either one hands the other `undefined`
13531
+ * at module-init time, and an undefined `timeoutMs` silently falls back to the
13532
+ * kernel's 60 s default — the exact failure this constant exists to prevent,
13533
+ * reintroduced invisibly. Found by the guard, not by review.
13534
+ */
13535
+ /**
13536
+ * Ceiling for a cap method that runs inference or loads a model.
13537
+ *
13538
+ * Deliberately far above anything the AI layer itself may wait for (a summary
13539
+ * asks 180 s by default, a rule may ask 600 s), because the TRANSPORT must
13540
+ * never be the layer that gives up first: when it does, the failure is
13541
+ * reported as a transport error for a model that was still thinking, naming
13542
+ * the wrong layer and hiding the real one.
13543
+ *
13544
+ * Measured 2026-09-03: a 6-image vision request needs 44.8 s warm and ~20 s
13545
+ * more on a cold model load. With no declaration every digest failed at
13546
+ * exactly 60 s and shipped without its text.
13547
+ *
13548
+ * A ceiling, not a budget. The AI layer's own timeouts (the rule's `timeoutMs`,
13549
+ * the profile's `timeoutMs` / `firstTokenTimeoutMs`) remain the things that
13550
+ * decide when to stop, because only they can say WHY.
13551
+ */
13552
+ var AI_CAP_TRANSPORT_TIMEOUT_MS = 6e5;
13553
+ /** A multi-gigabyte download. An hour is not generous, it is honest. */
13554
+ var AI_MODEL_INSTALL_TIMEOUT_MS = 60 * 6e4;
13555
+ /**
13527
13556
  * Shared LLM generate contracts — imported by BOTH `llm.cap.ts` (consumer
13528
13557
  * surface) and `llm-runtime.cap.ts` (node-side managed executor) so the two
13529
13558
  * caps stay wire-compatible without a circular cap→cap import.
@@ -13795,16 +13824,19 @@ method(LlmGenerateBaseInputSchema.extend({
13795
13824
  timeoutMs: number().int().positive().optional()
13796
13825
  }), LlmGenerateResultSchema, {
13797
13826
  kind: "mutation",
13798
- auth: "admin"
13827
+ auth: "admin",
13828
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13799
13829
  }), method(object({ runtime: ManagedRuntimeConfigSchema }), LlmRuntimeStatusSchema, {
13800
13830
  kind: "mutation",
13801
- auth: "admin"
13831
+ auth: "admin",
13832
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13802
13833
  }), method(object({}), _void(), {
13803
13834
  kind: "mutation",
13804
13835
  auth: "admin"
13805
13836
  }), method(object({}), LlmRuntimeStatusSchema, { auth: "admin" }), method(object({ model: ManagedModelRefSchema }), _void(), {
13806
13837
  kind: "mutation",
13807
- auth: "admin"
13838
+ auth: "admin",
13839
+ timeoutMs: AI_MODEL_INSTALL_TIMEOUT_MS
13808
13840
  }), method(object({ file: string() }), _void(), {
13809
13841
  kind: "mutation",
13810
13842
  auth: "admin"
@@ -13972,7 +14004,13 @@ var ProfileRefInputSchema = object({
13972
14004
  addonId: string(),
13973
14005
  profileId: string()
13974
14006
  });
13975
- method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(object({
14007
+ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
14008
+ kind: "mutation",
14009
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14010
+ }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, {
14011
+ kind: "mutation",
14012
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14013
+ }), method(object({
13976
14014
  addonId: string().optional(),
13977
14015
  requestId: string()
13978
14016
  }), _void(), { kind: "mutation" }), method(object({}), array(LlmProfileKindDescriptorSchema)), method(object({}), array(LlmProfileSchema)), method(object({ profile: LlmProfileSchema }), LlmProfileSchema, {
@@ -13983,7 +14021,8 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }
13983
14021
  auth: "admin"
13984
14022
  }), method(ProfileRefInputSchema, LlmGenerateResultSchema, {
13985
14023
  kind: "mutation",
13986
- auth: "admin"
14024
+ auth: "admin",
14025
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13987
14026
  }), method(ProfileRefInputSchema, array(string())), method(object({}), array(LlmDefaultSchema)), method(object({
13988
14027
  selector: LlmDefaultSelectorSchema,
13989
14028
  profileId: string().nullable()
@@ -14449,17 +14488,6 @@ var ContainerMemoryPointSchema = object({
14449
14488
  */
14450
14489
  gpuShmemBytes: number().nullable()
14451
14490
  }).extend({ atMs: number() });
14452
- var DumpHeapSnapshotInputSchema = object({
14453
- /** The addon whose runner should dump a heap snapshot. */
14454
- addonId: string() });
14455
- var DumpHeapSnapshotResultSchema = object({
14456
- success: boolean(),
14457
- /** Path of the written .heapsnapshot inside the runner's container/host. */
14458
- path: string().optional(),
14459
- /** Process pid that was signalled. */
14460
- pid: number().optional(),
14461
- reason: string().optional()
14462
- });
14463
14491
  /**
14464
14492
  * One point of one function's series.
14465
14493
  *
@@ -14583,10 +14611,7 @@ var SystemMetricsSchema = object({
14583
14611
  gpuPercent: number().optional(),
14584
14612
  gpuMemoryPercent: number().optional()
14585
14613
  });
14586
- 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, {
14587
- kind: "mutation",
14588
- auth: "admin"
14589
- });
14614
+ 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);
14590
14615
  method(object({
14591
14616
  sourceUrl: string(),
14592
14617
  metadata: ModelConvertMetadataSchema,
@@ -18898,7 +18923,8 @@ var MediaFileKindEnum = _enum([
18898
18923
  "plateCrop",
18899
18924
  "keyFrame",
18900
18925
  "keyFrameSmall",
18901
- "thumbnailSmall"
18926
+ "thumbnailSmall",
18927
+ "sceneFrame"
18902
18928
  ]);
18903
18929
  /**
18904
18930
  * One media row ON THE WIRE: what it is, how big it is, and WHERE ITS BYTES
@@ -35130,12 +35156,6 @@ Object.freeze({
35130
35156
  addonId: null,
35131
35157
  access: "view"
35132
35158
  },
35133
- "metricsProvider.dumpHeapSnapshot": {
35134
- capName: "metrics-provider",
35135
- capScope: "system",
35136
- addonId: null,
35137
- access: "create"
35138
- },
35139
35159
  "metricsProvider.getAddonStats": {
35140
35160
  capName: "metrics-provider",
35141
35161
  capScope: "system",
package/dist/addon.mjs CHANGED
@@ -13523,6 +13523,35 @@ method(_void(), array(string()).readonly(), { auth: "admin" }), method(object({
13523
13523
  auth: "admin"
13524
13524
  });
13525
13525
  /**
13526
+ * Transport bounds for AI capability methods.
13527
+ *
13528
+ * Its own module because `llm.cap.ts` and `llm-runtime.cap.ts` already import
13529
+ * each other: declaring the constant in either one hands the other `undefined`
13530
+ * at module-init time, and an undefined `timeoutMs` silently falls back to the
13531
+ * kernel's 60 s default — the exact failure this constant exists to prevent,
13532
+ * reintroduced invisibly. Found by the guard, not by review.
13533
+ */
13534
+ /**
13535
+ * Ceiling for a cap method that runs inference or loads a model.
13536
+ *
13537
+ * Deliberately far above anything the AI layer itself may wait for (a summary
13538
+ * asks 180 s by default, a rule may ask 600 s), because the TRANSPORT must
13539
+ * never be the layer that gives up first: when it does, the failure is
13540
+ * reported as a transport error for a model that was still thinking, naming
13541
+ * the wrong layer and hiding the real one.
13542
+ *
13543
+ * Measured 2026-09-03: a 6-image vision request needs 44.8 s warm and ~20 s
13544
+ * more on a cold model load. With no declaration every digest failed at
13545
+ * exactly 60 s and shipped without its text.
13546
+ *
13547
+ * A ceiling, not a budget. The AI layer's own timeouts (the rule's `timeoutMs`,
13548
+ * the profile's `timeoutMs` / `firstTokenTimeoutMs`) remain the things that
13549
+ * decide when to stop, because only they can say WHY.
13550
+ */
13551
+ var AI_CAP_TRANSPORT_TIMEOUT_MS = 6e5;
13552
+ /** A multi-gigabyte download. An hour is not generous, it is honest. */
13553
+ var AI_MODEL_INSTALL_TIMEOUT_MS = 60 * 6e4;
13554
+ /**
13526
13555
  * Shared LLM generate contracts — imported by BOTH `llm.cap.ts` (consumer
13527
13556
  * surface) and `llm-runtime.cap.ts` (node-side managed executor) so the two
13528
13557
  * caps stay wire-compatible without a circular cap→cap import.
@@ -13794,16 +13823,19 @@ method(LlmGenerateBaseInputSchema.extend({
13794
13823
  timeoutMs: number().int().positive().optional()
13795
13824
  }), LlmGenerateResultSchema, {
13796
13825
  kind: "mutation",
13797
- auth: "admin"
13826
+ auth: "admin",
13827
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13798
13828
  }), method(object({ runtime: ManagedRuntimeConfigSchema }), LlmRuntimeStatusSchema, {
13799
13829
  kind: "mutation",
13800
- auth: "admin"
13830
+ auth: "admin",
13831
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13801
13832
  }), method(object({}), _void(), {
13802
13833
  kind: "mutation",
13803
13834
  auth: "admin"
13804
13835
  }), method(object({}), LlmRuntimeStatusSchema, { auth: "admin" }), method(object({ model: ManagedModelRefSchema }), _void(), {
13805
13836
  kind: "mutation",
13806
- auth: "admin"
13837
+ auth: "admin",
13838
+ timeoutMs: AI_MODEL_INSTALL_TIMEOUT_MS
13807
13839
  }), method(object({ file: string() }), _void(), {
13808
13840
  kind: "mutation",
13809
13841
  auth: "admin"
@@ -13971,7 +14003,13 @@ var ProfileRefInputSchema = object({
13971
14003
  addonId: string(),
13972
14004
  profileId: string()
13973
14005
  });
13974
- method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(object({
14006
+ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
14007
+ kind: "mutation",
14008
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14009
+ }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, {
14010
+ kind: "mutation",
14011
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14012
+ }), method(object({
13975
14013
  addonId: string().optional(),
13976
14014
  requestId: string()
13977
14015
  }), _void(), { kind: "mutation" }), method(object({}), array(LlmProfileKindDescriptorSchema)), method(object({}), array(LlmProfileSchema)), method(object({ profile: LlmProfileSchema }), LlmProfileSchema, {
@@ -13982,7 +14020,8 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }
13982
14020
  auth: "admin"
13983
14021
  }), method(ProfileRefInputSchema, LlmGenerateResultSchema, {
13984
14022
  kind: "mutation",
13985
- auth: "admin"
14023
+ auth: "admin",
14024
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13986
14025
  }), method(ProfileRefInputSchema, array(string())), method(object({}), array(LlmDefaultSchema)), method(object({
13987
14026
  selector: LlmDefaultSelectorSchema,
13988
14027
  profileId: string().nullable()
@@ -14448,17 +14487,6 @@ var ContainerMemoryPointSchema = object({
14448
14487
  */
14449
14488
  gpuShmemBytes: number().nullable()
14450
14489
  }).extend({ atMs: number() });
14451
- var DumpHeapSnapshotInputSchema = object({
14452
- /** The addon whose runner should dump a heap snapshot. */
14453
- addonId: string() });
14454
- var DumpHeapSnapshotResultSchema = object({
14455
- success: boolean(),
14456
- /** Path of the written .heapsnapshot inside the runner's container/host. */
14457
- path: string().optional(),
14458
- /** Process pid that was signalled. */
14459
- pid: number().optional(),
14460
- reason: string().optional()
14461
- });
14462
14490
  /**
14463
14491
  * One point of one function's series.
14464
14492
  *
@@ -14582,10 +14610,7 @@ var SystemMetricsSchema = object({
14582
14610
  gpuPercent: number().optional(),
14583
14611
  gpuMemoryPercent: number().optional()
14584
14612
  });
14585
- 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, {
14586
- kind: "mutation",
14587
- auth: "admin"
14588
- });
14613
+ 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);
14589
14614
  method(object({
14590
14615
  sourceUrl: string(),
14591
14616
  metadata: ModelConvertMetadataSchema,
@@ -18897,7 +18922,8 @@ var MediaFileKindEnum = _enum([
18897
18922
  "plateCrop",
18898
18923
  "keyFrame",
18899
18924
  "keyFrameSmall",
18900
- "thumbnailSmall"
18925
+ "thumbnailSmall",
18926
+ "sceneFrame"
18901
18927
  ]);
18902
18928
  /**
18903
18929
  * One media row ON THE WIRE: what it is, how big it is, and WHERE ITS BYTES
@@ -35129,12 +35155,6 @@ Object.freeze({
35129
35155
  addonId: null,
35130
35156
  access: "view"
35131
35157
  },
35132
- "metricsProvider.dumpHeapSnapshot": {
35133
- capName: "metrics-provider",
35134
- capScope: "system",
35135
- addonId: null,
35136
- access: "create"
35137
- },
35138
35158
  "metricsProvider.getAddonStats": {
35139
35159
  capName: "metrics-provider",
35140
35160
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-gree",
3
- "version": "0.2.52",
3
+ "version": "0.2.55",
4
4
  "description": "Gree air-conditioner device-provider addon for CamStack — wraps the @apocaliss92/nodegree local-UDP client (LAN discovery + AES control), exposing climate-control and fan-control",
5
5
  "keywords": [
6
6
  "camstack",