@asterxsk/kiln 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (267) hide show
  1. package/README.md +2 -2
  2. package/agent/version.txt +1 -1
  3. package/bin/kiln.js +10 -8
  4. package/package.json +1 -1
  5. package/agent.bak.20260905-190020/AGENTS.md +0 -67
  6. package/agent.bak.20260905-190020/README.md +0 -5
  7. package/agent.bak.20260905-190020/extensions/ask-user/index.ts +0 -418
  8. package/agent.bak.20260905-190020/extensions/ask-user/install.ps1 +0 -23
  9. package/agent.bak.20260905-190020/extensions/ask-user/install.sh +0 -21
  10. package/agent.bak.20260905-190020/extensions/ask-user/package-lock.json +0 -769
  11. package/agent.bak.20260905-190020/extensions/ask-user/package.json +0 -19
  12. package/agent.bak.20260905-190020/extensions/ask-user/prompt.ts +0 -45
  13. package/agent.bak.20260905-190020/extensions/ask-user/tsconfig.json +0 -7
  14. package/agent.bak.20260905-190020/extensions/background-terminals/docs/implementation-guide.md +0 -942
  15. package/agent.bak.20260905-190020/extensions/background-terminals/index.ts +0 -629
  16. package/agent.bak.20260905-190020/extensions/background-terminals/install.ps1 +0 -23
  17. package/agent.bak.20260905-190020/extensions/background-terminals/install.sh +0 -21
  18. package/agent.bak.20260905-190020/extensions/background-terminals/package-lock.json +0 -769
  19. package/agent.bak.20260905-190020/extensions/background-terminals/package.json +0 -17
  20. package/agent.bak.20260905-190020/extensions/background-terminals/src/domain.ts +0 -87
  21. package/agent.bak.20260905-190020/extensions/background-terminals/src/manager.ts +0 -907
  22. package/agent.bak.20260905-190020/extensions/background-terminals/src/output.ts +0 -84
  23. package/agent.bak.20260905-190020/extensions/background-terminals/src/prompt.ts +0 -142
  24. package/agent.bak.20260905-190020/extensions/background-terminals/src/result-delivery.ts +0 -27
  25. package/agent.bak.20260905-190020/extensions/background-terminals/src/runtime.ts +0 -36
  26. package/agent.bak.20260905-190020/extensions/background-terminals/src/ui/output-view.ts +0 -79
  27. package/agent.bak.20260905-190020/extensions/background-terminals/src/ui/ps.ts +0 -621
  28. package/agent.bak.20260905-190020/extensions/background-terminals/src/widget-order.ts +0 -121
  29. package/agent.bak.20260905-190020/extensions/background-terminals/test/manager.test.ts +0 -735
  30. package/agent.bak.20260905-190020/extensions/background-terminals/test/output.test.ts +0 -109
  31. package/agent.bak.20260905-190020/extensions/background-terminals/test/prompt.test.ts +0 -125
  32. package/agent.bak.20260905-190020/extensions/background-terminals/test/ps.test.ts +0 -82
  33. package/agent.bak.20260905-190020/extensions/background-terminals/test/result-delivery.test.ts +0 -44
  34. package/agent.bak.20260905-190020/extensions/background-terminals/tsconfig.json +0 -7
  35. package/agent.bak.20260905-190020/extensions/destructive/README.md +0 -34
  36. package/agent.bak.20260905-190020/extensions/destructive/index.ts +0 -124
  37. package/agent.bak.20260905-190020/extensions/destructive/install.ps1 +0 -23
  38. package/agent.bak.20260905-190020/extensions/destructive/install.sh +0 -21
  39. package/agent.bak.20260905-190020/extensions/file-search/index.ts +0 -459
  40. package/agent.bak.20260905-190020/extensions/file-search/install.ps1 +0 -23
  41. package/agent.bak.20260905-190020/extensions/file-search/install.sh +0 -21
  42. package/agent.bak.20260905-190020/extensions/file-search/package-lock.json +0 -2253
  43. package/agent.bak.20260905-190020/extensions/file-search/package.json +0 -23
  44. package/agent.bak.20260905-190020/extensions/file-search/src/args.ts +0 -122
  45. package/agent.bak.20260905-190020/extensions/file-search/src/binaries.ts +0 -422
  46. package/agent.bak.20260905-190020/extensions/file-search/src/output.ts +0 -126
  47. package/agent.bak.20260905-190020/extensions/file-search/src/process.ts +0 -146
  48. package/agent.bak.20260905-190020/extensions/file-search/src/prompt.ts +0 -52
  49. package/agent.bak.20260905-190020/extensions/file-search/test/index.spec.ts +0 -443
  50. package/agent.bak.20260905-190020/extensions/file-search/tsconfig.json +0 -7
  51. package/agent.bak.20260905-190020/extensions/goal/README.md +0 -50
  52. package/agent.bak.20260905-190020/extensions/goal/index.ts +0 -155
  53. package/agent.bak.20260905-190020/extensions/goal/install.ps1 +0 -23
  54. package/agent.bak.20260905-190020/extensions/goal/install.sh +0 -21
  55. package/agent.bak.20260905-190020/extensions/kiln-update/README.md +0 -25
  56. package/agent.bak.20260905-190020/extensions/kiln-update/index.ts +0 -99
  57. package/agent.bak.20260905-190020/extensions/kiln-update/install.ps1 +0 -23
  58. package/agent.bak.20260905-190020/extensions/kiln-update/install.sh +0 -21
  59. package/agent.bak.20260905-190020/extensions/modelconf/PLAN.md +0 -915
  60. package/agent.bak.20260905-190020/extensions/modelconf/README.md +0 -66
  61. package/agent.bak.20260905-190020/extensions/modelconf/index.ts +0 -296
  62. package/agent.bak.20260905-190020/extensions/modelconf/install.ps1 +0 -23
  63. package/agent.bak.20260905-190020/extensions/modelconf/install.sh +0 -21
  64. package/agent.bak.20260905-190020/extensions/modelconf/package-lock.json +0 -1809
  65. package/agent.bak.20260905-190020/extensions/modelconf/package.json +0 -13
  66. package/agent.bak.20260905-190020/extensions/modelconf/src/fuzzy.ts +0 -26
  67. package/agent.bak.20260905-190020/extensions/modelconf/src/glob.ts +0 -13
  68. package/agent.bak.20260905-190020/extensions/modelconf/src/persistence.test.ts +0 -46
  69. package/agent.bak.20260905-190020/extensions/modelconf/src/persistence.ts +0 -164
  70. package/agent.bak.20260905-190020/extensions/modelconf/src/ui/ModelConfView.test.ts +0 -75
  71. package/agent.bak.20260905-190020/extensions/modelconf/src/ui/ModelConfView.ts +0 -1101
  72. package/agent.bak.20260905-190020/extensions/modelconf/tsconfig.json +0 -15
  73. package/agent.bak.20260905-190020/extensions/pi-web-access/CHANGELOG.md +0 -690
  74. package/agent.bak.20260905-190020/extensions/pi-web-access/LICENSE +0 -21
  75. package/agent.bak.20260905-190020/extensions/pi-web-access/README.md +0 -470
  76. package/agent.bak.20260905-190020/extensions/pi-web-access/SECURITY.md +0 -5
  77. package/agent.bak.20260905-190020/extensions/pi-web-access/activity.ts +0 -101
  78. package/agent.bak.20260905-190020/extensions/pi-web-access/auth-fetch.ts +0 -148
  79. package/agent.bak.20260905-190020/extensions/pi-web-access/banner.png +0 -0
  80. package/agent.bak.20260905-190020/extensions/pi-web-access/brightdata-unlocker.ts +0 -272
  81. package/agent.bak.20260905-190020/extensions/pi-web-access/chrome-cookies.ts +0 -669
  82. package/agent.bak.20260905-190020/extensions/pi-web-access/content-find.ts +0 -139
  83. package/agent.bak.20260905-190020/extensions/pi-web-access/credential-source.ts +0 -191
  84. package/agent.bak.20260905-190020/extensions/pi-web-access/data-uri-sanitize.ts +0 -406
  85. package/agent.bak.20260905-190020/extensions/pi-web-access/datalab-pdf-extract.ts +0 -568
  86. package/agent.bak.20260905-190020/extensions/pi-web-access/declared-web-links.ts +0 -173
  87. package/agent.bak.20260905-190020/extensions/pi-web-access/evidence/CONTRACT-EVIDENCE.md +0 -496
  88. package/agent.bak.20260905-190020/extensions/pi-web-access/evidence/contract-probe.mjs +0 -140
  89. package/agent.bak.20260905-190020/extensions/pi-web-access/exa.ts +0 -526
  90. package/agent.bak.20260905-190020/extensions/pi-web-access/extract.ts +0 -1196
  91. package/agent.bak.20260905-190020/extensions/pi-web-access/feature-config.ts +0 -29
  92. package/agent.bak.20260905-190020/extensions/pi-web-access/fetch-params.ts +0 -111
  93. package/agent.bak.20260905-190020/extensions/pi-web-access/gemini-adc.ts +0 -298
  94. package/agent.bak.20260905-190020/extensions/pi-web-access/gemini-api.ts +0 -353
  95. package/agent.bak.20260905-190020/extensions/pi-web-access/gemini-pdf-extract.ts +0 -108
  96. package/agent.bak.20260905-190020/extensions/pi-web-access/gemini-search.ts +0 -21
  97. package/agent.bak.20260905-190020/extensions/pi-web-access/gemini-url-context.ts +0 -128
  98. package/agent.bak.20260905-190020/extensions/pi-web-access/gemini-web-config.ts +0 -101
  99. package/agent.bak.20260905-190020/extensions/pi-web-access/gemini-web.ts +0 -487
  100. package/agent.bak.20260905-190020/extensions/pi-web-access/github-api.ts +0 -197
  101. package/agent.bak.20260905-190020/extensions/pi-web-access/github-extract.ts +0 -746
  102. package/agent.bak.20260905-190020/extensions/pi-web-access/github-issue-pr.ts +0 -700
  103. package/agent.bak.20260905-190020/extensions/pi-web-access/index.ts +0 -1737
  104. package/agent.bak.20260905-190020/extensions/pi-web-access/package-lock.json +0 -5808
  105. package/agent.bak.20260905-190020/extensions/pi-web-access/package.json +0 -64
  106. package/agent.bak.20260905-190020/extensions/pi-web-access/page-query.ts +0 -96
  107. package/agent.bak.20260905-190020/extensions/pi-web-access/pdf-extract.ts +0 -409
  108. package/agent.bak.20260905-190020/extensions/pi-web-access/pi-web-fetch-demo.mp4 +0 -0
  109. package/agent.bak.20260905-190020/extensions/pi-web-access/promise-try.d.ts +0 -7
  110. package/agent.bak.20260905-190020/extensions/pi-web-access/query-rewrite.ts +0 -51
  111. package/agent.bak.20260905-190020/extensions/pi-web-access/render-search-error.ts +0 -170
  112. package/agent.bak.20260905-190020/extensions/pi-web-access/rsc-extract.ts +0 -338
  113. package/agent.bak.20260905-190020/extensions/pi-web-access/search-types.ts +0 -20
  114. package/agent.bak.20260905-190020/extensions/pi-web-access/source-check.ts +0 -282
  115. package/agent.bak.20260905-190020/extensions/pi-web-access/ssrf-protection.ts +0 -526
  116. package/agent.bak.20260905-190020/extensions/pi-web-access/storage.ts +0 -521
  117. package/agent.bak.20260905-190020/extensions/pi-web-access/summary-model-scope.ts +0 -125
  118. package/agent.bak.20260905-190020/extensions/pi-web-access/test/auth-fetch.test.mjs +0 -208
  119. package/agent.bak.20260905-190020/extensions/pi-web-access/test/brightdata-unlocker.test.mjs +0 -840
  120. package/agent.bak.20260905-190020/extensions/pi-web-access/test/chrome-cookie-extraction.test.mjs +0 -441
  121. package/agent.bak.20260905-190020/extensions/pi-web-access/test/config-path.test.mjs +0 -283
  122. package/agent.bak.20260905-190020/extensions/pi-web-access/test/content-find.test.mjs +0 -25
  123. package/agent.bak.20260905-190020/extensions/pi-web-access/test/credential-source.test.mjs +0 -118
  124. package/agent.bak.20260905-190020/extensions/pi-web-access/test/data-uri-sanitize.test.mjs +0 -210
  125. package/agent.bak.20260905-190020/extensions/pi-web-access/test/datalab-pdf-extract.test.mjs +0 -552
  126. package/agent.bak.20260905-190020/extensions/pi-web-access/test/declared-web-links.test.mjs +0 -212
  127. package/agent.bak.20260905-190020/extensions/pi-web-access/test/fetch-answer-storage.test.mjs +0 -40
  128. package/agent.bak.20260905-190020/extensions/pi-web-access/test/fetch-cache-storage.test.mjs +0 -334
  129. package/agent.bak.20260905-190020/extensions/pi-web-access/test/fetch-content-domain-policy.test.mjs +0 -95
  130. package/agent.bak.20260905-190020/extensions/pi-web-access/test/fetch-modes.test.mjs +0 -53
  131. package/agent.bak.20260905-190020/extensions/pi-web-access/test/fetch-not-found-guidance.test.mjs +0 -92
  132. package/agent.bak.20260905-190020/extensions/pi-web-access/test/fetch-params.test.mjs +0 -86
  133. package/agent.bak.20260905-190020/extensions/pi-web-access/test/fetch-render-call.test.mjs +0 -34
  134. package/agent.bak.20260905-190020/extensions/pi-web-access/test/fetch-routing.test.mjs +0 -173
  135. package/agent.bak.20260905-190020/extensions/pi-web-access/test/gemini-adc-auth.test.mjs +0 -257
  136. package/agent.bak.20260905-190020/extensions/pi-web-access/test/gemini-api-transport.test.mjs +0 -170
  137. package/agent.bak.20260905-190020/extensions/pi-web-access/test/gemini-pdf-extract.test.mjs +0 -133
  138. package/agent.bak.20260905-190020/extensions/pi-web-access/test/gemini-web-cookie-opt-in.test.mjs +0 -178
  139. package/agent.bak.20260905-190020/extensions/pi-web-access/test/gemini-web-header-overflow.test.mjs +0 -148
  140. package/agent.bak.20260905-190020/extensions/pi-web-access/test/get-search-content.test.mjs +0 -223
  141. package/agent.bak.20260905-190020/extensions/pi-web-access/test/github-extract.test.mjs +0 -378
  142. package/agent.bak.20260905-190020/extensions/pi-web-access/test/github-issue-pr.test.mjs +0 -565
  143. package/agent.bak.20260905-190020/extensions/pi-web-access/test/inline-content-config.test.mjs +0 -99
  144. package/agent.bak.20260905-190020/extensions/pi-web-access/test/lazy-extract-load.test.mjs +0 -118
  145. package/agent.bak.20260905-190020/extensions/pi-web-access/test/local-video-oversize.test.mjs +0 -52
  146. package/agent.bak.20260905-190020/extensions/pi-web-access/test/package-typebox-dependency.test.mjs +0 -50
  147. package/agent.bak.20260905-190020/extensions/pi-web-access/test/page-query.test.mjs +0 -51
  148. package/agent.bak.20260905-190020/extensions/pi-web-access/test/pdf-config.test.mjs +0 -140
  149. package/agent.bak.20260905-190020/extensions/pi-web-access/test/pdf-extract.test.mjs +0 -500
  150. package/agent.bak.20260905-190020/extensions/pi-web-access/test/proxy-transport.test.mjs +0 -286
  151. package/agent.bak.20260905-190020/extensions/pi-web-access/test/query-rewrite.test.mjs +0 -52
  152. package/agent.bak.20260905-190020/extensions/pi-web-access/test/rsc-fallback.test.mjs +0 -102
  153. package/agent.bak.20260905-190020/extensions/pi-web-access/test/search-error-render.test.mjs +0 -152
  154. package/agent.bak.20260905-190020/extensions/pi-web-access/test/search-providers.test.mjs +0 -274
  155. package/agent.bak.20260905-190020/extensions/pi-web-access/test/source-check.test.mjs +0 -179
  156. package/agent.bak.20260905-190020/extensions/pi-web-access/test/ssrf-allow-ranges-config.test.mjs +0 -205
  157. package/agent.bak.20260905-190020/extensions/pi-web-access/test/ssrf-protection.test.mjs +0 -456
  158. package/agent.bak.20260905-190020/extensions/pi-web-access/test/summary-model-scope.test.mjs +0 -106
  159. package/agent.bak.20260905-190020/extensions/pi-web-access/test/tool-registration-config.test.mjs +0 -182
  160. package/agent.bak.20260905-190020/extensions/pi-web-access/test/web-search-answer-render.test.mjs +0 -66
  161. package/agent.bak.20260905-190020/extensions/pi-web-access/test/youtube-extract-errors.test.mjs +0 -64
  162. package/agent.bak.20260905-190020/extensions/pi-web-access/tsconfig.json +0 -11
  163. package/agent.bak.20260905-190020/extensions/pi-web-access/utils.ts +0 -451
  164. package/agent.bak.20260905-190020/extensions/pi-web-access/video-extract.ts +0 -392
  165. package/agent.bak.20260905-190020/extensions/pi-web-access/youtube-extract.ts +0 -328
  166. package/agent.bak.20260905-190020/extensions/shared/activity-status.ts +0 -31
  167. package/agent.bak.20260905-190020/extensions/shared/child-session.ts +0 -148
  168. package/agent.bak.20260905-190020/extensions/shared/context-utilization.ts +0 -47
  169. package/agent.bak.20260905-190020/extensions/shared/dashboard-state.ts +0 -99
  170. package/agent.bak.20260905-190020/extensions/shared/install.ps1 +0 -23
  171. package/agent.bak.20260905-190020/extensions/shared/install.sh +0 -21
  172. package/agent.bak.20260905-190020/extensions/shared/test/child-session.test.ts +0 -270
  173. package/agent.bak.20260905-190020/extensions/shared/test/context-utilization.test.ts +0 -48
  174. package/agent.bak.20260905-190020/extensions/shared/test/tool-call-timeout.test.ts +0 -117
  175. package/agent.bak.20260905-190020/extensions/shared/test/widget-order.test.ts +0 -167
  176. package/agent.bak.20260905-190020/extensions/shared/tool-call-timeout.ts +0 -104
  177. package/agent.bak.20260905-190020/extensions/skillsconf/README.md +0 -74
  178. package/agent.bak.20260905-190020/extensions/skillsconf/index.ts +0 -92
  179. package/agent.bak.20260905-190020/extensions/skillsconf/install.ps1 +0 -23
  180. package/agent.bak.20260905-190020/extensions/skillsconf/install.sh +0 -21
  181. package/agent.bak.20260905-190020/extensions/skillsconf/package-lock.json +0 -1809
  182. package/agent.bak.20260905-190020/extensions/skillsconf/package.json +0 -18
  183. package/agent.bak.20260905-190020/extensions/skillsconf/src/delete-skill.test.ts +0 -64
  184. package/agent.bak.20260905-190020/extensions/skillsconf/src/delete-skill.ts +0 -45
  185. package/agent.bak.20260905-190020/extensions/skillsconf/src/filter.test.ts +0 -80
  186. package/agent.bak.20260905-190020/extensions/skillsconf/src/filter.ts +0 -74
  187. package/agent.bak.20260905-190020/extensions/skillsconf/src/fuzzy.ts +0 -26
  188. package/agent.bak.20260905-190020/extensions/skillsconf/src/persistence.test.ts +0 -72
  189. package/agent.bak.20260905-190020/extensions/skillsconf/src/persistence.ts +0 -169
  190. package/agent.bak.20260905-190020/extensions/skillsconf/src/ui/SkillConfView.test.ts +0 -337
  191. package/agent.bak.20260905-190020/extensions/skillsconf/src/ui/SkillConfView.ts +0 -758
  192. package/agent.bak.20260905-190020/extensions/skillsconf/src/ui/text-input.ts +0 -91
  193. package/agent.bak.20260905-190020/extensions/skillsconf/src/ui/tui-helpers.ts +0 -144
  194. package/agent.bak.20260905-190020/extensions/skillsconf/tsconfig.json +0 -15
  195. package/agent.bak.20260905-190020/extensions/statusline/index.ts +0 -282
  196. package/agent.bak.20260905-190020/extensions/statusline/install.ps1 +0 -23
  197. package/agent.bak.20260905-190020/extensions/statusline/install.sh +0 -21
  198. package/agent.bak.20260905-190020/extensions/subagents/docs/design-plan.md +0 -568
  199. package/agent.bak.20260905-190020/extensions/subagents/docs/effect-v4-extension-guide.md +0 -354
  200. package/agent.bak.20260905-190020/extensions/subagents/docs/effect-v4-notes.md +0 -571
  201. package/agent.bak.20260905-190020/extensions/subagents/index.ts +0 -826
  202. package/agent.bak.20260905-190020/extensions/subagents/install.ps1 +0 -23
  203. package/agent.bak.20260905-190020/extensions/subagents/install.sh +0 -21
  204. package/agent.bak.20260905-190020/extensions/subagents/package-lock.json +0 -2244
  205. package/agent.bak.20260905-190020/extensions/subagents/package.json +0 -19
  206. package/agent.bak.20260905-190020/extensions/subagents/src/backend.ts +0 -73
  207. package/agent.bak.20260905-190020/extensions/subagents/src/backends/claude.ts +0 -701
  208. package/agent.bak.20260905-190020/extensions/subagents/src/backends/codex.ts +0 -1060
  209. package/agent.bak.20260905-190020/extensions/subagents/src/backends/pi.ts +0 -575
  210. package/agent.bak.20260905-190020/extensions/subagents/src/backends/stub.ts +0 -300
  211. package/agent.bak.20260905-190020/extensions/subagents/src/by-the-way.ts +0 -21
  212. package/agent.bak.20260905-190020/extensions/subagents/src/domain.ts +0 -253
  213. package/agent.bak.20260905-190020/extensions/subagents/src/format.ts +0 -74
  214. package/agent.bak.20260905-190020/extensions/subagents/src/manager.ts +0 -736
  215. package/agent.bak.20260905-190020/extensions/subagents/src/prompt.ts +0 -92
  216. package/agent.bak.20260905-190020/extensions/subagents/src/result-delivery.ts +0 -20
  217. package/agent.bak.20260905-190020/extensions/subagents/src/runtime.ts +0 -53
  218. package/agent.bak.20260905-190020/extensions/subagents/src/ui/takeover.ts +0 -583
  219. package/agent.bak.20260905-190020/extensions/subagents/src/ui/transcript.ts +0 -201
  220. package/agent.bak.20260905-190020/extensions/subagents/src/widget-order.ts +0 -121
  221. package/agent.bak.20260905-190020/extensions/subagents/test/by-the-way.test.ts +0 -29
  222. package/agent.bak.20260905-190020/extensions/subagents/test/claude.test.ts +0 -119
  223. package/agent.bak.20260905-190020/extensions/subagents/test/codex.test.ts +0 -102
  224. package/agent.bak.20260905-190020/extensions/subagents/test/context-usage.test.ts +0 -107
  225. package/agent.bak.20260905-190020/extensions/subagents/test/manager.test.ts +0 -276
  226. package/agent.bak.20260905-190020/extensions/subagents/test/result-delivery.test.ts +0 -27
  227. package/agent.bak.20260905-190020/extensions/subagents/test/takeover.test.ts +0 -29
  228. package/agent.bak.20260905-190020/extensions/subagents/tsconfig.json +0 -7
  229. package/agent.bak.20260905-190020/extensions/taste/index.ts +0 -443
  230. package/agent.bak.20260905-190020/extensions/taste/install.ps1 +0 -23
  231. package/agent.bak.20260905-190020/extensions/taste/install.sh +0 -21
  232. package/agent.bak.20260905-190020/extensions/todo/AGENTS.md +0 -38
  233. package/agent.bak.20260905-190020/extensions/todo/LICENSE +0 -21
  234. package/agent.bak.20260905-190020/extensions/todo/config.ts +0 -55
  235. package/agent.bak.20260905-190020/extensions/todo/index.ts +0 -151
  236. package/agent.bak.20260905-190020/extensions/todo/install.ps1 +0 -23
  237. package/agent.bak.20260905-190020/extensions/todo/install.sh +0 -21
  238. package/agent.bak.20260905-190020/extensions/todo/locales/de.json +0 -17
  239. package/agent.bak.20260905-190020/extensions/todo/locales/en.json +0 -15
  240. package/agent.bak.20260905-190020/extensions/todo/locales/es.json +0 -17
  241. package/agent.bak.20260905-190020/extensions/todo/locales/fr.json +0 -17
  242. package/agent.bak.20260905-190020/extensions/todo/locales/pt-BR.json +0 -17
  243. package/agent.bak.20260905-190020/extensions/todo/locales/pt.json +0 -17
  244. package/agent.bak.20260905-190020/extensions/todo/locales/ru.json +0 -17
  245. package/agent.bak.20260905-190020/extensions/todo/locales/uk.json +0 -17
  246. package/agent.bak.20260905-190020/extensions/todo/locales/zh.json +0 -17
  247. package/agent.bak.20260905-190020/extensions/todo/package-lock.json +0 -3358
  248. package/agent.bak.20260905-190020/extensions/todo/package.json +0 -67
  249. package/agent.bak.20260905-190020/extensions/todo/state/i18n-bridge.ts +0 -64
  250. package/agent.bak.20260905-190020/extensions/todo/state/invariants.ts +0 -20
  251. package/agent.bak.20260905-190020/extensions/todo/state/replay.ts +0 -38
  252. package/agent.bak.20260905-190020/extensions/todo/state/selectors.ts +0 -107
  253. package/agent.bak.20260905-190020/extensions/todo/state/state-reducer.ts +0 -326
  254. package/agent.bak.20260905-190020/extensions/todo/state/state.ts +0 -18
  255. package/agent.bak.20260905-190020/extensions/todo/state/store.ts +0 -82
  256. package/agent.bak.20260905-190020/extensions/todo/state/task-graph.ts +0 -57
  257. package/agent.bak.20260905-190020/extensions/todo/todo-overlay.ts +0 -204
  258. package/agent.bak.20260905-190020/extensions/todo/todo.ts +0 -155
  259. package/agent.bak.20260905-190020/extensions/todo/tool/response-envelope.ts +0 -109
  260. package/agent.bak.20260905-190020/extensions/todo/tool/types.ts +0 -206
  261. package/agent.bak.20260905-190020/extensions/todo/view/format.ts +0 -177
  262. package/agent.bak.20260905-190020/extensions/todo/widget-order.ts +0 -121
  263. package/agent.bak.20260905-190020/extensions/trim-context/README.md +0 -54
  264. package/agent.bak.20260905-190020/extensions/trim-context/index.ts +0 -487
  265. package/agent.bak.20260905-190020/extensions/trim-context/install.ps1 +0 -23
  266. package/agent.bak.20260905-190020/extensions/trim-context/install.sh +0 -21
  267. package/agent.bak.20260905-190020/keybindings.json +0 -7
