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