@camstack/addon-export-hap 1.2.64 → 1.2.67
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/hap-export.addon.js +47 -27
- package/dist/hap-export.addon.mjs +47 -27
- package/package.json +1 -1
package/dist/hap-export.addon.js
CHANGED
|
@@ -14058,6 +14058,35 @@ method(_void(), array(string()).readonly(), { auth: "admin" }), method(object({
|
|
|
14058
14058
|
auth: "admin"
|
|
14059
14059
|
});
|
|
14060
14060
|
/**
|
|
14061
|
+
* Transport bounds for AI capability methods.
|
|
14062
|
+
*
|
|
14063
|
+
* Its own module because `llm.cap.ts` and `llm-runtime.cap.ts` already import
|
|
14064
|
+
* each other: declaring the constant in either one hands the other `undefined`
|
|
14065
|
+
* at module-init time, and an undefined `timeoutMs` silently falls back to the
|
|
14066
|
+
* kernel's 60 s default — the exact failure this constant exists to prevent,
|
|
14067
|
+
* reintroduced invisibly. Found by the guard, not by review.
|
|
14068
|
+
*/
|
|
14069
|
+
/**
|
|
14070
|
+
* Ceiling for a cap method that runs inference or loads a model.
|
|
14071
|
+
*
|
|
14072
|
+
* Deliberately far above anything the AI layer itself may wait for (a summary
|
|
14073
|
+
* asks 180 s by default, a rule may ask 600 s), because the TRANSPORT must
|
|
14074
|
+
* never be the layer that gives up first: when it does, the failure is
|
|
14075
|
+
* reported as a transport error for a model that was still thinking, naming
|
|
14076
|
+
* the wrong layer and hiding the real one.
|
|
14077
|
+
*
|
|
14078
|
+
* Measured 2026-09-03: a 6-image vision request needs 44.8 s warm and ~20 s
|
|
14079
|
+
* more on a cold model load. With no declaration every digest failed at
|
|
14080
|
+
* exactly 60 s and shipped without its text.
|
|
14081
|
+
*
|
|
14082
|
+
* A ceiling, not a budget. The AI layer's own timeouts (the rule's `timeoutMs`,
|
|
14083
|
+
* the profile's `timeoutMs` / `firstTokenTimeoutMs`) remain the things that
|
|
14084
|
+
* decide when to stop, because only they can say WHY.
|
|
14085
|
+
*/
|
|
14086
|
+
var AI_CAP_TRANSPORT_TIMEOUT_MS = 6e5;
|
|
14087
|
+
/** A multi-gigabyte download. An hour is not generous, it is honest. */
|
|
14088
|
+
var AI_MODEL_INSTALL_TIMEOUT_MS = 60 * 6e4;
|
|
14089
|
+
/**
|
|
14061
14090
|
* Shared LLM generate contracts — imported by BOTH `llm.cap.ts` (consumer
|
|
14062
14091
|
* surface) and `llm-runtime.cap.ts` (node-side managed executor) so the two
|
|
14063
14092
|
* caps stay wire-compatible without a circular cap→cap import.
|
|
@@ -14329,16 +14358,19 @@ method(LlmGenerateBaseInputSchema.extend({
|
|
|
14329
14358
|
timeoutMs: number().int().positive().optional()
|
|
14330
14359
|
}), LlmGenerateResultSchema, {
|
|
14331
14360
|
kind: "mutation",
|
|
14332
|
-
auth: "admin"
|
|
14361
|
+
auth: "admin",
|
|
14362
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
14333
14363
|
}), method(object({ runtime: ManagedRuntimeConfigSchema }), LlmRuntimeStatusSchema, {
|
|
14334
14364
|
kind: "mutation",
|
|
14335
|
-
auth: "admin"
|
|
14365
|
+
auth: "admin",
|
|
14366
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
14336
14367
|
}), method(object({}), _void(), {
|
|
14337
14368
|
kind: "mutation",
|
|
14338
14369
|
auth: "admin"
|
|
14339
14370
|
}), method(object({}), LlmRuntimeStatusSchema, { auth: "admin" }), method(object({ model: ManagedModelRefSchema }), _void(), {
|
|
14340
14371
|
kind: "mutation",
|
|
14341
|
-
auth: "admin"
|
|
14372
|
+
auth: "admin",
|
|
14373
|
+
timeoutMs: AI_MODEL_INSTALL_TIMEOUT_MS
|
|
14342
14374
|
}), method(object({ file: string() }), _void(), {
|
|
14343
14375
|
kind: "mutation",
|
|
14344
14376
|
auth: "admin"
|
|
@@ -14506,7 +14538,13 @@ var ProfileRefInputSchema = object({
|
|
|
14506
14538
|
addonId: string(),
|
|
14507
14539
|
profileId: string()
|
|
14508
14540
|
});
|
|
14509
|
-
method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
|
|
14541
|
+
method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
|
|
14542
|
+
kind: "mutation",
|
|
14543
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
14544
|
+
}), method(GenerateVisionInputSchema, LlmGenerateResultSchema, {
|
|
14545
|
+
kind: "mutation",
|
|
14546
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
14547
|
+
}), method(object({
|
|
14510
14548
|
addonId: string().optional(),
|
|
14511
14549
|
requestId: string()
|
|
14512
14550
|
}), _void(), { kind: "mutation" }), method(object({}), array(LlmProfileKindDescriptorSchema)), method(object({}), array(LlmProfileSchema)), method(object({ profile: LlmProfileSchema }), LlmProfileSchema, {
|
|
@@ -14517,7 +14555,8 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }
|
|
|
14517
14555
|
auth: "admin"
|
|
14518
14556
|
}), method(ProfileRefInputSchema, LlmGenerateResultSchema, {
|
|
14519
14557
|
kind: "mutation",
|
|
14520
|
-
auth: "admin"
|
|
14558
|
+
auth: "admin",
|
|
14559
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
14521
14560
|
}), method(ProfileRefInputSchema, array(string())), method(object({}), array(LlmDefaultSchema)), method(object({
|
|
14522
14561
|
selector: LlmDefaultSelectorSchema,
|
|
14523
14562
|
profileId: string().nullable()
|
|
@@ -14983,17 +15022,6 @@ var ContainerMemoryPointSchema = object({
|
|
|
14983
15022
|
*/
|
|
14984
15023
|
gpuShmemBytes: number().nullable()
|
|
14985
15024
|
}).extend({ atMs: number() });
|
|
14986
|
-
var DumpHeapSnapshotInputSchema = object({
|
|
14987
|
-
/** The addon whose runner should dump a heap snapshot. */
|
|
14988
|
-
addonId: string() });
|
|
14989
|
-
var DumpHeapSnapshotResultSchema = object({
|
|
14990
|
-
success: boolean(),
|
|
14991
|
-
/** Path of the written .heapsnapshot inside the runner's container/host. */
|
|
14992
|
-
path: string().optional(),
|
|
14993
|
-
/** Process pid that was signalled. */
|
|
14994
|
-
pid: number().optional(),
|
|
14995
|
-
reason: string().optional()
|
|
14996
|
-
});
|
|
14997
15025
|
/**
|
|
14998
15026
|
* One point of one function's series.
|
|
14999
15027
|
*
|
|
@@ -15117,10 +15145,7 @@ var SystemMetricsSchema = object({
|
|
|
15117
15145
|
gpuPercent: number().optional(),
|
|
15118
15146
|
gpuMemoryPercent: number().optional()
|
|
15119
15147
|
});
|
|
15120
|
-
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)
|
|
15121
|
-
kind: "mutation",
|
|
15122
|
-
auth: "admin"
|
|
15123
|
-
});
|
|
15148
|
+
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);
|
|
15124
15149
|
method(object({
|
|
15125
15150
|
sourceUrl: string(),
|
|
15126
15151
|
metadata: ModelConvertMetadataSchema,
|
|
@@ -19354,7 +19379,8 @@ var MediaFileKindEnum = _enum([
|
|
|
19354
19379
|
"plateCrop",
|
|
19355
19380
|
"keyFrame",
|
|
19356
19381
|
"keyFrameSmall",
|
|
19357
|
-
"thumbnailSmall"
|
|
19382
|
+
"thumbnailSmall",
|
|
19383
|
+
"sceneFrame"
|
|
19358
19384
|
]);
|
|
19359
19385
|
/**
|
|
19360
19386
|
* One media row ON THE WIRE: what it is, how big it is, and WHERE ITS BYTES
|
|
@@ -32245,12 +32271,6 @@ Object.freeze({
|
|
|
32245
32271
|
addonId: null,
|
|
32246
32272
|
access: "view"
|
|
32247
32273
|
},
|
|
32248
|
-
"metricsProvider.dumpHeapSnapshot": {
|
|
32249
|
-
capName: "metrics-provider",
|
|
32250
|
-
capScope: "system",
|
|
32251
|
-
addonId: null,
|
|
32252
|
-
access: "create"
|
|
32253
|
-
},
|
|
32254
32274
|
"metricsProvider.getAddonStats": {
|
|
32255
32275
|
capName: "metrics-provider",
|
|
32256
32276
|
capScope: "system",
|
|
@@ -14046,6 +14046,35 @@ method(_void(), array(string()).readonly(), { auth: "admin" }), method(object({
|
|
|
14046
14046
|
auth: "admin"
|
|
14047
14047
|
});
|
|
14048
14048
|
/**
|
|
14049
|
+
* Transport bounds for AI capability methods.
|
|
14050
|
+
*
|
|
14051
|
+
* Its own module because `llm.cap.ts` and `llm-runtime.cap.ts` already import
|
|
14052
|
+
* each other: declaring the constant in either one hands the other `undefined`
|
|
14053
|
+
* at module-init time, and an undefined `timeoutMs` silently falls back to the
|
|
14054
|
+
* kernel's 60 s default — the exact failure this constant exists to prevent,
|
|
14055
|
+
* reintroduced invisibly. Found by the guard, not by review.
|
|
14056
|
+
*/
|
|
14057
|
+
/**
|
|
14058
|
+
* Ceiling for a cap method that runs inference or loads a model.
|
|
14059
|
+
*
|
|
14060
|
+
* Deliberately far above anything the AI layer itself may wait for (a summary
|
|
14061
|
+
* asks 180 s by default, a rule may ask 600 s), because the TRANSPORT must
|
|
14062
|
+
* never be the layer that gives up first: when it does, the failure is
|
|
14063
|
+
* reported as a transport error for a model that was still thinking, naming
|
|
14064
|
+
* the wrong layer and hiding the real one.
|
|
14065
|
+
*
|
|
14066
|
+
* Measured 2026-09-03: a 6-image vision request needs 44.8 s warm and ~20 s
|
|
14067
|
+
* more on a cold model load. With no declaration every digest failed at
|
|
14068
|
+
* exactly 60 s and shipped without its text.
|
|
14069
|
+
*
|
|
14070
|
+
* A ceiling, not a budget. The AI layer's own timeouts (the rule's `timeoutMs`,
|
|
14071
|
+
* the profile's `timeoutMs` / `firstTokenTimeoutMs`) remain the things that
|
|
14072
|
+
* decide when to stop, because only they can say WHY.
|
|
14073
|
+
*/
|
|
14074
|
+
var AI_CAP_TRANSPORT_TIMEOUT_MS = 6e5;
|
|
14075
|
+
/** A multi-gigabyte download. An hour is not generous, it is honest. */
|
|
14076
|
+
var AI_MODEL_INSTALL_TIMEOUT_MS = 60 * 6e4;
|
|
14077
|
+
/**
|
|
14049
14078
|
* Shared LLM generate contracts — imported by BOTH `llm.cap.ts` (consumer
|
|
14050
14079
|
* surface) and `llm-runtime.cap.ts` (node-side managed executor) so the two
|
|
14051
14080
|
* caps stay wire-compatible without a circular cap→cap import.
|
|
@@ -14317,16 +14346,19 @@ method(LlmGenerateBaseInputSchema.extend({
|
|
|
14317
14346
|
timeoutMs: number().int().positive().optional()
|
|
14318
14347
|
}), LlmGenerateResultSchema, {
|
|
14319
14348
|
kind: "mutation",
|
|
14320
|
-
auth: "admin"
|
|
14349
|
+
auth: "admin",
|
|
14350
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
14321
14351
|
}), method(object({ runtime: ManagedRuntimeConfigSchema }), LlmRuntimeStatusSchema, {
|
|
14322
14352
|
kind: "mutation",
|
|
14323
|
-
auth: "admin"
|
|
14353
|
+
auth: "admin",
|
|
14354
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
14324
14355
|
}), method(object({}), _void(), {
|
|
14325
14356
|
kind: "mutation",
|
|
14326
14357
|
auth: "admin"
|
|
14327
14358
|
}), method(object({}), LlmRuntimeStatusSchema, { auth: "admin" }), method(object({ model: ManagedModelRefSchema }), _void(), {
|
|
14328
14359
|
kind: "mutation",
|
|
14329
|
-
auth: "admin"
|
|
14360
|
+
auth: "admin",
|
|
14361
|
+
timeoutMs: AI_MODEL_INSTALL_TIMEOUT_MS
|
|
14330
14362
|
}), method(object({ file: string() }), _void(), {
|
|
14331
14363
|
kind: "mutation",
|
|
14332
14364
|
auth: "admin"
|
|
@@ -14494,7 +14526,13 @@ var ProfileRefInputSchema = object({
|
|
|
14494
14526
|
addonId: string(),
|
|
14495
14527
|
profileId: string()
|
|
14496
14528
|
});
|
|
14497
|
-
method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
|
|
14529
|
+
method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
|
|
14530
|
+
kind: "mutation",
|
|
14531
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
14532
|
+
}), method(GenerateVisionInputSchema, LlmGenerateResultSchema, {
|
|
14533
|
+
kind: "mutation",
|
|
14534
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
14535
|
+
}), method(object({
|
|
14498
14536
|
addonId: string().optional(),
|
|
14499
14537
|
requestId: string()
|
|
14500
14538
|
}), _void(), { kind: "mutation" }), method(object({}), array(LlmProfileKindDescriptorSchema)), method(object({}), array(LlmProfileSchema)), method(object({ profile: LlmProfileSchema }), LlmProfileSchema, {
|
|
@@ -14505,7 +14543,8 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }
|
|
|
14505
14543
|
auth: "admin"
|
|
14506
14544
|
}), method(ProfileRefInputSchema, LlmGenerateResultSchema, {
|
|
14507
14545
|
kind: "mutation",
|
|
14508
|
-
auth: "admin"
|
|
14546
|
+
auth: "admin",
|
|
14547
|
+
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
14509
14548
|
}), method(ProfileRefInputSchema, array(string())), method(object({}), array(LlmDefaultSchema)), method(object({
|
|
14510
14549
|
selector: LlmDefaultSelectorSchema,
|
|
14511
14550
|
profileId: string().nullable()
|
|
@@ -14971,17 +15010,6 @@ var ContainerMemoryPointSchema = object({
|
|
|
14971
15010
|
*/
|
|
14972
15011
|
gpuShmemBytes: number().nullable()
|
|
14973
15012
|
}).extend({ atMs: number() });
|
|
14974
|
-
var DumpHeapSnapshotInputSchema = object({
|
|
14975
|
-
/** The addon whose runner should dump a heap snapshot. */
|
|
14976
|
-
addonId: string() });
|
|
14977
|
-
var DumpHeapSnapshotResultSchema = object({
|
|
14978
|
-
success: boolean(),
|
|
14979
|
-
/** Path of the written .heapsnapshot inside the runner's container/host. */
|
|
14980
|
-
path: string().optional(),
|
|
14981
|
-
/** Process pid that was signalled. */
|
|
14982
|
-
pid: number().optional(),
|
|
14983
|
-
reason: string().optional()
|
|
14984
|
-
});
|
|
14985
15013
|
/**
|
|
14986
15014
|
* One point of one function's series.
|
|
14987
15015
|
*
|
|
@@ -15105,10 +15133,7 @@ var SystemMetricsSchema = object({
|
|
|
15105
15133
|
gpuPercent: number().optional(),
|
|
15106
15134
|
gpuMemoryPercent: number().optional()
|
|
15107
15135
|
});
|
|
15108
|
-
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)
|
|
15109
|
-
kind: "mutation",
|
|
15110
|
-
auth: "admin"
|
|
15111
|
-
});
|
|
15136
|
+
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);
|
|
15112
15137
|
method(object({
|
|
15113
15138
|
sourceUrl: string(),
|
|
15114
15139
|
metadata: ModelConvertMetadataSchema,
|
|
@@ -19342,7 +19367,8 @@ var MediaFileKindEnum = _enum([
|
|
|
19342
19367
|
"plateCrop",
|
|
19343
19368
|
"keyFrame",
|
|
19344
19369
|
"keyFrameSmall",
|
|
19345
|
-
"thumbnailSmall"
|
|
19370
|
+
"thumbnailSmall",
|
|
19371
|
+
"sceneFrame"
|
|
19346
19372
|
]);
|
|
19347
19373
|
/**
|
|
19348
19374
|
* One media row ON THE WIRE: what it is, how big it is, and WHERE ITS BYTES
|
|
@@ -32233,12 +32259,6 @@ Object.freeze({
|
|
|
32233
32259
|
addonId: null,
|
|
32234
32260
|
access: "view"
|
|
32235
32261
|
},
|
|
32236
|
-
"metricsProvider.dumpHeapSnapshot": {
|
|
32237
|
-
capName: "metrics-provider",
|
|
32238
|
-
capScope: "system",
|
|
32239
|
-
addonId: null,
|
|
32240
|
-
access: "create"
|
|
32241
|
-
},
|
|
32242
32262
|
"metricsProvider.getAddonStats": {
|
|
32243
32263
|
capName: "metrics-provider",
|
|
32244
32264
|
capScope: "system",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-export-hap",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.67",
|
|
4
4
|
"description": "HomeKit (HAP) exporter for CamStack devices. Publishes each exposed device as its own HomeKit accessory: cameras and doorbells with SRTP streaming, HomeKit Secure Video, motion, two-way audio, PTZ and battery; switches, lights, locks and sensors through a capability→service table.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|