@pencil-agent/nano-pencil 2.0.0-beta.4 → 2.0.0-beta.7

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 (811) hide show
  1. package/dist/build-meta.json +4 -4
  2. package/dist/builtin-extensions.js +1 -319
  3. package/dist/cli/args.d.ts +1 -0
  4. package/dist/cli/args.js +35 -324
  5. package/dist/cli/config-selector.js +1 -33
  6. package/dist/cli/file-processor.js +6 -81
  7. package/dist/cli/list-models.d.ts +9 -2
  8. package/dist/cli/list-models.js +2 -88
  9. package/dist/cli/session-picker.js +1 -36
  10. package/dist/cli.js +1 -37
  11. package/dist/config.js +1 -326
  12. package/dist/core/agent-dir/agent-dir-context.js +1 -84
  13. package/dist/core/agent-dir/agent-metadata.js +1 -68
  14. package/dist/core/agent-dir/migration-tool.js +7 -179
  15. package/dist/core/export-html/ansi-to-html.js +2 -242
  16. package/dist/core/export-html/index.js +2 -221
  17. package/dist/core/export-html/template.js +48 -1568
  18. package/dist/core/export-html/tool-renderer.js +1 -50
  19. package/dist/core/export-html/vendor/highlight.min.js +4 -1213
  20. package/dist/core/export-html/vendor/marked.min.js +56 -6
  21. package/dist/core/extensions-host/index.js +1 -11
  22. package/dist/core/extensions-host/loader.js +1 -488
  23. package/dist/core/extensions-host/runner.js +3 -903
  24. package/dist/core/extensions-host/types.d.ts +11 -6
  25. package/dist/core/extensions-host/types.js +1 -25
  26. package/dist/core/extensions-host/wrapper.js +2 -114
  27. package/dist/core/index.js +1 -19
  28. package/dist/{node_modules/@pencil-agent/agent-core/dist → core/lib/agent-core/src}/types.d.ts +2 -2
  29. package/dist/core/lib/agent-core/src/types.js +1 -0
  30. package/dist/{node_modules/@pencil-agent/ai/dist → core/lib/ai/src}/types.d.ts +17 -2
  31. package/dist/core/lib/ai/src/types.js +0 -0
  32. package/dist/core/lib/ai/src/utils/event-stream-types.js +0 -0
  33. package/dist/core/mcp/figma-auth.js +4 -490
  34. package/dist/core/mcp/index.js +1 -9
  35. package/dist/core/mcp/mcp-adapter.js +3 -116
  36. package/dist/core/mcp/mcp-client.js +6 -839
  37. package/dist/core/mcp/mcp-config.js +1 -262
  38. package/dist/core/mcp/mcp-guidance.js +13 -107
  39. package/dist/core/mcp/mcp-manager.js +1 -98
  40. package/dist/core/mcp/mcp-types.js +0 -7
  41. package/dist/core/messages.js +13 -116
  42. package/dist/core/model/custom-providers.d.ts +5 -1
  43. package/dist/core/model/custom-providers.js +1 -171
  44. package/dist/core/model/discovery-cache.d.ts +65 -0
  45. package/dist/core/model/discovery-cache.js +1 -0
  46. package/dist/core/model/discovery-cache.test.d.ts +7 -0
  47. package/dist/core/model/discovery-cache.test.js +1 -0
  48. package/dist/core/model/discovery.d.ts +79 -0
  49. package/dist/core/model/discovery.js +1 -0
  50. package/dist/core/model/discovery.test.d.ts +7 -0
  51. package/dist/core/model/discovery.test.js +1 -0
  52. package/dist/core/model/index.d.ts +4 -1
  53. package/dist/core/model/index.js +1 -7
  54. package/dist/core/model/known-models.d.ts +65 -0
  55. package/dist/core/model/known-models.generated.d.ts +2 -0
  56. package/dist/core/model/known-models.generated.js +1 -0
  57. package/dist/core/model/known-models.js +1 -0
  58. package/dist/core/model/switcher.js +1 -149
  59. package/dist/core/model-registry.d.ts +50 -0
  60. package/dist/core/model-registry.js +9 -620
  61. package/dist/core/model-resolver.js +1 -431
  62. package/dist/core/package-manager.js +3 -1449
  63. package/dist/core/persona/persona-manager.d.ts +2 -0
  64. package/dist/core/persona/persona-manager.js +2 -153
  65. package/dist/core/platform/abort-slot.js +1 -39
  66. package/dist/core/platform/config/auth-storage.js +1 -395
  67. package/dist/core/platform/config/defaults.js +1 -1
  68. package/dist/core/platform/config/diagnostics.js +0 -1
  69. package/dist/core/platform/config/resolve-config-value.js +1 -60
  70. package/dist/core/platform/config/resource-loader.js +2 -715
  71. package/dist/core/platform/config/settings-manager.js +1 -950
  72. package/dist/core/platform/exec/bash-executor.js +1 -211
  73. package/dist/core/platform/exec/exec.js +1 -73
  74. package/dist/core/platform/i18n/index.js +1 -63
  75. package/dist/core/platform/i18n/messages.js +1 -78
  76. package/dist/core/platform/i18n/messages.zh.js +1 -78
  77. package/dist/core/platform/i18n/slash-commands.js +1 -53
  78. package/dist/core/platform/i18n/slash-commands.zh.js +1 -53
  79. package/dist/core/platform/i18n/themes.js +1 -11
  80. package/dist/core/platform/i18n/themes.zh.js +1 -11
  81. package/dist/core/platform/keybindings.js +1 -162
  82. package/dist/core/platform/listeners.js +1 -37
  83. package/dist/core/platform/telemetry/batching-dispatcher.js +1 -89
  84. package/dist/core/platform/telemetry/build-meta.js +1 -57
  85. package/dist/core/platform/telemetry/caller-context.js +1 -19
  86. package/dist/core/platform/telemetry/credentials.js +1 -87
  87. package/dist/core/platform/telemetry/ext-events.js +1 -189
  88. package/dist/core/platform/telemetry/index.js +1 -6
  89. package/dist/core/platform/telemetry/insforge-base.js +1 -160
  90. package/dist/core/platform/telemetry/types.js +0 -7
  91. package/dist/core/platform/timings.js +3 -26
  92. package/dist/core/platform/utils/logger.js +1 -119
  93. package/dist/core/platform/utils/shell.js +9 -191
  94. package/dist/core/platform/utils/sleep.js +1 -23
  95. package/dist/core/platform/utils/tools-manager.js +1 -324
  96. package/dist/core/prompt/prompt-templates.js +2 -256
  97. package/dist/core/prompt/system-prompt.js +44 -155
  98. package/dist/core/runtime/agent-session.d.ts +56 -2
  99. package/dist/core/runtime/agent-session.js +15 -1777
  100. package/dist/core/runtime/bash-runner.js +2 -96
  101. package/dist/core/runtime/compaction-controller.js +1 -230
  102. package/dist/core/runtime/default-tools.js +1 -10
  103. package/dist/core/runtime/event-bridge.js +1 -99
  104. package/dist/core/runtime/event-bus.js +1 -31
  105. package/dist/core/runtime/export-bridge.js +1 -46
  106. package/dist/core/runtime/extension-core-bindings.js +3 -231
  107. package/dist/core/runtime/model-controller.js +1 -227
  108. package/dist/core/runtime/model-cycle.js +1 -26
  109. package/dist/core/runtime/pencil-agent.js +1 -303
  110. package/dist/core/runtime/prompt-assembly.js +3 -29
  111. package/dist/core/runtime/retry-coordinator.js +1 -151
  112. package/dist/core/runtime/sdk.d.ts +8 -0
  113. package/dist/core/runtime/sdk.js +1 -421
  114. package/dist/core/runtime/session-context.js +0 -12
  115. package/dist/core/runtime/session-lifecycle-controller.js +1 -158
  116. package/dist/core/runtime/session-tree-controller.js +1 -187
  117. package/dist/core/runtime/slash-command-catalog.js +1 -83
  118. package/dist/core/runtime/thinking-levels.js +1 -63
  119. package/dist/core/runtime/tool-runtime-controller.js +1 -79
  120. package/dist/core/runtime/turn-context.js +1 -39
  121. package/dist/core/session/compaction/branch-summarization.js +10 -207
  122. package/dist/core/session/compaction/compaction.js +26 -522
  123. package/dist/core/session/compaction/index.js +1 -9
  124. package/dist/core/session/compaction/utils.js +16 -133
  125. package/dist/core/session/session-manager.js +14 -1156
  126. package/dist/core/skills.js +4 -373
  127. package/dist/core/slash-commands.js +1 -90
  128. package/dist/core/soul-integration.js +1 -250
  129. package/dist/core/soul-options-contract.js +0 -7
  130. package/dist/core/sub-agent/agent-definition-loader.d.ts +96 -0
  131. package/dist/core/sub-agent/agent-definition-loader.js +2 -0
  132. package/dist/core/sub-agent/agent-definition.d.ts +162 -0
  133. package/dist/core/sub-agent/agent-definition.js +6 -0
  134. package/dist/core/sub-agent/agent-handoff-safety.d.ts +39 -0
  135. package/dist/core/sub-agent/agent-handoff-safety.js +1 -0
  136. package/dist/core/sub-agent/agent-input-output.d.ts +143 -0
  137. package/dist/core/sub-agent/agent-input-output.js +1 -0
  138. package/dist/core/sub-agent/agent-output-persistence.d.ts +43 -0
  139. package/dist/core/sub-agent/agent-output-persistence.js +3 -0
  140. package/dist/core/sub-agent/agent-prompt-builder.d.ts +37 -0
  141. package/dist/core/sub-agent/agent-prompt-builder.js +2 -0
  142. package/dist/core/sub-agent/agent-registry.d.ts +145 -0
  143. package/dist/core/sub-agent/agent-registry.js +1 -0
  144. package/dist/core/sub-agent/agent-result-extractor.d.ts +28 -0
  145. package/dist/core/sub-agent/agent-result-extractor.js +3 -0
  146. package/dist/core/sub-agent/agent-telemetry.d.ts +71 -0
  147. package/dist/core/sub-agent/agent-telemetry.js +1 -0
  148. package/dist/core/sub-agent/agent-tool-filter.d.ts +89 -0
  149. package/dist/core/sub-agent/agent-tool-filter.js +2 -0
  150. package/dist/core/sub-agent/agent-tool.d.ts +69 -0
  151. package/dist/core/sub-agent/agent-tool.js +11 -0
  152. package/dist/core/sub-agent/index.d.ts +19 -4
  153. package/dist/core/sub-agent/index.js +1 -9
  154. package/dist/core/sub-agent/send-message-tool.d.ts +33 -0
  155. package/dist/core/sub-agent/send-message-tool.js +2 -0
  156. package/dist/core/sub-agent/sub-agent-backend.d.ts +12 -0
  157. package/dist/core/sub-agent/sub-agent-backend.js +7 -225
  158. package/dist/core/sub-agent/sub-agent-runtime.d.ts +1 -5
  159. package/dist/core/sub-agent/sub-agent-runtime.js +1 -54
  160. package/dist/core/sub-agent/sub-agent-types.d.ts +16 -0
  161. package/dist/core/sub-agent/sub-agent-types.js +0 -8
  162. package/dist/core/sub-agent/subprocess-backend.js +1 -104
  163. package/dist/core/sub-agent/subprocess-worker.js +1 -40
  164. package/dist/core/theme-contract.js +0 -12
  165. package/dist/core/tools/bash.d.ts +8 -2
  166. package/dist/core/tools/bash.js +21 -424
  167. package/dist/core/tools/edit-diff.js +16 -244
  168. package/dist/core/tools/edit.js +1 -146
  169. package/dist/core/tools/file-state-cache.d.ts +30 -0
  170. package/dist/core/tools/file-state-cache.js +1 -0
  171. package/dist/core/tools/find.d.ts +2 -0
  172. package/dist/core/tools/find.js +8 -208
  173. package/dist/core/tools/grep.d.ts +14 -0
  174. package/dist/core/tools/grep.js +13 -248
  175. package/dist/core/tools/index.d.ts +14 -1
  176. package/dist/core/tools/index.js +1 -109
  177. package/dist/core/tools/input-validation.js +1 -14
  178. package/dist/core/tools/ls.js +4 -125
  179. package/dist/core/tools/orchestrator.js +1 -102
  180. package/dist/core/tools/path-utils.js +1 -86
  181. package/dist/core/tools/pdf-extract.d.ts +11 -0
  182. package/dist/core/tools/pdf-extract.js +1 -0
  183. package/dist/core/tools/read.d.ts +2 -0
  184. package/dist/core/tools/read.js +11 -169
  185. package/dist/core/tools/source.js +1 -96
  186. package/dist/core/tools/time.js +2 -51
  187. package/dist/core/tools/truncate.js +5 -201
  188. package/dist/core/tools/write-guard.js +1 -26
  189. package/dist/core/tools/write.js +1 -78
  190. package/dist/core/workspace/index.js +1 -7
  191. package/dist/core/workspace/worktree-manager.js +3 -374
  192. package/dist/extensions/builtin/AGENT.md +10 -0
  193. package/dist/extensions/builtin/ask-user-question/ask-user-question-tool.d.ts +9 -0
  194. package/dist/extensions/builtin/ask-user-question/ask-user-question-tool.js +4 -0
  195. package/dist/extensions/builtin/ask-user-question/index.d.ts +8 -0
  196. package/dist/extensions/builtin/ask-user-question/index.js +1 -0
  197. package/dist/extensions/builtin/ask-user-question/prompt.d.ts +14 -0
  198. package/dist/extensions/builtin/ask-user-question/prompt.js +30 -0
  199. package/dist/extensions/builtin/ask-user-question/types.d.ts +69 -0
  200. package/dist/extensions/builtin/ask-user-question/types.js +1 -0
  201. package/dist/extensions/builtin/browser/index.js +15 -404
  202. package/dist/extensions/builtin/btw/index.js +9 -111
  203. package/dist/extensions/builtin/debug/collectors.js +7 -315
  204. package/dist/extensions/builtin/debug/index.js +24 -253
  205. package/dist/extensions/builtin/diagnostics/diagnostic-buffer.js +1 -139
  206. package/dist/extensions/builtin/diagnostics/index.js +1 -120
  207. package/dist/extensions/builtin/diagnostics/redaction.js +1 -45
  208. package/dist/extensions/builtin/diagnostics/reporter.js +1 -204
  209. package/dist/extensions/builtin/diagnostics/types.js +1 -7
  210. package/dist/extensions/builtin/discipline/index.js +7 -117
  211. package/dist/extensions/builtin/goal/README.md +67 -0
  212. package/dist/extensions/builtin/goal/goal-command.d.ts +13 -0
  213. package/dist/extensions/builtin/goal/goal-command.js +9 -0
  214. package/dist/extensions/builtin/goal/goal-controller.d.ts +114 -0
  215. package/dist/extensions/builtin/goal/goal-controller.js +1 -0
  216. package/dist/extensions/builtin/goal/goal-format.d.ts +52 -0
  217. package/dist/extensions/builtin/goal/goal-format.js +1 -0
  218. package/dist/extensions/builtin/goal/goal-parser.d.ts +27 -0
  219. package/dist/extensions/builtin/goal/goal-parser.js +2 -0
  220. package/dist/extensions/builtin/goal/goal-prompts.d.ts +13 -0
  221. package/dist/extensions/builtin/goal/goal-prompts.js +4 -0
  222. package/dist/extensions/builtin/goal/goal-store.d.ts +28 -0
  223. package/dist/extensions/builtin/goal/goal-store.js +1 -0
  224. package/dist/extensions/builtin/goal/goal-tools.d.ts +26 -0
  225. package/dist/extensions/builtin/goal/goal-tools.js +3 -0
  226. package/dist/extensions/builtin/goal/goal-types.d.ts +87 -0
  227. package/dist/extensions/builtin/goal/goal-types.js +1 -0
  228. package/dist/extensions/builtin/goal/index.d.ts +8 -0
  229. package/dist/extensions/builtin/goal/index.js +7 -0
  230. package/dist/extensions/builtin/grub/README.md +11 -0
  231. package/dist/extensions/builtin/grub/grub-controller.d.ts +2 -1
  232. package/dist/extensions/builtin/grub/grub-controller.js +1 -345
  233. package/dist/extensions/builtin/grub/grub-decision.js +1 -42
  234. package/dist/extensions/builtin/grub/grub-feature-list.d.ts +18 -0
  235. package/dist/extensions/builtin/grub/grub-feature-list.js +2 -213
  236. package/dist/extensions/builtin/grub/grub-format.js +4 -87
  237. package/dist/extensions/builtin/grub/grub-harness.js +3 -71
  238. package/dist/extensions/builtin/grub/grub-i18n.js +1 -198
  239. package/dist/extensions/builtin/grub/grub-parser.js +2 -164
  240. package/dist/extensions/builtin/grub/grub-persistence.js +2 -231
  241. package/dist/extensions/builtin/grub/grub-prompts.js +34 -92
  242. package/dist/extensions/builtin/grub/grub-turn.js +1 -61
  243. package/dist/extensions/builtin/grub/grub-types.d.ts +6 -0
  244. package/dist/extensions/builtin/grub/grub-types.js +1 -2
  245. package/dist/extensions/builtin/grub/index.js +6 -295
  246. package/dist/extensions/builtin/idle-think/curiosity.js +2 -137
  247. package/dist/extensions/builtin/idle-think/idle-think-runtime.js +1 -148
  248. package/dist/extensions/builtin/idle-think/index.js +1 -48
  249. package/dist/extensions/builtin/idle-think/insights.js +5 -131
  250. package/dist/extensions/builtin/idle-think/thinker.js +9 -208
  251. package/dist/extensions/builtin/insights/html-report.d.ts +21 -0
  252. package/dist/extensions/builtin/insights/html-report.js +463 -0
  253. package/dist/extensions/builtin/insights/index.d.ts +24 -0
  254. package/dist/extensions/builtin/insights/index.js +2 -0
  255. package/dist/extensions/builtin/insights/insights-engine.d.ts +18 -0
  256. package/dist/extensions/builtin/insights/insights-engine.js +39 -0
  257. package/dist/extensions/builtin/insights/prompts.d.ts +17 -0
  258. package/dist/extensions/builtin/insights/prompts.js +180 -0
  259. package/dist/extensions/builtin/insights/session-scanner.d.ts +27 -0
  260. package/dist/extensions/builtin/insights/session-scanner.js +19 -0
  261. package/dist/extensions/builtin/insights/stats.d.ts +13 -0
  262. package/dist/extensions/builtin/insights/stats.js +1 -0
  263. package/dist/extensions/builtin/insights/types.d.ts +199 -0
  264. package/dist/extensions/builtin/insights/types.js +0 -0
  265. package/dist/extensions/builtin/link-world/index.js +19 -431
  266. package/dist/extensions/builtin/loop/cron/cron-parser.d.ts +42 -29
  267. package/dist/extensions/builtin/loop/cron/cron-parser.js +1 -226
  268. package/dist/extensions/builtin/loop/cron/cron-scheduler.d.ts +75 -46
  269. package/dist/extensions/builtin/loop/cron/cron-scheduler.js +10 -329
  270. package/dist/extensions/builtin/loop/cron/cron-tasks-lock.d.ts +42 -0
  271. package/dist/extensions/builtin/loop/cron/cron-tasks-lock.js +1 -0
  272. package/dist/extensions/builtin/loop/cron/cron-tasks.d.ts +182 -69
  273. package/dist/extensions/builtin/loop/cron/cron-tasks.js +2 -425
  274. package/dist/extensions/builtin/loop/cron/index.d.ts +16 -10
  275. package/dist/extensions/builtin/loop/cron/index.js +1 -10
  276. package/dist/extensions/builtin/loop/cron-tools/cron-create-tool.d.ts +9 -4
  277. package/dist/extensions/builtin/loop/cron-tools/cron-create-tool.js +1 -71
  278. package/dist/extensions/builtin/loop/cron-tools/cron-delete-tool.d.ts +9 -4
  279. package/dist/extensions/builtin/loop/cron-tools/cron-delete-tool.js +1 -56
  280. package/dist/extensions/builtin/loop/cron-tools/cron-list-tool.d.ts +9 -4
  281. package/dist/extensions/builtin/loop/cron-tools/cron-list-tool.js +2 -79
  282. package/dist/extensions/builtin/loop/cron-tools/index.d.ts +9 -4
  283. package/dist/extensions/builtin/loop/cron-tools/index.js +1 -9
  284. package/dist/extensions/builtin/loop/cron-tools/prompt.d.ts +35 -0
  285. package/dist/extensions/builtin/loop/cron-tools/prompt.js +38 -0
  286. package/dist/extensions/builtin/loop/index.d.ts +14 -3
  287. package/dist/extensions/builtin/loop/index.js +2 -476
  288. package/dist/extensions/builtin/loop/loop-skill.d.ts +18 -0
  289. package/dist/extensions/builtin/loop/loop-skill.js +58 -0
  290. package/dist/extensions/builtin/lsp/index.d.ts +8 -0
  291. package/dist/extensions/builtin/lsp/index.js +1 -0
  292. package/dist/extensions/builtin/lsp/lsp-client.d.ts +22 -0
  293. package/dist/extensions/builtin/lsp/lsp-client.js +1 -0
  294. package/dist/extensions/builtin/lsp/lsp-config.d.ts +8 -0
  295. package/dist/extensions/builtin/lsp/lsp-config.js +1 -0
  296. package/dist/extensions/builtin/lsp/lsp-formatters.d.ts +15 -0
  297. package/dist/extensions/builtin/lsp/lsp-formatters.js +18 -0
  298. package/dist/extensions/builtin/lsp/lsp-server-instance.d.ts +24 -0
  299. package/dist/extensions/builtin/lsp/lsp-server-instance.js +1 -0
  300. package/dist/extensions/builtin/lsp/lsp-server-manager.d.ts +21 -0
  301. package/dist/extensions/builtin/lsp/lsp-server-manager.js +1 -0
  302. package/dist/extensions/builtin/lsp/lsp-tool.d.ts +33 -0
  303. package/dist/extensions/builtin/lsp/lsp-tool.js +2 -0
  304. package/dist/extensions/builtin/lsp/types.d.ts +31 -0
  305. package/dist/extensions/builtin/lsp/types.js +1 -0
  306. package/dist/extensions/builtin/mcp/index.js +25 -385
  307. package/dist/extensions/builtin/plan/clear-context-state.d.ts +8 -0
  308. package/dist/extensions/builtin/plan/clear-context-state.js +1 -0
  309. package/dist/extensions/builtin/plan/enter-plan-mode-tool.d.ts +3 -1
  310. package/dist/extensions/builtin/plan/enter-plan-mode-tool.js +2 -64
  311. package/dist/extensions/builtin/plan/exit-plan-mode-tool.d.ts +10 -1
  312. package/dist/extensions/builtin/plan/exit-plan-mode-tool.js +13 -147
  313. package/dist/extensions/builtin/plan/index.js +24 -365
  314. package/dist/extensions/builtin/plan/plan-agents.js +8 -62
  315. package/dist/extensions/builtin/plan/plan-file-manager.js +1 -292
  316. package/dist/extensions/builtin/plan/plan-permissions.js +12 -234
  317. package/dist/extensions/builtin/plan/plan-validation.js +5 -77
  318. package/dist/extensions/builtin/plan/plan-workflow-prompt.d.ts +10 -4
  319. package/dist/extensions/builtin/plan/plan-workflow-prompt.js +60 -126
  320. package/dist/extensions/builtin/plan/teammate-approval.js +3 -134
  321. package/dist/extensions/builtin/plan/types.d.ts +11 -0
  322. package/dist/extensions/builtin/plan/types.js +1 -17
  323. package/dist/extensions/builtin/presence/index.d.ts +7 -0
  324. package/dist/extensions/builtin/presence/index.js +15 -708
  325. package/dist/extensions/builtin/presence/presence-memory.js +1 -203
  326. package/dist/extensions/builtin/recap/{CLAUDE.md → AGENT.md} +2 -2
  327. package/dist/extensions/builtin/recap/index.js +1 -116
  328. package/dist/extensions/builtin/recap/recap-budget.js +1 -21
  329. package/dist/extensions/builtin/recap/recap-extractor.js +3 -128
  330. package/dist/extensions/builtin/recap/recap-renderer.js +2 -55
  331. package/dist/extensions/builtin/recap/recap-synthesizer.js +12 -106
  332. package/dist/extensions/builtin/recap/recap-types.js +1 -16
  333. package/dist/extensions/builtin/sal/anchors.js +1 -248
  334. package/dist/extensions/builtin/sal/eval/index.js +1 -75
  335. package/dist/extensions/builtin/sal/eval/insforge-sink.js +1 -293
  336. package/dist/extensions/builtin/sal/eval/jsonl-sink.js +3 -93
  337. package/dist/extensions/builtin/sal/eval/noop-sink.js +1 -12
  338. package/dist/extensions/builtin/sal/eval/types.js +1 -21
  339. package/dist/extensions/builtin/sal/index.js +7 -720
  340. package/dist/extensions/builtin/sal/sal-config.js +1 -99
  341. package/dist/extensions/builtin/sal/sal-context.js +2 -94
  342. package/dist/extensions/builtin/sal/sal-runtime.js +0 -7
  343. package/dist/extensions/builtin/sal/sal-trace.js +1 -140
  344. package/dist/extensions/builtin/sal/terrain.js +3 -364
  345. package/dist/extensions/builtin/sal/weights.js +1 -48
  346. package/dist/extensions/builtin/security-audit/engine/detector.js +1 -251
  347. package/dist/extensions/builtin/security-audit/engine/interceptor.js +15 -194
  348. package/dist/extensions/builtin/security-audit/engine/logger.js +14 -225
  349. package/dist/extensions/builtin/security-audit/index.js +49 -264
  350. package/dist/extensions/builtin/security-audit/interface.js +1 -78
  351. package/dist/extensions/builtin/soul/index.js +1 -16
  352. package/dist/extensions/builtin/subagent/index.js +8 -214
  353. package/dist/extensions/builtin/subagent/subagent-parser.js +2 -76
  354. package/dist/extensions/builtin/subagent/subagent-runner.js +8 -275
  355. package/dist/extensions/builtin/subagent/subagent-types.js +0 -7
  356. package/dist/extensions/builtin/task/index.d.ts +8 -0
  357. package/dist/extensions/builtin/task/index.js +1 -0
  358. package/dist/extensions/builtin/task/task-store.d.ts +38 -0
  359. package/dist/extensions/builtin/task/task-store.js +1 -0
  360. package/dist/extensions/builtin/task/task-tools/task-create-tool.d.ts +37 -0
  361. package/dist/extensions/builtin/task/task-tools/task-create-tool.js +40 -0
  362. package/dist/extensions/builtin/task/task-tools/task-get-tool.d.ts +31 -0
  363. package/dist/extensions/builtin/task/task-tools/task-get-tool.js +23 -0
  364. package/dist/extensions/builtin/task/task-tools/task-list-tool.d.ts +27 -0
  365. package/dist/extensions/builtin/task/task-tools/task-list-tool.js +22 -0
  366. package/dist/extensions/builtin/task/task-tools/task-output-tool.d.ts +32 -0
  367. package/dist/extensions/builtin/task/task-tools/task-output-tool.js +10 -0
  368. package/dist/extensions/builtin/task/task-tools/task-stop-tool.d.ts +31 -0
  369. package/dist/extensions/builtin/task/task-tools/task-stop-tool.js +5 -0
  370. package/dist/extensions/builtin/task/task-tools/task-update-tool.d.ts +47 -0
  371. package/dist/extensions/builtin/task/task-tools/task-update-tool.js +77 -0
  372. package/dist/extensions/builtin/task/task-tools/tool-search-tool.d.ts +34 -0
  373. package/dist/extensions/builtin/task/task-tools/tool-search-tool.js +14 -0
  374. package/dist/extensions/builtin/task/task-types.d.ts +30 -0
  375. package/dist/extensions/builtin/task/task-types.js +1 -0
  376. package/dist/extensions/builtin/teach/README.md +197 -0
  377. package/dist/extensions/builtin/teach/index.d.ts +12 -0
  378. package/dist/extensions/builtin/teach/index.js +6 -0
  379. package/dist/extensions/builtin/teach/references/analogy-library.md +153 -0
  380. package/dist/extensions/builtin/teach/references/learning-paths.md +214 -0
  381. package/dist/extensions/builtin/teach/references/source-verification.md +268 -0
  382. package/dist/extensions/builtin/teach/references/teaching-template.md +237 -0
  383. package/dist/extensions/builtin/teach/teach-format.d.ts +35 -0
  384. package/dist/extensions/builtin/teach/teach-format.js +6 -0
  385. package/dist/extensions/builtin/teach/teach-i18n.d.ts +47 -0
  386. package/dist/extensions/builtin/teach/teach-i18n.js +1 -0
  387. package/dist/extensions/builtin/teach/teach-persistence.d.ts +36 -0
  388. package/dist/extensions/builtin/teach/teach-persistence.js +35 -0
  389. package/dist/extensions/builtin/teach/teach-prompts.d.ts +52 -0
  390. package/dist/extensions/builtin/teach/teach-prompts.js +35 -0
  391. package/dist/extensions/builtin/teach/teach-runtime.d.ts +93 -0
  392. package/dist/extensions/builtin/teach/teach-runtime.js +9 -0
  393. package/dist/extensions/builtin/teach/teach-types.d.ts +81 -0
  394. package/dist/extensions/builtin/teach/teach-types.js +0 -0
  395. package/dist/extensions/builtin/team/index.js +11 -626
  396. package/dist/extensions/builtin/team/team-dashboard.js +1 -117
  397. package/dist/extensions/builtin/team/team-harness.js +18 -351
  398. package/dist/extensions/builtin/team/team-mailbox.js +4 -110
  399. package/dist/extensions/builtin/team/team-orchestrator.js +5 -469
  400. package/dist/extensions/builtin/team/team-parser.js +2 -334
  401. package/dist/extensions/builtin/team/team-permissions.js +1 -120
  402. package/dist/extensions/builtin/team/team-presets.js +2 -259
  403. package/dist/extensions/builtin/team/team-psyche.js +5 -135
  404. package/dist/extensions/builtin/team/team-runtime-helpers.js +2 -324
  405. package/dist/extensions/builtin/team/team-runtime.js +3 -671
  406. package/dist/extensions/builtin/team/team-state-store.js +2 -75
  407. package/dist/extensions/builtin/team/team-task-store.js +2 -93
  408. package/dist/extensions/builtin/team/team-transcript.js +2 -58
  409. package/dist/extensions/builtin/team/team-types.js +0 -7
  410. package/dist/extensions/builtin/team/team-ui.js +2 -270
  411. package/dist/extensions/builtin/token-save/config.js +1 -66
  412. package/dist/extensions/builtin/token-save/filters.js +24 -279
  413. package/dist/extensions/builtin/token-save/index.js +4 -182
  414. package/dist/extensions/builtin/token-save/lexer.js +1 -51
  415. package/dist/extensions/builtin/token-save/recovery.js +1 -21
  416. package/dist/extensions/builtin/token-save/rewrite.js +1 -73
  417. package/dist/extensions/builtin/token-save/runner.js +3 -55
  418. package/dist/extensions/builtin/token-save/stream.js +1 -33
  419. package/dist/extensions/builtin/token-save/toml-dsl.js +3 -34
  420. package/dist/extensions/builtin/token-save/tracking.js +8 -74
  421. package/dist/extensions/optional/export-html/index.js +2 -269
  422. package/dist/extensions/optional/simplify/index.js +32 -423
  423. package/dist/index.js +1 -50
  424. package/dist/main.js +22 -908
  425. package/dist/migrations.js +4 -261
  426. package/dist/modes/acp/acp-mode.js +25 -1086
  427. package/dist/modes/index.js +1 -13
  428. package/dist/modes/interactive/agent-loop-status.js +1 -41
  429. package/dist/modes/interactive/components/apikey-input.js +3 -23
  430. package/dist/modes/interactive/components/armin.js +1 -338
  431. package/dist/modes/interactive/components/assistant-message.js +1 -101
  432. package/dist/modes/interactive/components/attachments-bar.js +1 -75
  433. package/dist/modes/interactive/components/bash-execution.js +13 -167
  434. package/dist/modes/interactive/components/bordered-loader.js +1 -56
  435. package/dist/modes/interactive/components/branch-summary-message.js +3 -49
  436. package/dist/modes/interactive/components/buddy/pet-sprites.js +1 -255
  437. package/dist/modes/interactive/components/compaction-summary-message.js +3 -50
  438. package/dist/modes/interactive/components/config-selector.js +1 -484
  439. package/dist/modes/interactive/components/countdown-timer.js +1 -38
  440. package/dist/modes/interactive/components/custom-editor.d.ts +9 -0
  441. package/dist/modes/interactive/components/custom-editor.js +1 -101
  442. package/dist/modes/interactive/components/custom-message.js +2 -88
  443. package/dist/modes/interactive/components/daxnuts.js +1 -145
  444. package/dist/modes/interactive/components/diff.js +3 -138
  445. package/dist/modes/interactive/components/dynamic-border.js +1 -26
  446. package/dist/modes/interactive/components/editor-buddy-layout.js +1 -44
  447. package/dist/modes/interactive/components/extension-editor.js +1 -115
  448. package/dist/modes/interactive/components/extension-input.js +2 -69
  449. package/dist/modes/interactive/components/extension-selector.js +2 -90
  450. package/dist/modes/interactive/components/footer.js +1 -239
  451. package/dist/modes/interactive/components/index.d.ts +1 -0
  452. package/dist/modes/interactive/components/index.js +1 -44
  453. package/dist/modes/interactive/components/keybinding-hints.js +1 -66
  454. package/dist/modes/interactive/components/login-dialog.js +1 -150
  455. package/dist/modes/interactive/components/memory-stats.js +2 -96
  456. package/dist/modes/interactive/components/model-selector.d.ts +8 -1
  457. package/dist/modes/interactive/components/model-selector.js +2 -284
  458. package/dist/modes/interactive/components/notification-queue.d.ts +49 -0
  459. package/dist/modes/interactive/components/notification-queue.js +1 -0
  460. package/dist/modes/interactive/components/oauth-selector.js +1 -94
  461. package/dist/modes/interactive/components/pencil-loader.d.ts +7 -1
  462. package/dist/modes/interactive/components/pencil-loader.js +1 -123
  463. package/dist/modes/interactive/components/persona-selector.d.ts +24 -0
  464. package/dist/modes/interactive/components/persona-selector.js +1 -0
  465. package/dist/modes/interactive/components/plan-progress-panel.d.ts +24 -0
  466. package/dist/modes/interactive/components/plan-progress-panel.js +1 -0
  467. package/dist/modes/interactive/components/provider-selector.js +1 -150
  468. package/dist/modes/interactive/components/raw-text.js +3 -28
  469. package/dist/modes/interactive/components/scoped-models-selector.js +1 -280
  470. package/dist/modes/interactive/components/session-selector-search.js +1 -160
  471. package/dist/modes/interactive/components/session-selector.js +2 -856
  472. package/dist/modes/interactive/components/settings-selector.js +1 -372
  473. package/dist/modes/interactive/components/show-images-selector.js +1 -40
  474. package/dist/modes/interactive/components/skill-invocation-message.js +3 -52
  475. package/dist/modes/interactive/components/soul-stats.js +2 -159
  476. package/dist/modes/interactive/components/sub-agent-panel.d.ts +24 -0
  477. package/dist/modes/interactive/components/sub-agent-panel.js +1 -0
  478. package/dist/modes/interactive/components/theme-selector.js +1 -51
  479. package/dist/modes/interactive/components/thinking-selector.js +1 -52
  480. package/dist/modes/interactive/components/tool-execution.js +58 -757
  481. package/dist/modes/interactive/components/tree-selector.js +1 -939
  482. package/dist/modes/interactive/components/user-message-selector.js +1 -118
  483. package/dist/modes/interactive/components/user-message.js +1 -21
  484. package/dist/modes/interactive/components/visual-truncate.js +1 -38
  485. package/dist/modes/interactive/controllers/auth-provider-config-controller.d.ts +3 -1
  486. package/dist/modes/interactive/controllers/auth-provider-config-controller.js +1 -401
  487. package/dist/modes/interactive/controllers/extension-ui/custom-overlay-host.js +1 -90
  488. package/dist/modes/interactive/controllers/extension-ui/editor-component-adapter.js +1 -78
  489. package/dist/modes/interactive/controllers/extension-ui/persistent-surface-registry.js +1 -169
  490. package/dist/modes/interactive/controllers/extension-ui/prompt-host.js +2 -109
  491. package/dist/modes/interactive/controllers/image-pipeline-controller.js +1 -359
  492. package/dist/modes/interactive/controllers/input-submit-controller.d.ts +6 -0
  493. package/dist/modes/interactive/controllers/input-submit-controller.js +2 -164
  494. package/dist/modes/interactive/controllers/interrupt-controller.js +1 -82
  495. package/dist/modes/interactive/controllers/model-overlay-controller.d.ts +3 -0
  496. package/dist/modes/interactive/controllers/model-overlay-controller.js +3 -346
  497. package/dist/modes/interactive/controllers/self-update-controller.js +24 -525
  498. package/dist/modes/interactive/controllers/settings-overlay-controller.js +2 -165
  499. package/dist/modes/interactive/controllers/slash-dispatcher-controller.js +1 -183
  500. package/dist/modes/interactive/controllers/stream-render-controller.d.ts +3 -2
  501. package/dist/modes/interactive/controllers/stream-render-controller.js +2 -325
  502. package/dist/modes/interactive/controllers/tree-overlay-controller.js +1 -171
  503. package/dist/modes/interactive/footer-data-provider.js +1 -147
  504. package/dist/modes/interactive/interactive-mode.d.ts +25 -1
  505. package/dist/modes/interactive/interactive-mode.js +100 -3441
  506. package/dist/modes/interactive/services/tips.js +1 -115
  507. package/dist/modes/interactive/slash-command-arguments.js +1 -126
  508. package/dist/modes/interactive/state/interactive-state.d.ts +29 -0
  509. package/dist/modes/interactive/state/interactive-state.js +1 -43
  510. package/dist/modes/interactive/theme/theme.js +16 -970
  511. package/dist/modes/print-mode.js +2 -171
  512. package/dist/modes/rpc/rpc-client.js +2 -417
  513. package/dist/modes/rpc/rpc-mode.js +1 -568
  514. package/dist/modes/rpc/rpc-types.js +0 -1
  515. package/dist/modes/utils/agent-loop-result-format.js +1 -69
  516. package/dist/modes/utils/clipboard-image.js +1 -170
  517. package/dist/modes/utils/clipboard-native.js +1 -47
  518. package/dist/modes/utils/clipboard.js +1 -72
  519. package/dist/modes/utils/image-convert.js +1 -40
  520. package/dist/modes/utils/image-resize.js +1 -186
  521. package/dist/nanopencil-defaults.d.ts +190 -4
  522. package/dist/nanopencil-defaults.js +2 -854
  523. package/dist/node_modules/@pencil-agent/agent-core/dist/agent-loop-continuations.js +1 -60
  524. package/dist/node_modules/@pencil-agent/agent-core/dist/agent-loop-stream-events.js +1 -55
  525. package/dist/node_modules/@pencil-agent/agent-core/dist/agent-loop-tool-results.js +3 -137
  526. package/dist/node_modules/@pencil-agent/agent-core/dist/agent-loop-tool-summaries.js +1 -64
  527. package/dist/node_modules/@pencil-agent/agent-core/dist/agent-loop.js +3 -913
  528. package/dist/node_modules/@pencil-agent/agent-core/dist/agent-run-result.js +1 -32
  529. package/dist/node_modules/@pencil-agent/agent-core/dist/agent.js +1 -522
  530. package/dist/node_modules/@pencil-agent/agent-core/dist/errors.js +1 -146
  531. package/dist/node_modules/@pencil-agent/agent-core/dist/index.js +1 -19
  532. package/dist/node_modules/@pencil-agent/agent-core/dist/proxy.js +2 -279
  533. package/dist/node_modules/@pencil-agent/agent-core/dist/structured-adaptive-agent-loop.js +1 -625
  534. package/dist/node_modules/@pencil-agent/agent-core/dist/structured-adaptive-streaming-tool-executor.js +1 -189
  535. package/dist/node_modules/@pencil-agent/agent-core/dist/structured-adaptive-tool-orchestration.js +3 -319
  536. package/dist/node_modules/@pencil-agent/agent-core/dist/types.js +1 -13
  537. package/dist/node_modules/@pencil-agent/ai/dist/api-registry.js +1 -152
  538. package/dist/node_modules/@pencil-agent/ai/dist/cli.js +9 -109
  539. package/dist/node_modules/@pencil-agent/ai/dist/config-path.js +1 -17
  540. package/dist/node_modules/@pencil-agent/ai/dist/debug-logger.js +4 -218
  541. package/dist/node_modules/@pencil-agent/ai/dist/env-api-keys.js +1 -107
  542. package/dist/node_modules/@pencil-agent/ai/dist/env.js +1 -7
  543. package/dist/node_modules/@pencil-agent/ai/dist/events.js +1 -7
  544. package/dist/node_modules/@pencil-agent/ai/dist/index.js +1 -20
  545. package/dist/node_modules/@pencil-agent/ai/dist/json.js +1 -7
  546. package/dist/node_modules/@pencil-agent/ai/dist/models.generated.js +1 -14928
  547. package/dist/node_modules/@pencil-agent/ai/dist/models.js +1 -60
  548. package/dist/node_modules/@pencil-agent/ai/dist/overflow.js +1 -7
  549. package/dist/node_modules/@pencil-agent/ai/dist/providers/amazon-bedrock.js +1 -606
  550. package/dist/node_modules/@pencil-agent/ai/dist/providers/anthropic.js +2 -737
  551. package/dist/node_modules/@pencil-agent/ai/dist/providers/azure-openai-responses.js +1 -193
  552. package/dist/node_modules/@pencil-agent/ai/dist/providers/github-copilot-headers.js +1 -34
  553. package/dist/node_modules/@pencil-agent/ai/dist/providers/google-gemini-cli.js +2 -753
  554. package/dist/node_modules/@pencil-agent/ai/dist/providers/google-shared.js +2 -311
  555. package/dist/node_modules/@pencil-agent/ai/dist/providers/google-vertex.js +1 -380
  556. package/dist/node_modules/@pencil-agent/ai/dist/providers/google.js +1 -360
  557. package/dist/node_modules/@pencil-agent/ai/dist/providers/openai-codex-responses.js +7 -704
  558. package/dist/node_modules/@pencil-agent/ai/dist/providers/openai-completions.js +6 -870
  559. package/dist/node_modules/@pencil-agent/ai/dist/providers/openai-responses-shared.js +10 -432
  560. package/dist/node_modules/@pencil-agent/ai/dist/providers/openai-responses.js +1 -207
  561. package/dist/node_modules/@pencil-agent/ai/dist/providers/register-builtins.js +1 -86
  562. package/dist/node_modules/@pencil-agent/ai/dist/providers/simple-options.js +1 -40
  563. package/dist/node_modules/@pencil-agent/ai/dist/providers/transform-messages.js +1 -175
  564. package/dist/node_modules/@pencil-agent/ai/dist/registry.js +1 -8
  565. package/dist/node_modules/@pencil-agent/ai/dist/schema.js +1 -9
  566. package/dist/node_modules/@pencil-agent/ai/dist/stream.js +1 -324
  567. package/dist/node_modules/@pencil-agent/ai/dist/types.js +0 -7
  568. package/dist/node_modules/@pencil-agent/ai/dist/utils/event-stream-types.js +0 -7
  569. package/dist/node_modules/@pencil-agent/ai/dist/utils/event-stream.js +1 -98
  570. package/dist/node_modules/@pencil-agent/ai/dist/utils/http-proxy.js +1 -20
  571. package/dist/node_modules/@pencil-agent/ai/dist/utils/json-parse.js +1 -34
  572. package/dist/node_modules/@pencil-agent/ai/dist/utils/oauth/anthropic.js +1 -109
  573. package/dist/node_modules/@pencil-agent/ai/dist/utils/oauth/decode-credential.js +1 -25
  574. package/dist/node_modules/@pencil-agent/ai/dist/utils/oauth/github-copilot.js +1 -286
  575. package/dist/node_modules/@pencil-agent/ai/dist/utils/oauth/google-antigravity.js +1 -378
  576. package/dist/node_modules/@pencil-agent/ai/dist/utils/oauth/google-gemini-cli.js +1 -483
  577. package/dist/node_modules/@pencil-agent/ai/dist/utils/oauth/index.js +1 -131
  578. package/dist/node_modules/@pencil-agent/ai/dist/utils/oauth/openai-codex.js +2 -376
  579. package/dist/node_modules/@pencil-agent/ai/dist/utils/oauth/pkce.js +1 -36
  580. package/dist/node_modules/@pencil-agent/ai/dist/utils/oauth/types.js +0 -7
  581. package/dist/node_modules/@pencil-agent/ai/dist/utils/overflow.js +1 -120
  582. package/dist/node_modules/@pencil-agent/ai/dist/utils/sanitize-unicode.js +1 -20
  583. package/dist/node_modules/@pencil-agent/ai/dist/utils/typebox-helpers.js +1 -26
  584. package/dist/node_modules/@pencil-agent/ai/dist/utils/validation.js +6 -78
  585. package/dist/node_modules/@pencil-agent/ai/package.json +24 -24
  586. package/dist/node_modules/@pencil-agent/tui/dist/autocomplete.js +2 -624
  587. package/dist/node_modules/@pencil-agent/tui/dist/components/box.js +1 -109
  588. package/dist/node_modules/@pencil-agent/tui/dist/components/cached-container.js +1 -0
  589. package/dist/node_modules/@pencil-agent/tui/dist/components/cancellable-loader.js +1 -40
  590. package/dist/node_modules/@pencil-agent/tui/dist/components/editor.js +21 -1697
  591. package/dist/node_modules/@pencil-agent/tui/dist/components/image.js +1 -74
  592. package/dist/node_modules/@pencil-agent/tui/dist/components/input.js +2 -438
  593. package/dist/node_modules/@pencil-agent/tui/dist/components/loader.js +1 -54
  594. package/dist/node_modules/@pencil-agent/tui/dist/components/markdown.js +7 -634
  595. package/dist/node_modules/@pencil-agent/tui/dist/components/select-list.js +1 -157
  596. package/dist/node_modules/@pencil-agent/tui/dist/components/settings-list.js +1 -190
  597. package/dist/node_modules/@pencil-agent/tui/dist/components/spacer.js +1 -28
  598. package/dist/node_modules/@pencil-agent/tui/dist/components/text.js +1 -94
  599. package/dist/node_modules/@pencil-agent/tui/dist/components/truncated-text.js +2 -56
  600. package/dist/node_modules/@pencil-agent/tui/dist/editor-component.js +0 -7
  601. package/dist/node_modules/@pencil-agent/tui/dist/fuzzy.js +1 -152
  602. package/dist/node_modules/@pencil-agent/tui/dist/index.js +1 -37
  603. package/dist/node_modules/@pencil-agent/tui/dist/keybindings.js +1 -119
  604. package/dist/node_modules/@pencil-agent/tui/dist/keys.js +5 -948
  605. package/dist/node_modules/@pencil-agent/tui/dist/kill-ring.js +1 -49
  606. package/dist/node_modules/@pencil-agent/tui/dist/stdin-buffer.js +1 -307
  607. package/dist/node_modules/@pencil-agent/tui/dist/terminal-image.js +1 -287
  608. package/dist/node_modules/@pencil-agent/tui/dist/terminal.js +1 -266
  609. package/dist/node_modules/@pencil-agent/tui/dist/tui.js +12 -1001
  610. package/dist/node_modules/@pencil-agent/tui/dist/undo-stack.js +1 -30
  611. package/dist/node_modules/@pencil-agent/tui/dist/utils.js +2 -811
  612. package/dist/packages/extension-sdk/src/index.js +1 -12
  613. package/dist/packages/extension-sdk/src/lifecycle.js +0 -13
  614. package/dist/packages/extension-sdk/src/tools.js +0 -12
  615. package/dist/packages/mem-core/src/store.js +1 -120
  616. package/dist/packages/mem-core/src/types.js +0 -7
  617. package/dist/packages/soul-core/src/config.js +1 -92
  618. package/dist/packages/soul-core/src/diagnostics.js +1 -56
  619. package/dist/packages/soul-core/src/evolution.js +1 -273
  620. package/dist/packages/soul-core/src/index.js +1 -13
  621. package/dist/packages/soul-core/src/injection.js +8 -280
  622. package/dist/packages/soul-core/src/manager.js +1 -441
  623. package/dist/packages/soul-core/src/store.js +1 -279
  624. package/dist/packages/soul-core/src/types.js +0 -7
  625. package/dist/utils/changelog.js +4 -92
  626. package/dist/utils/diagnostics.js +1 -83
  627. package/dist/utils/frontmatter.js +4 -31
  628. package/dist/utils/git.js +1 -168
  629. package/dist/utils/mime.js +1 -31
  630. package/dist/utils/photon.js +1 -106
  631. package/dist/utils/startup-profiler.js +2 -150
  632. package/docs/cc-agent-design.md +1297 -0
  633. package/docs/cc-tui-design.md +1333 -0
  634. package/docs/codex-goal-command-impl.md +1055 -0
  635. package/docs/codex-goal-vs-grub.md +500 -0
  636. package/docs/custom-provider.md +27 -0
  637. package/docs/extensions.md +27 -0
  638. package/docs/keybindings.md +27 -0
  639. package/docs/loop /351/207/215/346/236/204/345/256/214/346/210/220/346/200/273/347/273/223.md" +251 -0
  640. package/docs/loop /351/207/215/346/236/204/345/256/214/346/210/220/346/212/245/345/221/212.md" +123 -0
  641. package/docs/loop /351/207/215/346/236/204/346/226/271/346/241/210.md" +1222 -0
  642. package/docs/loop /351/207/215/346/236/204/346/226/271/346/241/210/345/256/236/347/216/260/346/212/245/345/221/212.md" +158 -0
  643. package/docs/loop /351/207/215/346/236/204/346/226/271/346/241/210/345/257/271/346/257/224/345/210/206/346/236/220.md" +128 -0
  644. package/docs/loop /351/207/215/346/236/204/350/256/241/345/210/222.md" +321 -0
  645. package/docs/loop-usage-examples.md +215 -0
  646. package/docs/models.md +27 -0
  647. package/docs/packages.md +27 -0
  648. package/docs/pi-design-philosophy.md +457 -0
  649. package/docs/planmode.md +1987 -0
  650. package/docs/prompt-templates.md +27 -0
  651. package/docs/providers.md +27 -0
  652. package/docs/sdk.md +27 -0
  653. package/docs/skills.md +27 -0
  654. package/docs/themes.md +27 -0
  655. package/docs/tui.md +27 -0
  656. package/docs//345/257/271/346/240/207Claude-Code.md +1775 -0
  657. package/package.json +21 -8
  658. package/dist/core/export-html/CLAUDE.md +0 -12
  659. package/dist/extensions/builtin/CLAUDE.md +0 -74
  660. package/dist/extensions/builtin/interview/index.d.ts +0 -8
  661. package/dist/extensions/builtin/interview/index.js +0 -335
  662. package/dist/extensions/builtin/interview/interview-runtime.d.ts +0 -55
  663. package/dist/extensions/builtin/interview/interview-runtime.js +0 -551
  664. package/dist/extensions/builtin/loop/cron/cron-types.d.ts +0 -87
  665. package/dist/extensions/builtin/loop/cron/cron-types.js +0 -14
  666. package/dist/extensions/builtin/loop/scheduler-parser.d.ts +0 -13
  667. package/dist/extensions/builtin/loop/scheduler-parser.js +0 -214
  668. package/dist/extensions/builtin/loop/scheduler-types.d.ts +0 -63
  669. package/dist/extensions/builtin/loop/scheduler-types.js +0 -7
  670. package/dist/extensions/builtin/loop/skill/SKILL.md +0 -79
  671. package/dist/extensions/builtin/team/CLAUDE.md +0 -97
  672. package/dist/extensions/optional/CLAUDE.md +0 -11
  673. package/dist/node_modules/@pencil-agent/agent-core/dist/agent-loop-continuations.d.ts +0 -17
  674. package/dist/node_modules/@pencil-agent/agent-core/dist/agent-loop-stream-events.d.ts +0 -19
  675. package/dist/node_modules/@pencil-agent/agent-core/dist/agent-loop-tool-results.d.ts +0 -10
  676. package/dist/node_modules/@pencil-agent/agent-core/dist/agent-loop-tool-summaries.d.ts +0 -22
  677. package/dist/node_modules/@pencil-agent/agent-core/dist/agent-loop.d.ts +0 -26
  678. package/dist/node_modules/@pencil-agent/agent-core/dist/agent-run-result.d.ts +0 -9
  679. package/dist/node_modules/@pencil-agent/agent-core/dist/agent.d.ts +0 -215
  680. package/dist/node_modules/@pencil-agent/agent-core/dist/errors.d.ts +0 -62
  681. package/dist/node_modules/@pencil-agent/agent-core/dist/index.d.ts +0 -14
  682. package/dist/node_modules/@pencil-agent/agent-core/dist/proxy.d.ts +0 -91
  683. package/dist/node_modules/@pencil-agent/agent-core/dist/structured-adaptive-agent-loop.d.ts +0 -15
  684. package/dist/node_modules/@pencil-agent/agent-core/dist/structured-adaptive-streaming-tool-executor.d.ts +0 -33
  685. package/dist/node_modules/@pencil-agent/agent-core/dist/structured-adaptive-tool-orchestration.d.ts +0 -35
  686. package/dist/node_modules/@pencil-agent/ai/dist/api-registry.d.ts +0 -27
  687. package/dist/node_modules/@pencil-agent/ai/dist/cli.d.ts +0 -2
  688. package/dist/node_modules/@pencil-agent/ai/dist/config-path.d.ts +0 -1
  689. package/dist/node_modules/@pencil-agent/ai/dist/debug-logger.d.ts +0 -94
  690. package/dist/node_modules/@pencil-agent/ai/dist/env-api-keys.d.ts +0 -8
  691. package/dist/node_modules/@pencil-agent/ai/dist/env.d.ts +0 -7
  692. package/dist/node_modules/@pencil-agent/ai/dist/events.d.ts +0 -8
  693. package/dist/node_modules/@pencil-agent/ai/dist/index.d.ts +0 -27
  694. package/dist/node_modules/@pencil-agent/ai/dist/json.d.ts +0 -7
  695. package/dist/node_modules/@pencil-agent/ai/dist/models.d.ts +0 -31
  696. package/dist/node_modules/@pencil-agent/ai/dist/models.generated.d.ts +0 -15159
  697. package/dist/node_modules/@pencil-agent/ai/dist/overflow.d.ts +0 -7
  698. package/dist/node_modules/@pencil-agent/ai/dist/providers/amazon-bedrock.d.ts +0 -20
  699. package/dist/node_modules/@pencil-agent/ai/dist/providers/anthropic.d.ts +0 -38
  700. package/dist/node_modules/@pencil-agent/ai/dist/providers/azure-openai-responses.d.ts +0 -21
  701. package/dist/node_modules/@pencil-agent/ai/dist/providers/github-copilot-headers.d.ts +0 -13
  702. package/dist/node_modules/@pencil-agent/ai/dist/providers/google-gemini-cli.d.ts +0 -79
  703. package/dist/node_modules/@pencil-agent/ai/dist/providers/google-shared.d.ts +0 -70
  704. package/dist/node_modules/@pencil-agent/ai/dist/providers/google-vertex.d.ts +0 -20
  705. package/dist/node_modules/@pencil-agent/ai/dist/providers/google.d.ts +0 -18
  706. package/dist/node_modules/@pencil-agent/ai/dist/providers/openai-codex-responses.d.ts +0 -8
  707. package/dist/node_modules/@pencil-agent/ai/dist/providers/openai-completions.d.ts +0 -20
  708. package/dist/node_modules/@pencil-agent/ai/dist/providers/openai-responses-shared.d.ts +0 -22
  709. package/dist/node_modules/@pencil-agent/ai/dist/providers/openai-responses.d.ts +0 -19
  710. package/dist/node_modules/@pencil-agent/ai/dist/providers/register-builtins.d.ts +0 -8
  711. package/dist/node_modules/@pencil-agent/ai/dist/providers/simple-options.d.ts +0 -13
  712. package/dist/node_modules/@pencil-agent/ai/dist/providers/transform-messages.d.ts +0 -13
  713. package/dist/node_modules/@pencil-agent/ai/dist/registry.d.ts +0 -8
  714. package/dist/node_modules/@pencil-agent/ai/dist/schema.d.ts +0 -10
  715. package/dist/node_modules/@pencil-agent/ai/dist/stream.d.ts +0 -25
  716. package/dist/node_modules/@pencil-agent/ai/dist/utils/event-stream.d.ts +0 -31
  717. package/dist/node_modules/@pencil-agent/ai/dist/utils/http-proxy.d.ts +0 -13
  718. package/dist/node_modules/@pencil-agent/ai/dist/utils/json-parse.d.ts +0 -14
  719. package/dist/node_modules/@pencil-agent/ai/dist/utils/oauth/anthropic.d.ts +0 -22
  720. package/dist/node_modules/@pencil-agent/ai/dist/utils/oauth/decode-credential.d.ts +0 -12
  721. package/dist/node_modules/@pencil-agent/ai/dist/utils/oauth/github-copilot.d.ts +0 -35
  722. package/dist/node_modules/@pencil-agent/ai/dist/utils/oauth/google-antigravity.d.ts +0 -31
  723. package/dist/node_modules/@pencil-agent/ai/dist/utils/oauth/google-gemini-cli.d.ts +0 -31
  724. package/dist/node_modules/@pencil-agent/ai/dist/utils/oauth/index.d.ts +0 -60
  725. package/dist/node_modules/@pencil-agent/ai/dist/utils/oauth/openai-codex.d.ts +0 -39
  726. package/dist/node_modules/@pencil-agent/ai/dist/utils/oauth/pkce.d.ts +0 -18
  727. package/dist/node_modules/@pencil-agent/ai/dist/utils/oauth/types.d.ts +0 -52
  728. package/dist/node_modules/@pencil-agent/ai/dist/utils/overflow.d.ts +0 -57
  729. package/dist/node_modules/@pencil-agent/ai/dist/utils/sanitize-unicode.d.ts +0 -16
  730. package/dist/node_modules/@pencil-agent/ai/dist/utils/typebox-helpers.d.ts +0 -22
  731. package/dist/node_modules/@pencil-agent/ai/dist/utils/validation.d.ts +0 -23
  732. package/dist/node_modules/@pencil-agent/tui/dist/autocomplete.d.ts +0 -62
  733. package/dist/node_modules/@pencil-agent/tui/dist/components/box.d.ts +0 -27
  734. package/dist/node_modules/@pencil-agent/tui/dist/components/cancellable-loader.d.ts +0 -27
  735. package/dist/node_modules/@pencil-agent/tui/dist/components/editor.d.ts +0 -218
  736. package/dist/node_modules/@pencil-agent/tui/dist/components/image.d.ts +0 -33
  737. package/dist/node_modules/@pencil-agent/tui/dist/components/input.d.ts +0 -42
  738. package/dist/node_modules/@pencil-agent/tui/dist/components/loader.d.ts +0 -26
  739. package/dist/node_modules/@pencil-agent/tui/dist/components/markdown.d.ts +0 -100
  740. package/dist/node_modules/@pencil-agent/tui/dist/components/select-list.d.ts +0 -37
  741. package/dist/node_modules/@pencil-agent/tui/dist/components/settings-list.d.ts +0 -55
  742. package/dist/node_modules/@pencil-agent/tui/dist/components/spacer.d.ts +0 -17
  743. package/dist/node_modules/@pencil-agent/tui/dist/components/text.d.ts +0 -24
  744. package/dist/node_modules/@pencil-agent/tui/dist/components/truncated-text.d.ts +0 -18
  745. package/dist/node_modules/@pencil-agent/tui/dist/editor-component.d.ts +0 -51
  746. package/dist/node_modules/@pencil-agent/tui/dist/fuzzy.d.ts +0 -32
  747. package/dist/node_modules/@pencil-agent/tui/dist/index.d.ts +0 -28
  748. package/dist/node_modules/@pencil-agent/tui/dist/keybindings.d.ts +0 -44
  749. package/dist/node_modules/@pencil-agent/tui/dist/keys.d.ts +0 -149
  750. package/dist/node_modules/@pencil-agent/tui/dist/kill-ring.d.ts +0 -33
  751. package/dist/node_modules/@pencil-agent/tui/dist/stdin-buffer.d.ts +0 -38
  752. package/dist/node_modules/@pencil-agent/tui/dist/terminal-image.d.ts +0 -73
  753. package/dist/node_modules/@pencil-agent/tui/dist/terminal.d.ts +0 -86
  754. package/dist/node_modules/@pencil-agent/tui/dist/tui.d.ts +0 -219
  755. package/dist/node_modules/@pencil-agent/tui/dist/undo-stack.d.ts +0 -22
  756. package/dist/node_modules/@pencil-agent/tui/dist/utils.d.ts +0 -83
  757. package/docs/API/345/257/206/351/222/245/344/277/256/345/244/215/346/200/273/347/273/223.md +0 -147
  758. package/docs/API/345/257/206/351/222/245/345/221/275/344/273/244.md +0 -66
  759. package/docs/API/345/257/206/351/222/245/346/214/207/345/215/227.md +0 -292
  760. package/docs/ARK/347/274/226/347/240/201/350/256/241/345/210/222.md +0 -51
  761. package/docs/AgentTeam/351/207/215/346/236/204/346/226/271/346/241/210.md +0 -446
  762. package/docs/InterviewRegression.md +0 -122
  763. package/docs/MCP/345/277/253/351/200/237/345/217/202/350/200/203.md +0 -113
  764. package/docs/MCP/351/233/206/346/210/220/346/214/207/345/215/227.md +0 -255
  765. package/docs/Persona/345/210/207/346/215/242.md +0 -97
  766. package/docs/Recap/346/211/251/345/261/225.md +0 -410
  767. package/docs/Simplify/346/211/251/345/261/225.md +0 -278
  768. package/docs/agent-loop-frameworks.md +0 -119
  769. package/docs/debug-logging.md +0 -148
  770. package/docs/eval/AGENT.md +0 -36
  771. package/docs/eval/README.md +0 -72
  772. package/docs/eval/decision-log-template.md +0 -51
  773. package/docs/eval/experiment-protocol.md +0 -77
  774. package/docs/eval/issue-usage/README.md +0 -32
  775. package/docs/eval/issue-usage/cases.md +0 -31
  776. package/docs/eval/issue-usage/metrics.md +0 -23
  777. package/docs/eval/issue-usage/workflow.md +0 -39
  778. package/docs/eval/sal-memory-anchor/README.md +0 -32
  779. package/docs/eval/sal-memory-anchor/hypothesis.md +0 -45
  780. package/docs/eval/sal-memory-anchor/metrics.md +0 -24
  781. package/docs/eval/sal-memory-anchor/runs.md +0 -29
  782. package/docs/eval/tool-usage-analysis/README.md +0 -32
  783. package/docs/eval/tool-usage-analysis/invalid-data-rules.md +0 -29
  784. package/docs/eval/tool-usage-analysis/metrics.md +0 -35
  785. package/docs/eval/tool-usage-analysis/report-template.md +0 -49
  786. package/docs/eval/tool-usage-analysis/sop.md +0 -63
  787. package/docs/multi-agent-fs-design.md +0 -1120
  788. package/docs/pencil-platform-charter.md +0 -21
  789. package/docs/project-structure-optimization.md +0 -66
  790. package/docs/remote-tool-register-design.md +0 -436
  791. package/docs//345/206/205/347/275/256MCP/345/267/245/345/205/267.md +0 -326
  792. package/docs//345/215/203/345/270/206/347/274/226/347/240/201/350/256/241/345/210/222.md +0 -52
  793. package/docs//345/215/225/344/275/223/344/273/223/345/272/223/350/207/252/350/277/260.md +0 -189
  794. package/docs//345/215/225/344/275/223/344/273/223/345/272/223/350/277/201/347/247/273/346/214/207/345/215/227.md +0 -232
  795. package/docs//345/217/221/345/270/203/346/214/207/345/215/227.md +0 -129
  796. package/docs//345/217/230/346/233/264/346/200/273/347/273/223.md +0 -138
  797. package/docs//345/217/230/346/233/264/346/227/245/345/277/227.md +0 -50
  798. package/docs//345/267/245/345/205/267/347/256/241/347/220/206/345/231/250/344/274/230/345/214/226.md +0 -208
  799. package/docs//345/276/252/347/216/257/345/221/275/344/273/244/350/256/241/345/210/222.md +0 -56
  800. package/docs//346/226/207/346/241/243/344/270/255/345/277/203.md +0 -146
  801. package/docs//346/236/266/346/236/204/344/274/230/345/214/226.md +0 -404
  802. package/docs//346/236/266/346/236/204/346/274/224/350/277/233.md +0 -228
  803. package/docs//347/211/210/346/234/2542.md +0 -199
  804. package/docs//347/272/263/350/257/272/350/256/260/345/277/206/350/257/273/345/206/231.md +0 -352
  805. package/docs//347/273/223/346/236/204.md +0 -339
  806. package/docs//350/256/241/345/210/222.md +0 -44
  807. package/docs//350/256/260/345/277/206/347/263/273/347/273/237.md +0 -236
  808. package/docs//350/277/201/347/247/273/346/200/273/347/273/223.md +0 -204
  809. package/docs//351/207/215/346/236/204/344/273/273/345/212/241.md +0 -181
  810. package/docs//351/207/215/346/236/204/350/256/241/345/210/222.md +0 -592
  811. /package/dist/{node_modules/@pencil-agent/ai/dist → core/lib/ai/src}/utils/event-stream-types.d.ts +0 -0
