@camstack/addon-provider-rademacher 0.2.52 → 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 CHANGED
@@ -14506,6 +14506,35 @@ method(_void(), array(string()).readonly(), { auth: "admin" }), method(object({
14506
14506
  auth: "admin"
14507
14507
  });
14508
14508
  /**
14509
+ * Transport bounds for AI capability methods.
14510
+ *
14511
+ * Its own module because `llm.cap.ts` and `llm-runtime.cap.ts` already import
14512
+ * each other: declaring the constant in either one hands the other `undefined`
14513
+ * at module-init time, and an undefined `timeoutMs` silently falls back to the
14514
+ * kernel's 60 s default — the exact failure this constant exists to prevent,
14515
+ * reintroduced invisibly. Found by the guard, not by review.
14516
+ */
14517
+ /**
14518
+ * Ceiling for a cap method that runs inference or loads a model.
14519
+ *
14520
+ * Deliberately far above anything the AI layer itself may wait for (a summary
14521
+ * asks 180 s by default, a rule may ask 600 s), because the TRANSPORT must
14522
+ * never be the layer that gives up first: when it does, the failure is
14523
+ * reported as a transport error for a model that was still thinking, naming
14524
+ * the wrong layer and hiding the real one.
14525
+ *
14526
+ * Measured 2026-09-03: a 6-image vision request needs 44.8 s warm and ~20 s
14527
+ * more on a cold model load. With no declaration every digest failed at
14528
+ * exactly 60 s and shipped without its text.
14529
+ *
14530
+ * A ceiling, not a budget. The AI layer's own timeouts (the rule's `timeoutMs`,
14531
+ * the profile's `timeoutMs` / `firstTokenTimeoutMs`) remain the things that
14532
+ * decide when to stop, because only they can say WHY.
14533
+ */
14534
+ var AI_CAP_TRANSPORT_TIMEOUT_MS = 6e5;
14535
+ /** A multi-gigabyte download. An hour is not generous, it is honest. */
14536
+ var AI_MODEL_INSTALL_TIMEOUT_MS = 60 * 6e4;
14537
+ /**
14509
14538
  * Shared LLM generate contracts — imported by BOTH `llm.cap.ts` (consumer
14510
14539
  * surface) and `llm-runtime.cap.ts` (node-side managed executor) so the two
14511
14540
  * caps stay wire-compatible without a circular cap→cap import.
@@ -14777,16 +14806,19 @@ method(LlmGenerateBaseInputSchema.extend({
14777
14806
  timeoutMs: number().int().positive().optional()
14778
14807
  }), LlmGenerateResultSchema, {
14779
14808
  kind: "mutation",
14780
- auth: "admin"
14809
+ auth: "admin",
14810
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14781
14811
  }), method(object({ runtime: ManagedRuntimeConfigSchema }), LlmRuntimeStatusSchema, {
14782
14812
  kind: "mutation",
14783
- auth: "admin"
14813
+ auth: "admin",
14814
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14784
14815
  }), method(object({}), _void(), {
14785
14816
  kind: "mutation",
14786
14817
  auth: "admin"
14787
14818
  }), method(object({}), LlmRuntimeStatusSchema, { auth: "admin" }), method(object({ model: ManagedModelRefSchema }), _void(), {
14788
14819
  kind: "mutation",
14789
- auth: "admin"
14820
+ auth: "admin",
14821
+ timeoutMs: AI_MODEL_INSTALL_TIMEOUT_MS
14790
14822
  }), method(object({ file: string() }), _void(), {
14791
14823
  kind: "mutation",
14792
14824
  auth: "admin"
@@ -14954,7 +14986,13 @@ var ProfileRefInputSchema = object({
14954
14986
  addonId: string(),
14955
14987
  profileId: string()
14956
14988
  });
14957
- method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(object({
14989
+ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
14990
+ kind: "mutation",
14991
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14992
+ }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, {
14993
+ kind: "mutation",
14994
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14995
+ }), method(object({
14958
14996
  addonId: string().optional(),
14959
14997
  requestId: string()
14960
14998
  }), _void(), { kind: "mutation" }), method(object({}), array(LlmProfileKindDescriptorSchema)), method(object({}), array(LlmProfileSchema)), method(object({ profile: LlmProfileSchema }), LlmProfileSchema, {
@@ -14965,7 +15003,8 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }
14965
15003
  auth: "admin"
14966
15004
  }), method(ProfileRefInputSchema, LlmGenerateResultSchema, {
14967
15005
  kind: "mutation",
14968
- auth: "admin"
15006
+ auth: "admin",
15007
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14969
15008
  }), method(ProfileRefInputSchema, array(string())), method(object({}), array(LlmDefaultSchema)), method(object({
14970
15009
  selector: LlmDefaultSelectorSchema,
14971
15010
  profileId: string().nullable()
@@ -15431,17 +15470,6 @@ var ContainerMemoryPointSchema = object({
15431
15470
  */
15432
15471
  gpuShmemBytes: number().nullable()
15433
15472
  }).extend({ atMs: number() });
