@oh-my-pi/pi-coding-agent 11.0.3 → 11.2.0

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 (143) hide show
  1. package/CHANGELOG.md +199 -49
  2. package/README.md +1 -1
  3. package/docs/config-usage.md +3 -4
  4. package/docs/sdk.md +6 -5
  5. package/examples/sdk/09-api-keys-and-oauth.ts +2 -2
  6. package/examples/sdk/README.md +1 -1
  7. package/package.json +19 -11
  8. package/src/cli/args.ts +11 -94
  9. package/src/cli/config-cli.ts +1 -1
  10. package/src/cli/file-processor.ts +3 -3
  11. package/src/cli/oclif-help.ts +26 -0
  12. package/src/cli/web-search-cli.ts +148 -0
  13. package/src/cli.ts +8 -2
  14. package/src/commands/commit.ts +36 -0
  15. package/src/commands/config.ts +51 -0
  16. package/src/commands/grep.ts +41 -0
  17. package/src/commands/index/index.ts +136 -0
  18. package/src/commands/jupyter.ts +32 -0
  19. package/src/commands/plugin.ts +70 -0
  20. package/src/commands/setup.ts +39 -0
  21. package/src/commands/shell.ts +29 -0
  22. package/src/commands/stats.ts +29 -0
  23. package/src/commands/update.ts +21 -0
  24. package/src/commands/web-search.ts +50 -0
  25. package/src/commit/agentic/index.ts +3 -2
  26. package/src/commit/agentic/tools/analyze-file.ts +1 -3
  27. package/src/commit/git/errors.ts +4 -6
  28. package/src/commit/pipeline.ts +3 -2
  29. package/src/config/keybindings.ts +1 -3
  30. package/src/config/model-registry.ts +89 -162
  31. package/src/config/settings-schema.ts +10 -0
  32. package/src/config.ts +202 -132
  33. package/src/exa/mcp-client.ts +8 -41
  34. package/src/export/html/index.ts +1 -1
  35. package/src/extensibility/extensions/loader.ts +7 -10
  36. package/src/extensibility/extensions/runner.ts +5 -15
  37. package/src/extensibility/extensions/types.ts +1 -1
  38. package/src/extensibility/hooks/runner.ts +6 -9
  39. package/src/index.ts +0 -1
  40. package/src/ipy/kernel.ts +10 -22
  41. package/src/lsp/clients/biome-client.ts +4 -7
  42. package/src/lsp/clients/lsp-linter-client.ts +4 -6
  43. package/src/lsp/index.ts +5 -4
  44. package/src/lsp/utils.ts +18 -0
  45. package/src/main.ts +86 -181
  46. package/src/mcp/json-rpc.ts +2 -2
  47. package/src/mcp/transports/http.ts +12 -49
  48. package/src/modes/components/armin.ts +1 -3
  49. package/src/modes/components/assistant-message.ts +4 -4
  50. package/src/modes/components/bash-execution.ts +5 -3
  51. package/src/modes/components/branch-summary-message.ts +1 -3
  52. package/src/modes/components/compaction-summary-message.ts +1 -3
  53. package/src/modes/components/custom-message.ts +4 -5
  54. package/src/modes/components/extensions/extension-dashboard.ts +10 -16
  55. package/src/modes/components/extensions/extension-list.ts +5 -5
  56. package/src/modes/components/footer.ts +1 -4
  57. package/src/modes/components/hook-editor.ts +7 -32
  58. package/src/modes/components/hook-message.ts +4 -5
  59. package/src/modes/components/model-selector.ts +2 -2
  60. package/src/modes/components/plugin-settings.ts +16 -20
  61. package/src/modes/components/python-execution.ts +5 -5
  62. package/src/modes/components/session-selector.ts +6 -7
  63. package/src/modes/components/settings-defs.ts +49 -40
  64. package/src/modes/components/settings-selector.ts +8 -17
  65. package/src/modes/components/skill-message.ts +1 -3
  66. package/src/modes/components/status-line-segment-editor.ts +1 -3
  67. package/src/modes/components/status-line.ts +1 -3
  68. package/src/modes/components/todo-reminder.ts +5 -7
  69. package/src/modes/components/tree-selector.ts +10 -12
  70. package/src/modes/components/ttsr-notification.ts +1 -3
  71. package/src/modes/components/user-message-selector.ts +2 -4
  72. package/src/modes/components/welcome.ts +6 -18
  73. package/src/modes/controllers/event-controller.ts +1 -0
  74. package/src/modes/controllers/extension-ui-controller.ts +1 -1
  75. package/src/modes/controllers/input-controller.ts +7 -34
  76. package/src/modes/controllers/selector-controller.ts +3 -3
  77. package/src/modes/interactive-mode.ts +27 -1
  78. package/src/modes/rpc/rpc-client.ts +2 -5
  79. package/src/modes/rpc/rpc-mode.ts +2 -2
  80. package/src/modes/theme/theme.ts +2 -6
  81. package/src/modes/types.ts +1 -0
  82. package/src/modes/utils/ui-helpers.ts +6 -1
  83. package/src/patch/index.ts +1 -4
  84. package/src/prompts/agents/explore.md +1 -0
  85. package/src/prompts/agents/frontmatter.md +2 -1
  86. package/src/prompts/agents/init.md +1 -0
  87. package/src/prompts/agents/plan.md +1 -0
  88. package/src/prompts/agents/reviewer.md +1 -0
  89. package/src/prompts/system/subagent-submit-reminder.md +2 -0
  90. package/src/prompts/system/subagent-system-prompt.md +2 -0
  91. package/src/prompts/system/subagent-user-prompt.md +8 -0
  92. package/src/prompts/system/system-prompt.md +5 -3
  93. package/src/prompts/system/web-search.md +6 -4
  94. package/src/prompts/tools/task.md +216 -163
  95. package/src/sdk.ts +11 -110
  96. package/src/session/agent-session.ts +117 -83
  97. package/src/session/auth-storage.ts +10 -51
  98. package/src/session/messages.ts +17 -3
  99. package/src/session/session-manager.ts +30 -30
  100. package/src/session/streaming-output.ts +1 -1
  101. package/src/ssh/ssh-executor.ts +6 -3
  102. package/src/task/agents.ts +2 -0
  103. package/src/task/discovery.ts +1 -1
  104. package/src/task/executor.ts +5 -10
  105. package/src/task/index.ts +43 -23
  106. package/src/task/render.ts +67 -64
  107. package/src/task/template.ts +17 -34
  108. package/src/task/types.ts +49 -22
  109. package/src/tools/ask.ts +1 -3
  110. package/src/tools/bash.ts +1 -4
  111. package/src/tools/browser.ts +5 -7
  112. package/src/tools/exit-plan-mode.ts +1 -4
  113. package/src/tools/fetch.ts +1 -3
  114. package/src/tools/find.ts +4 -3
  115. package/src/tools/gemini-image.ts +24 -55
  116. package/src/tools/grep.ts +4 -4
  117. package/src/tools/index.ts +12 -14
  118. package/src/tools/notebook.ts +1 -5
  119. package/src/tools/python.ts +4 -3
  120. package/src/tools/read.ts +2 -4
  121. package/src/tools/render-utils.ts +23 -0
  122. package/src/tools/ssh.ts +8 -12
  123. package/src/tools/todo-write.ts +1 -4
  124. package/src/tools/tool-errors.ts +1 -4
  125. package/src/tools/write.ts +1 -3
  126. package/src/utils/external-editor.ts +59 -0
  127. package/src/utils/file-mentions.ts +39 -1
  128. package/src/utils/image-convert.ts +1 -1
  129. package/src/utils/image-resize.ts +4 -4
  130. package/src/web/search/auth.ts +3 -33
  131. package/src/web/search/index.ts +73 -139
  132. package/src/web/search/provider.ts +58 -0
  133. package/src/web/search/providers/anthropic.ts +53 -14
  134. package/src/web/search/providers/base.ts +22 -0
  135. package/src/web/search/providers/codex.ts +38 -16
  136. package/src/web/search/providers/exa.ts +30 -6
  137. package/src/web/search/providers/gemini.ts +56 -20
  138. package/src/web/search/providers/jina.ts +28 -5
  139. package/src/web/search/providers/perplexity.ts +103 -36
  140. package/src/web/search/render.ts +84 -74
  141. package/src/web/search/types.ts +285 -59
  142. package/src/migrations.ts +0 -175
  143. package/src/session/storage-migration.ts +0 -173
