@bunny-agent/runner-cli 0.9.60-beta.5 → 0.9.61-beta.1

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.
Files changed (2) hide show
  1. package/dist/bundle.mjs +46 -8
  2. package/package.json +5 -5
package/dist/bundle.mjs CHANGED
@@ -20867,6 +20867,15 @@ function extractAskUserQuestionOutput(toolName, result) {
20867
20867
  function sseData4(obj) {
20868
20868
  return "data: " + JSON.stringify(obj) + "\n\n";
20869
20869
  }
20870
+ function getProviderStopReasonFromAgentEndMessages(messages) {
20871
+ for (let index = messages.length - 1; index >= 0; index -= 1) {
20872
+ const message = messages[index];
20873
+ if (message.role === "assistant" && message.stopReason) {
20874
+ return message.stopReason;
20875
+ }
20876
+ }
20877
+ return void 0;
20878
+ }
20870
20879
  var PiAISDKStreamConverter = class {
20871
20880
  constructor(options) {
20872
20881
  this.options = options;
@@ -20956,8 +20965,10 @@ var PiAISDKStreamConverter = class {
20956
20965
  const errorMsg = this.options.getErrorFromAgentEndMessages(event.messages);
20957
20966
  if (errorMsg)
20958
20967
  chunks.push(...this.finishError(errorMsg));
20959
- else
20960
- chunks.push(...this.finishSuccess(this.options.getUsageFromAgentEndMessages(event.messages)));
20968
+ else {
20969
+ const providerStopReason = getProviderStopReasonFromAgentEndMessages(event.messages);
20970
+ chunks.push(...this.finishSuccess(this.options.getUsageFromAgentEndMessages(event.messages), providerStopReason === "length" ? "length" : "stop", providerStopReason));
20971
+ }
20961
20972
  }
20962
20973
  return chunks;
20963
20974
  }
@@ -21002,9 +21013,10 @@ var PiAISDKStreamConverter = class {
21002
21013
  this.activeTextPartId = null;
21003
21014
  return [sseData4({ type: "text-end", id })];
21004
21015
  }
21005
- finishSuccess(usage) {
21016
+ finishSuccess(usage, finishReason2 = "stop", providerStopReason) {
21006
21017
  const chunks = [...this.endTextStreamIfOpen()];
21007
21018
  const raw = {};
21019
+ const messageMetadata = {};
21008
21020
  let chatUsage;
21009
21021
  if (usage) {
21010
21022
  const { id } = this.options.model;
@@ -21019,10 +21031,16 @@ var PiAISDKStreamConverter = class {
21019
21031
  }
21020
21032
  const finishPayload = {
21021
21033
  type: "finish",
21022
- finishReason: "stop"
21034
+ finishReason: finishReason2
21023
21035
  };
21024
21036
  if (usage) {
21025
- finishPayload.messageMetadata = { usage: { ...chatUsage, raw } };
21037
+ messageMetadata.usage = { ...chatUsage, raw };
21038
+ }
21039
+ if (providerStopReason) {
21040
+ messageMetadata.providerStopReason = providerStopReason;
21041
+ }
21042
+ if (Object.keys(messageMetadata).length > 0) {
21043
+ finishPayload.messageMetadata = messageMetadata;
21026
21044
  }
21027
21045
  chunks.push(sseData4(finishPayload), "data: [DONE]\n\n");
21028
21046
  this.hasFinished = true;
@@ -24468,6 +24486,25 @@ function serializeResult2(result) {
24468
24486
  // ../../packages/runner-pi/dist/pi-runner.js
24469
24487
  var LOG_PREFIX2 = "[bunny-agent:pi]";
24470
24488
  var LLM_THOUGHT_SIGNATURE_SEPARATOR = "__thought__";
24489
+ var DEFAULT_DYNAMIC_MODEL_PROFILE = {
24490
+ contextWindow: 128e3,
24491
+ maxTokens: 8192
24492
+ };
24493
+ var DYNAMIC_MODEL_PROFILES = {
24494
+ "gemini-3.7-flash": {
24495
+ contextWindow: 1048576,
24496
+ maxTokens: 65536,
24497
+ reasoning: true
24498
+ }
24499
+ };
24500
+ function resolveDynamicModelProfile(modelName, effort) {
24501
+ const profile = DYNAMIC_MODEL_PROFILES[modelName.toLowerCase()];
24502
+ return {
24503
+ contextWindow: profile?.contextWindow ?? DEFAULT_DYNAMIC_MODEL_PROFILE.contextWindow,
24504
+ maxTokens: profile?.maxTokens ?? DEFAULT_DYNAMIC_MODEL_PROFILE.maxTokens,
24505
+ reasoning: profile?.reasoning ?? Boolean(effort && effort !== "off")
24506
+ };
24507
+ }
24471
24508
  async function disposePiSession(session) {
24472
24509
  try {
24473
24510
  if (session.hasExtensionHandlers("session_shutdown")) {
@@ -24657,6 +24694,7 @@ function createPiRunner(options = {}) {
24657
24694
  if (!baseUrl) {
24658
24695
  throw new Error(`Pi runner: model "${modelSpec}" not found in built-in catalog. Set ${baseUrlEnvKey} (or OPENAI_BASE_URL) to auto-register it.`);
24659
24696
  }
24697
+ const profile = resolveDynamicModelProfile(modelName, options.effort);
24660
24698
  modelRuntime.registerProvider(provider, {
24661
24699
  baseUrl,
24662
24700
  apiKey: inlineApiKey ?? apiKeyEnvKey,
@@ -24665,12 +24703,12 @@ function createPiRunner(options = {}) {
24665
24703
  {
24666
24704
  id: modelName,
24667
24705
  name: modelName,
24668
- reasoning: !!options.effort && options.effort !== "off",
24706
+ reasoning: profile.reasoning,
24669
24707
  thinkingLevelMap: { off: null, xhigh: "xhigh" },
24670
24708
  input: ["text", "image"],
24671
24709
  cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
24672
- contextWindow: 128e3,
24673
- maxTokens: 8192
24710
+ contextWindow: profile.contextWindow,
24711
+ maxTokens: profile.maxTokens
24674
24712
  }
24675
24713
  ]
24676
24714
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bunny-agent/runner-cli",
3
- "version": "0.9.60-beta.5",
3
+ "version": "0.9.61-beta.1",
4
4
  "description": "BunnyAgent Runner CLI - Like gemini-cli or claude-code, runs in your local terminal with AI SDK UI streaming",
5
5
  "type": "module",
6
6
  "bin": {
@@ -59,15 +59,15 @@
59
59
  "esbuild": "^0.27.2",
60
60
  "typescript": "^5.3.0",
61
61
  "vitest": "^1.6.1",
62
- "@bunny-agent/manager": "0.9.60-beta.5",
63
62
  "@bunny-agent/runner-codex": "0.6.2",
64
- "@bunny-agent/runner-copilot": "0.1.0",
63
+ "@bunny-agent/manager": "0.9.61-beta.1",
65
64
  "@bunny-agent/runner-gemini": "0.6.2",
66
65
  "@bunny-agent/runner-harness": "0.1.1-beta.0",
67
- "@bunny-agent/runner-opencode": "0.6.2",
68
66
  "@bunny-agent/runner-pi": "0.6.4-beta.0",
69
- "@bunny-agent/server-acp": "0.1.0",
67
+ "@bunny-agent/runner-opencode": "0.6.2",
68
+ "@bunny-agent/runner-copilot": "0.1.0",
70
69
  "@bunny-agent/runner-claude": "0.6.2",
70
+ "@bunny-agent/server-acp": "0.1.0",
71
71
  "@bunny-agent/apply-patch": "0.1.0"
72
72
  },
73
73
  "scripts": {