15434
- var DumpHeapSnapshotInputSchema = object({
15435
- /** The addon whose runner should dump a heap snapshot. */
15436
- addonId: string() });
15437
- var DumpHeapSnapshotResultSchema = object({
15438
- success: boolean(),
15439
- /** Path of the written .heapsnapshot inside the runner's container/host. */
15440
- path: string().optional(),
15441
- /** Process pid that was signalled. */
15442
- pid: number().optional(),
15443
- reason: string().optional()
15444
- });
15445
15473
  /**
15446
15474
  * One point of one function's series.
15447
15475
  *
@@ -15565,10 +15593,7 @@ var SystemMetricsSchema = object({
15565
15593
  gpuPercent: number().optional(),
15566
15594
  gpuMemoryPercent: number().optional()
15567
15595
  });
15568
- 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, {
15569
- kind: "mutation",
15570
- auth: "admin"
15571
- });
15596
+ 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);
15572
15597
  method(object({
15573
15598
  sourceUrl: string(),
15574
15599
  metadata: ModelConvertMetadataSchema,
@@ -19880,7 +19905,8 @@ var MediaFileKindEnum = _enum([
19880
19905
  "plateCrop",
19881
19906
  "keyFrame",
19882
19907
  "keyFrameSmall",
19883
- "thumbnailSmall"
19908
+ "thumbnailSmall",
19909
+ "sceneFrame"
19884
19910
  ]);
19885
19911
  /**
19886
19912
  * One media row ON THE WIRE: what it is, how big it is, and WHERE ITS BYTES
@@ -36112,12 +36138,6 @@ Object.freeze({
36112
36138
  addonId: null,
36113
36139
  access: "view"
36114
36140
  },
36115
- "metricsProvider.dumpHeapSnapshot": {
36116
- capName: "metrics-provider",
36117
- capScope: "system",
36118
- addonId: null,
36119
- access: "create"
36120
- },
36121
36141
  "metricsProvider.getAddonStats": {
36122
36142
  capName: "metrics-provider",
36123
36143
  capScope: "system",
package/dist/addon.mjs CHANGED
@@ -14505,6 +14505,35 @@ method(_void(), array(string()).readonly(), { auth: "admin" }), method(object({
14505
14505
  auth: "admin"
14506
14506
  });
14507
14507
  /**
14508
+ * Transport bounds for AI capability methods.
14509
+ *
14510
+ * Its own module because `llm.cap.ts` and `llm-runtime.cap.ts` already import
14511
+ * each other: declaring the constant in either one hands the other `undefined`
14512
+ * at module-init time, and an undefined `timeoutMs` silently falls back to the
14513
+ * kernel's 60 s default — the exact failure this constant exists to prevent,
14514
+ * reintroduced invisibly. Found by the guard, not by review.
14515
+ */
14516
+ /**
14517
+ * Ceiling for a cap method that runs inference or loads a model.
14518
+ *
14519
+ * Deliberately far above anything the AI layer itself may wait for (a summary
14520
+ * asks 180 s by default, a rule may ask 600 s), because the TRANSPORT must
14521
+ * never be the layer that gives up first: when it does, the failure is
14522
+ * reported as a transport error for a model that was still thinking, naming
14523
+ * the wrong layer and hiding the real one.
14524
+ *
14525
+ * Measured 2026-09-03: a 6-image vision request needs 44.8 s warm and ~20 s
14526
+ * more on a cold model load. With no declaration every digest failed at
14527
+ * exactly 60 s and shipped without its text.
14528
+ *
14529
+ * A ceiling, not a budget. The AI layer's own timeouts (the rule's `timeoutMs`,
14530
+ * the profile's `timeoutMs` / `firstTokenTimeoutMs`) remain the things that
14531
+ * decide when to stop, because only they can say WHY.
14532
+ */
14533
+ var AI_CAP_TRANSPORT_TIMEOUT_MS = 6e5;
14534
+ /** A multi-gigabyte download. An hour is not generous, it is honest. */
14535
+ var AI_MODEL_INSTALL_TIMEOUT_MS = 60 * 6e4;
14536
+ /**
14508
14537
  * Shared LLM generate contracts — imported by BOTH `llm.cap.ts` (consumer
14509
14538
  * surface) and `llm-runtime.cap.ts` (node-side managed executor) so the two
14510
14539
  * caps stay wire-compatible without a circular cap→cap import.
@@ -14776,16 +14805,19 @@ method(LlmGenerateBaseInputSchema.extend({
14776
14805
  timeoutMs: number().int().positive().optional()
14777
14806
  }), LlmGenerateResultSchema, {
14778
14807
  kind: "mutation",
14779
- auth: "admin"
14808
+ auth: "admin",
14809
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14780
14810
  }), method(object({ runtime: ManagedRuntimeConfigSchema }), LlmRuntimeStatusSchema, {
14781
14811
  kind: "mutation",
14782
- auth: "admin"
14812
+ auth: "admin",
14813
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14783
14814
  }), method(object({}), _void(), {
14784
14815
  kind: "mutation",
14785
14816
  auth: "admin"
14786
14817
  }), method(object({}), LlmRuntimeStatusSchema, { auth: "admin" }), method(object({ model: ManagedModelRefSchema }), _void(), {
14787
14818
  kind: "mutation",
14788
- auth: "admin"
14819
+ auth: "admin",
14820
+ timeoutMs: AI_MODEL_INSTALL_TIMEOUT_MS
14789
14821
  }), method(object({ file: string() }), _void(), {
14790
14822
  kind: "mutation",
14791
14823
  auth: "admin"
@@ -14953,7 +14985,13 @@ var ProfileRefInputSchema = object({
14953
14985
  addonId: string(),
14954
14986
  profileId: string()
14955
14987
  });
14956
- method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(object({
14988
+ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
14989
+ kind: "mutation",
14990
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14991
+ }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, {
14992
+ kind: "mutation",
14993
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14994
+ }), method(object({
14957
14995
  addonId: string().optional(),
14958
14996
  requestId: string()
14959
14997
  }), _void(), { kind: "mutation" }), method(object({}), array(LlmProfileKindDescriptorSchema)), method(object({}), array(LlmProfileSchema)), method(object({ profile: LlmProfileSchema }), LlmProfileSchema, {
@@ -14964,7 +15002,8 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }
14964
15002
  auth: "admin"
14965
15003
  }), method(ProfileRefInputSchema, LlmGenerateResultSchema, {
14966
15004
  kind: "mutation",
14967
- auth: "admin"
15005
+ auth: "admin",
15006
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14968
15007
  }), method(ProfileRefInputSchema, array(string())), method(object({}), array(LlmDefaultSchema)), method(object({
14969
15008
  selector: LlmDefaultSelectorSchema,
14970
15009
  profileId: string().nullable()
@@ -15430,17 +15469,6 @@ var ContainerMemoryPointSchema = object({
15430
15469
  */
