@ordewell/cli 0.9.0 → 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 +21 -6
  2. package/package.json +3 -3
package/dist/main.js CHANGED
@@ -221,12 +221,18 @@ Environment:
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
223
  ORDEWELL_APPROVAL_MODE What the planner may run beyond read-only commands: auto (default:
224
- Guarded asks, Full runs only the allowlist), ask, allowlist or allow.
225
- File writes are always refused
224
+ Guarded asks, Full runs only the allowlist and web reads), ask,
225
+ allowlist or allow. File writes are always refused
226
226
  ORDEWELL_APPROVAL_ALLOW Extra allowlist entries, comma-separated: "gh issue list",
227
227
  "gcloud * * list", "mcp:find-*", "https://docs.example.com/*";
228
- a leading ! excludes
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
229
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)
230
236
  ORDEWELL_PORT Daemon port CLI commands target (default: 3742)
231
237
  ORDEWELL_DIRENV false: agents skip the project's direnv .envrc
232
238
  ORDEWELL_RESEARCH_ENABLED true (default) or false
@@ -985,7 +991,9 @@ function describeApproval(event) {
985
991
  const detail = event.detail ? String(event.detail) : "";
986
992
  const headline = event.kind === "shell_command" ? `The planner wants to run a command:
987
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:
988
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:
989
997
  ${subject}` : `The planner wants to read a path outside the workspace:
990
998
  ${subject}`;
991
999
  const detailLine = detail ? `
@@ -996,7 +1004,7 @@ function describeApproval(event) {
996
1004
  function describeApprovalDecision(event) {
997
1005
  const subject = String(event.subject ?? "");
998
1006
  const source = String(event.source ?? "");
999
- 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";
1000
1008
  return `${event.granted ? "Auto-approved" : "Auto-denied"} (${label}): ${subject}`;
1001
1009
  }
1002
1010
  function createApprovalHandler(sessionId, deps) {
@@ -4016,15 +4024,22 @@ function subagentLines(block, cols, detailAll) {
4016
4024
  var APPROVAL_KIND = {
4017
4025
  shell_command: "Run a command",
4018
4026
  url_fetch: "Fetch a URL",
4027
+ web_search: "Search the web",
4019
4028
  external_path: "Read outside the workspace",
4020
4029
  mcp_tool: "Use an MCP tool",
4030
+ mcp_server: "Start a project MCP server",
4021
4031
  runner_tool: "Use a tool"
4022
4032
  };
4023
4033
  var DECIDED_BY = {
4024
4034
  "pre-approved": "pre-approved",
4025
4035
  remembered: "remembered",
4026
4036
  mode: "policy",
4027
- "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"
4028
4043
  };
4029
4044
  function approvalLine(block, cols) {
4030
4045
  const policy = block.decidedBy && block.decidedBy !== "asked" ? DECIDED_BY[block.decidedBy] : void 0;
@@ -4928,7 +4943,7 @@ function renderOverlay(state, rows, cols) {
4928
4943
  if (overlay.kind === "help") return renderHelp(overlay.scroll ?? 0, rows, cols);
4929
4944
  if (overlay.kind === "approval") {
4930
4945
  const { request } = overlay;
4931
- 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 === "mcp_tool" ? "The planner wants to use an MCP tool" : "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";
4932
4947
  const queued = state.pendingApprovals.length;
4933
4948
  return frame(
4934
4949
  "Approval needed",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ordewell/cli",
3
- "version": "0.9.0",
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.9.0",
53
- "@ordewell/web": "^0.9.0",
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
  },