iosm-cli 0.2.10 → 0.2.12

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 (75) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/README.md +12 -2
  3. package/dist/core/agent-session.d.ts +4 -0
  4. package/dist/core/agent-session.d.ts.map +1 -1
  5. package/dist/core/agent-session.js +123 -49
  6. package/dist/core/agent-session.js.map +1 -1
  7. package/dist/core/background-processes.d.ts +31 -0
  8. package/dist/core/background-processes.d.ts.map +1 -0
  9. package/dist/core/background-processes.js +241 -0
  10. package/dist/core/background-processes.js.map +1 -0
  11. package/dist/core/bash-executor.d.ts +6 -0
  12. package/dist/core/bash-executor.d.ts.map +1 -1
  13. package/dist/core/bash-executor.js.map +1 -1
  14. package/dist/core/extensions/types.d.ts +3 -0
  15. package/dist/core/extensions/types.d.ts.map +1 -1
  16. package/dist/core/extensions/types.js.map +1 -1
  17. package/dist/core/extensions/wrapper.d.ts +19 -2
  18. package/dist/core/extensions/wrapper.d.ts.map +1 -1
  19. package/dist/core/extensions/wrapper.js +23 -4
  20. package/dist/core/extensions/wrapper.js.map +1 -1
  21. package/dist/core/mcp/runtime.d.ts.map +1 -1
  22. package/dist/core/mcp/runtime.js +2 -0
  23. package/dist/core/mcp/runtime.js.map +1 -1
  24. package/dist/core/messages.d.ts +1 -1
  25. package/dist/core/messages.d.ts.map +1 -1
  26. package/dist/core/messages.js +2 -1
  27. package/dist/core/messages.js.map +1 -1
  28. package/dist/core/sdk.d.ts.map +1 -1
  29. package/dist/core/sdk.js +30 -2
  30. package/dist/core/sdk.js.map +1 -1
  31. package/dist/core/settings-manager.d.ts +17 -0
  32. package/dist/core/settings-manager.d.ts.map +1 -1
  33. package/dist/core/settings-manager.js +29 -0
  34. package/dist/core/settings-manager.js.map +1 -1
  35. package/dist/core/slash-commands.d.ts.map +1 -1
  36. package/dist/core/slash-commands.js +4 -0
  37. package/dist/core/slash-commands.js.map +1 -1
  38. package/dist/core/subagents.d.ts +10 -2
  39. package/dist/core/subagents.d.ts.map +1 -1
  40. package/dist/core/subagents.js +66 -17
  41. package/dist/core/subagents.js.map +1 -1
  42. package/dist/core/system-prompt.d.ts +25 -0
  43. package/dist/core/system-prompt.d.ts.map +1 -1
  44. package/dist/core/system-prompt.js +147 -14
  45. package/dist/core/system-prompt.js.map +1 -1
  46. package/dist/core/tools/bash.d.ts +5 -0
  47. package/dist/core/tools/bash.d.ts.map +1 -1
  48. package/dist/core/tools/bash.js +28 -2
  49. package/dist/core/tools/bash.js.map +1 -1
  50. package/dist/core/tools/index.d.ts +2 -1
  51. package/dist/core/tools/index.d.ts.map +1 -1
  52. package/dist/core/tools/index.js.map +1 -1
  53. package/dist/core/tools/permissions.d.ts +3 -0
  54. package/dist/core/tools/permissions.d.ts.map +1 -1
  55. package/dist/core/tools/permissions.js.map +1 -1
  56. package/dist/core/tools/task.d.ts +3 -1
  57. package/dist/core/tools/task.d.ts.map +1 -1
  58. package/dist/core/tools/task.js +48 -23
  59. package/dist/core/tools/task.js.map +1 -1
  60. package/dist/main.d.ts.map +1 -1
  61. package/dist/main.js +93 -1
  62. package/dist/main.js.map +1 -1
  63. package/dist/modes/interactive/interactive-mode.d.ts +5 -0
  64. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  65. package/dist/modes/interactive/interactive-mode.js +252 -24
  66. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  67. package/docs/cli-reference.md +6 -0
  68. package/docs/configuration.md +57 -1
  69. package/docs/development-and-testing.md +3 -2
  70. package/docs/extensions-packages-themes.md +27 -0
  71. package/docs/interactive-mode.md +4 -0
  72. package/docs/orchestration-and-subagents.md +16 -0
  73. package/docs/rpc-json-sdk.md +14 -0
  74. package/docs/sessions-traces-export.md +7 -0
  75. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -7,6 +7,57 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.2.12] - 2026-04-01
