@camstack/addon-provider-hikvision 1.2.61 → 1.2.64

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 CHANGED
@@ -13828,6 +13828,35 @@ method(_void(), array(string()).readonly(), { auth: "admin" }), method(object({
13828
13828
  auth: "admin"
13829
13829
  });
13830
13830
  /**
13831
+ * Transport bounds for AI capability methods.
13832
+ *
13833
+ * Its own module because `llm.cap.ts` and `llm-runtime.cap.ts` already import
13834
+ * each other: declaring the constant in either one hands the other `undefined`
13835
+ * at module-init time, and an undefined `timeoutMs` silently falls back to the
13836
+ * kernel's 60 s default — the exact failure this constant exists to prevent,
13837
+ * reintroduced invisibly. Found by the guard, not by review.
13838
+ */
13839
+ /**
13840
+ * Ceiling for a cap method that runs inference or loads a model.
13841
+ *
13842
+ * Deliberately far above anything the AI layer itself may wait for (a summary
13843
+ * asks 180 s by default, a rule may ask 600 s), because the TRANSPORT must
13844
+ * never be the layer that gives up first: when it does, the failure is
13845
+ * reported as a transport error for a model that was still thinking, naming
13846
+ * the wrong layer and hiding the real one.
13847
+ *
13848
+ * Measured 2026-09-03: a 6-image vision request needs 44.8 s warm and ~20 s
13849
+ * more on a cold model load. With no declaration every digest failed at
13850
+ * exactly 60 s and shipped without its text.
13851
+ *
13852
+ * A ceiling, not a budget. The AI layer's own timeouts (the rule's `timeoutMs`,
13853
+ * the profile's `timeoutMs` / `firstTokenTimeoutMs`) remain the things that
13854
+ * decide when to stop, because only they can say WHY.
13855
+ */
13856
+ var AI_CAP_TRANSPORT_TIMEOUT_MS = 6e5;
13857
+ /** A multi-gigabyte download. An hour is not generous, it is honest. */
13858
+ var AI_MODEL_INSTALL_TIMEOUT_MS = 60 * 6e4;
13859
+ /**
13831
13860
  * Shared LLM generate contracts — imported by BOTH `llm.cap.ts` (consumer
13832
13861
  * surface) and `llm-runtime.cap.ts` (node-side managed executor) so the two
13833
13862
  * caps stay wire-compatible without a circular cap→cap import.
@@ -14099,16 +14128,19 @@ method(LlmGenerateBaseInputSchema.extend({
14099
14128
  timeoutMs: number().int().positive().optional()
14100
14129
  }), LlmGenerateResultSchema, {
14101
14130
  kind: "mutation",
14102
- auth: "admin"
14131
+ auth: "admin",
14132
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14103
14133
  }), method(object({ runtime: ManagedRuntimeConfigSchema }), LlmRuntimeStatusSchema, {
14104
14134
  kind: "mutation",
14105
- auth: "admin"
14135
+ auth: "admin",
14136
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14106
14137
  }), method(object({}), _void(), {
14107
14138
  kind: "mutation",
14108
14139
  auth: "admin"
14109
14140
  }), method(object({}), LlmRuntimeStatusSchema, { auth: "admin" }), method(object({ model: ManagedModelRefSchema }), _void(), {
14110
14141
  kind: "mutation",
14111
- auth: "admin"
14142
+ auth: "admin",
14143
+ timeoutMs: AI_MODEL_INSTALL_TIMEOUT_MS
14112
14144
  }), method(object({ file: string() }), _void(), {
14113
14145
  kind: "mutation",
14114
14146
  auth: "admin"
@@ -14276,7 +14308,13 @@ var ProfileRefInputSchema = object({
14276
14308
  addonId: string(),
14277
14309
  profileId: string()
14278
14310
  });
14279
- method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(object({
14311
+ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
14312
+ kind: "mutation",
14313
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14314
+ }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, {
14315
+ kind: "mutation",
14316
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14317
+ }), method(object({
14280
14318
  addonId: string().optional(),
14281
14319
  requestId: string()
14282
14320
  }), _void(), { kind: "mutation" }), method(object({}), array(LlmProfileKindDescriptorSchema)), method(object({}), array(LlmProfileSchema)), method(object({ profile: LlmProfileSchema }), LlmProfileSchema, {
@@ -14287,7 +14325,8 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }
14287
14325
  auth: "admin"
14288
14326
  }), method(ProfileRefInputSchema, LlmGenerateResultSchema, {
14289
14327
  kind: "mutation",
14290
- auth: "admin"
14328
+ auth: "admin",
14329
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14291
14330
  }), method(ProfileRefInputSchema, array(string())), method(object({}), array(LlmDefaultSchema)), method(object({
14292
14331
  selector: LlmDefaultSelectorSchema,
14293
14332
  profileId: string().nullable()
@@ -14753,17 +14792,6 @@ var ContainerMemoryPointSchema = object({
14753
14792
  */
14754
14793
  gpuShmemBytes: number().nullable()
14755
14794
  }).extend({ atMs: number() });
