@ebowwa/coder 0.7.63 → 0.7.65

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 (364) hide show
  1. package/dist/core/__tests__/permissions.test.d.ts +12 -0
  2. package/dist/core/__tests__/permissions.test.d.ts.map +1 -0
  3. package/dist/core/__tests__/permissions.test.js +851 -0
  4. package/dist/core/agent-loop/__tests__/compaction.test.d.ts +5 -0
  5. package/dist/core/agent-loop/__tests__/compaction.test.d.ts.map +1 -0
  6. package/dist/core/agent-loop/__tests__/compaction.test.js +209 -0
  7. package/dist/core/agent-loop/__tests__/formatters.test.d.ts +5 -0
  8. package/dist/core/agent-loop/__tests__/formatters.test.d.ts.map +1 -0
  9. package/dist/core/agent-loop/__tests__/formatters.test.js +195 -0
  10. package/dist/core/agent-loop/__tests__/index.test.d.ts +5 -0
  11. package/dist/core/agent-loop/__tests__/index.test.d.ts.map +1 -0
  12. package/dist/core/agent-loop/__tests__/index.test.js +121 -0
  13. package/dist/core/agent-loop/__tests__/loop-state.test.d.ts +5 -0
  14. package/dist/core/agent-loop/__tests__/loop-state.test.d.ts.map +1 -0
  15. package/dist/core/agent-loop/__tests__/loop-state.test.js +340 -0
  16. package/dist/core/agent-loop/__tests__/message-builder.test.d.ts +5 -0
  17. package/dist/core/agent-loop/__tests__/message-builder.test.d.ts.map +1 -0
  18. package/dist/core/agent-loop/__tests__/message-builder.test.js +178 -0
  19. package/dist/core/agent-loop/__tests__/tool-executor.test.d.ts +5 -0
  20. package/dist/core/agent-loop/__tests__/tool-executor.test.d.ts.map +1 -0
  21. package/dist/core/agent-loop/__tests__/tool-executor.test.js +331 -0
  22. package/dist/core/agent-loop/compaction.d.ts +39 -0
  23. package/dist/core/agent-loop/compaction.d.ts.map +1 -0
  24. package/dist/core/agent-loop/compaction.js +51 -0
  25. package/dist/core/agent-loop/formatters.d.ts +21 -0
  26. package/dist/core/agent-loop/formatters.d.ts.map +1 -0
  27. package/dist/core/agent-loop/formatters.js +42 -0
  28. package/dist/core/agent-loop/index.d.ts +25 -0
  29. package/dist/core/agent-loop/index.d.ts.map +1 -0
  30. package/dist/core/agent-loop/index.js +83 -0
  31. package/dist/core/agent-loop/loop-state.d.ts +74 -0
  32. package/dist/core/agent-loop/loop-state.d.ts.map +1 -0
  33. package/dist/core/agent-loop/loop-state.js +147 -0
  34. package/dist/core/agent-loop/message-builder.d.ts +13 -0
  35. package/dist/core/agent-loop/message-builder.d.ts.map +1 -0
  36. package/dist/core/agent-loop/message-builder.js +49 -0
  37. package/dist/core/agent-loop/tool-executor.d.ts +23 -0
  38. package/dist/core/agent-loop/tool-executor.d.ts.map +1 -0
  39. package/dist/core/agent-loop/tool-executor.js +152 -0
  40. package/dist/core/agent-loop/turn-executor.d.ts +57 -0
  41. package/dist/core/agent-loop/turn-executor.d.ts.map +1 -0
  42. package/dist/core/agent-loop/turn-executor.js +124 -0
  43. package/dist/core/agent-loop/types.d.ts +141 -0
  44. package/dist/core/agent-loop/types.d.ts.map +1 -0
  45. package/dist/core/agent-loop/types.js +4 -0
  46. package/dist/core/agent-loop.d.ts +17 -0
  47. package/dist/core/agent-loop.d.ts.map +1 -0
  48. package/dist/core/agent-loop.js +16 -0
  49. package/dist/core/api-client-impl.d.ts +62 -0
  50. package/dist/core/api-client-impl.d.ts.map +1 -0
  51. package/dist/core/api-client-impl.js +479 -0
  52. package/dist/core/api-client.d.ts +6 -0
  53. package/dist/core/api-client.d.ts.map +1 -0
  54. package/dist/core/api-client.js +5 -0
  55. package/dist/core/checkpoints.d.ts +128 -0
  56. package/dist/core/checkpoints.d.ts.map +1 -0
  57. package/dist/core/checkpoints.js +438 -0
  58. package/dist/core/claude-md.d.ts +71 -0
  59. package/dist/core/claude-md.d.ts.map +1 -0
  60. package/dist/core/claude-md.js +198 -0
  61. package/dist/core/cognitive-security/hooks.d.ts +138 -0
  62. package/dist/core/cognitive-security/hooks.d.ts.map +1 -0
  63. package/dist/core/cognitive-security/hooks.js +389 -0
  64. package/dist/core/cognitive-security/index.d.ts +751 -0
  65. package/dist/core/cognitive-security/index.d.ts.map +1 -0
  66. package/dist/core/cognitive-security/index.js +1123 -0
  67. package/dist/core/cognitive-security/middleware.d.ts +136 -0
  68. package/dist/core/cognitive-security/middleware.d.ts.map +1 -0
  69. package/dist/core/cognitive-security/middleware.js +376 -0
  70. package/dist/core/config-loader.d.ts +127 -0
  71. package/dist/core/config-loader.d.ts.map +1 -0
  72. package/dist/core/config-loader.js +219 -0
  73. package/dist/core/context-compaction.d.ts +87 -0
  74. package/dist/core/context-compaction.d.ts.map +1 -0
  75. package/dist/core/context-compaction.js +428 -0
  76. package/dist/core/git-status.d.ts +25 -0
  77. package/dist/core/git-status.d.ts.map +1 -0
  78. package/dist/core/git-status.js +204 -0
  79. package/dist/core/image.d.ts +69 -0
  80. package/dist/core/image.d.ts.map +1 -0
  81. package/dist/core/image.js +290 -0
  82. package/dist/core/image.test.d.ts +2 -0
  83. package/dist/core/image.test.d.ts.map +1 -0
  84. package/dist/core/image.test.js +149 -0
  85. package/dist/core/models.d.ts +123 -0
  86. package/dist/core/models.d.ts.map +1 -0
  87. package/dist/core/models.js +325 -0
  88. package/dist/core/permissions.d.ts +81 -0
  89. package/dist/core/permissions.d.ts.map +1 -0
  90. package/dist/core/permissions.js +327 -0
  91. package/dist/core/retry.d.ts +25 -0
  92. package/dist/core/retry.d.ts.map +1 -0
  93. package/dist/core/retry.js +121 -0
  94. package/dist/core/session-store.d.ts +9 -0
  95. package/dist/core/session-store.d.ts.map +1 -0
  96. package/dist/core/session-store.js +10 -0
  97. package/dist/core/sessions/export.d.ts +47 -0
  98. package/dist/core/sessions/export.d.ts.map +1 -0
  99. package/dist/core/sessions/export.js +256 -0
  100. package/dist/core/sessions/index.d.ts +132 -0
  101. package/dist/core/sessions/index.d.ts.map +1 -0
  102. package/dist/core/sessions/index.js +442 -0
  103. package/dist/core/sessions/metadata.d.ts +77 -0
  104. package/dist/core/sessions/metadata.d.ts.map +1 -0
  105. package/dist/core/sessions/metadata.js +233 -0
  106. package/dist/core/sessions/persistence.d.ts +72 -0
  107. package/dist/core/sessions/persistence.d.ts.map +1 -0
  108. package/dist/core/sessions/persistence.js +201 -0
  109. package/dist/core/sessions/types.d.ts +110 -0
  110. package/dist/core/sessions/types.d.ts.map +1 -0
  111. package/dist/core/sessions/types.js +4 -0
  112. package/dist/core/stream-highlighter.d.ts +18 -0
  113. package/dist/core/stream-highlighter.d.ts.map +1 -0
  114. package/dist/core/stream-highlighter.js +916 -0
  115. package/dist/core/system-reminders.d.ts +89 -0
  116. package/dist/core/system-reminders.d.ts.map +1 -0
  117. package/dist/core/system-reminders.js +285 -0
  118. package/dist/ecosystem/hooks/__tests__/index.test.d.ts +5 -0
  119. package/dist/ecosystem/hooks/__tests__/index.test.d.ts.map +1 -0
  120. package/dist/ecosystem/hooks/__tests__/index.test.js +458 -0
  121. package/dist/ecosystem/hooks/index.d.ts +59 -0
  122. package/dist/ecosystem/hooks/index.d.ts.map +1 -0
  123. package/dist/ecosystem/hooks/index.js +294 -0
  124. package/dist/ecosystem/hooks/prompt-evaluator.d.ts +32 -0
  125. package/dist/ecosystem/hooks/prompt-evaluator.d.ts.map +1 -0
  126. package/dist/ecosystem/hooks/prompt-evaluator.js +229 -0
  127. package/dist/ecosystem/skills/index.d.ts +55 -0
  128. package/dist/ecosystem/skills/index.d.ts.map +1 -0
  129. package/dist/ecosystem/skills/index.js +258 -0
  130. package/dist/ecosystem/tools/__tests__/index.test.d.ts +7 -0
  131. package/dist/ecosystem/tools/__tests__/index.test.d.ts.map +1 -0
  132. package/dist/ecosystem/tools/__tests__/index.test.js +856 -0
  133. package/dist/ecosystem/tools/index.d.ts +24 -0
  134. package/dist/ecosystem/tools/index.d.ts.map +1 -0
  135. package/dist/ecosystem/tools/index.js +1709 -0
  136. package/dist/index.d.ts +24 -0
  137. package/dist/index.d.ts.map +1 -0
  138. package/dist/index.js +33688 -49712
  139. package/dist/interfaces/mcp/client.d.ts +40 -0
  140. package/dist/interfaces/mcp/client.d.ts.map +1 -0
  141. package/dist/interfaces/mcp/client.js +309 -0
  142. package/dist/interfaces/ui/index.d.ts +36 -0
  143. package/dist/interfaces/ui/index.d.ts.map +1 -0
  144. package/dist/interfaces/ui/index.js +61 -0
  145. package/dist/interfaces/ui/spinner.d.ts +140 -0
  146. package/dist/interfaces/ui/spinner.d.ts.map +1 -0
  147. package/dist/interfaces/ui/spinner.js +342 -0
  148. package/dist/interfaces/ui/terminal/cli/index.d.ts +12 -0
  149. package/dist/interfaces/ui/terminal/cli/index.d.ts.map +1 -0
  150. package/dist/interfaces/ui/terminal/cli/index.js +32012 -50526
  151. package/dist/interfaces/ui/terminal/native/README.md +53 -0
  152. package/dist/interfaces/ui/terminal/native/claude_code_native.darwin-x64.node +0 -0
  153. package/dist/interfaces/ui/terminal/native/claude_code_native.dylib +0 -0
  154. package/dist/interfaces/ui/terminal/native/index.d.ts +0 -0
  155. package/dist/interfaces/ui/terminal/native/index.darwin-arm64.node +0 -0
  156. package/dist/interfaces/ui/terminal/native/index.js +43 -0
  157. package/dist/interfaces/ui/terminal/native/index.node +0 -0
  158. package/dist/interfaces/ui/terminal/native/package.json +34 -0
  159. package/dist/interfaces/ui/terminal/shared/args.d.ts +39 -0
  160. package/dist/interfaces/ui/terminal/shared/args.d.ts.map +1 -0
  161. package/dist/interfaces/ui/terminal/shared/args.js +176 -0
  162. package/dist/interfaces/ui/terminal/shared/index.d.ts +11 -0
  163. package/dist/interfaces/ui/terminal/shared/index.d.ts.map +1 -0
  164. package/dist/interfaces/ui/terminal/shared/index.js +16 -0
  165. package/dist/interfaces/ui/terminal/shared/loading-state.d.ts +124 -0
  166. package/dist/interfaces/ui/terminal/shared/loading-state.d.ts.map +1 -0
  167. package/dist/interfaces/ui/terminal/shared/loading-state.js +246 -0
  168. package/dist/interfaces/ui/terminal/shared/query.d.ts +22 -0
  169. package/dist/interfaces/ui/terminal/shared/query.d.ts.map +1 -0
  170. package/dist/interfaces/ui/terminal/shared/query.js +100 -0
  171. package/dist/interfaces/ui/terminal/shared/setup.d.ts +33 -0
  172. package/dist/interfaces/ui/terminal/shared/setup.d.ts.map +1 -0
  173. package/dist/interfaces/ui/terminal/shared/setup.js +226 -0
  174. package/dist/interfaces/ui/terminal/shared/status-line.d.ts +117 -0
  175. package/dist/interfaces/ui/terminal/shared/status-line.d.ts.map +1 -0
  176. package/dist/interfaces/ui/terminal/shared/status-line.js +267 -0
  177. package/dist/interfaces/ui/terminal/shared/system-prompt.d.ts +38 -0
  178. package/dist/interfaces/ui/terminal/shared/system-prompt.d.ts.map +1 -0
  179. package/dist/interfaces/ui/terminal/shared/system-prompt.js +102 -0
  180. package/dist/interfaces/ui/terminal/tui/HelpPanel.d.ts +39 -0
  181. package/dist/interfaces/ui/terminal/tui/HelpPanel.d.ts.map +1 -0
  182. package/dist/interfaces/ui/terminal/tui/HelpPanel.js +215 -0
  183. package/dist/interfaces/ui/terminal/tui/InputContext.d.ts +91 -0
  184. package/dist/interfaces/ui/terminal/tui/InputContext.d.ts.map +1 -0
  185. package/dist/interfaces/ui/terminal/tui/InputContext.js +154 -0
  186. package/dist/interfaces/ui/terminal/tui/InputField.d.ts +18 -0
  187. package/dist/interfaces/ui/terminal/tui/InputField.d.ts.map +1 -0
  188. package/dist/interfaces/ui/terminal/tui/InputField.js +41 -0
  189. package/dist/interfaces/ui/terminal/tui/InteractiveTUI.d.ts +16 -0
  190. package/dist/interfaces/ui/terminal/tui/InteractiveTUI.d.ts.map +1 -0
  191. package/dist/interfaces/ui/terminal/tui/InteractiveTUI.js +451 -0
  192. package/dist/interfaces/ui/terminal/tui/MessageArea.d.ts +10 -0
  193. package/dist/interfaces/ui/terminal/tui/MessageArea.d.ts.map +1 -0
  194. package/dist/interfaces/ui/terminal/tui/MessageArea.js +91 -0
  195. package/dist/interfaces/ui/terminal/tui/MessageStore.d.ts +48 -0
  196. package/dist/interfaces/ui/terminal/tui/MessageStore.d.ts.map +1 -0
  197. package/dist/interfaces/ui/terminal/tui/MessageStore.js +151 -0
  198. package/dist/interfaces/ui/terminal/tui/StatusBar.d.ts +9 -0
  199. package/dist/interfaces/ui/terminal/tui/StatusBar.d.ts.map +1 -0
  200. package/dist/interfaces/ui/terminal/tui/StatusBar.js +36 -0
  201. package/dist/interfaces/ui/terminal/tui/commands.d.ts +21 -0
  202. package/dist/interfaces/ui/terminal/tui/commands.d.ts.map +1 -0
  203. package/dist/interfaces/ui/terminal/tui/commands.js +359 -0
  204. package/dist/interfaces/ui/terminal/tui/components/InteractiveElements.d.ts +115 -0
  205. package/dist/interfaces/ui/terminal/tui/components/InteractiveElements.d.ts.map +1 -0
  206. package/dist/interfaces/ui/terminal/tui/components/InteractiveElements.js +306 -0
  207. package/dist/interfaces/ui/terminal/tui/components/MultilineInput.d.ts +92 -0
  208. package/dist/interfaces/ui/terminal/tui/components/MultilineInput.d.ts.map +1 -0
  209. package/dist/interfaces/ui/terminal/tui/components/MultilineInput.js +399 -0
  210. package/dist/interfaces/ui/terminal/tui/components/PaneManager.d.ts +59 -0
  211. package/dist/interfaces/ui/terminal/tui/components/PaneManager.d.ts.map +1 -0
  212. package/dist/interfaces/ui/terminal/tui/components/PaneManager.js +139 -0
  213. package/dist/interfaces/ui/terminal/tui/components/Sidebar.d.ts +68 -0
  214. package/dist/interfaces/ui/terminal/tui/components/Sidebar.d.ts.map +1 -0
  215. package/dist/interfaces/ui/terminal/tui/components/Sidebar.js +340 -0
  216. package/dist/interfaces/ui/terminal/tui/components/index.d.ts +23 -0
  217. package/dist/interfaces/ui/terminal/tui/components/index.d.ts.map +1 -0
  218. package/dist/interfaces/ui/terminal/tui/components/index.js +51 -0
  219. package/dist/interfaces/ui/terminal/tui/console.d.ts +20 -0
  220. package/dist/interfaces/ui/terminal/tui/console.d.ts.map +1 -0
  221. package/dist/interfaces/ui/terminal/tui/console.js +46 -0
  222. package/dist/interfaces/ui/terminal/tui/index.d.ts +20 -0
  223. package/dist/interfaces/ui/terminal/tui/index.d.ts.map +1 -0
  224. package/dist/interfaces/ui/terminal/tui/index.js +28 -0
  225. package/dist/interfaces/ui/terminal/tui/run.d.ts +13 -0
  226. package/dist/interfaces/ui/terminal/tui/run.d.ts.map +1 -0
  227. package/dist/interfaces/ui/terminal/tui/run.js +31 -0
  228. package/dist/interfaces/ui/terminal/tui/spinner.d.ts +44 -0
  229. package/dist/interfaces/ui/terminal/tui/spinner.d.ts.map +1 -0
  230. package/dist/interfaces/ui/terminal/tui/spinner.js +59 -0
  231. package/dist/interfaces/ui/terminal/tui/tui-app.d.ts +39 -0
  232. package/dist/interfaces/ui/terminal/tui/tui-app.d.ts.map +1 -0
  233. package/dist/interfaces/ui/terminal/tui/tui-app.js +198 -0
  234. package/dist/interfaces/ui/terminal/tui/tui-footer.d.ts +167 -0
  235. package/dist/interfaces/ui/terminal/tui/tui-footer.d.ts.map +1 -0
  236. package/dist/interfaces/ui/terminal/tui/tui-footer.js +330 -0
  237. package/dist/interfaces/ui/terminal/tui/types.d.ts +165 -0
  238. package/dist/interfaces/ui/terminal/tui/types.d.ts.map +1 -0
  239. package/dist/interfaces/ui/terminal/tui/types.js +5 -0
  240. package/dist/interfaces/ui/terminal/tui/useInputHandler.d.ts +23 -0
  241. package/dist/interfaces/ui/terminal/tui/useInputHandler.d.ts.map +1 -0
  242. package/dist/interfaces/ui/terminal/tui/useInputHandler.js +72 -0
  243. package/dist/interfaces/ui/terminal/tui/useNativeInput.d.ts +90 -0
  244. package/dist/interfaces/ui/terminal/tui/useNativeInput.d.ts.map +1 -0
  245. package/dist/interfaces/ui/terminal/tui/useNativeInput.js +188 -0
  246. package/dist/native/README.md +53 -0
  247. package/dist/native/claude_code_native.darwin-x64.node +0 -0
  248. package/dist/native/claude_code_native.dylib +0 -0
  249. package/dist/native/index.d.ts +0 -0
  250. package/dist/native/index.d.ts.map +1 -0
  251. package/dist/native/index.darwin-arm64.node +0 -0
  252. package/dist/native/index.js +43 -0
  253. package/dist/native/index.node +0 -0
  254. package/dist/native/package.json +34 -0
  255. package/dist/teammates/index.d.ts +161 -0
  256. package/dist/teammates/index.d.ts.map +1 -0
  257. package/dist/teammates/index.js +827 -0
  258. package/dist/types/index.d.ts +482 -0
  259. package/dist/types/index.d.ts.map +1 -0
  260. package/dist/types/index.js +52 -0
  261. package/native/index.darwin-arm64.node +0 -0
  262. package/native/index.js +33 -19
  263. package/package.json +6 -3
  264. package/packages/src/core/__tests__/permissions.test.ts +1091 -0
  265. package/packages/src/core/agent-loop/__tests__/compaction.test.ts +283 -0
  266. package/packages/src/core/agent-loop/__tests__/formatters.test.ts +234 -0
  267. package/packages/src/core/agent-loop/__tests__/index.test.ts +162 -0
  268. package/packages/src/core/agent-loop/__tests__/loop-state.test.ts +413 -0
  269. package/packages/src/core/agent-loop/__tests__/message-builder.test.ts +229 -0
  270. package/packages/src/core/agent-loop/__tests__/tool-executor.test.ts +457 -0
  271. package/packages/src/core/agent-loop/compaction.ts +92 -0
  272. package/packages/src/core/agent-loop/formatters.ts +50 -0
  273. package/packages/src/core/agent-loop/index.ts +137 -0
  274. package/packages/src/core/agent-loop/loop-state.ts +187 -0
  275. package/packages/src/core/agent-loop/message-builder.ts +62 -0
  276. package/packages/src/core/agent-loop/tool-executor.ts +211 -0
  277. package/packages/src/core/agent-loop/turn-executor.ts +226 -0
  278. package/packages/src/core/agent-loop/types.ts +152 -0
  279. package/packages/src/core/agent-loop.ts +18 -0
  280. package/packages/src/core/api-client-impl.ts +729 -0
  281. package/packages/src/core/api-client.ts +6 -0
  282. package/packages/src/core/checkpoints.ts +606 -0
  283. package/packages/src/core/claude-md.ts +272 -0
  284. package/packages/src/core/cognitive-security/hooks.ts +591 -0
  285. package/packages/src/core/cognitive-security/index.ts +2041 -0
  286. package/packages/src/core/cognitive-security/middleware.ts +536 -0
  287. package/packages/src/core/config/todo +7 -0
  288. package/packages/src/core/config-loader.ts +324 -0
  289. package/packages/src/core/context/__tests__/integration.test.ts +334 -0
  290. package/packages/src/core/context/compaction.ts +170 -0
  291. package/packages/src/core/context/constants.ts +58 -0
  292. package/packages/src/core/context/extraction.ts +85 -0
  293. package/packages/src/core/context/index.ts +66 -0
  294. package/packages/src/core/context/summarization.ts +251 -0
  295. package/packages/src/core/context/token-estimation.ts +98 -0
  296. package/packages/src/core/context/types.ts +59 -0
  297. package/packages/src/core/git-status.ts +262 -0
  298. package/packages/src/core/image.test.ts +180 -0
  299. package/packages/src/core/image.ts +350 -0
  300. package/packages/src/core/lmdb.db +0 -0
  301. package/packages/src/core/lmdb.db-lock +0 -0
  302. package/packages/src/core/models.ts +507 -0
  303. package/packages/src/core/normalizers/todo +8 -0
  304. package/packages/src/core/permissions.ts +431 -0
  305. package/packages/src/core/providers/README.md +230 -0
  306. package/packages/src/core/providers/__tests__/providers.test.ts +135 -0
  307. package/packages/src/core/providers/index.ts +419 -0
  308. package/packages/src/core/providers/types.ts +132 -0
  309. package/packages/src/core/retry.ts +180 -0
  310. package/packages/src/core/session-store.ts +36 -0
  311. package/packages/src/core/sessions/export.ts +329 -0
  312. package/packages/src/core/sessions/index.ts +587 -0
  313. package/packages/src/core/sessions/metadata.ts +309 -0
  314. package/packages/src/core/sessions/persistence.ts +244 -0
  315. package/packages/src/core/sessions/types.ts +169 -0
  316. package/packages/src/core/stream-highlighter.ts +1123 -0
  317. package/packages/src/core/system-reminders.ts +402 -0
  318. package/packages/src/core/todo +8 -0
  319. package/packages/src/ecosystem/hooks/__tests__/index.test.ts +561 -0
  320. package/packages/src/ecosystem/hooks/index.ts +341 -0
  321. package/packages/src/ecosystem/hooks/prompt-evaluator.ts +300 -0
  322. package/packages/src/ecosystem/skills/index.ts +295 -0
  323. package/packages/src/ecosystem/tools/__tests__/index.test.ts +1335 -0
  324. package/packages/src/ecosystem/tools/index.ts +2051 -0
  325. package/packages/src/index.ts +141 -0
  326. package/packages/src/interfaces/mcp/client.ts +389 -0
  327. package/packages/src/interfaces/ui/index.ts +158 -0
  328. package/packages/src/interfaces/ui/lmdb.db +0 -0
  329. package/packages/src/interfaces/ui/lmdb.db-lock +0 -0
  330. package/packages/src/interfaces/ui/spinner.ts +451 -0
  331. package/packages/src/interfaces/ui/terminal/bridge/index.ts +370 -0
  332. package/packages/src/interfaces/ui/terminal/bridge/ipc.ts +829 -0
  333. package/packages/src/interfaces/ui/terminal/bridge/screen-export.ts +968 -0
  334. package/packages/src/interfaces/ui/terminal/bridge/types.ts +226 -0
  335. package/packages/src/interfaces/ui/terminal/bridge/useBridge.ts +210 -0
  336. package/packages/src/interfaces/ui/terminal/cli/bootstrap.ts +132 -0
  337. package/packages/src/interfaces/ui/terminal/cli/index.ts +415 -0
  338. package/packages/src/interfaces/ui/terminal/cli/interactive/index.ts +110 -0
  339. package/packages/src/interfaces/ui/terminal/cli/interactive/input-handler.ts +393 -0
  340. package/packages/src/interfaces/ui/terminal/cli/interactive/interactive-runner.ts +820 -0
  341. package/packages/src/interfaces/ui/terminal/cli/interactive/message-store.ts +299 -0
  342. package/packages/src/interfaces/ui/terminal/cli/interactive/types.ts +274 -0
  343. package/packages/src/interfaces/ui/terminal/lmdb.db +0 -0
  344. package/packages/src/interfaces/ui/terminal/lmdb.db-lock +0 -0
  345. package/packages/src/interfaces/ui/terminal/shared/args.ts +222 -0
  346. package/packages/src/interfaces/ui/terminal/shared/index.ts +84 -0
  347. package/packages/src/interfaces/ui/terminal/shared/loading-state.ts +322 -0
  348. package/packages/src/interfaces/ui/terminal/shared/query.ts +152 -0
  349. package/packages/src/interfaces/ui/terminal/shared/setup.ts +299 -0
  350. package/packages/src/interfaces/ui/terminal/shared/spinner-frames.ts +73 -0
  351. package/packages/src/interfaces/ui/terminal/shared/status-line.ts +366 -0
  352. package/packages/src/interfaces/ui/terminal/shared/system-prompt.ts +146 -0
  353. package/packages/src/lmdb.db +0 -0
  354. package/packages/src/lmdb.db-lock +0 -0
  355. package/packages/src/native/index.ts +2722 -0
  356. package/packages/src/native/tui_v2_types.ts +39 -0
  357. package/packages/src/teammates/coordination.test.ts +279 -0
  358. package/packages/src/teammates/coordination.ts +646 -0
  359. package/packages/src/teammates/index.ts +1052 -0
  360. package/packages/src/teammates/integration.test.ts +272 -0
  361. package/packages/src/teammates/runner.test.ts +235 -0
  362. package/packages/src/teammates/runner.ts +750 -0
  363. package/packages/src/teammates/schemas.ts +673 -0
  364. package/packages/src/types/index.ts +723 -0