11
+
12
+ ### Changed
13
+
14
+ - **Startup command execution policy** — system prompt guidance now explicitly routes "start/run project", dev-server, and watcher requests to detached `bash` execution (`run_in_background=true`) by default, with foreground mode reserved for immediate-output needs
15
+ - **Subagent runtime capability hint** — delegated task prompts now include the same detached-startup guidance so child agents avoid blocking turns when launching persistent processes
16
+
17
+ ### Documentation
18
+
19
+ - Updated README usage guidance to document default detached handling for project/server startup requests
20
+ - Updated `docs/cli-reference.md` and `docs/interactive-mode.md` with explicit startup-to-background behavior and `/bg` follow-up flow
21
+
22
+ ### Tests
23
+
24
+ - Added system-prompt regression asserting explicit startup background guidance (`run_in_background=true`, `/bg status|logs|stop`)
25
+ - Expanded subagent orchestration tests to assert delegated runtime hints include startup/background routing rules
26
+
27
+ ## [0.2.11] - 2026-04-01
28
+
29
+ ### Added
30
+
31
+ - **Prompt context preprocessing controls** — added deterministic `promptContext` pipeline (`normalize -> dedupe -> per-file cap -> total cap`) with optional git snapshot plumbing and context preprocessing trace metrics
32
+ - **Background shell process runtime** — added persistent detached process manager with metadata/log tracking under `.iosm/background/processes`
33
+ - **Interactive background command surface** — added `/bg` command family (`list`, `status`, `logs`, `stop`) and detached shell submission syntax via `! <command> &`
34
+ - **Bash detached execution parameter** — added `run_in_background` support in built-in `bash` tool and session-level bash execution path with returned `backgroundTaskId`/status/log metadata
35
+ - **Extension tool permission tiers** — added optional `requiredPermission` metadata (`read-only`, `workspace-write`, `danger-full-access`) for extension tools and runtime propagation through permission flow
36
+ - **Subagent tool-name normalization** — added normalization/filtering for custom agent `tools` and `disallowed_tools` (lowercase, `-` -> `_`, unknown removal with diagnostics)
37
+
38
+ ### Changed
39
+
40
+ - **Permission flow unification** — consolidated tool permission evaluation for built-ins and extensions with tier/source-aware request metadata and stricter extension enforcement branch behind `permissions.extensionToolEnforcement` (default off)
41
+ - **Compaction continuation framing** — compaction summary prefix now explicitly instructs continuation from current state without full recap unless user asks
42
+ - **System prompt guidance updates** — bash guidance now includes detached execution usage (`run_in_background`) for long-running non-blocking commands
43
+
44
+ ### Documentation
45
+
46
+ - Updated README header/version marker to `0.2.11`
47
+ - Updated interactive/CLI/configuration/session-trace/orchestration docs with:
48
+ - background process workflow (`! ... &`, `/bg`)
49
+ - `promptContext` settings and defaults
50
+ - extension permission tier semantics and `permissions.extensionToolEnforcement`
51
+ - subagent frontmatter tool normalization behavior
52
+ - Updated extension authoring docs with `requiredPermission` examples for `registerTool`
53
+
54
+ ### Tests
55
+
56
+ - Added `test/background-processes.test.ts` coverage for start/list/log-tail/stop lifecycle
57
+ - Added interactive `/bg` coverage in `test/interactive-mode-status.test.ts`
58
+ - Added `run_in_background` coverage for `bash` in `test/tools.test.ts`
59
+ - Expanded regressions for context preprocessing, extension permission-tier behavior, compaction continuation framing, and subagent tool normalization
60
+
10
61
  ## [0.2.10] - 2026-03-18
