@ordewell/cli 0.8.1 → 0.9.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/main.js +27 -3
  2. package/package.json +3 -3
package/dist/main.js CHANGED
@@ -220,6 +220,19 @@ Environment:
220
220
  ORCHESTRATOR_MODEL Default: deepseek/deepseek-v4-flash
221
221
  OPENROUTER_BASE_URL Default: https://openrouter.ai/api/v1
222
222
  ORDEWELL_AUTONOMOUS_MODE true: Full, false: Guarded, for new sessions (see "ordewell auto")
223
+ ORDEWELL_APPROVAL_MODE What the planner may run beyond read-only commands: auto (default:
224
+ Guarded asks, Full runs only the allowlist and web reads), ask,
225
+ allowlist or allow. File writes are always refused
226
+ ORDEWELL_APPROVAL_ALLOW Extra allowlist entries, comma-separated: "gh issue list",
227
+ "gcloud * * list", "mcp:find-*", "https://docs.example.com/*";
228
+ "web_search:<provider>" covers one search provider (anthropic, openai,
229
+ opencode or duckduckgo); a leading ! excludes, and !web_search:* turns
230
+ every search off. To turn web reads off: !web_search:*, !https://*,
231
+ !http://*, or ORDEWELL_WEB_READ_BUDGET=0. "mcp-server:<name>@<hash>"
232
+ starts one exact MCP server a repository declares; !mcp-server:* starts none
233
+ ORDEWELL_APPROVAL_DEFAULTS false: drop the built-in read-only allowlist
234
+ ORDEWELL_WEB_READ_BUDGET Fetches and web searches the planner may make per turn
235
+ (default: 40; 0 turns web reads off)
223
236
  ORDEWELL_PORT Daemon port CLI commands target (default: 3742)
224
237
  ORDEWELL_DIRENV false: agents skip the project's direnv .envrc
225
238
  ORDEWELL_RESEARCH_ENABLED true (default) or false
@@ -978,6 +991,9 @@ function describeApproval(event) {
978
991
  const detail = event.detail ? String(event.detail) : "";
979
992
  const headline = event.kind === "shell_command" ? `The planner wants to run a command:
980
993
  ${subject}` : event.kind === "url_fetch" ? `The planner wants to fetch a URL:
994
+ ${subject}` : event.kind === "web_search" ? `The planner wants to search the web:
995
+ ${subject}` : event.kind === "mcp_tool" ? `The planner wants to use an MCP tool:
996
+ ${subject}` : event.kind === "mcp_server" ? `The planner wants to start an MCP server the repository declares:
981
997
  ${subject}` : `The planner wants to read a path outside the workspace:
982
998
  ${subject}`;
983
999
  const detailLine = detail ? `
@@ -988,7 +1004,7 @@ function describeApproval(event) {
988
1004
  function describeApprovalDecision(event) {
989
1005
  const subject = String(event.subject ?? "");
990
1006
  const source = String(event.source ?? "");
991
- const label = source === "pre-approved" ? "pre-approved" : source === "remembered" ? "remembered" : source === "mode" ? "policy" : "no approval channel";
1007
+ const label = source === "pre-approved" ? "pre-approved" : source === "remembered" ? "remembered" : source === "mode" ? "policy" : source === "excluded" ? "excluded" : source === "guard" ? "blocked address" : source === "secret" ? "secret check" : source === "budget" ? "web-read budget" : source === "unsupported" ? "not usable on this runner version" : "no approval channel";
992
1008
  return `${event.granted ? "Auto-approved" : "Auto-denied"} (${label}): ${subject}`;
993
1009
  }
994
1010
  function createApprovalHandler(sessionId, deps) {
@@ -4008,14 +4024,22 @@ function subagentLines(block, cols, detailAll) {
4008
4024
  var APPROVAL_KIND = {
4009
4025
  shell_command: "Run a command",
4010
4026
  url_fetch: "Fetch a URL",
4027
+ web_search: "Search the web",
4011
4028
  external_path: "Read outside the workspace",
4029
+ mcp_tool: "Use an MCP tool",
4030
+ mcp_server: "Start a project MCP server",
4012
4031
  runner_tool: "Use a tool"
4013
4032
  };
4014
4033
  var DECIDED_BY = {
4015
4034
  "pre-approved": "pre-approved",
4016
4035
  remembered: "remembered",
4017
4036
  mode: "policy",
4018
- "no-channel": "no approval channel"
4037
+ "no-channel": "no approval channel",
4038
+ excluded: "excluded",
4039
+ guard: "blocked address",
4040
+ secret: "secret check",
4041
+ budget: "web-read budget",
4042
+ unsupported: "not usable on this runner version"
4019
4043
  };
4020
4044
  function approvalLine(block, cols) {
4021
4045
  const policy = block.decidedBy && block.decidedBy !== "asked" ? DECIDED_BY[block.decidedBy] : void 0;
@@ -4919,7 +4943,7 @@ function renderOverlay(state, rows, cols) {
4919
4943
  if (overlay.kind === "help") return renderHelp(overlay.scroll ?? 0, rows, cols);
4920
4944
  if (overlay.kind === "approval") {
4921
4945
  const { request } = overlay;
4922
- const headline = request.kind === "shell_command" ? "The planner wants to run a command" : request.kind === "url_fetch" ? "The planner wants to fetch a URL" : "The planner wants to read a path outside the workspace";
4946
+ const headline = request.kind === "shell_command" ? "The planner wants to run a command" : request.kind === "url_fetch" ? "The planner wants to fetch a URL" : request.kind === "web_search" ? "The planner wants to search the web" : request.kind === "mcp_tool" ? "The planner wants to use an MCP tool" : request.kind === "mcp_server" ? "The planner wants to start a project MCP server" : "The planner wants to read a path outside the workspace";
4923
4947
  const queued = state.pendingApprovals.length;
4924
4948
  return frame(
4925
4949
  "Approval needed",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ordewell/cli",
3
- "version": "0.8.1",
3
+ "version": "0.9.1",
4
4
  "description": "Ordewell CLI and TUI — plan, run and verify coding-agent tasks from the terminal.",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Alessandro Costanzo Ciano",
@@ -49,8 +49,8 @@
49
49
  "typecheck": "tsc --noEmit"
50
50
  },
51
51
  "dependencies": {
52
- "@ordewell/core": "^0.8.1",
53
- "@ordewell/web": "^0.8.1",
52
+ "@ordewell/core": "^0.9.1",
53
+ "@ordewell/web": "^0.9.1",
54
54
  "string-width": "^7.2.0",
55
55
  "ws": "^8.18.0"
56
56
  },