@@ -0,0 +1,89 @@
1
+ /**
2
+ * System Reminders - Context injection for agent loop
3
+ * Provides token warnings, cost tracking, tool summaries, and environment info
4
+ */
5
+ import type { ToolUseBlock, GitStatus, UsageMetrics } from "../types/index.js";
6
+ export interface TokenWarningOptions {
7
+ current: number;
8
+ max: number;
9
+ threshold?: number;
10
+ }
11
+ export interface CostUpdateOptions {
12
+ cost: number;
13
+ previousCost?: number;
14
+ currency?: string;
15
+ }
16
+ export interface ToolSummaryOptions {
17
+ tools: ToolUseBlock[];
18
+ maxDisplay?: number;
19
+ }
20
+ export interface EnvInfoOptions {
21
+ workingDirectory: string;
22
+ gitStatus?: GitStatus | null;
23
+ platform?: NodeJS.Platform;
24
+ shell?: string;
25
+ }
26
+ export interface SystemReminderConfig {
27
+ tokenWarningThreshold: number;
28
+ costUpdateInterval: number;
29
+ toolSummaryInterval: number;
30
+ envInfoOnStart: boolean;
31
+ }
32
+ export declare const DEFAULT_REMINDER_CONFIG: SystemReminderConfig;
33
+ /**
34
+ * Build a token usage warning message
35
+ * @param current - Current token count
36
+ * @param max - Maximum token limit
37
+ * @param threshold - Optional custom threshold percentage
38
+ * @returns Formatted warning string or empty string if under threshold
39
+ */
40
+ export declare function buildTokenWarning(options: TokenWarningOptions): string;
41
+ /**
42
+ * Build a cost tracking update message
43
+ * @param cost - Current total cost in USD
44
+ * @param previousCost - Previous cost for delta calculation
45
+ * @param currency - Currency symbol (default: USD)
46
+ * @returns Formatted cost update string
47
+ */
48
+ export declare function buildCostUpdate(options: CostUpdateOptions): string;
49
+ /**
50
+ * Build a summary of tool usage
51
+ * @param tools - Array of tool use blocks
52
+ * @param maxDisplay - Maximum number of tools to display (default: 10)
53
+ * @returns Formatted tool summary string
54
+ */
55
+ export declare function buildToolSummary(options: ToolSummaryOptions): string;
56
+ /**
57
+ * Build environment information message
58
+ * @param workingDirectory - Current working directory
59
+ * @param gitStatus - Optional git status information
60
+ * @param platform - Optional platform info
61
+ * @param shell - Optional shell info
62
+ * @returns Formatted environment info string
63
+ */
64
+ export declare function buildEnvInfo(options: EnvInfoOptions): string;
65
+ export interface CombinedReminderOptions {
66
+ usage: UsageMetrics;
67
+ maxTokens: number;
68
+ totalCost: number;
69
+ previousCost?: number;
70
+ toolsUsed: ToolUseBlock[];
71
+ workingDirectory: string;
72
+ gitStatus?: GitStatus | null;
73
+ turnNumber: number;
74
+ config?: Partial<SystemReminderConfig>;
75
+ }
76
+ /**
77
+ * Build a combined system reminder based on current state
78
+ * Intelligently includes relevant reminders based on thresholds and intervals
79
+ */
80
+ export declare function buildCombinedReminder(options: CombinedReminderOptions): string;
81
+ /**
82
+ * Inject system reminders into the conversation
83
+ * This should be called before sending messages to the API
84
+ */
85
+ export declare function injectSystemReminder(messages: Array<{
86
+ role: string;
87
+ content: unknown;
88
+ }>, reminder: string): void;
89
+ //# sourceMappingURL=system-reminders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-reminders.d.ts","sourceRoot":"","sources":["../../packages/src/core/system-reminders.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAM/E,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,OAAO,CAAC;CACzB;AAMD,eAAO,MAAM,uBAAuB,EAAE,oBAKrC,CAAC;AAaF;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CA+CtE;AAMD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAoBlE;AA+BD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAiCpE;AAMD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAoD5D;AAMD,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACxC;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAwD9E;AAMD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,EACnD,QAAQ,EAAE,MAAM,GACf,IAAI,CAuBN"}
@@ -0,0 +1,285 @@
1
+ /**
2
+ * System Reminders - Context injection for agent loop
3
+ * Provides token warnings, cost tracking, tool summaries, and environment info
4
+ */
5
+ // ============================================
6
+ // CONSTANTS
7
+ // ============================================
8
+ export const DEFAULT_REMINDER_CONFIG = {
9
+ tokenWarningThreshold: 0.8, // 80% of max tokens
10
+ costUpdateInterval: 5, // Every 5 turns
11
+ toolSummaryInterval: 3, // Every 3 turns
12
+ envInfoOnStart: true,
13
+ };
14
+ // Token limit thresholds
15
+ const TOKEN_THRESHOLDS = {
16
+ WARNING: 0.8, // 80% - warning
17
+ CRITICAL: 0.9, // 90% - critical
18
+ EMERGENCY: 0.95, // 95% - emergency
19
+ };
20
+ // ============================================
21
+ // TOKEN WARNING BUILDER
22
+ // ============================================
23
+ /**
24
+ * Build a token usage warning message
25
+ * @param current - Current token count
26
+ * @param max - Maximum token limit
27
+ * @param threshold - Optional custom threshold percentage
28
+ * @returns Formatted warning string or empty string if under threshold
29
+ */
30
+ export function buildTokenWarning(options) {
31
+ const { current, max, threshold = TOKEN_THRESHOLDS.WARNING } = options;
32
+ if (max <= 0) {
33
+ return "";
34
+ }
35
+ const percentage = current / max;
36
+ // Only warn if above threshold
37
+ if (percentage < threshold) {
38
+ return "";
39
+ }
40
+ const remaining = max - current;
41
+ const percentUsed = Math.round(percentage * 100);
42
+ let severity;
43
+ let emoji;
44
+ if (percentage >= TOKEN_THRESHOLDS.EMERGENCY) {
45
+ severity = "emergency";
46
+ emoji = "🚨";
47
+ }
48
+ else if (percentage >= TOKEN_THRESHOLDS.CRITICAL) {
49
+ severity = "critical";
50
+ emoji = "⚠️";
51
+ }
52
+ else {
53
+ severity = "warning";
54
+ emoji = "⚡";
55
+ }
56
+ const lines = [
57
+ `${emoji} Token Usage ${severity.toUpperCase()}`,
58
+ "",
59
+ `Current: ${current.toLocaleString()} / ${max.toLocaleString()} tokens (${percentUsed}%)`,
60
+ `Remaining: ${remaining.toLocaleString()} tokens`,
61
+ ];
62
+ if (severity === "emergency") {
63
+ lines.push("");
64
+ lines.push("Consider summarizing or compacting the conversation to continue.");
65
+ }
66
+ else if (severity === "critical") {
67
+ lines.push("");
68
+ lines.push("Approaching token limit. Consider wrapping up soon.");
69
+ }
70
+ return lines.join("\n");
71
+ }
72
+ // ============================================
73
+ // COST UPDATE BUILDER
74
+ // ============================================
75
+ /**
76
+ * Build a cost tracking update message
77
+ * @param cost - Current total cost in USD
78
+ * @param previousCost - Previous cost for delta calculation
79
+ * @param currency - Currency symbol (default: USD)
80
+ * @returns Formatted cost update string
81
+ */
82
+ export function buildCostUpdate(options) {
83
+ const { cost, previousCost = 0, currency = "USD" } = options;
84
+ const currencySymbol = getCurrencySymbol(currency);
85
+ const formattedCost = formatCurrency(cost, currencySymbol);
86
+ const delta = cost - previousCost;
87
+ const formattedDelta = formatCurrency(Math.abs(delta), currencySymbol);
88
+ const lines = [
89
+ `💰 Cost Update`,
90
+ "",
91
+ `Total: ${formattedCost} ${currency}`,
92
+ ];
93
+ if (delta !== 0) {
94
+ const direction = delta > 0 ? "+" : "-";
95
+ lines.push(`This turn: ${direction}${formattedDelta} ${currency}`);
96
+ }
97
+ return lines.join("\n");
98
+ }
99
+ /**
100
+ * Format currency value with appropriate precision
101
+ */
102
+ function formatCurrency(value, symbol) {
103
+ if (value < 0.01) {
104
+ return `${symbol}${value.toFixed(4)}`;
105
+ }
106
+ else if (value < 1) {
107
+ return `${symbol}${value.toFixed(3)}`;
108
+ }
109
+ return `${symbol}${value.toFixed(2)}`;
110
+ }
111
+ /**
112
+ * Get currency symbol from currency code
113
+ */
114
+ function getCurrencySymbol(currency) {
115
+ const symbols = {
116
+ USD: "$",
117
+ EUR: "€",
118
+ GBP: "£",
119
+ JPY: "¥",
120
+ };
121
+ return symbols[currency] || currency;
122
+ }
123
+ // ============================================
124
+ // TOOL SUMMARY BUILDER
125
+ // ============================================
126
+ /**
127
+ * Build a summary of tool usage
128
+ * @param tools - Array of tool use blocks
129
+ * @param maxDisplay - Maximum number of tools to display (default: 10)
130
+ * @returns Formatted tool summary string
131
+ */
132
+ export function buildToolSummary(options) {
133
+ const { tools, maxDisplay = 10 } = options;
134
+ if (tools.length === 0) {
135
+ return "No tools used this session.";
136
+ }
137
+ // Count tool usage
138
+ const toolCounts = new Map();
139
+ for (const tool of tools) {
140
+ const count = toolCounts.get(tool.name) || 0;
141
+ toolCounts.set(tool.name, count + 1);
142
+ }
143
+ // Sort by usage count
144
+ const sortedTools = [...toolCounts.entries()].sort((a, b) => b[1] - a[1]);
145
+ const lines = [
146
+ `🔧 Tool Usage Summary (${tools.length} total calls)`,
147
+ "",
148
+ ];
149
+ const displayTools = sortedTools.slice(0, maxDisplay);
150
+ for (const [name, count] of displayTools) {
151
+ lines.push(` • ${name}: ${count} call${count === 1 ? "" : "s"}`);
152
+ }
153
+ if (sortedTools.length > maxDisplay) {
154
+ const remaining = sortedTools.length - maxDisplay;
155
+ lines.push(` ... and ${remaining} more tool${remaining === 1 ? "" : "s"}`);
156
+ }
157
+ return lines.join("\n");
158
+ }
159
+ // ============================================
160
+ // ENVIRONMENT INFO BUILDER
161
+ // ============================================
162
+ /**
163
+ * Build environment information message
164
+ * @param workingDirectory - Current working directory
165
+ * @param gitStatus - Optional git status information
166
+ * @param platform - Optional platform info
167
+ * @param shell - Optional shell info
168
+ * @returns Formatted environment info string
169
+ */
170
+ export function buildEnvInfo(options) {
171
+ const { workingDirectory, gitStatus, platform = process.platform, shell = process.env.SHELL || "unknown", } = options;
172
+ const lines = [
173
+ "📍 Environment Information",
174
+ "",
175
+ `Working Directory: ${workingDirectory}`,
176
+ `Platform: ${platform}`,
177
+ `Shell: ${shell}`,
178
+ ];
179
+ if (gitStatus) {
180
+ lines.push("");
181
+ lines.push("Git Status:");
182
+ lines.push(` Branch: ${gitStatus.branch}`);
183
+ if (gitStatus.ahead > 0 || gitStatus.behind > 0) {
184
+ lines.push(` Ahead: ${gitStatus.ahead}, Behind: ${gitStatus.behind}`);
185
+ }
186
+ const totalChanges = gitStatus.staged.length +
187
+ gitStatus.unstaged.length +
188
+ gitStatus.untracked.length +
189
+ gitStatus.conflicted.length;
190
+ if (totalChanges > 0) {
191
+ lines.push(` Changes: ${totalChanges} file${totalChanges === 1 ? "" : "s"}`);
192
+ if (gitStatus.staged.length > 0) {
193
+ lines.push(` Staged: ${gitStatus.staged.length}`);
194
+ }
195
+ if (gitStatus.unstaged.length > 0) {
196
+ lines.push(` Unstaged: ${gitStatus.unstaged.length}`);
197
+ }
198
+ if (gitStatus.untracked.length > 0) {
199
+ lines.push(` Untracked: ${gitStatus.untracked.length}`);
200
+ }
201
+ if (gitStatus.conflicted.length > 0) {
202
+ lines.push(` Conflicted: ${gitStatus.conflicted.length}`);
203
+ }
204
+ }
205
+ else {
206
+ lines.push(" Working tree clean");
207
+ }
208
+ }
209
+ return lines.join("\n");
210
+ }
211
+ /**
212
+ * Build a combined system reminder based on current state
213
+ * Intelligently includes relevant reminders based on thresholds and intervals
214
+ */
215
+ export function buildCombinedReminder(options) {
216
+ const { usage, maxTokens, totalCost, previousCost, toolsUsed, workingDirectory, gitStatus, turnNumber, config: userConfig, } = options;
217
+ const config = { ...DEFAULT_REMINDER_CONFIG, ...userConfig };
218
+ const reminders = [];
219
+ // Token warning (always check)
220
+ const currentTokens = usage.input_tokens + usage.output_tokens;
221
+ const tokenWarning = buildTokenWarning({
222
+ current: currentTokens,
223
+ max: maxTokens,
224
+ threshold: config.tokenWarningThreshold,
225
+ });
226
+ if (tokenWarning) {
227
+ reminders.push(tokenWarning);
228
+ }
229
+ // Cost update (on interval)
230
+ if (turnNumber % config.costUpdateInterval === 0) {
231
+ const costUpdate = buildCostUpdate({
232
+ cost: totalCost,
233
+ previousCost,
234
+ });
235
+ reminders.push(costUpdate);
236
+ }
237
+ // Tool summary (on interval)
238
+ if (turnNumber % config.toolSummaryInterval === 0 && toolsUsed.length > 0) {
239
+ const toolSummary = buildToolSummary({ tools: toolsUsed });
240
+ reminders.push(toolSummary);
241
+ }
242
+ // Environment info (first turn only)
243
+ if (turnNumber === 1 && config.envInfoOnStart) {
244
+ const envInfo = buildEnvInfo({
245
+ workingDirectory,
246
+ gitStatus,
247
+ });
248
+ reminders.push(envInfo);
249
+ }
250
+ if (reminders.length === 0) {
251
+ return "";
252
+ }
253
+ return ["---", "System Reminders:", "", ...reminders, "---"].join("\n");
254
+ }
255
+ // ============================================
256
+ // REMINDER INJECTOR
257
+ // ============================================
258
+ /**
259
+ * Inject system reminders into the conversation
260
+ * This should be called before sending messages to the API
261
+ */
262
+ export function injectSystemReminder(messages, reminder) {
263
+ if (!reminder || messages.length === 0) {
264
+ return;
265
+ }
266
+ // Find the last user message and append the reminder
267
+ for (let i = messages.length - 1; i >= 0; i--) {
268
+ const message = messages[i];
269
+ if (message && message.role === "user") {
270
+ // Append reminder to content
271
+ if (typeof message.content === "string") {
272
+ message.content = `${message.content}\n\n${reminder}`;
273
+ }
274
+ else if (Array.isArray(message.content)) {
275
+ // Handle array content (tool results, etc.)
276
+ // Add as a new text block at the end
277
+ message.content.push({
278
+ type: "text",
279
+ text: `\n\n${reminder}`,
280
+ });
281
+ }
282
+ break;
283
+ }
284
+ }
285
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Hook System Tests
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../../packages/src/ecosystem/hooks/__tests__/index.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}