runbios-sdk 0.2.19-dev.278 → 0.2.19-dev.282

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/index.d.ts CHANGED
@@ -36,7 +36,7 @@ import { Loop } from './resources/loop.js';
36
36
  * SDK version. Sent as part of the User-Agent header.
37
37
  * Must match package.json "version" -- enforced by a contract test.
38
38
  */
39
- export declare const VERSION = "0.2.19-dev.278";
39
+ export declare const VERSION = "0.2.19-dev.282";
40
40
  export declare class RunBiOS {
41
41
  /** Search models, fetch configs, check adapter compatibility. */
42
42
  readonly models: Models;
package/dist/index.js CHANGED
@@ -36,7 +36,7 @@ import { Loop } from './resources/loop.js';
36
36
  * SDK version. Sent as part of the User-Agent header.
37
37
  * Must match package.json "version" -- enforced by a contract test.
38
38
  */
39
- export const VERSION = '0.2.19-dev.278';
39
+ export const VERSION = '0.2.19-dev.282';
40
40
  export class RunBiOS {
41
41
  /** Search models, fetch configs, check adapter compatibility. */
42
42
  models;
@@ -402,7 +402,9 @@ export declare class Loop {
402
402
  * numbers `minimums` shows. 503 `AGENT_COULD_NOT_START` means the key the
403
403
  * attempt would be scored with could not be renewed just then: nothing was
404
404
  * started, so press train now again in a minute. Every refusal is a
405
- * `TrainingRuleRunRefusalCode`.
405
+ * `TrainingRuleRunRefusalCode`. When the attempt in flight is waiting for
406
+ * GPUs to compare (`active_run.state` `waiting_gpus`), this books its two
407
+ * comparison machines again at once instead of starting another attempt.
406
408
  */
407
409
  runPipeline(id: string): Promise<PipelineMutationResponse>;
408
410
  /**
@@ -555,7 +555,9 @@ export class Loop {
555
555
  * numbers `minimums` shows. 503 `AGENT_COULD_NOT_START` means the key the
556
556
  * attempt would be scored with could not be renewed just then: nothing was
557
557
  * started, so press train now again in a minute. Every refusal is a
558
- * `TrainingRuleRunRefusalCode`.
558
+ * `TrainingRuleRunRefusalCode`. When the attempt in flight is waiting for
559
+ * GPUs to compare (`active_run.state` `waiting_gpus`), this books its two
560
+ * comparison machines again at once instead of starting another attempt.
559
561
  */
560
562
  async runPipeline(id) {
561
563
  return this._http.fetchPost(`/api/loop/pipelines/${encodeURIComponent(id)}/run`, {});
package/dist/types.d.ts CHANGED
@@ -1663,6 +1663,12 @@ export interface InferenceDeployment {
1663
1663
  base_model_revision?: string;
1664
1664
  immutable_base_model_source?: string;
1665
1665
  serving_mode?: 'full' | 'adapter' | 'merged';
1666
+ /**
1667
+ * Only on an adapter deployment: the `model` that asks its BASE weights with
1668
+ * no adapter, `<name>:base`, on /chat/completions and /completions. A
1669
+ * deployment with no adapter has no separate base and refuses `:base`.
1670
+ */
1671
+ base_weights_model?: string;
1666
1672
  supports_tool_calls?: boolean;
1667
1673
  tool_call_parser?: InferenceToolCallParser | null;
1668
1674
  reasoning_parser?: InferenceReasoningParser | null;
@@ -2866,7 +2872,18 @@ export interface TrainingRecipe {
2866
2872
  lora_rank: number | null;
2867
2873
  lora_alpha: number | null;
2868
2874
  }
2869
- export type TrainingRunState = 'built' | 'registering' | 'dataset_validating' | 'preflighting' | 'job_creating' | 'training' | 'checkpoint_ready' | 'candidate_booking' | 'candidate_running' | 'evaluating' | 'reported' | 'awaiting_review' | 'promoting' | 'waiting_funds' | 'promoted' | 'rejected' | 'expired' | 'failed' | 'budget_stopped' | 'cancelled' | 'superseded' | 'rolled_back';
2875
+ export type TrainingRunState = 'built' | 'registering' | 'dataset_validating' | 'preflighting' | 'job_creating' | 'training' | 'checkpoint_ready' | 'candidate_booking' | 'candidate_running' | 'evaluating' | 'reported' | 'awaiting_review' | 'promoting' | 'waiting_funds'
2876
+ /**
2877
+ * Trained, and waiting for GPUs to run the new model and the one it is
2878
+ * compared with side by side: one machine got a GPU and the other did not
2879
+ * within 20 minutes, so both were stopped. Each try can bill the machine
2880
+ * that got a GPU for up to those 20 minutes; nothing bills between tries.
2881
+ * It keeps what it trained, books both again after 30 minutes, then 1, 2
2882
+ * and 4 hours, and ends (`failed`, `COMPARISON_NO_GPUS`) after four tries or
2883
+ * 24 hours (`COMPARISON_WORKSPACE_FULL` when what was missing was room in
2884
+ * the workspace). Train now books them again at once.
2885
+ */
2886
+ | 'waiting_gpus' | 'promoted' | 'rejected' | 'expired' | 'failed' | 'budget_stopped' | 'cancelled' | 'superseded' | 'rolled_back';
2870
2887
  /** The closed set a run never leaves. */
2871
2888
  export declare const TERMINAL_RUN_STATES: readonly TrainingRunState[];
2872
2889
  export type TrainingVerdict = 'better' | 'not_better' | 'inconclusive' | 'not_evaluated';
@@ -2957,7 +2974,19 @@ export interface TrainingRun {
2957
2974
  */
2958
2975
  error_next_step: string | null;
2959
2976
  billed_training_cents: number;
2977
+ /**
2978
+ * The comparison machines: each from the first time it was on a GPU to its
2979
+ * stop, less any time back in the GPU queue, at the price the platform
2980
+ * placed it at.
2981
+ */
2960
2982
  billed_candidate_cents: number;
2983
+ /**
2984
+ * True when a comparison machine was charged: the figure is then the most
2985
+ * it can have cost ("up to"), since it counts each machine from its first
2986
+ * boot where the platform bills from its first answer (and at the hourly
2987
+ * cap when no placement price was reported).
2988
+ */
2989
+ billed_candidate_up_to: boolean;
2961
2990
  spent_eval_cents: number;
2962
2991
  train_rows: number | null;
2963
2992
  holdout_rows: number | null;
@@ -3049,6 +3078,8 @@ export interface TrainingRunSummary {
3049
3078
  holdout_rows: number | null;
3050
3079
  billed_training_cents: number;
3051
3080
  billed_candidate_cents: number;
3081
+ /** See {@link TrainingRun.billed_candidate_up_to}. */
3082
+ billed_candidate_up_to: boolean;
3052
3083
  spent_eval_cents: number;
3053
3084
  /** The fourth money column. A row that leaves it out adds up short. */
3054
3085
  benchmark_spent_cents: number;
@@ -3528,8 +3559,9 @@ export interface TrainingRuleMonthlyLimitRefusal {
3528
3559
  monthly_ceiling_cents: number;
3529
3560
  /**
3530
3561
  * The most one attempt of this rule may spend: its training, its comparison
3531
- * machine and its judging, and -- on a pipeline, while no version is live --
3532
- * the base model's own comparison machine beside the new model's.
3562
+ * machine and its judging. While no version is live that machine also
3563
+ * answers as the base model, so a pipeline's own attempt counts one; a
3564
+ * challenger's attempt also counts the base model's own machine beside it.
3533
3565
  */
3534
3566
  run_max_cents: number;
3535
3567
  /**
@@ -3574,6 +3606,11 @@ export interface PipelineActiveRun {
3574
3606
  gpu_seconds: number | null;
3575
3607
  /** What it has been billed so far, in cents. */
3576
3608
  cost_cents: number;
3609
+ /**
3610
+ * True when a comparison machine was charged in `cost_cents`: the figure is
3611
+ * the most it can have cost, so show it as "up to".
3612
+ */
3613
+ cost_up_to: boolean;
3577
3614
  /** The version number it will take if it is put live. */
3578
3615
  will_be_version: number;
3579
3616
  /** Always null: nothing in flight is a version yet. */
@@ -3646,6 +3683,14 @@ export interface PipelineVersion {
3646
3683
  * not what it did.
3647
3684
  */
3648
3685
  cost_includes_candidate_ceiling: boolean;
3686
+ /**
3687
+ * True when `cost_cents` is the most the version can have cost rather than
3688
+ * what it did: its comparison machines at their ceilings
3689
+ * (`cost_includes_candidate_ceiling`), or one charged (counted from its
3690
+ * first boot, where the platform bills from its first answer). Show it as
3691
+ * "up to".
3692
+ */
3693
+ cost_up_to: boolean;
3649
3694
  /** Machine time the attempt held (training and comparison); null when unknown. */
3650
3695
  gpu_seconds: number | null;
3651
3696
  created_at: string;
@@ -3694,6 +3739,8 @@ export interface PipelineAttempt {
3694
3739
  gpu_seconds: number | null;
3695
3740
  /** As the versions are priced once it has ended; as recorded so far while it runs. */
3696
3741
  cost_cents: number;
3742
+ /** See {@link PipelineVersion.cost_up_to}. */
3743
+ cost_up_to: boolean;
3697
3744
  verdict: TrainingVerdict | null;
3698
3745
  win_rate: number | null;
3699
3746
  evaluation_id: string | null;
@@ -3823,9 +3870,9 @@ export interface Pipeline {
3823
3870
  * this UTC calendar month -- the figure the limit is enforced against. An
3824
3871
  * upper bound, not an exact spend. A run counts toward the month it was
3825
3872
  * created in, and a run still in progress also counts toward the current
3826
- * month, at the most it may cost (as `run_max_cents` counts it, the base
3827
- * model's comparison machine included) or what it has been billed when that
3828
- * is more. A finished run counts what it was billed, and its comparison
3873
+ * month, at the most it may cost (as `run_max_cents` counts it, a base
3874
+ * model's machine included where the attempt has one of its own) or what it
3875
+ * has been billed when that is more. A finished run counts what it was billed, and its comparison
3829
3876
  * machines are billed at the most they could have cost (each machine's
3830
3877
  * hourly cap for the time it was up, never more than its own amount). A run created in
3831
3878
  * an earlier month that finishes in this one counts here only while it is
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "runbios-sdk",
3
- "version": "0.2.19-dev.278",
3
+ "version": "0.2.19-dev.282",
4
4
  "description": "Official TypeScript SDK for the Run BiOS training and deployment platform API",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",