@ebowwa/coder 0.2.1 → 0.7.64

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 (401) hide show
  1. package/README.md +31 -32
  2. package/dist/core/__tests__/permissions.test.d.ts +12 -0
  3. package/dist/core/__tests__/permissions.test.d.ts.map +1 -0
  4. package/dist/core/__tests__/permissions.test.js +851 -0
  5. package/dist/core/agent-loop/__tests__/compaction.test.d.ts +5 -0
  6. package/dist/core/agent-loop/__tests__/compaction.test.d.ts.map +1 -0
  7. package/dist/core/agent-loop/__tests__/compaction.test.js +209 -0
  8. package/dist/core/agent-loop/__tests__/formatters.test.d.ts +5 -0
  9. package/dist/core/agent-loop/__tests__/formatters.test.d.ts.map +1 -0
  10. package/dist/core/agent-loop/__tests__/formatters.test.js +195 -0
  11. package/dist/core/agent-loop/__tests__/index.test.d.ts +5 -0
  12. package/dist/core/agent-loop/__tests__/index.test.d.ts.map +1 -0
  13. package/dist/core/agent-loop/__tests__/index.test.js +121 -0
  14. package/dist/core/agent-loop/__tests__/loop-state.test.d.ts +5 -0
  15. package/dist/core/agent-loop/__tests__/loop-state.test.d.ts.map +1 -0
  16. package/dist/core/agent-loop/__tests__/loop-state.test.js +340 -0
  17. package/dist/core/agent-loop/__tests__/message-builder.test.d.ts +5 -0
  18. package/dist/core/agent-loop/__tests__/message-builder.test.d.ts.map +1 -0
  19. package/dist/core/agent-loop/__tests__/message-builder.test.js +178 -0
  20. package/dist/core/agent-loop/__tests__/tool-executor.test.d.ts +5 -0
  21. package/dist/core/agent-loop/__tests__/tool-executor.test.d.ts.map +1 -0
  22. package/dist/core/agent-loop/__tests__/tool-executor.test.js +331 -0
  23. package/dist/core/agent-loop/compaction.d.ts +39 -0
  24. package/dist/core/agent-loop/compaction.d.ts.map +1 -0
  25. package/dist/core/agent-loop/compaction.js +51 -0
  26. package/dist/core/agent-loop/formatters.d.ts +21 -0
  27. package/dist/core/agent-loop/formatters.d.ts.map +1 -0
  28. package/dist/core/agent-loop/formatters.js +42 -0
  29. package/dist/core/agent-loop/index.d.ts +25 -0
  30. package/dist/core/agent-loop/index.d.ts.map +1 -0
  31. package/dist/core/agent-loop/index.js +83 -0
  32. package/dist/core/agent-loop/loop-state.d.ts +74 -0
  33. package/dist/core/agent-loop/loop-state.d.ts.map +1 -0
  34. package/dist/core/agent-loop/loop-state.js +147 -0
  35. package/dist/core/agent-loop/message-builder.d.ts +13 -0
  36. package/dist/core/agent-loop/message-builder.d.ts.map +1 -0
  37. package/dist/core/agent-loop/message-builder.js +49 -0
  38. package/dist/core/agent-loop/tool-executor.d.ts +23 -0
  39. package/dist/core/agent-loop/tool-executor.d.ts.map +1 -0
  40. package/dist/core/agent-loop/tool-executor.js +152 -0
  41. package/dist/core/agent-loop/turn-executor.d.ts +57 -0
  42. package/dist/core/agent-loop/turn-executor.d.ts.map +1 -0
  43. package/dist/core/agent-loop/turn-executor.js +124 -0
  44. package/dist/core/agent-loop/types.d.ts +141 -0
  45. package/dist/core/agent-loop/types.d.ts.map +1 -0
  46. package/dist/core/agent-loop/types.js +4 -0
  47. package/dist/core/agent-loop.d.ts +17 -0
  48. package/dist/core/agent-loop.d.ts.map +1 -0
  49. package/dist/core/agent-loop.js +16 -0
  50. package/dist/core/api-client-impl.d.ts +62 -0
  51. package/dist/core/api-client-impl.d.ts.map +1 -0
  52. package/dist/core/api-client-impl.js +479 -0
  53. package/dist/core/api-client.d.ts +6 -0
  54. package/dist/core/api-client.d.ts.map +1 -0
  55. package/dist/core/api-client.js +5 -0
  56. package/dist/core/checkpoints.d.ts +128 -0
  57. package/dist/core/checkpoints.d.ts.map +1 -0
  58. package/dist/core/checkpoints.js +438 -0
  59. package/dist/core/claude-md.d.ts +71 -0
  60. package/dist/core/claude-md.d.ts.map +1 -0
  61. package/dist/core/claude-md.js +198 -0
  62. package/dist/core/cognitive-security/hooks.d.ts +138 -0
  63. package/dist/core/cognitive-security/hooks.d.ts.map +1 -0
  64. package/dist/core/cognitive-security/hooks.js +389 -0
  65. package/dist/core/cognitive-security/index.d.ts +751 -0
  66. package/dist/core/cognitive-security/index.d.ts.map +1 -0
  67. package/dist/core/cognitive-security/index.js +1123 -0
  68. package/dist/core/cognitive-security/middleware.d.ts +136 -0
  69. package/dist/core/cognitive-security/middleware.d.ts.map +1 -0
  70. package/dist/core/cognitive-security/middleware.js +376 -0
  71. package/dist/core/config-loader.d.ts +127 -0
  72. package/dist/core/config-loader.d.ts.map +1 -0
  73. package/dist/core/config-loader.js +219 -0
  74. package/dist/core/context-compaction.d.ts +87 -0
  75. package/dist/core/context-compaction.d.ts.map +1 -0
  76. package/dist/core/context-compaction.js +428 -0
  77. package/dist/core/git-status.d.ts +25 -0
  78. package/dist/core/git-status.d.ts.map +1 -0
  79. package/dist/core/git-status.js +204 -0
  80. package/dist/core/image.d.ts +69 -0
  81. package/dist/core/image.d.ts.map +1 -0
  82. package/dist/core/image.js +290 -0
  83. package/dist/core/image.test.d.ts +2 -0
  84. package/dist/core/image.test.d.ts.map +1 -0
  85. package/dist/core/image.test.js +149 -0
  86. package/dist/core/models.d.ts +123 -0
  87. package/dist/core/models.d.ts.map +1 -0
  88. package/dist/core/models.js +325 -0
  89. package/dist/core/permissions.d.ts +81 -0
  90. package/dist/core/permissions.d.ts.map +1 -0
  91. package/dist/core/permissions.js +327 -0
  92. package/dist/core/retry.d.ts +25 -0
  93. package/dist/core/retry.d.ts.map +1 -0
  94. package/dist/core/retry.js +121 -0
  95. package/dist/core/session-store.d.ts +9 -0
  96. package/dist/core/session-store.d.ts.map +1 -0
  97. package/dist/core/session-store.js +10 -0
  98. package/dist/core/sessions/export.d.ts +47 -0
  99. package/dist/core/sessions/export.d.ts.map +1 -0
  100. package/dist/core/sessions/export.js +256 -0
  101. package/dist/core/sessions/index.d.ts +132 -0
  102. package/dist/core/sessions/index.d.ts.map +1 -0
  103. package/dist/core/sessions/index.js +442 -0
  104. package/dist/core/sessions/metadata.d.ts +77 -0
  105. package/dist/core/sessions/metadata.d.ts.map +1 -0
  106. package/dist/core/sessions/metadata.js +233 -0
  107. package/dist/core/sessions/persistence.d.ts +72 -0
  108. package/dist/core/sessions/persistence.d.ts.map +1 -0
  109. package/dist/core/sessions/persistence.js +201 -0
  110. package/dist/core/sessions/types.d.ts +110 -0
  111. package/dist/core/sessions/types.d.ts.map +1 -0
  112. package/dist/core/sessions/types.js +4 -0
  113. package/dist/core/stream-highlighter.d.ts +18 -0
  114. package/dist/core/stream-highlighter.d.ts.map +1 -0
  115. package/dist/core/stream-highlighter.js +916 -0
  116. package/dist/core/system-reminders.d.ts +89 -0
  117. package/dist/core/system-reminders.d.ts.map +1 -0
  118. package/dist/core/system-reminders.js +285 -0
  119. package/dist/ecosystem/hooks/__tests__/index.test.d.ts +5 -0
  120. package/dist/ecosystem/hooks/__tests__/index.test.d.ts.map +1 -0
  121. package/dist/ecosystem/hooks/__tests__/index.test.js +458 -0
  122. package/dist/ecosystem/hooks/index.d.ts +59 -0
  123. package/dist/ecosystem/hooks/index.d.ts.map +1 -0
  124. package/dist/ecosystem/hooks/index.js +294 -0
  125. package/dist/ecosystem/hooks/prompt-evaluator.d.ts +32 -0
  126. package/dist/ecosystem/hooks/prompt-evaluator.d.ts.map +1 -0
  127. package/dist/ecosystem/hooks/prompt-evaluator.js +229 -0
  128. package/dist/ecosystem/skills/index.d.ts +55 -0
  129. package/dist/ecosystem/skills/index.d.ts.map +1 -0
  130. package/dist/ecosystem/skills/index.js +258 -0
  131. package/dist/ecosystem/tools/__tests__/index.test.d.ts +7 -0
  132. package/dist/ecosystem/tools/__tests__/index.test.d.ts.map +1 -0
  133. package/dist/ecosystem/tools/__tests__/index.test.js +856 -0
  134. package/dist/ecosystem/tools/index.d.ts +24 -0
  135. package/dist/ecosystem/tools/index.d.ts.map +1 -0
  136. package/dist/ecosystem/tools/index.js +1709 -0
  137. package/dist/index.d.ts +24 -0
  138. package/dist/index.d.ts.map +1 -0
  139. package/dist/index.js +32 -2
  140. package/dist/interfaces/mcp/client.d.ts +40 -0
  141. package/dist/interfaces/mcp/client.d.ts.map +1 -0
  142. package/dist/interfaces/mcp/client.js +309 -0
  143. package/dist/interfaces/ui/index.d.ts +36 -0
  144. package/dist/interfaces/ui/index.d.ts.map +1 -0
  145. package/dist/interfaces/ui/index.js +61 -0
  146. package/dist/interfaces/ui/spinner.d.ts +140 -0
  147. package/dist/interfaces/ui/spinner.d.ts.map +1 -0
  148. package/dist/interfaces/ui/spinner.js +342 -0
  149. package/dist/interfaces/ui/terminal/cli/index.d.ts +12 -0
  150. package/dist/interfaces/ui/terminal/cli/index.d.ts.map +1 -0
  151. package/dist/interfaces/ui/terminal/cli/index.js +167 -0
  152. package/dist/interfaces/ui/terminal/shared/args.d.ts +39 -0
  153. package/dist/interfaces/ui/terminal/shared/args.d.ts.map +1 -0
  154. package/dist/interfaces/ui/terminal/shared/args.js +176 -0
  155. package/dist/interfaces/ui/terminal/shared/index.d.ts +11 -0
  156. package/dist/interfaces/ui/terminal/shared/index.d.ts.map +1 -0
  157. package/dist/interfaces/ui/terminal/shared/index.js +16 -0
  158. package/dist/interfaces/ui/terminal/shared/loading-state.d.ts +124 -0
  159. package/dist/interfaces/ui/terminal/shared/loading-state.d.ts.map +1 -0
  160. package/dist/interfaces/ui/terminal/shared/loading-state.js +246 -0
  161. package/dist/interfaces/ui/terminal/shared/query.d.ts +22 -0
  162. package/dist/interfaces/ui/terminal/shared/query.d.ts.map +1 -0
  163. package/dist/interfaces/ui/terminal/shared/query.js +100 -0
  164. package/dist/interfaces/ui/terminal/shared/setup.d.ts +33 -0
  165. package/dist/interfaces/ui/terminal/shared/setup.d.ts.map +1 -0
  166. package/dist/interfaces/ui/terminal/shared/setup.js +226 -0
  167. package/dist/interfaces/ui/terminal/shared/status-line.d.ts +117 -0
  168. package/dist/interfaces/ui/terminal/shared/status-line.d.ts.map +1 -0
  169. package/dist/interfaces/ui/terminal/shared/status-line.js +267 -0
  170. package/dist/interfaces/ui/terminal/shared/system-prompt.d.ts +38 -0
  171. package/dist/interfaces/ui/terminal/shared/system-prompt.d.ts.map +1 -0
  172. package/dist/interfaces/ui/terminal/shared/system-prompt.js +102 -0
  173. package/dist/interfaces/ui/terminal/tui/HelpPanel.d.ts +39 -0
  174. package/dist/interfaces/ui/terminal/tui/HelpPanel.d.ts.map +1 -0
  175. package/dist/interfaces/ui/terminal/tui/HelpPanel.js +215 -0
  176. package/dist/interfaces/ui/terminal/tui/InputContext.d.ts +91 -0
  177. package/dist/interfaces/ui/terminal/tui/InputContext.d.ts.map +1 -0
  178. package/dist/interfaces/ui/terminal/tui/InputContext.js +154 -0
  179. package/dist/interfaces/ui/terminal/tui/InputField.d.ts +18 -0
  180. package/dist/interfaces/ui/terminal/tui/InputField.d.ts.map +1 -0
  181. package/dist/interfaces/ui/terminal/tui/InputField.js +41 -0
  182. package/dist/interfaces/ui/terminal/tui/InteractiveTUI.d.ts +16 -0
  183. package/dist/interfaces/ui/terminal/tui/InteractiveTUI.d.ts.map +1 -0
  184. package/dist/interfaces/ui/terminal/tui/InteractiveTUI.js +451 -0
  185. package/dist/interfaces/ui/terminal/tui/MessageArea.d.ts +10 -0
  186. package/dist/interfaces/ui/terminal/tui/MessageArea.d.ts.map +1 -0
  187. package/dist/interfaces/ui/terminal/tui/MessageArea.js +91 -0
  188. package/dist/interfaces/ui/terminal/tui/MessageStore.d.ts +48 -0
  189. package/dist/interfaces/ui/terminal/tui/MessageStore.d.ts.map +1 -0
  190. package/dist/interfaces/ui/terminal/tui/MessageStore.js +151 -0
  191. package/dist/interfaces/ui/terminal/tui/StatusBar.d.ts +9 -0
  192. package/dist/interfaces/ui/terminal/tui/StatusBar.d.ts.map +1 -0
  193. package/dist/interfaces/ui/terminal/tui/StatusBar.js +36 -0
  194. package/dist/interfaces/ui/terminal/tui/commands.d.ts +21 -0
  195. package/dist/interfaces/ui/terminal/tui/commands.d.ts.map +1 -0
  196. package/dist/interfaces/ui/terminal/tui/commands.js +359 -0
  197. package/dist/interfaces/ui/terminal/tui/components/InteractiveElements.d.ts +115 -0
  198. package/dist/interfaces/ui/terminal/tui/components/InteractiveElements.d.ts.map +1 -0
  199. package/dist/interfaces/ui/terminal/tui/components/InteractiveElements.js +306 -0
  200. package/dist/interfaces/ui/terminal/tui/components/MultilineInput.d.ts +92 -0
  201. package/dist/interfaces/ui/terminal/tui/components/MultilineInput.d.ts.map +1 -0
  202. package/dist/interfaces/ui/terminal/tui/components/MultilineInput.js +399 -0
  203. package/dist/interfaces/ui/terminal/tui/components/PaneManager.d.ts +59 -0
  204. package/dist/interfaces/ui/terminal/tui/components/PaneManager.d.ts.map +1 -0
  205. package/dist/interfaces/ui/terminal/tui/components/PaneManager.js +139 -0
  206. package/dist/interfaces/ui/terminal/tui/components/Sidebar.d.ts +68 -0
  207. package/dist/interfaces/ui/terminal/tui/components/Sidebar.d.ts.map +1 -0
  208. package/dist/interfaces/ui/terminal/tui/components/Sidebar.js +340 -0
  209. package/dist/interfaces/ui/terminal/tui/components/index.d.ts +23 -0
  210. package/dist/interfaces/ui/terminal/tui/components/index.d.ts.map +1 -0
  211. package/dist/interfaces/ui/terminal/tui/components/index.js +51 -0
  212. package/dist/interfaces/ui/terminal/tui/console.d.ts +20 -0
  213. package/dist/interfaces/ui/terminal/tui/console.d.ts.map +1 -0
  214. package/dist/interfaces/ui/terminal/tui/console.js +46 -0
  215. package/dist/interfaces/ui/terminal/tui/index.d.ts +20 -0
  216. package/dist/interfaces/ui/terminal/tui/index.d.ts.map +1 -0
  217. package/dist/interfaces/ui/terminal/tui/index.js +28 -0
  218. package/dist/interfaces/ui/terminal/tui/run.d.ts +13 -0
  219. package/dist/interfaces/ui/terminal/tui/run.d.ts.map +1 -0
  220. package/dist/interfaces/ui/terminal/tui/run.js +31 -0
  221. package/dist/interfaces/ui/terminal/tui/spinner.d.ts +44 -0
  222. package/dist/interfaces/ui/terminal/tui/spinner.d.ts.map +1 -0
  223. package/dist/interfaces/ui/terminal/tui/spinner.js +59 -0
  224. package/dist/interfaces/ui/terminal/tui/tui-app.d.ts +39 -0
  225. package/dist/interfaces/ui/terminal/tui/tui-app.d.ts.map +1 -0
  226. package/dist/interfaces/ui/terminal/tui/tui-app.js +198 -0
  227. package/dist/interfaces/ui/terminal/tui/tui-footer.d.ts +167 -0
  228. package/dist/interfaces/ui/terminal/tui/tui-footer.d.ts.map +1 -0
  229. package/dist/interfaces/ui/terminal/tui/tui-footer.js +330 -0
  230. package/dist/interfaces/ui/terminal/tui/types.d.ts +165 -0
  231. package/dist/interfaces/ui/terminal/tui/types.d.ts.map +1 -0
  232. package/dist/interfaces/ui/terminal/tui/types.js +5 -0
  233. package/dist/interfaces/ui/terminal/tui/useInputHandler.d.ts +23 -0
  234. package/dist/interfaces/ui/terminal/tui/useInputHandler.d.ts.map +1 -0
  235. package/dist/interfaces/ui/terminal/tui/useInputHandler.js +72 -0
  236. package/dist/interfaces/ui/terminal/tui/useNativeInput.d.ts +90 -0
  237. package/dist/interfaces/ui/terminal/tui/useNativeInput.d.ts.map +1 -0
  238. package/dist/interfaces/ui/terminal/tui/useNativeInput.js +188 -0
  239. package/dist/native/index.d.ts +480 -0
  240. package/dist/native/index.d.ts.map +1 -0
  241. package/dist/native/index.js +1625 -0
  242. package/dist/teammates/index.d.ts +161 -0
  243. package/dist/teammates/index.d.ts.map +1 -0
  244. package/dist/teammates/index.js +827 -0
  245. package/dist/types/index.d.ts +482 -0
  246. package/dist/types/index.d.ts.map +1 -0
  247. package/dist/types/index.js +52 -0
  248. package/native/README.md +5 -5
  249. package/native/index.darwin-arm64.node +0 -0
  250. package/native/index.node +0 -0
  251. package/native/package.json +4 -4
  252. package/package.json +33 -16
  253. package/packages/src/core/__tests__/permissions.test.ts +1091 -0
  254. package/packages/src/core/agent-loop/__tests__/compaction.test.ts +280 -0
  255. package/packages/src/core/agent-loop/__tests__/formatters.test.ts +234 -0
  256. package/packages/src/core/agent-loop/__tests__/index.test.ts +162 -0
  257. package/packages/src/core/agent-loop/__tests__/loop-state.test.ts +413 -0
  258. package/packages/src/core/agent-loop/__tests__/message-builder.test.ts +229 -0
  259. package/packages/src/core/agent-loop/__tests__/tool-executor.test.ts +457 -0
  260. package/packages/src/core/agent-loop/compaction.ts +88 -0
  261. package/packages/src/core/agent-loop/formatters.ts +50 -0
  262. package/packages/src/core/agent-loop/index.ts +135 -0
  263. package/packages/src/core/agent-loop/loop-state.ts +187 -0
  264. package/packages/src/core/agent-loop/message-builder.ts +62 -0
  265. package/packages/src/core/agent-loop/tool-executor.ts +211 -0
  266. package/packages/src/core/agent-loop/turn-executor.ts +222 -0
  267. package/packages/src/core/agent-loop/types.ts +148 -0
  268. package/packages/src/core/agent-loop.ts +18 -0
  269. package/packages/src/core/api-client-impl.ts +619 -0
  270. package/packages/src/core/api-client.ts +6 -0
  271. package/packages/src/core/checkpoints.ts +606 -0
  272. package/packages/src/core/claude-md.ts +272 -0
  273. package/packages/src/core/cognitive-security/hooks.ts +590 -0
  274. package/packages/src/core/cognitive-security/index.ts +2041 -0
  275. package/packages/src/core/cognitive-security/middleware.ts +536 -0
  276. package/packages/src/core/config-loader.ts +324 -0
  277. package/packages/src/core/context-compaction.ts +578 -0
  278. package/packages/src/core/git-status.ts +262 -0
  279. package/packages/src/core/image.test.ts +180 -0
  280. package/packages/src/core/image.ts +350 -0
  281. package/packages/src/core/lmdb.db +0 -0
  282. package/packages/src/core/lmdb.db-lock +0 -0
  283. package/packages/src/core/models.ts +430 -0
  284. package/packages/src/core/normalizers/todo +4 -0
  285. package/packages/src/core/permissions.ts +431 -0
  286. package/packages/src/core/retry.ts +170 -0
  287. package/packages/src/core/session-store.ts +36 -0
  288. package/packages/src/core/sessions/export.ts +329 -0
  289. package/packages/src/core/sessions/index.ts +587 -0
  290. package/packages/src/core/sessions/metadata.ts +309 -0
  291. package/packages/src/core/sessions/persistence.ts +244 -0
  292. package/packages/src/core/sessions/types.ts +169 -0
  293. package/packages/src/core/stream-highlighter.ts +1123 -0
  294. package/packages/src/core/system-reminders.ts +402 -0
  295. package/packages/src/core/todo +8 -0
  296. package/packages/src/ecosystem/hooks/__tests__/index.test.ts +561 -0
  297. package/packages/src/ecosystem/hooks/index.ts +341 -0
  298. package/packages/src/ecosystem/hooks/prompt-evaluator.ts +300 -0
  299. package/packages/src/ecosystem/skills/index.ts +295 -0
  300. package/packages/src/ecosystem/tools/__tests__/index.test.ts +1335 -0
  301. package/packages/src/ecosystem/tools/index.ts +1877 -0
  302. package/packages/src/index.ts +120 -0
  303. package/packages/src/interfaces/mcp/client.ts +389 -0
  304. package/packages/src/interfaces/ui/Screenshot 2026-03-02 at 9.23.10/342/200/257PM.png +0 -0
  305. package/packages/src/interfaces/ui/Screenshot 2026-03-03 at 10.55.11/342/200/257AM.png +0 -0
  306. package/packages/src/interfaces/ui/index.ts +161 -0
  307. package/packages/src/interfaces/ui/lmdb.db +0 -0
  308. package/packages/src/interfaces/ui/lmdb.db-lock +0 -0
  309. package/packages/src/interfaces/ui/spinner.ts +451 -0
  310. package/packages/src/interfaces/ui/terminal/cli/index.ts +228 -0
  311. package/packages/src/interfaces/ui/terminal/lmdb.db +0 -0
  312. package/packages/src/interfaces/ui/terminal/lmdb.db-lock +0 -0
  313. package/packages/src/interfaces/ui/terminal/shared/args.ts +222 -0
  314. package/packages/src/interfaces/ui/terminal/shared/index.ts +71 -0
  315. package/packages/src/interfaces/ui/terminal/shared/loading-state.ts +322 -0
  316. package/packages/src/interfaces/ui/terminal/shared/query.ts +146 -0
  317. package/packages/src/interfaces/ui/terminal/shared/setup.ts +295 -0
  318. package/packages/src/interfaces/ui/terminal/shared/status-line.ts +358 -0
  319. package/packages/src/interfaces/ui/terminal/shared/system-prompt.ts +146 -0
  320. package/packages/src/interfaces/ui/terminal/tui/HelpPanel.tsx +262 -0
  321. package/packages/src/interfaces/ui/terminal/tui/InputContext.tsx +232 -0
  322. package/packages/src/interfaces/ui/terminal/tui/InputField.tsx +62 -0
  323. package/packages/src/interfaces/ui/terminal/tui/InteractiveTUI.tsx +537 -0
  324. package/packages/src/interfaces/ui/terminal/tui/MessageArea.tsx +107 -0
  325. package/packages/src/interfaces/ui/terminal/tui/MessageStore.tsx +240 -0
  326. package/packages/src/interfaces/ui/terminal/tui/StatusBar.tsx +54 -0
  327. package/packages/src/interfaces/ui/terminal/tui/commands.ts +438 -0
  328. package/packages/src/interfaces/ui/terminal/tui/components/InteractiveElements.tsx +584 -0
  329. package/packages/src/interfaces/ui/terminal/tui/components/MultilineInput.tsx +614 -0
  330. package/packages/src/interfaces/ui/terminal/tui/components/PaneManager.tsx +333 -0
  331. package/packages/src/interfaces/ui/terminal/tui/components/Sidebar.tsx +604 -0
  332. package/packages/src/interfaces/ui/terminal/tui/components/index.ts +118 -0
  333. package/packages/src/interfaces/ui/terminal/tui/console.ts +49 -0
  334. package/packages/src/interfaces/ui/terminal/tui/index.ts +90 -0
  335. package/packages/src/interfaces/ui/terminal/tui/run.tsx +42 -0
  336. package/packages/src/interfaces/ui/terminal/tui/spinner.ts +69 -0
  337. package/packages/src/interfaces/ui/terminal/tui/tui-app.tsx +390 -0
  338. package/packages/src/interfaces/ui/terminal/tui/tui-footer.ts +422 -0
  339. package/packages/src/interfaces/ui/terminal/tui/types.ts +186 -0
  340. package/packages/src/interfaces/ui/terminal/tui/useInputHandler.ts +104 -0
  341. package/packages/src/interfaces/ui/terminal/tui/useNativeInput.ts +239 -0
  342. package/packages/src/lmdb.db +0 -0
  343. package/packages/src/lmdb.db-lock +0 -0
  344. package/packages/src/native/index.ts +2345 -0
  345. package/packages/src/teammates/index.ts +982 -0
  346. package/packages/src/types/index.ts +722 -0
  347. package/dist/cli.js +0 -148
  348. package/dist/index-0pkak453.js +0 -136
  349. package/dist/index-0qd0x8b4.js +0 -110
  350. package/dist/index-0x3kprq6.js +0 -240
  351. package/dist/index-1eawy937.js +0 -308
  352. package/dist/index-24m2aygy.js +0 -240
  353. package/dist/index-29xcjnne.js +0 -280
  354. package/dist/index-2avyytn5.js +0 -349
  355. package/dist/index-4ms367ey.js +0 -136
  356. package/dist/index-4w2t3b0m.js +0 -240
  357. package/dist/index-4xfgd8nz.js +0 -261
  358. package/dist/index-5acjp9gc.js +0 -157
  359. package/dist/index-5s15hr56.js +0 -136
  360. package/dist/index-6e4wf341.js +0 -349
  361. package/dist/index-6fvnkedw.js +0 -240
  362. package/dist/index-6rqpmd4g.js +0 -128
  363. package/dist/index-77ckwnbm.js +0 -280
  364. package/dist/index-9knxy49k.js +0 -128
  365. package/dist/index-9zrnw4zx.js +0 -128
  366. package/dist/index-bk21w99v.js +0 -280
  367. package/dist/index-c41n76fv.js +0 -240
  368. package/dist/index-cb4ppjdt.js +0 -255
  369. package/dist/index-cfb2edt6.js +0 -240
  370. package/dist/index-cmfa38hh.js +0 -308
  371. package/dist/index-datjz8q1.js +0 -257
  372. package/dist/index-eadf4wvn.js +0 -240
  373. package/dist/index-em5k0m3z.js +0 -345
  374. package/dist/index-gh8r333a.js +0 -110
  375. package/dist/index-gkx6k2tr.js +0 -261
  376. package/dist/index-h5cabfks.js +0 -155
  377. package/dist/index-hcrpwyy3.js +0 -261
  378. package/dist/index-hk7fwwa8.js +0 -257
  379. package/dist/index-jb8cw7f8.js +0 -136
  380. package/dist/index-kbyw4th1.js +0 -347
  381. package/dist/index-kgj5gqnm.js +0 -345
  382. package/dist/index-mdf6xp1z.js +0 -255
  383. package/dist/index-mrhv8kvc.js +0 -280
  384. package/dist/index-mt4743dd.js +0 -161
  385. package/dist/index-qnwsg97q.js +0 -240
  386. package/dist/index-qwdy6x44.js +0 -261
  387. package/dist/index-rmj77261.js +0 -157
  388. package/dist/index-sbbw1a61.js +0 -349
  389. package/dist/index-svy5bcpn.js +0 -345
  390. package/dist/index-tvmy7tm9.js +0 -261
  391. package/dist/index-tzz4vzkj.js +0 -312
  392. package/dist/index-vz80zmhe.js +0 -110
  393. package/dist/index-wed2fk67.js +0 -240
  394. package/dist/index-wksgzz8e.js +0 -280
  395. package/dist/index-wn2m4wma.js +0 -240
  396. package/dist/index-xha05vjc.js +0 -257
  397. package/dist/index-yc6eh8p8.js +0 -136
  398. package/dist/index-ycjxx9ft.js +0 -240
  399. package/dist/index-z0gzd0fc.js +0 -110
  400. package/dist/index-z8cwtf8j.js +0 -240
  401. package/dist/index-zy5mtt00.js +0 -128
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useNativeInput.d.ts","sourceRoot":"","sources":["../../../../../packages/src/interfaces/ui/terminal/tui/useNativeInput.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAc,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAEnG,UAAU,qBAAqB;IAC7B,iDAAiD;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8BAA8B;IAC9B,KAAK,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;CACxC;AAED,UAAU,oBAAoB;IAC5B,8CAA8C;IAC9C,OAAO,EAAE,OAAO,CAAC;IACjB,8CAA8C;IAC9C,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,cAAc,CAAC,EAC7B,QAAe,EACf,KAAK,GACN,EAAE,qBAAqB,GAAG,oBAAoB,CA2E9C;AAED;;GAEG;AACH,eAAO,MAAM,SAAS;IACpB,kCAAkC;mBACnB,cAAc,GAAG,OAAO;IAIvC,sCAAsC;uBACnB,cAAc,GAAG,OAAO;IAI3C,mCAAmC;oBACnB,cAAc,GAAG,OAAO;IAIxC,mCAAmC;oBACnB,cAAc,GAAG,OAAO;IAIxC,gCAAgC;iBACnB,cAAc,GAAG,OAAO;IAIrC,gDAAgD;qBAC/B,cAAc,GAAG,OAAO;IAIzC,qCAAqC;gBACzB,cAAc,GAAG,OAAO;IAIpC,uCAAuC;kBACzB,cAAc,GAAG,OAAO;IAItC,uCAAuC;kBACzB,cAAc,GAAG,OAAO;IAItC,wCAAwC;mBACzB,cAAc,GAAG,OAAO;IAIvC,oCAAoC;oBACpB,cAAc,GAAG,OAAO;IAIxC,sCAAsC;sBACpB,cAAc,GAAG,OAAO;IAI1C,iCAAiC;kBACnB,cAAc,GAAG,OAAO;IAItC,gCAAgC;iBACnB,cAAc,GAAG,OAAO;IAIrC,+BAA+B;mBAChB,cAAc,GAAG,OAAO;IAIvC,mDAAmD;mBACpC,cAAc,GAAG,OAAO;IAIvC,6CAA6C;mBAC9B,cAAc,GAAG,OAAO;IAIvC,8CAA8C;uBAC3B,cAAc,GAAG,OAAO;IAU3C,iCAAiC;qBAChB,cAAc,GAAG,OAAO;IAIzC,mCAAmC;uBAChB,cAAc,GAAG,OAAO;CAG5C,CAAC;AAEF,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,188 @@
1
+ /**
2
+ * Native terminal input hook
3
+ *
4
+ * Reads key events from stdin without managing raw mode.
5
+ * Ink handles raw mode - we just read the key events.
6
+ *
7
+ * IMPORTANT: This hook does NOT manage raw mode. Ink does that.
8
+ * We only read events from stdin via the native module.
9
+ */
10
+ import { useEffect, useRef, useState } from "react";
11
+ import { loadNative } from "../../../../native/index.js";
12
+ /**
13
+ * React hook for terminal keyboard input
14
+ *
15
+ * Uses native Rust TerminalHandle to read key events from stdin.
16
+ * Does NOT manage raw mode - let Ink handle that.
17
+ *
18
+ * @example
19
+ * ```tsx
20
+ * useNativeInput({
21
+ * isActive: !isLoading,
22
+ * onKey: (event) => {
23
+ * if (KeyEvents.isEnter(event)) {
24
+ * handleSubmit();
25
+ * } else if (KeyEvents.isPrintable(event)) {
26
+ * handleChar(event.code);
27
+ * }
28
+ * },
29
+ * });
30
+ * ```
31
+ */
32
+ export function useNativeInput({ isActive = true, onKey, }) {
33
+ const [isReady, setIsReady] = useState(false);
34
+ const [error, setError] = useState(null);
35
+ const onKeyRef = useRef(onKey);
36
+ const terminalRef = useRef(null);
37
+ const runningRef = useRef(false);
38
+ // Keep callback ref updated
39
+ useEffect(() => {
40
+ onKeyRef.current = onKey;
41
+ }, [onKey]);
42
+ // Initialize terminal and start polling loop
43
+ useEffect(() => {
44
+ if (!isActive) {
45
+ runningRef.current = false;
46
+ setIsReady(false);
47
+ return;
48
+ }
49
+ // Get terminal handle from native module
50
+ const native = loadNative();
51
+ let terminal;
52
+ try {
53
+ terminal = native.create_terminal();
54
+ terminalRef.current = terminal;
55
+ }
56
+ catch (e) {
57
+ const err = e instanceof Error ? e : new Error(String(e));
58
+ setError(err);
59
+ return;
60
+ }
61
+ // DON'T enter raw mode - Ink handles that
62
+ // Just mark as ready and start polling
63
+ setIsReady(true);
64
+ runningRef.current = true;
65
+ // Polling loop using setImmediate-like behavior
66
+ let timeoutId = null;
67
+ const poll = () => {
68
+ if (!runningRef.current)
69
+ return;
70
+ try {
71
+ // Poll with 16ms timeout (60fps) for responsive input
72
+ // Use non-blocking read - returns null if no event available
73
+ const event = terminal.pollEvent(16);
74
+ if (event) {
75
+ onKeyRef.current(event);
76
+ }
77
+ }
78
+ catch {
79
+ // Ignore polling errors
80
+ }
81
+ // Continue polling with a small delay to prevent tight loop
82
+ if (runningRef.current) {
83
+ timeoutId = setTimeout(poll, 16);
84
+ }
85
+ };
86
+ // Start polling
87
+ poll();
88
+ // Cleanup: stop polling (no raw mode to exit - Ink handles that)
89
+ return () => {
90
+ runningRef.current = false;
91
+ if (timeoutId) {
92
+ clearTimeout(timeoutId);
93
+ }
94
+ terminalRef.current = null;
95
+ setIsReady(false);
96
+ };
97
+ }, [isActive]);
98
+ return { isReady, error };
99
+ }
100
+ /**
101
+ * Key event helper functions
102
+ */
103
+ export const KeyEvents = {
104
+ /** Check if event is Enter key */
105
+ isEnter(event) {
106
+ return event.code === "enter" && event.kind === "press";
107
+ },
108
+ /** Check if event is Backspace key */
109
+ isBackspace(event) {
110
+ return event.code === "backspace" && event.kind === "press";
111
+ },
112
+ /** Check if event is Delete key */
113
+ isDelete(event) {
114
+ return event.code === "delete" && event.kind === "press";
115
+ },
116
+ /** Check if event is Escape key */
117
+ isEscape(event) {
118
+ return event.code === "escape" && event.kind === "press";
119
+ },
120
+ /** Check if event is Tab key */
121
+ isTab(event) {
122
+ return event.code === "tab" && event.kind === "press";
123
+ },
124
+ /** Check if event is BackTab (Shift+Tab) key */
125
+ isBackTab(event) {
126
+ return event.code === "backtab" && event.kind === "press";
127
+ },
128
+ /** Check if event is Arrow Up key */
129
+ isUp(event) {
130
+ return event.code === "up" && event.kind === "press";
131
+ },
132
+ /** Check if event is Arrow Down key */
133
+ isDown(event) {
134
+ return event.code === "down" && event.kind === "press";
135
+ },
136
+ /** Check if event is Arrow Left key */
137
+ isLeft(event) {
138
+ return event.code === "left" && event.kind === "press";
139
+ },
140
+ /** Check if event is Arrow Right key */
141
+ isRight(event) {
142
+ return event.code === "right" && event.kind === "press";
143
+ },
144
+ /** Check if event is Page Up key */
145
+ isPageUp(event) {
146
+ return event.code === "pageup" && event.kind === "press";
147
+ },
148
+ /** Check if event is Page Down key */
149
+ isPageDown(event) {
150
+ return event.code === "pagedown" && event.kind === "press";
151
+ },
152
+ /** Check if event is Home key */
153
+ isHome(event) {
154
+ return event.code === "home" && event.kind === "press";
155
+ },
156
+ /** Check if event is End key */
157
+ isEnd(event) {
158
+ return event.code === "end" && event.kind === "press";
159
+ },
160
+ /** Check if event is Ctrl+C */
161
+ isCtrlC(event) {
162
+ return event.code === "c" && event.ctrl && event.kind === "press";
163
+ },
164
+ /** Check if event is Ctrl+A (beginning of line) */
165
+ isCtrlA(event) {
166
+ return event.code === "a" && event.ctrl && event.kind === "press";
167
+ },
168
+ /** Check if event is Ctrl+E (end of line) */
169
+ isCtrlE(event) {
170
+ return event.code === "e" && event.ctrl && event.kind === "press";
171
+ },
172
+ /** Check if event is a printable character */
173
+ isPrintable(event) {
174
+ return (!event.is_special &&
175
+ !event.ctrl &&
176
+ !event.alt &&
177
+ event.code.length === 1 &&
178
+ event.kind === "press");
179
+ },
180
+ /** Check if event is Shift+Up */
181
+ isShiftUp(event) {
182
+ return event.code === "up" && event.shift && event.kind === "press";
183
+ },
184
+ /** Check if event is Shift+Down */
185
+ isShiftDown(event) {
186
+ return event.code === "down" && event.shift && event.kind === "press";
187
+ },
188
+ };
@@ -0,0 +1,480 @@
1
+ /**
2
+ * Native module loader
3
+ * Loads Rust-compiled native modules for performance-critical operations
4
+ */
5
+ export interface HighlightResult {
6
+ /** ANSI-colored text (for terminal display) */
7
+ html: string;
8
+ /** Theme used for highlighting */
9
+ theme: string;
10
+ }
11
+ export interface HighlightDiffResult {
12
+ /** ANSI-colored diff output */
13
+ output: string;
14
+ /** Number of added lines */
15
+ additions: number;
16
+ /** Number of deleted lines */
17
+ deletions: number;
18
+ /** Number of hunks */
19
+ hunks: number;
20
+ }
21
+ export interface DiffOptions {
22
+ /** File path to display in header */
23
+ file_path?: string;
24
+ /** Number of context lines around changes (default: 3) */
25
+ context_lines?: number;
26
+ }
27
+ /** A single edit operation for multi-file editing */
28
+ export interface MultiEditEntry {
29
+ /** File path to edit (absolute path) */
30
+ filePath: string;
31
+ /** String to find and replace */
32
+ oldString: string;
33
+ /** Replacement string */
34
+ newString: string;
35
+ /** Replace all occurrences (default: false) */
36
+ replaceAll?: boolean;
37
+ }
38
+ /** Result of an atomic multi-file edit operation */
39
+ export interface MultiEditResult {
40
+ /** Whether all edits succeeded */
41
+ success: boolean;
42
+ /** List of files that were modified */
43
+ filesModified: string[];
44
+ /** Total number of string replacements made */
45
+ totalReplacements: number;
46
+ /** Error message if operation failed */
47
+ error?: string;
48
+ /** Whether changes were rolled back due to failure */
49
+ rolledBack: boolean;
50
+ }
51
+ /** Preview result for a single file */
52
+ export interface MultiEditPreviewEntry {
53
+ /** File path */
54
+ filePath: string;
55
+ /** Number of replacements that would be made */
56
+ replacementCount: number;
57
+ }
58
+ /** OHLCV candlestick data */
59
+ export interface OHLCV {
60
+ timestamp: number;
61
+ open: number;
62
+ high: number;
63
+ low: number;
64
+ close: number;
65
+ volume: number;
66
+ }
67
+ /** AMM state for constant-product AMMs */
68
+ export interface AMMState {
69
+ pool_yes: number;
70
+ pool_no: number;
71
+ k: number;
72
+ fee: number;
73
+ price_yes: number;
74
+ price_no: number;
75
+ }
76
+ /** AMM cost calculation result */
77
+ export interface AMMCostResult {
78
+ cost: number;
79
+ avg_price: number;
80
+ }
81
+ /** AMM price impact result */
82
+ export interface AMMPriceImpactResult {
83
+ price_before: number;
84
+ price_after: number;
85
+ price_impact: number;
86
+ slippage: number;
87
+ }
88
+ /** LMSR price result */
89
+ export interface LMSRPriceResult {
90
+ yes_price: number;
91
+ no_price: number;
92
+ spread: number;
93
+ }
94
+ /** Arbitrage detection result */
95
+ export interface ArbitrageResult {
96
+ has_arbitrage: boolean;
97
+ yes_price: number;
98
+ no_price: number;
99
+ total: number;
100
+ profit_per_share: number;
101
+ }
102
+ /** Odds conversion result */
103
+ export interface OddsConversion {
104
+ probability: number;
105
+ decimal_odds: number;
106
+ american_odds: number;
107
+ }
108
+ /** Value at Risk result */
109
+ export interface VaRResult {
110
+ var: number;
111
+ cvar: number;
112
+ confidence_level: number;
113
+ }
114
+ /** Drawdown analysis result */
115
+ export interface DrawdownResult {
116
+ max_drawdown: number;
117
+ max_duration: number;
118
+ current_drawdown: number;
119
+ recovery_factor: number;
120
+ }
121
+ /** Sharpe ratio result */
122
+ export interface SharpeResult {
123
+ sharpe_ratio: number;
124
+ annualized_sharpe: number;
125
+ risk_free_rate: number;
126
+ avg_return: number;
127
+ std_dev: number;
128
+ }
129
+ /** Native key event from terminal */
130
+ export interface NativeKeyEvent {
131
+ /** The key code (character or special key name) */
132
+ code: string;
133
+ /** Whether this is a special key (arrow, function, etc.) */
134
+ is_special: boolean;
135
+ /** Ctrl modifier */
136
+ ctrl: boolean;
137
+ /** Alt/Meta modifier */
138
+ alt: boolean;
139
+ /** Shift modifier */
140
+ shift: boolean;
141
+ /** Event kind: "press", "release", "repeat" */
142
+ kind: "press" | "release" | "repeat";
143
+ }
144
+ /** Terminal handle for raw mode input */
145
+ export interface TerminalHandle {
146
+ /** Enter raw terminal mode */
147
+ enterRawMode(): void;
148
+ /** Exit raw terminal mode */
149
+ exitRawMode(): void;
150
+ /** Check if in raw mode (getter) */
151
+ readonly isRawMode: boolean;
152
+ /** Poll for a key event (non-blocking), returns null if no event */
153
+ pollEvent(timeoutMs?: number): NativeKeyEvent | null;
154
+ /** Read next key event (blocking, async) */
155
+ readEvent(): Promise<NativeKeyEvent>;
156
+ }
157
+ /** Message for display in the native TUI */
158
+ export interface TuiMessage {
159
+ id: string;
160
+ role: "user" | "assistant" | "system";
161
+ content: string;
162
+ timestamp?: number;
163
+ subType?: string;
164
+ toolName?: string;
165
+ isError?: boolean;
166
+ }
167
+ /** TUI state for rendering */
168
+ export interface TuiState {
169
+ messages: TuiMessage[];
170
+ inputValue: string;
171
+ cursorPos: number;
172
+ isLoading: boolean;
173
+ spinnerFrame: number;
174
+ model: string;
175
+ tokensUsed: number;
176
+ permissionMode: string;
177
+ streamingText: string;
178
+ scrollOffset: number;
179
+ contextWarning?: string;
180
+ }
181
+ /** Result of handling input in native TUI */
182
+ export interface InputResult {
183
+ submitted: boolean;
184
+ text?: string;
185
+ exitRequested: boolean;
186
+ command?: string;
187
+ scrollUp: boolean;
188
+ scrollDown: boolean;
189
+ inputValue: string;
190
+ cursorPos: number;
191
+ historyNavigated: boolean;
192
+ historyDirection: number;
193
+ }
194
+ /** Native TUI handle from Rust */
195
+ export interface NativeTuiHandle {
196
+ init(): void;
197
+ cleanup(): void;
198
+ render(state: TuiState): void;
199
+ pollInput(state: TuiState, timeoutMs?: number): InputResult;
200
+ addToHistory(input: string): void;
201
+ }
202
+ export interface NativeModule {
203
+ /** Syntax highlight code with ANSI escape codes */
204
+ highlight_code: (code: string, language: string) => HighlightResult;
205
+ /** Highlight markdown with nested code block syntax highlighting */
206
+ highlight_markdown: (markdown: string) => HighlightResult;
207
+ /** Highlight a diff with ANSI colors */
208
+ highlight_diff: (oldText: string, newText: string, options?: DiffOptions) => HighlightDiffResult;
209
+ search_files: (pattern: string, path: string, options: {
210
+ case_insensitive?: boolean;
211
+ hidden?: boolean;
212
+ glob?: string;
213
+ max_results?: number;
214
+ }) => {
215
+ matches: Array<{
216
+ file_path: string;
217
+ line_number: number;
218
+ column: number;
219
+ line_content: string;
220
+ match_text: string;
221
+ }>;
222
+ total_count: number;
223
+ files_searched: number;
224
+ };
225
+ count_tokens: (text: string) => number;
226
+ calculate_diff: (oldText: string, newText: string) => Array<{
227
+ oldStart: number;
228
+ oldLines: number;
229
+ newStart: number;
230
+ newLines: number;
231
+ content: string;
232
+ }>;
233
+ compact_content: (content: string, maxTokens: number, strategy?: "truncate" | "summarize" | "extract") => string;
234
+ count_tool_use: (messages: Array<{
235
+ role: string;
236
+ tool_use?: Array<{
237
+ name: string;
238
+ input?: any;
239
+ }>;
240
+ tool_result?: Array<any>;
241
+ }>) => Record<string, number>;
242
+ find_tool_pairs: (messages: Array<{
243
+ role: string;
244
+ tool_use?: Array<{
245
+ name: string;
246
+ input?: any;
247
+ }>;
248
+ tool_result?: Array<any>;
249
+ }>, window_size: number) => Record<string, Record<string, number>>;
250
+ find_common_patterns: (messages: Array<{
251
+ role: string;
252
+ tool_use?: Array<{
253
+ name: string;
254
+ input?: any;
255
+ }>;
256
+ tool_result?: Array<any>;
257
+ }>) => Array<{
258
+ tools: [string, string];
259
+ count: number;
260
+ percentage: number;
261
+ }>;
262
+ /** Validate multi-file edits without applying them */
263
+ validate_multi_edits: (edits: MultiEditEntry[]) => string[];
264
+ /** Preview what edits would be applied without making changes */
265
+ preview_multi_edits: (edits: MultiEditEntry[]) => MultiEditPreviewEntry[];
266
+ /** Apply multiple file edits atomically with rollback on failure */
267
+ apply_multi_edits: (edits: MultiEditEntry[]) => MultiEditResult;
268
+ /** Get library version */
269
+ quant_version: () => string;
270
+ quant_ohlcv_new: (timestamp: bigint, open: number, high: number, low: number, close: number, volume: number) => string;
271
+ quant_amm_new: (poolYes: number, poolNo: number, fee: number) => string;
272
+ quant_amm_calculate_cost: (poolYes: number, poolNo: number, buyYes: boolean, shares: number) => string;
273
+ quant_amm_price_impact: (poolYes: number, poolNo: number, buyYes: boolean, shares: number) => string;
274
+ quant_lmsr_price: (yesShares: number, noShares: number, b: number) => string;
275
+ quant_lmsr_cost: (yesShares: number, noShares: number, b: number, buyYes: boolean, shares: number) => string;
276
+ quant_detect_arbitrage: (yesPrice: number, noPrice: number) => string;
277
+ quant_convert_odds: (value: number, fromType: number) => string;
278
+ quant_mean: (data: Float64Array) => number;
279
+ quant_std_dev: (data: Float64Array) => number;
280
+ quant_variance: (data: Float64Array) => number;
281
+ quant_correlation: (x: Float64Array, y: Float64Array) => number;
282
+ /** Classify an operation into an action type */
283
+ classify_operation: (operation: string, domain: string, target?: string | null, reasoning?: string | null) => any;
284
+ /** Get all supported action types */
285
+ get_action_types: () => string[];
286
+ /** Get risk levels for all action types */
287
+ get_action_risk_levels: () => Array<{
288
+ actionType: string;
289
+ riskLevel: number;
290
+ }>;
291
+ /** Create a deny-all policy */
292
+ create_deny_all_policy: () => any;
293
+ /** Create an observe-only policy */
294
+ create_observe_only_policy: () => any;
295
+ /** Create a transfer approval policy */
296
+ create_transfer_approval_policy: () => any;
297
+ /** Generate a new Ed25519 keypair for signing intents */
298
+ cs_generate_keypair: () => {
299
+ privateKey: string;
300
+ publicKey: string;
301
+ };
302
+ /** Sign an agent intent with a private key */
303
+ cs_sign_intent: (intent: any, privateKey: string) => any;
304
+ /** Verify an intent's signature */
305
+ cs_verify_intent: (intent: any) => any;
306
+ /** Hash an intent for comparison */
307
+ cs_hash_intent: (intent: any) => string;
308
+ /** Check if two intents are equivalent */
309
+ cs_intents_equivalent: (intent1: any, intent2: any) => boolean;
310
+ /** Score how well an action aligns with an intent */
311
+ cs_score_alignment: (action: any, intent: any) => any;
312
+ /** Batch score multiple actions against an intent */
313
+ cs_batch_score_alignment: (actions: any[], intent: any) => any[];
314
+ /** Check if any action in a sequence would violate intent */
315
+ cs_check_sequence_violations: (actions: any[], intent: any) => number[];
316
+ /** Load intent from a JSON file */
317
+ cs_load_intent: (path: string) => any;
318
+ /** Save intent to a JSON file */
319
+ cs_save_intent: (intent: any, path: string) => void;
320
+ /** Parse intent from JSON string */
321
+ cs_parse_intent: (json: string) => any;
322
+ /** Serialize intent to JSON string */
323
+ cs_serialize_intent: (intent: any) => string;
324
+ /** Validate intent structure */
325
+ cs_validate_intent: (intent: any) => any;
326
+ /** Create a default data collector intent */
327
+ cs_create_data_collector_intent: (name: string, description: string) => any;
328
+ /** Merge two intents (child overrides parent) */
329
+ cs_merge_intents: (base: any, override: any) => any;
330
+ /** Analyze behavior for signs of intent corruption */
331
+ cs_analyze_corruption: (snapshot: any, intent: any) => any;
332
+ /** Detect behavioral drift between two snapshots */
333
+ cs_detect_drift: (baseline: any, current: any) => any;
334
+ /** Create an empty behavior snapshot */
335
+ cs_create_empty_snapshot: () => any;
336
+ /** Update a snapshot with a new action result */
337
+ cs_update_snapshot: (snapshot: any, action: any, alignment: any) => any;
338
+ /** Classify data based on content and source */
339
+ classify_data: (content: string, source: string, tags: string[]) => any;
340
+ /** Check if content contains sensitive data */
341
+ contains_sensitive_data: (content: string) => boolean;
342
+ /** Redact sensitive content */
343
+ redact_sensitive: (content: string, replacement?: string | null) => string;
344
+ /** Get sensitivity levels */
345
+ get_sensitivity_levels: () => Array<{
346
+ name: string;
347
+ value: number;
348
+ description: string;
349
+ }>;
350
+ /** Get data categories */
351
+ get_data_categories: () => Array<{
352
+ name: string;
353
+ description: string;
354
+ }>;
355
+ /** Create a flow policy engine */
356
+ create_flow_policy_engine: () => any;
357
+ /** Create an allow-all flow policy */
358
+ create_allow_all_flow_policy: () => any;
359
+ /** Create a deny-all flow policy */
360
+ create_deny_all_flow_policy: () => any;
361
+ /** Create a strict flow policy */
362
+ create_strict_flow_policy: () => any;
363
+ /** Create a flow tracker */
364
+ create_flow_tracker: () => any;
365
+ /** Create a leak prevention engine */
366
+ create_leak_prevention: () => any;
367
+ /** Check content for leaks */
368
+ check_for_leaks: (content: string, channel: string) => any;
369
+ /** Sanitize content */
370
+ sanitize_content: (content: string) => string;
371
+ /** Create a taint tracker */
372
+ create_taint_tracker: () => any;
373
+ /** Create a terminal handle for raw mode input */
374
+ create_terminal: () => TerminalHandle;
375
+ /** Create a native TUI handle */
376
+ create_tui: () => NativeTuiHandle;
377
+ /** Check if native TUI is available */
378
+ is_native_tui_available: () => boolean;
379
+ }
380
+ /**
381
+ * Load the native module
382
+ */
383
+ export declare function loadNative(): NativeModule;
384
+ /**
385
+ * Check if native module is available
386
+ */
387
+ export declare function isNativeAvailable(): boolean;
388
+ export declare const native: NativeModule;
389
+ /**
390
+ * Syntax highlight code with ANSI escape codes for terminal display
391
+ * Uses native Rust module if available, falls back to JS implementation
392
+ */
393
+ export declare function highlight_code(code: string, language: string): HighlightResult;
394
+ /**
395
+ * Highlight markdown with nested code block syntax highlighting
396
+ * Parses markdown for code fences and highlights code blocks with their language
397
+ */
398
+ export declare function highlight_markdown(markdown: string): HighlightResult;
399
+ /**
400
+ * List all supported languages for syntax highlighting
401
+ */
402
+ export declare function list_highlight_languages(): string[];
403
+ /**
404
+ * Highlight a diff with ANSI colors
405
+ * Uses native Rust module if available, falls back to JS implementation
406
+ */
407
+ export declare function highlight_diff(oldText: string, newText: string, options?: DiffOptions): HighlightDiffResult;
408
+ /**
409
+ * Calculate diff hunks with hunk headers for LLM context
410
+ * Returns structured diff with @@ headers included in content
411
+ */
412
+ export declare function calculate_diff(oldText: string, newText: string): Array<{
413
+ oldStart: number;
414
+ oldLines: number;
415
+ newStart: number;
416
+ newLines: number;
417
+ content: string;
418
+ }>;
419
+ /**
420
+ * Validate multi-file edits without applying them
421
+ * Returns an array of error messages (empty if valid)
422
+ */
423
+ export declare function validate_multi_edits(edits: MultiEditEntry[]): string[];
424
+ /**
425
+ * Preview what edits would be applied without making changes
426
+ * Returns an array of { file_path, replacement_count } for each file
427
+ */
428
+ export declare function preview_multi_edits(edits: MultiEditEntry[]): MultiEditPreviewEntry[];
429
+ /**
430
+ * Apply multiple file edits atomically with rollback on failure
431
+ *
432
+ * This function:
433
+ * 1. Validates all edits can be applied (files exist, strings found)
434
+ * 2. Creates backups of all affected files
435
+ * 3. Applies all edits
436
+ * 4. Rolls back on any failure
437
+ *
438
+ * @param edits Array of edit operations
439
+ * @returns Result with success status and list of modified files
440
+ */
441
+ export declare function apply_multi_edits(edits: MultiEditEntry[]): MultiEditResult;
442
+ /**
443
+ * Quant module interface for financial calculations
444
+ * Loads from @ebowwa/quant-rust native library
445
+ */
446
+ interface QuantModule {
447
+ quant_version: () => string;
448
+ quant_last_error: () => string;
449
+ quant_clear_error: () => void;
450
+ quant_ohlcv_new: (timestamp: bigint, open: number, high: number, low: number, close: number, volume: number) => string;
451
+ quant_amm_new: (poolYes: number, poolNo: number, fee: number) => string;
452
+ quant_amm_calculate_cost: (poolYes: number, poolNo: number, buyYes: boolean, shares: number) => string;
453
+ quant_amm_price_impact: (poolYes: number, poolNo: number, buyYes: boolean, shares: number) => string;
454
+ quant_lmsr_price: (yesShares: number, noShares: number, b: number) => string;
455
+ quant_lmsr_cost: (yesShares: number, noShares: number, b: number, buyYes: boolean, shares: number) => string;
456
+ quant_detect_arbitrage: (yesPrice: number, noPrice: number) => string;
457
+ quant_convert_odds: (value: number, fromType: number) => string;
458
+ quant_mean: (ptr: number, len: number) => number;
459
+ quant_std_dev: (ptr: number, len: number) => number;
460
+ quant_variance: (ptr: number, len: number) => number;
461
+ quant_correlation: (ptrX: number, ptrY: number, len: number) => number;
462
+ quant_free_string: (ptr: number) => void;
463
+ }
464
+ export declare const quant: QuantModule | null;
465
+ export declare function quantVersion(): string;
466
+ export declare function isQuantAvailable(): boolean;
467
+ export declare function createOHLCV(timestamp: number, open: number, high: number, low: number, close: number, volume: number): OHLCV;
468
+ export declare function createAMM(poolYes: number, poolNo: number, fee: number): AMMState;
469
+ export declare function ammCalculateCost(poolYes: number, poolNo: number, outcome: "yes" | "no" | boolean, shares: number): number;
470
+ export declare function ammPriceImpact(poolYes: number, poolNo: number, outcome: "yes" | "no" | boolean, shares: number): AMMPriceImpactResult;
471
+ export declare function lmsrPrice(yesShares: number, noShares: number, b: number): LMSRPriceResult;
472
+ export declare function lmsrCost(yesShares: number, noShares: number, b: number, outcome: "yes" | "no" | boolean, shares: number): AMMCostResult;
473
+ export declare function detectArbitrage(yesPrice: number, noPrice: number): ArbitrageResult;
474
+ export declare function convertOdds(value: number, fromType: "probability" | "decimal" | "american"): OddsConversion;
475
+ export declare function quantMean(data: number[]): number;
476
+ export declare function quantStdDev(data: number[]): number;
477
+ export declare function quantVariance(data: number[]): number;
478
+ export declare function quantCorrelation(x: number[], y: number[]): number;
479
+ export {};
480
+ //# sourceMappingURL=index.d.ts.map