@camstack/addon-mqtt-broker 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/mqtt-broker.addon.js +44 -5
- package/dist/mqtt-broker.addon.mjs +44 -5
- package/package.json +1 -1
|
@@ -13335,6 +13335,35 @@ method(_void(), array(string()).readonly(), { auth: "admin" }), method(object({
|
|
|
13335
13335
|
auth: "admin"
|
|
13336
13336
|
});
|
|
13337
13337
|
/**
|
|
13338
|
+
* Transport bounds for AI capability methods.
|
|
13339
|
+
*
|
|
13340
|
+
* Its own module because `llm.cap.ts` and `llm-runtime.cap.ts` already import
|
|
13341
|
+
* each other: declaring the constant in either one hands the other `undefined`
|
|
13342
|
+
* at module-init time, and an undefined `timeoutMs` silently falls back to the
|
|
13343
|
+
* kernel's 60 s default — the exact failure this constant exists to prevent,
|
|
13344
|
+
* reintroduced invisibly. Found by the guard, not by review.
|
|
13345
|
+
*/
|
|
13346
|
+
/**
|
|
13347
|
+
* Ceiling for a cap method that runs inference or loads a model.
|
|
13348
|
+
*
|
|
13349
|
+
* Deliberately far above anything the AI layer itself may wait for (a summary
|
|
13350
|
+
* asks 180 s by default, a rule may ask 600 s), because the TRANSPORT must
|
|
13351
|
+
* never be the layer that gives up first: when it does, the failure is
|
|
13352
|
+
* reported as a transport error for a model that was still thinking, naming
|
|
13353
|
+
* the wrong layer and hiding the real one.
|
|
13354
|
+
*
|
|
13355
|
+
* Measured 2026-09-03: a 6-image vision request needs 44.8 s warm and ~20 s
|
|
13356
|
+
* more on a cold model load. With no declaration every digest failed at
|
|
13357
|
+
* exactly 60 s and shipped without its text.
|
|
13358
|
+
*
|
|
13359
|
+
* A ceiling, not a budget. The AI layer's own timeouts (the rule's `timeoutMs`,
|
|
13360
|
+
* the profile's `timeoutMs` / `firstTokenTimeoutMs`) remain the things that
|
|
13361
|
+
* decide when to stop, because only they can say WHY.
|
|
13362
|
+
*/
|
|
13363
|
+
var AI_CAP_TRANSPORT_TIMEOUT_MS = 6e5;
|
|
13364
|
+
/** A multi-gigabyte download. An hour is not generous, it is honest. */
|
|
13365
|
+
var AI_MODEL_INSTALL_TIMEOUT_MS = 60 * 6e4;
|
|
13366
|
+
/**
|
|
13338
13367
|
* Shared LLM generate contracts — imported by BOTH `llm.cap.ts` (consumer
|
|
13339
13368
|
* surface) and `llm-runtime.cap.ts` (node-side managed executor) so the two
|
|
13340
13369
|
* caps stay wire-compatible without a circular cap→cap import.
|
|
@@ -13606,16 +13635,19 @@ method(LlmGenerateBaseInputSchema.extend({
|
|
|
13606
13635
|
timeoutMs: number().int().positive().optional()
|
|
13607
13636
|
}), LlmGenerateResultSchema, {
|
|
13608
13637
|
kind: "mutation",
|
|
13609
|
-
auth: "admin"
|
|
13638
|
+
auth: "admin",
|
|
13639
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13610
13640
|
}), method(object({ runtime: ManagedRuntimeConfigSchema }), LlmRuntimeStatusSchema, {
|
|
13611
13641
|
kind: "mutation",
|
|
13612
|
-
auth: "admin"
|
|
13642
|
+
auth: "admin",
|
|
13643
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13613
13644
|
}), method(object({}), _void(), {
|
|
13614
13645
|
kind: "mutation",
|
|
13615
13646
|
auth: "admin"
|
|
13616
13647
|
}), method(object({}), LlmRuntimeStatusSchema, { auth: "admin" }), method(object({ model: ManagedModelRefSchema }), _void(), {
|
|
13617
13648
|
kind: "mutation",
|
|
13618
|
-
auth: "admin"
|
|
13649
|
+
auth: "admin",
|
|
13650
|
+
timeoutMs: AI_MODEL_INSTALL_TIMEOUT_MS
|
|
13619
13651
|
}), method(object({ file: string() }), _void(), {
|
|
13620
13652
|
kind: "mutation",
|
|
13621
13653
|
auth: "admin"
|
|
@@ -13783,7 +13815,13 @@ var ProfileRefInputSchema = object({
|
|
|
13783
13815
|
addonId: string(),
|
|
13784
13816
|
profileId: string()
|
|
13785
13817
|
});
|
|
13786
|
-
method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
|
|
13818
|
+
method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
|
|
13819
|
+
kind: "mutation",
|
|
13820
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13821
|
+
}), method(GenerateVisionInputSchema, LlmGenerateResultSchema, {
|
|
13822
|
+
kind: "mutation",
|
|
13823
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13824
|
+
}), method(object({
|
|
13787
13825
|
addonId: string().optional(),
|
|
13788
13826
|
requestId: string()
|
|
13789
13827
|
}), _void(), { kind: "mutation" }), method(object({}), array(LlmProfileKindDescriptorSchema)), method(object({}), array(LlmProfileSchema)), method(object({ profile: LlmProfileSchema }), LlmProfileSchema, {
|
|
@@ -13794,7 +13832,8 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }
|
|
|
13794
13832
|
auth: "admin"
|
|
13795
13833
|
}), method(ProfileRefInputSchema, LlmGenerateResultSchema, {
|
|
13796
13834
|
kind: "mutation",
|
|
13797
|
-
auth: "admin"
|
|
13835
|
+
auth: "admin",
|
|
13836
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13798
13837
|
}), method(ProfileRefInputSchema, array(string())), method(object({}), array(LlmDefaultSchema)), method(object({
|
|
13799
13838
|
selector: LlmDefaultSelectorSchema,
|
|
13800
13839
|
profileId: string().nullable()
|
|
@@ -13330,6 +13330,35 @@ method(_void(), array(string()).readonly(), { auth: "admin" }), method(object({
|
|
|
13330
13330
|
auth: "admin"
|
|
13331
13331
|
});
|
|
13332
13332
|
/**
|
|
13333
|
+
* Transport bounds for AI capability methods.
|
|
13334
|
+
*
|
|
13335
|
+
* Its own module because `llm.cap.ts` and `llm-runtime.cap.ts` already import
|
|
13336
|
+
* each other: declaring the constant in either one hands the other `undefined`
|
|
13337
|
+
* at module-init time, and an undefined `timeoutMs` silently falls back to the
|
|
13338
|
+
* kernel's 60 s default — the exact failure this constant exists to prevent,
|
|
13339
|
+
* reintroduced invisibly. Found by the guard, not by review.
|
|
13340
|
+
*/
|
|
13341
|
+
/**
|
|
13342
|
+
* Ceiling for a cap method that runs inference or loads a model.
|
|
13343
|
+
*
|
|
13344
|
+
* Deliberately far above anything the AI layer itself may wait for (a summary
|
|
13345
|
+
* asks 180 s by default, a rule may ask 600 s), because the TRANSPORT must
|
|
13346
|
+
* never be the layer that gives up first: when it does, the failure is
|
|
13347
|
+
* reported as a transport error for a model that was still thinking, naming
|
|
13348
|
+
* the wrong layer and hiding the real one.
|
|
13349
|
+
*
|
|
13350
|
+
* Measured 2026-09-03: a 6-image vision request needs 44.8 s warm and ~20 s
|
|
13351
|
+
* more on a cold model load. With no declaration every digest failed at
|
|
13352
|
+
* exactly 60 s and shipped without its text.
|
|
13353
|
+
*
|
|
13354
|
+
* A ceiling, not a budget. The AI layer's own timeouts (the rule's `timeoutMs`,
|
|
13355
|
+
* the profile's `timeoutMs` / `firstTokenTimeoutMs`) remain the things that
|
|
13356
|
+
* decide when to stop, because only they can say WHY.
|
|
13357
|
+
*/
|
|
13358
|
+
var AI_CAP_TRANSPORT_TIMEOUT_MS = 6e5;
|
|
13359
|
+
/** A multi-gigabyte download. An hour is not generous, it is honest. */
|
|
13360
|
+
var AI_MODEL_INSTALL_TIMEOUT_MS = 60 * 6e4;
|
|
13361
|
+
/**
|
|
13333
13362
|
* Shared LLM generate contracts — imported by BOTH `llm.cap.ts` (consumer
|
|
13334
13363
|
* surface) and `llm-runtime.cap.ts` (node-side managed executor) so the two
|
|
13335
13364
|
* caps stay wire-compatible without a circular cap→cap import.
|
|
@@ -13601,16 +13630,19 @@ method(LlmGenerateBaseInputSchema.extend({
|
|
|
13601
13630
|
timeoutMs: number().int().positive().optional()
|
|
13602
13631
|
}), LlmGenerateResultSchema, {
|
|
13603
13632
|
kind: "mutation",
|
|
13604
|
-
auth: "admin"
|
|
13633
|
+
auth: "admin",
|
|
13634
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13605
13635
|
}), method(object({ runtime: ManagedRuntimeConfigSchema }), LlmRuntimeStatusSchema, {
|
|
13606
13636
|
kind: "mutation",
|
|
13607
|
-
auth: "admin"
|
|
13637
|
+
auth: "admin",
|
|
13638
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13608
13639
|
}), method(object({}), _void(), {
|
|
13609
13640
|
kind: "mutation",
|
|
13610
13641
|
auth: "admin"
|
|
13611
13642
|
}), method(object({}), LlmRuntimeStatusSchema, { auth: "admin" }), method(object({ model: ManagedModelRefSchema }), _void(), {
|
|
13612
13643
|
kind: "mutation",
|
|
13613
|
-
auth: "admin"
|
|
13644
|
+
auth: "admin",
|
|
13645
|
+
timeoutMs: AI_MODEL_INSTALL_TIMEOUT_MS
|
|
13614
13646
|
}), method(object({ file: string() }), _void(), {
|
|
13615
13647
|
kind: "mutation",
|
|
13616
13648
|
auth: "admin"
|
|
@@ -13778,7 +13810,13 @@ var ProfileRefInputSchema = object({
|
|
|
13778
13810
|
addonId: string(),
|
|
13779
13811
|
profileId: string()
|
|
13780
13812
|
});
|
|
13781
|
-
method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
|
|
13813
|
+
method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
|
|
13814
|
+
kind: "mutation",
|
|
13815
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13816
|
+
}), method(GenerateVisionInputSchema, LlmGenerateResultSchema, {
|
|
13817
|
+
kind: "mutation",
|
|
13818
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13819
|
+
}), method(object({
|
|
13782
13820
|
addonId: string().optional(),
|
|
13783
13821
|
requestId: string()
|
|
13784
13822
|
}), _void(), { kind: "mutation" }), method(object({}), array(LlmProfileKindDescriptorSchema)), method(object({}), array(LlmProfileSchema)), method(object({ profile: LlmProfileSchema }), LlmProfileSchema, {
|
|
@@ -13789,7 +13827,8 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }
|
|
|
13789
13827
|
auth: "admin"
|
|
13790
13828
|
}), method(ProfileRefInputSchema, LlmGenerateResultSchema, {
|
|
13791
13829
|
kind: "mutation",
|
|
13792
|
-
auth: "admin"
|
|
13830
|
+
auth: "admin",
|
|
13831
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
13793
13832
|
}), method(ProfileRefInputSchema, array(string())), method(object({}), array(LlmDefaultSchema)), method(object({
|
|
13794
13833
|
selector: LlmDefaultSelectorSchema,
|
|
13795
13834
|
profileId: string().nullable()
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-mqtt-broker",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.55",
|
|
4
4
|
"description": "MQTT broker registry addon for CamStack — manages external broker entries + an optional embedded aedes broker. Consumers spin up their own `mqtt.js` clients via the `mqtt-broker` cap.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|