@camstack/addon-export-alexa 1.2.59 → 1.2.62

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.
@@ -13552,6 +13552,35 @@ method(_void(), array(string()).readonly(), { auth: "admin" }), method(object({
13552
13552
  auth: "admin"
13553
13553
  });
13554
13554
  /**
13555
+ * Transport bounds for AI capability methods.
13556
+ *
13557
+ * Its own module because `llm.cap.ts` and `llm-runtime.cap.ts` already import
13558
+ * each other: declaring the constant in either one hands the other `undefined`
13559
+ * at module-init time, and an undefined `timeoutMs` silently falls back to the
13560
+ * kernel's 60 s default — the exact failure this constant exists to prevent,
13561
+ * reintroduced invisibly. Found by the guard, not by review.
13562
+ */
13563
+ /**
13564
+ * Ceiling for a cap method that runs inference or loads a model.
13565
+ *
13566
+ * Deliberately far above anything the AI layer itself may wait for (a summary
13567
+ * asks 180 s by default, a rule may ask 600 s), because the TRANSPORT must
13568
+ * never be the layer that gives up first: when it does, the failure is
13569
+ * reported as a transport error for a model that was still thinking, naming
13570
+ * the wrong layer and hiding the real one.
13571
+ *
13572
+ * Measured 2026-09-03: a 6-image vision request needs 44.8 s warm and ~20 s
13573
+ * more on a cold model load. With no declaration every digest failed at
13574
+ * exactly 60 s and shipped without its text.
13575
+ *
13576
+ * A ceiling, not a budget. The AI layer's own timeouts (the rule's `timeoutMs`,
13577
+ * the profile's `timeoutMs` / `firstTokenTimeoutMs`) remain the things that
13578
+ * decide when to stop, because only they can say WHY.
13579
+ */
13580
+ var AI_CAP_TRANSPORT_TIMEOUT_MS = 6e5;
13581
+ /** A multi-gigabyte download. An hour is not generous, it is honest. */
13582
+ var AI_MODEL_INSTALL_TIMEOUT_MS = 60 * 6e4;
13583
+ /**
13555
13584
  * Shared LLM generate contracts — imported by BOTH `llm.cap.ts` (consumer
13556
13585
  * surface) and `llm-runtime.cap.ts` (node-side managed executor) so the two
13557
13586
  * caps stay wire-compatible without a circular cap→cap import.
@@ -13823,16 +13852,19 @@ method(LlmGenerateBaseInputSchema.extend({
13823
13852
  timeoutMs: number().int().positive().optional()
13824
13853
  }), LlmGenerateResultSchema, {
13825
13854
  kind: "mutation",
13826
- auth: "admin"
13855
+ auth: "admin",
13856
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13827
13857
  }), method(object({ runtime: ManagedRuntimeConfigSchema }), LlmRuntimeStatusSchema, {
13828
13858
  kind: "mutation",
13829
- auth: "admin"
13859
+ auth: "admin",
13860
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13830
13861
  }), method(object({}), _void(), {
13831
13862
  kind: "mutation",
13832
13863
  auth: "admin"
13833
13864
  }), method(object({}), LlmRuntimeStatusSchema, { auth: "admin" }), method(object({ model: ManagedModelRefSchema }), _void(), {
13834
13865
  kind: "mutation",
13835
- auth: "admin"
13866
+ auth: "admin",
13867
+ timeoutMs: AI_MODEL_INSTALL_TIMEOUT_MS
13836
13868
  }), method(object({ file: string() }), _void(), {
13837
13869
  kind: "mutation",
13838
13870
  auth: "admin"
@@ -14000,7 +14032,13 @@ var ProfileRefInputSchema = object({
14000
14032
  addonId: string(),
14001
14033
  profileId: string()
14002
14034
  });
14003
- method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(object({
14035
+ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
14036
+ kind: "mutation",
14037
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14038
+ }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, {
14039
+ kind: "mutation",
14040
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14041
+ }), method(object({
14004
14042
  addonId: string().optional(),
14005
14043
  requestId: string()
14006
14044
  }), _void(), { kind: "mutation" }), method(object({}), array(LlmProfileKindDescriptorSchema)), method(object({}), array(LlmProfileSchema)), method(object({ profile: LlmProfileSchema }), LlmProfileSchema, {
@@ -14011,7 +14049,8 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }
14011
14049
  auth: "admin"
14012
14050
  }), method(ProfileRefInputSchema, LlmGenerateResultSchema, {
14013
14051
  kind: "mutation",
14014
- auth: "admin"
14052
+ auth: "admin",
14053
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14015
14054
  }), method(ProfileRefInputSchema, array(string())), method(object({}), array(LlmDefaultSchema)), method(object({
14016
14055
  selector: LlmDefaultSelectorSchema,
14017
14056
  profileId: string().nullable()
@@ -14477,17 +14516,6 @@ var ContainerMemoryPointSchema = object({
14477
14516
  */
14478
14517
  gpuShmemBytes: number().nullable()
14479
14518
  }).extend({ atMs: number() });
