@camstack/addon-provider-rtsp 1.2.53 → 1.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
@@ -13577,6 +13577,35 @@ method(_void(), array(string()).readonly(), { auth: "admin" }), method(object({
13577
13577
  auth: "admin"
13578
13578
  });
13579
13579
  /**
13580
+ * Transport bounds for AI capability methods.
13581
+ *
13582
+ * Its own module because `llm.cap.ts` and `llm-runtime.cap.ts` already import
13583
+ * each other: declaring the constant in either one hands the other `undefined`
13584
+ * at module-init time, and an undefined `timeoutMs` silently falls back to the
13585
+ * kernel's 60 s default — the exact failure this constant exists to prevent,
13586
+ * reintroduced invisibly. Found by the guard, not by review.
13587
+ */
13588
+ /**
13589
+ * Ceiling for a cap method that runs inference or loads a model.
13590
+ *
13591
+ * Deliberately far above anything the AI layer itself may wait for (a summary
13592
+ * asks 180 s by default, a rule may ask 600 s), because the TRANSPORT must
13593
+ * never be the layer that gives up first: when it does, the failure is
13594
+ * reported as a transport error for a model that was still thinking, naming
13595
+ * the wrong layer and hiding the real one.
13596
+ *
13597
+ * Measured 2026-09-03: a 6-image vision request needs 44.8 s warm and ~20 s
13598
+ * more on a cold model load. With no declaration every digest failed at
13599
+ * exactly 60 s and shipped without its text.
13600
+ *
13601
+ * A ceiling, not a budget. The AI layer's own timeouts (the rule's `timeoutMs`,
13602
+ * the profile's `timeoutMs` / `firstTokenTimeoutMs`) remain the things that
13603
+ * decide when to stop, because only they can say WHY.
13604
+ */
13605
+ var AI_CAP_TRANSPORT_TIMEOUT_MS = 6e5;
13606
+ /** A multi-gigabyte download. An hour is not generous, it is honest. */
13607
+ var AI_MODEL_INSTALL_TIMEOUT_MS = 60 * 6e4;
13608
+ /**
13580
13609
  * Shared LLM generate contracts — imported by BOTH `llm.cap.ts` (consumer
13581
13610
  * surface) and `llm-runtime.cap.ts` (node-side managed executor) so the two
13582
13611
  * caps stay wire-compatible without a circular cap→cap import.
@@ -13848,16 +13877,19 @@ method(LlmGenerateBaseInputSchema.extend({
13848
13877
  timeoutMs: number().int().positive().optional()
13849
13878
  }), LlmGenerateResultSchema, {
13850
13879
  kind: "mutation",
13851
- auth: "admin"
13880
+ auth: "admin",
13881
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13852
13882
  }), method(object({ runtime: ManagedRuntimeConfigSchema }), LlmRuntimeStatusSchema, {
13853
13883
  kind: "mutation",
13854
- auth: "admin"
13884
+ auth: "admin",
13885
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13855
13886
  }), method(object({}), _void(), {
13856
13887
  kind: "mutation",
13857
13888
  auth: "admin"
13858
13889
  }), method(object({}), LlmRuntimeStatusSchema, { auth: "admin" }), method(object({ model: ManagedModelRefSchema }), _void(), {
13859
13890
  kind: "mutation",
13860
- auth: "admin"
13891
+ auth: "admin",
13892
+ timeoutMs: AI_MODEL_INSTALL_TIMEOUT_MS
13861
13893
  }), method(object({ file: string() }), _void(), {
13862
13894
  kind: "mutation",
13863
13895
  auth: "admin"
@@ -14025,7 +14057,13 @@ var ProfileRefInputSchema = object({
14025
14057
  addonId: string(),
14026
14058
  profileId: string()
14027
14059
  });
14028
- method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(object({
14060
+ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
14061
+ kind: "mutation",
14062
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14063
+ }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, {
14064
+ kind: "mutation",
14065
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14066
+ }), method(object({
14029
14067
  addonId: string().optional(),
14030
14068
  requestId: string()
14031
14069
  }), _void(), { kind: "mutation" }), method(object({}), array(LlmProfileKindDescriptorSchema)), method(object({}), array(LlmProfileSchema)), method(object({ profile: LlmProfileSchema }), LlmProfileSchema, {
@@ -14036,7 +14074,8 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }
14036
14074
  auth: "admin"
14037
14075
  }), method(ProfileRefInputSchema, LlmGenerateResultSchema, {
14038
14076
  kind: "mutation",
14039
- auth: "admin"
14077
+ auth: "admin",
14078
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14040
14079
  }), method(ProfileRefInputSchema, array(string())), method(object({}), array(LlmDefaultSchema)), method(object({
14041
14080
  selector: LlmDefaultSelectorSchema,
14042
14081
  profileId: string().nullable()
package/dist/addon.mjs CHANGED
@@ -13553,6 +13553,35 @@ method(_void(), array(string()).readonly(), { auth: "admin" }), method(object({
13553
13553
  auth: "admin"
13554
13554
  });
13555
13555
  /**
13556
+ * Transport bounds for AI capability methods.
13557
+ *
13558
+ * Its own module because `llm.cap.ts` and `llm-runtime.cap.ts` already import
13559
+ * each other: declaring the constant in either one hands the other `undefined`
13560
+ * at module-init time, and an undefined `timeoutMs` silently falls back to the
13561
+ * kernel's 60 s default — the exact failure this constant exists to prevent,
13562
+ * reintroduced invisibly. Found by the guard, not by review.
13563
+ */
13564
+ /**
13565
+ * Ceiling for a cap method that runs inference or loads a model.
13566
+ *
13567
+ * Deliberately far above anything the AI layer itself may wait for (a summary
13568
+ * asks 180 s by default, a rule may ask 600 s), because the TRANSPORT must
13569
+ * never be the layer that gives up first: when it does, the failure is
13570
+ * reported as a transport error for a model that was still thinking, naming
13571
+ * the wrong layer and hiding the real one.
13572
+ *
13573
+ * Measured 2026-09-03: a 6-image vision request needs 44.8 s warm and ~20 s
13574
+ * more on a cold model load. With no declaration every digest failed at
13575
+ * exactly 60 s and shipped without its text.
13576
+ *
13577
+ * A ceiling, not a budget. The AI layer's own timeouts (the rule's `timeoutMs`,
13578
+ * the profile's `timeoutMs` / `firstTokenTimeoutMs`) remain the things that
13579
+ * decide when to stop, because only they can say WHY.
13580
+ */
13581
+ var AI_CAP_TRANSPORT_TIMEOUT_MS = 6e5;
13582
+ /** A multi-gigabyte download. An hour is not generous, it is honest. */
13583
+ var AI_MODEL_INSTALL_TIMEOUT_MS = 60 * 6e4;
13584
+ /**
13556
13585
  * Shared LLM generate contracts — imported by BOTH `llm.cap.ts` (consumer
13557
13586
  * surface) and `llm-runtime.cap.ts` (node-side managed executor) so the two
13558
13587
  * caps stay wire-compatible without a circular cap→cap import.
@@ -13824,16 +13853,19 @@ method(LlmGenerateBaseInputSchema.extend({
13824
13853
  timeoutMs: number().int().positive().optional()
13825
13854
  }), LlmGenerateResultSchema, {
13826
13855
  kind: "mutation",
13827
- auth: "admin"
13856
+ auth: "admin",
13857
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13828
13858
  }), method(object({ runtime: ManagedRuntimeConfigSchema }), LlmRuntimeStatusSchema, {
13829
13859
  kind: "mutation",
13830
- auth: "admin"
13860
+ auth: "admin",
13861
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13831
13862
  }), method(object({}), _void(), {
13832
13863
  kind: "mutation",
13833
13864
  auth: "admin"
13834
13865
  }), method(object({}), LlmRuntimeStatusSchema, { auth: "admin" }), method(object({ model: ManagedModelRefSchema }), _void(), {
13835
13866
  kind: "mutation",
13836
- auth: "admin"
13867
+ auth: "admin",
13868
+ timeoutMs: AI_MODEL_INSTALL_TIMEOUT_MS
13837
13869
  }), method(object({ file: string() }), _void(), {
13838
13870
  kind: "mutation",
13839
13871
  auth: "admin"
@@ -14001,7 +14033,13 @@ var ProfileRefInputSchema = object({
14001
14033
  addonId: string(),
14002
14034
  profileId: string()
14003
14035
  });
14004
- method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(object({
14036
+ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
14037
+ kind: "mutation",
14038
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14039
+ }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, {
14040
+ kind: "mutation",
14041
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14042
+ }), method(object({
14005
14043
  addonId: string().optional(),
14006
14044
  requestId: string()
14007
14045
  }), _void(), { kind: "mutation" }), method(object({}), array(LlmProfileKindDescriptorSchema)), method(object({}), array(LlmProfileSchema)), method(object({ profile: LlmProfileSchema }), LlmProfileSchema, {
@@ -14012,7 +14050,8 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }
14012
14050
  auth: "admin"
14013
14051
  }), method(ProfileRefInputSchema, LlmGenerateResultSchema, {
14014
14052
  kind: "mutation",
14015
- auth: "admin"
14053
+ auth: "admin",
14054
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14016
14055
  }), method(ProfileRefInputSchema, array(string())), method(object({}), array(LlmDefaultSchema)), method(object({
14017
14056
  selector: LlmDefaultSelectorSchema,
14018
14057
  profileId: string().nullable()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-rtsp",
3
- "version": "1.2.53",
3
+ "version": "1.2.55",
4
4
  "description": "Generic RTSP camera device provider addon for CamStack",
5
5
  "keywords": [
6
6
  "camstack",