@camstack/addon-terminal 0.1.58 → 0.1.61

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
@@ -13565,6 +13565,35 @@ method(_void(), array(string()).readonly(), { auth: "admin" }), method(object({
13565
13565
  auth: "admin"
13566
13566
  });
13567
13567
  /**
13568
+ * Transport bounds for AI capability methods.
13569
+ *
13570
+ * Its own module because `llm.cap.ts` and `llm-runtime.cap.ts` already import
13571
+ * each other: declaring the constant in either one hands the other `undefined`
13572
+ * at module-init time, and an undefined `timeoutMs` silently falls back to the
13573
+ * kernel's 60 s default — the exact failure this constant exists to prevent,
13574
+ * reintroduced invisibly. Found by the guard, not by review.
13575
+ */
13576
+ /**
13577
+ * Ceiling for a cap method that runs inference or loads a model.
13578
+ *
13579
+ * Deliberately far above anything the AI layer itself may wait for (a summary
13580
+ * asks 180 s by default, a rule may ask 600 s), because the TRANSPORT must
13581
+ * never be the layer that gives up first: when it does, the failure is
13582
+ * reported as a transport error for a model that was still thinking, naming
13583
+ * the wrong layer and hiding the real one.
13584
+ *
13585
+ * Measured 2026-09-03: a 6-image vision request needs 44.8 s warm and ~20 s
13586
+ * more on a cold model load. With no declaration every digest failed at
13587
+ * exactly 60 s and shipped without its text.
13588
+ *
13589
+ * A ceiling, not a budget. The AI layer's own timeouts (the rule's `timeoutMs`,
13590
+ * the profile's `timeoutMs` / `firstTokenTimeoutMs`) remain the things that
13591
+ * decide when to stop, because only they can say WHY.
13592
+ */
13593
+ var AI_CAP_TRANSPORT_TIMEOUT_MS = 6e5;
13594
+ /** A multi-gigabyte download. An hour is not generous, it is honest. */
13595
+ var AI_MODEL_INSTALL_TIMEOUT_MS = 60 * 6e4;
13596
+ /**
13568
13597
  * Shared LLM generate contracts — imported by BOTH `llm.cap.ts` (consumer
13569
13598
  * surface) and `llm-runtime.cap.ts` (node-side managed executor) so the two
13570
13599
  * caps stay wire-compatible without a circular cap→cap import.
@@ -13836,16 +13865,19 @@ method(LlmGenerateBaseInputSchema.extend({
13836
13865
  timeoutMs: number().int().positive().optional()
13837
13866
  }), LlmGenerateResultSchema, {
13838
13867
  kind: "mutation",
13839
- auth: "admin"
13868
+ auth: "admin",
13869
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13840
13870
  }), method(object({ runtime: ManagedRuntimeConfigSchema }), LlmRuntimeStatusSchema, {
13841
13871
  kind: "mutation",
13842
- auth: "admin"
13872
+ auth: "admin",
13873
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13843
13874
  }), method(object({}), _void(), {
13844
13875
  kind: "mutation",
13845
13876
  auth: "admin"
13846
13877
  }), method(object({}), LlmRuntimeStatusSchema, { auth: "admin" }), method(object({ model: ManagedModelRefSchema }), _void(), {
13847
13878
  kind: "mutation",
13848
- auth: "admin"
13879
+ auth: "admin",
13880
+ timeoutMs: AI_MODEL_INSTALL_TIMEOUT_MS
13849
13881
  }), method(object({ file: string() }), _void(), {
13850
13882
  kind: "mutation",
13851
13883
  auth: "admin"
@@ -14013,7 +14045,13 @@ var ProfileRefInputSchema = object({
14013
14045
  addonId: string(),
14014
14046
  profileId: string()
14015
14047
  });
14016
- method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(object({
14048
+ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
14049
+ kind: "mutation",
14050
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14051
+ }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, {
14052
+ kind: "mutation",
14053
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14054
+ }), method(object({
14017
14055
  addonId: string().optional(),
14018
14056
  requestId: string()
14019
14057
  }), _void(), { kind: "mutation" }), method(object({}), array(LlmProfileKindDescriptorSchema)), method(object({}), array(LlmProfileSchema)), method(object({ profile: LlmProfileSchema }), LlmProfileSchema, {
@@ -14024,7 +14062,8 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }
14024
14062
  auth: "admin"
14025
14063
  }), method(ProfileRefInputSchema, LlmGenerateResultSchema, {
14026
14064
  kind: "mutation",
14027
- auth: "admin"
14065
+ auth: "admin",
14066
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14028
14067
  }), method(ProfileRefInputSchema, array(string())), method(object({}), array(LlmDefaultSchema)), method(object({
14029
14068
  selector: LlmDefaultSelectorSchema,
14030
14069
  profileId: string().nullable()
@@ -14490,17 +14529,6 @@ var ContainerMemoryPointSchema = object({
14490
14529
  */
14491
14530
  gpuShmemBytes: number().nullable()
14492
14531
  }).extend({ atMs: number() });