11
62
 
12
63
  ### Added
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  <div align="center">
2
2
 
3
- <h1>IOSM CLI 0.2.10</h1>
3
+ <h1>IOSM CLI 0.2.12</h1>
4
4
 
5
5
  <p><strong>Terminal-native AI runtime for controlled, measurable engineering work on real codebases.</strong></p>
6
6
 
@@ -60,6 +60,7 @@ It is not a chat interface. It is a runtime.
60
60
  | **Complex changes** | `/contract` → `/singular` → `/swarm` — deterministic execution with locks and gates |
61
61
  | **Codebase understanding** | Semantic search, repository-scale indexing, project memory |
62
62
  | **Multi-agent work** | Parallel subagents with shared memory and consistency model |
63
+ | **Background execution** | Detached shell runs (`! <command> &`) with `/bg` process management |
63
64
  | **Methodology** | IOSM cycles: measurable improvement with metrics, evidence, and artifact history |
64
65
  | **Integrations** | Interactive TUI, print mode, JSON event stream, JSON-RPC server, TypeScript SDK |
65
66
  | **Extensibility** | MCP servers, TypeScript extensions, Markdown skills, prompt templates, themes |
@@ -187,6 +188,8 @@ iosm
187
188
  Common tasks:
188
189
  - implement or refactor features
189
190
  - read, search, and edit files with full shell access
191
+ - run long shell jobs in background (`! npm run dev &`) and inspect with `/bg`
192
+ - treat "start/run project or dev server" requests as detached background jobs by default, then follow with `/bg status|logs|stop`
190
193
  - review architecture or explore unfamiliar modules
191
194
  - resume previous sessions: `/resume`, `/fork`, `/tree`
192
195
  - keep persistent notes: `/memory`
@@ -439,8 +442,15 @@ Settings merge in priority order: **CLI flags** > **project** `.iosm/settings.js
439
442
  "autoCompact": true,
440
443
  "compactThreshold": 100000
441
444
  },
445
+ "promptContext": {
446
+ "enableContextDedupe": true,
447
+ "maxContextCharsPerFile": 4000,
448
+ "maxTotalContextChars": 12000,
449
+ "enableGitSnapshotContext": false
450
+ },
442
451
  "permissions": {
443
- "autoApprove": false
452
+ "autoApprove": false,
453
+ "extensionToolEnforcement": false
444
454
  }
445
455
  }
446
456
  ```
