@camstack/addon-export-google 0.1.17 → 0.1.19
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.
|
@@ -13523,6 +13523,35 @@ method(_void(), array(string()).readonly(), { auth: "admin" }), method(object({
|
|
|
13523
13523
|
auth: "admin"
|
|
13524
13524
|
});
|
|
13525
13525
|
/**
|
|
13526
|
+
* Transport bounds for AI capability methods.
|
|
13527
|
+
*
|
|
13528
|
+
* Its own module because `llm.cap.ts` and `llm-runtime.cap.ts` already import
|
|
13529
|
+
* each other: declaring the constant in either one hands the other `undefined`
|
|
13530
|
+
* at module-init time, and an undefined `timeoutMs` silently falls back to the
|
|
13531
|
+
* kernel's 60 s default — the exact failure this constant exists to prevent,
|
|
13532
|
+
* reintroduced invisibly. Found by the guard, not by review.
|
|
13533
|
+
*/
|
|
13534
|
+
/**
|
|
13535
|
+
* Ceiling for a cap method that runs inference or loads a model.
|
|
13536
|
+
*
|
|
13537
|
+
* Deliberately far above anything the AI layer itself may wait for (a summary
|
|
13538
|
+
* asks 180 s by default, a rule may ask 600 s), because the TRANSPORT must
|
|
13539
|
+
* never be the layer that gives up first: when it does, the failure is
|
|
13540
|
+
* reported as a transport error for a model that was still thinking, naming
|
|
13541
|
+
* the wrong layer and hiding the real one.
|
|
13542
|
+
*
|
|
13543
|
+
* Measured 2026-09-03: a 6-image vision request needs 44.8 s warm and ~20 s
|
|
13544
|
+
* more on a cold model load. With no declaration every digest failed at
|
|
13545
|
+
* exactly 60 s and shipped without its text.
|
|
13546
|
+
*
|
|
13547
|
+
* A ceiling, not a budget. The AI layer's own timeouts (the rule's `timeoutMs`,
|
|
13548
|
+
* the profile's `timeoutMs` / `firstTokenTimeoutMs`) remain the things that
|
|
13549
|
+
* decide when to stop, because only they can say WHY.
|
|
13550
|
+
*/
|
|
13551
|
+
var AI_CAP_TRANSPORT_TIMEOUT_MS = 6e5;
|
|
13552
|
+
/** A multi-gigabyte download. An hour is not generous, it is honest. */
|
|
13553
|
+
var AI_MODEL_INSTALL_TIMEOUT_MS = 60 * 6e4;
|
|
13554
|
+
/**
|
|
13526
13555
|
* Shared LLM generate contracts — imported by BOTH `llm.cap.ts` (consumer
|
|
13527
13556
|
* surface) and `llm-runtime.cap.ts` (node-side managed executor) so the two
|
|
13528
13557
|
* caps stay wire-compatible without a circular cap→cap import.
|
|
@@ -13794,16 +13823,19 @@ method(LlmGenerateBaseInputSchema.extend({
|
|
|
13794
13823
|
timeoutMs: number().int().positive().optional()
|
|
13795
13824
|
}), LlmGenerateResultSchema, {
|
|
13796
13825
|
kind: "mutation",
|
|
13797
|
-
auth: "admin"
|
|
13826
|
+
auth: "admin",
|
|
13827
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13798
13828
|
}), method(object({ runtime: ManagedRuntimeConfigSchema }), LlmRuntimeStatusSchema, {
|
|
13799
13829
|
kind: "mutation",
|
|
13800
|
-
auth: "admin"
|
|
13830
|
+
auth: "admin",
|
|
13831
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13801
13832
|
}), method(object({}), _void(), {
|
|
13802
13833
|
kind: "mutation",
|
|
13803
13834
|
auth: "admin"
|
|
13804
13835
|
}), method(object({}), LlmRuntimeStatusSchema, { auth: "admin" }), method(object({ model: ManagedModelRefSchema }), _void(), {
|
|
13805
13836
|
kind: "mutation",
|
|
13806
|
-
auth: "admin"
|
|
13837
|
+
auth: "admin",
|
|
13838
|
+
timeoutMs: AI_MODEL_INSTALL_TIMEOUT_MS
|
|
13807
13839
|
}), method(object({ file: string() }), _void(), {
|
|
13808
13840
|
kind: "mutation",
|
|
13809
13841
|
auth: "admin"
|
|
@@ -13971,7 +14003,13 @@ var ProfileRefInputSchema = object({
|
|
|
13971
14003
|
addonId: string(),
|
|
13972
14004
|
profileId: string()
|
|
13973
14005
|
});
|
|
13974
|
-
method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
|
|
14006
|
+
method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
|
|
14007
|
+
kind: "mutation",
|
|
14008
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
14009
|
+
}), method(GenerateVisionInputSchema, LlmGenerateResultSchema, {
|
|
14010
|
+
kind: "mutation",
|
|
14011
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
14012
|
+
}), method(object({
|
|
13975
14013
|
addonId: string().optional(),
|
|
13976
14014
|
requestId: string()
|
|
13977
14015
|
}), _void(), { kind: "mutation" }), method(object({}), array(LlmProfileKindDescriptorSchema)), method(object({}), array(LlmProfileSchema)), method(object({ profile: LlmProfileSchema }), LlmProfileSchema, {
|
|
@@ -13982,7 +14020,8 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }
|
|
|
13982
14020
|
auth: "admin"
|
|
13983
14021
|
}), method(ProfileRefInputSchema, LlmGenerateResultSchema, {
|
|
13984
14022
|
kind: "mutation",
|
|
13985
|
-
auth: "admin"
|
|
14023
|
+
auth: "admin",
|
|
14024
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13986
14025
|
}), method(ProfileRefInputSchema, array(string())), method(object({}), array(LlmDefaultSchema)), method(object({
|
|
13987
14026
|
selector: LlmDefaultSelectorSchema,
|
|
13988
14027
|
profileId: string().nullable()
|
|
@@ -13519,6 +13519,35 @@ method(_void(), array(string()).readonly(), { auth: "admin" }), method(object({
|
|
|
13519
13519
|
auth: "admin"
|
|
13520
13520
|
});
|
|
13521
13521
|
/**
|
|
13522
|
+
* Transport bounds for AI capability methods.
|
|
13523
|
+
*
|
|
13524
|
+
* Its own module because `llm.cap.ts` and `llm-runtime.cap.ts` already import
|
|
13525
|
+
* each other: declaring the constant in either one hands the other `undefined`
|
|
13526
|
+
* at module-init time, and an undefined `timeoutMs` silently falls back to the
|
|
13527
|
+
* kernel's 60 s default — the exact failure this constant exists to prevent,
|
|
13528
|
+
* reintroduced invisibly. Found by the guard, not by review.
|
|
13529
|
+
*/
|
|
13530
|
+
/**
|
|
13531
|
+
* Ceiling for a cap method that runs inference or loads a model.
|
|
13532
|
+
*
|
|
13533
|
+
* Deliberately far above anything the AI layer itself may wait for (a summary
|
|
13534
|
+
* asks 180 s by default, a rule may ask 600 s), because the TRANSPORT must
|
|
13535
|
+
* never be the layer that gives up first: when it does, the failure is
|
|
13536
|
+
* reported as a transport error for a model that was still thinking, naming
|
|
13537
|
+
* the wrong layer and hiding the real one.
|
|
13538
|
+
*
|
|
13539
|
+
* Measured 2026-09-03: a 6-image vision request needs 44.8 s warm and ~20 s
|
|
13540
|
+
* more on a cold model load. With no declaration every digest failed at
|
|
13541
|
+
* exactly 60 s and shipped without its text.
|
|
13542
|
+
*
|
|
13543
|
+
* A ceiling, not a budget. The AI layer's own timeouts (the rule's `timeoutMs`,
|
|
13544
|
+
* the profile's `timeoutMs` / `firstTokenTimeoutMs`) remain the things that
|
|
13545
|
+
* decide when to stop, because only they can say WHY.
|
|
13546
|
+
*/
|
|
13547
|
+
var AI_CAP_TRANSPORT_TIMEOUT_MS = 6e5;
|
|
13548
|
+
/** A multi-gigabyte download. An hour is not generous, it is honest. */
|
|
13549
|
+
var AI_MODEL_INSTALL_TIMEOUT_MS = 60 * 6e4;
|
|
13550
|
+
/**
|
|
13522
13551
|
* Shared LLM generate contracts — imported by BOTH `llm.cap.ts` (consumer
|
|
13523
13552
|
* surface) and `llm-runtime.cap.ts` (node-side managed executor) so the two
|
|
13524
13553
|
* caps stay wire-compatible without a circular cap→cap import.
|
|
@@ -13790,16 +13819,19 @@ method(LlmGenerateBaseInputSchema.extend({
|
|
|
13790
13819
|
timeoutMs: number().int().positive().optional()
|
|
13791
13820
|
}), LlmGenerateResultSchema, {
|
|
13792
13821
|
kind: "mutation",
|
|
13793
|
-
auth: "admin"
|
|
13822
|
+
auth: "admin",
|
|
13823
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13794
13824
|
}), method(object({ runtime: ManagedRuntimeConfigSchema }), LlmRuntimeStatusSchema, {
|
|
13795
13825
|
kind: "mutation",
|
|
13796
|
-
auth: "admin"
|
|
13826
|
+
auth: "admin",
|
|
13827
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13797
13828
|
}), method(object({}), _void(), {
|
|
13798
13829
|
kind: "mutation",
|
|
13799
13830
|
auth: "admin"
|
|
13800
13831
|
}), method(object({}), LlmRuntimeStatusSchema, { auth: "admin" }), method(object({ model: ManagedModelRefSchema }), _void(), {
|
|
13801
13832
|
kind: "mutation",
|
|
13802
|
-
auth: "admin"
|
|
13833
|
+
auth: "admin",
|
|
13834
|
+
timeoutMs: AI_MODEL_INSTALL_TIMEOUT_MS
|
|
13803
13835
|
}), method(object({ file: string() }), _void(), {
|
|
13804
13836
|
kind: "mutation",
|
|
13805
13837
|
auth: "admin"
|
|
@@ -13967,7 +13999,13 @@ var ProfileRefInputSchema = object({
|
|
|
13967
13999
|
addonId: string(),
|
|
13968
14000
|
profileId: string()
|
|
13969
14001
|
});
|
|
13970
|
-
method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
|
|
14002
|
+
method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
|
|
14003
|
+
kind: "mutation",
|
|
14004
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
14005
|
+
}), method(GenerateVisionInputSchema, LlmGenerateResultSchema, {
|
|
14006
|
+
kind: "mutation",
|
|
14007
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
14008
|
+
}), method(object({
|
|
13971
14009
|
addonId: string().optional(),
|
|
13972
14010
|
requestId: string()
|
|
13973
14011
|
}), _void(), { kind: "mutation" }), method(object({}), array(LlmProfileKindDescriptorSchema)), method(object({}), array(LlmProfileSchema)), method(object({ profile: LlmProfileSchema }), LlmProfileSchema, {
|
|
@@ -13978,7 +14016,8 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }
|
|
|
13978
14016
|
auth: "admin"
|
|
13979
14017
|
}), method(ProfileRefInputSchema, LlmGenerateResultSchema, {
|
|
13980
14018
|
kind: "mutation",
|
|
13981
|
-
auth: "admin"
|
|
14019
|
+
auth: "admin",
|
|
14020
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13982
14021
|
}), method(ProfileRefInputSchema, array(string())), method(object({}), array(LlmDefaultSchema)), method(object({
|
|
13983
14022
|
selector: LlmDefaultSelectorSchema,
|
|
13984
14023
|
profileId: string().nullable()
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-export-google",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.19",
|
|
4
4
|
"description": "Google Home export — hub-side smart-home fulfillment (SYNC / QUERY / EXECUTE / DISCONNECT) for the non-camera fleet, served over the hub's own OAuth account link. No Google credential is stored, sent or required.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|