15431
15470
  gpuShmemBytes: number().nullable()
15432
15471
  }).extend({ atMs: number() });
15433
- var DumpHeapSnapshotInputSchema = object({
15434
- /** The addon whose runner should dump a heap snapshot. */
15435
- addonId: string() });
15436
- var DumpHeapSnapshotResultSchema = object({
15437
- success: boolean(),
15438
- /** Path of the written .heapsnapshot inside the runner's container/host. */
15439
- path: string().optional(),
15440
- /** Process pid that was signalled. */
15441
- pid: number().optional(),
15442
- reason: string().optional()
15443
- });
15444
15472
  /**
15445
15473
  * One point of one function's series.
15446
15474
  *
@@ -15564,10 +15592,7 @@ var SystemMetricsSchema = object({
15564
15592
  gpuPercent: number().optional(),
15565
15593
  gpuMemoryPercent: number().optional()
15566
15594
  });
15567
- 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, {
15568
- kind: "mutation",
15569
- auth: "admin"
15570
- });
15595
+ 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);
15571
15596
  method(object({
15572
15597
  sourceUrl: string(),
15573
15598
  metadata: ModelConvertMetadataSchema,
@@ -19879,7 +19904,8 @@ var MediaFileKindEnum = _enum([
19879
19904
  "plateCrop",
19880
19905
  "keyFrame",
19881
19906
  "keyFrameSmall",
19882
- "thumbnailSmall"
19907
+ "thumbnailSmall",
19908
+ "sceneFrame"
19883
19909
  ]);
19884
19910
  /**
19885
19911
  * One media row ON THE WIRE: what it is, how big it is, and WHERE ITS BYTES
@@ -36111,12 +36137,6 @@ Object.freeze({
36111
36137
  addonId: null,
36112
36138
  access: "view"
36113
36139
  },
36114
- "metricsProvider.dumpHeapSnapshot": {
36115
- capName: "metrics-provider",
36116
- capScope: "system",
36117
- addonId: null,
36118
- access: "create"
36119
- },
36120
36140
  "metricsProvider.getAddonStats": {
36121
36141
  capName: "metrics-provider",
36122
36142
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-rademacher",
3
- "version": "0.2.52",
3
+ "version": "0.2.55",
4
4
  "description": "Rademacher HomePilot device-provider addon for CamStack — wraps the @apocaliss92/noderademacher local-hub client (roller shutters over the cover cap)",
5
5
  "keywords": [
6
6
  "camstack",