package/CHANGELOG.md CHANGED
@@ -2,7 +2,97 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [11.2.0] - 2026-02-05
6
+ ### Added
7
+
8
+ - Added `omp commit` command to generate commit messages and update changelogs with `--push`, `--dry-run`, `--no-changelog`, and model override flags
9
+ - Added `omp config` command to manage configuration settings with actions: list, get, set, reset, path
10
+ - Added `omp grep` command to test grep tool with pattern matching, glob filtering, context lines, and output modes
11
+ - Added `omp jupyter` command to manage the shared Jupyter gateway with status and kill actions
12
+ - Added `omp plugin` command to manage plugins with install, uninstall, list, link, doctor, features, config, enable, and disable actions
13
+ - Added `omp setup` command to install dependencies for optional features like Python
14
+ - Added `omp shell` command for interactive shell console with working directory and timeout configuration
15
+ - Added `omp stats` command to view usage statistics with dashboard server, JSON output, and summary options
16
+ - Added `omp update` command to check for and install updates with force and check-only modes
17
+ - Added `omp web-search` command (alias `omp q`) to test web search providers with provider selection, recency filtering, and result limits
18
+ - Migrated CLI from custom argument parser to oclif framework for improved command structure and help system
19
+ - Added `omp q` CLI subcommand for testing web search providers with query, provider, recency, and limit options
20
+ - Added web search provider information API with authentication requirements and provider metadata
21
+ - Added support for `hour` recency filter option in Perplexity web search
22
+ - Support for image file mentions—images are now automatically detected, resized, and attached when referenced with @filepath syntax
23
+ - Image dimension information displayed in file mention UI to show image properties alongside text files
24
+
25
+ ### Changed
26
+
27
+ - Refactored web search provider system to use individual provider classes in separate files for improved maintainability
28
+ - Moved `SearchProvider` base class and `SearchParams` interface to dedicated `providers/base.ts` module
29
+ - Updated web search execution to pass `maxOutputTokens`, `numSearchResults`, and `temperature` parameters to providers
30
+ - Changed Perplexity search context size from 'high' to 'medium' and added search classifier, reasoning effort, and language preference settings
31
+ - Increased Perplexity default max tokens from 4096 to 8192 for more comprehensive responses
32
+ - Updated Anthropic and Gemini search providers to support `max_tokens` and `temperature` parameters for finer control over response generation
33
+ - Simplified `AuthStorage.create()` to accept direct agent.db path
34
+ - Renamed web search types and exports for consistency: `WebSearchProvider` → `SearchProviderId`, `WebSearchResponse` → `SearchResponse`, `WebSearchTool` → `SearchTool`, and related functions
35
+ - Refactored web search provider system to use centralized provider registry with `getSearchProvider()` and `resolveProviderChain()` for improved provider management
36
+ - Updated web search system prompt to emphasize comprehensive, detailed answers with concrete data and specific examples over brevity
37
+ - Simplified Exa API key discovery to check environment variables only, removing .env file fallback logic
38
+ - Refactored `ModelRegistry` instantiation to use direct constructor instead of `discoverModels()` helper function across codebase
39
+ - Refactored CLI entry point to use oclif command framework instead of custom subcommand routing
40
+ - Reorganized subcommands into individual command files under `src/commands/` directory for better maintainability
41
+ - Updated extension flag handling to parse raw arguments directly instead of using custom flag definitions
42
+ - Refactored web search provider definitions into centralized provider-info module for better maintainability
43
+ - Updated web search result rendering to support long-form answers with text wrapping in CLI mode
44
+ - Removed related questions section from web search result rendering
45
+ - Updated Perplexity API types to support extended message content formats including images, files, and PDFs
46
+ - Updated Perplexity search to use 'pro' search type for improved search quality and relevance
47
+ - File mention messages now support both text content and image attachments, with optional line count for text files
48
+ - Updated file mention processing to respect image auto-resize settings
49
+
50
+ ### Removed
51
+
52
+ - Removed legacy auth.json file—credentials are stored exclusively in agent.db
53
+
54
+ ### Fixed
55
+
56
+ - Fixed type handling in model selector error message display to properly convert error objects to strings
57
+ - Fixed web search to use search results when Perplexity API returns no citations, ensuring search results are always available to users
58
+ - Fixed model switches deferred during streaming to apply correctly when the stream completes, preventing model changes from being lost
59
+ - Fixed plan mode toggles during streaming to inject plan-mode context immediately, preventing file edits while in plan mode
60
+ - Fixed plan mode model switches during streaming to defer model changes until the current turn completes
61
+
62
+ ## [11.1.0] - 2026-02-05
63
+
64
+ ### Added
65
+
66
+ - Added `sortDiagnostics()` utility function to sort diagnostics by severity, location, and message for consistent output ordering
67
+ - Added `task.isolation.enabled` setting to control whether subagents run in isolated git worktrees
68
+ - Added dynamic task schema that conditionally includes `isolated` parameter based on isolation setting
69
+ - Added `openInEditor()` utility function to centralize external editor handling with support for custom file extensions and stdio configuration
70
+ - Added `getEditorCommand()` utility function to retrieve the user's preferred editor from $VISUAL or $EDITOR environment variables
71
+
72
+ ### Changed
73
+
74
+ - Changed diagnostic output to sort results by severity (errors first), then by file location and message for improved readability
75
+ - Changed task tool to validate isolation setting and reject `isolated` parameter when isolation is disabled
76
+ - Changed task API to use `assignment` field instead of `args` for per-task instructions, with shared `context` prepended to every task
77
+ - Changed task template rendering to use structured context/assignment separation with `<swarm_context>` wrapper instead of placeholder-based substitution
78
+ - Changed task item schema to require `assignment` string (complete per-task instructions) instead of optional `args` object
79
+ - Changed `TaskItem` to remove `args` field and add `assignment` field for clearer per-task instruction semantics
80
+ - Changed agent frontmatter to use `thinking-level` field name instead of `thinkingLevel` for consistency
81
+ - Refactored task rendering to display full task text instead of args in progress and result views
82
+ - Changed `SubmenuSettingDef.getOptions()` method to `options` getter property for cleaner API access
83
+ - Converted static option providers from functions to direct array definitions for improved performance
84
+ - Added `createSubmenuSettingDef()` helper function to support both static and dynamic option providers
85
+ - Modified `setThinkingLevel()` API to accept optional `persist` parameter (defaults to false) for controlling whether thinking level changes are saved to settings
86
+ - Refactored hook editor and input controller to use shared external editor utilities, reducing code duplication
87
+
88
+ ### Removed
89
+
90
+ - Removed `context` parameter from `ExecutorOptions` — context now prepended at template level before task execution
91
+ - Removed `args` field from `AgentProgress` and `SingleResult` interfaces
92
+ - Removed placeholder-based template rendering in favor of structured context/assignment model
93
+
5
94
  ## [11.0.3] - 2026-02-05
