@oh-my-pi/pi-coding-agent 16.1.22 → 16.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 (276) hide show
  1. package/CHANGELOG.md +99 -1
  2. package/dist/cli.js +4387 -4164
  3. package/dist/types/advisor/__tests__/emission-guard.test.d.ts +1 -0
  4. package/dist/types/advisor/emission-guard.d.ts +73 -0
  5. package/dist/types/advisor/index.d.ts +1 -0
  6. package/dist/types/advisor/runtime.d.ts +7 -0
  7. package/dist/types/advisor/watchdog.d.ts +2 -0
  8. package/dist/types/cli/flag-tables.d.ts +1 -0
  9. package/dist/types/cli/gallery-fixtures/search.d.ts +1 -1
  10. package/dist/types/cli/gc-cli.d.ts +58 -0
  11. package/dist/types/collab/display-name.d.ts +3 -0
  12. package/dist/types/collab/host.d.ts +0 -2
  13. package/dist/types/commands/gc.d.ts +37 -0
  14. package/dist/types/commands/worktree.d.ts +0 -3
  15. package/dist/types/config/inline-tool-descriptors-mode.d.ts +13 -0
  16. package/dist/types/config/model-discovery.d.ts +6 -1
  17. package/dist/types/config/model-registry.d.ts +6 -2
  18. package/dist/types/config/model-resolver.d.ts +12 -0
  19. package/dist/types/config/models-config-schema.d.ts +29 -2
  20. package/dist/types/config/models-config.d.ts +22 -1
  21. package/dist/types/config/settings-schema.d.ts +145 -21
  22. package/dist/types/config/settings.d.ts +13 -0
  23. package/dist/types/dap/config.d.ts +1 -1
  24. package/dist/types/edit/hashline/filesystem.d.ts +4 -2
  25. package/dist/types/edit/renderer.d.ts +4 -0
  26. package/dist/types/extensibility/extensions/types.d.ts +17 -17
  27. package/dist/types/extensibility/hooks/types.d.ts +10 -10
  28. package/dist/types/extensibility/plugins/marketplace/types.d.ts +1 -0
  29. package/dist/types/internal-urls/__tests__/ssh-protocol.test.d.ts +1 -0
  30. package/dist/types/internal-urls/index.d.ts +1 -0
  31. package/dist/types/internal-urls/registry-helpers.d.ts +2 -0
  32. package/dist/types/internal-urls/router.d.ts +1 -1
  33. package/dist/types/internal-urls/ssh-protocol.d.ts +10 -0
  34. package/dist/types/internal-urls/types.d.ts +19 -2
  35. package/dist/types/irc/bus.d.ts +6 -0
  36. package/dist/types/mcp/transports/stdio.d.ts +25 -1
  37. package/dist/types/modes/components/__tests__/move-overlay.test.d.ts +1 -0
  38. package/dist/types/modes/components/custom-editor.d.ts +7 -0
  39. package/dist/types/modes/components/move-overlay.d.ts +23 -0
  40. package/dist/types/modes/components/plugin-selector.d.ts +2 -1
  41. package/dist/types/modes/components/queue-mode-selector.d.ts +2 -1
  42. package/dist/types/modes/components/select-list-mouse-routing.d.ts +2 -0
  43. package/dist/types/modes/components/settings-defs.d.ts +4 -1
  44. package/dist/types/modes/components/settings-selector.d.ts +2 -0
  45. package/dist/types/modes/components/show-images-selector.d.ts +2 -1
  46. package/dist/types/modes/components/status-line/component.d.ts +2 -0
  47. package/dist/types/modes/components/status-line/types.d.ts +2 -0
  48. package/dist/types/modes/components/theme-selector.d.ts +2 -1
  49. package/dist/types/modes/components/thinking-selector.d.ts +2 -1
  50. package/dist/types/modes/controllers/command-controller.d.ts +10 -1
  51. package/dist/types/modes/controllers/streaming-reveal.d.ts +6 -0
  52. package/dist/types/modes/interactive-mode.d.ts +10 -1
  53. package/dist/types/modes/internal-url-autocomplete.d.ts +1 -1
  54. package/dist/types/modes/running-subagent-badge.d.ts +6 -0
  55. package/dist/types/modes/theme/mermaid-rendering.test.d.ts +1 -0
  56. package/dist/types/modes/theme/theme.d.ts +2 -1
  57. package/dist/types/modes/types.d.ts +9 -1
  58. package/dist/types/sdk.d.ts +2 -2
  59. package/dist/types/session/agent-session.d.ts +2 -1
  60. package/dist/types/session/session-listing.d.ts +10 -1
  61. package/dist/types/session/session-manager.d.ts +13 -0
  62. package/dist/types/slash-commands/builtin-registry.d.ts +1 -1
  63. package/dist/types/ssh/__tests__/connection-manager-args.test.d.ts +1 -0
  64. package/dist/types/ssh/__tests__/file-transfer-posix-guard.test.d.ts +1 -0
  65. package/dist/types/ssh/connection-manager.d.ts +2 -0
  66. package/dist/types/ssh/file-transfer.d.ts +79 -0
  67. package/dist/types/ssh/utils.d.ts +6 -0
  68. package/dist/types/system-prompt.d.ts +5 -0
  69. package/dist/types/task/executor.d.ts +16 -0
  70. package/dist/types/tiny/text.d.ts +1 -1
  71. package/dist/types/tools/builtin-names.d.ts +5 -1
  72. package/dist/types/tools/{find.d.ts → glob.d.ts} +15 -15
  73. package/dist/types/tools/{search.d.ts → grep.d.ts} +14 -14
  74. package/dist/types/tools/index.d.ts +3 -3
  75. package/dist/types/tools/path-utils.d.ts +29 -0
  76. package/dist/types/tools/plan-mode-guard.d.ts +7 -0
  77. package/dist/types/tools/read.d.ts +2 -2
  78. package/dist/types/tools/render-utils.d.ts +8 -0
  79. package/dist/types/tools/renderers.d.ts +11 -0
  80. package/dist/types/tools/ssh.d.ts +2 -0
  81. package/dist/types/tools/todo.d.ts +0 -16
  82. package/dist/types/tools/write.d.ts +2 -2
  83. package/dist/types/utils/active-repo-context.d.ts +8 -0
  84. package/dist/types/utils/image-resize.d.ts +1 -0
  85. package/dist/types/utils/markit-cache.d.ts +23 -0
  86. package/dist/types/utils/markit.d.ts +5 -1
  87. package/dist/types/utils/prompt-path.d.ts +1 -0
  88. package/dist/types/web/search/providers/duckduckgo.d.ts +14 -0
  89. package/dist/types/web/search/providers/firecrawl.d.ts +28 -0
  90. package/dist/types/web/search/providers/tinyfish.d.ts +29 -0
  91. package/dist/types/web/search/providers/xai.d.ts +13 -0
  92. package/dist/types/web/search/types.d.ts +18 -2
  93. package/package.json +30 -15
  94. package/scripts/bench-guard.ts +1 -1
  95. package/scripts/build-binary.ts +9 -9
  96. package/scripts/bundle-dist.ts +2 -2
  97. package/src/advisor/__tests__/advisor.test.ts +40 -4
  98. package/src/advisor/__tests__/emission-guard.test.ts +147 -0
  99. package/src/advisor/advise-tool.ts +1 -1
  100. package/src/advisor/emission-guard.ts +172 -0
  101. package/src/advisor/index.ts +1 -0
  102. package/src/advisor/runtime.ts +11 -0
  103. package/src/advisor/watchdog.ts +12 -1
  104. package/src/cli/args.ts +5 -2
  105. package/src/cli/auth-broker-cli.ts +17 -0
  106. package/src/cli/config-cli.ts +4 -0
  107. package/src/cli/flag-tables.ts +7 -4
  108. package/src/cli/gallery-cli.ts +14 -2
  109. package/src/cli/gallery-fixtures/edit.ts +60 -0
  110. package/src/cli/gallery-fixtures/fs.ts +17 -17
  111. package/src/cli/gallery-fixtures/search.ts +4 -4
  112. package/src/cli/gc-cli.ts +939 -0
  113. package/src/cli/usage-cli.ts +20 -1
  114. package/src/cli/web-search-cli.ts +1 -1
  115. package/src/cli-commands.ts +1 -0
  116. package/src/collab/display-name.ts +13 -0
  117. package/src/collab/guest.ts +5 -1
  118. package/src/collab/host.ts +2 -13
  119. package/src/commands/gc.ts +46 -0
  120. package/src/commands/worktree.ts +6 -0
  121. package/src/config/inline-tool-descriptors-mode.ts +27 -0
  122. package/src/config/model-discovery.ts +77 -8
  123. package/src/config/model-registry.ts +89 -11
  124. package/src/config/model-resolver.ts +39 -1
  125. package/src/config/models-config-schema.ts +41 -5
  126. package/src/config/models-config.ts +4 -1
  127. package/src/config/settings-schema.ts +130 -27
  128. package/src/config/settings.ts +216 -7
  129. package/src/cursor.ts +1 -1
  130. package/src/dap/config.ts +152 -8
  131. package/src/dap/session.ts +1 -1
  132. package/src/discovery/helpers.ts +3 -1
  133. package/src/edit/hashline/diff.ts +14 -3
  134. package/src/edit/hashline/execute.ts +42 -6
  135. package/src/edit/hashline/filesystem.ts +49 -8
  136. package/src/edit/index.ts +1 -0
  137. package/src/edit/modes/patch.ts +11 -1
  138. package/src/edit/renderer.ts +140 -13
  139. package/src/eval/__tests__/agent-bridge.test.ts +101 -0
  140. package/src/eval/__tests__/julia-prelude.test.ts +18 -0
  141. package/src/eval/agent-bridge.ts +26 -3
  142. package/src/eval/jl/runner.jl +7 -1
  143. package/src/eval/js/tool-bridge.ts +2 -2
  144. package/src/export/html/index.ts +1 -1
  145. package/src/export/html/template.js +3 -1
  146. package/src/export/html/tool-views.generated.js +20 -20
  147. package/src/extensibility/extensions/types.ts +22 -22
  148. package/src/extensibility/hooks/types.ts +11 -11
  149. package/src/extensibility/plugins/legacy-pi-bundled-keys.ts +10 -3
  150. package/src/extensibility/plugins/legacy-pi-bundled-registry.ts +31 -10
  151. package/src/extensibility/plugins/marketplace/manager.ts +22 -0
  152. package/src/extensibility/plugins/marketplace/types.ts +1 -0
  153. package/src/internal-urls/__tests__/ssh-protocol.test.ts +331 -0
  154. package/src/internal-urls/docs-index.generated.txt +2 -2
  155. package/src/internal-urls/docs-index.ts +2 -3
  156. package/src/internal-urls/index.ts +1 -0
  157. package/src/internal-urls/registry-helpers.ts +19 -4
  158. package/src/internal-urls/router.ts +5 -3
  159. package/src/internal-urls/ssh-protocol.ts +367 -0
  160. package/src/internal-urls/types.ts +19 -2
  161. package/src/irc/bus.ts +11 -3
  162. package/src/lsp/index.ts +8 -1
  163. package/src/mcp/oauth-discovery.ts +20 -20
  164. package/src/mcp/tool-bridge.ts +32 -2
  165. package/src/mcp/transports/stdio.test.ts +20 -3
  166. package/src/mcp/transports/stdio.ts +45 -14
  167. package/src/memories/index.ts +1 -1
  168. package/src/modes/acp/acp-event-mapper.ts +2 -2
  169. package/src/modes/components/__tests__/move-overlay.test.ts +166 -0
  170. package/src/modes/components/agent-hub.ts +3 -0
  171. package/src/modes/components/agent-transcript-viewer.ts +9 -7
  172. package/src/modes/components/custom-editor.ts +90 -5
  173. package/src/modes/components/move-overlay.ts +282 -0
  174. package/src/modes/components/plan-review-overlay.ts +35 -35
  175. package/src/modes/components/plugin-selector.ts +6 -1
  176. package/src/modes/components/queue-mode-selector.ts +6 -1
  177. package/src/modes/components/select-list-mouse-routing.ts +35 -0
  178. package/src/modes/components/session-selector.ts +11 -10
  179. package/src/modes/components/settings-defs.ts +14 -1
  180. package/src/modes/components/settings-selector.ts +196 -29
  181. package/src/modes/components/show-images-selector.ts +6 -1
  182. package/src/modes/components/status-line/component.ts +108 -28
  183. package/src/modes/components/status-line/segments.ts +5 -1
  184. package/src/modes/components/status-line/types.ts +2 -0
  185. package/src/modes/components/theme-selector.ts +6 -1
  186. package/src/modes/components/thinking-selector.ts +6 -1
  187. package/src/modes/components/tool-execution.ts +25 -9
  188. package/src/modes/components/tree-selector.ts +5 -5
  189. package/src/modes/controllers/command-controller.ts +140 -47
  190. package/src/modes/controllers/event-controller.ts +59 -3
  191. package/src/modes/controllers/input-controller.ts +70 -4
  192. package/src/modes/controllers/selector-controller.ts +15 -2
  193. package/src/modes/controllers/streaming-reveal.ts +17 -0
  194. package/src/modes/controllers/tool-args-reveal.ts +1 -1
  195. package/src/modes/interactive-mode.ts +142 -59
  196. package/src/modes/internal-url-autocomplete.ts +17 -2
  197. package/src/modes/prompt-action-autocomplete.ts +3 -1
  198. package/src/modes/running-subagent-badge.ts +13 -0
  199. package/src/modes/setup-wizard/scenes/glyph.ts +2 -13
  200. package/src/modes/setup-wizard/scenes/providers.ts +2 -1
  201. package/src/modes/setup-wizard/scenes/theme.ts +6 -12
  202. package/src/modes/setup-wizard/scenes/web-search.ts +8 -13
  203. package/src/modes/setup-wizard/wizard-overlay.ts +6 -5
  204. package/src/modes/theme/mermaid-rendering.test.ts +53 -0
  205. package/src/modes/theme/theme.ts +42 -15
  206. package/src/modes/types.ts +9 -1
  207. package/src/modes/utils/interactive-context-helpers.ts +1 -1
  208. package/src/priority.json +15 -0
  209. package/src/prompts/advisor/active-repo-watchdog.md +6 -0
  210. package/src/prompts/advisor/system.md +21 -7
  211. package/src/prompts/agents/designer.md +1 -1
  212. package/src/prompts/agents/explore.md +1 -1
  213. package/src/prompts/agents/librarian.md +2 -2
  214. package/src/prompts/agents/plan.md +2 -2
  215. package/src/prompts/agents/reviewer.md +1 -1
  216. package/src/prompts/agents/task.md +2 -2
  217. package/src/prompts/system/active-repo-context.md +4 -0
  218. package/src/prompts/system/gemini-tool-call-reminder.md +9 -0
  219. package/src/prompts/system/plan-mode-active.md +12 -3
  220. package/src/prompts/system/project-prompt.md +2 -2
  221. package/src/prompts/system/system-prompt.md +8 -6
  222. package/src/prompts/tools/bash.md +2 -2
  223. package/src/prompts/tools/checkpoint.md +1 -1
  224. package/src/prompts/tools/{find.md → glob.md} +1 -1
  225. package/src/prompts/tools/{search.md → grep.md} +3 -3
  226. package/src/prompts/tools/read.md +4 -2
  227. package/src/sdk.ts +98 -29
  228. package/src/session/agent-session.ts +828 -191
  229. package/src/session/session-history-format.ts +2 -2
  230. package/src/session/session-listing.ts +35 -2
  231. package/src/session/session-manager.ts +46 -0
  232. package/src/slash-commands/builtin-registry.ts +158 -22
  233. package/src/slash-commands/helpers/usage-report.ts +23 -2
  234. package/src/ssh/__tests__/connection-manager-args.test.ts +69 -0
  235. package/src/ssh/__tests__/file-transfer-posix-guard.test.ts +68 -0
  236. package/src/ssh/connection-manager.ts +12 -15
  237. package/src/ssh/file-transfer.ts +209 -0
  238. package/src/ssh/utils.ts +24 -0
  239. package/src/system-prompt.ts +60 -28
  240. package/src/task/executor.ts +96 -36
  241. package/src/task/index.ts +3 -3
  242. package/src/task/render.ts +14 -13
  243. package/src/task/worktree.ts +38 -1
  244. package/src/tiny/text.ts +49 -4
  245. package/src/tiny/worker.ts +3 -3
  246. package/src/tools/acp-bridge.ts +6 -1
  247. package/src/tools/bash.ts +2 -2
  248. package/src/tools/builtin-names.ts +26 -2
  249. package/src/tools/{find.ts → glob.ts} +48 -42
  250. package/src/tools/{search.ts → grep.ts} +311 -129
  251. package/src/tools/index.ts +13 -14
  252. package/src/tools/irc.ts +6 -2
  253. package/src/tools/path-utils.ts +64 -1
  254. package/src/tools/plan-mode-guard.ts +26 -13
  255. package/src/tools/read.ts +35 -6
  256. package/src/tools/render-utils.ts +14 -0
  257. package/src/tools/renderers.ts +15 -4
  258. package/src/tools/ssh.ts +17 -2
  259. package/src/tools/todo.ts +4 -26
  260. package/src/tools/write.ts +25 -9
  261. package/src/utils/active-repo-context.ts +143 -0
  262. package/src/utils/edit-mode.ts +19 -2
  263. package/src/utils/image-resize.ts +88 -7
  264. package/src/utils/lang-from-path.ts +3 -3
  265. package/src/utils/markit-cache.ts +166 -0
  266. package/src/utils/markit.ts +86 -18
  267. package/src/utils/prompt-path.ts +3 -0
  268. package/src/utils/shell-snapshot.ts +1 -1
  269. package/src/utils/title-generator.ts +1 -1
  270. package/src/web/search/provider.ts +54 -34
  271. package/src/web/search/providers/duckduckgo.ts +140 -0
  272. package/src/web/search/providers/firecrawl.ts +144 -0
  273. package/src/web/search/providers/tinyfish.ts +159 -0
  274. package/src/web/search/providers/xai.ts +292 -0
  275. package/src/web/search/providers/zai.ts +142 -56
  276. package/src/web/search/types.ts +6 -2
