@jait/gateway 0.1.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 (474) hide show
  1. package/bin/jait.mjs +144 -0
  2. package/dist/config.d.ts +24 -0
  3. package/dist/config.d.ts.map +1 -0
  4. package/dist/config.js +73 -0
  5. package/dist/config.js.map +1 -0
  6. package/dist/db/connection.d.ts +37 -0
  7. package/dist/db/connection.d.ts.map +1 -0
  8. package/dist/db/connection.js +85 -0
  9. package/dist/db/connection.js.map +1 -0
  10. package/dist/db/index.d.ts +4 -0
  11. package/dist/db/index.d.ts.map +1 -0
  12. package/dist/db/index.js +4 -0
  13. package/dist/db/index.js.map +1 -0
  14. package/dist/db/migrations.d.ts +24 -0
  15. package/dist/db/migrations.d.ts.map +1 -0
  16. package/dist/db/migrations.js +312 -0
  17. package/dist/db/migrations.js.map +1 -0
  18. package/dist/db/schema.d.ts +2253 -0
  19. package/dist/db/schema.d.ts.map +1 -0
  20. package/dist/db/schema.js +195 -0
  21. package/dist/db/schema.js.map +1 -0
  22. package/dist/foundation.d.ts +26 -0
  23. package/dist/foundation.d.ts.map +1 -0
  24. package/dist/foundation.js +15 -0
  25. package/dist/foundation.js.map +1 -0
  26. package/dist/index.d.ts +3 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.js +413 -0
  29. package/dist/index.js.map +1 -0
  30. package/dist/lib/uuidv7.d.ts +10 -0
  31. package/dist/lib/uuidv7.d.ts.map +1 -0
  32. package/dist/lib/uuidv7.js +33 -0
  33. package/dist/lib/uuidv7.js.map +1 -0
  34. package/dist/memory/contracts.d.ts +42 -0
  35. package/dist/memory/contracts.d.ts.map +1 -0
  36. package/dist/memory/contracts.js +2 -0
  37. package/dist/memory/contracts.js.map +1 -0
  38. package/dist/memory/embeddings.d.ts +4 -0
  39. package/dist/memory/embeddings.d.ts.map +1 -0
  40. package/dist/memory/embeddings.js +26 -0
  41. package/dist/memory/embeddings.js.map +1 -0
  42. package/dist/memory/service.d.ts +17 -0
  43. package/dist/memory/service.d.ts.map +1 -0
  44. package/dist/memory/service.js +82 -0
  45. package/dist/memory/service.js.map +1 -0
  46. package/dist/memory/sqlite-backend.d.ts +11 -0
  47. package/dist/memory/sqlite-backend.d.ts.map +1 -0
  48. package/dist/memory/sqlite-backend.js +68 -0
  49. package/dist/memory/sqlite-backend.js.map +1 -0
  50. package/dist/plugins/contracts.d.ts +11 -0
  51. package/dist/plugins/contracts.d.ts.map +1 -0
  52. package/dist/plugins/contracts.js +2 -0
  53. package/dist/plugins/contracts.js.map +1 -0
  54. package/dist/providers/claude-code-provider.d.ts +39 -0
  55. package/dist/providers/claude-code-provider.d.ts.map +1 -0
  56. package/dist/providers/claude-code-provider.js +322 -0
  57. package/dist/providers/claude-code-provider.js.map +1 -0
  58. package/dist/providers/codex-provider.d.ts +51 -0
  59. package/dist/providers/codex-provider.d.ts.map +1 -0
  60. package/dist/providers/codex-provider.js +826 -0
  61. package/dist/providers/codex-provider.js.map +1 -0
  62. package/dist/providers/contracts.d.ts +167 -0
  63. package/dist/providers/contracts.d.ts.map +1 -0
  64. package/dist/providers/contracts.js +13 -0
  65. package/dist/providers/contracts.js.map +1 -0
  66. package/dist/providers/index.d.ts +6 -0
  67. package/dist/providers/index.d.ts.map +1 -0
  68. package/dist/providers/index.js +5 -0
  69. package/dist/providers/index.js.map +1 -0
  70. package/dist/providers/jait-provider.d.ts +23 -0
  71. package/dist/providers/jait-provider.d.ts.map +1 -0
  72. package/dist/providers/jait-provider.js +67 -0
  73. package/dist/providers/jait-provider.js.map +1 -0
  74. package/dist/providers/registry.d.ts +39 -0
  75. package/dist/providers/registry.d.ts.map +1 -0
  76. package/dist/providers/registry.js +64 -0
  77. package/dist/providers/registry.js.map +1 -0
  78. package/dist/pty-broker-client.d.ts +46 -0
  79. package/dist/pty-broker-client.d.ts.map +1 -0
  80. package/dist/pty-broker-client.js +142 -0
  81. package/dist/pty-broker-client.js.map +1 -0
  82. package/dist/routes/auth.d.ts +6 -0
  83. package/dist/routes/auth.d.ts.map +1 -0
  84. package/dist/routes/auth.js +236 -0
  85. package/dist/routes/auth.js.map +1 -0
  86. package/dist/routes/chat.d.ts +32 -0
  87. package/dist/routes/chat.d.ts.map +1 -0
  88. package/dist/routes/chat.js +1503 -0
  89. package/dist/routes/chat.js.map +1 -0
  90. package/dist/routes/consent.d.ts +10 -0
  91. package/dist/routes/consent.d.ts.map +1 -0
  92. package/dist/routes/consent.js +127 -0
  93. package/dist/routes/consent.js.map +1 -0
  94. package/dist/routes/filesystem.d.ts +14 -0
  95. package/dist/routes/filesystem.d.ts.map +1 -0
  96. package/dist/routes/filesystem.js +152 -0
  97. package/dist/routes/filesystem.js.map +1 -0
  98. package/dist/routes/git.d.ts +17 -0
  99. package/dist/routes/git.d.ts.map +1 -0
  100. package/dist/routes/git.js +213 -0
  101. package/dist/routes/git.js.map +1 -0
  102. package/dist/routes/health.d.ts +7 -0
  103. package/dist/routes/health.d.ts.map +1 -0
  104. package/dist/routes/health.js +21 -0
  105. package/dist/routes/health.js.map +1 -0
  106. package/dist/routes/hooks.d.ts +9 -0
  107. package/dist/routes/hooks.d.ts.map +1 -0
  108. package/dist/routes/hooks.js +22 -0
  109. package/dist/routes/hooks.js.map +1 -0
  110. package/dist/routes/jobs.d.ts +5 -0
  111. package/dist/routes/jobs.d.ts.map +1 -0
  112. package/dist/routes/jobs.js +333 -0
  113. package/dist/routes/jobs.js.map +1 -0
  114. package/dist/routes/mcp-server.d.ts +23 -0
  115. package/dist/routes/mcp-server.d.ts.map +1 -0
  116. package/dist/routes/mcp-server.js +177 -0
  117. package/dist/routes/mcp-server.js.map +1 -0
  118. package/dist/routes/mobile.d.ts +12 -0
  119. package/dist/routes/mobile.d.ts.map +1 -0
  120. package/dist/routes/mobile.js +64 -0
  121. package/dist/routes/mobile.js.map +1 -0
  122. package/dist/routes/network.d.ts +3 -0
  123. package/dist/routes/network.d.ts.map +1 -0
  124. package/dist/routes/network.js +367 -0
  125. package/dist/routes/network.js.map +1 -0
  126. package/dist/routes/repositories.d.ts +18 -0
  127. package/dist/routes/repositories.d.ts.map +1 -0
  128. package/dist/routes/repositories.js +90 -0
  129. package/dist/routes/repositories.js.map +1 -0
  130. package/dist/routes/screen-share.d.ts +17 -0
  131. package/dist/routes/screen-share.d.ts.map +1 -0
  132. package/dist/routes/screen-share.js +92 -0
  133. package/dist/routes/screen-share.js.map +1 -0
  134. package/dist/routes/sessions.d.ts +18 -0
  135. package/dist/routes/sessions.d.ts.map +1 -0
  136. package/dist/routes/sessions.js +169 -0
  137. package/dist/routes/sessions.js.map +1 -0
  138. package/dist/routes/terminals.d.ts +15 -0
  139. package/dist/routes/terminals.d.ts.map +1 -0
  140. package/dist/routes/terminals.js +326 -0
  141. package/dist/routes/terminals.js.map +1 -0
  142. package/dist/routes/threads.d.ts +38 -0
  143. package/dist/routes/threads.d.ts.map +1 -0
  144. package/dist/routes/threads.js +488 -0
  145. package/dist/routes/threads.js.map +1 -0
  146. package/dist/routes/trust.d.ts +9 -0
  147. package/dist/routes/trust.d.ts.map +1 -0
  148. package/dist/routes/trust.js +25 -0
  149. package/dist/routes/trust.js.map +1 -0
  150. package/dist/routes/voice.d.ts +5 -0
  151. package/dist/routes/voice.d.ts.map +1 -0
  152. package/dist/routes/voice.js +37 -0
  153. package/dist/routes/voice.js.map +1 -0
  154. package/dist/routes/workspace.d.ts +13 -0
  155. package/dist/routes/workspace.d.ts.map +1 -0
  156. package/dist/routes/workspace.js +275 -0
  157. package/dist/routes/workspace.js.map +1 -0
  158. package/dist/scheduler/contracts.d.ts +15 -0
  159. package/dist/scheduler/contracts.d.ts.map +1 -0
  160. package/dist/scheduler/contracts.js +2 -0
  161. package/dist/scheduler/contracts.js.map +1 -0
  162. package/dist/scheduler/hooks.d.ts +20 -0
  163. package/dist/scheduler/hooks.d.ts.map +1 -0
  164. package/dist/scheduler/hooks.js +78 -0
  165. package/dist/scheduler/hooks.js.map +1 -0
  166. package/dist/scheduler/service.d.ts +65 -0
  167. package/dist/scheduler/service.d.ts.map +1 -0
  168. package/dist/scheduler/service.js +188 -0
  169. package/dist/scheduler/service.js.map +1 -0
  170. package/dist/security/consent-executor.d.ts +48 -0
  171. package/dist/security/consent-executor.d.ts.map +1 -0
  172. package/dist/security/consent-executor.js +158 -0
  173. package/dist/security/consent-executor.js.map +1 -0
  174. package/dist/security/consent-manager.d.ts +105 -0
  175. package/dist/security/consent-manager.d.ts.map +1 -0
  176. package/dist/security/consent-manager.js +227 -0
  177. package/dist/security/consent-manager.js.map +1 -0
  178. package/dist/security/contracts.d.ts +31 -0
  179. package/dist/security/contracts.d.ts.map +1 -0
  180. package/dist/security/contracts.js +2 -0
  181. package/dist/security/contracts.js.map +1 -0
  182. package/dist/security/http-auth.d.ts +10 -0
  183. package/dist/security/http-auth.d.ts.map +1 -0
  184. package/dist/security/http-auth.js +48 -0
  185. package/dist/security/http-auth.js.map +1 -0
  186. package/dist/security/index.d.ts +10 -0
  187. package/dist/security/index.d.ts.map +1 -0
  188. package/dist/security/index.js +9 -0
  189. package/dist/security/index.js.map +1 -0
  190. package/dist/security/path-guard.d.ts +40 -0
  191. package/dist/security/path-guard.d.ts.map +1 -0
  192. package/dist/security/path-guard.js +125 -0
  193. package/dist/security/path-guard.js.map +1 -0
  194. package/dist/security/sandbox-manager.d.ts +43 -0
  195. package/dist/security/sandbox-manager.d.ts.map +1 -0
  196. package/dist/security/sandbox-manager.js +110 -0
  197. package/dist/security/sandbox-manager.js.map +1 -0
  198. package/dist/security/ssrf-guard.d.ts +11 -0
  199. package/dist/security/ssrf-guard.d.ts.map +1 -0
  200. package/dist/security/ssrf-guard.js +59 -0
  201. package/dist/security/ssrf-guard.js.map +1 -0
  202. package/dist/security/tool-permissions.d.ts +61 -0
  203. package/dist/security/tool-permissions.d.ts.map +1 -0
  204. package/dist/security/tool-permissions.js +105 -0
  205. package/dist/security/tool-permissions.js.map +1 -0
  206. package/dist/security/tool-profiles.d.ts +23 -0
  207. package/dist/security/tool-profiles.d.ts.map +1 -0
  208. package/dist/security/tool-profiles.js +106 -0
  209. package/dist/security/tool-profiles.js.map +1 -0
  210. package/dist/security/trust-engine.d.ts +61 -0
  211. package/dist/security/trust-engine.d.ts.map +1 -0
  212. package/dist/security/trust-engine.js +192 -0
  213. package/dist/security/trust-engine.js.map +1 -0
  214. package/dist/server.d.ts +54 -0
  215. package/dist/server.d.ts.map +1 -0
  216. package/dist/server.js +188 -0
  217. package/dist/server.js.map +1 -0
  218. package/dist/services/audit.d.ts +60 -0
  219. package/dist/services/audit.d.ts.map +1 -0
  220. package/dist/services/audit.js +58 -0
  221. package/dist/services/audit.js.map +1 -0
  222. package/dist/services/device-registry.d.ts +15 -0
  223. package/dist/services/device-registry.d.ts.map +1 -0
  224. package/dist/services/device-registry.js +32 -0
  225. package/dist/services/device-registry.js.map +1 -0
  226. package/dist/services/git.d.ts +168 -0
  227. package/dist/services/git.d.ts.map +1 -0
  228. package/dist/services/git.js +957 -0
  229. package/dist/services/git.js.map +1 -0
  230. package/dist/services/repositories.d.ts +32 -0
  231. package/dist/services/repositories.d.ts.map +1 -0
  232. package/dist/services/repositories.js +70 -0
  233. package/dist/services/repositories.js.map +1 -0
  234. package/dist/services/session-state.d.ts +20 -0
  235. package/dist/services/session-state.d.ts.map +1 -0
  236. package/dist/services/session-state.js +89 -0
  237. package/dist/services/session-state.js.map +1 -0
  238. package/dist/services/sessions.d.ts +68 -0
  239. package/dist/services/sessions.d.ts.map +1 -0
  240. package/dist/services/sessions.js +136 -0
  241. package/dist/services/sessions.js.map +1 -0
  242. package/dist/services/thread-title.d.ts +23 -0
  243. package/dist/services/thread-title.d.ts.map +1 -0
  244. package/dist/services/thread-title.js +141 -0
  245. package/dist/services/thread-title.js.map +1 -0
  246. package/dist/services/threads.d.ts +64 -0
  247. package/dist/services/threads.d.ts.map +1 -0
  248. package/dist/services/threads.js +202 -0
  249. package/dist/services/threads.js.map +1 -0
  250. package/dist/services/users.d.ts +39 -0
  251. package/dist/services/users.d.ts.map +1 -0
  252. package/dist/services/users.js +203 -0
  253. package/dist/services/users.js.map +1 -0
  254. package/dist/sessions/contracts.d.ts +14 -0
  255. package/dist/sessions/contracts.d.ts.map +1 -0
  256. package/dist/sessions/contracts.js +2 -0
  257. package/dist/sessions/contracts.js.map +1 -0
  258. package/dist/surfaces/browser.d.ts +65 -0
  259. package/dist/surfaces/browser.d.ts.map +1 -0
  260. package/dist/surfaces/browser.js +615 -0
  261. package/dist/surfaces/browser.js.map +1 -0
  262. package/dist/surfaces/contracts.d.ts +34 -0
  263. package/dist/surfaces/contracts.d.ts.map +1 -0
  264. package/dist/surfaces/contracts.js +2 -0
  265. package/dist/surfaces/contracts.js.map +1 -0
  266. package/dist/surfaces/filesystem.d.ts +76 -0
  267. package/dist/surfaces/filesystem.d.ts.map +1 -0
  268. package/dist/surfaces/filesystem.js +245 -0
  269. package/dist/surfaces/filesystem.js.map +1 -0
  270. package/dist/surfaces/index.d.ts +6 -0
  271. package/dist/surfaces/index.d.ts.map +1 -0
  272. package/dist/surfaces/index.js +5 -0
  273. package/dist/surfaces/index.js.map +1 -0
  274. package/dist/surfaces/registry.d.ts +24 -0
  275. package/dist/surfaces/registry.d.ts.map +1 -0
  276. package/dist/surfaces/registry.js +59 -0
  277. package/dist/surfaces/registry.js.map +1 -0
  278. package/dist/surfaces/terminal.d.ts +76 -0
  279. package/dist/surfaces/terminal.d.ts.map +1 -0
  280. package/dist/surfaces/terminal.js +271 -0
  281. package/dist/surfaces/terminal.js.map +1 -0
  282. package/dist/tools/agent-loop.d.ts +302 -0
  283. package/dist/tools/agent-loop.d.ts.map +1 -0
  284. package/dist/tools/agent-loop.js +918 -0
  285. package/dist/tools/agent-loop.js.map +1 -0
  286. package/dist/tools/agent-tools.d.ts +39 -0
  287. package/dist/tools/agent-tools.d.ts.map +1 -0
  288. package/dist/tools/agent-tools.js +263 -0
  289. package/dist/tools/agent-tools.js.map +1 -0
  290. package/dist/tools/browser-tools.d.ts +38 -0
  291. package/dist/tools/browser-tools.d.ts.map +1 -0
  292. package/dist/tools/browser-tools.js +725 -0
  293. package/dist/tools/browser-tools.js.map +1 -0
  294. package/dist/tools/chat-modes.d.ts +75 -0
  295. package/dist/tools/chat-modes.d.ts.map +1 -0
  296. package/dist/tools/chat-modes.js +228 -0
  297. package/dist/tools/chat-modes.js.map +1 -0
  298. package/dist/tools/contracts.d.ts +69 -0
  299. package/dist/tools/contracts.d.ts.map +1 -0
  300. package/dist/tools/contracts.js +2 -0
  301. package/dist/tools/contracts.js.map +1 -0
  302. package/dist/tools/core/agent.d.ts +31 -0
  303. package/dist/tools/core/agent.d.ts.map +1 -0
  304. package/dist/tools/core/agent.js +65 -0
  305. package/dist/tools/core/agent.js.map +1 -0
  306. package/dist/tools/core/edit.d.ts +30 -0
  307. package/dist/tools/core/edit.d.ts.map +1 -0
  308. package/dist/tools/core/edit.js +109 -0
  309. package/dist/tools/core/edit.js.map +1 -0
  310. package/dist/tools/core/execute.d.ts +36 -0
  311. package/dist/tools/core/execute.d.ts.map +1 -0
  312. package/dist/tools/core/execute.js +81 -0
  313. package/dist/tools/core/execute.js.map +1 -0
  314. package/dist/tools/core/get-fs.d.ts +32 -0
  315. package/dist/tools/core/get-fs.d.ts.map +1 -0
  316. package/dist/tools/core/get-fs.js +143 -0
  317. package/dist/tools/core/get-fs.js.map +1 -0
  318. package/dist/tools/core/index.d.ts +26 -0
  319. package/dist/tools/core/index.d.ts.map +1 -0
  320. package/dist/tools/core/index.js +26 -0
  321. package/dist/tools/core/index.js.map +1 -0
  322. package/dist/tools/core/jait.d.ts +60 -0
  323. package/dist/tools/core/jait.d.ts.map +1 -0
  324. package/dist/tools/core/jait.js +256 -0
  325. package/dist/tools/core/jait.js.map +1 -0
  326. package/dist/tools/core/read.d.ts +26 -0
  327. package/dist/tools/core/read.d.ts.map +1 -0
  328. package/dist/tools/core/read.js +118 -0
  329. package/dist/tools/core/read.js.map +1 -0
  330. package/dist/tools/core/search.d.ts +34 -0
  331. package/dist/tools/core/search.d.ts.map +1 -0
  332. package/dist/tools/core/search.js +187 -0
  333. package/dist/tools/core/search.js.map +1 -0
  334. package/dist/tools/core/todo.d.ts +38 -0
  335. package/dist/tools/core/todo.d.ts.map +1 -0
  336. package/dist/tools/core/todo.js +116 -0
  337. package/dist/tools/core/todo.js.map +1 -0
  338. package/dist/tools/core/web.d.ts +34 -0
  339. package/dist/tools/core/web.d.ts.map +1 -0
  340. package/dist/tools/core/web.js +120 -0
  341. package/dist/tools/core/web.js.map +1 -0
  342. package/dist/tools/cron-tools.d.ts +7 -0
  343. package/dist/tools/cron-tools.d.ts.map +1 -0
  344. package/dist/tools/cron-tools.js +116 -0
  345. package/dist/tools/cron-tools.js.map +1 -0
  346. package/dist/tools/file-tools.d.ts +32 -0
  347. package/dist/tools/file-tools.d.ts.map +1 -0
  348. package/dist/tools/file-tools.js +178 -0
  349. package/dist/tools/file-tools.js.map +1 -0
  350. package/dist/tools/gateway-tools.d.ts +15 -0
  351. package/dist/tools/gateway-tools.d.ts.map +1 -0
  352. package/dist/tools/gateway-tools.js +39 -0
  353. package/dist/tools/gateway-tools.js.map +1 -0
  354. package/dist/tools/index.d.ts +57 -0
  355. package/dist/tools/index.d.ts.map +1 -0
  356. package/dist/tools/index.js +170 -0
  357. package/dist/tools/index.js.map +1 -0
  358. package/dist/tools/mcp-bridge.d.ts +111 -0
  359. package/dist/tools/mcp-bridge.d.ts.map +1 -0
  360. package/dist/tools/mcp-bridge.js +166 -0
  361. package/dist/tools/mcp-bridge.js.map +1 -0
  362. package/dist/tools/memory-tools.d.ts +19 -0
  363. package/dist/tools/memory-tools.d.ts.map +1 -0
  364. package/dist/tools/memory-tools.js +78 -0
  365. package/dist/tools/memory-tools.js.map +1 -0
  366. package/dist/tools/meta-tools.d.ts +25 -0
  367. package/dist/tools/meta-tools.d.ts.map +1 -0
  368. package/dist/tools/meta-tools.js +125 -0
  369. package/dist/tools/meta-tools.js.map +1 -0
  370. package/dist/tools/network-tools.d.ts +21 -0
  371. package/dist/tools/network-tools.d.ts.map +1 -0
  372. package/dist/tools/network-tools.js +189 -0
  373. package/dist/tools/network-tools.js.map +1 -0
  374. package/dist/tools/os-tools.d.ts +18 -0
  375. package/dist/tools/os-tools.d.ts.map +1 -0
  376. package/dist/tools/os-tools.js +210 -0
  377. package/dist/tools/os-tools.js.map +1 -0
  378. package/dist/tools/prompts/claude-prompt.d.ts +8 -0
  379. package/dist/tools/prompts/claude-prompt.d.ts.map +1 -0
  380. package/dist/tools/prompts/claude-prompt.js +228 -0
  381. package/dist/tools/prompts/claude-prompt.js.map +1 -0
  382. package/dist/tools/prompts/default-openai-prompt.d.ts +8 -0
  383. package/dist/tools/prompts/default-openai-prompt.d.ts.map +1 -0
  384. package/dist/tools/prompts/default-openai-prompt.js +67 -0
  385. package/dist/tools/prompts/default-openai-prompt.js.map +1 -0
  386. package/dist/tools/prompts/default-prompt.d.ts +7 -0
  387. package/dist/tools/prompts/default-prompt.d.ts.map +1 -0
  388. package/dist/tools/prompts/default-prompt.js +50 -0
  389. package/dist/tools/prompts/default-prompt.js.map +1 -0
  390. package/dist/tools/prompts/gemini-prompt.d.ts +8 -0
  391. package/dist/tools/prompts/gemini-prompt.d.ts.map +1 -0
  392. package/dist/tools/prompts/gemini-prompt.js +118 -0
  393. package/dist/tools/prompts/gemini-prompt.js.map +1 -0
  394. package/dist/tools/prompts/gpt5-codex-prompt.d.ts +8 -0
  395. package/dist/tools/prompts/gpt5-codex-prompt.d.ts.map +1 -0
  396. package/dist/tools/prompts/gpt5-codex-prompt.js +72 -0
  397. package/dist/tools/prompts/gpt5-codex-prompt.js.map +1 -0
  398. package/dist/tools/prompts/gpt5-prompt.d.ts +8 -0
  399. package/dist/tools/prompts/gpt5-prompt.d.ts.map +1 -0
  400. package/dist/tools/prompts/gpt5-prompt.js +177 -0
  401. package/dist/tools/prompts/gpt5-prompt.js.map +1 -0
  402. package/dist/tools/prompts/gpt51-prompt.d.ts +8 -0
  403. package/dist/tools/prompts/gpt51-prompt.d.ts.map +1 -0
  404. package/dist/tools/prompts/gpt51-prompt.js +178 -0
  405. package/dist/tools/prompts/gpt51-prompt.js.map +1 -0
  406. package/dist/tools/prompts/gpt52-prompt.d.ts +8 -0
  407. package/dist/tools/prompts/gpt52-prompt.d.ts.map +1 -0
  408. package/dist/tools/prompts/gpt52-prompt.js +198 -0
  409. package/dist/tools/prompts/gpt52-prompt.js.map +1 -0
  410. package/dist/tools/prompts/index.d.ts +22 -0
  411. package/dist/tools/prompts/index.d.ts.map +1 -0
  412. package/dist/tools/prompts/index.js +23 -0
  413. package/dist/tools/prompts/index.js.map +1 -0
  414. package/dist/tools/prompts/prompt-registry.d.ts +44 -0
  415. package/dist/tools/prompts/prompt-registry.d.ts.map +1 -0
  416. package/dist/tools/prompts/prompt-registry.js +60 -0
  417. package/dist/tools/prompts/prompt-registry.js.map +1 -0
  418. package/dist/tools/prompts/shared-sections.d.ts +28 -0
  419. package/dist/tools/prompts/shared-sections.d.ts.map +1 -0
  420. package/dist/tools/prompts/shared-sections.js +111 -0
  421. package/dist/tools/prompts/shared-sections.js.map +1 -0
  422. package/dist/tools/prompts/xai-prompt.d.ts +8 -0
  423. package/dist/tools/prompts/xai-prompt.d.ts.map +1 -0
  424. package/dist/tools/prompts/xai-prompt.js +68 -0
  425. package/dist/tools/prompts/xai-prompt.js.map +1 -0
  426. package/dist/tools/redeploy-tools.d.ts +30 -0
  427. package/dist/tools/redeploy-tools.d.ts.map +1 -0
  428. package/dist/tools/redeploy-tools.js +191 -0
  429. package/dist/tools/redeploy-tools.js.map +1 -0
  430. package/dist/tools/registry.d.ts +51 -0
  431. package/dist/tools/registry.d.ts.map +1 -0
  432. package/dist/tools/registry.js +148 -0
  433. package/dist/tools/registry.js.map +1 -0
  434. package/dist/tools/screen-share-tools.d.ts +31 -0
  435. package/dist/tools/screen-share-tools.d.ts.map +1 -0
  436. package/dist/tools/screen-share-tools.js +183 -0
  437. package/dist/tools/screen-share-tools.js.map +1 -0
  438. package/dist/tools/surface-tools.d.ts +23 -0
  439. package/dist/tools/surface-tools.d.ts.map +1 -0
  440. package/dist/tools/surface-tools.js +99 -0
  441. package/dist/tools/surface-tools.js.map +1 -0
  442. package/dist/tools/terminal-tools.d.ts +37 -0
  443. package/dist/tools/terminal-tools.d.ts.map +1 -0
  444. package/dist/tools/terminal-tools.js +448 -0
  445. package/dist/tools/terminal-tools.js.map +1 -0
  446. package/dist/tools/thread-tools.d.ts +61 -0
  447. package/dist/tools/thread-tools.d.ts.map +1 -0
  448. package/dist/tools/thread-tools.js +484 -0
  449. package/dist/tools/thread-tools.js.map +1 -0
  450. package/dist/tools/token-estimator.d.ts +55 -0
  451. package/dist/tools/token-estimator.d.ts.map +1 -0
  452. package/dist/tools/token-estimator.js +82 -0
  453. package/dist/tools/token-estimator.js.map +1 -0
  454. package/dist/tools/tool-names.d.ts +64 -0
  455. package/dist/tools/tool-names.d.ts.map +1 -0
  456. package/dist/tools/tool-names.js +76 -0
  457. package/dist/tools/tool-names.js.map +1 -0
  458. package/dist/tools/validate.d.ts +27 -0
  459. package/dist/tools/validate.d.ts.map +1 -0
  460. package/dist/tools/validate.js +99 -0
  461. package/dist/tools/validate.js.map +1 -0
  462. package/dist/tools/voice-tools.d.ts +8 -0
  463. package/dist/tools/voice-tools.d.ts.map +1 -0
  464. package/dist/tools/voice-tools.js +32 -0
  465. package/dist/tools/voice-tools.js.map +1 -0
  466. package/dist/voice/service.d.ts +42 -0
  467. package/dist/voice/service.d.ts.map +1 -0
  468. package/dist/voice/service.js +75 -0
  469. package/dist/voice/service.js.map +1 -0
  470. package/dist/ws.d.ts +90 -0
  471. package/dist/ws.d.ts.map +1 -0
  472. package/dist/ws.js +562 -0
  473. package/dist/ws.js.map +1 -0
  474. package/package.json +61 -0