95
+
6
96
  ### Added
7
97
 
8
98
  - Added new subcommands to help text: `commit` for AI-assisted git commits, `stats` for AI usage statistics dashboard, and `jupyter` for managing the shared Jupyter gateway
@@ -68,7 +158,7 @@
68
158
  - Changed `venvPath` property in PythonRuntime from nullable to optional (returns `undefined` instead of `null`)
69
159
  - Simplified notification settings from protocol-specific options (bell, osc99, osc9) to simple on/off toggle for `completion.notify` and `ask.notify`
70
160
  - Moved notification protocol detection and sending to `TERMINAL` API from local utility functions
71
- - Changed task tool spawns configuration from "explore" to "*" to allow subagents to spawn any agent type
161
+ - Changed task tool spawns configuration from "explore" to "\*" to allow subagents to spawn any agent type
72
162
  - Changed system prompt to enable parallel delegation guidance for all agents (removed coordinator-only restriction)
73
163
  - Changed task tool to automatically disable itself when maximum recursion depth is reached, preventing infinite nesting
74
164
  - Changed task concurrency from hardcoded constant to configurable setting via `task.maxConcurrency`
@@ -108,6 +198,7 @@
108
198
  - Removed support for `omp/` model role prefix; use `pi/` prefix instead
109
199
 
110
200
  ## [10.6.0] - 2026-02-04
201
+
111
202
  ### Breaking Changes
112
203
 
113
204
  - Removed `output_mode` parameter from grep tool—results now always use content mode with formatted match output
@@ -169,6 +260,7 @@
169
260
  - Fixed glob search returning no results when all files are ignored by gitignore by automatically retrying without gitignore filtering
170
261
 
171
262
  ## [10.3.2] - 2026-02-03
263
+
172
264
  ### Added
173
265
 
174
266
  - Added `renderCall` and `renderResult` methods to MCP tools for structured TUI display of tool calls and results
@@ -181,17 +273,20 @@
181
273
  - Fixed method binding in extension and hook tool wrappers to preserve `this` context for `renderCall` and `renderResult` methods
182
274
 
183
275
  ## [10.3.1] - 2026-02-03
276
+
184
277
  ### Fixed
185
278
 
186
279
  - Fixed timeout handling in LSP write-through operations to properly clear formatter and diagnostics results when operations exceed the 10-second timeout
187
280
 
188
281
  ## [10.3.0] - 2026-02-03
282
+
189
283
  ### Removed
190
284
 
191
285
  - Removed `shellForceBasic` setting that forced bash/sh shell selection
192
286
  - Removed `bash.persistentShell` experimental setting for shell session reuse
193
287
 
194
288
  ## [10.2.3] - 2026-02-02
289
+
195
290
  ### Added
196
291
 
197
292
  - Added `find.enabled`, `grep.enabled`, `ls.enabled`, `notebook.enabled`, `fetch.enabled`, `web_search.enabled`, `lsp.enabled`, and `calc.enabled` settings to control availability of individual tools
@@ -237,18 +332,21 @@
237
332
  - Fixed tool parameter schemas displaying internal TypeBox metadata fields in system prompt
238
333
 
239
334
  ## [10.2.1] - 2026-02-02
335
+
240
336
  ### Breaking Changes
241
337
 
242
338
  - Removed `strippedRedirect` field from `NormalizedCommand` interface returned by `normalizeBashCommand()`
243
339
  - Removed automatic stripping of `2>&1` stderr redirections from bash command normalization
244
340
 
245
341
  ## [10.1.0] - 2026-02-01
342
+
246
343
  ### Added
247
344
 
248
345
  - Added work scheduling profiler to debug menu for analyzing CPU scheduling patterns over the last 30 seconds
249
346
  - Added support for work profile data in report bundles including folded stacks, summary, and flamegraph visualization
250
347
 
251
348
  ## [10.0.0] - 2026-02-01
349
+
252
350
  ### Added