14493
- var DumpHeapSnapshotInputSchema = object({
14494
- /** The addon whose runner should dump a heap snapshot. */
14495
- addonId: string() });
14496
- var DumpHeapSnapshotResultSchema = object({
14497
- success: boolean(),
14498
- /** Path of the written .heapsnapshot inside the runner's container/host. */
14499
- path: string().optional(),
14500
- /** Process pid that was signalled. */
14501
- pid: number().optional(),
14502
- reason: string().optional()
14503
- });
14504
14532
  /**
14505
14533
  * One point of one function's series.
14506
14534
  *
@@ -14624,10 +14652,7 @@ var SystemMetricsSchema = object({
14624
14652
  gpuPercent: number().optional(),
14625
14653
  gpuMemoryPercent: number().optional()
14626
14654
  });
14627
- 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, {
14628
- kind: "mutation",
14629
- auth: "admin"
14630
- });
14655
+ 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);
14631
14656
  method(object({
14632
14657
  sourceUrl: string(),
14633
14658
  metadata: ModelConvertMetadataSchema,
@@ -18939,7 +18964,8 @@ var MediaFileKindEnum = _enum([
18939
18964
  "plateCrop",
18940
18965
  "keyFrame",
18941
18966
  "keyFrameSmall",
18942
- "thumbnailSmall"
18967
+ "thumbnailSmall",
18968
+ "sceneFrame"
18943
18969
  ]);
18944
18970
  /**
18945
18971
  * One media row ON THE WIRE: what it is, how big it is, and WHERE ITS BYTES
@@ -35317,12 +35343,6 @@ Object.freeze({
35317
35343
  addonId: null,
35318
35344
  access: "view"
35319
35345
  },
35320
- "metricsProvider.dumpHeapSnapshot": {
35321
- capName: "metrics-provider",
35322
- capScope: "system",
35323
- addonId: null,
35324
- access: "create"
35325
- },
35326
35346
  "metricsProvider.getAddonStats": {
35327
35347
  capName: "metrics-provider",
35328
35348
  capScope: "system",
package/dist/addon.mjs CHANGED
@@ -13542,6 +13542,35 @@ method(_void(), array(string()).readonly(), { auth: "admin" }), method(object({
13542
13542
  auth: "admin"
13543
13543
  });
13544
13544
  /**
13545
+ * Transport bounds for AI capability methods.
13546
+ *
13547
+ * Its own module because `llm.cap.ts` and `llm-runtime.cap.ts` already import
13548
+ * each other: declaring the constant in either one hands the other `undefined`
13549
+ * at module-init time, and an undefined `timeoutMs` silently falls back to the
13550
+ * kernel's 60 s default — the exact failure this constant exists to prevent,
13551
+ * reintroduced invisibly. Found by the guard, not by review.
13552
+ */
13553
+ /**
13554
+ * Ceiling for a cap method that runs inference or loads a model.
13555
+ *
13556
+ * Deliberately far above anything the AI layer itself may wait for (a summary
13557
+ * asks 180 s by default, a rule may ask 600 s), because the TRANSPORT must
13558
+ * never be the layer that gives up first: when it does, the failure is
13559
+ * reported as a transport error for a model that was still thinking, naming
13560
+ * the wrong layer and hiding the real one.
13561
+ *
13562
+ * Measured 2026-09-03: a 6-image vision request needs 44.8 s warm and ~20 s
13563
+ * more on a cold model load. With no declaration every digest failed at
13564
+ * exactly 60 s and shipped without its text.
13565
+ *
13566
+ * A ceiling, not a budget. The AI layer's own timeouts (the rule's `timeoutMs`,
13567
+ * the profile's `timeoutMs` / `firstTokenTimeoutMs`) remain the things that
13568
+ * decide when to stop, because only they can say WHY.
13569
+ */
13570
+ var AI_CAP_TRANSPORT_TIMEOUT_MS = 6e5;
13571
+ /** A multi-gigabyte download. An hour is not generous, it is honest. */
13572
+ var AI_MODEL_INSTALL_TIMEOUT_MS = 60 * 6e4;
13573
+ /**
13545
13574
  * Shared LLM generate contracts — imported by BOTH `llm.cap.ts` (consumer
13546
13575
  * surface) and `llm-runtime.cap.ts` (node-side managed executor) so the two
13547
13576
  * caps stay wire-compatible without a circular cap→cap import.
@@ -13813,16 +13842,19 @@ method(LlmGenerateBaseInputSchema.extend({
13813
13842
  timeoutMs: number().int().positive().optional()
13814
13843
  }), LlmGenerateResultSchema, {
13815
13844
  kind: "mutation",
13816
- auth: "admin"
13845
+ auth: "admin",
13846
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13817
13847
  }), method(object({ runtime: ManagedRuntimeConfigSchema }), LlmRuntimeStatusSchema, {
13818
13848
  kind: "mutation",
13819
- auth: "admin"
13849
+ auth: "admin",
13850
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
13820
13851
  }), method(object({}), _void(), {
13821
13852
  kind: "mutation",
13822
13853
  auth: "admin"
13823
13854
  }), method(object({}), LlmRuntimeStatusSchema, { auth: "admin" }), method(object({ model: ManagedModelRefSchema }), _void(), {
13824
13855
  kind: "mutation",
13825
- auth: "admin"
13856
+ auth: "admin",
13857
+ timeoutMs: AI_MODEL_INSTALL_TIMEOUT_MS
13826
13858
  }), method(object({ file: string() }), _void(), {
13827
13859
  kind: "mutation",
13828
13860
  auth: "admin"
@@ -13990,7 +14022,13 @@ var ProfileRefInputSchema = object({
13990
14022
  addonId: string(),
13991
14023
  profileId: string()
13992
14024
  });
13993
- method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, { kind: "mutation" }), method(object({
14025
+ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
14026
+ kind: "mutation",
14027
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14028
+ }), method(GenerateVisionInputSchema, LlmGenerateResultSchema, {
14029
+ kind: "mutation",
14030
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14031
+ }), method(object({
13994
14032
  addonId: string().optional(),
13995
14033
  requestId: string()
13996
14034
  }), _void(), { kind: "mutation" }), method(object({}), array(LlmProfileKindDescriptorSchema)), method(object({}), array(LlmProfileSchema)), method(object({ profile: LlmProfileSchema }), LlmProfileSchema, {
@@ -14001,7 +14039,8 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, { kind: "mutation" }
14001
14039
  auth: "admin"
14002
14040
  }), method(ProfileRefInputSchema, LlmGenerateResultSchema, {
14003
14041
  kind: "mutation",
14004
- auth: "admin"
14042
+ auth: "admin",
14043
+ timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
14005
14044
  }), method(ProfileRefInputSchema, array(string())), method(object({}), array(LlmDefaultSchema)), method(object({
14006
14045
  selector: LlmDefaultSelectorSchema,
14007
14046
  profileId: string().nullable()
@@ -14467,17 +14506,6 @@ var ContainerMemoryPointSchema = object({
14467
14506
  */
