runbios-sdk 0.2.16 → 0.2.17-dev.268

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/client.d.ts CHANGED
@@ -118,14 +118,18 @@ export type CapacityUnavailableError = GpuRejectionError;
118
118
  * Machine codes the services answer with while a surface is pre-launch
119
119
  * (HTTP 403): TRAINING_COMING_SOON from POST /api/training/jobs,
120
120
  * DATASETS_COMING_SOON from the dataset creation endpoints (upload,
121
- * uploads/initiate, register-hf, integration import).
121
+ * uploads/initiate, register-hf, integration import), and LOOP_COMING_SOON
122
+ * from EVERY Conscious Loop route (`client.loop.*`) where the loop is not
123
+ * offered — it is offered on the development environment only.
122
124
  */
123
- export declare const COMING_SOON_CODES: readonly ["TRAINING_COMING_SOON", "DATASETS_COMING_SOON"];
125
+ export declare const COMING_SOON_CODES: readonly ["TRAINING_COMING_SOON", "DATASETS_COMING_SOON", "LOOP_COMING_SOON"];
124
126
  /**
125
- * Raised when a pre-launch surface rejects a creation call: fine-tuning and
126
- * datasets launch soon, so training.create and dataset upload/import/register
127
- * answer 403 with one of {@link COMING_SOON_CODES}. Read and lifecycle methods
128
- * (list, get, status, stop, resume, delete, preview) are unaffected.
127
+ * Raised when a pre-launch surface rejects a call: fine-tuning and datasets
128
+ * launch soon, so training.create and dataset upload/import/register answer 403
129
+ * with one of {@link COMING_SOON_CODES}, and their read and lifecycle methods
130
+ * (list, get, status, stop, resume, delete, preview) are unaffected. The
131
+ * Conscious Loop is offered on the development environment only; everywhere
132
+ * else EVERY `client.loop.*` method, reads included, answers LOOP_COMING_SOON.
129
133
  *
130
134
  * The service is the authority: the SDK never blocks client-side, so when the
131
135
  * gate lifts at launch every SDK version works again without an upgrade. This
package/dist/client.js CHANGED
@@ -171,14 +171,18 @@ export const CapacityUnavailableError = GpuRejectionError;
171
171
  * Machine codes the services answer with while a surface is pre-launch
172
172
  * (HTTP 403): TRAINING_COMING_SOON from POST /api/training/jobs,
173
173
  * DATASETS_COMING_SOON from the dataset creation endpoints (upload,
174
- * uploads/initiate, register-hf, integration import).
174
+ * uploads/initiate, register-hf, integration import), and LOOP_COMING_SOON
175
+ * from EVERY Conscious Loop route (`client.loop.*`) where the loop is not
176
+ * offered — it is offered on the development environment only.
175
177
  */
176
- export const COMING_SOON_CODES = ['TRAINING_COMING_SOON', 'DATASETS_COMING_SOON'];
178
+ export const COMING_SOON_CODES = ['TRAINING_COMING_SOON', 'DATASETS_COMING_SOON', 'LOOP_COMING_SOON'];
177
179
  /**
178
- * Raised when a pre-launch surface rejects a creation call: fine-tuning and
179
- * datasets launch soon, so training.create and dataset upload/import/register
180
- * answer 403 with one of {@link COMING_SOON_CODES}. Read and lifecycle methods
181
- * (list, get, status, stop, resume, delete, preview) are unaffected.
180
+ * Raised when a pre-launch surface rejects a call: fine-tuning and datasets
181
+ * launch soon, so training.create and dataset upload/import/register answer 403
182
+ * with one of {@link COMING_SOON_CODES}, and their read and lifecycle methods
183
+ * (list, get, status, stop, resume, delete, preview) are unaffected. The
184
+ * Conscious Loop is offered on the development environment only; everywhere
185
+ * else EVERY `client.loop.*` method, reads included, answers LOOP_COMING_SOON.
182
186
  *
183
187
  * The service is the authority: the SDK never blocks client-side, so when the
184
188
  * gate lifts at launch every SDK version works again without an upgrade. This
@@ -340,7 +344,7 @@ export class HttpClient {
340
344
  constructor(config) {
341
345
  // Default host stays api.runbios.ai for now; cutover to api.runbios.ai is
342
346
  // planned once its DNS exists.
343
- this.baseUrl = (config.baseUrl || envBaseUrl() || 'https://api.runbios.ai').replace(/\/+$/, '');
347
+ this.baseUrl = (config.baseUrl || envBaseUrl() || 'https://api-dev.runbios.ai').replace(/\/+$/, '');
344
348
  this.apiKey = config.apiKey ?? envApiKey();
345
349
  this.accessToken = config.accessToken;
346
350
  this.orgId = config.orgId;
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.16";
39
+ export declare const VERSION = "0.2.17-dev.268";
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.16';
39
+ export const VERSION = '0.2.17-dev.268';
40
40
  export class RunBiOS {
41
41
  /** Search models, fetch configs, check adapter compatibility. */
42
42
  models;
@@ -336,7 +336,7 @@ export class Inference {
336
336
  this.key = config.inferenceKey || envInferenceKey() || envApiKey();
337
337
  // Same default host as HttpClient (api.runbios.ai); api.runbios.ai cutover
338
338
  // is planned once its DNS exists — update both call sites together.
339
- this.baseUrl = (config.baseUrl || envBaseUrl() || 'https://api.runbios.ai').replace(/\/+$/, '');
339
+ this.baseUrl = (config.baseUrl || envBaseUrl() || 'https://api-dev.runbios.ai').replace(/\/+$/, '');
340
340
  this.timeout = config.timeout ?? 900_000;
341
341
  this._http = http;
342
342
  }
