@theokit/sdk 2.11.1 → 2.11.2

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.cjs CHANGED
@@ -11009,6 +11009,9 @@ async function streamLlmTurn(inputs, ctx) {
11009
11009
  const effort = reasoningEffortFromParams(inputs.model.params);
11010
11010
  return effort !== void 0 ? { reasoning: { effort } } : {};
11011
11011
  })(),
11012
+ // Step-cap force-close: forward the per-run tool gate (`"none"` on a ceiling round forces a
11013
+ // text close even though tools are advertised). Absent ⇒ provider default (auto).
11014
+ ...inputs.toolChoice !== void 0 ? { toolChoice: inputs.toolChoice } : {},
11012
11015
  messages: ctx.messages,
11013
11016
  tools: ctx.tools.map(toLlmTool)
11014
11017
  },
@@ -13598,6 +13601,14 @@ function applyReasoningRequest(body, effort, providerName) {
13598
13601
  }
13599
13602
  body.reasoning = { effort };
13600
13603
  }
13604
+ function applyToolsRequest(body, request) {
13605
+ if (request.tools === void 0 || request.tools.length === 0) return;
13606
+ body.tools = request.tools.map((tool) => ({
13607
+ type: "function",
13608
+ function: { name: tool.name, description: tool.description, parameters: tool.inputSchema }
13609
+ }));
13610
+ if (request.toolChoice !== void 0) body.tool_choice = request.toolChoice;
13611
+ }
13601
13612
  function buildOpenAIBody(request, providerName) {
13602
13613
  const messages = [];
13603
13614
  const systemText = openAISystemText(request.system);
@@ -13619,12 +13630,7 @@ function buildOpenAIBody(request, providerName) {
13619
13630
  if (request.temperature !== void 0) body.temperature = request.temperature;
13620
13631
  if (request.reasoning?.effort !== void 0)
13621
13632
  applyReasoningRequest(body, request.reasoning.effort, providerName);
13622
- if (request.tools !== void 0 && request.tools.length > 0) {
13623
- body.tools = request.tools.map((tool) => ({
13624
- type: "function",
13625
- function: { name: tool.name, description: tool.description, parameters: tool.inputSchema }
13626
- }));
13627
- }
13633
+ applyToolsRequest(body, request);
13628
13634
  const responseFormat = encodeOpenAIResponseFormat(request.responseFormat);
13629
13635
  if (responseFormat !== void 0) body.response_format = responseFormat;
13630
13636
  return body;
@@ -14468,6 +14474,7 @@ function buildLoopInputs(options, runId, userText) {
14468
14474
  ...options.systemPrompt !== void 0 ? { systemPrompt: options.systemPrompt } : {},
14469
14475
  ...options.onStep !== void 0 ? { onStep: options.onStep } : {},
14470
14476
  ...options.onDelta !== void 0 ? { onDelta: options.onDelta } : {},
14477
+ ...options.sendOptions.toolChoice !== void 0 ? { toolChoice: options.sendOptions.toolChoice } : {},
14471
14478
  ...options.priorMessages !== void 0 ? { priorMessages: options.priorMessages } : {},
14472
14479
  ...options.memoryTools !== void 0 && options.memoryTools.length > 0 ? { memoryTools: options.memoryTools } : {},
14473
14480
  ...buildCustomToolsInput(