14468
14507
  gpuShmemBytes: number().nullable()
14469
14508
  }).extend({ atMs: number() });
14470
- var DumpHeapSnapshotInputSchema = object({
14471
- /** The addon whose runner should dump a heap snapshot. */
14472
- addonId: string() });
14473
- var DumpHeapSnapshotResultSchema = object({
14474
- success: boolean(),
14475
- /** Path of the written .heapsnapshot inside the runner's container/host. */
14476
- path: string().optional(),
14477
- /** Process pid that was signalled. */
14478
- pid: number().optional(),
14479
- reason: string().optional()
14480
- });
14481
14509
  /**
14482
14510
  * One point of one function's series.
14483
14511
  *
@@ -14601,10 +14629,7 @@ var SystemMetricsSchema = object({
14601
14629
  gpuPercent: number().optional(),
14602
14630
  gpuMemoryPercent: number().optional()
14603
14631
  });
14604
- 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, {
14605
- kind: "mutation",
14606
- auth: "admin"
14607
- });
14632
+ 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);
14608
14633
  method(object({
14609
14634
  sourceUrl: string(),
14610
14635
  metadata: ModelConvertMetadataSchema,
@@ -18916,7 +18941,8 @@ var MediaFileKindEnum = _enum([
18916
18941
  "plateCrop",
18917
18942
  "keyFrame",
18918
18943
  "keyFrameSmall",
18919
- "thumbnailSmall"
18944
+ "thumbnailSmall",
18945
+ "sceneFrame"
18920
18946
  ]);
18921
18947
  /**
18922
18948
  * One media row ON THE WIRE: what it is, how big it is, and WHERE ITS BYTES
@@ -35294,12 +35320,6 @@ Object.freeze({
35294
35320
  addonId: null,
35295
35321
  access: "view"
35296
35322
  },
35297
- "metricsProvider.dumpHeapSnapshot": {
35298
- capName: "metrics-provider",
35299
- capScope: "system",
35300
- addonId: null,
35301
- access: "create"
35302
- },
35303
35323
  "metricsProvider.getAddonStats": {
35304
35324
  capName: "metrics-provider",
35305
35325
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-terminal",
3
- "version": "0.1.58",
3
+ "version": "0.1.61",
4
4
  "description": "Interactive terminal sessions (pty + xterm) as a CamStack addon",
5
5
  "keywords": [
6
6
  "camstack",