253
351
 
254
352
  - Added `shell` subcommand for interactive shell console testing with brush-core
@@ -261,6 +359,7 @@
261
359
  - `find` now returns a single match when given a file path instead of failing with "not a directory"
262
360
 
263
361
  ## [9.8.0] - 2026-02-01
362
+
264
363
  ### Breaking Changes
265
364
 
266
365
  - Removed persistent shell session support; bash execution now uses native bindings via brush-core for improved reliability
@@ -290,6 +389,7 @@
290
389
  - Removed shell session test suite for persistent execution patterns
291
390
 
292
391
  ## [9.6.2] - 2026-02-01
392
+
293
393
  ### Changed
294
394
 
295
395
  - Replaced hardcoded ellipsis strings with Unicode ellipsis character (…) throughout rendering code
@@ -310,6 +410,7 @@
310
410
  - Fixed bash command normalization to preserve newlines in heredocs and multiline commands
311
411
 
312
412
  ## [9.6.0] - 2026-02-01
413
+
313
414
  ### Breaking Changes
314
415
 
315
416
  - Replaced `SettingsManager` class with new `Settings` singleton providing sync get/set API with background persistence
@@ -354,6 +455,7 @@
354
455
  - Added new "Bash" settings tab grouping shell-related settings (force basic shell, persistent shell, interceptor, intercept ls)
355
456
 
356
457
  ## [9.5.0] - 2026-02-01
458
+
357
459
  ### Added
358
460
 
359
461
  - Added `head` and `tail` parameters to bash tool to limit output lines without breaking streaming
@@ -391,6 +493,7 @@
391
493
  - Fixed Python gateway spawning console window on Windows by using windowless Python interpreter (pythonw.exe)
392
494
 
393
495
  ## [9.4.0] - 2026-01-31
496
+
394
497
  ### Changed
395
498
 
396
499
  - Migrated environment variable handling to use centralized `getEnv()` and `getEnvApiKey()` utilities from pi-ai package for consistent API key resolution across web search providers and image tools
@@ -405,6 +508,7 @@
405
508
  - Removed environment variable denylist that blocked API keys from being passed to subprocesses; API keys are now controlled via allowlist only
406
509
 
407
510
  ## [9.3.1] - 2026-01-31
511
+
408
512
  ### Added
409
513
 
410
514
  - Added `getCompactContext()` API to retrieve parent conversation context for subagents, excluding system prompts and tool results
@@ -421,6 +525,7 @@
421
525
  - Removed schema override notification from task summary prompt
422
526
 
423
527
  ## [9.2.5] - 2026-01-31
528
+
424
529
  ### Changed
425
530
 
426
531
  - Clarified that user instructions about delegation override tool-use defaults
@@ -428,11 +533,13 @@
428
533
  - Enhanced `context` parameter documentation to require self-contained information for subagents, including file contents and user requirements
429
534
 
430
535
  ## [9.2.4] - 2026-01-31
536
+
431
537
  ### Fixed
432
538
 
433
539
  - Prevented interactive commands from blocking on stdin by redirecting from /dev/null in POSIX and Fish shell sessions
434
540
 
435
541
  ## [9.2.3] - 2026-01-31
542
+
436
543
  ### Added
437
544
 
438
545
  - Persistent shell session support for bash tool with environment variable preservation across commands
@@ -462,6 +569,7 @@
462
569
  ## [9.2.2] - 2026-01-31
463
570
 
464
571
  ### Added
572
+
465
573
  - Added grep CLI subcommand (`omp grep`) for testing pattern matching
466
574
  - Added fuzzy matching for model resolution with scoring and ranking fallback
467
575
  - Added 'Open: artifact folder' menu option to debug selector for quick access to session artifacts
@@ -492,6 +600,7 @@
492
600
  - Enhanced session compaction with dynamic token ratio adjustment and improved summary preservation
493
601
 
494
602
  ### Changed
603
+
495
604
  - Simplified find tool API by consolidating path and pattern parameters
496
605
  - Replaced bulk file loading with streaming for read tool to reduce memory overhead
497
606
  - Migrated grep and find tools to WASM-based implementation
@@ -502,6 +611,7 @@
502
611
  - Improved output preview logic: shows full output for ≤30 lines, truncates to 10 lines for larger output
503
612
 
504
613
  ### Fixed
614
+
505
615
  - Enhanced error reporting with debug stack trace when DEBUG env is set
506
616
  - Improved OAuth token refresh error handling to distinguish transient vs definitive failures
507
617
  - Added windowsHide option to child process spawn calls to prevent console windows on Windows
@@ -522,6 +632,7 @@
522
632
  ## [8.13.0] - 2026-01-29
523
633
 
524
634
  ### Added
635
+
525
636
  - Added `/debug` command with interactive menu for bug report generation:
526
637
  - `Report: performance issue` - CPU profiling with reproduction flow
527
638
  - `Report: dump session` - Immediate session bundle creation
@@ -531,43 +642,52 @@
531
642
  - `Clear: artifact cache` - Remove old session artifacts
532
643
 
533
644
  ### Fixed
645
+
534
646
  - Fixed LSP server errors not being visible in `/session` output or logs when startup fails
535
647
 
536
648
  ## [8.12.7] - 2026-01-29
537
649
 
538
650
  ### Fixed
651
+
539
652
  - Fixed LSP servers showing as "unknown" in status display when server warmup fails
540
653
  - Fixed Read tool loading entire file into memory when offset/limit was specified
541
654
 
542
655
  ## [8.12.2] - 2026-01-28
543
656
 
544
657
  ### Changed
658
+
545
659
  - Replaced ripgrep-based file listing with fs.glob for project scans and find/read tooling
546
660
 
547
661
  ## [8.11.14] - 2026-01-28
548
662
 
549
663
  ### Changed
664
+
550
665
  - Rendered /skill command messages as compact skill entries instead of full prompt text
551
666
 
552
667
  ## [8.8.8] - 2026-01-28
553
668
 
554
669
  ### Added
670
+
555
671
  - Added `/fork` command to create a new session with the exact same state (entries and artifacts) as the current session
556
672
 
557
673
  ### Changed
674
+
558
675
  - Renamed the `complete` tool to `submit_result` for subagent result submission
559
676
 
560
677
  ## [8.6.0] - 2026-01-27
561
678
 
562
679
  ### Added
680
+
563
681
  - Added `plan` model role for specifying the model used by the plan agent