14756
- var DumpHeapSnapshotInputSchema = object({
14757
- /** The addon whose runner should dump a heap snapshot. */
14758
- addonId: string() });
14759
- var DumpHeapSnapshotResultSchema = object({
14760
- success: boolean(),
14761
- /** Path of the written .heapsnapshot inside the runner's container/host. */
14762
- path: string().optional(),
14763
- /** Process pid that was signalled. */
14764
- pid: number().optional(),
14765
- reason: string().optional()
14766
- });
14767
14795
  /**
14768
14796
  * One point of one function's series.
14769
14797
  *
@@ -14887,10 +14915,7 @@ var SystemMetricsSchema = object({
14887
14915
  gpuPercent: number().optional(),
14888
14916
  gpuMemoryPercent: number().optional()
14889
14917
  });
14890
- 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), method(DumpHeapSnapshotInputSchema, DumpHeapSnapshotResultSchema, {
14891
- kind: "mutation",
14892
- auth: "admin"
14893
- });
14918
+ 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);
14894
14919
  method(object({
14895
14920
  sourceUrl: string(),
14896
14921
  metadata: ModelConvertMetadataSchema,
@@ -19202,7 +19227,8 @@ var MediaFileKindEnum = _enum([
19202
19227
  "plateCrop",
19203
19228
  "keyFrame",
19204
19229
  "keyFrameSmall",
19205
- "thumbnailSmall"
19230
+ "thumbnailSmall",
19231
+ "sceneFrame"
19206
19232
  ]);
19207
19233
  /**
19208
19234
  * One media row ON THE WIRE: what it is, how big it is, and WHERE ITS BYTES
@@ -36102,12 +36128,6 @@ Object.freeze({
36102
36128
  addonId: null,
36103
36129
  access: "view"
36104
36130
  },
36105
- "metricsProvider.dumpHeapSnapshot": {
36106
- capName: "metrics-provider",
36107
- capScope: "system",
36108
- addonId: null,
36109
- access: "create"
36110
- },
36111
36131
  "metricsProvider.getAddonStats": {
36112
36132
  capName: "metrics-provider",
36113
36133
  capScope: "system",
package/dist/addon.mjs CHANGED
@@ -13829,6 +13829,35 @@ method(_void(), array(string()).readonly(), { auth: "admin" }), method(object({
13829
13829
  auth: "admin"
13830
13830
  });
13831
13831
  /**
13832
+ * Transport bounds for AI capability methods.
13833
+ *
13834
+ * Its own module because `llm.cap.ts` and `llm-runtime.cap.ts` already import
13835
+ * each other: declaring the constant in either one hands the other `undefined`
13836
+ * at module-init time, and an undefined `timeoutMs` silently falls back to the
13837
+ * kernel's 60 s default — the exact failure this constant exists to prevent,
13838
+ * reintroduced invisibly. Found by the guard, not by review.
13839
+ */
13840
+ /**
13841
+ * Ceiling for a cap method that runs inference or loads a model.
13842
+ *
13843
+ * Deliberately far above anything the AI layer itself may wait for (a summary
13844
+ * asks 180 s by default, a rule may ask 600 s), because the TRANSPORT must
13845
+ * never be the layer that gives up first: when it does, the failure is
13846
+ * reported as a transport error for a model that was still thinking, naming
13847
+ * the wrong layer and hiding the real one.
13848
+ *
13849
+ * Measured 2026-09-03: a 6-image vision request needs 44.8 s warm and ~20 s
13850
+ * more on a cold model load. With no declaration every digest failed at
13851
+ * exactly 60 s and shipped without its text.
13852
+ *
13853
+ * A ceiling, not a budget. The AI layer's own timeouts (the rule's `timeoutMs`,
13854
+ * the profile's `timeoutMs` / `firstTokenTimeoutMs`) remain the things that
13855
+ * decide when to stop, because only they can say WHY.
13856
+ */
13857
+ var AI_CAP_TRANSPORT_TIMEOUT_MS = 6e5;
13858
+ /** A multi-gigabyte download. An hour is not generous, it is honest. */
13859
+ var AI_MODEL_INSTALL_TIMEOUT_MS = 60 * 6e4;
13860
+ /**
13832
13861
  * Shared LLM generate contracts — imported by BOTH `llm.cap.ts` (consumer
13833
13862
  * surface) and `llm-runtime.cap.ts` (node-side managed executor) so the two
13834
13863
  * caps stay wire-compatible without a circular cap→cap import.
@@ -14100,16 +14129,19 @@ method(LlmGenerateBaseInputSchema.extend({
14100
14129
  timeoutMs: number().int().positive().optional()
14101
14130
  }), LlmGenerateResultSchema, {
14102
14131
  kind: "mutation",
14103
- auth: "admin"
14132
+ auth: "admin",
14133
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14104
14134
  }), method(object({ runtime: ManagedRuntimeConfigSchema }), LlmRuntimeStatusSchema, {
14105
14135
  kind: "mutation",
14106
- auth: "admin"
14136
+ auth: "admin",
14137
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14107
14138
  }), method(object({}), _void(), {
14108
14139
  kind: "mutation",
14109
14140
  auth: "admin"
14110
14141
  }), method(object({}), LlmRuntimeStatusSchema, { auth: "admin" }), method(object({ model: ManagedModelRefSchema }), _void(), {
14111
14142
  kind: "mutation",
14112
- auth: "admin"
14143
+ auth: "admin",
14144
+ timeoutMs: AI_MODEL_INSTALL_TIMEOUT_MS
14113
14145
  }), method(object({ file: string() }), _void(), {
14114
14146
  kind: "mutation",
14115
14147
  auth: "admin"
@@ -14277,7 +14309,13 @@ var ProfileRefInputSchema = object({
14277
14309
  addonId: string(),
14278
14310
  profileId: string()
14279
14311
  });
14280
- method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(object({
14312
+ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
14313
+ kind: "mutation",
14314
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14315
+ }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, {
14316
+ kind: "mutation",
14317
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14318
+ }), method(object({
14281
14319
  addonId: string().optional(),
14282
14320
  requestId: string()
14283
14321
  }), _void(), { kind: "mutation" }), method(object({}), array(LlmProfileKindDescriptorSchema)), method(object({}), array(LlmProfileSchema)), method(object({ profile: LlmProfileSchema }), LlmProfileSchema, {
@@ -14288,7 +14326,8 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }
14288
14326
  auth: "admin"
14289
14327
  }), method(ProfileRefInputSchema, LlmGenerateResultSchema, {
14290
14328
  kind: "mutation",
14291
- auth: "admin"
14329
+ auth: "admin",
14330
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14292
14331
  }), method(ProfileRefInputSchema, array(string())), method(object({}), array(LlmDefaultSchema)), method(object({
14293
14332
  selector: LlmDefaultSelectorSchema,
14294
14333
  profileId: string().nullable()
@@ -14754,17 +14793,6 @@ var ContainerMemoryPointSchema = object({
14754
14793
  */