@@ -50,12 +50,12 @@ import type { ReadonlySessionManager, SessionManager } from "../../session/sessi
50
50
  import type {
51
51
  BashToolDetails,
52
52
  BashToolInput,
53
- FindToolDetails,
54
- FindToolInput,
53
+ GlobToolDetails,
54
+ GlobToolInput,
55
+ GrepToolDetails,
56
+ GrepToolInput,
55
57
  ReadToolDetails,
56
58
  ReadToolInput,
57
- SearchToolDetails,
58
- SearchToolInput,
59
59
  WriteToolInput,
60
60
  } from "../../tools";
61
61
  import type { ApprovalMode } from "../../tools/approval";
@@ -697,14 +697,14 @@ export interface WriteToolCallEvent extends ToolCallEventBase {
697
697
  input: WriteToolInput;
698
698
  }
699
699
 
700
- export interface SearchToolCallEvent extends ToolCallEventBase {
701
- toolName: "search";
702
- input: SearchToolInput;
700
+ export interface GrepToolCallEvent extends ToolCallEventBase {
701
+ toolName: "grep";
702
+ input: GrepToolInput;
703
703
  }
704
704
 
705
- export interface FindToolCallEvent extends ToolCallEventBase {
706
- toolName: "find";
707
- input: FindToolInput;
705
+ export interface GlobToolCallEvent extends ToolCallEventBase {
706
+ toolName: "glob";
707
+ input: GlobToolInput;
708
708
  }
709
709
 
710
710
  export interface CustomToolCallEvent extends ToolCallEventBase {
@@ -718,8 +718,8 @@ export type ToolCallEvent =
718
718
  | ReadToolCallEvent
719
719
  | EditToolCallEvent
720
720
  | WriteToolCallEvent
721
- | SearchToolCallEvent
722
- | FindToolCallEvent
721
+ | GrepToolCallEvent
722
+ | GlobToolCallEvent
723
723
  | CustomToolCallEvent;
724
724
 
725
725
  interface ToolResultEventBase {
@@ -750,14 +750,14 @@ export interface WriteToolResultEvent extends ToolResultEventBase {
750
750
  details: undefined;
751
751
  }
752
752
 
753
- export interface SearchToolResultEvent extends ToolResultEventBase {
754
- toolName: "search";
755
- details: SearchToolDetails | undefined;
753
+ export interface GrepToolResultEvent extends ToolResultEventBase {
754
+ toolName: "grep";
755
+ details: GrepToolDetails | undefined;
756
756
  }
757
757
 
758
- export interface FindToolResultEvent extends ToolResultEventBase {
759
- toolName: "find";
760
- details: FindToolDetails | undefined;
758
+ export interface GlobToolResultEvent extends ToolResultEventBase {
759
+ toolName: "glob";
760
+ details: GlobToolDetails | undefined;
761
761
  }
762
762
 
763
763
  export interface CustomToolResultEvent extends ToolResultEventBase {
@@ -771,8 +771,8 @@ export type ToolResultEvent =
771
771
  | ReadToolResultEvent
772
772
  | EditToolResultEvent
773
773
  | WriteToolResultEvent
774
- | SearchToolResultEvent
775
- | FindToolResultEvent
774
+ | GrepToolResultEvent
775
+ | GlobToolResultEvent
776
776
  | CustomToolResultEvent;
777
777
 
778
778
  /**
@@ -799,8 +799,8 @@ export function isToolCallEventType(toolName: "bash", event: ToolCallEvent): eve
799
799
  export function isToolCallEventType(toolName: "read", event: ToolCallEvent): event is ReadToolCallEvent;
800
800
  export function isToolCallEventType(toolName: "edit", event: ToolCallEvent): event is EditToolCallEvent;
801
801
  export function isToolCallEventType(toolName: "write", event: ToolCallEvent): event is WriteToolCallEvent;
802
- export function isToolCallEventType(toolName: "search", event: ToolCallEvent): event is SearchToolCallEvent;
803
- export function isToolCallEventType(toolName: "find", event: ToolCallEvent): event is FindToolCallEvent;
802
+ export function isToolCallEventType(toolName: "grep", event: ToolCallEvent): event is GrepToolCallEvent;
803
+ export function isToolCallEventType(toolName: "glob", event: ToolCallEvent): event is GlobToolCallEvent;
804
804
  export function isToolCallEventType<TName extends string, TInput extends Record<string, unknown>>(
805
805
  toolName: TName,
806
806
  event: ToolCallEvent,
@@ -10,7 +10,7 @@ import type * as PiCodingAgent from "../../index";
10
10
  import type { Theme } from "../../modes/theme/theme";
11
11
  import type { HookMessage } from "../../session/messages";
12
12
  import type { ReadonlySessionManager, SessionManager } from "../../session/session-manager";
13
- import type { BashToolDetails, FindToolDetails, ReadToolDetails, SearchToolDetails } from "../../tools";
13
+ import type { BashToolDetails, GlobToolDetails, GrepToolDetails, ReadToolDetails } from "../../tools";
14
14
  import type {
15
15
  AgentEndEvent,
16
16
  AgentStartEvent,
@@ -352,16 +352,16 @@ export interface WriteToolResultEvent extends ToolResultEventBase {
352
352
  details: undefined;
353
353
  }
354
354
 
355
- /** Tool result event for search tool */
356
- export interface SearchToolResultEvent extends ToolResultEventBase {
357
- toolName: "search";
358
- details: SearchToolDetails | undefined;
355
+ /** Tool result event for grep tool */
356
+ export interface GrepToolResultEvent extends ToolResultEventBase {
357
+ toolName: "grep";
358
+ details: GrepToolDetails | undefined;
359
359
  }
360
360
 
361
- /** Tool result event for find tool */
362
- export interface FindToolResultEvent extends ToolResultEventBase {
363
- toolName: "find";
364
- details: FindToolDetails | undefined;
361
+ /** Tool result event for glob tool */
362
+ export interface GlobToolResultEvent extends ToolResultEventBase {
363
+ toolName: "glob";
364
+ details: GlobToolDetails | undefined;
365
365
  }
366
366
 
367
367
  /** Tool result event for custom/unknown tools */
@@ -380,8 +380,8 @@ export type ToolResultEvent =
380
380
  | ReadToolResultEvent
381
381
  | EditToolResultEvent
382
382
  | WriteToolResultEvent
383
- | SearchToolResultEvent
384
- | FindToolResultEvent
383
+ | GrepToolResultEvent
384
+ | GlobToolResultEvent
385
385
  | CustomToolResultEvent;
386
386
 
387
387
  /**
@@ -93,6 +93,7 @@ export const BUNDLED_PI_REGISTRY_KEYS: ReadonlySet<string> = new Set([
93
93
  "@oh-my-pi/pi-ai/usage/google-antigravity",
94
94
  "@oh-my-pi/pi-ai/usage/kimi",
95
95
  "@oh-my-pi/pi-ai/usage/minimax-code",
96
+ "@oh-my-pi/pi-ai/usage/ollama",
96
97
  "@oh-my-pi/pi-ai/usage/openai-codex-reset",
97
98
  "@oh-my-pi/pi-ai/usage/openai-codex",
98
99
  "@oh-my-pi/pi-ai/usage/opencode-go",
@@ -107,7 +108,6 @@ export const BUNDLED_PI_REGISTRY_KEYS: ReadonlySet<string> = new Set([
107
108
  "@oh-my-pi/pi-ai/utils/google-validation",
108
109
  "@oh-my-pi/pi-ai/utils/http-inspector",
109
110
  "@oh-my-pi/pi-ai/utils/idle-iterator",
110
- "@oh-my-pi/pi-ai/utils/json-parse",
111
111
  "@oh-my-pi/pi-ai/utils/openai-http",
112
112
  "@oh-my-pi/pi-ai/utils/openrouter-headers",
113
113
  "@oh-my-pi/pi-ai/utils/overflow",
@@ -249,6 +249,7 @@ export const BUNDLED_PI_REGISTRY_KEYS: ReadonlySet<string> = new Set([
249
249
  "@oh-my-pi/pi-coding-agent/cli/flag-tables",
250
250
  "@oh-my-pi/pi-coding-agent/cli/gallery-cli",
251
251
  "@oh-my-pi/pi-coding-agent/cli/gallery-screenshot",
252
+ "@oh-my-pi/pi-coding-agent/cli/gc-cli",
252
253
  "@oh-my-pi/pi-coding-agent/cli/grep-cli",
253
254
  "@oh-my-pi/pi-coding-agent/cli/grievances-cli",
254
255
  "@oh-my-pi/pi-coding-agent/cli/initial-message",
@@ -293,6 +294,7 @@ export const BUNDLED_PI_REGISTRY_KEYS: ReadonlySet<string> = new Set([
293
294
  "@oh-my-pi/pi-coding-agent/commands/config",
294
295
  "@oh-my-pi/pi-coding-agent/commands/dry-balance",
295
296
  "@oh-my-pi/pi-coding-agent/commands/gallery",
297
+ "@oh-my-pi/pi-coding-agent/commands/gc",
296
298
  "@oh-my-pi/pi-coding-agent/commands/grep",
297
299
  "@oh-my-pi/pi-coding-agent/commands/grievances",
298
300
  "@oh-my-pi/pi-coding-agent/commands/install",
@@ -351,6 +353,7 @@ export const BUNDLED_PI_REGISTRY_KEYS: ReadonlySet<string> = new Set([
351
353
  "@oh-my-pi/pi-coding-agent/config/append-only-context-mode",
352
354
  "@oh-my-pi/pi-coding-agent/config/config-file",
353
355
  "@oh-my-pi/pi-coding-agent/config/file-lock",
356
+ "@oh-my-pi/pi-coding-agent/config/inline-tool-descriptors-mode",
354
357
  "@oh-my-pi/pi-coding-agent/config/keybindings",
355
358
  "@oh-my-pi/pi-coding-agent/config/model-discovery",
356
359
  "@oh-my-pi/pi-coding-agent/config/model-registry",
@@ -779,13 +782,14 @@ export const BUNDLED_PI_REGISTRY_KEYS: ReadonlySet<string> = new Set([
779
782
  "@oh-my-pi/pi-coding-agent/tools/eval",
780
783
  "@oh-my-pi/pi-coding-agent/tools/fetch",
781
784
  "@oh-my-pi/pi-coding-agent/tools/file-recorder",
782
- "@oh-my-pi/pi-coding-agent/tools/find",
783
785
  "@oh-my-pi/pi-coding-agent/tools/fs-cache-invalidation",
784
786
  "@oh-my-pi/pi-coding-agent/tools/gh-cache-invalidation",
785
787
  "@oh-my-pi/pi-coding-agent/tools/gh-format",
786
788
  "@oh-my-pi/pi-coding-agent/tools/gh-renderer",
787
789
  "@oh-my-pi/pi-coding-agent/tools/gh",
788
790
  "@oh-my-pi/pi-coding-agent/tools/github-cache",
791
+ "@oh-my-pi/pi-coding-agent/tools/glob",
792
+ "@oh-my-pi/pi-coding-agent/tools/grep",
789
793
  "@oh-my-pi/pi-coding-agent/tools/grouped-file-output",
790
794
  "@oh-my-pi/pi-coding-agent/tools/image-gen",
791
795
  "@oh-my-pi/pi-coding-agent/tools/inspect-image-renderer",
@@ -816,7 +820,6 @@ export const BUNDLED_PI_REGISTRY_KEYS: ReadonlySet<string> = new Set([
816
820
  "@oh-my-pi/pi-coding-agent/tools/resolve",
817
821
  "@oh-my-pi/pi-coding-agent/tools/review",
818
822
  "@oh-my-pi/pi-coding-agent/tools/search-tool-bm25",
819
- "@oh-my-pi/pi-coding-agent/tools/search",
820
823
  "@oh-my-pi/pi-coding-agent/tools/sqlite-reader",
821
824
  "@oh-my-pi/pi-coding-agent/tools/ssh",
822
825
  "@oh-my-pi/pi-coding-agent/tools/todo",
@@ -953,7 +956,9 @@ export const BUNDLED_PI_REGISTRY_KEYS: ReadonlySet<string> = new Set([
953
956
  "@oh-my-pi/pi-coding-agent/web/search/providers/base",
954
957
  "@oh-my-pi/pi-coding-agent/web/search/providers/brave",
955
958
  "@oh-my-pi/pi-coding-agent/web/search/providers/codex",
959
+ "@oh-my-pi/pi-coding-agent/web/search/providers/duckduckgo",
956
960
  "@oh-my-pi/pi-coding-agent/web/search/providers/exa",
961
+ "@oh-my-pi/pi-coding-agent/web/search/providers/firecrawl",
957
962
  "@oh-my-pi/pi-coding-agent/web/search/providers/gemini",
958
963
  "@oh-my-pi/pi-coding-agent/web/search/providers/jina",
959
964
  "@oh-my-pi/pi-coding-agent/web/search/providers/kagi",
@@ -964,7 +969,9 @@ export const BUNDLED_PI_REGISTRY_KEYS: ReadonlySet<string> = new Set([
964
969
  "@oh-my-pi/pi-coding-agent/web/search/providers/searxng",
965
970
  "@oh-my-pi/pi-coding-agent/web/search/providers/synthetic",
966
971
  "@oh-my-pi/pi-coding-agent/web/search/providers/tavily",
972
+ "@oh-my-pi/pi-coding-agent/web/search/providers/tinyfish",
967
973
  "@oh-my-pi/pi-coding-agent/web/search/providers/utils",
974
+ "@oh-my-pi/pi-coding-agent/web/search/providers/xai",
968
975
  "@oh-my-pi/pi-coding-agent/web/search/providers/zai",
969
976
  "@oh-my-pi/pi-natives",
970
977
  "@oh-my-pi/pi-tui",
@@ -116,6 +116,7 @@ import * as bundledPiAiUsageGithubCopilot from "@oh-my-pi/pi-ai/usage/github-cop
116
116
  import * as bundledPiAiUsageGoogleAntigravity from "@oh-my-pi/pi-ai/usage/google-antigravity";
117
117
  import * as bundledPiAiUsageKimi from "@oh-my-pi/pi-ai/usage/kimi";
118
118
  import * as bundledPiAiUsageMinimaxCode from "@oh-my-pi/pi-ai/usage/minimax-code";
119
+ import * as bundledPiAiUsageOllama from "@oh-my-pi/pi-ai/usage/ollama";
119
120
  import * as bundledPiAiUsageOpenaiCodex from "@oh-my-pi/pi-ai/usage/openai-codex";
120
121
  import * as bundledPiAiUsageOpenaiCodexReset from "@oh-my-pi/pi-ai/usage/openai-codex-reset";
121
122
  import * as bundledPiAiUsageOpencodeGo from "@oh-my-pi/pi-ai/usage/opencode-go";
@@ -131,7 +132,6 @@ import * as bundledPiAiUtilsGoogleValidation from "@oh-my-pi/pi-ai/utils/google-
131
132
  import * as bundledPiAiUtilsHarmonyLeak from "@oh-my-pi/pi-ai/utils/harmony-leak";
132
133
  import * as bundledPiAiUtilsHttpInspector from "@oh-my-pi/pi-ai/utils/http-inspector";
133
134
  import * as bundledPiAiUtilsIdleIterator from "@oh-my-pi/pi-ai/utils/idle-iterator";
134
- import * as bundledPiAiUtilsJsonParse from "@oh-my-pi/pi-ai/utils/json-parse";
135
135
  import * as bundledPiAiUtilsOpenaiHttp from "@oh-my-pi/pi-ai/utils/openai-http";
136
136
  import * as bundledPiAiUtilsOpenrouterHeaders from "@oh-my-pi/pi-ai/utils/openrouter-headers";
137
137
  import * as bundledPiAiUtilsOverflow from "@oh-my-pi/pi-ai/utils/overflow";
@@ -223,6 +223,7 @@ import * as bundledPiCodingAgentCliGalleryFixturesShell from "@oh-my-pi/pi-codin
223
223
  import * as bundledPiCodingAgentCliGalleryFixturesTypes from "@oh-my-pi/pi-coding-agent/cli/gallery-fixtures/types";
224
224
  import * as bundledPiCodingAgentCliGalleryFixturesWeb from "@oh-my-pi/pi-coding-agent/cli/gallery-fixtures/web";
225
225
  import * as bundledPiCodingAgentCliGalleryScreenshot from "@oh-my-pi/pi-coding-agent/cli/gallery-screenshot";
226
+ import * as bundledPiCodingAgentCliGcCli from "@oh-my-pi/pi-coding-agent/cli/gc-cli";
226
227
  import * as bundledPiCodingAgentCliGrepCli from "@oh-my-pi/pi-coding-agent/cli/grep-cli";
227
228
  import * as bundledPiCodingAgentCliGrievancesCli from "@oh-my-pi/pi-coding-agent/cli/grievances-cli";
228
229
  import * as bundledPiCodingAgentCliInitialMessage from "@oh-my-pi/pi-coding-agent/cli/initial-message";
@@ -255,6 +256,7 @@ import * as bundledPiCodingAgentCommandsCompletions from "@oh-my-pi/pi-coding-ag
255
256
  import * as bundledPiCodingAgentCommandsConfig from "@oh-my-pi/pi-coding-agent/commands/config";
256
257
  import * as bundledPiCodingAgentCommandsDryBalance from "@oh-my-pi/pi-coding-agent/commands/dry-balance";
257
258
  import * as bundledPiCodingAgentCommandsGallery from "@oh-my-pi/pi-coding-agent/commands/gallery";
259
+ import * as bundledPiCodingAgentCommandsGc from "@oh-my-pi/pi-coding-agent/commands/gc";
258
260
  import * as bundledPiCodingAgentCommandsGrep from "@oh-my-pi/pi-coding-agent/commands/grep";
259
261
  import * as bundledPiCodingAgentCommandsGrievances from "@oh-my-pi/pi-coding-agent/commands/grievances";
260
262
  import * as bundledPiCodingAgentCommandsInstall from "@oh-my-pi/pi-coding-agent/commands/install";
@@ -319,6 +321,7 @@ import * as bundledPiCodingAgentConfigApiKeyResolver from "@oh-my-pi/pi-coding-a
319
321
  import * as bundledPiCodingAgentConfigAppendOnlyContextMode from "@oh-my-pi/pi-coding-agent/config/append-only-context-mode";
320
322
  import * as bundledPiCodingAgentConfigConfigFile from "@oh-my-pi/pi-coding-agent/config/config-file";
321
323
  import * as bundledPiCodingAgentConfigFileLock from "@oh-my-pi/pi-coding-agent/config/file-lock";
324
+ import * as bundledPiCodingAgentConfigInlineToolDescriptorsMode from "@oh-my-pi/pi-coding-agent/config/inline-tool-descriptors-mode";
322
325
  import * as bundledPiCodingAgentConfigKeybindings from "@oh-my-pi/pi-coding-agent/config/keybindings";
323
326
  import * as bundledPiCodingAgentConfigModelDiscovery from "@oh-my-pi/pi-coding-agent/config/model-discovery";
324
327
  import * as bundledPiCodingAgentConfigModelRegistry from "@oh-my-pi/pi-coding-agent/config/model-registry";
@@ -781,13 +784,14 @@ import * as bundledPiCodingAgentToolsEvalBackends from "@oh-my-pi/pi-coding-agen
781
784
  import * as bundledPiCodingAgentToolsEvalRender from "@oh-my-pi/pi-coding-agent/tools/eval-render";
782
785
  import * as bundledPiCodingAgentToolsFetch from "@oh-my-pi/pi-coding-agent/tools/fetch";
783
786
  import * as bundledPiCodingAgentToolsFileRecorder from "@oh-my-pi/pi-coding-agent/tools/file-recorder";
784
- import * as bundledPiCodingAgentToolsFind from "@oh-my-pi/pi-coding-agent/tools/find";
785
787
  import * as bundledPiCodingAgentToolsFsCacheInvalidation from "@oh-my-pi/pi-coding-agent/tools/fs-cache-invalidation";
786
788
  import * as bundledPiCodingAgentToolsGh from "@oh-my-pi/pi-coding-agent/tools/gh";
787
789
  import * as bundledPiCodingAgentToolsGhCacheInvalidation from "@oh-my-pi/pi-coding-agent/tools/gh-cache-invalidation";
788
790
  import * as bundledPiCodingAgentToolsGhFormat from "@oh-my-pi/pi-coding-agent/tools/gh-format";
789
791
  import * as bundledPiCodingAgentToolsGhRenderer from "@oh-my-pi/pi-coding-agent/tools/gh-renderer";
790
792
  import * as bundledPiCodingAgentToolsGithubCache from "@oh-my-pi/pi-coding-agent/tools/github-cache";
793
+ import * as bundledPiCodingAgentToolsGlob from "@oh-my-pi/pi-coding-agent/tools/glob";
794
+ import * as bundledPiCodingAgentToolsGrep from "@oh-my-pi/pi-coding-agent/tools/grep";
791
795
  import * as bundledPiCodingAgentToolsGroupedFileOutput from "@oh-my-pi/pi-coding-agent/tools/grouped-file-output";
792
796
  import * as bundledPiCodingAgentToolsImageGen from "@oh-my-pi/pi-coding-agent/tools/image-gen";
793
797
  import * as bundledPiCodingAgentToolsInspectImage from "@oh-my-pi/pi-coding-agent/tools/inspect-image";
@@ -817,7 +821,6 @@ import * as bundledPiCodingAgentToolsRenderers from "@oh-my-pi/pi-coding-agent/t
817
821
  import * as bundledPiCodingAgentToolsReportToolIssue from "@oh-my-pi/pi-coding-agent/tools/report-tool-issue";
818
822
  import * as bundledPiCodingAgentToolsResolve from "@oh-my-pi/pi-coding-agent/tools/resolve";
819
823
  import * as bundledPiCodingAgentToolsReview from "@oh-my-pi/pi-coding-agent/tools/review";
820
- import * as bundledPiCodingAgentToolsSearch from "@oh-my-pi/pi-coding-agent/tools/search";
821
824
  import * as bundledPiCodingAgentToolsSearchToolBm25 from "@oh-my-pi/pi-coding-agent/tools/search-tool-bm25";
822
825
  import * as bundledPiCodingAgentToolsSqliteReader from "@oh-my-pi/pi-coding-agent/tools/sqlite-reader";
823
826
  import * as bundledPiCodingAgentToolsSsh from "@oh-my-pi/pi-coding-agent/tools/ssh";
@@ -955,7 +958,9 @@ import * as bundledPiCodingAgentWebSearchProvidersAnthropic from "@oh-my-pi/pi-c
955
958
  import * as bundledPiCodingAgentWebSearchProvidersBase from "@oh-my-pi/pi-coding-agent/web/search/providers/base";
956
959
  import * as bundledPiCodingAgentWebSearchProvidersBrave from "@oh-my-pi/pi-coding-agent/web/search/providers/brave";
957
960
  import * as bundledPiCodingAgentWebSearchProvidersCodex from "@oh-my-pi/pi-coding-agent/web/search/providers/codex";
961
+ import * as bundledPiCodingAgentWebSearchProvidersDuckduckgo from "@oh-my-pi/pi-coding-agent/web/search/providers/duckduckgo";
958
962
  import * as bundledPiCodingAgentWebSearchProvidersExa from "@oh-my-pi/pi-coding-agent/web/search/providers/exa";
963
+ import * as bundledPiCodingAgentWebSearchProvidersFirecrawl from "@oh-my-pi/pi-coding-agent/web/search/providers/firecrawl";
959
964
  import * as bundledPiCodingAgentWebSearchProvidersGemini from "@oh-my-pi/pi-coding-agent/web/search/providers/gemini";
960
965
  import * as bundledPiCodingAgentWebSearchProvidersJina from "@oh-my-pi/pi-coding-agent/web/search/providers/jina";
961
966
  import * as bundledPiCodingAgentWebSearchProvidersKagi from "@oh-my-pi/pi-coding-agent/web/search/providers/kagi";
@@ -966,7 +971,9 @@ import * as bundledPiCodingAgentWebSearchProvidersPerplexityAuth from "@oh-my-pi
966
971
  import * as bundledPiCodingAgentWebSearchProvidersSearxng from "@oh-my-pi/pi-coding-agent/web/search/providers/searxng";
967
972
  import * as bundledPiCodingAgentWebSearchProvidersSynthetic from "@oh-my-pi/pi-coding-agent/web/search/providers/synthetic";
968
973
  import * as bundledPiCodingAgentWebSearchProvidersTavily from "@oh-my-pi/pi-coding-agent/web/search/providers/tavily";
974
+ import * as bundledPiCodingAgentWebSearchProvidersTinyfish from "@oh-my-pi/pi-coding-agent/web/search/providers/tinyfish";
969
975
  import * as bundledPiCodingAgentWebSearchProvidersUtils from "@oh-my-pi/pi-coding-agent/web/search/providers/utils";
976
+ import * as bundledPiCodingAgentWebSearchProvidersXai from "@oh-my-pi/pi-coding-agent/web/search/providers/xai";
970
977
  import * as bundledPiCodingAgentWebSearchProvidersZai from "@oh-my-pi/pi-coding-agent/web/search/providers/zai";
971
978
  import * as bundledPiCodingAgentWebSearchRender from "@oh-my-pi/pi-coding-agent/web/search/render";
972
979
  import * as bundledPiCodingAgentWebSearchTypes from "@oh-my-pi/pi-coding-agent/web/search/types";
@@ -1179,6 +1186,7 @@ export const BUNDLED_PI_REGISTRY: Readonly<Record<string, Readonly<Record<string
1179
1186
  >,
1180
1187
  "@oh-my-pi/pi-ai/usage/kimi": bundledPiAiUsageKimi as unknown as Readonly<Record<string, unknown>>,
1181
1188
  "@oh-my-pi/pi-ai/usage/minimax-code": bundledPiAiUsageMinimaxCode as unknown as Readonly<Record<string, unknown>>,
1189
+ "@oh-my-pi/pi-ai/usage/ollama": bundledPiAiUsageOllama as unknown as Readonly<Record<string, unknown>>,
1182
1190
  "@oh-my-pi/pi-ai/usage/openai-codex-reset": bundledPiAiUsageOpenaiCodexReset as unknown as Readonly<
1183
1191
  Record<string, unknown>
1184
1192
  >,
@@ -1205,7 +1213,6 @@ export const BUNDLED_PI_REGISTRY: Readonly<Record<string, Readonly<Record<string
1205
1213
  Record<string, unknown>
1206
1214
  >,
1207
1215
  "@oh-my-pi/pi-ai/utils/idle-iterator": bundledPiAiUtilsIdleIterator as unknown as Readonly<Record<string, unknown>>,
1208
- "@oh-my-pi/pi-ai/utils/json-parse": bundledPiAiUtilsJsonParse as unknown as Readonly<Record<string, unknown>>,
1209
1216
  "@oh-my-pi/pi-ai/utils/openai-http": bundledPiAiUtilsOpenaiHttp as unknown as Readonly<Record<string, unknown>>,
1210
1217
  "@oh-my-pi/pi-ai/utils/openrouter-headers": bundledPiAiUtilsOpenrouterHeaders as unknown as Readonly<
1211
1218
  Record<string, unknown>
@@ -1503,6 +1510,7 @@ export const BUNDLED_PI_REGISTRY: Readonly<Record<string, Readonly<Record<string
1503
1510
  "@oh-my-pi/pi-coding-agent/cli/gallery-screenshot": bundledPiCodingAgentCliGalleryScreenshot as unknown as Readonly<
1504
1511
  Record<string, unknown>
1505
1512
  >,
1513
+ "@oh-my-pi/pi-coding-agent/cli/gc-cli": bundledPiCodingAgentCliGcCli as unknown as Readonly<Record<string, unknown>>,
1506
1514
  "@oh-my-pi/pi-coding-agent/cli/grep-cli": bundledPiCodingAgentCliGrepCli as unknown as Readonly<
1507
1515
  Record<string, unknown>
1508
1516
  >,
@@ -1625,6 +1633,9 @@ export const BUNDLED_PI_REGISTRY: Readonly<Record<string, Readonly<Record<string
1625
1633
  "@oh-my-pi/pi-coding-agent/commands/gallery": bundledPiCodingAgentCommandsGallery as unknown as Readonly<
1626
1634
  Record<string, unknown>
1627
1635
  >,
1636
+ "@oh-my-pi/pi-coding-agent/commands/gc": bundledPiCodingAgentCommandsGc as unknown as Readonly<
1637
+ Record<string, unknown>
1638
+ >,
1628
1639
  "@oh-my-pi/pi-coding-agent/commands/grep": bundledPiCodingAgentCommandsGrep as unknown as Readonly<
1629
1640
  Record<string, unknown>
1630
1641
  >,
@@ -1778,6 +1789,8 @@ export const BUNDLED_PI_REGISTRY: Readonly<Record<string, Readonly<Record<string
1778
1789
  "@oh-my-pi/pi-coding-agent/config/file-lock": bundledPiCodingAgentConfigFileLock as unknown as Readonly<
1779
1790
  Record<string, unknown>
1780
1791
  >,
1792
+ "@oh-my-pi/pi-coding-agent/config/inline-tool-descriptors-mode":
1793
+ bundledPiCodingAgentConfigInlineToolDescriptorsMode as unknown as Readonly<Record<string, unknown>>,
1781
1794
  "@oh-my-pi/pi-coding-agent/config/keybindings": bundledPiCodingAgentConfigKeybindings as unknown as Readonly<
1782
1795
  Record<string, unknown>
1783
1796
  >,
@@ -2824,9 +2837,6 @@ export const BUNDLED_PI_REGISTRY: Readonly<Record<string, Readonly<Record<string
2824
2837
  "@oh-my-pi/pi-coding-agent/tools/file-recorder": bundledPiCodingAgentToolsFileRecorder as unknown as Readonly<
2825
2838
  Record<string, unknown>
2826
2839
  >,
2827
- "@oh-my-pi/pi-coding-agent/tools/find": bundledPiCodingAgentToolsFind as unknown as Readonly<
2828
- Record<string, unknown>
2829
- >,
2830
2840
  "@oh-my-pi/pi-coding-agent/tools/fs-cache-invalidation":
2831
2841
  bundledPiCodingAgentToolsFsCacheInvalidation as unknown as Readonly<Record<string, unknown>>,
2832
2842
  "@oh-my-pi/pi-coding-agent/tools/gh-cache-invalidation":
@@ -2841,6 +2851,12 @@ export const BUNDLED_PI_REGISTRY: Readonly<Record<string, Readonly<Record<string
2841
2851
  "@oh-my-pi/pi-coding-agent/tools/github-cache": bundledPiCodingAgentToolsGithubCache as unknown as Readonly<
2842
2852
  Record<string, unknown>
2843
2853
  >,
2854
+ "@oh-my-pi/pi-coding-agent/tools/glob": bundledPiCodingAgentToolsGlob as unknown as Readonly<
2855
+ Record<string, unknown>
2856
+ >,
2857
+ "@oh-my-pi/pi-coding-agent/tools/grep": bundledPiCodingAgentToolsGrep as unknown as Readonly<
2858
+ Record<string, unknown>
2859
+ >,
2844
2860
  "@oh-my-pi/pi-coding-agent/tools/grouped-file-output":
2845
2861
  bundledPiCodingAgentToolsGroupedFileOutput as unknown as Readonly<Record<string, unknown>>,
2846
2862
  "@oh-my-pi/pi-coding-agent/tools/image-gen": bundledPiCodingAgentToolsImageGen as unknown as Readonly<
@@ -2923,9 +2939,6 @@ export const BUNDLED_PI_REGISTRY: Readonly<Record<string, Readonly<Record<string
2923
2939
  "@oh-my-pi/pi-coding-agent/tools/search-tool-bm25": bundledPiCodingAgentToolsSearchToolBm25 as unknown as Readonly<
2924
2940
  Record<string, unknown>
2925
2941
  >,
2926
- "@oh-my-pi/pi-coding-agent/tools/search": bundledPiCodingAgentToolsSearch as unknown as Readonly<
2927
- Record<string, unknown>
2928
- >,
2929
2942
  "@oh-my-pi/pi-coding-agent/tools/sqlite-reader": bundledPiCodingAgentToolsSqliteReader as unknown as Readonly<
2930
2943
  Record<string, unknown>
2931
2944
  >,
@@ -3293,8 +3306,12 @@ export const BUNDLED_PI_REGISTRY: Readonly<Record<string, Readonly<Record<string
3293
3306
  bundledPiCodingAgentWebSearchProvidersBrave as unknown as Readonly<Record<string, unknown>>,
3294
3307
  "@oh-my-pi/pi-coding-agent/web/search/providers/codex":
3295
3308
  bundledPiCodingAgentWebSearchProvidersCodex as unknown as Readonly<Record<string, unknown>>,
3309
+ "@oh-my-pi/pi-coding-agent/web/search/providers/duckduckgo":
3310
+ bundledPiCodingAgentWebSearchProvidersDuckduckgo as unknown as Readonly<Record<string, unknown>>,
3296
3311
  "@oh-my-pi/pi-coding-agent/web/search/providers/exa":
3297
3312
  bundledPiCodingAgentWebSearchProvidersExa as unknown as Readonly<Record<string, unknown>>,
3313
+ "@oh-my-pi/pi-coding-agent/web/search/providers/firecrawl":
3314
+ bundledPiCodingAgentWebSearchProvidersFirecrawl as unknown as Readonly<Record<string, unknown>>,
3298
3315
  "@oh-my-pi/pi-coding-agent/web/search/providers/gemini":
3299
3316
  bundledPiCodingAgentWebSearchProvidersGemini as unknown as Readonly<Record<string, unknown>>,
3300
3317
  "@oh-my-pi/pi-coding-agent/web/search/providers/jina":
@@ -3315,8 +3332,12 @@ export const BUNDLED_PI_REGISTRY: Readonly<Record<string, Readonly<Record<string
3315
3332
  bundledPiCodingAgentWebSearchProvidersSynthetic as unknown as Readonly<Record<string, unknown>>,
3316
3333
  "@oh-my-pi/pi-coding-agent/web/search/providers/tavily":
3317
3334
  bundledPiCodingAgentWebSearchProvidersTavily as unknown as Readonly<Record<string, unknown>>,
3335
+ "@oh-my-pi/pi-coding-agent/web/search/providers/tinyfish":
3336
+ bundledPiCodingAgentWebSearchProvidersTinyfish as unknown as Readonly<Record<string, unknown>>,
3318
3337
  "@oh-my-pi/pi-coding-agent/web/search/providers/utils":
3319
3338
  bundledPiCodingAgentWebSearchProvidersUtils as unknown as Readonly<Record<string, unknown>>,
3339
+ "@oh-my-pi/pi-coding-agent/web/search/providers/xai":
3340
+ bundledPiCodingAgentWebSearchProvidersXai as unknown as Readonly<Record<string, unknown>>,
3320
3341
  "@oh-my-pi/pi-coding-agent/web/search/providers/zai":
3321
3342
  bundledPiCodingAgentWebSearchProvidersZai as unknown as Readonly<Record<string, unknown>>,
3322
3343
  "@oh-my-pi/pi-natives": bundledPiNatives as unknown as Readonly<Record<string, unknown>>,
@@ -303,6 +303,7 @@ export class MarketplaceManager {
303
303
  version = await this.#resolvePluginVersion(pluginEntry, sourcePath);
304
304
  cachePath = await cachePlugin(sourcePath, this.#opts.pluginsCacheDir, marketplace, name, version);
305
305
  await this.#writeEmbeddedLspConfig(pluginEntry, cachePath);
306
+ await this.#writeEmbeddedDapConfig(pluginEntry, cachePath);
306
307
  } finally {
307
308
  // Clean up temp clone dirs created by resolvePluginSource; leave user-supplied local dirs alone
308
309
  if (tempCloneRoot) {
@@ -383,6 +384,27 @@ export class MarketplaceManager {
383
384
  await Bun.write(targetPath, `${JSON.stringify({ servers: lspServers }, null, 2)}\n`);
384
385
  }
385
386
 
387
+ async #writeEmbeddedDapConfig(entry: MarketplacePluginEntry, cachePath: string): Promise<void> {
388
+ const dapAdapters = entry.dapAdapters;
389
+ if (!dapAdapters) return;
390
+
391
+ if (typeof dapAdapters === "string") {
392
+ const sourcePath = path.resolve(cachePath, dapAdapters);
393
+ if (!pathIsWithin(cachePath, sourcePath)) {
394
+ throw new Error(`Plugin "${entry.name}" dapAdapters path escapes the plugin directory`);
395
+ }
396
+ const extension = path.extname(sourcePath).toLowerCase();
397
+ const targetFilename = extension === ".yaml" || extension === ".yml" ? `.dap${extension}` : ".dap.json";
398
+ const targetPath = path.join(cachePath, targetFilename);
399
+ const content = await Bun.file(sourcePath).text();
400
+ await Bun.write(targetPath, content);
401
+ return;
402
+ }
403
+
404
+ const targetPath = path.join(cachePath, ".dap.json");
405
+ await Bun.write(targetPath, `${JSON.stringify({ adapters: dapAdapters }, null, 2)}\n`);
406
+ }
407
+
386
408
  /**
387
409
  * Resolve plugin version from multiple sources:
388
410
  * 1. Catalog entry version (if set)
@@ -92,6 +92,7 @@ export interface MarketplacePluginEntry {
92
92
  hooks?: string | Record<string, unknown>;
93
93
  mcpServers?: string | Record<string, unknown>;
94
94
  lspServers?: string | Record<string, unknown>;
95
+ dapAdapters?: string | Record<string, unknown>;
95
96
  }
96
97
 
97
98
  // ── Plugin source variants ───────────────────────────────────────────