dyadic 1.7.0 → 1.8.0

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/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.8.0 (2026-10-17)
4
+
5
+ The Black Box as an execution record.
6
+
7
+ - `client.blackbox.runs.lineage(id)`: the file versions a run made (`path`, `sha256`, `previous`, the tool call), each with the plan steps under
8
+ way when it was made (observed, never a claim that the step caused it), and the steps the run moved. A key needs its
9
+ Black Box content switch.
10
+ - A run (`runs.retrieve`) now carries `actor` (who started it, beside its owner), `costs` (from the usage ledger:
11
+ credits charged and held, the provider's cost as reported or estimated, cache use; for the key that made it) and
12
+ `links` (its batch, the plans and steps it moved, re-runs, simulations); its `outcome` is verification alone
13
+ (`verified`, `contradicted`, `unverified`, `blocked`, `not_applicable`), apart from how it ended (`status`).
14
+
15
+ ## 1.7.1 (2026-10-17)
16
+
17
+ - Corrected: `anthropic.messages.batches.create` described message batches as running at half price. Dyadic runs them in the
18
+ background at the usual price; nothing about the calls changed.
19
+
3
20
  ## 1.7.0 (2026-10-17)
4
21
 
5
22
  The Anthropic API and OpenRouter's.
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export declare const VERSION = "1.7.0";
1
+ export declare const VERSION = "1.8.0";
2
2
  export declare const DEFAULT_BASE_URL = "https://dyadic.app/api/openai/v1";
3
3
  /** The Anthropic API version the `anthropic` calls speak (sent as anthropic-version, as Anthropic's SDKs do). */
4
4
  export declare const ANTHROPIC_VERSION = "2023-06-01";
@@ -1416,7 +1416,7 @@ export declare class Dyadic {
1416
1416
  countTokens: (params: Omit<AnthropicMessageParams, "max_tokens" | "stream">) => Promise<{
1417
1417
  input_tokens: number;
1418
1418
  }>;
1419
- /** Up to 100,000 requests at half price; poll `retrieve` until processing_status is "ended", then read `results`. */
1419
+ /** Up to 100,000 requests, run in the background at the usual price; poll `retrieve` until processing_status is "ended", then read `results`. */
1420
1420
  batches: {
1421
1421
  create: (params: {
1422
1422
  requests: {
@@ -1568,6 +1568,9 @@ export declare class Dyadic {
1568
1568
  has_more: boolean;
1569
1569
  }>;
1570
1570
  graph: (id: string) => Promise<Record<string, unknown>>;
1571
+ /** The file versions the run made, each with the plan steps under way when it was made (observed, never a claim that
1572
+ * the step caused it), and the plan steps it moved. A key needs its Black Box content switch. */
1573
+ lineage: (id: string) => Promise<Record<string, unknown>>;
1571
1574
  verify: (id: string) => Promise<VerifyReport>;
1572
1575
  /** The run's signed checkpoints and the anchor (an RFC 3161 timestamp over a Merkle root) that fixes them in time. */
1573
1576
  checkpoints: (id: string) => Promise<{
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // The official TypeScript SDK for the Dyadic API: Iris
2
2
  // through the OpenAI-compatible endpoints at https://dyadic.app/api/openai/v1, and beside them the Anthropic API
3
3
  // (/api/anthropic/v1) and OpenRouter's API through the AI gateway (/api/openrouter/v1).
4
- export const VERSION = "1.7.0";
4
+ export const VERSION = "1.8.0";
5
5
  export const DEFAULT_BASE_URL = "https://dyadic.app/api/openai/v1";
6
6
  /** The Anthropic API version the `anthropic` calls speak (sent as anthropic-version, as Anthropic's SDKs do). */
7
7
  export const ANTHROPIC_VERSION = "2023-06-01";
@@ -480,7 +480,7 @@ export class Dyadic {
480
480
  create: ((params) => this.anthropicCall("POST", "/messages", params, Boolean(params.stream))),
481
481
  /** A request's input tokens (free; no model runs). */
482
482
  countTokens: (params) => this.anthropicCall("POST", "/messages/count_tokens", params, false, { idempotent: true }),
483
- /** Up to 100,000 requests at half price; poll `retrieve` until processing_status is "ended", then read `results`. */
483
+ /** Up to 100,000 requests, run in the background at the usual price; poll `retrieve` until processing_status is "ended", then read `results`. */
484
484
  batches: {
485
485
  create: (params) => this.anthropicCall("POST", "/messages/batches", params),
486
486
  list: (query = {}) => this.anthropicCall("GET", "/messages/batches", undefined, false, { query }),
@@ -570,6 +570,9 @@ export class Dyadic {
570
570
  /** The run's events in chain order; `types` keeps only those types (up to 20). */
571
571
  events: (id, query = {}) => this.request("GET", this.platformURL(`/blackbox/runs/${id}/events`), undefined, false, { query: { after: query.after, limit: query.limit, types: Array.isArray(query.types) ? query.types.join(",") || undefined : query.types } }),
572
572
  graph: (id) => this.request("GET", this.platformURL(`/blackbox/runs/${id}/graph`)),
573
+ /** The file versions the run made, each with the plan steps under way when it was made (observed, never a claim that
574
+ * the step caused it), and the plan steps it moved. A key needs its Black Box content switch. */
575
+ lineage: (id) => this.request("GET", this.platformURL(`/blackbox/runs/${id}/lineage`)),
573
576
  verify: (id) => this.request("GET", this.platformURL(`/blackbox/runs/${id}/verify`)),
574
577
  /** The run's signed checkpoints and the anchor (an RFC 3161 timestamp over a Merkle root) that fixes them in time. */
575
578
  checkpoints: (id) => this.request("GET", this.platformURL(`/blackbox/runs/${id}/checkpoints`)),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dyadic",
3
- "version": "1.7.0",
3
+ "version": "1.8.0",
4
4
  "description": "The official TypeScript and JavaScript SDK for the Dyadic API: runs with your own agents and functions, plus the OpenAI-, Anthropic- and OpenRouter-compatible APIs.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",