@@ -12,6 +12,11 @@ import type { LoopTrace, LoopTraceListResponse, LoopTraceListParams, LoopCapture
12
12
  * deliberately absent from the Read Only preset, because what they return is
13
13
  * your raw prompts and completions rather than catalog metadata.
14
14
  *
15
+ * Offered on the development environment only for now. Anywhere else every
16
+ * method here, reads included, rejects with a `ComingSoonError` whose
17
+ * `code` is `LOOP_COMING_SOON` (HTTP 403): a deliberate product state, not an
18
+ * outage, so retrying cannot succeed there.
19
+ *
15
20
  * @example
16
21
  * ```ts
17
22
  * // 1. Decide that this source is recorded.
@@ -225,9 +230,17 @@ export declare class Loop {
225
230
  * A label may name a `parent`, which is what makes a MASTER GROUP: labelling
226
231
  * something `refunds` with parent `billing` makes it selectable as either,
227
232
  * and selecting `billing` later gathers every child without you maintaining
228
- * a list of them.
233
+ * a list of them. The parent applies to the bare `labels` only: sent with
234
+ * `attributes` and no labels it would group nothing, and is refused.
235
+ *
236
+ * Leave `parent` out and a label the conversation already carries keeps
237
+ * the group it has: re-running `label(id, ['refunds'])` does not take
238
+ * `refunds` out of `billing`. Pass `''` to take the labels out of their
239
+ * group; the labels themselves stay.
229
240
  *
230
241
  * Labels are lowercased and trimmed, so `Refunds` and `refunds` are one label.
242
+ * A conversation carries at most 32 across every dimension; a label it
243
+ * already has does not count again.
231
244
  */
232
245
  label(traceId: string, labels: string[], parent?: string, attributes?: Record<string, string>): Promise<LoopLabel[]>;
233
246
  /**
@@ -10,6 +10,11 @@
10
10
  * deliberately absent from the Read Only preset, because what they return is
11
11
  * your raw prompts and completions rather than catalog metadata.
12
12
  *
13
+ * Offered on the development environment only for now. Anywhere else every
14
+ * method here, reads included, rejects with a `ComingSoonError` whose
15
+ * `code` is `LOOP_COMING_SOON` (HTTP 403): a deliberate product state, not an
16
+ * outage, so retrying cannot succeed there.
17
+ *
13
18
  * @example
14
19
  * ```ts
15
20
  * // 1. Decide that this source is recorded.
@@ -288,9 +293,17 @@ export class Loop {
288
293
  * A label may name a `parent`, which is what makes a MASTER GROUP: labelling
289
294
  * something `refunds` with parent `billing` makes it selectable as either,
290
295
  * and selecting `billing` later gathers every child without you maintaining
291
- * a list of them.
296
+ * a list of them. The parent applies to the bare `labels` only: sent with
297
+ * `attributes` and no labels it would group nothing, and is refused.
298
+ *
299
+ * Leave `parent` out and a label the conversation already carries keeps
300
+ * the group it has: re-running `label(id, ['refunds'])` does not take
301
+ * `refunds` out of `billing`. Pass `''` to take the labels out of their
302
+ * group; the labels themselves stay.
292
303
  *
293
304
  * Labels are lowercased and trimmed, so `Refunds` and `refunds` are one label.
305
+ * A conversation carries at most 32 across every dimension; a label it
306
+ * already has does not count again.
294
307
  */
295
308
  async label(traceId, labels, parent, attributes) {
296
309
  const res = await this._http.fetchPost(`/api/loop/traces/${encodeURIComponent(traceId)}/labels`, { labels, parent, attributes });
package/dist/types.d.ts CHANGED
@@ -8,13 +8,13 @@ export interface BiOSConfig {
8
8
  orgId?: string;
9
9
  /** Workspace ID. Optional when using API keys (resolved from the key). Can override for multi-workspace keys. */
10
10
  workspaceId?: string;
11
- /** Base URL for the API. Falls back to the RUNBIOS_BASE_URL environment variable (legacy: BIOS_BASE_URL), then the canonical https://api.runbios.ai hostname. */
11
+ /** Base URL for the API. Falls back to the RUNBIOS_BASE_URL environment variable (legacy: BIOS_BASE_URL), then the canonical https://api-dev.runbios.ai hostname. */
12
12
  baseUrl?: string;
13
13
  /** Request timeout in milliseconds. Defaults to 30000. */
14
14
  timeout?: number;
15
15
  /** Default per-deployment inference key. Can be overridden per inference call. */
16
16
  inferenceKey?: string;
17
- /** Inference base URL. Defaults to baseUrl, then https://api.runbios.ai. */
17
+ /** Inference base URL. Defaults to baseUrl, then https://api-dev.runbios.ai. */
18
18
  inferenceBaseUrl?: string;
19
19
  /** End-to-end inference timeout in milliseconds. Defaults to 15 minutes. */
20
20
  inferenceTimeout?: number;
@@ -2571,7 +2571,11 @@ export interface LoopSignalParams {
2571
2571
  labels?: string[];
2572
2572
  /** The same, by dimension: `{ category: 'billing' }`. */
2573
2573
  attributes?: Record<string, string>;
2574
- /** The master group the bare labels belong to. */
2574
+ /**
2575
+ * The master group the bare labels belong to. Left out, a label the
2576
+ * conversation already carries keeps its group; `''` takes the labels out
2577
+ * of their group.
2578
+ */
2575
2579
  parent?: string;
2576
2580
  }
2577
2581
  export interface LoopTrace {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "runbios-sdk",
3
- "version": "0.2.16",
3
+ "version": "0.2.17-dev.268",
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",