564
682
  - Added `--plan` CLI flag and `OMP_PLAN_MODEL` environment variable for ephemeral plan model override
565
683
  - Added plan model selection in model selector UI with PLAN badge
566
684
 
567
685
  ### Changed
686
+
568
687
  - Task tool subagents now execute in-process instead of using worker threads
569
688
 
570
689
  ### Fixed
690
+
571
691
  - Queued skill commands as follow-ups when the agent is already streaming to avoid load failures
572
692
  - Deduplicated repeated review findings in subagent progress rendering
573
693
  - Restored MCP proxy tool timeout handling to prevent subagent hangs
@@ -575,64 +695,82 @@
575
695
  ## [8.5.0] - 2026-01-27
576
696
 
577
697
  ### Added
698
+
578
699
  - Added subagent support for preloading skill contents into the system prompt instead of listing available skills
579
700
  - Added session init entries to capture system prompt, task, tools, and output schema for subagent session logs
580
701
 
581
702
  ### Fixed
703
+
582
704
  - Reduced Task tool progress update overhead to keep the UI responsive during high-volume streaming output
583
705
  - Fixed subagent session logs dropping pre-assistant entries (user/task metadata) before the first assistant response
584
706
 
585
707
  ### Removed
708
+
586
709
  - Removed enter-plan-mode tool
710
+
587
711
  ## [8.4.5] - 2026-01-26
588
712
 
589
713
  ### Added
714
+
590
715
  - Model usage tracking to record and retrieve most recently used models
591
716
  - Model sorting in selector based on usage history
592
717
 
593
718
  ### Changed
719
+
594
720
  - Renamed `head_limit` parameter to `limit` in grep and find tools for consistency
595
721
  - Added `context` as an alias for the `c` context parameter in grep tool
596
722
  - Made hidden files inclusion configurable in find tool via `hidden` parameter (defaults to true)
597
723
  - Added support for reading ignore patterns from .gitignore and .ignore files in find tool
598
724
 
599
725
  ### Fixed
726
+
600
727
  - Respected .gitignore rules when filtering find tool results by glob pattern
728
+
601
729
  ## [8.4.2] - 2026-01-25
602
730
 
603
731
  ### Changed
732
+
604
733
  - Clarified and condensed plan mode prompts for improved clarity and consistency
734
+
605
735
  ## [8.4.1] - 2026-01-25
606
736
 
607
737
  ### Added
738
+
608
739
  - Added core plan mode with plan file approval workflow and tool gating
609
740
  - Added plan:// internal URLs for plan file access and subagent plan-mode system prompt
610
741
  - Added plan mode toggle shortcut with paused status indicator
611
742
 
612
743
  ### Fixed
744
+
613
745
  - Fixed plan reference injection and workflow prompt parameters for plan mode
614
746
  - Fixed tool downloads hanging on slow/blocked GitHub by adding timeouts and zip extraction fallback
615
747
  - Fixed missing UI notification when tools are downloaded or installed on demand
748
+
616
749
  ## [8.4.0] - 2026-01-25
617
750
 
618
751
  ### Added
752
+
619
753
  - Added extension API to set working/loading messages during streaming
620
754
  - Added task worker propagation of context files, skills, and prompt templates
621
755
  - Added subagent option to skip Python preflight checks when Python tooling is unused
622
756
  - Model field now accepts string arrays for fallback model prioritization
623
757
 
624
758
  ### Changed
759
+
625
760
  - Merged patch application warnings into edit tool diagnostics output
626
761
  - Cached Python prelude docs for subagent workers to avoid repeated warmups
627
762
  - Simplified image placeholders inserted on paste to match Claude-style markers
628
763
 
629
764
  ### Fixed
765
+
630
766
  - Rewrote empty or corrupted session files to restore valid headers
631
767
  - Improved patch applicator ambiguity errors with match previews and overlap detection
632
768
  - Fixed Task tool agent model resolution to honor comma-separated model lists
769
+
633
770
  ## [8.3.0] - 2026-01-25
634
771
 
635
772
  ### Changed
773
+
636
774
  - Added request parameter tracking to LSP tool rendering for better diagnostics visibility
637
775
  - Added async diff computation and Kitty protocol support to tool execution rendering
638
776
  - Refactored patch applicator with improved fuzzy matching (7-pass sequence matching with Levenshtein distance) and indentation adjustment
@@ -642,15 +780,20 @@
642
780
  - Added timeout validation and normalization for tool timeout parameters
643
781
 
644
782
  ### Fixed
783
+
645
784
  - Fixed output block border rendering (bottom-right corner was missing)
646
785
  - Added background control parameter to output block rendering
786
+
647
787
  ## [8.2.2] - 2026-01-24
648
788
 
649
789
  ### Removed
650
- - Removed git utility functions (_git, git_status, git_diff, git_log, git_show, git_file_at, git_branch, git_has_changes) from IPython prelude
790
+
791
+ - Removed git utility functions (\_git, git_status, git_diff, git_log, git_show, git_file_at, git_branch, git_has_changes) from IPython prelude
792
+
651
793
  ## [8.2.0] - 2026-01-24
652
794
 
653
795
  ### Added
796
+
654
797
  - Added `omp commit` command to generate conventional commits with changelog updates
655
798
  - Added agentic commit mode with commit-specific tools and `--legacy` fallback
656
799
  - Added configurable settings for map-reduce analysis including concurrency, timeout, file thresholds, and token limits
@@ -700,6 +843,7 @@
700
843
  - Added tarball installation test Dockerfile to validate npm publish/install flow
701
844
 
702
845
  ### Changed
846
+
703
847
  - Changed changelog diff truncation limit to be configurable via settings
704
848
  - Changed tool result rendering to use new TUI component library across multiple tools (bash, calculator, fetch, find, grep, ls, notebook, python, read, ssh, write, lsp, web search) for consistent output formatting
705
849
  - Changed Bash tool output rendering to use renderOutputBlock with proper section handling and width-aware truncation
@@ -761,6 +905,7 @@
761
905
  - Changed model discovery to synchronous file operations for more immediate initialization
762
906
 
763
907
  ### Fixed
908
+
764
909
  - Fixed database busy errors during concurrent access by adding retry logic with exponential backoff when opening storage
765
910
  - Find tool now rejects searches from root directory and enforces a 5-second timeout on fd operations
766
911
  - Commit command now exits cleanly with exit code 0 on success
@@ -773,7 +918,9 @@
773
918
  - Fixed branch change callbacks in footer component to properly update state after git resolution