package/dist/cli/args.js CHANGED
@@ -1,307 +1,18 @@
1
- /**
2
- * [WHO]: Args, Mode, parseArgs(), printHelp()
3
- * [FROM]: Depends on agent-core, chalk, config.ts, core/tools
4
- * [TO]: Consumed by main.ts, core/model-resolver.ts
5
- * [HERE]: cli/args.ts - CLI argument parsing and help display
6
- */
7
- import { normalizeAgentLoopFramework, } from "@pencil-agent/agent-core";
8
- import chalk from "chalk";
9
- import { APP_NAME, CONFIG_DIR_NAME, ENV_AGENT_DIR } from "../config.js";
10
- import { allTools } from "../core/tools/index.js";
11
- const VALID_THINKING_LEVELS = ["off", "minimal", "low", "medium", "high", "xhigh"];
12
- export function isValidThinkingLevel(level) {
13
- return VALID_THINKING_LEVELS.includes(level);
14
- }
15
- function parseAgentLoopFramework(value) {
16
- const normalized = normalizeAgentLoopFramework(value);
17
- if (normalized === "standard" || normalized === "weak-model-compatible") {
18
- return normalized;
19
- }
20
- return undefined;
21
- }
22
- function parsePositiveIntegerOption(flag, value) {
23
- const parsed = Number(value);
24
- if (Number.isInteger(parsed) && parsed > 0)
25
- return parsed;
26
- console.error(chalk.yellow(`Warning: Invalid ${flag} value "${value}". Expected a positive integer.`));
27
- return undefined;
28
- }
29
- function parseNonNegativeIntegerOption(flag, value) {
30
- const parsed = Number(value);
31
- if (Number.isInteger(parsed) && parsed >= 0)
32
- return parsed;
33
- console.error(chalk.yellow(`Warning: Invalid ${flag} value "${value}". Expected a non-negative integer.`));
34
- return undefined;
35
- }
36
- function parseUnitIntervalOption(flag, value) {
37
- const parsed = Number(value);
38
- if (Number.isFinite(parsed) && parsed > 0 && parsed <= 1)
39
- return parsed;
40
- console.error(chalk.yellow(`Warning: Invalid ${flag} value "${value}". Expected a number in (0, 1].`));
41
- return undefined;
42
- }
43
- function setLoopPolicyOption(result, key, value) {
44
- result.loopPolicy = result.loopPolicy ?? {};
45
- result.loopPolicy[key] = value;
46
- }
47
- export function parseArgs(args, extensionFlags) {
48
- const result = {
49
- messages: [],
50
- fileArgs: [],
51
- unknownFlags: new Map(),
52
- };
53
- const outputTokenBudget = {};
54
- for (let i = 0; i < args.length; i++) {
55
- const arg = args[i];
56
- if (arg === "--help" || arg === "-h") {
57
- result.help = true;
58
- }
59
- else if (arg === "--version" || arg === "-v") {
60
- result.version = true;
61
- }
62
- else if (arg === "--mode" && i + 1 < args.length) {
63
- const mode = args[++i];
64
- if (mode === "text" || mode === "json" || mode === "rpc") {
65
- result.mode = mode;
66
- }
67
- }
68
- else if (arg === "--continue" || arg === "-c") {
69
- result.continue = true;
70
- }
71
- else if (arg === "--resume" || arg === "-r") {
72
- result.resume = true;
73
- }
74
- else if (arg === "--provider" && i + 1 < args.length) {
75
- result.provider = args[++i];
76
- }
77
- else if (arg === "--cwd" && i + 1 < args.length) {
78
- result.cwd = args[++i];
79
- }
80
- else if (arg === "--model" && i + 1 < args.length) {
81
- result.model = args[++i];
82
- }
83
- else if (arg === "--api-key" && i + 1 < args.length) {
84
- result.apiKey = args[++i];
85
- }
86
- else if (arg === "--system-prompt" && i + 1 < args.length) {
87
- result.systemPrompt = args[++i];
88
- }
89
- else if (arg === "--append-system-prompt" && i + 1 < args.length) {
90
- result.appendSystemPrompt = args[++i];
91
- }
92
- else if (arg === "--no-session") {
93
- result.noSession = true;
94
- }
95
- else if (arg === "--session" && i + 1 < args.length) {
96
- result.session = args[++i];
97
- }
98
- else if (arg === "--session-dir" && i + 1 < args.length) {
99
- result.sessionDir = args[++i];
100
- }
101
- else if (arg === "--models" && i + 1 < args.length) {
102
- result.models = args[++i].split(",").map((s) => s.trim());
103
- }
104
- else if (arg === "--no-tools") {
105
- result.noTools = true;
106
- }
107
- else if (arg === "--tools" && i + 1 < args.length) {
108
- const toolNames = args[++i].split(",").map((s) => s.trim());
109
- const validTools = [];
110
- for (const name of toolNames) {
111
- if (name in allTools) {
112
- validTools.push(name);
113
- }
114
- else {
115
- console.error(chalk.yellow(`Warning: Unknown tool "${name}". Valid tools: ${Object.keys(allTools).join(", ")}`));
116
- }
117
- }
118
- result.tools = validTools;
119
- }
120
- else if (arg === "--thinking" && i + 1 < args.length) {
121
- const level = args[++i];
122
- if (isValidThinkingLevel(level)) {
123
- result.thinking = level;
124
- }
125
- else {
126
- console.error(chalk.yellow(`Warning: Invalid thinking level "${level}". Valid values: ${VALID_THINKING_LEVELS.join(", ")}`));
127
- }
128
- }
129
- else if (arg === "--print" || arg === "-p") {
130
- result.print = true;
131
- }
132
- else if (arg === "--print-loop-result") {
133
- result.printLoopResult = true;
134
- }
135
- else if (arg === "--fail-on-agent-error") {
136
- result.failOnAgentError = true;
137
- }
138
- else if (arg === "--fail-on-tool-denial") {
139
- result.failOnToolDenial = true;
140
- }
141
- else if (arg === "--agent-loop" && i + 1 < args.length) {
142
- const framework = args[++i];
143
- const normalized = parseAgentLoopFramework(framework);
144
- if (normalized) {
145
- result.agentLoopFramework = normalized;
146
- }
147
- else {
148
- console.error(chalk.yellow(`Warning: Invalid agent loop framework "${framework}". Valid values: standard, weak-model-compatible.`));
149
- }
150
- }
151
- else if (arg === "--max-turns-per-prompt" && i + 1 < args.length) {
152
- const value = parsePositiveIntegerOption(arg, args[++i]);
153
- if (value !== undefined)
154
- setLoopPolicyOption(result, "maxTurnsPerPrompt", value);
155
- }
156
- else if (arg === "--max-tool-calls-per-prompt" && i + 1 < args.length) {
157
- const value = parsePositiveIntegerOption(arg, args[++i]);
158
- if (value !== undefined)
159
- setLoopPolicyOption(result, "maxToolCallsPerPrompt", value);
160
- }
161
- else if (arg === "--max-tool-concurrency" && i + 1 < args.length) {
162
- const value = parsePositiveIntegerOption(arg, args[++i]);
163
- if (value !== undefined)
164
- setLoopPolicyOption(result, "maxToolConcurrency", value);
165
- }
166
- else if (arg === "--max-tool-result-batch-size-chars" && i + 1 < args.length) {
167
- const value = parsePositiveIntegerOption(arg, args[++i]);
168
- if (value !== undefined)
169
- setLoopPolicyOption(result, "maxToolResultBatchSizeChars", value);
170
- }
171
- else if (arg === "--output-token-budget" && i + 1 < args.length) {
172
- const value = parsePositiveIntegerOption(arg, args[++i]);
173
- if (value !== undefined)
174
- outputTokenBudget.targetTokens = value;
175
- }
176
- else if (arg === "--output-token-budget-threshold" && i + 1 < args.length) {
177
- const value = parseUnitIntervalOption(arg, args[++i]);
178
- if (value !== undefined)
179
- outputTokenBudget.thresholdPct = value;
180
- }
181
- else if (arg === "--output-token-budget-continuations" && i + 1 < args.length) {
182
- const value = parseNonNegativeIntegerOption(arg, args[++i]);
183
- if (value !== undefined)
184
- outputTokenBudget.maxContinuations = value;
185
- }
186
- else if (arg === "--max-output-token-recovery-attempts" && i + 1 < args.length) {
187
- const value = parseNonNegativeIntegerOption(arg, args[++i]);
188
- if (value !== undefined)
189
- setLoopPolicyOption(result, "maxOutputTokenRecoveryAttempts", value);
190
- }
191
- else if (arg === "--max-model-error-recovery-attempts" && i + 1 < args.length) {
192
- const value = parseNonNegativeIntegerOption(arg, args[++i]);
193
- if (value !== undefined)
194
- setLoopPolicyOption(result, "maxModelErrorRecoveryAttempts", value);
195
- }
196
- else if (arg === "--max-stop-hook-continuations" && i + 1 < args.length) {
197
- const value = parseNonNegativeIntegerOption(arg, args[++i]);
198
- if (value !== undefined)
199
- setLoopPolicyOption(result, "maxStopHookContinuations", value);
200
- }
201
- else if (arg === "--export" && i + 1 < args.length) {
202
- result.export = args[++i];
203
- }
204
- else if ((arg === "--extension" || arg === "-e") && i + 1 < args.length) {
205
- result.extensions = result.extensions ?? [];
206
- result.extensions.push(args[++i]);
207
- }
208
- else if (arg === "--no-extensions" || arg === "-ne") {
209
- result.noExtensions = true;
210
- }
211
- else if (arg === "--skill" && i + 1 < args.length) {
212
- result.skills = result.skills ?? [];
213
- result.skills.push(args[++i]);
214
- }
215
- else if (arg === "--prompt-template" && i + 1 < args.length) {
216
- result.promptTemplates = result.promptTemplates ?? [];
217
- result.promptTemplates.push(args[++i]);
218
- }
219
- else if (arg === "--theme" && i + 1 < args.length) {
220
- result.themes = result.themes ?? [];
221
- result.themes.push(args[++i]);
222
- }
223
- else if (arg === "--no-skills" || arg === "-ns") {
224
- result.noSkills = true;
225
- }
226
- else if (arg === "--no-prompt-templates" || arg === "-np") {
227
- result.noPromptTemplates = true;
228
- }
229
- else if (arg === "--no-themes") {
230
- result.noThemes = true;
231
- }
232
- else if (arg === "--list-models") {
233
- // Check if next arg is a search pattern (not a flag or file arg)
234
- if (i + 1 < args.length && !args[i + 1].startsWith("-") && !args[i + 1].startsWith("@")) {
235
- result.listModels = args[++i];
236
- }
237
- else {
238
- result.listModels = true;
239
- }
240
- }
241
- else if (arg === "--verbose") {
242
- result.verbose = true;
243
- }
244
- else if (arg === "--offline") {
245
- result.offline = true;
246
- }
247
- else if (arg === "--disable-soul") {
248
- result.disableSoul = true;
249
- }
250
- else if (arg === "--no-mcp") {
251
- result.noMcp = true;
252
- }
253
- else if (arg === "--acp") {
254
- result.acp = true;
255
- }
256
- else if (arg === "--agent" && i + 1 < args.length) {
257
- result.agent = args[++i];
258
- }
259
- else if (arg.startsWith("@")) {
260
- result.fileArgs.push(arg.slice(1)); // Remove @ prefix
261
- }
262
- else if (arg.startsWith("--") && extensionFlags) {
263
- // Check if it's an extension-registered flag
264
- const flagName = arg.slice(2);
265
- const extFlag = extensionFlags.get(flagName);
266
- if (extFlag) {
267
- if (extFlag.type === "boolean") {
268
- result.unknownFlags.set(flagName, true);
269
- }
270
- else if (extFlag.type === "string" && i + 1 < args.length) {
271
- result.unknownFlags.set(flagName, args[++i]);
272
- }
273
- }
274
- // Unknown flags without extensionFlags are silently ignored (first pass)
275
- }
276
- else if (!arg.startsWith("-")) {
277
- result.messages.push(arg);
278
- }
279
- }
280
- if (outputTokenBudget.targetTokens !== undefined) {
281
- setLoopPolicyOption(result, "outputTokenBudget", {
282
- targetTokens: outputTokenBudget.targetTokens,
283
- thresholdPct: outputTokenBudget.thresholdPct,
284
- maxContinuations: outputTokenBudget.maxContinuations,
285
- });
286
- }
287
- return result;
288
- }
289
- export function printHelp() {
290
- console.log(`${chalk.bold(APP_NAME)} - AI coding assistant with read, bash, edit, write tools
1
+ var v=Object.defineProperty;var p=(e,l)=>v(e,"name",{value:l,configurable:!0});import{normalizeAgentLoopFramework as k}from"@pencil-agent/agent-core";import r from"chalk";import{APP_NAME as s,CONFIG_DIR_NAME as h,ENV_AGENT_DIR as g}from"../config.js";import{allTools as A}from"../core/tools/index.js";const I=["off","minimal","low","medium","high","xhigh"];function y(e){return I.includes(e)}p(y,"isValidThinkingLevel");function E(e){const l=k(e);if(l==="standard"||l==="weak-model-compatible")return l}p(E,"parseAgentLoopFramework");function c(e,l){const o=Number(l);if(Number.isInteger(o)&&o>0)return o;console.error(r.yellow(`Warning: Invalid ${e} value "${l}". Expected a positive integer.`))}p(c,"parsePositiveIntegerOption");function f(e,l){const o=Number(l);if(Number.isInteger(o)&&o>=0)return o;console.error(r.yellow(`Warning: Invalid ${e} value "${l}". Expected a non-negative integer.`))}p(f,"parseNonNegativeIntegerOption");function x(e,l){const o=Number(l);if(Number.isFinite(o)&&o>0&&o<=1)return o;console.error(r.yellow(`Warning: Invalid ${e} value "${l}". Expected a number in (0, 1].`))}p(x,"parseUnitIntervalOption");function d(e,l,o){e.loopPolicy=e.loopPolicy??{},e.loopPolicy[l]=o}p(d,"setLoopPolicyOption");function O(e,l){const o={messages:[],fileArgs:[],unknownFlags:new Map},m={};for(let n=0;n<e.length;n++){const t=e[n];if(t==="--help"||t==="-h")o.help=!0;else if(t==="--version"||t==="-v")o.version=!0;else if(t==="--mode"&&n+1<e.length){const i=e[++n];(i==="text"||i==="json"||i==="rpc")&&(o.mode=i)}else if(t==="--continue"||t==="-c")o.continue=!0;else if(t==="--resume"||t==="-r")o.resume=!0;else if(t==="--provider"&&n+1<e.length)o.provider=e[++n];else if(t==="--cwd"&&n+1<e.length)o.cwd=e[++n];else if(t==="--model"&&n+1<e.length)o.model=e[++n];else if(t==="--api-key"&&n+1<e.length)o.apiKey=e[++n];else if(t==="--system-prompt"&&n+1<e.length)o.systemPrompt=e[++n];else if(t==="--append-system-prompt"&&n+1<e.length)o.appendSystemPrompt=e[++n];else if(t==="--no-session")o.noSession=!0;else if(t==="--session"&&n+1<e.length)o.session=e[++n];else if(t==="--session-dir"&&n+1<e.length)o.sessionDir=e[++n];else if(t==="--models"&&n+1<e.length)o.models=e[++n].split(",").map(i=>i.trim());else if(t==="--no-tools")o.noTools=!0;else if(t==="--tools"&&n+1<e.length){const i=e[++n].split(",").map(u=>u.trim()),a=[];for(const u of i)u in A?a.push(u):console.error(r.yellow(`Warning: Unknown tool "${u}". Valid tools: ${Object.keys(A).join(", ")}`));o.tools=a}else if(t==="--thinking"&&n+1<e.length){const i=e[++n];y(i)?o.thinking=i:console.error(r.yellow(`Warning: Invalid thinking level "${i}". Valid values: ${I.join(", ")}`))}else if(t==="--print"||t==="-p")o.print=!0;else if(t==="--print-loop-result")o.printLoopResult=!0;else if(t==="--fail-on-agent-error")o.failOnAgentError=!0;else if(t==="--fail-on-tool-denial")o.failOnToolDenial=!0;else if(t==="--agent-loop"&&n+1<e.length){const i=e[++n],a=E(i);a?o.agentLoopFramework=a:console.error(r.yellow(`Warning: Invalid agent loop framework "${i}". Valid values: standard, weak-model-compatible.`))}else if(t==="--max-turns-per-prompt"&&n+1<e.length){const i=c(t,e[++n]);i!==void 0&&d(o,"maxTurnsPerPrompt",i)}else if(t==="--max-tool-calls-per-prompt"&&n+1<e.length){const i=c(t,e[++n]);i!==void 0&&d(o,"maxToolCallsPerPrompt",i)}else if(t==="--max-tool-concurrency"&&n+1<e.length){const i=c(t,e[++n]);i!==void 0&&d(o,"maxToolConcurrency",i)}else if(t==="--max-tool-result-batch-size-chars"&&n+1<e.length){const i=c(t,e[++n]);i!==void 0&&d(o,"maxToolResultBatchSizeChars",i)}else if(t==="--output-token-budget"&&n+1<e.length){const i=c(t,e[++n]);i!==void 0&&(m.targetTokens=i)}else if(t==="--output-token-budget-threshold"&&n+1<e.length){const i=x(t,e[++n]);i!==void 0&&(m.thresholdPct=i)}else if(t==="--output-token-budget-continuations"&&n+1<e.length){const i=f(t,e[++n]);i!==void 0&&(m.maxContinuations=i)}else if(t==="--max-output-token-recovery-attempts"&&n+1<e.length){const i=f(t,e[++n]);i!==void 0&&d(o,"maxOutputTokenRecoveryAttempts",i)}else if(t==="--max-model-error-recovery-attempts"&&n+1<e.length){const i=f(t,e[++n]);i!==void 0&&d(o,"maxModelErrorRecoveryAttempts",i)}else if(t==="--max-stop-hook-continuations"&&n+1<e.length){const i=f(t,e[++n]);i!==void 0&&d(o,"maxStopHookContinuations",i)}else if(t==="--export"&&n+1<e.length)o.export=e[++n];else if((t==="--extension"||t==="-e")&&n+1<e.length)o.extensions=o.extensions??[],o.extensions.push(e[++n]);else if(t==="--no-extensions"||t==="-ne")o.noExtensions=!0;else if(t==="--skill"&&n+1<e.length)o.skills=o.skills??[],o.skills.push(e[++n]);else if(t==="--prompt-template"&&n+1<e.length)o.promptTemplates=o.promptTemplates??[],o.promptTemplates.push(e[++n]);else if(t==="--theme"&&n+1<e.length)o.themes=o.themes??[],o.themes.push(e[++n]);else if(t==="--no-skills"||t==="-ns")o.noSkills=!0;else if(t==="--no-prompt-templates"||t==="-np")o.noPromptTemplates=!0;else if(t==="--no-themes")o.noThemes=!0;else if(t==="--list-models")n+1<e.length&&!e[n+1].startsWith("-")&&!e[n+1].startsWith("@")?o.listModels=e[++n]:o.listModels=!0;else if(t==="--refresh-models")o.refreshModels=!0;else if(t==="--verbose")o.verbose=!0;else if(t==="--offline")o.offline=!0;else if(t==="--disable-soul")o.disableSoul=!0;else if(t==="--no-mcp")o.noMcp=!0;else if(t==="--acp")o.acp=!0;else if(t==="--agent"&&n+1<e.length)o.agent=e[++n];else if(t.startsWith("@"))o.fileArgs.push(t.slice(1));else if(t.startsWith("--")&&l){const i=t.slice(2),a=l.get(i);a&&(a.type==="boolean"?o.unknownFlags.set(i,!0):a.type==="string"&&n+1<e.length&&o.unknownFlags.set(i,e[++n]))}else t.startsWith("-")||o.messages.push(t)}return m.targetTokens!==void 0&&d(o,"outputTokenBudget",{targetTokens:m.targetTokens,thresholdPct:m.thresholdPct,maxContinuations:m.maxContinuations}),o}p(O,"parseArgs");function S(){console.log(`${r.bold(s)} - AI coding assistant with read, bash, edit, write tools
291
2
 
292
- ${chalk.bold("Usage:")}
293
- ${APP_NAME} [options] [@files...] [messages...]
3
+ ${r.bold("Usage:")}
4
+ ${s} [options] [@files...] [messages...]
294
5
 
295
- ${chalk.bold("Commands:")}
296
- ${APP_NAME} install <source> [-l] Install extension source and add to settings
297
- ${APP_NAME} remove <source> [-l] Remove extension source from settings
298
- ${APP_NAME} update [source] Update installed extensions (skips pinned sources)
299
- ${APP_NAME} list List installed extensions from settings
300
- ${APP_NAME} config Open TUI to enable/disable package resources
301
- ${APP_NAME} migrate Migrate data from legacy ~/.nanopencil to ~/.pencils
302
- ${APP_NAME} <command> --help Show help for commands
6
+ ${r.bold("Commands:")}
7
+ ${s} install <source> [-l] Install extension source and add to settings
8
+ ${s} remove <source> [-l] Remove extension source from settings
9
+ ${s} update [source] Update installed extensions (skips pinned sources)
10
+ ${s} list List installed extensions from settings
11
+ ${s} config Open TUI to enable/disable package resources
12
+ ${s} migrate Migrate data from legacy ~/.nanopencil to ~/.pencils
13
+ ${s} <command> --help Show help for commands
303
14
 
304
- ${chalk.bold("Options:")}
15
+ ${r.bold("Options:")}
305
16
  --provider <name> Provider name (default: google)
306
17
  --cwd <dir> Working directory to use for project-local discovery
307
18
  --model <pattern> Model pattern or ID (supports "provider/id" and optional ":<thinking>")
@@ -345,6 +56,7 @@ ${chalk.bold("Options:")}
345
56
  --no-themes Disable theme discovery and loading
346
57
  --export <file> Export session file to HTML and exit
347
58
  --list-models [search] List available models (with optional fuzzy search)
59
+ --refresh-models Refresh remote model lists via discovery (use with --list-models)
348
60
  --verbose Force verbose startup (overrides quietStartup setting)
349
61
  --offline Disable startup network operations (same as NANOPENCIL_OFFLINE=1)
350
62
  --disable-soul Disable Soul (AI personality evolution)
@@ -356,54 +68,54 @@ ${chalk.bold("Options:")}
356
68
 
357
69
  Extensions can register additional flags (e.g., --plan from plan-mode extension).
358
70
 
359
- ${chalk.bold("Examples:")}
71
+ ${r.bold("Examples:")}
360
72
  # Interactive mode
361
- ${APP_NAME}
73
+ ${s}
362
74
 
363
75
  # Interactive mode with initial prompt
364
- ${APP_NAME} "List all .ts files in src/"
76
+ ${s} "List all .ts files in src/"
365
77
 
366
78
  # Include files in initial message
367
- ${APP_NAME} @prompt.md @image.png "What color is the sky?"
79
+ ${s} @prompt.md @image.png "What color is the sky?"
368
80
 
369
81
  # Non-interactive mode (process and exit)
370
- ${APP_NAME} -p "List all .ts files in src/"
82
+ ${s} -p "List all .ts files in src/"
371
83
 
372
84
  # Multiple messages (interactive)
373
- ${APP_NAME} "Read package.json" "What dependencies do we have?"
85
+ ${s} "Read package.json" "What dependencies do we have?"
374
86
 
375
87
  # Continue previous session
376
- ${APP_NAME} --continue "What did we discuss?"
88
+ ${s} --continue "What did we discuss?"
377
89
 
378
90
  # Use different model
379
- ${APP_NAME} --provider openai --model gpt-4o-mini "Help me refactor this code"
91
+ ${s} --provider openai --model gpt-4o-mini "Help me refactor this code"
380
92
 
381
93
  # Use model with provider prefix (no --provider needed)
382
- ${APP_NAME} --model openai/gpt-4o "Help me refactor this code"
94
+ ${s} --model openai/gpt-4o "Help me refactor this code"
383
95
 
384
96
  # Use model with thinking level shorthand
385
- ${APP_NAME} --model sonnet:high "Solve this complex problem"
97
+ ${s} --model sonnet:high "Solve this complex problem"
386
98
 
387
99
  # Limit model cycling to specific models
388
- ${APP_NAME} --models claude-sonnet,claude-haiku,gpt-4o
100
+ ${s} --models claude-sonnet,claude-haiku,gpt-4o
389
101
 
390
102
  # Limit to a specific provider with glob pattern
391
- ${APP_NAME} --models "github-copilot/*"
103
+ ${s} --models "github-copilot/*"
392
104
 
393
105
  # Cycle models with fixed thinking levels
394
- ${APP_NAME} --models sonnet:high,haiku:low
106
+ ${s} --models sonnet:high,haiku:low
395
107
 
396
108
  # Start with a specific thinking level
397
- ${APP_NAME} --thinking high "Solve this complex problem"
109
+ ${s} --thinking high "Solve this complex problem"
398
110
 
399
111
  # Read-only mode (no file modifications possible)
400
- ${APP_NAME} --tools read,grep,find,ls -p "Review the code in src/"
112
+ ${s} --tools read,grep,find,ls -p "Review the code in src/"
401
113
 
402
114
  # Export a session file to HTML
403
- ${APP_NAME} --export ~/${CONFIG_DIR_NAME}/agent/sessions/--path--/session.jsonl
404
- ${APP_NAME} --export session.jsonl output.html
115
+ ${s} --export ~/${h}/agent/sessions/--path--/session.jsonl
116
+ ${s} --export session.jsonl output.html
405
117
 
406
- ${chalk.bold("Environment Variables:")}
118
+ ${r.bold("Environment Variables:")}
407
119
  ANTHROPIC_API_KEY - Anthropic Claude API key
408
120
  ANTHROPIC_OAUTH_TOKEN - Anthropic OAuth token (alternative to API key)
409
121
  OPENAI_API_KEY - OpenAI GPT API key
@@ -427,15 +139,15 @@ ${chalk.bold("Environment Variables:")}
427
139
  AWS_SECRET_ACCESS_KEY - AWS secret key for Amazon Bedrock
428
140
  AWS_BEARER_TOKEN_BEDROCK - Bedrock API key (bearer token)
429
141
  AWS_REGION - AWS region for Amazon Bedrock (e.g., us-east-1)
430
- ${`${APP_NAME.toUpperCase()}_CWD`.padEnd(32)} - Working directory override for project-local discovery
431
- ${ENV_AGENT_DIR.padEnd(32)} - Session storage directory (default: ~/${CONFIG_DIR_NAME}/agent)
142
+ ${`${s.toUpperCase()}_CWD`.padEnd(32)} - Working directory override for project-local discovery
143
+ ${g.padEnd(32)} - Session storage directory (default: ~/${h}/agent)
432
144
  NANOPENCIL_PACKAGE_DIR - Override package directory (for Nix/Guix store paths)
433
145
  NANOPENCIL_OFFLINE - Disable startup network operations when set to 1/true/yes
434
146
  NANOPENCIL_TOOLS_DOWNLOAD_TIMEOUT_MS - Timeout in ms for downloading fd/ripgrep (default: 60000)
435
147
  NANOPENCIL_SHARE_VIEWER_URL - Base URL for /share command (default: https://nanopencil.dev/session/)
436
148
  NANOPENCIL_AI_ANTIGRAVITY_VERSION - Override Antigravity User-Agent version (e.g., 1.23.0)
437
149
 
438
- ${chalk.bold("Available Tools (default: read, bash, edit, write):")}
150
+ ${r.bold("Available Tools (default: read, bash, edit, write):")}
439
151
  read - Read file contents
440
152
  bash - Execute bash commands
441
153
  edit - Edit files with find/replace
@@ -443,5 +155,4 @@ ${chalk.bold("Available Tools (default: read, bash, edit, write):")}
443
155
  grep - Search file contents (read-only, off by default)
444
156
  find - Find files by glob pattern (read-only, off by default)
445
157
  ls - List directory contents (read-only, off by default)
446
- `);
447
- }
158
+ `)}p(S,"printHelp");export{y as isValidThinkingLevel,O as parseArgs,S as printHelp};
@@ -1,33 +1 @@
1
- /**
2
- * [WHO]: ConfigSelectorOptions, ConfigSelector, runConfigSelector()
3
- * [FROM]: Depends on tui, core/platform/config, modes/interactive/components
4
- * [TO]: Consumed by main.ts
5
- * [HERE]: cli/config-selector.ts - TUI config selector for `nanopencil config` command
6
- */
7
- import { ProcessTerminal, TUI } from "@pencil-agent/tui";
8
- import { ConfigSelectorComponent } from "../modes/interactive/components/config-selector.js";
9
- import { initTheme, stopThemeWatcher } from "../modes/interactive/theme/theme.js";
10
- /** Show TUI config selector and return when closed */
11
- export async function selectConfig(options) {
12
- // Initialize theme before showing TUI
13
- initTheme(options.settingsManager.getTheme(), true);
14
- return new Promise((resolve) => {
15
- const ui = new TUI(new ProcessTerminal());
16
- let resolved = false;
17
- const selector = new ConfigSelectorComponent(options.resolvedPaths, options.settingsManager, options.cwd, options.agentDir, () => {
18
- if (!resolved) {
19
- resolved = true;
20
- ui.stop();
21
- stopThemeWatcher();
22
- resolve();
23
- }
24
- }, () => {
25
- ui.stop();
26
- stopThemeWatcher();
27
- process.exit(0);
28
- }, () => ui.requestRender());
29
- ui.addChild(selector);
30
- ui.setFocus(selector.getResourceList());
31
- ui.start();
32
- });
33
- }
1
+ var c=Object.defineProperty;var o=(e,r)=>c(e,"name",{value:r,configurable:!0});import{ProcessTerminal as a,TUI as m}from"@pencil-agent/tui";import{ConfigSelectorComponent as g}from"../modes/interactive/components/config-selector.js";import{initTheme as l,stopThemeWatcher as i}from"../modes/interactive/theme/theme.js";async function p(e){return l(e.settingsManager.getTheme(),!0),new Promise(r=>{const t=new m(new a);let s=!1;const n=new g(e.resolvedPaths,e.settingsManager,e.cwd,e.agentDir,()=>{s||(s=!0,t.stop(),i(),r())},()=>{t.stop(),i(),process.exit(0)},()=>t.requestRender());t.addChild(n),t.setFocus(n.getResourceList()),t.start()})}o(p,"selectConfig");export{p as selectConfig};
@@ -1,81 +1,6 @@
1
- /**
2
- * [WHO]: ProcessedFiles, processFileArguments()
3
- * [FROM]: Depends on node:fs/promises, ai, chalk, core/tools/path-utils, modes/utils
4
- * [TO]: Consumed by main.ts
5
- * [HERE]: cli/file-processor.ts - process @file CLI arguments into content
6
- */
7
- import { access, readFile, stat } from "node:fs/promises";
8
- import chalk from "chalk";
9
- import { resolve } from "path";
10
- import { resolveReadPath } from "../core/tools/path-utils.js";
11
- import { formatDimensionNote, resizeImage } from "../modes/utils/image-resize.js";
12
- import { detectSupportedImageMimeTypeFromFile } from "../utils/mime.js";
13
- /** Process @file arguments into text content and image attachments */
14
- export async function processFileArguments(fileArgs, options) {
15
- const autoResizeImages = options?.autoResizeImages ?? true;
16
- let text = "";
17
- const images = [];
18
- for (const fileArg of fileArgs) {
19
- // Expand and resolve path (handles ~ expansion and macOS screenshot Unicode spaces)
20
- const absolutePath = resolve(resolveReadPath(fileArg, process.cwd()));
21
- // Check if file exists
22
- try {
23
- await access(absolutePath);
24
- }
25
- catch {
26
- console.error(chalk.red(`Error: File not found: ${absolutePath}`));
27
- process.exit(1);
28
- }
29
- // Check if file is empty
30
- const stats = await stat(absolutePath);
31
- if (stats.size === 0) {
32
- // Skip empty files
33
- continue;
34
- }
35
- const mimeType = await detectSupportedImageMimeTypeFromFile(absolutePath);
36
- if (mimeType) {
37
- // Handle image file
38
- const content = await readFile(absolutePath);
39
- const base64Content = content.toString("base64");
40
- let attachment;
41
- let dimensionNote;
42
- if (autoResizeImages) {
43
- const resized = await resizeImage({ type: "image", data: base64Content, mimeType });
44
- dimensionNote = formatDimensionNote(resized);
45
- attachment = {
46
- type: "image",
47
- mimeType: resized.mimeType,
48
- data: resized.data,
49
- };
50
- }
51
- else {
52
- attachment = {
53
- type: "image",
54
- mimeType,
55
- data: base64Content,
56
- };
57
- }
58
- images.push(attachment);
59
- // Add text reference to image with optional dimension note
60
- if (dimensionNote) {
61
- text += `<file name="${absolutePath}">${dimensionNote}</file>\n`;
62
- }
63
- else {
64
- text += `<file name="${absolutePath}"></file>\n`;
65
- }
66
- }
67
- else {
68
- // Handle text file
69
- try {
70
- const content = await readFile(absolutePath, "utf-8");
71
- text += `<file name="${absolutePath}">\n${content}\n</file>\n`;
72
- }
73
- catch (error) {
74
- const message = error instanceof Error ? error.message : String(error);
75
- console.error(chalk.red(`Error: Could not read file ${absolutePath}: ${message}`));
76
- process.exit(1);
77
- }
78
- }
79
- }
80
- return { text, images };
81
- }
1
+ var y=Object.defineProperty;var l=(a,s)=>y(a,"name",{value:s,configurable:!0});import{access as $,readFile as p,stat as h}from"node:fs/promises";import d from"chalk";import{resolve as w}from"path";import{resolveReadPath as z}from"../core/tools/path-utils.js";import{formatDimensionNote as F,resizeImage as x}from"../modes/utils/image-resize.js";import{detectSupportedImageMimeTypeFromFile as I}from"../utils/mime.js";async function N(a,s){const g=s?.autoResizeImages??!0;let o="";const f=[];for(const u of a){const e=w(z(u,process.cwd()));try{await $(e)}catch{console.error(d.red(`Error: File not found: ${e}`)),process.exit(1)}if((await h(e)).size===0)continue;const i=await I(e);if(i){const r=(await p(e)).toString("base64");let n,m;if(g){const c=await x({type:"image",data:r,mimeType:i});m=F(c),n={type:"image",mimeType:c.mimeType,data:c.data}}else n={type:"image",mimeType:i,data:r};f.push(n),m?o+=`<file name="${e}">${m}</file>
2
+ `:o+=`<file name="${e}"></file>
3
+ `}else try{const t=await p(e,"utf-8");o+=`<file name="${e}">
4
+ ${t}
5
+ </file>
6
+ `}catch(t){const r=t instanceof Error?t.message:String(t);console.error(d.red(`Error: Could not read file ${e}: ${r}`)),process.exit(1)}}return{text:o,images:f}}l(N,"processFileArguments");export{N as processFileArguments};
@@ -1,5 +1,12 @@
1
1
  import type { ModelRegistry } from "../core/model-registry.js";
2
2
  /**
3
- * List available models, optionally filtered by search pattern
3
+ * List available models, optionally filtered by search pattern.
4
+ *
5
+ * @param modelRegistry Model registry to query
6
+ * @param searchPattern Optional fuzzy filter pattern
7
+ * @param options Optional flags:
8
+ * - `refresh`: run discovery before listing (fetches remote /models endpoints)
4
9
  */
5
- export declare function listModels(modelRegistry: ModelRegistry, searchPattern?: string): Promise<void>;
10
+ export declare function listModels(modelRegistry: ModelRegistry, searchPattern?: string, options?: {
11
+ refresh?: boolean;
12
+ }): Promise<void>;