@@ -0,0 +1,109 @@
1
+ /**
2
+ * edit — Create, overwrite, or patch files.
3
+ *
4
+ * Inspired by VS Code Copilot's create_file + replace_string_in_file,
5
+ * unified into a single tool with an `explanation` field.
6
+ *
7
+ * Key design decisions (learned from Copilot):
8
+ * - `explanation` param generates first → helps LLM reason about the change
9
+ * - Create mode fails if file already exists with content (use patch instead)
10
+ * - Patch mode requires exact literal match (like Copilot replace_string)
11
+ * - Guidance: "read the file first before patching"
12
+ * - Guidance: "include at least 3 lines of context for unambiguous matching"
13
+ */
14
+ import { getFs } from "./get-fs.js";
15
+ export function createEditTool(registry) {
16
+ return {
17
+ name: "edit",
18
+ description: "Create a new file, overwrite an existing file, or patch (search-and-replace) part of a file.\n\n" +
19
+ "**To create a new file:** provide `path` and `content`. The directory is created automatically. " +
20
+ "Never use this to edit a file that already exists — use patch mode instead.\n\n" +
21
+ "**To overwrite an existing file:** provide `path` and `content`. Use this when you want to replace the " +
22
+ "entire file contents.\n\n" +
23
+ "**To patch (search-and-replace):** provide `path`, `search` (exact literal text to find), and `replace` " +
24
+ "(the replacement text). Each call replaces exactly ONE occurrence.\n\n" +
25
+ "CRITICAL for `search`: Must be the EXACT literal text from the file, including all whitespace, " +
26
+ "indentation, and newlines. Include at least 3 lines of context BEFORE and AFTER the target text " +
27
+ "to ensure an unambiguous match. If the string matches multiple locations, or doesn't match at all, " +
28
+ "the tool will fail.\n\n" +
29
+ "Always generate the `explanation` property first. Always read the file before patching.",
30
+ tier: "core",
31
+ category: "filesystem",
32
+ source: "builtin",
33
+ parameters: {
34
+ type: "object",
35
+ properties: {
36
+ explanation: {
37
+ type: "string",
38
+ description: "A short explanation of the edit being made. Generate this FIRST before the other fields.",
39
+ },
40
+ path: {
41
+ type: "string",
42
+ description: "The absolute or workspace-relative file path to create or edit.",
43
+ },
44
+ content: {
45
+ type: "string",
46
+ description: "Full file content. Use this to create a new file or overwrite an existing file entirely.",
47
+ },
48
+ search: {
49
+ type: "string",
50
+ description: "The exact literal text to find in the file (for patch mode). " +
51
+ "MUST be the exact text including all whitespace, indentation, and newlines. " +
52
+ "Include at least 3 lines of context BEFORE and AFTER the target text for unambiguous matching. " +
53
+ "Must uniquely identify a single location in the file.",
54
+ },
55
+ replace: {
56
+ type: "string",
57
+ description: "The exact literal replacement text (for patch mode). " +
58
+ "Provide the complete replacement including surrounding context lines.",
59
+ },
60
+ },
61
+ required: ["explanation", "path"],
62
+ },
63
+ async execute(input, context) {
64
+ try {
65
+ const fs = await getFs(registry, context, input.path);
66
+ // ── Patch mode: search + replace ─────────────────────────
67
+ if (input.search != null) {
68
+ if (input.replace == null) {
69
+ return { ok: false, message: "Patch mode requires both `search` and `replace`." };
70
+ }
71
+ const result = await fs.patch(input.path, input.search, input.replace);
72
+ if (!result.matched) {
73
+ return {
74
+ ok: false,
75
+ message: `Search string not found in ${input.path}. ` +
76
+ "Ensure the search text is an exact literal match including whitespace and indentation. " +
77
+ "Read the file first to get the exact text.",
78
+ };
79
+ }
80
+ return {
81
+ ok: true,
82
+ message: `Patched ${input.path}: ${input.explanation}`,
83
+ data: { path: input.path, mode: "patch", explanation: input.explanation },
84
+ };
85
+ }
86
+ // ── Create / overwrite mode ──────────────────────────────
87
+ if (input.content == null) {
88
+ return {
89
+ ok: false,
90
+ message: "Provide `content` to create/overwrite, or `search` + `replace` to patch.",
91
+ };
92
+ }
93
+ await fs.write(input.path, input.content);
94
+ return {
95
+ ok: true,
96
+ message: `Wrote ${input.path} (${input.content.length} bytes): ${input.explanation}`,
97
+ data: { path: input.path, mode: "write", size: input.content.length, explanation: input.explanation },
98
+ };
99
+ }
100
+ catch (err) {
101
+ return {
102
+ ok: false,
103
+ message: err instanceof Error ? err.message : "Edit failed",
104
+ };
105
+ }
106
+ },
107
+ };
108
+ }
109
+ //# sourceMappingURL=edit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/tools/core/edit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * execute — Run shell commands in a persistent terminal.
3
+ *
4
+ * Inspired by VS Code Copilot's run_in_terminal:
5
+ * - `isBackground` for long-running processes (servers, watchers)
6
+ * - `explanation` for human-readable display of what the command does
7
+ * - `goal` for short description shown in UI before the command runs
8
+ * - `cwd` for setting working directory
9
+ * - `timeout` with sensible defaults
10
+ *
11
+ * The terminal is visible to the user and persists between calls.
12
+ */
13
+ import type { ToolDefinition } from "../contracts.js";
14
+ import type { SurfaceRegistry } from "../../surfaces/registry.js";
15
+ interface ExecuteInput {
16
+ /** The shell command to execute */
17
+ command: string;
18
+ /** A one-sentence description of what the command does (shown to the user before running) */
19
+ explanation: string;
20
+ /** A short description of the goal or purpose (e.g. "Install dependencies", "Start dev server") */
21
+ goal?: string;
22
+ /** Whether this starts a background process (server, watcher, build --watch).
23
+ * If true, the command runs asynchronously and you won't see the output immediately.
24
+ * If false (default), the command blocks until complete and returns output. */
25
+ isBackground?: boolean;
26
+ /** Working directory for the command (defaults to workspace root) */
27
+ cwd?: string;
28
+ /** Reuse a specific terminal (omit to auto-select or create) */
29
+ terminalId?: string;
30
+ /** Execution timeout in ms (default 30000). Use 0 for no timeout.
31
+ * Be conservative — give enough time for the command to complete on a slow machine. */
32
+ timeout?: number;
33
+ }
34
+ export declare function createExecuteTool(registry: SurfaceRegistry): ToolDefinition<ExecuteInput>;
35
+ export {};
36
+ //# sourceMappingURL=execute.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../../src/tools/core/execute.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,cAAc,EAA2B,MAAM,iBAAiB,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAGlE,UAAU,YAAY;IACpB,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,6FAA6F;IAC7F,WAAW,EAAE,MAAM,CAAC;IACpB,mGAAmG;IACnG,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;oFAEgF;IAChF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,qEAAqE;IACrE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;4FACwF;IACxF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,eAAe,GAAG,cAAc,CAAC,YAAY,CAAC,CAyEzF"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * execute — Run shell commands in a persistent terminal.
3
+ *
4
+ * Inspired by VS Code Copilot's run_in_terminal:
5
+ * - `isBackground` for long-running processes (servers, watchers)
6
+ * - `explanation` for human-readable display of what the command does
7
+ * - `goal` for short description shown in UI before the command runs
8
+ * - `cwd` for setting working directory
9
+ * - `timeout` with sensible defaults
10
+ *
11
+ * The terminal is visible to the user and persists between calls.
12
+ */
13
+ import { createTerminalRunTool } from "../terminal-tools.js";
14
+ export function createExecuteTool(registry) {
15
+ // Delegate to the existing terminal.run implementation
16
+ const inner = createTerminalRunTool(registry);
17
+ return {
18
+ name: "execute",
19
+ description: "Run a shell command in a persistent terminal and return the output.\n\n" +
20
+ "The terminal is visible to the user and stays alive between calls. " +
21
+ "Use PowerShell syntax on Windows. Multi-line scripts, pipes, and complex syntax all work.\n\n" +
22
+ "Set `isBackground: true` for long-running processes (servers, watchers, build in watch mode). " +
23
+ "Background commands run asynchronously — you won't see output immediately but the process keeps running.\n\n" +
24
+ "Use this for: running builds, installing packages, git operations, starting servers, " +
25
+ "checking processes, running tests, or any shell task.\n\n" +
26
+ "When executing non-trivial commands, explain their purpose so the user understands what's happening. " +
27
+ "Prefer using `;` to chain commands on one line. Use `timeout: 0` for commands that may take a long time.",
28
+ tier: "core",
29
+ category: "terminal",
30
+ source: "builtin",
31
+ parameters: {
32
+ type: "object",
33
+ properties: {
34
+ command: {
35
+ type: "string",
36
+ description: "The shell command to execute.",
37
+ },
38
+ explanation: {
39
+ type: "string",
40
+ description: "A one-sentence description of what the command does. Shown to the user before the command runs.",
41
+ },
42
+ goal: {
43
+ type: "string",
44
+ description: 'A short description of the goal (e.g., "Install dependencies", "Start development server").',
45
+ },
46
+ isBackground: {
47
+ type: "boolean",
48
+ description: "Whether this starts a background process. " +
49
+ "If true, runs asynchronously (e.g. servers, watchers). " +
50
+ "If false (default), blocks until complete and returns output.",
51
+ },
52
+ cwd: {
53
+ type: "string",
54
+ description: "Working directory for the command. Defaults to workspace root.",
55
+ },
56
+ terminalId: {
57
+ type: "string",
58
+ description: "Reuse a specific terminal by ID (omit to auto-select or create).",
59
+ },
60
+ timeout: {
61
+ type: "number",
62
+ description: "Execution timeout in milliseconds (default 30000). " +
63
+ "Use 0 for no timeout. Be conservative — give enough time for slow machines.",
64
+ },
65
+ },
66
+ required: ["command", "explanation"],
67
+ },
68
+ async execute(input, context) {
69
+ // Forward all params to the inner terminal.run tool
70
+ return inner.execute({
71
+ command: input.command,
72
+ terminalId: input.terminalId,
73
+ timeout: input.timeout,
74
+ cwd: input.cwd,
75
+ // Pass background flag if the inner tool supports it
76
+ ...(input.isBackground != null ? { isBackground: input.isBackground } : {}),
77
+ }, context);
78
+ },
79
+ };
80
+ }
81
+ //# sourceMappingURL=execute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../src/tools/core/execute.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAsB7D,MAAM,UAAU,iBAAiB,CAAC,QAAyB;IACzD,uDAAuD;IACvD,MAAM,KAAK,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAE9C,OAAO;QACL,IAAI,EAAE,SAAS;QACf,WAAW,EACT,yEAAyE;YACzE,qEAAqE;YACrE,+FAA+F;YAC/F,gGAAgG;YAChG,8GAA8G;YAC9G,uFAAuF;YACvF,2DAA2D;YAC3D,uGAAuG;YACvG,0GAA0G;QAC5G,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,UAAU;QACpB,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,+BAA+B;iBAC7C;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,iGAAiG;iBAC/G;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,6FAA6F;iBAC3G;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,4CAA4C;wBAC5C,yDAAyD;wBACzD,+DAA+D;iBAClE;gBACD,GAAG,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,gEAAgE;iBAC9E;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kEAAkE;iBAChF;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,qDAAqD;wBACrD,6EAA6E;iBAChF;aACF;YACD,QAAQ,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC;SACrC;QACD,KAAK,CAAC,OAAO,CAAC,KAAmB,EAAE,OAAoB;YACrD,oDAAoD;YACpD,OAAO,KAAK,CAAC,OAAO,CAClB;gBACE,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,qDAAqD;gBACrD,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACrE,EACR,OAAO,CACR,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Shared helper — resolve the FileSystemSurface for the current session.
3
+ *
4
+ * Priority:
5
+ * 1. If `targetPath` is absolute and outside the current workspace boundary,
6
+ * find or create a surface scoped to contain that path.
7
+ * 2. Look for an existing surface with the conventional ID `fs-{sessionId}`
8
+ * that is running (the auto-created surface for the session).
9
+ * 3. Look for *any* running filesystem surface belonging to the session
10
+ * (e.g. one started via `surfaces.start` with a custom workspace root).
11
+ * 4. If nothing exists, auto-start one with `context.workspaceRoot`.
12
+ *
13
+ * This ensures that when the user asks to read/edit files anywhere on their
14
+ * local filesystem, the agent can access them without "escapes workspace
15
+ * boundary" errors — while still maintaining PathGuard isolation per surface.
16
+ */
17
+ import type { ToolContext } from "../contracts.js";
18
+ import type { SurfaceRegistry } from "../../surfaces/registry.js";
19
+ import { FileSystemSurface } from "../../surfaces/filesystem.js";
20
+ export declare function getFs(registry: SurfaceRegistry, context: ToolContext, targetPath?: string): Promise<FileSystemSurface>;
21
+ /**
22
+ * Resolve the effective workspace root for a session.
23
+ *
24
+ * Prefers the most specific (deepest) workspace root among all running
25
+ * filesystem surfaces for this session — avoids returning a broad drive root
26
+ * when a more specific workspace surface exists.
27
+ * Falls back to `process.cwd()`.
28
+ */
29
+ export declare function resolveWorkspaceRoot(registry: SurfaceRegistry, sessionId: string,
30
+ /** Optional fallback from session record before falling back to process.cwd() */
31
+ sessionWorkspacePath?: string | null): string;
32
+ //# sourceMappingURL=get-fs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-fs.d.ts","sourceRoot":"","sources":["../../../src/tools/core/get-fs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AA8CjE,wBAAsB,KAAK,CACzB,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,WAAW,EACpB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,iBAAiB,CAAC,CA8D5B;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,MAAM;AACjB,iFAAiF;AACjF,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,GACnC,MAAM,CAcR"}
@@ -0,0 +1,143 @@
1
+ /**
2
+ * Shared helper — resolve the FileSystemSurface for the current session.
3
+ *
4
+ * Priority:
5
+ * 1. If `targetPath` is absolute and outside the current workspace boundary,
6
+ * find or create a surface scoped to contain that path.
7
+ * 2. Look for an existing surface with the conventional ID `fs-{sessionId}`
8
+ * that is running (the auto-created surface for the session).
9
+ * 3. Look for *any* running filesystem surface belonging to the session
10
+ * (e.g. one started via `surfaces.start` with a custom workspace root).
11
+ * 4. If nothing exists, auto-start one with `context.workspaceRoot`.
12
+ *
13
+ * This ensures that when the user asks to read/edit files anywhere on their
14
+ * local filesystem, the agent can access them without "escapes workspace
15
+ * boundary" errors — while still maintaining PathGuard isolation per surface.
16
+ */
17
+ import { resolve, isAbsolute, dirname } from "node:path";
18
+ import { stat } from "node:fs/promises";
19
+ import { FileSystemSurface } from "../../surfaces/filesystem.js";
20
+ /**
21
+ * Given a `targetPath`, determine the correct workspace root.
22
+ * If the path is a directory, use it directly.
23
+ * If the path is a file, use its parent directory.
24
+ * Falls back to the path itself if stat fails (e.g. doesn't exist yet).
25
+ */
26
+ async function deriveWorkspaceRoot(targetPath) {
27
+ const abs = resolve(targetPath);
28
+ try {
29
+ const info = await stat(abs);
30
+ return info.isDirectory() ? abs : dirname(abs);
31
+ }
32
+ catch {
33
+ // Path doesn't exist yet — use the parent directory
34
+ return dirname(abs);
35
+ }
36
+ }
37
+ /**
38
+ * Check if `surface` can serve `targetPath` (i.e. the path is within
39
+ * the surface's workspace boundary).
40
+ */
41
+ function surfaceCovers(surface, targetPath) {
42
+ return surface.isPathAllowed(targetPath);
43
+ }
44
+ /**
45
+ * Among multiple surfaces that cover a path, prefer the most specific one
46
+ * (deepest workspace root).
47
+ */
48
+ function pickMostSpecific(surfaces, targetPath) {
49
+ let best = null;
50
+ let bestLen = -1;
51
+ for (const s of surfaces) {
52
+ if (!surfaceCovers(s, targetPath))
53
+ continue;
54
+ const root = s.snapshot().metadata?.workspaceRoot;
55
+ const len = root?.length ?? 0;
56
+ if (len > bestLen) {
57
+ best = s;
58
+ bestLen = len;
59
+ }
60
+ }
61
+ return best;
62
+ }
63
+ export async function getFs(registry, context, targetPath) {
64
+ const absTarget = targetPath ? resolve(context.workspaceRoot, targetPath) : undefined;
65
+ // ── If target is absolute and we already have a surface that covers it, use it ──
66
+ if (absTarget) {
67
+ // Collect all running FS surfaces for this session
68
+ const candidates = [];
69
+ const fsId = `fs-${context.sessionId}`;
70
+ const conventional = registry.getSurface(fsId);
71
+ if (conventional?.state === "running")
72
+ candidates.push(conventional);
73
+ for (const s of registry.getBySession(context.sessionId)) {
74
+ if (s instanceof FileSystemSurface && s.state === "running" && s !== conventional) {
75
+ candidates.push(s);
76
+ }
77
+ }
78
+ // Pick the most specific surface that covers this path
79
+ const best = pickMostSpecific(candidates, absTarget);
80
+ if (best)
81
+ return best;
82
+ // No existing surface covers this path — create one scoped to the target
83
+ if (isAbsolute(targetPath)) {
84
+ const newRoot = await deriveWorkspaceRoot(absTarget);
85
+ const safeName = newRoot.replace(/[:\\\/]/g, "_").replace(/_+$/, "").toLowerCase();
86
+ const surfaceId = `fs-${context.sessionId}-${safeName}`;
87
+ const existing = registry.getSurface(surfaceId);
88
+ if (existing?.state === "running")
89
+ return existing;
90
+ const started = await registry.startSurface("filesystem", surfaceId, {
91
+ sessionId: context.sessionId,
92
+ workspaceRoot: newRoot,
93
+ });
94
+ return started;
95
+ }
96
+ }
97
+ // ── Default: find or create the conventional session surface ──
98
+ // 1. Conventional per-session ID
99
+ const fsId = `fs-${context.sessionId}`;
100
+ const conventional = registry.getSurface(fsId);
101
+ if (conventional && conventional.state === "running")
102
+ return conventional;
103
+ // 2. Any running filesystem surface for this session
104
+ const sessionSurfaces = registry.getBySession(context.sessionId);
105
+ for (const s of sessionSurfaces) {
106
+ if (s instanceof FileSystemSurface &&
107
+ s.state === "running") {
108
+ return s;
109
+ }
110
+ }
111
+ // 3. Nothing found — auto-start one
112
+ const started = await registry.startSurface("filesystem", fsId, {
113
+ sessionId: context.sessionId,
114
+ workspaceRoot: context.workspaceRoot,
115
+ });
116
+ return started;
117
+ }
118
+ /**
119
+ * Resolve the effective workspace root for a session.
120
+ *
121
+ * Prefers the most specific (deepest) workspace root among all running
122
+ * filesystem surfaces for this session — avoids returning a broad drive root
123
+ * when a more specific workspace surface exists.
124
+ * Falls back to `process.cwd()`.
125
+ */
126
+ export function resolveWorkspaceRoot(registry, sessionId,
127
+ /** Optional fallback from session record before falling back to process.cwd() */
128
+ sessionWorkspacePath) {
129
+ let best = null;
130
+ let bestLen = -1;
131
+ for (const s of registry.getBySession(sessionId)) {
132
+ if (s instanceof FileSystemSurface && s.state === "running") {
133
+ const root = s.snapshot().metadata
134
+ ?.workspaceRoot;
135
+ if (root && root.length > bestLen) {
136
+ best = root;
137
+ bestLen = root.length;
138
+ }
139
+ }
140
+ }
141
+ return best ?? sessionWorkspacePath?.trim() ?? process.cwd();
142
+ }
143
+ //# sourceMappingURL=get-fs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-fs.js","sourceRoot":"","sources":["../../../src/tools/core/get-fs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Core tools — The 8 essential tools that form the agent's primary toolkit.
3
+ *
4
+ * Design inspired by VS Code Copilot Chat's tool system, adapted for
5
+ * Jait's gateway-centric architecture:
6
+ *
7
+ * | Tool | Copilot Equivalent(s) | Category |
8
+ * |---------|------------------------------------|-------------|
9
+ * | read | read_file + list_dir | filesystem |
10
+ * | edit | create_file + replace_string | filesystem |
11
+ * | execute | run_in_terminal | terminal |
12
+ * | search | grep_search + file_search | filesystem |
13
+ * | web | fetch_webpage (+ web search) | web |
14
+ * | agent | runSubagent + search_subagent | agent |
15
+ * | todo | manage_todo_list | meta |
16
+ * | jait | memory + (no equiv for cron/status) | gateway |
17
+ */
18
+ export { createReadTool } from "./read.js";
19
+ export { createEditTool } from "./edit.js";
20
+ export { createExecuteTool } from "./execute.js";
21
+ export { createSearchTool } from "./search.js";
22
+ export { createWebTool } from "./web.js";
23
+ export { createAgentTool } from "./agent.js";
24
+ export { createTodoTool, getSessionTodos, clearSessionTodos, type TodoItem } from "./todo.js";
25
+ export { createJaitTool, type JaitToolDeps } from "./jait.js";
26
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAE,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Core tools — The 8 essential tools that form the agent's primary toolkit.
3
+ *
4
+ * Design inspired by VS Code Copilot Chat's tool system, adapted for
5
+ * Jait's gateway-centric architecture:
6
+ *
7
+ * | Tool | Copilot Equivalent(s) | Category |
8
+ * |---------|------------------------------------|-------------|
9
+ * | read | read_file + list_dir | filesystem |
10
+ * | edit | create_file + replace_string | filesystem |
11
+ * | execute | run_in_terminal | terminal |
12
+ * | search | grep_search + file_search | filesystem |
13
+ * | web | fetch_webpage (+ web search) | web |
14
+ * | agent | runSubagent + search_subagent | agent |
15
+ * | todo | manage_todo_list | meta |
16
+ * | jait | memory + (no equiv for cron/status) | gateway |
17
+ */
18
+ export { createReadTool } from "./read.js";
19
+ export { createEditTool } from "./edit.js";
20
+ export { createExecuteTool } from "./execute.js";
21
+ export { createSearchTool } from "./search.js";
22
+ export { createWebTool } from "./web.js";
23
+ export { createAgentTool } from "./agent.js";
24
+ export { createTodoTool, getSessionTodos, clearSessionTodos } from "./todo.js";
25
+ export { createJaitTool } from "./jait.js";
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAiB,MAAM,WAAW,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAqB,MAAM,WAAW,CAAC"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * jait — Platform meta-tool for Jait-specific capabilities.
3
+ *
4
+ * Combines: memory management, cron/scheduler, network scanning,
5
+ * and gateway status into a single tool with an `action` dispatcher.
6
+ *
7
+ * This keeps the core tool count at 8 while still exposing
8
+ * platform-specific features that don't fit the generic tools.
9
+ */
10
+ import type { ToolDefinition } from "../contracts.js";
11
+ import type { SchedulerService } from "../../scheduler/service.js";
12
+ import type { MemoryService } from "../../memory/contracts.js";
13
+ import type { SessionService } from "../../services/sessions.js";
14
+ import type { SurfaceRegistry } from "../../surfaces/registry.js";
15
+ import type { WsControlPlane } from "../../ws.js";
16
+ import type { HookBus } from "../../scheduler/hooks.js";
17
+ export interface JaitToolDeps {
18
+ memoryService?: MemoryService;
19
+ scheduler?: SchedulerService;
20
+ sessionService?: SessionService;
21
+ surfaceRegistry?: SurfaceRegistry;
22
+ ws?: WsControlPlane;
23
+ startedAt?: number;
24
+ hooks?: HookBus;
25
+ }
26
+ interface JaitInput {
27
+ /** The action to perform */
28
+ action: string;
29
+ /** Memory content to save */
30
+ content?: string;
31
+ /** Memory scope: workspace, project, or contact */
32
+ scope?: string;
33
+ /** Search query for memory.search */
34
+ query?: string;
35
+ /** Memory ID (for forget) */
36
+ memoryId?: string;
37
+ /** Source type for memory save */
38
+ sourceType?: string;
39
+ /** Source ID for memory save */
40
+ sourceId?: string;
41
+ /** TTL in seconds for memory expiry */
42
+ ttlSeconds?: number;
43
+ /** Max results for memory search */
44
+ limit?: number;
45
+ /** Cron job name */
46
+ name?: string;
47
+ /** Cron expression */
48
+ cron?: string;
49
+ /** Tool name to execute on schedule */
50
+ toolName?: string;
51
+ /** Tool input arguments */
52
+ input?: Record<string, unknown>;
53
+ /** Cron job ID (for update/remove) */
54
+ jobId?: string;
55
+ /** Enable/disable flag for cron update */
56
+ enabled?: boolean;
57
+ }
58
+ export declare function createJaitTool(deps: JaitToolDeps): ToolDefinition<JaitInput>;
59
+ export {};
60
+ //# sourceMappingURL=jait.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jait.d.ts","sourceRoot":"","sources":["../../../src/tools/core/jait.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,cAAc,EAA2B,MAAM,iBAAiB,CAAC;AAC/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,2BAA2B,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAExD,MAAM,WAAW,YAAY;IAC3B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,EAAE,CAAC,EAAE,cAAc,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,UAAU,SAAS;IACjB,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC;IAGf,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,oBAAoB;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sBAAsB;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,GAAG,cAAc,CAAC,SAAS,CAAC,CAwQ5E"}