@camstack/addon-export-alexa 1.2.59 → 1.2.61
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, {
|
|
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()
|
|
@@ -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, {
|
|
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()
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-export-alexa",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.61",
|
|
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",
|