@camstack/addon-matter-broker 0.2.52 → 0.2.54

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
@@ -13601,6 +13601,35 @@ method(_void(), array(string$2()).readonly(), { auth: "admin" }), method(object(
13601
13601
  auth: "admin"
13602
13602
  });
13603
13603
  /**
13604
+ * Transport bounds for AI capability methods.
13605
+ *
13606
+ * Its own module because `llm.cap.ts` and `llm-runtime.cap.ts` already import
13607
+ * each other: declaring the constant in either one hands the other `undefined`
13608
+ * at module-init time, and an undefined `timeoutMs` silently falls back to the
13609
+ * kernel's 60 s default — the exact failure this constant exists to prevent,
13610
+ * reintroduced invisibly. Found by the guard, not by review.
13611
+ */
13612
+ /**
13613
+ * Ceiling for a cap method that runs inference or loads a model.
13614
+ *
13615
+ * Deliberately far above anything the AI layer itself may wait for (a summary
13616
+ * asks 180 s by default, a rule may ask 600 s), because the TRANSPORT must
13617
+ * never be the layer that gives up first: when it does, the failure is
13618
+ * reported as a transport error for a model that was still thinking, naming
13619
+ * the wrong layer and hiding the real one.
13620
+ *
13621
+ * Measured 2026-09-03: a 6-image vision request needs 44.8 s warm and ~20 s
13622
+ * more on a cold model load. With no declaration every digest failed at
13623
+ * exactly 60 s and shipped without its text.
13624
+ *
13625
+ * A ceiling, not a budget. The AI layer's own timeouts (the rule's `timeoutMs`,
13626
+ * the profile's `timeoutMs` / `firstTokenTimeoutMs`) remain the things that
13627
+ * decide when to stop, because only they can say WHY.
13628
+ */
13629
+ var AI_CAP_TRANSPORT_TIMEOUT_MS = 6e5;
13630
+ /** A multi-gigabyte download. An hour is not generous, it is honest. */
13631
+ var AI_MODEL_INSTALL_TIMEOUT_MS = 60 * 6e4;
13632
+ /**
13604
13633
  * Shared LLM generate contracts — imported by BOTH `llm.cap.ts` (consumer
13605
13634
  * surface) and `llm-runtime.cap.ts` (node-side managed executor) so the two
13606
13635
  * caps stay wire-compatible without a circular cap→cap import.
@@ -13872,16 +13901,19 @@ method(LlmGenerateBaseInputSchema.extend({
13872
13901
  timeoutMs: number().int().positive().optional()
13873
13902
  }), LlmGenerateResultSchema, {
13874
13903
  kind: "mutation",
13875
- auth: "admin"
13904
+ auth: "admin",
13905
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13876
13906
  }), method(object({ runtime: ManagedRuntimeConfigSchema }), LlmRuntimeStatusSchema, {
13877
13907
  kind: "mutation",
13878
- auth: "admin"
13908
+ auth: "admin",
13909
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13879
13910
  }), method(object({}), _void(), {
13880
13911
  kind: "mutation",
13881
13912
  auth: "admin"
13882
13913
  }), method(object({}), LlmRuntimeStatusSchema, { auth: "admin" }), method(object({ model: ManagedModelRefSchema }), _void(), {
13883
13914
  kind: "mutation",
13884
- auth: "admin"
13915
+ auth: "admin",
13916
+ timeoutMs: AI_MODEL_INSTALL_TIMEOUT_MS
13885
13917
  }), method(object({ file: string$2() }), _void(), {
13886
13918
  kind: "mutation",
13887
13919
  auth: "admin"
@@ -14049,7 +14081,13 @@ var ProfileRefInputSchema = object({
14049
14081
  addonId: string$2(),
14050
14082
  profileId: string$2()
14051
14083
  });
14052
- method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(object({
14084
+ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
14085
+ kind: "mutation",
14086
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14087
+ }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, {
14088
+ kind: "mutation",
14089
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14090
+ }), method(object({
14053
14091
  addonId: string$2().optional(),
14054
14092
  requestId: string$2()
14055
14093
  }), _void(), { kind: "mutation" }), method(object({}), array(LlmProfileKindDescriptorSchema)), method(object({}), array(LlmProfileSchema)), method(object({ profile: LlmProfileSchema }), LlmProfileSchema, {
@@ -14060,7 +14098,8 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }
14060
14098
  auth: "admin"
14061
14099
  }), method(ProfileRefInputSchema, LlmGenerateResultSchema, {
14062
14100
  kind: "mutation",
14063
- auth: "admin"
14101
+ auth: "admin",
14102
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14064
14103
  }), method(ProfileRefInputSchema, array(string$2())), method(object({}), array(LlmDefaultSchema)), method(object({
14065
14104
  selector: LlmDefaultSelectorSchema,
14066
14105
  profileId: string$2().nullable()
package/dist/addon.mjs CHANGED
@@ -13599,6 +13599,35 @@ method(_void(), array(string$2()).readonly(), { auth: "admin" }), method(object(
13599
13599
  auth: "admin"
13600
13600
  });
13601
13601
  /**
13602
+ * Transport bounds for AI capability methods.
13603
+ *
13604
+ * Its own module because `llm.cap.ts` and `llm-runtime.cap.ts` already import
13605
+ * each other: declaring the constant in either one hands the other `undefined`
13606
+ * at module-init time, and an undefined `timeoutMs` silently falls back to the
13607
+ * kernel's 60 s default — the exact failure this constant exists to prevent,
13608
+ * reintroduced invisibly. Found by the guard, not by review.
13609
+ */
13610
+ /**
13611
+ * Ceiling for a cap method that runs inference or loads a model.
13612
+ *
13613
+ * Deliberately far above anything the AI layer itself may wait for (a summary
13614
+ * asks 180 s by default, a rule may ask 600 s), because the TRANSPORT must
13615
+ * never be the layer that gives up first: when it does, the failure is
13616
+ * reported as a transport error for a model that was still thinking, naming
13617
+ * the wrong layer and hiding the real one.
13618
+ *
13619
+ * Measured 2026-09-03: a 6-image vision request needs 44.8 s warm and ~20 s
13620
+ * more on a cold model load. With no declaration every digest failed at
13621
+ * exactly 60 s and shipped without its text.
13622
+ *
13623
+ * A ceiling, not a budget. The AI layer's own timeouts (the rule's `timeoutMs`,
13624
+ * the profile's `timeoutMs` / `firstTokenTimeoutMs`) remain the things that
13625
+ * decide when to stop, because only they can say WHY.
13626
+ */
13627
+ var AI_CAP_TRANSPORT_TIMEOUT_MS = 6e5;
13628
+ /** A multi-gigabyte download. An hour is not generous, it is honest. */
13629
+ var AI_MODEL_INSTALL_TIMEOUT_MS = 60 * 6e4;
13630
+ /**
13602
13631
  * Shared LLM generate contracts — imported by BOTH `llm.cap.ts` (consumer
13603
13632
  * surface) and `llm-runtime.cap.ts` (node-side managed executor) so the two
13604
13633
  * caps stay wire-compatible without a circular cap→cap import.
@@ -13870,16 +13899,19 @@ method(LlmGenerateBaseInputSchema.extend({
13870
13899
  timeoutMs: number().int().positive().optional()
13871
13900
  }), LlmGenerateResultSchema, {
13872
13901
  kind: "mutation",
13873
- auth: "admin"
13902
+ auth: "admin",
13903
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13874
13904
  }), method(object({ runtime: ManagedRuntimeConfigSchema }), LlmRuntimeStatusSchema, {
13875
13905
  kind: "mutation",
13876
- auth: "admin"
13906
+ auth: "admin",
13907
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13877
13908
  }), method(object({}), _void(), {
13878
13909
  kind: "mutation",
13879
13910
  auth: "admin"
13880
13911
  }), method(object({}), LlmRuntimeStatusSchema, { auth: "admin" }), method(object({ model: ManagedModelRefSchema }), _void(), {
13881
13912
  kind: "mutation",
13882
- auth: "admin"
13913
+ auth: "admin",
13914
+ timeoutMs: AI_MODEL_INSTALL_TIMEOUT_MS
13883
13915
  }), method(object({ file: string$2() }), _void(), {
13884
13916
  kind: "mutation",
13885
13917
  auth: "admin"
@@ -14047,7 +14079,13 @@ var ProfileRefInputSchema = object({
14047
14079
  addonId: string$2(),
14048
14080
  profileId: string$2()
14049
14081
  });
14050
- method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(object({
14082
+ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
14083
+ kind: "mutation",
14084
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14085
+ }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, {
14086
+ kind: "mutation",
14087
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14088
+ }), method(object({
14051
14089
  addonId: string$2().optional(),
14052
14090
  requestId: string$2()
14053
14091
  }), _void(), { kind: "mutation" }), method(object({}), array(LlmProfileKindDescriptorSchema)), method(object({}), array(LlmProfileSchema)), method(object({ profile: LlmProfileSchema }), LlmProfileSchema, {
@@ -14058,7 +14096,8 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }
14058
14096
  auth: "admin"
14059
14097
  }), method(ProfileRefInputSchema, LlmGenerateResultSchema, {
14060
14098
  kind: "mutation",
14061
- auth: "admin"
14099
+ auth: "admin",
14100
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14062
14101
  }), method(ProfileRefInputSchema, array(string$2())), method(object({}), array(LlmDefaultSchema)), method(object({
14063
14102
  selector: LlmDefaultSelectorSchema,
14064
14103
  profileId: string$2().nullable()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-matter-broker",
3
- "version": "0.2.52",
3
+ "version": "0.2.54",
4
4
  "description": "Matter broker addon for CamStack — owns a Matter fabric (commissioning + the long-lived controller) via the matter.js controller and brokers commissioned Matter nodes into CamStack",
5
5
  "keywords": [
6
6
  "camstack",