14480
- var DumpHeapSnapshotInputSchema = object({
14481
- /** The addon whose runner should dump a heap snapshot. */
14482
- addonId: string() });
14483
- var DumpHeapSnapshotResultSchema = object({
14484
- success: boolean(),
14485
- /** Path of the written .heapsnapshot inside the runner's container/host. */
14486
- path: string().optional(),
14487
- /** Process pid that was signalled. */
14488
- pid: number().optional(),
14489
- reason: string().optional()
14490
- });
14491
14519
  /**
14492
14520
  * One point of one function's series.
14493
14521
  *
@@ -14611,10 +14639,7 @@ var SystemMetricsSchema = object({
14611
14639
  gpuPercent: number().optional(),
14612
14640
  gpuMemoryPercent: number().optional()
14613
14641
  });
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), method(DumpHeapSnapshotInputSchema, DumpHeapSnapshotResultSchema, {
14615
- kind: "mutation",
14616
- auth: "admin"
14617
- });
14642
+ 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);
14618
14643
  method(object({
14619
14644
  sourceUrl: string(),
14620
14645
  metadata: ModelConvertMetadataSchema,
@@ -18864,7 +18889,8 @@ var MediaFileKindEnum = _enum([
18864
18889
  "plateCrop",
18865
18890
  "keyFrame",
18866
18891
  "keyFrameSmall",
18867
- "thumbnailSmall"
18892
+ "thumbnailSmall",
18893
+ "sceneFrame"
18868
18894
  ]);
18869
18895
  /**
18870
18896
  * One media row ON THE WIRE: what it is, how big it is, and WHERE ITS BYTES
@@ -31682,12 +31708,6 @@ Object.freeze({
31682
31708
  addonId: null,
31683
31709
  access: "view"
31684
31710
  },
31685
- "metricsProvider.dumpHeapSnapshot": {
31686
- capName: "metrics-provider",
31687
- capScope: "system",
31688
- addonId: null,
31689
- access: "create"
31690
- },
31691
31711
  "metricsProvider.getAddonStats": {
31692
31712
  capName: "metrics-provider",
31693
31713
  capScope: "system",
@@ -13525,6 +13525,35 @@ method(_void(), array(string()).readonly(), { auth: "admin" }), method(object({
13525
13525
  auth: "admin"
13526
13526
  });
13527
13527
  /**
13528
+ * Transport bounds for AI capability methods.
13529
+ *
13530
+ * Its own module because `llm.cap.ts` and `llm-runtime.cap.ts` already import
13531
+ * each other: declaring the constant in either one hands the other `undefined`
13532
+ * at module-init time, and an undefined `timeoutMs` silently falls back to the
13533
+ * kernel's 60 s default — the exact failure this constant exists to prevent,
13534
+ * reintroduced invisibly. Found by the guard, not by review.
13535
+ */
13536
+ /**
13537
+ * Ceiling for a cap method that runs inference or loads a model.
13538
+ *
13539
+ * Deliberately far above anything the AI layer itself may wait for (a summary
13540
+ * asks 180 s by default, a rule may ask 600 s), because the TRANSPORT must
13541
+ * never be the layer that gives up first: when it does, the failure is
13542
+ * reported as a transport error for a model that was still thinking, naming
13543
+ * the wrong layer and hiding the real one.
13544
+ *
13545
+ * Measured 2026-09-03: a 6-image vision request needs 44.8 s warm and ~20 s
13546
+ * more on a cold model load. With no declaration every digest failed at
13547
+ * exactly 60 s and shipped without its text.
13548
+ *
13549
+ * A ceiling, not a budget. The AI layer's own timeouts (the rule's `timeoutMs`,
13550
+ * the profile's `timeoutMs` / `firstTokenTimeoutMs`) remain the things that
13551
+ * decide when to stop, because only they can say WHY.
13552
+ */
13553
+ var AI_CAP_TRANSPORT_TIMEOUT_MS = 6e5;
13554
+ /** A multi-gigabyte download. An hour is not generous, it is honest. */
13555
+ var AI_MODEL_INSTALL_TIMEOUT_MS = 60 * 6e4;
13556
+ /**
13528
13557
  * Shared LLM generate contracts — imported by BOTH `llm.cap.ts` (consumer
13529
13558
  * surface) and `llm-runtime.cap.ts` (node-side managed executor) so the two
13530
13559
  * caps stay wire-compatible without a circular cap→cap import.
@@ -13796,16 +13825,19 @@ method(LlmGenerateBaseInputSchema.extend({
13796
13825
  timeoutMs: number().int().positive().optional()
13797
13826
  }), LlmGenerateResultSchema, {
13798
13827
  kind: "mutation",
13799
- auth: "admin"
13828
+ auth: "admin",
13829
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13800
13830
  }), method(object({ runtime: ManagedRuntimeConfigSchema }), LlmRuntimeStatusSchema, {
13801
13831
  kind: "mutation",
13802
- auth: "admin"
13832
+ auth: "admin",
13833
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13803
13834
  }), method(object({}), _void(), {
13804
13835
  kind: "mutation",
13805
13836
  auth: "admin"
13806
13837
  }), method(object({}), LlmRuntimeStatusSchema, { auth: "admin" }), method(object({ model: ManagedModelRefSchema }), _void(), {
13807
13838
  kind: "mutation",
13808
- auth: "admin"
13839
+ auth: "admin",
13840
+ timeoutMs: AI_MODEL_INSTALL_TIMEOUT_MS
13809
13841
  }), method(object({ file: string() }), _void(), {
13810
13842
  kind: "mutation",
13811
13843
  auth: "admin"
@@ -13973,7 +14005,13 @@ var ProfileRefInputSchema = object({
13973
14005
  addonId: string(),
13974
14006
  profileId: string()
13975
14007
  });
13976
- method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(object({
14008
+ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
14009
+ kind: "mutation",
14010
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14011
+ }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, {
14012
+ kind: "mutation",
14013
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14014
+ }), method(object({
13977
14015
  addonId: string().optional(),
13978
14016
  requestId: string()
13979
14017
  }), _void(), { kind: "mutation" }), method(object({}), array(LlmProfileKindDescriptorSchema)), method(object({}), array(LlmProfileSchema)), method(object({ profile: LlmProfileSchema }), LlmProfileSchema, {
@@ -13984,7 +14022,8 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }
13984
14022
  auth: "admin"
13985
14023
  }), method(ProfileRefInputSchema, LlmGenerateResultSchema, {
13986
14024
  kind: "mutation",
13987
- auth: "admin"
14025
+ auth: "admin",
14026
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13988
14027
  }), method(ProfileRefInputSchema, array(string())), method(object({}), array(LlmDefaultSchema)), method(object({
13989
14028
  selector: LlmDefaultSelectorSchema,
13990
14029
  profileId: string().nullable()
@@ -14450,17 +14489,6 @@ var ContainerMemoryPointSchema = object({
14450
14489
  */
