@camstack/addon-decoder-nodeav 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/index.js CHANGED
@@ -13387,6 +13387,35 @@ method(_void(), array(string()).readonly(), { auth: "admin" }), method(object({
13387
13387
  auth: "admin"
13388
13388
  });
13389
13389
  /**
13390
+ * Transport bounds for AI capability methods.
13391
+ *
13392
+ * Its own module because `llm.cap.ts` and `llm-runtime.cap.ts` already import
13393
+ * each other: declaring the constant in either one hands the other `undefined`
13394
+ * at module-init time, and an undefined `timeoutMs` silently falls back to the
13395
+ * kernel's 60 s default — the exact failure this constant exists to prevent,
13396
+ * reintroduced invisibly. Found by the guard, not by review.
13397
+ */
13398
+ /**
13399
+ * Ceiling for a cap method that runs inference or loads a model.
13400
+ *
13401
+ * Deliberately far above anything the AI layer itself may wait for (a summary
13402
+ * asks 180 s by default, a rule may ask 600 s), because the TRANSPORT must
13403
+ * never be the layer that gives up first: when it does, the failure is
13404
+ * reported as a transport error for a model that was still thinking, naming
13405
+ * the wrong layer and hiding the real one.
13406
+ *
13407
+ * Measured 2026-09-03: a 6-image vision request needs 44.8 s warm and ~20 s
13408
+ * more on a cold model load. With no declaration every digest failed at
13409
+ * exactly 60 s and shipped without its text.
13410
+ *
13411
+ * A ceiling, not a budget. The AI layer's own timeouts (the rule's `timeoutMs`,
13412
+ * the profile's `timeoutMs` / `firstTokenTimeoutMs`) remain the things that
13413
+ * decide when to stop, because only they can say WHY.
13414
+ */
13415
+ var AI_CAP_TRANSPORT_TIMEOUT_MS = 6e5;
13416
+ /** A multi-gigabyte download. An hour is not generous, it is honest. */
13417
+ var AI_MODEL_INSTALL_TIMEOUT_MS = 60 * 6e4;
13418
+ /**
13390
13419
  * Shared LLM generate contracts — imported by BOTH `llm.cap.ts` (consumer
13391
13420
  * surface) and `llm-runtime.cap.ts` (node-side managed executor) so the two
13392
13421
  * caps stay wire-compatible without a circular cap→cap import.
@@ -13658,16 +13687,19 @@ method(LlmGenerateBaseInputSchema.extend({
13658
13687
  timeoutMs: number().int().positive().optional()
13659
13688
  }), LlmGenerateResultSchema, {
13660
13689
  kind: "mutation",
13661
- auth: "admin"
13690
+ auth: "admin",
13691
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13662
13692
  }), method(object({ runtime: ManagedRuntimeConfigSchema }), LlmRuntimeStatusSchema, {
13663
13693
  kind: "mutation",
13664
- auth: "admin"
13694
+ auth: "admin",
13695
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13665
13696
  }), method(object({}), _void(), {
13666
13697
  kind: "mutation",
13667
13698
  auth: "admin"
13668
13699
  }), method(object({}), LlmRuntimeStatusSchema, { auth: "admin" }), method(object({ model: ManagedModelRefSchema }), _void(), {
13669
13700
  kind: "mutation",
13670
- auth: "admin"
13701
+ auth: "admin",
13702
+ timeoutMs: AI_MODEL_INSTALL_TIMEOUT_MS
13671
13703
  }), method(object({ file: string() }), _void(), {
13672
13704
  kind: "mutation",
13673
13705
  auth: "admin"
@@ -13835,7 +13867,13 @@ var ProfileRefInputSchema = object({
13835
13867
  addonId: string(),
13836
13868
  profileId: string()
13837
13869
  });
13838
- method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(object({
13870
+ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
13871
+ kind: "mutation",
13872
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13873
+ }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, {
13874
+ kind: "mutation",
13875
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13876
+ }), method(object({
13839
13877
  addonId: string().optional(),
13840
13878
  requestId: string()
13841
13879
  }), _void(), { kind: "mutation" }), method(object({}), array(LlmProfileKindDescriptorSchema)), method(object({}), array(LlmProfileSchema)), method(object({ profile: LlmProfileSchema }), LlmProfileSchema, {
@@ -13846,7 +13884,8 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }
13846
13884
  auth: "admin"
13847
13885
  }), method(ProfileRefInputSchema, LlmGenerateResultSchema, {
13848
13886
  kind: "mutation",
13849
- auth: "admin"
13887
+ auth: "admin",
13888
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13850
13889
  }), method(ProfileRefInputSchema, array(string())), method(object({}), array(LlmDefaultSchema)), method(object({
13851
13890
  selector: LlmDefaultSelectorSchema,
13852
13891
  profileId: string().nullable()
package/dist/index.mjs CHANGED
@@ -13383,6 +13383,35 @@ method(_void(), array(string()).readonly(), { auth: "admin" }), method(object({
13383
13383
  auth: "admin"
13384
13384
  });
13385
13385
  /**
13386
+ * Transport bounds for AI capability methods.
13387
+ *
13388
+ * Its own module because `llm.cap.ts` and `llm-runtime.cap.ts` already import
13389
+ * each other: declaring the constant in either one hands the other `undefined`
13390
+ * at module-init time, and an undefined `timeoutMs` silently falls back to the
13391
+ * kernel's 60 s default — the exact failure this constant exists to prevent,
13392
+ * reintroduced invisibly. Found by the guard, not by review.
13393
+ */
13394
+ /**
13395
+ * Ceiling for a cap method that runs inference or loads a model.
13396
+ *
13397
+ * Deliberately far above anything the AI layer itself may wait for (a summary
13398
+ * asks 180 s by default, a rule may ask 600 s), because the TRANSPORT must
13399
+ * never be the layer that gives up first: when it does, the failure is
13400
+ * reported as a transport error for a model that was still thinking, naming
13401
+ * the wrong layer and hiding the real one.
13402
+ *
13403
+ * Measured 2026-09-03: a 6-image vision request needs 44.8 s warm and ~20 s
13404
+ * more on a cold model load. With no declaration every digest failed at
13405
+ * exactly 60 s and shipped without its text.
13406
+ *
13407
+ * A ceiling, not a budget. The AI layer's own timeouts (the rule's `timeoutMs`,
13408
+ * the profile's `timeoutMs` / `firstTokenTimeoutMs`) remain the things that
13409
+ * decide when to stop, because only they can say WHY.
13410
+ */
13411
+ var AI_CAP_TRANSPORT_TIMEOUT_MS = 6e5;
13412
+ /** A multi-gigabyte download. An hour is not generous, it is honest. */
13413
+ var AI_MODEL_INSTALL_TIMEOUT_MS = 60 * 6e4;
13414
+ /**
13386
13415
  * Shared LLM generate contracts — imported by BOTH `llm.cap.ts` (consumer
13387
13416
  * surface) and `llm-runtime.cap.ts` (node-side managed executor) so the two
13388
13417
  * caps stay wire-compatible without a circular cap→cap import.
@@ -13654,16 +13683,19 @@ method(LlmGenerateBaseInputSchema.extend({
13654
13683
  timeoutMs: number().int().positive().optional()
13655
13684
  }), LlmGenerateResultSchema, {
13656
13685
  kind: "mutation",
13657
- auth: "admin"
13686
+ auth: "admin",
13687
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13658
13688
  }), method(object({ runtime: ManagedRuntimeConfigSchema }), LlmRuntimeStatusSchema, {
13659
13689
  kind: "mutation",
13660
- auth: "admin"
13690
+ auth: "admin",
13691
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13661
13692
  }), method(object({}), _void(), {
13662
13693
  kind: "mutation",
13663
13694
  auth: "admin"
13664
13695
  }), method(object({}), LlmRuntimeStatusSchema, { auth: "admin" }), method(object({ model: ManagedModelRefSchema }), _void(), {
13665
13696
  kind: "mutation",
13666
- auth: "admin"
13697
+ auth: "admin",
13698
+ timeoutMs: AI_MODEL_INSTALL_TIMEOUT_MS
13667
13699
  }), method(object({ file: string() }), _void(), {
13668
13700
  kind: "mutation",
13669
13701
  auth: "admin"
@@ -13831,7 +13863,13 @@ var ProfileRefInputSchema = object({
13831
13863
  addonId: string(),
13832
13864
  profileId: string()
13833
13865
  });
13834
- method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(object({
13866
+ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
13867
+ kind: "mutation",
13868
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13869
+ }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, {
13870
+ kind: "mutation",
13871
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13872
+ }), method(object({
13835
13873
  addonId: string().optional(),
13836
13874
  requestId: string()
13837
13875
  }), _void(), { kind: "mutation" }), method(object({}), array(LlmProfileKindDescriptorSchema)), method(object({}), array(LlmProfileSchema)), method(object({ profile: LlmProfileSchema }), LlmProfileSchema, {
@@ -13842,7 +13880,8 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }
13842
13880
  auth: "admin"
13843
13881
  }), method(ProfileRefInputSchema, LlmGenerateResultSchema, {
13844
13882
  kind: "mutation",
13845
- auth: "admin"
13883
+ auth: "admin",
13884
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13846
13885
  }), method(ProfileRefInputSchema, array(string())), method(object({}), array(LlmDefaultSchema)), method(object({
13847
13886
  selector: LlmDefaultSelectorSchema,
13848
13887
  profileId: string().nullable()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-decoder-nodeav",
3
- "version": "1.2.53",
3
+ "version": "1.2.55",
4
4
  "description": "Standalone in-process node-av decoder addon for CamStack",
5
5
  "keywords": [
6
6
  "camstack",