@runblackcat/sdk 0.1.0-alpha.84 → 0.1.0-alpha.86

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@runblackcat/sdk",
3
- "version": "0.1.0-alpha.84",
3
+ "version": "0.1.0-alpha.86",
4
4
  "description": "TypeScript SDK for the Blackcat sandbox gateway",
5
5
  "license": "Apache-2.0",
6
6
  "repository": "https://github.com/TreebeardHQ/blackcat",
@@ -355,8 +355,11 @@ export type CreateCapacityReservationInput = ({
355
355
  memory_mib: number;
356
356
  /** How long to hold the reservation, between 1 second and 4 hours. */
357
357
  ttl_secs: number;
358
- /** Defaults to `consumable`; `reusable` returns each slot after confirmed destruction. */
359
- mode?: "consumable" | "reusable";
358
+ /** Defaults to `consumable`; `reusable` returns each slot after confirmed destruction.
359
+ * `warm` keeps `count` free slots on workers that cache a pinned template
360
+ * version; it takes `template` (not `template_resource`), is never held
361
+ * against other claims, and a sandbox create naming it is a 400. */
362
+ mode?: "consumable" | "reusable" | "warm";
360
363
  /** When the capacity must be ready: seconds from now, or an RFC 3339 time
361
364
  * within `ttl_secs`. Absent: as soon as it can be, at the lowest cost. */
362
365
  needed_by?: number | string;
@@ -381,7 +384,7 @@ export interface CapacityReservation {
381
384
  /** The template resource this reservation follows, or null when pinned. */
382
385
  template_resource: string | null;
383
386
  count: number;
384
- mode: "consumable" | "reusable";
387
+ mode: "consumable" | "reusable" | "warm";
385
388
  placement: "shared" | "dedicated";
386
389
  /** The shape a dedicated reservation launches, or null. */
387
390
  shape: string | null;
@@ -393,8 +396,12 @@ export interface CapacityReservation {
393
396
  occupied: number;
394
397
  /** Slots bound to a specific node and not yet claimed. */
395
398
  bound: number;
396
- /** Bound slots whose node already has the template warm. */
399
+ /** Bound slots whose node already has the template warm. For warm mode this
400
+ * counts member nodes at 1 each. */
397
401
  warm: number;
402
+ /** Warm mode: free slots of the shape on member workers whose template is
403
+ * ready, as of the last reconcile; zero for other modes. */
404
+ warm_free: number;
398
405
  expires_at: SystemTimeValue;
399
406
  /** When the capacity must be ready (epoch milliseconds), or null. */
400
407
  needed_by: number | null;
@@ -551,6 +558,8 @@ export interface FleetNode {
551
558
  memory: FleetNodeMemory;
552
559
  /** Whether the host runs with SMT active. */
553
560
  smt_active: boolean;
561
+ /** Bytes the worker reserves for cached templates; 0 until it reports one. */
562
+ cache_budget_bytes: number;
554
563
  /** The node's CPU; absent from nodes older than CPU-aware placement. */
555
564
  cpu?: CpuIdentity | null;
556
565
  /** 1000 charges file-backed clones in full; 2000 charges them at half. */