14451
14490
  gpuShmemBytes: number().nullable()
14452
14491
  }).extend({ atMs: number() });
14453
- var DumpHeapSnapshotInputSchema = object({
14454
- /** The addon whose runner should dump a heap snapshot. */
14455
- addonId: string() });
14456
- var DumpHeapSnapshotResultSchema = object({
14457
- success: boolean(),
14458
- /** Path of the written .heapsnapshot inside the runner's container/host. */
14459
- path: string().optional(),
14460
- /** Process pid that was signalled. */
14461
- pid: number().optional(),
14462
- reason: string().optional()
14463
- });
14464
14492
  /**
14465
14493
  * One point of one function's series.
14466
14494
  *
@@ -14584,10 +14612,7 @@ var SystemMetricsSchema = object({
14584
14612
  gpuPercent: number().optional(),
14585
14613
  gpuMemoryPercent: number().optional()
14586
14614
  });
14587
- 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, {
14588
- kind: "mutation",
14589
- auth: "admin"
14590
- });
14615
+ 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);
14591
14616
  method(object({
14592
14617
  sourceUrl: string(),
14593
14618
  metadata: ModelConvertMetadataSchema,
@@ -18837,7 +18862,8 @@ var MediaFileKindEnum = _enum([
18837
18862
  "plateCrop",
18838
18863
  "keyFrame",
18839
18864
  "keyFrameSmall",
18840
- "thumbnailSmall"
18865
+ "thumbnailSmall",
18866
+ "sceneFrame"
18841
18867
  ]);
18842
18868
  /**
18843
18869
  * One media row ON THE WIRE: what it is, how big it is, and WHERE ITS BYTES
@@ -31655,12 +31681,6 @@ Object.freeze({
31655
31681
  addonId: null,
31656
31682
  access: "view"
31657
31683
  },
31658
- "metricsProvider.dumpHeapSnapshot": {
31659
- capName: "metrics-provider",
31660
- capScope: "system",
31661
- addonId: null,
31662
- access: "create"
31663
- },
31664
31684
  "metricsProvider.getAddonStats": {
31665
31685
  capName: "metrics-provider",
31666
31686
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-export-alexa",
3
- "version": "1.2.59",
3
+ "version": "1.2.62",
4
4
  "description": "Alexa Smart Home Skill export — hub-side OAuth provider + directive handler. The companion AWS Lambda forwards Alexa directives to this addon's /addon/export-alexa/directive endpoint.",
5
5
  "keywords": [
6
6
  "camstack",