14755
14794
  gpuShmemBytes: number().nullable()
14756
14795
  }).extend({ atMs: number() });
14757
- var DumpHeapSnapshotInputSchema = object({
14758
- /** The addon whose runner should dump a heap snapshot. */
14759
- addonId: string() });
14760
- var DumpHeapSnapshotResultSchema = object({
14761
- success: boolean(),
14762
- /** Path of the written .heapsnapshot inside the runner's container/host. */
14763
- path: string().optional(),
14764
- /** Process pid that was signalled. */
14765
- pid: number().optional(),
14766
- reason: string().optional()
14767
- });
14768
14796
  /**
14769
14797
  * One point of one function's series.
14770
14798
  *
@@ -14888,10 +14916,7 @@ var SystemMetricsSchema = object({
14888
14916
  gpuPercent: number().optional(),
14889
14917
  gpuMemoryPercent: number().optional()
14890
14918
  });
14891
- 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), method(DumpHeapSnapshotInputSchema, DumpHeapSnapshotResultSchema, {
14892
- kind: "mutation",
14893
- auth: "admin"
14894
- });
14919
+ 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);
14895
14920
  method(object({
14896
14921
  sourceUrl: string(),
14897
14922
  metadata: ModelConvertMetadataSchema,
@@ -19203,7 +19228,8 @@ var MediaFileKindEnum = _enum([
19203
19228
  "plateCrop",
19204
19229
  "keyFrame",
19205
19230
  "keyFrameSmall",
19206
- "thumbnailSmall"
19231
+ "thumbnailSmall",
19232
+ "sceneFrame"
19207
19233
  ]);
19208
19234
  /**
19209
19235
  * One media row ON THE WIRE: what it is, how big it is, and WHERE ITS BYTES
@@ -36103,12 +36129,6 @@ Object.freeze({
36103
36129
  addonId: null,
36104
36130
  access: "view"
36105
36131
  },
36106
- "metricsProvider.dumpHeapSnapshot": {
36107
- capName: "metrics-provider",
36108
- capScope: "system",
36109
- addonId: null,
36110
- access: "create"
36111
- },
36112
36132
  "metricsProvider.getAddonStats": {
36113
36133
  capName: "metrics-provider",
36114
36134
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-hikvision",
3
- "version": "1.2.61",
3
+ "version": "1.2.64",
4
4
  "description": "Hikvision camera device provider addon for CamStack — ISAPI over HTTP(S) with digest auth (snapshot, alarm stream, RTSP discovery)",
5
5
  "keywords": [
6
6
  "camstack",