@bunny-agent/runner-cli 0.9.59-beta.6 → 0.9.59-beta.7

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 +26 -7
  2. package/package.json +6 -6
package/dist/bundle.mjs CHANGED
@@ -23753,7 +23753,11 @@ __export(type_exports2, {
23753
23753
  var Type = type_exports2;
23754
23754
 
23755
23755
  // ../../packages/runner-pi/dist/tool-approval.js
23756
- var ASK_USER_QUESTION_TOOL_NAME = "AskUserQuestion";
23756
+ var ASK_USER_QUESTION_TOOL_NAME = "ask_user_question";
23757
+ var LEGACY_ASK_USER_QUESTION_TOOL_NAME = "AskUserQuestion";
23758
+ function isAskUserQuestionToolName(toolName) {
23759
+ return toolName === ASK_USER_QUESTION_TOOL_NAME || toolName === LEGACY_ASK_USER_QUESTION_TOOL_NAME;
23760
+ }
23757
23761
  var DEFAULT_POLL_INTERVAL_MS = 500;
23758
23762
  function approvalFilePath(cwd, toolCallId) {
23759
23763
  return path2.join(cwd, ".bunny-agent", "approvals", `${toolCallId}.json`);
@@ -23774,7 +23778,7 @@ async function waitForApproval(options) {
23774
23778
  status: "pending",
23775
23779
  toolName,
23776
23780
  input,
23777
- questions: toolName === ASK_USER_QUESTION_TOOL_NAME ? input?.questions : void 0,
23781
+ questions: isAskUserQuestionToolName(toolName) ? input?.questions : void 0,
23778
23782
  answers: {}
23779
23783
  }));
23780
23784
  }
@@ -23852,6 +23856,13 @@ var askUserQuestionParameters = Type.Object({
23852
23856
  }))
23853
23857
  }), { description: "Questions to present to the user." })
23854
23858
  });
23859
+ function formatAskUserQuestionResult(updatedInput) {
23860
+ return [
23861
+ "The user answered the interactive questions.",
23862
+ `Answers: ${JSON.stringify(updatedInput.answers)}`,
23863
+ "Continue the original task using these answers and provide a user-visible response. Do not end the turn with an empty response."
23864
+ ].join("\n");
23865
+ }
23855
23866
  function buildAskUserQuestionTool(options) {
23856
23867
  return {
23857
23868
  name: ASK_USER_QUESTION_TOOL_NAME,
@@ -23875,10 +23886,10 @@ function buildAskUserQuestionTool(options) {
23875
23886
  content: [
23876
23887
  {
23877
23888
  type: "text",
23878
- text: JSON.stringify(decision.updatedInput)
23889
+ text: formatAskUserQuestionResult(decision.updatedInput)
23879
23890
  }
23880
23891
  ],
23881
- details: void 0
23892
+ details: decision.updatedInput
23882
23893
  };
23883
23894
  }
23884
23895
  };
@@ -24542,6 +24553,13 @@ function applyAllowedTools(tools, allowedTools) {
24542
24553
  const allowed = new Set(allowedTools);
24543
24554
  return tools.filter((tool) => allowed.has(tool.name));
24544
24555
  }
24556
+ function normalizeAllowedTools(allowedTools) {
24557
+ if (!allowedTools)
24558
+ return void 0;
24559
+ return [
24560
+ ...new Set(allowedTools.map((toolName) => toolName === LEGACY_ASK_USER_QUESTION_TOOL_NAME ? ASK_USER_QUESTION_TOOL_NAME : toolName))
24561
+ ];
24562
+ }
24545
24563
  function shouldStripLLMThoughtSignaturesForModel(model) {
24546
24564
  const id = (model.id ?? "").toLowerCase();
24547
24565
  return !id.includes("gemini");
@@ -24792,6 +24810,7 @@ function createPiRunner(options = {}) {
24792
24810
  const apiKey = auth?.auth.apiKey ?? "";
24793
24811
  customTools.push(buildImageGenerateTool(cwd, imageModelName, model.baseUrl, apiKey), buildImageEditTool(cwd, imageModelName, model.baseUrl, apiKey));
24794
24812
  }
24813
+ const allowedTools = normalizeAllowedTools(options.allowedTools);
24795
24814
  const toolRefDefinitions = options.toolRefs && options.toolRefs.length > 0 ? buildToolDefinitionsFromRefs(options.toolRefs) : [];
24796
24815
  const isRoot = typeof process.getuid === "function" && process.getuid() === 0;
24797
24816
  const bypassApproval = Boolean(options.yolo) || isRoot;
@@ -24800,12 +24819,12 @@ function createPiRunner(options = {}) {
24800
24819
  fallbackSignal: options.abortController?.signal
24801
24820
  };
24802
24821
  let regularTools = [
24803
- ...applyAllowedTools(customTools, options.allowedTools),
24822
+ ...applyAllowedTools(customTools, allowedTools),
24804
24823
  ...toolRefDefinitions
24805
24824
  ];
24806
24825
  if (!bypassApproval) {
24807
24826
  const overriddenNames = new Set(regularTools.map((tool) => tool.name));
24808
- const builtinTools = applyAllowedTools(createCodingTools(cwd), options.allowedTools).filter((tool) => !overriddenNames.has(tool.name));
24827
+ const builtinTools = applyAllowedTools(createCodingTools(cwd), allowedTools).filter((tool) => !overriddenNames.has(tool.name));
24809
24828
  regularTools = [...regularTools, ...builtinTools];
24810
24829
  }
24811
24830
  const gatedTools = gateToolsForApproval(regularTools, bypassApproval, approvalGate);
@@ -24816,7 +24835,7 @@ function createPiRunner(options = {}) {
24816
24835
  modelRuntime,
24817
24836
  resourceLoader,
24818
24837
  thinkingLevel: options.effort ? options.effort : void 0,
24819
- tools: options.allowedTools,
24838
+ tools: allowedTools,
24820
24839
  customTools: [...gatedTools, buildAskUserQuestionTool(approvalGate)]
24821
24840
  });
24822
24841
  try {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bunny-agent/runner-cli",
3
- "version": "0.9.59-beta.6",
3
+ "version": "0.9.59-beta.7",
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.59-beta.6",
62
+ "@bunny-agent/apply-patch": "0.1.0",
63
+ "@bunny-agent/manager": "0.9.59-beta.7",
63
64
  "@bunny-agent/runner-claude": "0.6.2",
64
- "@bunny-agent/runner-copilot": "0.1.0",
65
65
  "@bunny-agent/runner-codex": "0.6.2",
66
- "@bunny-agent/apply-patch": "0.1.0",
67
66
  "@bunny-agent/runner-gemini": "0.6.2",
68
67
  "@bunny-agent/runner-harness": "0.1.1-beta.0",
69
- "@bunny-agent/runner-opencode": "0.6.2",
70
- "@bunny-agent/runner-pi": "0.6.4-beta.0"
68
+ "@bunny-agent/runner-copilot": "0.1.0",
69
+ "@bunny-agent/runner-pi": "0.6.4-beta.0",
70
+ "@bunny-agent/runner-opencode": "0.6.2"
71
71
  },
72
72
  "scripts": {
73
73
  "build": "tsc && pnpm bundle",