@camstack/addon-provider-dreo 0.2.53 → 0.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/addon.js +44 -5
- package/dist/addon.mjs +44 -5
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -13574,6 +13574,35 @@ method(_void(), array(string()).readonly(), { auth: "admin" }), method(object({
|
|
|
13574
13574
|
auth: "admin"
|
|
13575
13575
|
});
|
|
13576
13576
|
/**
|
|
13577
|
+
* Transport bounds for AI capability methods.
|
|
13578
|
+
*
|
|
13579
|
+
* Its own module because `llm.cap.ts` and `llm-runtime.cap.ts` already import
|
|
13580
|
+
* each other: declaring the constant in either one hands the other `undefined`
|
|
13581
|
+
* at module-init time, and an undefined `timeoutMs` silently falls back to the
|
|
13582
|
+
* kernel's 60 s default — the exact failure this constant exists to prevent,
|
|
13583
|
+
* reintroduced invisibly. Found by the guard, not by review.
|
|
13584
|
+
*/
|
|
13585
|
+
/**
|
|
13586
|
+
* Ceiling for a cap method that runs inference or loads a model.
|
|
13587
|
+
*
|
|
13588
|
+
* Deliberately far above anything the AI layer itself may wait for (a summary
|
|
13589
|
+
* asks 180 s by default, a rule may ask 600 s), because the TRANSPORT must
|
|
13590
|
+
* never be the layer that gives up first: when it does, the failure is
|
|
13591
|
+
* reported as a transport error for a model that was still thinking, naming
|
|
13592
|
+
* the wrong layer and hiding the real one.
|
|
13593
|
+
*
|
|
13594
|
+
* Measured 2026-09-03: a 6-image vision request needs 44.8 s warm and ~20 s
|
|
13595
|
+
* more on a cold model load. With no declaration every digest failed at
|
|
13596
|
+
* exactly 60 s and shipped without its text.
|
|
13597
|
+
*
|
|
13598
|
+
* A ceiling, not a budget. The AI layer's own timeouts (the rule's `timeoutMs`,
|
|
13599
|
+
* the profile's `timeoutMs` / `firstTokenTimeoutMs`) remain the things that
|
|
13600
|
+
* decide when to stop, because only they can say WHY.
|
|
13601
|
+
*/
|
|
13602
|
+
var AI_CAP_TRANSPORT_TIMEOUT_MS = 6e5;
|
|
13603
|
+
/** A multi-gigabyte download. An hour is not generous, it is honest. */
|
|
13604
|
+
var AI_MODEL_INSTALL_TIMEOUT_MS = 60 * 6e4;
|
|
13605
|
+
/**
|
|
13577
13606
|
* Shared LLM generate contracts — imported by BOTH `llm.cap.ts` (consumer
|
|
13578
13607
|
* surface) and `llm-runtime.cap.ts` (node-side managed executor) so the two
|
|
13579
13608
|
* caps stay wire-compatible without a circular cap→cap import.
|
|
@@ -13845,16 +13874,19 @@ method(LlmGenerateBaseInputSchema.extend({
|
|
|
13845
13874
|
timeoutMs: number().int().positive().optional()
|
|
13846
13875
|
}), LlmGenerateResultSchema, {
|
|
13847
13876
|
kind: "mutation",
|
|
13848
|
-
auth: "admin"
|
|
13877
|
+
auth: "admin",
|
|
13878
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13849
13879
|
}), method(object({ runtime: ManagedRuntimeConfigSchema }), LlmRuntimeStatusSchema, {
|
|
13850
13880
|
kind: "mutation",
|
|
13851
|
-
auth: "admin"
|
|
13881
|
+
auth: "admin",
|
|
13882
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13852
13883
|
}), method(object({}), _void(), {
|
|
13853
13884
|
kind: "mutation",
|
|
13854
13885
|
auth: "admin"
|
|
13855
13886
|
}), method(object({}), LlmRuntimeStatusSchema, { auth: "admin" }), method(object({ model: ManagedModelRefSchema }), _void(), {
|
|
13856
13887
|
kind: "mutation",
|
|
13857
|
-
auth: "admin"
|
|
13888
|
+
auth: "admin",
|
|
13889
|
+
timeoutMs: AI_MODEL_INSTALL_TIMEOUT_MS
|
|
13858
13890
|
}), method(object({ file: string() }), _void(), {
|
|
13859
13891
|
kind: "mutation",
|
|
13860
13892
|
auth: "admin"
|
|
@@ -14022,7 +14054,13 @@ var ProfileRefInputSchema = object({
|
|
|
14022
14054
|
addonId: string(),
|
|
14023
14055
|
profileId: string()
|
|
14024
14056
|
});
|
|
14025
|
-
method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
|
|
14057
|
+
method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
|
|
14058
|
+
kind: "mutation",
|
|
14059
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
14060
|
+
}), method(GenerateVisionInputSchema, LlmGenerateResultSchema, {
|
|
14061
|
+
kind: "mutation",
|
|
14062
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
14063
|
+
}), method(object({
|
|
14026
14064
|
addonId: string().optional(),
|
|
14027
14065
|
requestId: string()
|
|
14028
14066
|
}), _void(), { kind: "mutation" }), method(object({}), array(LlmProfileKindDescriptorSchema)), method(object({}), array(LlmProfileSchema)), method(object({ profile: LlmProfileSchema }), LlmProfileSchema, {
|
|
@@ -14033,7 +14071,8 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }
|
|
|
14033
14071
|
auth: "admin"
|
|
14034
14072
|
}), method(ProfileRefInputSchema, LlmGenerateResultSchema, {
|
|
14035
14073
|
kind: "mutation",
|
|
14036
|
-
auth: "admin"
|
|
14074
|
+
auth: "admin",
|
|
14075
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
14037
14076
|
}), method(ProfileRefInputSchema, array(string())), method(object({}), array(LlmDefaultSchema)), method(object({
|
|
14038
14077
|
selector: LlmDefaultSelectorSchema,
|
|
14039
14078
|
profileId: string().nullable()
|
package/dist/addon.mjs
CHANGED
|
@@ -13575,6 +13575,35 @@ method(_void(), array(string()).readonly(), { auth: "admin" }), method(object({
|
|
|
13575
13575
|
auth: "admin"
|
|
13576
13576
|
});
|
|
13577
13577
|
/**
|
|
13578
|
+
* Transport bounds for AI capability methods.
|
|
13579
|
+
*
|
|
13580
|
+
* Its own module because `llm.cap.ts` and `llm-runtime.cap.ts` already import
|
|
13581
|
+
* each other: declaring the constant in either one hands the other `undefined`
|
|
13582
|
+
* at module-init time, and an undefined `timeoutMs` silently falls back to the
|
|
13583
|
+
* kernel's 60 s default — the exact failure this constant exists to prevent,
|
|
13584
|
+
* reintroduced invisibly. Found by the guard, not by review.
|
|
13585
|
+
*/
|
|
13586
|
+
/**
|
|
13587
|
+
* Ceiling for a cap method that runs inference or loads a model.
|
|
13588
|
+
*
|
|
13589
|
+
* Deliberately far above anything the AI layer itself may wait for (a summary
|
|
13590
|
+
* asks 180 s by default, a rule may ask 600 s), because the TRANSPORT must
|
|
13591
|
+
* never be the layer that gives up first: when it does, the failure is
|
|
13592
|
+
* reported as a transport error for a model that was still thinking, naming
|
|
13593
|
+
* the wrong layer and hiding the real one.
|
|
13594
|
+
*
|
|
13595
|
+
* Measured 2026-09-03: a 6-image vision request needs 44.8 s warm and ~20 s
|
|
13596
|
+
* more on a cold model load. With no declaration every digest failed at
|
|
13597
|
+
* exactly 60 s and shipped without its text.
|
|
13598
|
+
*
|
|
13599
|
+
* A ceiling, not a budget. The AI layer's own timeouts (the rule's `timeoutMs`,
|
|
13600
|
+
* the profile's `timeoutMs` / `firstTokenTimeoutMs`) remain the things that
|
|
13601
|
+
* decide when to stop, because only they can say WHY.
|
|
13602
|
+
*/
|
|
13603
|
+
var AI_CAP_TRANSPORT_TIMEOUT_MS = 6e5;
|
|
13604
|
+
/** A multi-gigabyte download. An hour is not generous, it is honest. */
|
|
13605
|
+
var AI_MODEL_INSTALL_TIMEOUT_MS = 60 * 6e4;
|
|
13606
|
+
/**
|
|
13578
13607
|
* Shared LLM generate contracts — imported by BOTH `llm.cap.ts` (consumer
|
|
13579
13608
|
* surface) and `llm-runtime.cap.ts` (node-side managed executor) so the two
|
|
13580
13609
|
* caps stay wire-compatible without a circular cap→cap import.
|
|
@@ -13846,16 +13875,19 @@ method(LlmGenerateBaseInputSchema.extend({
|
|
|
13846
13875
|
timeoutMs: number().int().positive().optional()
|
|
13847
13876
|
}), LlmGenerateResultSchema, {
|
|
13848
13877
|
kind: "mutation",
|
|
13849
|
-
auth: "admin"
|
|
13878
|
+
auth: "admin",
|
|
13879
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13850
13880
|
}), method(object({ runtime: ManagedRuntimeConfigSchema }), LlmRuntimeStatusSchema, {
|
|
13851
13881
|
kind: "mutation",
|
|
13852
|
-
auth: "admin"
|
|
13882
|
+
auth: "admin",
|
|
13883
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13853
13884
|
}), method(object({}), _void(), {
|
|
13854
13885
|
kind: "mutation",
|
|
13855
13886
|
auth: "admin"
|
|
13856
13887
|
}), method(object({}), LlmRuntimeStatusSchema, { auth: "admin" }), method(object({ model: ManagedModelRefSchema }), _void(), {
|
|
13857
13888
|
kind: "mutation",
|
|
13858
|
-
auth: "admin"
|
|
13889
|
+
auth: "admin",
|
|
13890
|
+
timeoutMs: AI_MODEL_INSTALL_TIMEOUT_MS
|
|
13859
13891
|
}), method(object({ file: string() }), _void(), {
|
|
13860
13892
|
kind: "mutation",
|
|
13861
13893
|
auth: "admin"
|
|
@@ -14023,7 +14055,13 @@ var ProfileRefInputSchema = object({
|
|
|
14023
14055
|
addonId: string(),
|
|
14024
14056
|
profileId: string()
|
|
14025
14057
|
});
|
|
14026
|
-
method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
|
|
14058
|
+
method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
|
|
14059
|
+
kind: "mutation",
|
|
14060
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
14061
|
+
}), method(GenerateVisionInputSchema, LlmGenerateResultSchema, {
|
|
14062
|
+
kind: "mutation",
|
|
14063
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
14064
|
+
}), method(object({
|
|
14027
14065
|
addonId: string().optional(),
|
|
14028
14066
|
requestId: string()
|
|
14029
14067
|
}), _void(), { kind: "mutation" }), method(object({}), array(LlmProfileKindDescriptorSchema)), method(object({}), array(LlmProfileSchema)), method(object({ profile: LlmProfileSchema }), LlmProfileSchema, {
|
|
@@ -14034,7 +14072,8 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }
|
|
|
14034
14072
|
auth: "admin"
|
|
14035
14073
|
}), method(ProfileRefInputSchema, LlmGenerateResultSchema, {
|
|
14036
14074
|
kind: "mutation",
|
|
14037
|
-
auth: "admin"
|
|
14075
|
+
auth: "admin",
|
|
14076
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
14038
14077
|
}), method(ProfileRefInputSchema, array(string())), method(object({}), array(LlmDefaultSchema)), method(object({
|
|
14039
14078
|
selector: LlmDefaultSelectorSchema,
|
|
14040
14079
|
profileId: string().nullable()
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-provider-dreo",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.55",
|
|
4
4
|
"description": "Dreo smart-device (fan / air-circulator / purifier / heater / humidifier) device-provider addon for CamStack — wraps the @apocaliss92/nodedreo Dreo cloud client (REST + WebSocket)",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|