summaryrefslogtreecommitdiffhomepage
path: root/packages/kernel/src/contracts
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-06-12 19:26:31 +0900
committerAdam Malczewski <[email protected]>2026-06-12 19:26:31 +0900
commit35197ed933044d322d0a653c4e88a5f3e475fe76 (patch)
treef768be26a61b28551a0671f2519c3da4ff682a1f /packages/kernel/src/contracts
parentdbf77ba78ff840e0ed5f6294030523fe3ab121fa (diff)
downloaddispatch-35197ed933044d322d0a653c4e88a5f3e475fe76.tar.gz
dispatch-35197ed933044d322d0a653c4e88a5f3e475fe76.zip
feat(contracts): reasoning effort — ReasoningEffort ladder (low..max), ProviderStreamOptions/ChatRequest fields, per-conversation GET/PUT types
wire 0.6.1->0.7.0, transport-contract 0.10.0->0.11.0. Additive only; typecheck+biome clean.
Diffstat (limited to 'packages/kernel/src/contracts')
-rw-r--r--packages/kernel/src/contracts/index.ts1
-rw-r--r--packages/kernel/src/contracts/provider.ts12
2 files changed, 11 insertions, 2 deletions
diff --git a/packages/kernel/src/contracts/index.ts b/packages/kernel/src/contracts/index.ts
index 10025e2..ffcbe76 100644
--- a/packages/kernel/src/contracts/index.ts
+++ b/packages/kernel/src/contracts/index.ts
@@ -95,6 +95,7 @@ export type {
ProviderStreamOptions,
ProviderToolCallEvent,
ReasoningDeltaEvent,
+ ReasoningEffort,
TextDeltaEvent,
Usage,
UsageEvent,
diff --git a/packages/kernel/src/contracts/provider.ts b/packages/kernel/src/contracts/provider.ts
index 0686c19..7f920c5 100644
--- a/packages/kernel/src/contracts/provider.ts
+++ b/packages/kernel/src/contracts/provider.ts
@@ -6,12 +6,12 @@
* translates its responses into `ProviderEvent`s.
*/
-import type { Usage } from "@dispatch/wire";
+import type { ReasoningEffort, Usage } from "@dispatch/wire";
import type { ChatMessage } from "./conversation.js";
import type { Logger } from "./logging.js";
import type { ToolContract } from "./tool.js";
-export type { Usage } from "@dispatch/wire";
+export type { ReasoningEffort, Usage } from "@dispatch/wire";
/**
* Events a provider yields during a single `stream` call. The kernel consumes
@@ -86,6 +86,14 @@ export interface ProviderStreamOptions {
/** System prompt to prepend. */
readonly systemPrompt?: string;
/**
+ * Reasoning-effort level for this request (already RESOLVED by the caller —
+ * the session-orchestrator applies the request → conversation → `"high"`
+ * default chain, so a provider receiving `undefined` may treat it as "no
+ * preference"). The provider maps the level to its native thinking knob in
+ * its own code; providers without such a knob ignore it.
+ */
+ readonly reasoningEffort?: ReasoningEffort;
+ /**
* Correlated logger for this turn's step (Phase A logging ABI). When present,
* the provider should open a child `provider.request` span and capture the
* verbatim post-transform request + raw response/error there, self-redacting