@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,84 +0,0 @@
1
- /**
2
- * OutputBuffer — bounded in-memory capture of one process stream.
3
- *
4
- * Newest output is always retained; when the retained size exceeds the cap,
5
- * whole chunks are evicted from the head and counted in `truncatedBytes`.
6
- * A single chunk larger than the cap itself is trimmed to its tail (on a
7
- * UTF-8 boundary) so retention is strictly bounded even for one giant write.
8
- * An optional spill callback receives every chunk (in order, before any
9
- * eviction) so the caller can keep a complete on-disk copy.
10
- *
11
- * Plain TS by design: this is push-based accumulation driven by node stream
12
- * 'data' callbacks, not stream transformation.
13
- */
14
-
15
- import type { OutputView } from "./domain.ts";
16
-
17
- export class OutputBuffer {
18
- private chunks: string[] = [];
19
- /** Bytes currently retained across `chunks`. */
20
- private retainedBytes = 0;
21
- /** Cached join of `chunks`; invalidated on push so 1Hz UI ticks are cheap. */
22
- private cachedText: string | undefined = "";
23
- /** Bumped on every push; lets the UI cache derived line layouts. */
24
- version = 0;
25
- totalBytes = 0;
26
- truncatedBytes = 0;
27
- spillPath?: string;
28
-
29
- private readonly maxRetainedBytes: number;
30
- private readonly spill?: (chunk: string) => unknown;
31
-
32
- constructor(maxRetainedBytes: number, spill?: (chunk: string) => unknown) {
33
- this.maxRetainedBytes = maxRetainedBytes;
34
- this.spill = spill;
35
- }
36
-
37
- push(chunk: string) {
38
- if (chunk.length === 0) return true;
39
- let bytes = Buffer.byteLength(chunk, "utf8");
40
- this.totalBytes += bytes;
41
- const spillAccepted = this.spill?.(chunk) !== false;
42
- if (bytes > this.maxRetainedBytes) {
43
- // A single pathological chunk larger than the whole cap: everything
44
- // retained so far precedes it in the stream, so evict all of it, then
45
- // keep only the chunk's tail (cut on a UTF-8 code point boundary).
46
- // Retention stays strictly bounded even for one giant write, and the
47
- // retained view stays contiguous (no hole in the middle).
48
- this.truncatedBytes += this.retainedBytes;
49
- this.chunks = [];
50
- this.retainedBytes = 0;
51
- const raw = Buffer.from(chunk, "utf8");
52
- let start = raw.length - this.maxRetainedBytes;
53
- while (start < raw.length && (raw[start] & 0xc0) === 0x80) start++;
54
- this.truncatedBytes += start;
55
- chunk = raw.subarray(start).toString("utf8");
56
- bytes = raw.length - start;
57
- }
58
- this.chunks.push(chunk);
59
- this.retainedBytes += bytes;
60
- while (
61
- this.retainedBytes > this.maxRetainedBytes &&
62
- this.chunks.length > 1
63
- ) {
64
- const evicted = this.chunks.shift();
65
- if (evicted === undefined) break;
66
- const evictedBytes = Buffer.byteLength(evicted, "utf8");
67
- this.retainedBytes -= evictedBytes;
68
- this.truncatedBytes += evictedBytes;
69
- }
70
- this.cachedText = undefined;
71
- this.version++;
72
- return spillAccepted;
73
- }
74
-
75
- view(): OutputView {
76
- this.cachedText ??= this.chunks.join("");
77
- return {
78
- text: this.cachedText,
79
- totalBytes: this.totalBytes,
80
- truncatedBytes: this.truncatedBytes,
81
- spillPath: this.spillPath,
82
- };
83
- }
84
- }
@@ -1,142 +0,0 @@
1
- /** All model-facing strings for the background-terminals tools. */
2
-
3
- import {
4
- DEFAULT_MAX_BYTES,
5
- DEFAULT_MAX_LINES,
6
- formatSize,
7
- truncateTail,
8
- } from "@earendil-works/pi-coding-agent";
9
- import { formatElapsed, formatExit, type TerminalSnapshot } from "./domain.ts";
10
- import { MAX_RUNNING, type KillResult } from "./manager.ts";
11
-
12
- /** bg_status stdout tail. */
13
- export const STATUS_STDOUT_MAX = 16 * 1024;
14
- /** bg_status stderr tail. */
15
- export const STATUS_STDERR_MAX = 8 * 1024;
16
- /** Completion follow-up stdout tail. Keep this concise; /ps has the detailed view. */
17
- export const RESULT_STDOUT_MAX = 8 * 1024;
18
- /** Completion follow-up stderr tail. Keep this concise; /ps has the detailed view. */
19
- export const RESULT_STDERR_MAX = 4 * 1024;
20
- const STATUS_STDOUT_MAX_LINES = 400;
21
- const STATUS_STDERR_MAX_LINES = 200;
22
- const RESULT_STDOUT_MAX_LINES = 40;
23
- const RESULT_STDERR_MAX_LINES = 20;
24
-
25
- export const BG_START_TOOL_DESCRIPTION =
26
- "Start a long-running shell command as a background terminal (executed via the platform shell — sh -c on POSIX, cmd.exe /d /s /c on Windows). " +
27
- "Fire-and-forget: this returns immediately with an id, and you get a message with the final output when the process exits. " +
28
- "The process receives NO stdin (immediate EOF) and there is no way to send input later — interactive commands will not work; use bg_kill to stop a stuck one. " +
29
- `Terminals are session-scoped: they are killed when the session ends or reloads. Output shown to you is tail-truncated (stdout ${formatSize(STATUS_STDOUT_MAX)}, stderr ${formatSize(STATUS_STDERR_MAX)}); the full logs are captured to files and in the /ps viewer. ` +
30
- `Max ${MAX_RUNNING} background terminals can run at once.`;
31
-
32
- export const BG_START_PROMPT_SNIPPET =
33
- "Run a long-lived shell command in the background (dev servers, builds, watchers); output is captured and you're notified on exit";
34
-
35
- export const BG_START_PROMPT_GUIDELINES = [
36
- "Use bg_start for commands expected to run long or indefinitely (servers, watch modes, long builds); use the regular bash tool for quick commands.",
37
- "bg_start processes receive no stdin — never start a command that requires interactive input.",
38
- "After bg_start, keep working; the exit result arrives automatically. Use bg_status only when you need current output before continuing.",
39
- ];
40
-
41
- export const BG_START_PARAMETER_DESCRIPTIONS = {
42
- command:
43
- "Shell command line to run in the background (sh -c on POSIX, cmd.exe /d /s /c on Windows). It receives no stdin (EOF immediately); interactive commands will not work.",
44
- title: "Short human-readable name shown in listings and the UI",
45
- workingDir: "Working directory (default: current working directory)",
46
- };
47
-
48
- export const BG_STATUS_TOOL_DESCRIPTION =
49
- "Peek at a background terminal's status and current output (tail-truncated) without blocking. If the terminal already exited, this returns its final state.";
50
-
51
- export const BG_STATUS_PARAMETER_DESCRIPTIONS = {
52
- id: 'Terminal id, e.g. "bt-1"',
53
- };
54
-
55
- export const BG_LIST_TOOL_DESCRIPTION =
56
- "List all background terminals (running and settled) with pid, elapsed time, exit status, and output sizes.";
57
-
58
- export const BG_KILL_TOOL_DESCRIPTION =
59
- "Stop one or more running background terminals (SIGTERM to the whole process tree, escalating to SIGKILL). Returns each terminal's final state; already-settled ids are reported as such.";
60
-
61
- export const BG_KILL_PARAMETER_DESCRIPTIONS = {
62
- ids: 'Terminal ids to stop, e.g. ["bt-1"]',
63
- };
64
-
65
- export function buildStartResult(snap: TerminalSnapshot) {
66
- return (
67
- `Started background terminal ${snap.id} "${snap.title}" (pid ${snap.pid ?? "?"}, ${snap.cwd}).\n` +
68
- `It runs in the background with no stdin. You'll get a message when it exits, ` +
69
- `or use bg_status(id: "${snap.id}") to peek, bg_kill to stop it, bg_list to see all.`
70
- );
71
- }
72
-
73
- /** One metadata line: `bt-1 [running] "dev server" (pid 12345, 3m12s, exit -, /path)`. */
74
- export function describeTerminal(snap: TerminalSnapshot) {
75
- const details = [
76
- `pid ${snap.pid ?? "?"}`,
77
- formatElapsed(snap),
78
- snap.status === "running" ? "exit -" : formatExit(snap),
79
- snap.cwd,
80
- `stdout ${formatSize(snap.stdout.totalBytes)}, stderr ${formatSize(snap.stderr.totalBytes)}`,
81
- ];
82
- return `${snap.id} [${snap.status}] "${snap.title}" (${details.join(", ")})`;
83
- }
84
-
85
- /** Tail-truncated labeled output section with a pointer at the full log. */
86
- function outputSection(
87
- label: string,
88
- view: TerminalSnapshot["stdout"],
89
- maxBytes: number,
90
- maxLines: number,
91
- ) {
92
- if (view.totalBytes === 0) return `${label}: (empty)`;
93
- const truncation = truncateTail(view.text, {
94
- maxBytes: Math.min(maxBytes, DEFAULT_MAX_BYTES),
95
- maxLines: Math.min(maxLines, DEFAULT_MAX_LINES),
96
- });
97
- let text = `${label}:\n${truncation.content}`;
98
- const shownBytes = truncation.outputBytes;
99
- if (truncation.truncated || view.truncatedBytes > 0) {
100
- const where = view.spillPath
101
- ? `Full log: ${view.spillPath}`
102
- : "Full output in the /ps viewer";
103
- text += `\n[${label} truncated: showing last ${formatSize(shownBytes)} of ${formatSize(view.totalBytes)}. ${where}]`;
104
- }
105
- return text;
106
- }
107
-
108
- export function buildStatusResult(snap: TerminalSnapshot) {
109
- let text = describeTerminal(snap);
110
- if (snap.errorText) text += `\nError: ${snap.errorText}`;
111
- text += `\n\n${outputSection("stdout", snap.stdout, STATUS_STDOUT_MAX, STATUS_STDOUT_MAX_LINES)}`;
112
- text += `\n\n${outputSection("stderr", snap.stderr, STATUS_STDERR_MAX, STATUS_STDERR_MAX_LINES)}`;
113
- return text;
114
- }
115
-
116
- /** The async completion follow-up injected into the model's context. */
117
- export function buildTerminalResultMessage(snap: TerminalSnapshot) {
118
- const how =
119
- snap.status === "killed" ? "was killed" : `exited (${formatExit(snap)})`;
120
- let text = `Background terminal ${snap.id} "${snap.title}" ${how} after ${formatElapsed(snap)}.`;
121
- if (snap.errorText) text += `\nError: ${snap.errorText}`;
122
- text += `\n\n${outputSection("stdout", snap.stdout, RESULT_STDOUT_MAX, RESULT_STDOUT_MAX_LINES)}`;
123
- if (snap.stderr.totalBytes > 0) {
124
- text += `\n\n${outputSection("stderr", snap.stderr, RESULT_STDERR_MAX, RESULT_STDERR_MAX_LINES)}`;
125
- }
126
- return text;
127
- }
128
-
129
- export function buildKillReport(results: ReadonlyArray<KillResult>) {
130
- return results
131
- .map((entry) => {
132
- if (entry.killed) {
133
- return `Killed ${entry.id} "${entry.title}" (${entry.exit}).`;
134
- }
135
- if (entry.wasRunning) {
136
- // The natural exit won the race with the kill signal.
137
- return `${entry.id} "${entry.title}" exited on its own before the kill landed (${entry.exit}).`;
138
- }
139
- return `${entry.id} "${entry.title}" was already ${entry.status} (${entry.exit}).`;
140
- })
141
- .join("\n");
142
- }
@@ -1,27 +0,0 @@
1
- /**
2
- * Deferred one-shot delivery map (same semantics as subagents'): a settled
3
- * terminal's result is held here until it is either drained into a follow-up
4
- * message or consumed by a tool call (bg_kill / bg_status) that already
5
- * returned the settlement itself. Keyed by id, so double delivery is
6
- * structurally impossible — whoever drains first wins.
7
- */
8
- export function createDeferredResultDelivery<T extends { id: string }>() {
9
- const pending = new Map<string, T>();
10
-
11
- return {
12
- defer(result: T) {
13
- pending.set(result.id, result);
14
- },
15
- consume(ids: Iterable<string>) {
16
- for (const id of ids) pending.delete(id);
17
- },
18
- drain() {
19
- const results = [...pending.values()];
20
- pending.clear();
21
- return results;
22
- },
23
- clear() {
24
- pending.clear();
25
- },
26
- };
27
- }
@@ -1,36 +0,0 @@
1
- /**
2
- * The async entry-point boundary: one ManagedRuntime shared by every tool
3
- * handler, disposed on session_shutdown (which runs the manager finalizer →
4
- * disposeAll → every process tree is killed).
5
- */
6
-
7
- import { Cause, Exit, ManagedRuntime, type Effect } from "effect";
8
- import { TerminalManagerLive } from "./manager.ts";
9
-
10
- export function createTerminalRuntime() {
11
- return ManagedRuntime.make(TerminalManagerLive);
12
- }
13
-
14
- export type TerminalRuntime = ReturnType<typeof createTerminalRuntime>;
15
-
16
- /**
17
- * Run an effect from an async tool handler. Typed failures and defects are
18
- * converted to thrown Errors (what pi's tool contract expects); interruption
19
- * (tool AbortSignal) throws `interruptMessage`.
20
- */
21
- export async function runTool<A, E>(
22
- runtime: TerminalRuntime,
23
- effect: Effect.Effect<A, E>,
24
- options: { signal?: AbortSignal; interruptMessage?: string } = {},
25
- ) {
26
- const exit = await runtime.runPromiseExit(
27
- effect,
28
- options.signal ? { signal: options.signal } : undefined,
29
- );
30
- if (Exit.isSuccess(exit)) return exit.value;
31
- if (Cause.hasInterruptsOnly(exit.cause)) {
32
- throw new Error(options.interruptMessage ?? "Operation was aborted.");
33
- }
34
- const [first] = Cause.prettyErrors(exit.cause);
35
- throw new Error(first?.message ?? Cause.pretty(exit.cause));
36
- }
@@ -1,79 +0,0 @@
1
- /**
2
- * Output rendering for the /ps detail view: turns a captured stream's text
3
- * into sanitized, wrapped display lines. Sanitization happens here — at
4
- * render time, never at capture time — because raw ANSI/control characters
5
- * desync the TUI renderer and smear the overlay.
6
- */
7
-
8
- import { wrapTextWithAnsi } from "@earendil-works/pi-tui";
9
-
10
- // OSC strings (window titles, hyperlinks, etc.) end in BEL or ST. Strip them
11
- // before the generic escape/control pass so their payload never becomes
12
- // visible text after only the leading ESC byte is removed.
13
- // eslint-disable-next-line no-control-regex
14
- const OSC_PATTERN =
15
- /(?:\u001b\]|\u009d)(?:[^\u0007\u001b\u009c]|\u001b(?!\\))*(?:\u0007|\u001b\\|\u009c)/g;
16
- // Standards-shaped CSI matcher: parameters are deliberately unbounded; a
17
- // five-digit cursor movement is still one control sequence, not visible text.
18
- // eslint-disable-next-line no-control-regex
19
- const CSI_PATTERN = /(?:\u001b\[|\u009b)[0-?]*[ -/]*[@-~]/g;
20
- // Remaining two-byte/charset escape forms (for example ESC ( 0).
21
- // eslint-disable-next-line no-control-regex
22
- const ESCAPE_PATTERN = /\u001b(?:[()][0-2A-Z]|[ -/]*[@-~])/g;
23
-
24
- /**
25
- * Strip raw ANSI codes, expand tabs, and drop control chars. Terminal-expanded
26
- * tabs (and stray escapes) make lines wider than the width we declare to the
27
- * TUI, which desyncs the renderer.
28
- */
29
- export function sanitizeText(text: string) {
30
- return text
31
- .replace(OSC_PATTERN, "")
32
- .replace(CSI_PATTERN, "")
33
- .replace(ESCAPE_PATTERN, "")
34
- .replaceAll("\t", " ")
35
- .replace(/[\u0000-\u0008\u000b-\u001f\u007f-\u009f]/g, "");
36
- }
37
-
38
- /** Split, sanitize, and wrap a stream's text into display lines. */
39
- export function buildOutputLines(text: string, width: number) {
40
- const safeWidth = Math.max(10, width);
41
- const out: string[] = [];
42
- for (const raw of text.split("\n")) {
43
- // Carriage-return progress lines (npm, cargo): keep only the final state.
44
- const segments = raw.split("\r");
45
- const finalSegment = segments.at(-1) ?? "";
46
- const lastSegment =
47
- finalSegment || [...segments].reverse().find((segment) => segment) || "";
48
- const clean = sanitizeText(lastSegment);
49
- if (clean.length === 0) {
50
- out.push("");
51
- continue;
52
- }
53
- out.push(...wrapTextWithAnsi(clean, safeWidth));
54
- }
55
- // Drop one trailing empty line from a trailing "\n" so the tail pin sits
56
- // on the last real output line.
57
- if (out.length > 0 && out[out.length - 1] === "") out.pop();
58
- return out;
59
- }
60
-
61
- /**
62
- * Cache of wrapped lines keyed by (buffer version, width): a chatty process
63
- * bumps the version per chunk, but renders between chunks (1Hz elapsed ticks,
64
- * scrolling) must not re-wrap megabytes.
65
- */
66
- export function createOutputLineCache() {
67
- let key: string | undefined;
68
- let lines: string[] = [];
69
- return {
70
- get(text: string, version: number, width: number) {
71
- const nextKey = `${version}:${width}`;
72
- if (key !== nextKey) {
73
- key = nextKey;
74
- lines = buildOutputLines(text, width);
75
- }
76
- return lines;
77
- },
78
- };
79
- }