774
919
  - Added guard clause in plugin-settings to prevent null reference when settings list is undefined
775
920
  - Fixed agent task discovery to support symlinks and improved error handling for file access failures
921
+
776
922
  ## [8.0.0] - 2026-01-23
923
+
777
924
  ### Added
778
925
 
779
926
  - Added antigravity provider support for image generation with Google Cloud authentication
@@ -861,6 +1008,7 @@
861
1008
  - Fixed Python gateway coordination to use a single global gateway without ref counting
862
1009
 
863
1010
  ## [7.0.0] - 2026-01-21
1011
+
864
1012
  ### Added
865
1013
 
866
1014
  - Added usage report deduplication to prevent duplicate account entries
@@ -1554,6 +1702,8 @@
1554
1702
 
1555
1703
  - Fixed editor border rendering glitch after canceling slash command autocomplete
1556
1704
  - Fixed login/logout credential path message to reference agent.db
1705
+ - Removed legacy auth.json file—credentials are stored exclusively in agent.db
1706
+ - Removed legacy auth.json file—credentials are stored exclusively in agent.db
1557
1707
 
1558
1708
  ## [4.2.0] - 2026-01-10
1559
1709
 
@@ -1970,7 +2120,7 @@
1970
2120
  - Added `git.enabled` setting to enable/disable the structured git tool
1971
2121
  - Added `offset` and `limit` parameters to Output tool for paginated reading of large outputs
1972
2122
  - Added provider fallback chain for web search that tries all configured providers before failing
1973
- - Added `WebSearchProviderError` class with HTTP status for actionable provider error messages
2123
+ - Added `SearchProviderError` class with HTTP status for actionable provider error messages
1974
2124
  - Added bash interceptor rule to block git commands when structured git tool is enabled
1975
2125
  - Added validation requiring `message` parameter for git commit operations (prevents interactive editor)
1976
2126
  - Added output ID hints in multi-agent Task results pointing to Output tool for full logs