@@ -1,66 +0,0 @@
1
- # modelconf
2
-
3
- Per-provider model visibility manager for pi.
4
-
5
- `/modelconf` opens a tab view — one tab per configured provider (providers that appear in `enabledModels` or have configured auth; falls back to all providers if none detected). Each tab shows `visible/total` counts. Switching tabs preserves per-provider cursor and filter state.
6
-
7
- ## Usage
8
-
9
- ```
10
- /modelconf
11
- ```
12
-
13
- Tab bar at top highlights the active provider `[provider vis/total]`. Models in the active tab are filtered and toggled independently — bulk operations are scoped to the active provider.
14
-
15
- ## Keybindings
16
-
17
- - `Tab` / `Shift-Tab` — switch provider tab (also `←` / `→` as alternative when not in search)
18
- - `/` — fuzzy search within active tab (filters `provider/modelId name`); `↑` / `↓` / `Home` / `End` navigate while typing, `Esc` clears filter, `Enter` keeps filter
19
- - `Space` — toggle visibility of selected model (`◉` visible / `○` hidden), marks `● unsaved`
20
- - `a` — add (show) whatever models are currently visible after search (whole tab when unfiltered)
21
- - `x` — hide whatever models are currently visible after search (whole tab when unfiltered)
22
- - `↑` / `↓` or `j` / `k` — navigate list; `Home` / `End` jump
23
- - `Enter` — save draft to `enabledModels` (writes `undefined` / removes key when all visible, sorted array otherwise); notifies and triggers `ctx.reload()` when available
24
- - `Esc` / `q` — close; if dirty, prompts `Discard changes? (y/N)`; `y` or `Esc` discards, `n` keeps editing. While filtered, first `Esc` clears filter.
25
-
26
- ### Empty states
27
-
28
- - Fuzzy yields 0 in active tab → `No models match 'q' in <provider>` + `Press Esc to clear filter`
29
-
30
- ### Scrolling & layout
31
-
32
- Visible rows are clamped to terminal height minus tab bar and chrome (`getAvailableHeight()` subtracts tab bar + dividers + optional search line, capped at 40 rows). Large catalogs paginate with a centered window around the cursor and a `(pos/total) in <provider>` indicator.
33
-
34
- ## Persistence
35
-
36
- Writes `enabledModels` in `~/.pi/agent/settings.json`:
37
-
38
- - All visible → `enabledModels` removed (`undefined`) to keep settings clean
39
- - Some hidden → sorted array of `provider/modelId` ids (stale ids filtered on save)
40
- - File missing → treated as all visible
41
- - Parse error → treated as all visible; save recreates file safely
42
-
43
- After save, a reload is triggered if `ctx.reload` is available; otherwise run `/reload` manually. The model picker (`/model`) reflects the new visibility.
44
-
45
- ## Keyboard shortcut
46
-
47
- `Ctrl+Alt+M` opens modelconf when supported by the host (registered via `pi.registerShortcut("ctrl+alt+m")` with a try/catch guard for API differences).
48
-
49
- ## Persistence edge cases
50
-
51
- - Stale ids in `enabledModels` are ignored for visibility but filtered on next save.
52
- - Save with all visible deletes the key rather than writing a full list.
53
- - Large providers (e.g. `opencode` with thousands of models) remain responsive — fuzzy filtering is scoped to the active tab and rendering is windowed.
54
-
55
- ## Example flow
56
-
57
- 1. `/modelconf` → opens tab view on first configured provider
58
- 2. `Tab` to `anthropic` tab → `/` type `mini` → fuzzy filters within that tab
59
- 3. `Space` toggles a model, `x` type `*free*` `Enter` excludes matches in that provider
60
- 4. `Enter` saves → `modelconf: saved N enabled models — reload to apply`
61
-
62
- ## Development
63
-
64
- ```bash
65
- npx tsc --noEmit --project ./tsconfig.json
66
- ```
@@ -1,296 +0,0 @@
1
- import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
2
- import { loadHiddenModels, getVisibilityMap, saveHiddenModels } from "./src/persistence.js";
3
- import { ModelConfView } from "./src/ui/ModelConfView.js";
4
- import fs from "node:fs";
5
- import os from "node:os";
6
- import path from "node:path";
7
- import { globToRegExp } from "./src/glob.js";
8
-
9
- // ---------- helpers for filtering main /model list ----------
10
- function settingsPath(): string {
11
- return path.join(os.homedir(), ".pi", "agent", "settings.json");
12
- }
13
-
14
- function loadHiddenModelsSync(): string[] | undefined {
15
- try {
16
- const raw = fs.readFileSync(settingsPath(), "utf8");
17
- const j = JSON.parse(raw) as { hiddenModels?: string[] };
18
- return j.hiddenModels;
19
- } catch {
20
- return undefined;
21
- }
22
- }
23
- // Backward compat alias
24
- function loadEnabledModelsSync(): string[] | undefined {
25
- return loadHiddenModelsSync();
26
- }
27
-
28
- const VALID_THINKING = new Set(["off", "minimal", "low", "medium", "high", "xhigh", "max"]);
29
-
30
- function stripThinkingLevel(pattern: string): string {
31
- const idx = pattern.lastIndexOf(":");
32
- if (idx !== -1) {
33
- const suffix = pattern.slice(idx + 1);
34
- if (VALID_THINKING.has(suffix)) return pattern.slice(0, idx);
35
- }
36
- return pattern;
37
- }
38
-
39
- function matchesPattern(modelRef: string, pattern: string): boolean {
40
- const pat = stripThinkingLevel(pattern);
41
- const lowerRef = modelRef.toLowerCase();
42
- const lowerPat = pat.toLowerCase();
43
- const bareId = modelRef.split("/").slice(1).join("/")?.toLowerCase() ?? lowerRef;
44
- const hasGlob = /[*?\[\]]/.test(pat);
45
- if (hasGlob) {
46
- const rx = globToRegExp(pat);
47
- // pi matches against full ref OR bare id via minimatch
48
- if (rx.test(modelRef)) return true;
49
- if (rx.test(bareId)) return true;
50
- // also try lower variants (globToRegExp is already i-flag)
51
- return false;
52
- } else {
53
- return lowerRef === lowerPat || bareId === lowerPat;
54
- }
55
- }
56
-
57
- function modelMatchesAnyPattern(modelRef: string, patterns: string[]): boolean {
58
- for (const p of patterns) if (matchesPattern(modelRef, p)) return true;
59
- return false;
60
- }
61
-
62
- function patchRuntime(runtime: any) {
63
- if (!runtime || runtime.__modelconfPatched) return;
64
- const origSnapshot = runtime.getAvailableSnapshot?.bind(runtime);
65
- const origGetAvailable = runtime.getAvailable?.bind(runtime);
66
- const origGetModels = runtime.getModels?.bind(runtime);
67
-
68
- if (typeof origSnapshot === "function") {
69
- runtime.getAvailableSnapshot = function (...args: any[]) {
70
- const base: any[] = origSnapshot(...args);
71
- const hidden = loadHiddenModelsSync();
72
- if (!hidden || hidden.length === 0) return base;
73
- const filtered = base.filter((m: any) => {
74
- const ref = `${m.provider}/${m.id}`;
75
- // Hide if matches hidden denylist (from full list). Keep visible otherwise.
76
- const isHidden = modelMatchesAnyPattern(ref, hidden) || modelMatchesAnyPattern(m.id ?? "", hidden);
77
- return !isHidden;
78
- });
79
- return filtered;
80
- };
81
- // keep original for modelconf's own unfiltered view
82
- runtime.__originalGetAvailableSnapshot = origSnapshot;
83
- }
84
-
85
- // also patch async getAvailable(providerId, opts) if present
86
- if (typeof origGetAvailable === "function") {
87
- runtime.getAvailable = async function (providerId?: string, opts?: any) {
88
- const base: any[] = await origGetAvailable(providerId, opts);
89
- const hidden = loadHiddenModelsSync();
90
- if (!hidden || hidden.length === 0) return base;
91
- // Always filter hidden from any provider query — hidden applies to full picker list
92
- const filtered = base.filter((m: any) => {
93
- const ref = `${m.provider}/${m.id}`;
94
- const isHidden = modelMatchesAnyPattern(ref, hidden) || modelMatchesAnyPattern(m.id ?? "", hidden);
95
- return !isHidden;
96
- });
97
- return filtered;
98
- };
99
- runtime.__originalGetAvailable = origGetAvailable;
100
- }
101
-
102
- runtime.__modelconfPatched = true;
103
- }
104
-
105
- function patchRegistry(registry: any) {
106
- if (!registry) return;
107
- // ModelRegistry.getAvailable is async and delegates to runtime; patching runtime is enough.
108
- // Also patch registry.getAvailableSnapshot if it exists (some pi versions expose it)
109
- if (typeof registry.getAvailableSnapshot === "function" && !registry.__modelconfPatched) {
110
- const orig = registry.getAvailableSnapshot.bind(registry);
111
- registry.getAvailableSnapshot = function (...args: any[]) {
112
- const base: any[] = orig(...args);
113
- const hidden = loadHiddenModelsSync();
114
- if (!hidden || hidden.length === 0) return base;
115
- const filtered = base.filter((m: any) => {
116
- const ref = `${m.provider}/${m.id}`;
117
- return !modelMatchesAnyPattern(ref, hidden);
118
- });
119
- return filtered;
120
- };
121
- registry.__originalGetAvailableSnapshot = orig;
122
- registry.__modelconfPatched = true;
123
- }
124
- if (registry.runtime) patchRuntime(registry.runtime);
125
- }
126
-
127
- export default function modelconf(pi: ExtensionAPI) {
128
- // patch on session start for every new session's runtime
129
- try {
130
- (pi as any).on?.("session_start", async (_ev: any, ctx: any) => {
131
- try {
132
- patchRegistry(ctx?.modelRegistry);
133
- } catch {}
134
- });
135
- } catch {}
136
-
137
- // also attempt to patch via global require at load time (best-effort, may be different copy)
138
- try {
139
- // try to find main pi runtime via ctx-less import — no-op if not found
140
- // we rely on patchRegistry on first command invocation as fallback
141
- } catch {}
142
-
143
- async function openModelConf(ctx: any) {
144
- if (ctx.mode !== "tui") {
145
- ctx.ui.notify("/modelconf requires TUI mode", "error");
146
- return;
147
- }
148
-
149
- // Ensure main list filtering is active for this session
150
- try {
151
- patchRegistry(ctx.modelRegistry);
152
- } catch {}
153
-
154
- const rawAll = ctx.modelRegistry.getAll() as any[];
155
- const allModelsRaw = rawAll.map((m) => ({
156
- provider: (m as any).provider ?? "unknown",
157
- id: (m as any).id ?? "",
158
- name: (m as any).name ?? (m as any).id ?? "",
159
- }));
160
-
161
- const hiddenRaw = await loadHiddenModels();
162
- const allIds = allModelsRaw.map((m) => `${m.provider}/${m.id}`);
163
-
164
- // ---- Determine available models (main /model list) as auth-filtered set ----
165
- // This is the FULL list that /model shows (not the scoped subset). We use
166
- // hasConfiguredAuth / getProviderAuthStatus to replicate pi's available snapshot.
167
- const allProvidersSet = new Set<string>(allModelsRaw.map((m) => m.provider));
168
- const allProviders = [...allProvidersSet];
169
-
170
- const hasConfiguredAuthFn =
171
- typeof (ctx.modelRegistry as any).hasConfiguredAuth === "function"
172
- ? (ctx.modelRegistry as any).hasConfiguredAuth.bind(ctx.modelRegistry)
173
- : null;
174
- const getProviderAuthStatusFn =
175
- typeof (ctx.modelRegistry as any).getProviderAuthStatus === "function"
176
- ? (ctx.modelRegistry as any).getProviderAuthStatus.bind(ctx.modelRegistry)
177
- : null;
178
-
179
- function isProviderAuthConfigured(provider: string): boolean {
180
- try {
181
- if (getProviderAuthStatusFn) {
182
- const s: any = getProviderAuthStatusFn(provider);
183
- if (s && (s.ok === true || s.configured === true)) return true;
184
- }
185
- } catch {}
186
- try {
187
- if (hasConfiguredAuthFn) {
188
- for (const mm of rawAll) {
189
- if ((mm as any).provider === provider) {
190
- try {
191
- if (hasConfiguredAuthFn(mm)) return true;
192
- } catch {}
193
- }
194
- }
195
- }
196
- } catch {}
197
- return false;
198
- }
199
-
200
- // Available providers = those with configured auth. Fallback to all if none detected
201
- // (e.g. no auth yet, to avoid empty view).
202
- let availableProviders = allProviders.filter((p) => isProviderAuthConfigured(p));
203
- if (availableProviders.length === 0) availableProviders = allProviders;
204
-
205
- // Full list for modelconf = all models from available providers.
206
- // This is the same set that /model's main list shows BEFORE enabledModels filtering.
207
- // We intentionally do NOT filter by enabledModels here — we show the full available
208
- // catalogue so users can toggle visibility for the main list.
209
- // If runtime was patched, getAvailableSnapshot would already be filtered; we bypass that
210
- // by using getAll filtered by auth, not the patched snapshot.
211
- const allModels = allModelsRaw.filter((m) => availableProviders.includes(m.provider));
212
-
213
- // Visibility: hiddenRaw is denylist for full picker. Visible = not hidden.
214
- function isVisiblePat(modelRef: string, hidden: string[] | undefined): boolean {
215
- if (!hidden || hidden.length === 0) return true;
216
- return !modelMatchesAnyPattern(modelRef, hidden);
217
- }
218
-
219
- const visibleSet = new Set<string>();
220
- for (const m of allModels) {
221
- const ref = `${m.provider}/${m.id}`;
222
- if (isVisiblePat(ref, hiddenRaw)) visibleSet.add(ref);
223
- }
224
-
225
- await ctx.ui.custom((tui: any, theme: any, kb: any, done: any) => {
226
- const view = new ModelConfView({
227
- tui,
228
- theme,
229
- keybindings: kb,
230
- allModels: allModels as any,
231
- visibleSet,
232
- enabledRaw: hiddenRaw,
233
- allIds,
234
- onDone: (saved: boolean) => {
235
- done(saved);
236
- try {
237
- tui?.requestRender?.();
238
- } catch {}
239
- },
240
- onPersist: async (nextEnabled: string[] | undefined) => {
241
- let filtered = nextEnabled;
242
- if (filtered !== undefined) {
243
- const allSet = new Set(allIds);
244
- filtered = filtered.filter((id) => allSet.has(id));
245
- if (filtered.length === allIds.length) filtered = undefined;
246
- if (filtered !== undefined) filtered = [...filtered].sort();
247
- }
248
- await saveHiddenModels(filtered);
249
- const hiddenCount = filtered === undefined ? 0 : filtered.length;
250
- const visibleInAvailable = allModels.length - hiddenCount; // rough; hidden may be outside available but still filtered
251
- // More accurate: count hidden that are in available
252
- let hiddenInAvailable = 0;
253
- if (filtered) {
254
- hiddenInAvailable = allModels.filter((m) => modelMatchesAnyPattern(`${m.provider}/${m.id}`, filtered!)).length;
255
- }
256
- const actualVisible = allModels.length - hiddenInAvailable;
257
- ctx.ui.notify(
258
- `modelconf: saved ${hiddenCount} hidden models — ${actualVisible} visible in /model — reload to apply`,
259
- "info"
260
- );
261
- try {
262
- await (ctx as any).reload?.();
263
- } catch {}
264
- // re-patch after save so /model immediately reflects new setting without reload
265
- try {
266
- patchRegistry(ctx.modelRegistry);
267
- } catch {}
268
- },
269
- });
270
-
271
- return {
272
- render: view.render.bind(view),
273
- handleInput: view.handleInput.bind(view),
274
- invalidate: view.invalidate.bind(view),
275
- };
276
- });
277
- }
278
-
279
- pi.registerCommand("modelconf", {
280
- description:
281
- "Manage main /model list visibility per provider (fuzzy: /, toggle: space, bulk: x, save: enter)",
282
- handler: async (_args, ctx) => openModelConf(ctx),
283
- });
284
-
285
- // Also patch /model command to show filtered main list if pi allows overriding.
286
- // We register a wrapper that ensures filtering is active; we don't replace the UI,
287
- // filtering is done via runtime patch, so no need to override command.
288
- // The patch above ensures /model's ModelSelectorComponent automatically shows filtered list.
289
-
290
- try {
291
- (pi as any).registerShortcut?.("ctrl+alt+m" as any, {
292
- description: "Open modelconf",
293
- handler: async (ctx: any) => openModelConf(ctx),
294
- });
295
- } catch {}
296
- }
@@ -1,23 +0,0 @@
1
- #!/usr/bin/env pwsh
2
- # Per-extension installer — Windows / PowerShell
3
- # Installs npm dependencies for this extension. No-op if no package.json.
4
- $ErrorActionPreference = "Stop"
5
- $extDir = $PSScriptRoot
6
- if (-not $extDir) { $extDir = Split-Path -Parent $MyInvocation.MyCommand.Path }
7
- if (-not (Test-Path "$extDir/package.json")) {
8
- Write-Host " - no package.json — skipping" -ForegroundColor DarkGray
9
- exit 0
10
- }
11
- if (-not (Get-Command npm -ErrorAction SilentlyContinue)) {
12
- Write-Host " x npm not found — install Node.js 22+" -ForegroundColor Red
13
- exit 1
14
- }
15
- if (Test-Path "$extDir/package-lock.json") {
16
- Write-Host " - npm ci" -ForegroundColor DarkGray
17
- npm --prefix $extDir ci --no-audit --no-fund
18
- } else {
19
- Write-Host " - npm install" -ForegroundColor DarkGray
20
- npm --prefix $extDir install --no-audit --no-fund
21
- }
22
- if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
23
- Write-Host " + done" -ForegroundColor Green
@@ -1,21 +0,0 @@
1
- #!/bin/sh
2
- # Per-extension installer — macOS / Linux
3
- # Installs npm dependencies for this extension. No-op if no package.json.
4
- set -eu
5
- EXT_DIR="$(cd "$(dirname "$0")" && pwd)"
6
- if [ ! -f "$EXT_DIR/package.json" ]; then
7
- echo " · no package.json — skipping"
8
- exit 0
9
- fi
10
- if ! command -v npm >/dev/null 2>&1; then
11
- echo " ✖ npm not found — install Node.js 22+" >&2
12
- exit 1
13
- fi
14
- if [ -f "$EXT_DIR/package-lock.json" ]; then
15
- echo " · npm ci"
16
- npm --prefix "$EXT_DIR" ci --no-audit --no-fund
17
- else
18
- echo " · npm install"
19
- npm --prefix "$EXT_DIR" install --no-audit --no-fund
20
- fi
21
- echo " ✓ done"