@oh-my-pi/pi-coding-agent 12.17.0 → 12.18.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.
- package/CHANGELOG.md +42 -0
- package/package.json +414 -92
- package/src/capability/index.ts +5 -8
- package/src/cli/stats-cli.ts +3 -3
- package/src/exec/bash-executor.ts +92 -58
- package/src/ipy/executor.ts +42 -32
- package/src/ipy/gateway-coordinator.ts +5 -8
- package/src/ipy/kernel.ts +28 -47
- package/src/main.ts +56 -61
- package/src/mcp/config.ts +102 -5
- package/src/mcp/index.ts +3 -1
- package/src/mcp/loader.ts +3 -0
- package/src/mcp/manager.ts +3 -0
- package/src/modes/controllers/extension-ui-controller.ts +28 -6
- package/src/modes/interactive-mode.ts +15 -18
- package/src/modes/types.ts +1 -0
- package/src/modes/utils/ui-helpers.ts +7 -0
- package/src/sdk.ts +97 -115
- package/src/system-prompt.ts +15 -36
- package/src/tools/bash-interactive.ts +46 -42
- package/src/tools/bash.ts +6 -7
- package/src/tools/gemini-image.ts +2 -11
- package/src/tools/index.ts +18 -27
- package/src/utils/shell-snapshot.ts +18 -3
- package/src/web/search/providers/gemini.ts +2 -24
- package/src/utils/timings.ts +0 -26
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,48 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [12.18.0] - 2026-02-21
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- Added `overlay` option to custom UI hooks to display components as bottom-centered overlays instead of replacing the editor
|
|
10
|
+
- Added automatic chat transcript rebuild when returning from custom or debug UI to prevent message duplication
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- Changed custom UI hook cleanup to conditionally restore editor state only when not using overlay mode
|
|
15
|
+
- Extracted environment variable configuration for non-interactive bash execution into reusable `NO_PAGER_ENV` constant
|
|
16
|
+
- Replaced custom timing instrumentation with logger.timeAsync() and logger.time() from pi-utils for consistent startup profiling
|
|
17
|
+
- Removed PI_DEBUG_STARTUP environment variable in favor of logger.debug() for conditional debug output
|
|
18
|
+
- Consolidated timing calls throughout initialization pipeline to use unified logger-based timing system
|
|
19
|
+
|
|
20
|
+
### Removed
|
|
21
|
+
|
|
22
|
+
- Deleted utils/timings.ts module - timing functionality now provided by pi-utils logger
|
|
23
|
+
|
|
24
|
+
### Fixed
|
|
25
|
+
|
|
26
|
+
- Fixed potential race condition in bash interactive component where output could be appended after the component was closed
|
|
27
|
+
|
|
28
|
+
## [12.17.2] - 2026-02-21
|
|
29
|
+
### Changed
|
|
30
|
+
|
|
31
|
+
- Modified bash command normalization to only apply explicit head/tail parameters from tool input, removing automatic extraction from command pipes
|
|
32
|
+
- Updated shell snapshot creation to use explicit timeout and kill signal configuration for more reliable process termination
|
|
33
|
+
|
|
34
|
+
### Fixed
|
|
35
|
+
|
|
36
|
+
- Fixed persistent shell session state not being reset after command abort or hard timeout, preventing stale environment variables from affecting subsequent commands
|
|
37
|
+
- Fixed hard timeout handling to properly interrupt long-running commands that exceed the grace period beyond the configured timeout
|
|
38
|
+
|
|
39
|
+
## [12.17.1] - 2026-02-21
|
|
40
|
+
### Added
|
|
41
|
+
|
|
42
|
+
- Added `filterBrowser` option to filter out browser automation MCP servers when builtin browser tool is enabled
|
|
43
|
+
- Added `isBrowserMCPServer()` function to detect browser automation MCP servers by name, URL, or command patterns
|
|
44
|
+
- Added `filterBrowserMCPServers()` function to remove browser MCP servers from loaded configurations
|
|
45
|
+
- Added `BrowserFilterResult` type for browser MCP server filtering results
|
|
46
|
+
|
|
5
47
|
## [12.17.0] - 2026-02-21
|
|
6
48
|
### Added
|
|
7
49
|
|
package/package.json
CHANGED
|
@@ -1,50 +1,259 @@
|
|
|
1
1
|
{
|
|
2
|
+
"type": "module",
|
|
2
3
|
"name": "@oh-my-pi/pi-coding-agent",
|
|
3
|
-
"version": "12.
|
|
4
|
+
"version": "12.18.0",
|
|
4
5
|
"description": "Coding agent CLI with read, bash, edit, write tools and session management",
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
|
|
6
|
+
"homepage": "https://github.com/can1357/oh-my-pi",
|
|
7
|
+
"author": "Can Bölük",
|
|
8
|
+
"contributors": [
|
|
9
|
+
"Mario Zechner"
|
|
10
|
+
],
|
|
11
|
+
"license": "MIT",
|
|
12
|
+
"repository": {
|
|
13
|
+
"type": "git",
|
|
14
|
+
"url": "git+https://github.com/can1357/oh-my-pi.git",
|
|
15
|
+
"directory": "packages/coding-agent"
|
|
8
16
|
},
|
|
17
|
+
"bugs": {
|
|
18
|
+
"url": "https://github.com/can1357/oh-my-pi/issues"
|
|
19
|
+
},
|
|
20
|
+
"keywords": [
|
|
21
|
+
"coding-agent",
|
|
22
|
+
"ai",
|
|
23
|
+
"llm",
|
|
24
|
+
"cli",
|
|
25
|
+
"tui",
|
|
26
|
+
"agent"
|
|
27
|
+
],
|
|
9
28
|
"main": "./src/index.ts",
|
|
10
29
|
"types": "./src/index.ts",
|
|
30
|
+
"bin": {
|
|
31
|
+
"omp": "src/cli.ts"
|
|
32
|
+
},
|
|
33
|
+
"scripts": {
|
|
34
|
+
"check": "tsgo -p tsconfig.json",
|
|
35
|
+
"format-prompts": "bun scripts/format-prompts.ts",
|
|
36
|
+
"generate-docs-index": "bun scripts/generate-docs-index.ts",
|
|
37
|
+
"prepack": "bun scripts/generate-docs-index.ts",
|
|
38
|
+
"build:binary": "cd ../.. && bun --cwd=packages/stats scripts/generate-client-bundle.ts && bun --cwd=packages/natives run embed:native && bun build --compile --define PI_COMPILED=true --root . ./packages/coding-agent/src/cli.ts --outfile packages/coding-agent/dist/omp && bun --cwd=packages/natives run embed:native --reset && bun --cwd=packages/stats scripts/generate-client-bundle.ts --reset",
|
|
39
|
+
"generate-template": "bun scripts/generate-template.ts",
|
|
40
|
+
"test": "bun test"
|
|
41
|
+
},
|
|
42
|
+
"dependencies": {
|
|
43
|
+
"@mozilla/readability": "0.6.0",
|
|
44
|
+
"@oh-my-pi/omp-stats": "12.18.0",
|
|
45
|
+
"@oh-my-pi/pi-agent-core": "12.18.0",
|
|
46
|
+
"@oh-my-pi/pi-ai": "12.18.0",
|
|
47
|
+
"@oh-my-pi/pi-natives": "12.18.0",
|
|
48
|
+
"@oh-my-pi/pi-tui": "12.18.0",
|
|
49
|
+
"@oh-my-pi/pi-utils": "12.18.0",
|
|
50
|
+
"@sinclair/typebox": "^0.34.48",
|
|
51
|
+
"@xterm/headless": "^6.0.0",
|
|
52
|
+
"ajv": "^8.18.0",
|
|
53
|
+
"chalk": "^5.6.2",
|
|
54
|
+
"diff": "^8.0.3",
|
|
55
|
+
"file-type": "^21.3.0",
|
|
56
|
+
"glob": "^13.0.3",
|
|
57
|
+
"handlebars": "^4.7.8",
|
|
58
|
+
"ignore": "^7.0.5",
|
|
59
|
+
"linkedom": "^0.18.12",
|
|
60
|
+
"marked": "^17.0.2",
|
|
61
|
+
"node-html-parser": "^7.0.2",
|
|
62
|
+
"puppeteer": "^24.37.3",
|
|
63
|
+
"smol-toml": "^1.6.0",
|
|
64
|
+
"zod": "^4.3.6"
|
|
65
|
+
},
|
|
66
|
+
"devDependencies": {
|
|
67
|
+
"@types/bun": "^1.3.9",
|
|
68
|
+
"@types/ms": "^2.1.0",
|
|
69
|
+
"ms": "^2.1.3"
|
|
70
|
+
},
|
|
71
|
+
"engines": {
|
|
72
|
+
"bun": ">=1.3.7"
|
|
73
|
+
},
|
|
74
|
+
"files": [
|
|
75
|
+
"src",
|
|
76
|
+
"scripts",
|
|
77
|
+
"examples",
|
|
78
|
+
"README.md",
|
|
79
|
+
"CHANGELOG.md"
|
|
80
|
+
],
|
|
11
81
|
"exports": {
|
|
12
82
|
".": {
|
|
13
83
|
"types": "./src/index.ts",
|
|
14
84
|
"import": "./src/index.ts"
|
|
15
85
|
},
|
|
16
|
-
"
|
|
17
|
-
"types": "./src
|
|
18
|
-
"import": "./src
|
|
86
|
+
"./*": {
|
|
87
|
+
"types": "./src/*.ts",
|
|
88
|
+
"import": "./src/*.ts"
|
|
19
89
|
},
|
|
20
|
-
"./
|
|
21
|
-
"types": "./src/
|
|
22
|
-
"import": "./src/
|
|
90
|
+
"./capability": {
|
|
91
|
+
"types": "./src/capability/index.ts",
|
|
92
|
+
"import": "./src/capability/index.ts"
|
|
23
93
|
},
|
|
24
|
-
"./prompts/*": "./src/prompts/*.md",
|
|
25
94
|
"./capability/*": {
|
|
26
95
|
"types": "./src/capability/*.ts",
|
|
27
96
|
"import": "./src/capability/*.ts"
|
|
28
97
|
},
|
|
98
|
+
"./cli/*": {
|
|
99
|
+
"types": "./src/cli/*.ts",
|
|
100
|
+
"import": "./src/cli/*.ts"
|
|
101
|
+
},
|
|
102
|
+
"./commands/*": {
|
|
103
|
+
"types": "./src/commands/*.ts",
|
|
104
|
+
"import": "./src/commands/*.ts"
|
|
105
|
+
},
|
|
106
|
+
"./commit": {
|
|
107
|
+
"types": "./src/commit/index.ts",
|
|
108
|
+
"import": "./src/commit/index.ts"
|
|
109
|
+
},
|
|
110
|
+
"./commit/*": {
|
|
111
|
+
"types": "./src/commit/*.ts",
|
|
112
|
+
"import": "./src/commit/*.ts"
|
|
113
|
+
},
|
|
114
|
+
"./commit/agentic": {
|
|
115
|
+
"types": "./src/commit/agentic/index.ts",
|
|
116
|
+
"import": "./src/commit/agentic/index.ts"
|
|
117
|
+
},
|
|
118
|
+
"./commit/agentic/*": {
|
|
119
|
+
"types": "./src/commit/agentic/*.ts",
|
|
120
|
+
"import": "./src/commit/agentic/*.ts"
|
|
121
|
+
},
|
|
122
|
+
"./commit/agentic/tools": {
|
|
123
|
+
"types": "./src/commit/agentic/tools/index.ts",
|
|
124
|
+
"import": "./src/commit/agentic/tools/index.ts"
|
|
125
|
+
},
|
|
126
|
+
"./commit/agentic/tools/*": {
|
|
127
|
+
"types": "./src/commit/agentic/tools/*.ts",
|
|
128
|
+
"import": "./src/commit/agentic/tools/*.ts"
|
|
129
|
+
},
|
|
130
|
+
"./commit/analysis": {
|
|
131
|
+
"types": "./src/commit/analysis/index.ts",
|
|
132
|
+
"import": "./src/commit/analysis/index.ts"
|
|
133
|
+
},
|
|
134
|
+
"./commit/analysis/*": {
|
|
135
|
+
"types": "./src/commit/analysis/*.ts",
|
|
136
|
+
"import": "./src/commit/analysis/*.ts"
|
|
137
|
+
},
|
|
138
|
+
"./commit/changelog": {
|
|
139
|
+
"types": "./src/commit/changelog/index.ts",
|
|
140
|
+
"import": "./src/commit/changelog/index.ts"
|
|
141
|
+
},
|
|
142
|
+
"./commit/changelog/*": {
|
|
143
|
+
"types": "./src/commit/changelog/*.ts",
|
|
144
|
+
"import": "./src/commit/changelog/*.ts"
|
|
145
|
+
},
|
|
146
|
+
"./commit/git": {
|
|
147
|
+
"types": "./src/commit/git/index.ts",
|
|
148
|
+
"import": "./src/commit/git/index.ts"
|
|
149
|
+
},
|
|
150
|
+
"./commit/git/*": {
|
|
151
|
+
"types": "./src/commit/git/*.ts",
|
|
152
|
+
"import": "./src/commit/git/*.ts"
|
|
153
|
+
},
|
|
154
|
+
"./commit/map-reduce": {
|
|
155
|
+
"types": "./src/commit/map-reduce/index.ts",
|
|
156
|
+
"import": "./src/commit/map-reduce/index.ts"
|
|
157
|
+
},
|
|
158
|
+
"./commit/map-reduce/*": {
|
|
159
|
+
"types": "./src/commit/map-reduce/*.ts",
|
|
160
|
+
"import": "./src/commit/map-reduce/*.ts"
|
|
161
|
+
},
|
|
162
|
+
"./commit/utils/*": {
|
|
163
|
+
"types": "./src/commit/utils/*.ts",
|
|
164
|
+
"import": "./src/commit/utils/*.ts"
|
|
165
|
+
},
|
|
29
166
|
"./config/*": {
|
|
30
167
|
"types": "./src/config/*.ts",
|
|
31
168
|
"import": "./src/config/*.ts"
|
|
32
169
|
},
|
|
170
|
+
"./debug": {
|
|
171
|
+
"types": "./src/debug/index.ts",
|
|
172
|
+
"import": "./src/debug/index.ts"
|
|
173
|
+
},
|
|
174
|
+
"./debug/*": {
|
|
175
|
+
"types": "./src/debug/*.ts",
|
|
176
|
+
"import": "./src/debug/*.ts"
|
|
177
|
+
},
|
|
178
|
+
"./discovery": {
|
|
179
|
+
"types": "./src/discovery/index.ts",
|
|
180
|
+
"import": "./src/discovery/index.ts"
|
|
181
|
+
},
|
|
182
|
+
"./discovery/*": {
|
|
183
|
+
"types": "./src/discovery/*.ts",
|
|
184
|
+
"import": "./src/discovery/*.ts"
|
|
185
|
+
},
|
|
186
|
+
"./exa": {
|
|
187
|
+
"types": "./src/exa/index.ts",
|
|
188
|
+
"import": "./src/exa/index.ts"
|
|
189
|
+
},
|
|
190
|
+
"./exa/*": {
|
|
191
|
+
"types": "./src/exa/*.ts",
|
|
192
|
+
"import": "./src/exa/*.ts"
|
|
193
|
+
},
|
|
194
|
+
"./exec/*": {
|
|
195
|
+
"types": "./src/exec/*.ts",
|
|
196
|
+
"import": "./src/exec/*.ts"
|
|
197
|
+
},
|
|
198
|
+
"./export/*": {
|
|
199
|
+
"types": "./src/export/*.ts",
|
|
200
|
+
"import": "./src/export/*.ts"
|
|
201
|
+
},
|
|
202
|
+
"./export/html": {
|
|
203
|
+
"types": "./src/export/html/index.ts",
|
|
204
|
+
"import": "./src/export/html/index.ts"
|
|
205
|
+
},
|
|
206
|
+
"./export/html/*": {
|
|
207
|
+
"types": "./src/export/html/*.ts",
|
|
208
|
+
"import": "./src/export/html/*.ts"
|
|
209
|
+
},
|
|
33
210
|
"./extensibility/*": {
|
|
34
211
|
"types": "./src/extensibility/*.ts",
|
|
35
212
|
"import": "./src/extensibility/*.ts"
|
|
36
213
|
},
|
|
37
|
-
"./extensibility/
|
|
38
|
-
"types": "./src/extensibility/
|
|
39
|
-
"import": "./src/extensibility/
|
|
214
|
+
"./extensibility/custom-commands": {
|
|
215
|
+
"types": "./src/extensibility/custom-commands/index.ts",
|
|
216
|
+
"import": "./src/extensibility/custom-commands/index.ts"
|
|
217
|
+
},
|
|
218
|
+
"./extensibility/custom-commands/*": {
|
|
219
|
+
"types": "./src/extensibility/custom-commands/*.ts",
|
|
220
|
+
"import": "./src/extensibility/custom-commands/*.ts"
|
|
221
|
+
},
|
|
222
|
+
"./extensibility/custom-commands/bundled/review": {
|
|
223
|
+
"types": "./src/extensibility/custom-commands/bundled/review/index.ts",
|
|
224
|
+
"import": "./src/extensibility/custom-commands/bundled/review/index.ts"
|
|
225
|
+
},
|
|
226
|
+
"./extensibility/custom-tools": {
|
|
227
|
+
"types": "./src/extensibility/custom-tools/index.ts",
|
|
228
|
+
"import": "./src/extensibility/custom-tools/index.ts"
|
|
229
|
+
},
|
|
230
|
+
"./extensibility/custom-tools/*": {
|
|
231
|
+
"types": "./src/extensibility/custom-tools/*.ts",
|
|
232
|
+
"import": "./src/extensibility/custom-tools/*.ts"
|
|
233
|
+
},
|
|
234
|
+
"./extensibility/extensions": {
|
|
235
|
+
"types": "./src/extensibility/extensions/index.ts",
|
|
236
|
+
"import": "./src/extensibility/extensions/index.ts"
|
|
40
237
|
},
|
|
41
238
|
"./extensibility/extensions/*": {
|
|
42
239
|
"types": "./src/extensibility/extensions/*.ts",
|
|
43
240
|
"import": "./src/extensibility/extensions/*.ts"
|
|
44
241
|
},
|
|
45
|
-
"./
|
|
46
|
-
"types": "./src/
|
|
47
|
-
"import": "./src/
|
|
242
|
+
"./extensibility/hooks": {
|
|
243
|
+
"types": "./src/extensibility/hooks/index.ts",
|
|
244
|
+
"import": "./src/extensibility/hooks/index.ts"
|
|
245
|
+
},
|
|
246
|
+
"./extensibility/hooks/*": {
|
|
247
|
+
"types": "./src/extensibility/hooks/*.ts",
|
|
248
|
+
"import": "./src/extensibility/hooks/*.ts"
|
|
249
|
+
},
|
|
250
|
+
"./extensibility/plugins": {
|
|
251
|
+
"types": "./src/extensibility/plugins/index.ts",
|
|
252
|
+
"import": "./src/extensibility/plugins/index.ts"
|
|
253
|
+
},
|
|
254
|
+
"./extensibility/plugins/*": {
|
|
255
|
+
"types": "./src/extensibility/plugins/*.ts",
|
|
256
|
+
"import": "./src/extensibility/plugins/*.ts"
|
|
48
257
|
},
|
|
49
258
|
"./internal-urls": {
|
|
50
259
|
"types": "./src/internal-urls/index.ts",
|
|
@@ -54,85 +263,198 @@
|
|
|
54
263
|
"types": "./src/internal-urls/*.ts",
|
|
55
264
|
"import": "./src/internal-urls/*.ts"
|
|
56
265
|
},
|
|
266
|
+
"./ipy/*": {
|
|
267
|
+
"types": "./src/ipy/*.ts",
|
|
268
|
+
"import": "./src/ipy/*.ts"
|
|
269
|
+
},
|
|
270
|
+
"./lsp": {
|
|
271
|
+
"types": "./src/lsp/index.ts",
|
|
272
|
+
"import": "./src/lsp/index.ts"
|
|
273
|
+
},
|
|
274
|
+
"./lsp/*": {
|
|
275
|
+
"types": "./src/lsp/*.ts",
|
|
276
|
+
"import": "./src/lsp/*.ts"
|
|
277
|
+
},
|
|
278
|
+
"./lsp/clients": {
|
|
279
|
+
"types": "./src/lsp/clients/index.ts",
|
|
280
|
+
"import": "./src/lsp/clients/index.ts"
|
|
281
|
+
},
|
|
282
|
+
"./lsp/clients/*": {
|
|
283
|
+
"types": "./src/lsp/clients/*.ts",
|
|
284
|
+
"import": "./src/lsp/clients/*.ts"
|
|
285
|
+
},
|
|
286
|
+
"./mcp": {
|
|
287
|
+
"types": "./src/mcp/index.ts",
|
|
288
|
+
"import": "./src/mcp/index.ts"
|
|
289
|
+
},
|
|
290
|
+
"./mcp/*": {
|
|
291
|
+
"types": "./src/mcp/*.ts",
|
|
292
|
+
"import": "./src/mcp/*.ts"
|
|
293
|
+
},
|
|
294
|
+
"./mcp/transports": {
|
|
295
|
+
"types": "./src/mcp/transports/index.ts",
|
|
296
|
+
"import": "./src/mcp/transports/index.ts"
|
|
297
|
+
},
|
|
298
|
+
"./mcp/transports/*": {
|
|
299
|
+
"types": "./src/mcp/transports/*.ts",
|
|
300
|
+
"import": "./src/mcp/transports/*.ts"
|
|
301
|
+
},
|
|
302
|
+
"./memories": {
|
|
303
|
+
"types": "./src/memories/index.ts",
|
|
304
|
+
"import": "./src/memories/index.ts"
|
|
305
|
+
},
|
|
306
|
+
"./memories/*": {
|
|
307
|
+
"types": "./src/memories/*.ts",
|
|
308
|
+
"import": "./src/memories/*.ts"
|
|
309
|
+
},
|
|
310
|
+
"./modes": {
|
|
311
|
+
"types": "./src/modes/index.ts",
|
|
312
|
+
"import": "./src/modes/index.ts"
|
|
313
|
+
},
|
|
314
|
+
"./modes/*": {
|
|
315
|
+
"types": "./src/modes/*.ts",
|
|
316
|
+
"import": "./src/modes/*.ts"
|
|
317
|
+
},
|
|
318
|
+
"./modes/components": {
|
|
319
|
+
"types": "./src/modes/components/index.ts",
|
|
320
|
+
"import": "./src/modes/components/index.ts"
|
|
321
|
+
},
|
|
322
|
+
"./modes/components/*": {
|
|
323
|
+
"types": "./src/modes/components/*.ts",
|
|
324
|
+
"import": "./src/modes/components/*.ts"
|
|
325
|
+
},
|
|
326
|
+
"./modes/components/extensions": {
|
|
327
|
+
"types": "./src/modes/components/extensions/index.ts",
|
|
328
|
+
"import": "./src/modes/components/extensions/index.ts"
|
|
329
|
+
},
|
|
330
|
+
"./modes/components/extensions/*": {
|
|
331
|
+
"types": "./src/modes/components/extensions/*.ts",
|
|
332
|
+
"import": "./src/modes/components/extensions/*.ts"
|
|
333
|
+
},
|
|
334
|
+
"./modes/components/status-line": {
|
|
335
|
+
"types": "./src/modes/components/status-line/index.ts",
|
|
336
|
+
"import": "./src/modes/components/status-line/index.ts"
|
|
337
|
+
},
|
|
338
|
+
"./modes/components/status-line/*": {
|
|
339
|
+
"types": "./src/modes/components/status-line/*.ts",
|
|
340
|
+
"import": "./src/modes/components/status-line/*.ts"
|
|
341
|
+
},
|
|
342
|
+
"./modes/controllers/*": {
|
|
343
|
+
"types": "./src/modes/controllers/*.ts",
|
|
344
|
+
"import": "./src/modes/controllers/*.ts"
|
|
345
|
+
},
|
|
346
|
+
"./modes/rpc/*": {
|
|
347
|
+
"types": "./src/modes/rpc/*.ts",
|
|
348
|
+
"import": "./src/modes/rpc/*.ts"
|
|
349
|
+
},
|
|
350
|
+
"./modes/theme/*": {
|
|
351
|
+
"types": "./src/modes/theme/*.ts",
|
|
352
|
+
"import": "./src/modes/theme/*.ts"
|
|
353
|
+
},
|
|
354
|
+
"./modes/theme/defaults": {
|
|
355
|
+
"types": "./src/modes/theme/defaults/index.ts",
|
|
356
|
+
"import": "./src/modes/theme/defaults/index.ts"
|
|
357
|
+
},
|
|
358
|
+
"./modes/utils/*": {
|
|
359
|
+
"types": "./src/modes/utils/*.ts",
|
|
360
|
+
"import": "./src/modes/utils/*.ts"
|
|
361
|
+
},
|
|
362
|
+
"./patch": {
|
|
363
|
+
"types": "./src/patch/index.ts",
|
|
364
|
+
"import": "./src/patch/index.ts"
|
|
365
|
+
},
|
|
57
366
|
"./patch/*": {
|
|
58
367
|
"types": "./src/patch/*.ts",
|
|
59
368
|
"import": "./src/patch/*.ts"
|
|
60
369
|
},
|
|
61
|
-
"./
|
|
62
|
-
"types": "./src/
|
|
63
|
-
"import": "./src/
|
|
370
|
+
"./plan-mode/*": {
|
|
371
|
+
"types": "./src/plan-mode/*.ts",
|
|
372
|
+
"import": "./src/plan-mode/*.ts"
|
|
64
373
|
},
|
|
65
|
-
"
|
|
66
|
-
|
|
67
|
-
"
|
|
374
|
+
"./prompts/*": "./src/prompts/*.md",
|
|
375
|
+
"./secrets": {
|
|
376
|
+
"types": "./src/secrets/index.ts",
|
|
377
|
+
"import": "./src/secrets/index.ts"
|
|
378
|
+
},
|
|
379
|
+
"./secrets/*": {
|
|
380
|
+
"types": "./src/secrets/*.ts",
|
|
381
|
+
"import": "./src/secrets/*.ts"
|
|
382
|
+
},
|
|
383
|
+
"./session/*": {
|
|
384
|
+
"types": "./src/session/*.ts",
|
|
385
|
+
"import": "./src/session/*.ts"
|
|
386
|
+
},
|
|
387
|
+
"./session/compaction": {
|
|
388
|
+
"types": "./src/session/compaction/index.ts",
|
|
389
|
+
"import": "./src/session/compaction/index.ts"
|
|
390
|
+
},
|
|
391
|
+
"./session/compaction/*": {
|
|
392
|
+
"types": "./src/session/compaction/*.ts",
|
|
393
|
+
"import": "./src/session/compaction/*.ts"
|
|
394
|
+
},
|
|
395
|
+
"./slash-commands/*": {
|
|
396
|
+
"types": "./src/slash-commands/*.ts",
|
|
397
|
+
"import": "./src/slash-commands/*.ts"
|
|
398
|
+
},
|
|
399
|
+
"./ssh/*": {
|
|
400
|
+
"types": "./src/ssh/*.ts",
|
|
401
|
+
"import": "./src/ssh/*.ts"
|
|
402
|
+
},
|
|
403
|
+
"./stt": {
|
|
404
|
+
"types": "./src/stt/index.ts",
|
|
405
|
+
"import": "./src/stt/index.ts"
|
|
406
|
+
},
|
|
407
|
+
"./stt/*": {
|
|
408
|
+
"types": "./src/stt/*.ts",
|
|
409
|
+
"import": "./src/stt/*.ts"
|
|
410
|
+
},
|
|
411
|
+
"./task": {
|
|
412
|
+
"types": "./src/task/index.ts",
|
|
413
|
+
"import": "./src/task/index.ts"
|
|
414
|
+
},
|
|
415
|
+
"./task/*": {
|
|
416
|
+
"types": "./src/task/*.ts",
|
|
417
|
+
"import": "./src/task/*.ts"
|
|
418
|
+
},
|
|
419
|
+
"./tools": {
|
|
420
|
+
"types": "./src/tools/index.ts",
|
|
421
|
+
"import": "./src/tools/index.ts"
|
|
422
|
+
},
|
|
423
|
+
"./tools/*": {
|
|
424
|
+
"types": "./src/tools/*.ts",
|
|
425
|
+
"import": "./src/tools/*.ts"
|
|
426
|
+
},
|
|
427
|
+
"./tui": {
|
|
428
|
+
"types": "./src/tui/index.ts",
|
|
429
|
+
"import": "./src/tui/index.ts"
|
|
430
|
+
},
|
|
431
|
+
"./tui/*": {
|
|
432
|
+
"types": "./src/tui/*.ts",
|
|
433
|
+
"import": "./src/tui/*.ts"
|
|
434
|
+
},
|
|
435
|
+
"./utils/*": {
|
|
436
|
+
"types": "./src/utils/*.ts",
|
|
437
|
+
"import": "./src/utils/*.ts"
|
|
438
|
+
},
|
|
439
|
+
"./web/scrapers": {
|
|
440
|
+
"types": "./src/web/scrapers/index.ts",
|
|
441
|
+
"import": "./src/web/scrapers/index.ts"
|
|
442
|
+
},
|
|
443
|
+
"./web/scrapers/*": {
|
|
444
|
+
"types": "./src/web/scrapers/*.ts",
|
|
445
|
+
"import": "./src/web/scrapers/*.ts"
|
|
446
|
+
},
|
|
447
|
+
"./web/search": {
|
|
448
|
+
"types": "./src/web/search/index.ts",
|
|
449
|
+
"import": "./src/web/search/index.ts"
|
|
450
|
+
},
|
|
451
|
+
"./web/search/*": {
|
|
452
|
+
"types": "./src/web/search/*.ts",
|
|
453
|
+
"import": "./src/web/search/*.ts"
|
|
454
|
+
},
|
|
455
|
+
"./web/search/providers/*": {
|
|
456
|
+
"types": "./src/web/search/providers/*.ts",
|
|
457
|
+
"import": "./src/web/search/providers/*.ts"
|
|
68
458
|
}
|
|
69
|
-
}
|
|
70
|
-
"files": [
|
|
71
|
-
"src",
|
|
72
|
-
"scripts",
|
|
73
|
-
"examples",
|
|
74
|
-
"README.md",
|
|
75
|
-
"CHANGELOG.md"
|
|
76
|
-
],
|
|
77
|
-
"scripts": {
|
|
78
|
-
"check": "tsgo -p tsconfig.json",
|
|
79
|
-
"format-prompts": "bun scripts/format-prompts.ts",
|
|
80
|
-
"generate-docs-index": "bun scripts/generate-docs-index.ts",
|
|
81
|
-
"prepack": "bun scripts/generate-docs-index.ts",
|
|
82
|
-
"build:binary": "cd ../.. && bun --cwd=packages/stats scripts/generate-client-bundle.ts && bun --cwd=packages/natives run embed:native && bun build --compile --define PI_COMPILED=true --root . ./packages/coding-agent/src/cli.ts --outfile packages/coding-agent/dist/omp && bun --cwd=packages/natives run embed:native --reset && bun --cwd=packages/stats scripts/generate-client-bundle.ts --reset",
|
|
83
|
-
"generate-template": "bun scripts/generate-template.ts",
|
|
84
|
-
"test": "bun test"
|
|
85
|
-
},
|
|
86
|
-
"dependencies": {
|
|
87
|
-
"@mozilla/readability": "0.6.0",
|
|
88
|
-
"@oh-my-pi/omp-stats": "12.17.0",
|
|
89
|
-
"@oh-my-pi/pi-agent-core": "12.17.0",
|
|
90
|
-
"@oh-my-pi/pi-ai": "12.17.0",
|
|
91
|
-
"@oh-my-pi/pi-natives": "12.17.0",
|
|
92
|
-
"@oh-my-pi/pi-tui": "12.17.0",
|
|
93
|
-
"@oh-my-pi/pi-utils": "12.17.0",
|
|
94
|
-
"@sinclair/typebox": "^0.34.48",
|
|
95
|
-
"@xterm/headless": "^6.0.0",
|
|
96
|
-
"ajv": "^8.18.0",
|
|
97
|
-
"chalk": "^5.6.2",
|
|
98
|
-
"diff": "^8.0.3",
|
|
99
|
-
"file-type": "^21.3.0",
|
|
100
|
-
"glob": "^13.0.3",
|
|
101
|
-
"handlebars": "^4.7.8",
|
|
102
|
-
"ignore": "^7.0.5",
|
|
103
|
-
"linkedom": "^0.18.12",
|
|
104
|
-
"marked": "^17.0.2",
|
|
105
|
-
"node-html-parser": "^7.0.2",
|
|
106
|
-
"puppeteer": "^24.37.3",
|
|
107
|
-
"smol-toml": "^1.6.0",
|
|
108
|
-
"zod": "^4.3.6"
|
|
109
|
-
},
|
|
110
|
-
"devDependencies": {
|
|
111
|
-
"@types/bun": "^1.3.9",
|
|
112
|
-
"@types/ms": "^2.1.0",
|
|
113
|
-
"ms": "^2.1.3"
|
|
114
|
-
},
|
|
115
|
-
"keywords": [
|
|
116
|
-
"coding-agent",
|
|
117
|
-
"ai",
|
|
118
|
-
"llm",
|
|
119
|
-
"cli",
|
|
120
|
-
"tui",
|
|
121
|
-
"agent"
|
|
122
|
-
],
|
|
123
|
-
"author": "Can Bölük",
|
|
124
|
-
"contributors": ["Mario Zechner"],
|
|
125
|
-
"license": "MIT",
|
|
126
|
-
"repository": {
|
|
127
|
-
"type": "git",
|
|
128
|
-
"url": "git+https://github.com/can1357/oh-my-pi.git",
|
|
129
|
-
"directory": "packages/coding-agent"
|
|
130
|
-
},
|
|
131
|
-
"homepage": "https://github.com/can1357/oh-my-pi",
|
|
132
|
-
"bugs": {
|
|
133
|
-
"url": "https://github.com/can1357/oh-my-pi/issues"
|
|
134
|
-
},
|
|
135
|
-
"engines": {
|
|
136
|
-
"bun": ">=1.3.7"
|
|
137
|
-
}
|
|
459
|
+
}
|
|
138
460
|
}
|
package/src/capability/index.ts
CHANGED
|
@@ -8,12 +8,9 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import * as os from "node:os";
|
|
10
10
|
import * as path from "node:path";
|
|
11
|
-
import {
|
|
11
|
+
import { logger } from "@oh-my-pi/pi-utils";
|
|
12
12
|
import { getProjectDir } from "@oh-my-pi/pi-utils/dirs";
|
|
13
13
|
|
|
14
|
-
/** Conditional startup debug prints (stderr) when PI_DEBUG_STARTUP is set */
|
|
15
|
-
const debugStartup = $env.PI_DEBUG_STARTUP ? (stage: string) => process.stderr.write(`[startup] ${stage}\n`) : () => {};
|
|
16
|
-
|
|
17
14
|
import type { Settings } from "../config/settings";
|
|
18
15
|
import { clearCache as clearFsCache, cacheStats as fsCacheStats, invalidate as invalidateFs } from "./fs";
|
|
19
16
|
import type {
|
|
@@ -115,12 +112,12 @@ async function loadImpl<T>(
|
|
|
115
112
|
const results = await Promise.all(
|
|
116
113
|
providers.map(async provider => {
|
|
117
114
|
try {
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
115
|
+
const result = await logger.timeAsync(`capability:${capability.id}:${provider.id}`, () =>
|
|
116
|
+
provider.load(ctx),
|
|
117
|
+
);
|
|
121
118
|
return { provider, result };
|
|
122
119
|
} catch (error) {
|
|
123
|
-
|
|
120
|
+
logger.debug(`capability:${capability.id}:${provider.id}:error`);
|
|
124
121
|
return { provider, error };
|
|
125
122
|
}
|
|
126
123
|
}),
|
package/src/cli/stats-cli.ts
CHANGED
|
@@ -85,9 +85,9 @@ function formatPercent(n: number): string {
|
|
|
85
85
|
|
|
86
86
|
export async function runStatsCommand(cmd: StatsCommandArgs): Promise<void> {
|
|
87
87
|
// Lazy import to avoid loading stats module when not needed
|
|
88
|
-
const { getDashboardStats, syncAllSessions, getTotalMessageCount } = await import(
|
|
89
|
-
|
|
90
|
-
|
|
88
|
+
const { getDashboardStats, syncAllSessions, getTotalMessageCount, startServer, closeDb } = await import(
|
|
89
|
+
"@oh-my-pi/omp-stats"
|
|
90
|
+
);
|
|
91
91
|
|
|
92
92
|
// Sync session files first
|
|
93
93
|
console.log("Syncing session files...");
|