@camstack/addon-provider-dreo 0.2.53 → 0.2.56
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 +47 -27
- package/dist/addon.mjs +47 -27
- 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()
|
|
@@ -14499,17 +14538,6 @@ var ContainerMemoryPointSchema = object({
|
|
|
14499
14538
|
*/
|
|
14500
14539
|
gpuShmemBytes: number().nullable()
|
|
14501
14540
|
}).extend({ atMs: number() });
|
|
14502
|
-
var DumpHeapSnapshotInputSchema = object({
|
|
14503
|
-
/** The addon whose runner should dump a heap snapshot. */
|
|
14504
|
-
addonId: string() });
|
|
14505
|
-
var DumpHeapSnapshotResultSchema = object({
|
|
14506
|
-
success: boolean(),
|
|
14507
|
-
/** Path of the written .heapsnapshot inside the runner's container/host. */
|
|
14508
|
-
path: string().optional(),
|
|
14509
|
-
/** Process pid that was signalled. */
|
|
14510
|
-
pid: number().optional(),
|
|
14511
|
-
reason: string().optional()
|
|
14512
|
-
});
|
|
14513
14541
|
/**
|
|
14514
14542
|
* One point of one function's series.
|
|
14515
14543
|
*
|
|
@@ -14633,10 +14661,7 @@ var SystemMetricsSchema = object({
|
|
|
14633
14661
|
gpuPercent: number().optional(),
|
|
14634
14662
|
gpuMemoryPercent: number().optional()
|
|
14635
14663
|
});
|
|
14636
|
-
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)
|
|
14637
|
-
kind: "mutation",
|
|
14638
|
-
auth: "admin"
|
|
14639
|
-
});
|
|
14664
|
+
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);
|
|
14640
14665
|
method(object({
|
|
14641
14666
|
sourceUrl: string(),
|
|
14642
14667
|
metadata: ModelConvertMetadataSchema,
|
|
@@ -18948,7 +18973,8 @@ var MediaFileKindEnum = _enum([
|
|
|
18948
18973
|
"plateCrop",
|
|
18949
18974
|
"keyFrame",
|
|
18950
18975
|
"keyFrameSmall",
|
|
18951
|
-
"thumbnailSmall"
|
|
18976
|
+
"thumbnailSmall",
|
|
18977
|
+
"sceneFrame"
|
|
18952
18978
|
]);
|
|
18953
18979
|
/**
|
|
18954
18980
|
* One media row ON THE WIRE: what it is, how big it is, and WHERE ITS BYTES
|
|
@@ -35188,12 +35214,6 @@ Object.freeze({
|
|
|
35188
35214
|
addonId: null,
|
|
35189
35215
|
access: "view"
|
|
35190
35216
|
},
|
|
35191
|
-
"metricsProvider.dumpHeapSnapshot": {
|
|
35192
|
-
capName: "metrics-provider",
|
|
35193
|
-
capScope: "system",
|
|
35194
|
-
addonId: null,
|
|
35195
|
-
access: "create"
|
|
35196
|
-
},
|
|
35197
35217
|
"metricsProvider.getAddonStats": {
|
|
35198
35218
|
capName: "metrics-provider",
|
|
35199
35219
|
capScope: "system",
|
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()
|
|
@@ -14500,17 +14539,6 @@ var ContainerMemoryPointSchema = object({
|
|
|
14500
14539
|
*/
|
|
14501
14540
|
gpuShmemBytes: number().nullable()
|
|
14502
14541
|
}).extend({ atMs: number() });
|
|
14503
|
-
var DumpHeapSnapshotInputSchema = object({
|
|
14504
|
-
/** The addon whose runner should dump a heap snapshot. */
|
|
14505
|
-
addonId: string() });
|
|
14506
|
-
var DumpHeapSnapshotResultSchema = object({
|
|
14507
|
-
success: boolean(),
|
|
14508
|
-
/** Path of the written .heapsnapshot inside the runner's container/host. */
|
|
14509
|
-
path: string().optional(),
|
|
14510
|
-
/** Process pid that was signalled. */
|
|
14511
|
-
pid: number().optional(),
|
|
14512
|
-
reason: string().optional()
|
|
14513
|
-
});
|
|
14514
14542
|
/**
|
|
14515
14543
|
* One point of one function's series.
|
|
14516
14544
|
*
|
|
@@ -14634,10 +14662,7 @@ var SystemMetricsSchema = object({
|
|
|
14634
14662
|
gpuPercent: number().optional(),
|
|
14635
14663
|
gpuMemoryPercent: number().optional()
|
|
14636
14664
|
});
|
|
14637
|
-
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)
|
|
14638
|
-
kind: "mutation",
|
|
14639
|
-
auth: "admin"
|
|
14640
|
-
});
|
|
14665
|
+
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);
|
|
14641
14666
|
method(object({
|
|
14642
14667
|
sourceUrl: string(),
|
|
14643
14668
|
metadata: ModelConvertMetadataSchema,
|
|
@@ -18949,7 +18974,8 @@ var MediaFileKindEnum = _enum([
|
|
|
18949
18974
|
"plateCrop",
|
|
18950
18975
|
"keyFrame",
|
|
18951
18976
|
"keyFrameSmall",
|
|
18952
|
-
"thumbnailSmall"
|
|
18977
|
+
"thumbnailSmall",
|
|
18978
|
+
"sceneFrame"
|
|
18953
18979
|
]);
|
|
18954
18980
|
/**
|
|
18955
18981
|
* One media row ON THE WIRE: what it is, how big it is, and WHERE ITS BYTES
|
|
@@ -35189,12 +35215,6 @@ Object.freeze({
|
|
|
35189
35215
|
addonId: null,
|
|
35190
35216
|
access: "view"
|
|
35191
35217
|
},
|
|
35192
|
-
"metricsProvider.dumpHeapSnapshot": {
|
|
35193
|
-
capName: "metrics-provider",
|
|
35194
|
-
capScope: "system",
|
|
35195
|
-
addonId: null,
|
|
35196
|
-
access: "create"
|
|
35197
|
-
},
|
|
35198
35218
|
"metricsProvider.getAddonStats": {
|
|
35199
35219
|
capName: "metrics-provider",
|
|
35200
35220
|
capScope: "system",
|
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.56",
|
|
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",
|