@@ -2813,14 +2963,14 @@ Total color count increased from 46 to 50. See [docs/theme.md](docs/theme.md) fo
2813
2963
  - **Credential storage refactored**: API keys and OAuth tokens are now stored in `~/.omp/agent/auth.json` instead of `oauth.json` and `settings.json`. Existing credentials are automatically migrated on first run. ([#296](https://github.com/badlogic/pi-mono/issues/296))
2814
2964
 
2815
2965
  - **SDK API changes** ([#296](https://github.com/badlogic/pi-mono/issues/296)):
2816
- - Added `AuthStorage` class for credential management (API keys and OAuth tokens)
2817
- - Added `ModelRegistry` class for model discovery and API key resolution
2818
- - Added `discoverAuthStorage()` and `discoverModels()` discovery functions
2819
- - `createAgentSession()` now accepts `authStorage` and `modelRegistry` options
2820
- - Removed `configureOAuthStorage()`, `defaultGetApiKey()`, `findModel()`, `discoverAvailableModels()`
2821
- - Removed `getApiKey` callback option (use `AuthStorage.setRuntimeApiKey()` for runtime overrides)
2822
- - Use `getModel()` from `@oh-my-pi/pi-ai` for built-in models, `modelRegistry.find()` for custom models + built-in models
2823
- - See updated [SDK documentation](docs/sdk.md) and [README](README.md)
2966
+ - Added `AuthStorage` class for credential management (API keys and OAuth tokens)
2967
+ - Added `ModelRegistry` class for model discovery and API key resolution
2968
+ - Added `discoverAuthStorage()` and `discoverModels()` discovery functions
2969
+ - `createAgentSession()` now accepts `authStorage` and `modelRegistry` options
2970
+ - Removed `configureOAuthStorage()`, `defaultGetApiKey()`, `findModel()`, `discoverAvailableModels()`
2971
+ - Removed `getApiKey` callback option (use `AuthStorage.setRuntimeApiKey()` for runtime overrides)
2972
+ - Use `getModel()` from `@oh-my-pi/pi-ai` for built-in models, `modelRegistry.find()` for custom models + built-in models
2973
+ - See updated [SDK documentation](docs/sdk.md) and [README](README.md)
2824
2974
 
2825
2975
  - **Settings changes**: Removed `apiKeys` from `settings.json`. Use `auth.json` instead. ([#296](https://github.com/badlogic/pi-mono/issues/296))
2826
2976
 
@@ -2851,15 +3001,15 @@ Total color count increased from 46 to 50. See [docs/theme.md](docs/theme.md) fo
2851
3001
  ### Added
2852
3002
 
2853
3003
  - **Compaction hook improvements**: The `before_compact` session event now includes:
2854
- - `previousSummary`: Summary from the last compaction (if any), so hooks can preserve accumulated context
2855
- - `messagesToKeep`: Messages that will be kept after the summary (recent turns), in addition to `messagesToSummarize`
2856
- - `resolveApiKey`: Function to resolve API keys for any model (checks settings, OAuth, env vars)
2857
- - Removed `apiKey` string in favor of `resolveApiKey` for more flexibility
3004
+ - `previousSummary`: Summary from the last compaction (if any), so hooks can preserve accumulated context
3005
+ - `messagesToKeep`: Messages that will be kept after the summary (recent turns), in addition to `messagesToSummarize`
3006
+ - `resolveApiKey`: Function to resolve API keys for any model (checks settings, OAuth, env vars)
3007
+ - Removed `apiKey` string in favor of `resolveApiKey` for more flexibility
2858
3008
 
2859
3009
  - **SessionManager API cleanup**:
2860
- - Renamed `loadSessionFromEntries()` to `buildSessionContext()` (builds LLM context from entries, handling compaction)
2861
- - Renamed `loadEntries()` to `getEntries()` (returns defensive copy of all session entries)
2862
- - Added `buildSessionContext()` method to SessionManager
3010
+ - Renamed `loadSessionFromEntries()` to `buildSessionContext()` (builds LLM context from entries, handling compaction)
3011
+ - Renamed `loadEntries()` to `getEntries()` (returns defensive copy of all session entries)
3012
+ - Added `buildSessionContext()` method to SessionManager
2863
3013
 
2864
3014
  ## [0.27.5] - 2025-12-24
2865
3015
 
@@ -3078,13 +3228,13 @@ Total color count increased from 46 to 50. See [docs/theme.md](docs/theme.md) fo
3078
3228
  - **Custom tools now require `index.ts` entry point**: Auto-discovered custom tools must be in a subdirectory with an `index.ts` file. The old pattern `~/.omp/agent/tools/mytool.ts` must become `~/.omp/agent/tools/mytool/index.ts`. This allows multi-file tools to import helper modules. Explicit paths via `--tool` or `settings.json` still work with any `.ts` file.
3079
3229
 
3080
3230
  - **Hook `tool_result` event restructured**: The `ToolResultEvent` now exposes full tool result data instead of just text. ([#233](https://github.com/badlogic/pi-mono/pull/233))
3081
- - Removed: `result: string` field
3082
- - Added: `content: (TextContent | ImageContent)[]` - full content array
3083
- - Added: `details: unknown` - tool-specific details (typed per tool via discriminated union on `toolName`)
3084
- - `ToolResultEventResult.result` renamed to `ToolResultEventResult.text` (removed), use `content` instead
3085
- - Hook handlers returning `{ result: "..." }` must change to `{ content: [{ type: "text", text: "..." }] }`
3086
- - Built-in tool details types exported: `BashToolDetails`, `ReadToolDetails`, `GrepToolDetails`, `FindToolDetails`, `LsToolDetails`, `TruncationResult`
3087
- - Type guards exported for narrowing: `isBashToolResult`, `isReadToolResult`, `isEditToolResult`, `isWriteToolResult`, `isGrepToolResult`, `isFindToolResult`, `isLsToolResult`
3231
+ - Removed: `result: string` field
3232
+ - Added: `content: (TextContent | ImageContent)[]` - full content array
3233
+ - Added: `details: unknown` - tool-specific details (typed per tool via discriminated union on `toolName`)
3234
+ - `ToolResultEventResult.result` renamed to `ToolResultEventResult.text` (removed), use `content` instead
3235
+ - Hook handlers returning `{ result: "..." }` must change to `{ content: [{ type: "text", text: "..." }] }`
3236
+ - Built-in tool details types exported: `BashToolDetails`, `ReadToolDetails`, `GrepToolDetails`, `FindToolDetails`, `LsToolDetails`, `TruncationResult`
3237
+ - Type guards exported for narrowing: `isBashToolResult`, `isReadToolResult`, `isEditToolResult`, `isWriteToolResult`, `isGrepToolResult`, `isFindToolResult`, `isLsToolResult`
3088
3238
 
3089
3239
  ## [0.23.4] - 2025-12-18
3090
3240
 
@@ -3113,12 +3263,12 @@ Total color count increased from 46 to 50. See [docs/theme.md](docs/theme.md) fo
3113
3263
  - Improved system prompt documentation section with clearer pointers to specific doc files for custom models, themes, skills, hooks, custom tools, and RPC.
3114
3264
 
3115
3265
  - Cleaned up documentation:
3116
- - `theme.md`: Added missing color tokens (`thinkingXhigh`, `bashMode`)
3117
- - `skills.md`: Rewrote with better framing and examples
3118
- - `hooks.md`: Fixed timeout/error handling docs, added import aliases section
3119
- - `custom-tools.md`: Added intro with use cases and comparison table
3120
- - `rpc.md`: Added missing `hook_error` event documentation
3121
- - `README.md`: Complete settings table, condensed philosophy section, standardized OAuth docs
3266
+ - `theme.md`: Added missing color tokens (`thinkingXhigh`, `bashMode`)
3267
+ - `skills.md`: Rewrote with better framing and examples
3268
+ - `hooks.md`: Fixed timeout/error handling docs, added import aliases section
3269
+ - `custom-tools.md`: Added intro with use cases and comparison table
3270
+ - `rpc.md`: Added missing `hook_error` event documentation
3271
+ - `README.md`: Complete settings table, condensed philosophy section, standardized OAuth docs
3122
3272
 
3123
3273
  - Hooks loader now supports same import aliases as custom tools (`@sinclair/typebox`, `@oh-my-pi/pi-ai`, `@oh-my-pi/pi-tui`, `@oh-my-pi/pi-coding-agent`).
3124
3274
 
@@ -3375,12 +3525,12 @@ _Dedicated to Peter's shoulder ([@steipete](https://twitter.com/steipete))_
3375
3525
  ### Changed
3376
3526
 
3377
3527
  - **Tool output truncation**: All tools now enforce consistent truncation limits with actionable notices for the LLM. ([#134](https://github.com/badlogic/pi-mono/issues/134))
3378
- - **Limits**: 2000 lines OR 50KB (whichever hits first), never partial lines
3379
- - **read**: Shows `[Showing lines X-Y of Z. Use offset=N to continue]`. If first line exceeds 50KB, suggests bash command
3380
- - **bash**: Tail truncation with temp file. Shows `[Showing lines X-Y of Z. Full output: /tmp/...]`
3381
- - **grep**: Pre-truncates match lines to 500 chars. Shows match limit and line truncation notices
3382
- - **find/ls**: Shows result/entry limit notices
3383
- - TUI displays truncation warnings in yellow at bottom of tool output (visible even when collapsed)
3528
+ - **Limits**: 2000 lines OR 50KB (whichever hits first), never partial lines
3529
+ - **read**: Shows `[Showing lines X-Y of Z. Use offset=N to continue]`. If first line exceeds 50KB, suggests bash command
3530
+ - **bash**: Tail truncation with temp file. Shows `[Showing lines X-Y of Z. Full output: /tmp/...]`
3531
+ - **grep**: Pre-truncates match lines to 500 chars. Shows match limit and line truncation notices
3532
+ - **find/ls**: Shows result/entry limit notices
3533
+ - TUI displays truncation warnings in yellow at bottom of tool output (visible even when collapsed)
3384
3534
 
3385
3535
  ## [0.13.1] - 2025-12-06
3386
3536
 
@@ -3467,13 +3617,13 @@ _Dedicated to Peter's shoulder ([@steipete](https://twitter.com/steipete))_
3467
3617
  ### Added
3468
3618
 
3469
3619
  - **Context Compaction**: Long sessions can now be compacted to reduce context usage while preserving recent conversation history. ([#92](https://github.com/badlogic/pi-mono/issues/92), [docs](https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/README.md#context-compaction))
3470
- - `/compact [instructions]`: Manually compact context with optional custom instructions for the summary
3471
- - `/autocompact`: Toggle automatic compaction when context exceeds threshold
3472
- - Compaction summarizes older messages while keeping recent messages (default 20k tokens) verbatim
3473
- - Auto-compaction triggers when context reaches `contextWindow - reserveTokens` (default 16k reserve)
3474
- - Compacted sessions show a collapsible summary in the TUI (toggle with `o` key)
3475
- - HTML exports include compaction summaries as collapsible sections
3476
- - RPC mode supports `{"type":"compact"}` command and auto-compaction (emits compaction events)
3620
+ - `/compact [instructions]`: Manually compact context with optional custom instructions for the summary
3621
+ - `/autocompact`: Toggle automatic compaction when context exceeds threshold
3622
+ - Compaction summarizes older messages while keeping recent messages (default 20k tokens) verbatim
3623
+ - Auto-compaction triggers when context reaches `contextWindow - reserveTokens` (default 16k reserve)
3624
+ - Compacted sessions show a collapsible summary in the TUI (toggle with `o` key)
3625
+ - HTML exports include compaction summaries as collapsible sections
3626
+ - RPC mode supports `{"type":"compact"}` command and auto-compaction (emits compaction events)
3477
3627
  - **Branch Source Tracking**: Branched sessions now store `branchedFrom` in the session header, containing the path to the original session file. Useful for tracing session lineage.
3478
3628
 
3479
3629
  ## [0.12.5] - 2025-12-03
@@ -3510,11 +3660,11 @@ _Dedicated to Peter's shoulder ([@steipete](https://twitter.com/steipete))_
3510
3660
  ### Added
3511
3661
 
3512
3662
  - **Models**: Added support for OpenAI's new models:
3513
- - `gpt-4.1` (128K context)
3514
- - `gpt-4.1-mini` (128K context)
3515
- - `gpt-4.1-nano` (128K context)
3516
- - `o3` (200K context, reasoning model)
3517
- - `o4-mini` (200K context, reasoning model)
3663
+ - `gpt-4.1` (128K context)
3664
+ - `gpt-4.1-mini` (128K context)
3665
+ - `gpt-4.1-nano` (128K context)
3666
+ - `o3` (200K context, reasoning model)
3667
+ - `o4-mini` (200K context, reasoning model)
3518
3668
 
3519
3669
  ## [0.12.0] - 2025-12-02
3520
3670
 
package/README.md CHANGED
@@ -370,7 +370,7 @@ When disabled, neither case triggers automatic compaction (use `/compact` manual
370
370
  - Automatically sets environment variables when the application starts
371
371
  - Only sets variables that aren't already present in `Bun.env`
372
372
  - Supports any environment variable, not just API keys
373
- - Order of precedence: existing env vars > settings.json env vars > auth.json env vars
373
+ - Order of precedence: existing env vars > settings.json env vars > agent.db
374
374
 
375
375
  > **Note:** Compaction is lossy. The agent loses full conversation access afterward. Size tasks to avoid context limits when possible. For critical context, ask the agent to write a summary to a file, iterate on it until it covers everything, then start a new session with that file. The full session history is preserved in the JSONL file; use `/tree` to revisit any previous point.
376
376
 
@@ -50,7 +50,7 @@ Many modules now use the **capability/discovery system** (`discovery/builtin.ts`
50
50
  | `session/agent-session.ts` | `getAgentDbPath` | `~/.omp/agent/agent.db` | Database path |
51
51
  | `session/session-manager.ts` | `getAgentDir` | `~/.omp/agent/sessions/` | Session storage |
52
52
  | `session/agent-storage.ts` | `getAgentDbPath` | `~/.omp/agent/agent.db` | Settings/auth storage |
53
- | `session/auth-storage.ts` | `getAgentDbPath`, `getAuthPath` | agent.db, auth.json | Auth credential storage |
53
+ | `session/auth-storage.ts` | `getAgentDbPath` | agent.db | Auth credential storage |
54
54
  | `session/history-storage.ts` | `getAgentDir` | `~/.omp/agent/` | Command history |
55
55
  | `session/storage-migration.ts` | `getAgentDbPath` | `~/.omp/agent/agent.db` | JSON→SQLite migration |
56
56
  | `modes/theme/theme.ts` | `getCustomThemesDir` | `~/.omp/agent/themes/` | Custom themes |
@@ -78,12 +78,12 @@ These use helpers to check `.omp`, `.pi`, `.claude`, `.codex`, `.gemini` directo
78
78
  | File | Helper Used | Subpath(s) | Levels |
79
79
  | ---------------------------------------- | ------------------------------------------------------ | --------------------------- | ------------ |
80
80
  | `main.ts` | `findConfigFile` | `SYSTEM.md`, `APPEND_SYSTEM.md` | user+project |
81
- | `sdk.ts` | `getConfigDirPaths` | `auth.json`, `models.yml`, `models.json` | user |
81
+ | `sdk.ts` | `getConfigDirPaths` | `models.yml`, `models.json` | user |
82
82
  | `lsp/config.ts` | `getConfigDirPaths` | `lsp.json`, `.lsp.json` | user+project |
83
83
  | `task/discovery.ts` | `getConfigDirs`, `findAllNearestProjectConfigDirs` | `agents/` | user+project |
84
84
  | `extensibility/plugins/paths.ts` | `getConfigDirPaths` | `plugin-overrides.json` | project |
85
85
  | `extensibility/custom-commands/loader.ts`| `getConfigDirs` | `commands/` | user+project |
86
- | `web/search/auth.ts` | `getConfigDirPaths`, `getAgentDbPath` | auth.json, agent.db | user |
86
+ | `web/search/auth.ts` | `getConfigDirPaths`, `getAgentDbPath` | agent.db | user |
87
87
  | `web/search/providers/codex.ts` | `getConfigDirPaths`, `getAgentDbPath` | auth config | user |
88
88
  | `web/search/providers/gemini.ts` | `getConfigDirPaths`, `getAgentDbPath` | auth config | user |
89
89
 
@@ -110,7 +110,6 @@ These modules use `discovery/builtin.ts` which has its own config directory reso
110
110
  ```
111
111
  User-level (~/.omp/agent/, ~/.pi/agent/, ~/.claude/, ~/.codex/, ~/.gemini/):
112
112
  ├── agent.db ← SQLite storage (settings, auth)
113
- ├── auth.json ← Legacy auth (migrated to agent.db)
114
113
  ├── models.yml ← Model configuration (preferred)
115
114
  ├── models.json ← Model configuration (legacy)
116
115
  ├── config.yml ← Settings (alternative to agent.db)