summaryrefslogtreecommitdiffhomepage
path: root/packages/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'packages/kernel')
-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