@@ -198,6 +198,7 @@ export declare class AgentSession {
198
198
  private _toolRegistry;
199
199
  private _toolPromptSnippets;
200
200
  private _toolPromptGuidelines;
201
+ private _toolRequiredPermissions;
201
202
  private _subagentStartMeta;
202
203
  private _baseSystemPrompt;
203
204
  private _systemPromptSuffix?;
@@ -331,6 +332,8 @@ export declare class AgentSession {
331
332
  get promptTemplates(): ReadonlyArray<PromptTemplate>;
332
333
  private _normalizePromptSnippet;
333
334
  private _normalizePromptGuidelines;
335
+ private _summarizeToolPermissionInput;
336
+ private _evaluateToolPermission;
334
337
  private _rebuildSystemPrompt;
335
338
  /**
336
339
  * Send a prompt to the agent.
@@ -599,6 +602,7 @@ export declare class AgentSession {
599
602
  executeBash(command: string, onChunk?: (chunk: string) => void, options?: {
600
603
  excludeFromContext?: boolean;
601
604
  operations?: BashOperations;
605
+ runInBackground?: boolean;
602
606
  }): Promise<BashResult>;
603
607
  /**
604
608
  * Record a bash execution result in session history.
@@ -1 +1 @@
1
- {"version":3,"file":"agent-session.d.ts","sourceRoot":"","sources":["../../src/core/agent-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-session.d.ts","sourceRoot":"","sources":["../../src/core/agent-session.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,7 @@ import { createToolHtmlRenderer } from "./export-html/tool-renderer.js";
28
28
  import { ExtensionRunner, wrapRegisteredTools, wrapToolsWithExtensions, } from "./extensions/index.js";
29
29
  import { INTERNAL_UI_META_CUSTOM_TYPE } from "./messages.js";
30
30
  import { expandPromptTemplate } from "./prompt-templates.js";
31
+ import { startBackgroundProcess } from "./background-processes.js";
31
32
  import { getLatestCompactionEntry } from "./session-manager.js";
32
33
  import { BUILTIN_SLASH_COMMANDS } from "./slash-commands.js";
33
34
  import { buildSystemPrompt } from "./system-prompt.js";
@@ -253,6 +254,16 @@ const THINKING_LEVELS = ["off", "minimal", "low", "medium", "high"];
253
254
  const MAX_PROMPT_PROTOCOL_AUTO_REPAIR_ATTEMPTS = 2;
254
255
  /** Thinking levels including xhigh (for supported models) */
255
256
  const THINKING_LEVELS_WITH_XHIGH = ["off", "minimal", "low", "medium", "high", "xhigh"];
257
+ const BUILTIN_TOOL_REQUIRED_PERMISSIONS = {
258
+ bash: "danger-full-access",
259
+ edit: "workspace-write",
260
+ write: "workspace-write",
261
+ fetch: "read-only",
262
+ web_search: "read-only",
263
+ git_write: "workspace-write",
264
+ fs_ops: "workspace-write",
265
+ db_run: "workspace-write",
266
+ };
256
267
  // ============================================================================
257
268
  // AgentSession Class
258
269
  // ============================================================================
@@ -292,6 +303,7 @@ export class AgentSession {
292
303
  this._toolRegistry = new Map();
293
304
  this._toolPromptSnippets = new Map();
294
305
  this._toolPromptGuidelines = new Map();
306
+ this._toolRequiredPermissions = new Map();
295
307
  this._subagentStartMeta = new Map();
296
308
  // Base system prompt (without extension appends) - used to apply fresh appends each turn
297
309
  this._baseSystemPrompt = "";
@@ -1004,6 +1016,32 @@ export class AgentSession {
1004
1016
  }
1005
1017
  return Array.from(unique);
1006
1018
  }
1019
+ _summarizeToolPermissionInput(input) {
1020
+ let preview = "{}";
1021
+ try {
1022
+ preview = JSON.stringify(input);
1023
+ }
1024
+ catch {
1025
+ preview = "{...}";
1026
+ }
1027
+ if (preview.length > 200) {
1028
+ preview = `${preview.slice(0, 197)}...`;
1029
+ }
1030
+ return preview;
1031
+ }
1032
+ async _evaluateToolPermission(request) {
1033
+ const normalizedRequest = {
1034
+ ...request,
1035
+ requiredPermission: request.requiredPermission ?? this._toolRequiredPermissions.get(request.toolName) ?? undefined,
1036
+ toolSource: request.toolSource ?? "builtin",
1037
+ };
1038
+ const hookResult = applyPreToolUseHooks(this._hooksConfig, normalizedRequest);
1039
+ this._queueHookNotices("PreToolUse", hookResult.notices);
1040
+ if (!hookResult.allowed) {
1041
+ throw new Error(hookResult.message ?? "Tool blocked by PreToolUse hook.");
1042
+ }
1043
+ return this._toolPermissionHandler ? this._toolPermissionHandler(normalizedRequest) : true;
1044
+ }
1007
1045
  _rebuildSystemPrompt(toolNames) {
1008
1046
  const validToolNames = toolNames.filter((name) => this._toolRegistry.has(name));
1009
1047
  const toolSnippets = {};
@@ -1035,15 +1073,35 @@ export class AgentSession {
1035
1073
  return true;
1036
1074
  return this._iosmAutopilotEnabled ? isIosmPlaybook : isAgentsPlaybook;
1037
1075
  });
1076
+ const promptContextOptions = {
1077
+ enableContextDedupe: this.settingsManager.getPromptContextEnableDedupe(),
1078
+ maxContextCharsPerFile: this.settingsManager.getPromptContextMaxCharsPerFile(),
1079
+ maxTotalContextChars: this.settingsManager.getPromptContextMaxTotalChars(),
1080
+ enableGitSnapshotContext: this.settingsManager.getPromptContextEnableGitSnapshotContext(),
1081
+ };
1038
1082
  return buildSystemPrompt({
1039
1083
  cwd: this._cwd,
1040
1084
  skills: loadedSkills,
1041
1085
  contextFiles: loadedContextFiles,
1086
+ contextProcessing: promptContextOptions,
1042
1087
  customPrompt: loaderSystemPrompt,
1043
1088
  appendSystemPrompt,
1044
1089
  selectedTools: validToolNames,
1045
1090
  toolSnippets,
1046
1091
  promptGuidelines,
1092
+ onContextProcessed: (stats) => {
1093
+ this._appendSessionTrace({
1094
+ type: "system_prompt_context_compose",
1095
+ context_before_chars: stats.contextBeforeChars,
1096
+ context_after_chars: stats.contextAfterChars,
1097
+ dedupe_hits: stats.dedupeHits,
1098
+ truncated_files: stats.truncatedFiles,
1099
+ dropped_files: stats.droppedFiles,
1100
+ included_files: stats.includedFiles,
1101
+ total_files: stats.totalFiles,
1102
+ git_snapshot_included: stats.gitSnapshotIncluded,
1103
+ });
1104
+ },
1047
1105
  });
1048
1106
  }
1049
1107
  // =========================================================================
@@ -2767,11 +2825,18 @@ export class AgentSession {
2767
2825
  _refreshToolRegistry(options) {
2768
2826
  const previousRegistryNames = new Set(this._toolRegistry.keys());
2769
2827
  const previousActiveToolNames = this.getActiveToolNames();
2828
+ const enforceExtensionToolPermissions = this.settingsManager.getPermissionExtensionToolEnforcement();
2770
2829
  const registeredTools = this._extensionRunner?.getAllRegisteredTools() ?? [];
2771
2830
  const allCustomTools = [
2772
2831
  ...registeredTools,
2773
2832
  ...this._customTools.map((def) => ({ definition: def, extensionPath: "<sdk>" })),
2774
2833
  ];
2834
+ const requiredPermissionEntries = Object.entries(BUILTIN_TOOL_REQUIRED_PERMISSIONS).map(([name, permission]) => [name, permission]);
2835
+ this._toolRequiredPermissions = new Map(requiredPermissionEntries);
2836
+ for (const registeredTool of allCustomTools) {
2837
+ const existing = this._toolRequiredPermissions.get(registeredTool.definition.name);
2838
+ this._toolRequiredPermissions.set(registeredTool.definition.name, registeredTool.definition.requiredPermission ?? existing);
2839
+ }
2775
2840
  this._toolPromptSnippets = new Map(allCustomTools
2776
2841
  .map((registeredTool) => {
2777
2842
  const snippet = this._normalizePromptSnippet(registeredTool.definition.promptSnippet ?? registeredTool.definition.description);
@@ -2785,7 +2850,24 @@ export class AgentSession {
2785
2850
  })
2786
2851
  .filter((entry) => entry !== undefined));
2787
2852
  const wrappedExtensionTools = this._extensionRunner
2788
- ? wrapRegisteredTools(allCustomTools, this._extensionRunner)
2853
+ ? wrapRegisteredTools(allCustomTools, this._extensionRunner, (registeredTool) => {
2854
+ const toolSource = registeredTool.extensionPath === "<sdk>" ? "custom" : "extension";
2855
+ return {
2856
+ toolSource,
2857
+ permissionPolicy: {
2858
+ enabled: enforceExtensionToolPermissions && toolSource === "extension",
2859
+ guard: async (request) => this._evaluateToolPermission(request),
2860
+ createRequest: ({ toolName, params, requiredPermission, toolSource: source }) => ({
2861
+ toolName,
2862
+ cwd: this._cwd,
2863
+ input: params,
2864
+ summary: `Extension tool ${toolName} ${this._summarizeToolPermissionInput(params)}`,
2865
+ requiredPermission,
2866
+ toolSource: source,
2867
+ }),
2868
+ },
2869
+ };
2870
+ })
2789
2871
  : [];
2790
2872
  const toolRegistry = new Map(this._baseToolRegistry);
2791
2873
  for (const tool of wrappedExtensionTools) {
@@ -2818,46 +2900,26 @@ export class AgentSession {
2818
2900
  _buildRuntime(options) {
2819
2901
  const autoResizeImages = this.settingsManager.getImageAutoResize();
2820
2902
  const shellCommandPrefix = this.settingsManager.getShellCommandPrefix();
2821
- const evaluatePreToolHooks = (request) => {
2822
- const hookResult = applyPreToolUseHooks(this._hooksConfig, request);
2823
- this._queueHookNotices("PreToolUse", hookResult.notices);
2824
- if (!hookResult.allowed) {
2825
- throw new Error(hookResult.message ?? "Tool blocked by PreToolUse hook.");
2826
- }
2827
- return true;
2828
- };
2829
2903
  const baseTools = this._baseToolsOverride
2830
2904
  ? this._baseToolsOverride
2831
2905
  : createAllTools(this._cwd, {
2832
2906
  read: { autoResizeImages },
2833
2907
  bash: {
2834
2908
  commandPrefix: shellCommandPrefix,
2835
- permissionGuard: async (request) => {
2836
- evaluatePreToolHooks(request);
2837
- return this._toolPermissionHandler ? this._toolPermissionHandler(request) : true;
2838
- },
2909
+ permissionGuard: async (request) => this._evaluateToolPermission(request),
2839
2910
  },
2840
2911
  edit: {
2841
- permissionGuard: async (request) => {
2842
- evaluatePreToolHooks(request);
2843
- return this._toolPermissionHandler ? this._toolPermissionHandler(request) : true;
2844
- },
2912
+ permissionGuard: async (request) => this._evaluateToolPermission(request),
2845
2913
  },
2846
2914
  write: {
2847
- permissionGuard: async (request) => {
2848
- evaluatePreToolHooks(request);
2849
- return this._toolPermissionHandler ? this._toolPermissionHandler(request) : true;
2850
- },
2915
+ permissionGuard: async (request) => this._evaluateToolPermission(request),
2851
2916
  },
2852
2917
  semantic: {
2853
2918
  authStorage: this._modelRegistry.authStorage,
2854
2919
  },
2855
2920
  fetch: {
2856
2921
  resolveAllowedMethods: () => getAllowedFetchMethodsForProfile(this._profileName),
2857
- permissionGuard: async (request) => {
2858
- evaluatePreToolHooks(request);
2859
- return this._toolPermissionHandler ? this._toolPermissionHandler(request) : true;
2860
- },
2922
+ permissionGuard: async (request) => this._evaluateToolPermission(request),
2861
2923
  },
2862
2924
  webSearch: {
2863
2925
  resolveRuntimeConfig: () => ({
@@ -2870,33 +2932,21 @@ export class AgentSession {
2870
2932
  }),
2871
2933
  resolveTavilyApiKey: () => this.settingsManager.getWebSearchTavilyApiKey(),
2872
2934
  resolveSearxngBaseUrl: () => this.settingsManager.getWebSearchSearxngUrl(),
2873
- permissionGuard: async (request) => {
2874
- evaluatePreToolHooks(request);
2875
- return this._toolPermissionHandler ? this._toolPermissionHandler(request) : true;
2876
- },
2935
+ permissionGuard: async (request) => this._evaluateToolPermission(request),
2877
2936
  },
2878
2937
  gitWrite: {
2879
2938
  resolveRuntimeConfig: () => ({
2880
2939
  networkEnabled: this.settingsManager.getGithubToolsNetworkEnabled(),
2881
2940
  }),
2882
2941
  resolveGithubToken: () => this.settingsManager.getGithubToolsToken(),
2883
- permissionGuard: async (request) => {
2884
- evaluatePreToolHooks(request);
2885
- return this._toolPermissionHandler ? this._toolPermissionHandler(request) : true;
2886
- },
2942
+ permissionGuard: async (request) => this._evaluateToolPermission(request),
2887
2943
  },
2888
2944
  fsOps: {
2889
- permissionGuard: async (request) => {
2890
- evaluatePreToolHooks(request);
2891
- return this._toolPermissionHandler ? this._toolPermissionHandler(request) : true;
2892
- },
2945
+ permissionGuard: async (request) => this._evaluateToolPermission(request),
2893
2946
  },
2894
2947
  dbRun: {
2895
2948
  resolveRuntimeConfig: () => this.settingsManager.getDbToolsSettings(),
2896
- permissionGuard: async (request) => {
2897
- evaluatePreToolHooks(request);
2898
- return this._toolPermissionHandler ? this._toolPermissionHandler(request) : true;
2899
- },
2949
+ permissionGuard: async (request) => this._evaluateToolPermission(request),
2900
2950
  },
2901
2951
  });
2902
2952
  this._baseToolRegistry = new Map(Object.entries(baseTools).map(([name, tool]) => [name, tool]));
@@ -3102,16 +3152,39 @@ export class AgentSession {
3102
3152
  const prefix = this.settingsManager.getShellCommandPrefix();
3103
3153
  const resolvedCommand = prefix ? `${prefix}\n${command}` : command;
3104
3154
  try {
3105
- const result = options?.operations
3106
- ? await executeBashWithOperations(resolvedCommand, this._cwd, options.operations, {
3107
- onChunk,
3108
- signal: this._bashAbortController.signal,
3109
- })
3110
- : await executeBashCommand(resolvedCommand, {
3155
+ let result;
3156
+ if (options?.runInBackground) {
3157
+ if (options.operations) {
3158
+ throw new Error("Background bash is not supported with custom execution operations.");
3159
+ }
3160
+ const background = startBackgroundProcess({
3161
+ rootCwd: this._cwd,
3111
3162
  cwd: this._cwd,
3112
- onChunk,
3113
- signal: this._bashAbortController.signal,
3163
+ command: resolvedCommand,
3164
+ source: "interactive",
3114
3165
  });
3166
+ result = {
3167
+ output: `Started background process ${background.id} (pid ${background.pid}). Use /bg status ${background.id}, /bg logs ${background.id}, or /bg stop ${background.id}.`,
3168
+ exitCode: undefined,
3169
+ cancelled: false,
3170
+ truncated: false,
3171
+ backgroundTaskId: background.id,
3172
+ backgroundStatusPath: background.metaPath,
3173
+ backgroundLogPath: background.logPath,
3174
+ };
3175
+ }
3176
+ else {
3177
+ result = options?.operations
3178
+ ? await executeBashWithOperations(resolvedCommand, this._cwd, options.operations, {
3179
+ onChunk,
3180
+ signal: this._bashAbortController.signal,
3181
+ })
3182
+ : await executeBashCommand(resolvedCommand, {
3183
+ cwd: this._cwd,
3184
+ onChunk,
3185
+ signal: this._bashAbortController.signal,
3186
+ });
3187
+ }
3115
3188
  this.recordBashResult(command, result, options);
3116
3189
  this._appendSessionTrace({
3117
3190
  type: "bash_end",
@@ -3119,6 +3192,7 @@ export class AgentSession {
3119
3192
  exitCode: result.exitCode,
3120
3193
  cancelled: result.cancelled,
3121
3194
  truncated: result.truncated,
3195
+ backgroundTaskId: result.backgroundTaskId ?? null,
3122
3196
  });
3123
3197
  return result;
3124
3198
  }