@jinion/core 0.2.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (490) hide show
  1. package/dist/agent/agent.d.ts +6 -0
  2. package/dist/agent/agent.d.ts.map +1 -1
  3. package/dist/agent/agent.js +16 -1
  4. package/dist/agent/agent.js.map +1 -1
  5. package/dist/agent/claude/backend.d.ts +8 -0
  6. package/dist/agent/claude/backend.d.ts.map +1 -1
  7. package/dist/agent/claude/backend.js +19 -5
  8. package/dist/agent/claude/backend.js.map +1 -1
  9. package/dist/agent/claude/commands.d.ts +2 -0
  10. package/dist/agent/claude/commands.d.ts.map +1 -1
  11. package/dist/agent/claude/events.js +1 -1
  12. package/dist/agent/claude/events.js.map +1 -1
  13. package/dist/agent/claude/guard.d.ts.map +1 -1
  14. package/dist/agent/claude/guard.js +2 -1
  15. package/dist/agent/claude/guard.js.map +1 -1
  16. package/dist/agent/claude/jinion-tools.d.ts +9 -1
  17. package/dist/agent/claude/jinion-tools.d.ts.map +1 -1
  18. package/dist/agent/claude/jinion-tools.js +14 -2
  19. package/dist/agent/claude/jinion-tools.js.map +1 -1
  20. package/dist/agent/claude/mcp.d.ts +2 -1
  21. package/dist/agent/claude/mcp.d.ts.map +1 -1
  22. package/dist/agent/claude/mcp.js +38 -1
  23. package/dist/agent/claude/mcp.js.map +1 -1
  24. package/dist/agent/claude/options.d.ts +9 -1
  25. package/dist/agent/claude/options.d.ts.map +1 -1
  26. package/dist/agent/claude/options.js +5 -3
  27. package/dist/agent/claude/options.js.map +1 -1
  28. package/dist/agent/claude/paths.d.ts +0 -3
  29. package/dist/agent/claude/paths.d.ts.map +1 -1
  30. package/dist/agent/claude/paths.js +1 -7
  31. package/dist/agent/claude/paths.js.map +1 -1
  32. package/dist/agent/claude/permissions.js +1 -1
  33. package/dist/agent/claude/permissions.js.map +1 -1
  34. package/dist/agent/claude/plugins.d.ts +6 -0
  35. package/dist/agent/claude/plugins.d.ts.map +1 -1
  36. package/dist/agent/claude/plugins.js +11 -5
  37. package/dist/agent/claude/plugins.js.map +1 -1
  38. package/dist/agent/claude/prompt.d.ts +2 -1
  39. package/dist/agent/claude/prompt.d.ts.map +1 -1
  40. package/dist/agent/claude/prompt.js +10 -5
  41. package/dist/agent/claude/prompt.js.map +1 -1
  42. package/dist/agent/claude/review.d.ts +4 -1
  43. package/dist/agent/claude/review.d.ts.map +1 -1
  44. package/dist/agent/claude/review.js +5 -2
  45. package/dist/agent/claude/review.js.map +1 -1
  46. package/dist/agent/claude/session.d.ts +7 -0
  47. package/dist/agent/claude/session.d.ts.map +1 -1
  48. package/dist/agent/claude/session.js +6 -1
  49. package/dist/agent/claude/session.js.map +1 -1
  50. package/dist/agent/claude/setup-info.d.ts +21 -0
  51. package/dist/agent/claude/setup-info.d.ts.map +1 -0
  52. package/dist/agent/claude/setup-info.js +18 -0
  53. package/dist/agent/claude/setup-info.js.map +1 -0
  54. package/dist/agent/claude/setup.d.ts +12 -0
  55. package/dist/agent/claude/setup.d.ts.map +1 -0
  56. package/dist/agent/claude/setup.js +37 -0
  57. package/dist/agent/claude/setup.js.map +1 -0
  58. package/dist/agent/claude/shell.d.ts +0 -1
  59. package/dist/agent/claude/shell.d.ts.map +1 -1
  60. package/dist/agent/claude/shell.js +1 -59
  61. package/dist/agent/claude/shell.js.map +1 -1
  62. package/dist/agent/claude/skills.d.ts +8 -0
  63. package/dist/agent/claude/skills.d.ts.map +1 -0
  64. package/dist/agent/claude/skills.js +32 -0
  65. package/dist/agent/claude/skills.js.map +1 -0
  66. package/dist/agent/claude/tool-calls.d.ts.map +1 -1
  67. package/dist/agent/claude/tool-calls.js +11 -2
  68. package/dist/agent/claude/tool-calls.js.map +1 -1
  69. package/dist/agent/codex/backend.d.ts +7 -1
  70. package/dist/agent/codex/backend.d.ts.map +1 -1
  71. package/dist/agent/codex/backend.js +16 -3
  72. package/dist/agent/codex/backend.js.map +1 -1
  73. package/dist/agent/codex/events.d.ts.map +1 -1
  74. package/dist/agent/codex/events.js +15 -1
  75. package/dist/agent/codex/events.js.map +1 -1
  76. package/dist/agent/codex/jinion-tools.d.ts +38 -4
  77. package/dist/agent/codex/jinion-tools.d.ts.map +1 -1
  78. package/dist/agent/codex/jinion-tools.js +57 -10
  79. package/dist/agent/codex/jinion-tools.js.map +1 -1
  80. package/dist/agent/codex/mcp.d.ts.map +1 -1
  81. package/dist/agent/codex/mcp.js +4 -0
  82. package/dist/agent/codex/mcp.js.map +1 -1
  83. package/dist/agent/codex/rewind.js +1 -47
  84. package/dist/agent/codex/rewind.js.map +1 -1
  85. package/dist/agent/codex/session.d.ts +9 -2
  86. package/dist/agent/codex/session.d.ts.map +1 -1
  87. package/dist/agent/codex/session.js +21 -7
  88. package/dist/agent/codex/session.js.map +1 -1
  89. package/dist/agent/demo/agent.d.ts +6 -0
  90. package/dist/agent/demo/agent.d.ts.map +1 -1
  91. package/dist/agent/demo/agent.js +7 -1
  92. package/dist/agent/demo/agent.js.map +1 -1
  93. package/dist/agent/demo/mcp.d.ts +17 -0
  94. package/dist/agent/demo/mcp.d.ts.map +1 -0
  95. package/dist/agent/demo/mcp.js +155 -0
  96. package/dist/agent/demo/mcp.js.map +1 -0
  97. package/dist/agent/demo/scenarios/pricing-card.d.ts +3 -0
  98. package/dist/agent/demo/scenarios/pricing-card.d.ts.map +1 -0
  99. package/dist/agent/demo/scenarios/pricing-card.js +43 -0
  100. package/dist/agent/demo/scenarios/pricing-card.js.map +1 -0
  101. package/dist/agent/demo/script.d.ts +10 -0
  102. package/dist/agent/demo/script.d.ts.map +1 -1
  103. package/dist/agent/demo/skills.d.ts +29 -0
  104. package/dist/agent/demo/skills.d.ts.map +1 -0
  105. package/dist/agent/demo/skills.js +85 -0
  106. package/dist/agent/demo/skills.js.map +1 -0
  107. package/dist/agent/demo/tasks.d.ts +5 -0
  108. package/dist/agent/demo/tasks.d.ts.map +1 -1
  109. package/dist/agent/events.d.ts +5 -0
  110. package/dist/agent/events.d.ts.map +1 -1
  111. package/dist/agent/events.js +2 -0
  112. package/dist/agent/events.js.map +1 -1
  113. package/dist/agent/mcp.d.ts +11 -0
  114. package/dist/agent/mcp.d.ts.map +1 -1
  115. package/dist/agent/mcp.js +4 -0
  116. package/dist/agent/mcp.js.map +1 -1
  117. package/dist/agent/patches.d.ts +5 -0
  118. package/dist/agent/patches.d.ts.map +1 -1
  119. package/dist/agent/patches.js +49 -0
  120. package/dist/agent/patches.js.map +1 -1
  121. package/dist/agent/review-tools.d.ts +15 -0
  122. package/dist/agent/review-tools.d.ts.map +1 -0
  123. package/dist/agent/review-tools.js +13 -0
  124. package/dist/agent/review-tools.js.map +1 -0
  125. package/dist/agent/review.d.ts +18 -6
  126. package/dist/agent/review.d.ts.map +1 -1
  127. package/dist/agent/review.js +52 -17
  128. package/dist/agent/review.js.map +1 -1
  129. package/dist/agent/skills.d.ts +36 -0
  130. package/dist/agent/skills.d.ts.map +1 -0
  131. package/dist/agent/skills.js +18 -0
  132. package/dist/agent/skills.js.map +1 -0
  133. package/dist/api/client.d.ts +25 -1
  134. package/dist/api/client.d.ts.map +1 -1
  135. package/dist/api/client.js +14 -3
  136. package/dist/api/client.js.map +1 -1
  137. package/dist/api/connection.d.ts +5 -0
  138. package/dist/api/connection.d.ts.map +1 -1
  139. package/dist/api/connection.js +10 -0
  140. package/dist/api/connection.js.map +1 -1
  141. package/dist/api/fields.d.ts +12 -1
  142. package/dist/api/fields.d.ts.map +1 -1
  143. package/dist/api/fields.js +4 -2
  144. package/dist/api/fields.js.map +1 -1
  145. package/dist/api/json-schema.d.ts +729 -86
  146. package/dist/api/json-schema.d.ts.map +1 -1
  147. package/dist/api/json-schema.js +2 -1
  148. package/dist/api/json-schema.js.map +1 -1
  149. package/dist/api/methods/accounts.d.ts.map +1 -1
  150. package/dist/api/methods/accounts.js +1 -2
  151. package/dist/api/methods/accounts.js.map +1 -1
  152. package/dist/api/methods/app.d.ts.map +1 -1
  153. package/dist/api/methods/app.js +19 -5
  154. package/dist/api/methods/app.js.map +1 -1
  155. package/dist/api/methods/files.d.ts +3 -1
  156. package/dist/api/methods/files.d.ts.map +1 -1
  157. package/dist/api/methods/files.js +75 -2
  158. package/dist/api/methods/files.js.map +1 -1
  159. package/dist/api/methods/git.d.ts.map +1 -1
  160. package/dist/api/methods/git.js +54 -6
  161. package/dist/api/methods/git.js.map +1 -1
  162. package/dist/api/methods/lsp.d.ts +7 -0
  163. package/dist/api/methods/lsp.d.ts.map +1 -0
  164. package/dist/api/methods/lsp.js +68 -0
  165. package/dist/api/methods/lsp.js.map +1 -0
  166. package/dist/api/methods/map.d.ts +4 -0
  167. package/dist/api/methods/map.d.ts.map +1 -0
  168. package/dist/api/methods/map.js +13 -0
  169. package/dist/api/methods/map.js.map +1 -0
  170. package/dist/api/methods/preview.d.ts +4 -1
  171. package/dist/api/methods/preview.d.ts.map +1 -1
  172. package/dist/api/methods/preview.js +19 -3
  173. package/dist/api/methods/preview.js.map +1 -1
  174. package/dist/api/methods/skills.d.ts +4 -0
  175. package/dist/api/methods/skills.d.ts.map +1 -0
  176. package/dist/api/methods/skills.js +21 -0
  177. package/dist/api/methods/skills.js.map +1 -0
  178. package/dist/api/methods/terminals.d.ts.map +1 -1
  179. package/dist/api/methods/terminals.js +7 -1
  180. package/dist/api/methods/terminals.js.map +1 -1
  181. package/dist/api/protocol.d.ts +963 -7
  182. package/dist/api/protocol.d.ts.map +1 -1
  183. package/dist/api/protocol.js +155 -8
  184. package/dist/api/protocol.js.map +1 -1
  185. package/dist/api/schemas.d.ts +27 -0
  186. package/dist/api/schemas.d.ts.map +1 -1
  187. package/dist/api/schemas.js +6 -0
  188. package/dist/api/schemas.js.map +1 -1
  189. package/dist/api/screen.d.ts +2 -0
  190. package/dist/api/screen.d.ts.map +1 -1
  191. package/dist/api/screen.js +3 -0
  192. package/dist/api/screen.js.map +1 -1
  193. package/dist/api/server.d.ts +2 -0
  194. package/dist/api/server.d.ts.map +1 -1
  195. package/dist/api/server.js +13 -0
  196. package/dist/api/server.js.map +1 -1
  197. package/dist/commands/builtin.d.ts.map +1 -1
  198. package/dist/commands/builtin.js +5 -1
  199. package/dist/commands/builtin.js.map +1 -1
  200. package/dist/commands/conversation.d.ts.map +1 -1
  201. package/dist/commands/conversation.js +2 -0
  202. package/dist/commands/conversation.js.map +1 -1
  203. package/dist/commands/feedback.d.ts.map +1 -1
  204. package/dist/commands/feedback.js +1 -0
  205. package/dist/commands/feedback.js.map +1 -1
  206. package/dist/commands/notifications.d.ts.map +1 -1
  207. package/dist/commands/notifications.js +5 -3
  208. package/dist/commands/notifications.js.map +1 -1
  209. package/dist/commands/registry.d.ts +3 -0
  210. package/dist/commands/registry.d.ts.map +1 -1
  211. package/dist/commands/registry.js +14 -0
  212. package/dist/commands/registry.js.map +1 -1
  213. package/dist/commands/skill.d.ts +5 -0
  214. package/dist/commands/skill.d.ts.map +1 -0
  215. package/dist/commands/skill.js +30 -0
  216. package/dist/commands/skill.js.map +1 -0
  217. package/dist/commands/views.d.ts +2 -0
  218. package/dist/commands/views.d.ts.map +1 -1
  219. package/dist/commands/views.js +15 -1
  220. package/dist/commands/views.js.map +1 -1
  221. package/dist/controllers/accounts.d.ts +5 -2
  222. package/dist/controllers/accounts.d.ts.map +1 -1
  223. package/dist/controllers/accounts.js +11 -8
  224. package/dist/controllers/accounts.js.map +1 -1
  225. package/dist/controllers/context.d.ts +6 -0
  226. package/dist/controllers/context.d.ts.map +1 -1
  227. package/dist/controllers/context.js +3 -0
  228. package/dist/controllers/context.js.map +1 -1
  229. package/dist/controllers/feedback.d.ts +1 -1
  230. package/dist/controllers/feedback.d.ts.map +1 -1
  231. package/dist/controllers/feedback.js +4 -1
  232. package/dist/controllers/feedback.js.map +1 -1
  233. package/dist/controllers/input.d.ts.map +1 -1
  234. package/dist/controllers/input.js +2 -0
  235. package/dist/controllers/input.js.map +1 -1
  236. package/dist/controllers/jinion.d.ts +9 -1
  237. package/dist/controllers/jinion.d.ts.map +1 -1
  238. package/dist/controllers/jinion.js +9 -1
  239. package/dist/controllers/jinion.js.map +1 -1
  240. package/dist/controllers/mcp.d.ts +11 -2
  241. package/dist/controllers/mcp.d.ts.map +1 -1
  242. package/dist/controllers/mcp.js +42 -7
  243. package/dist/controllers/mcp.js.map +1 -1
  244. package/dist/controllers/session.d.ts.map +1 -1
  245. package/dist/controllers/session.js +4 -0
  246. package/dist/controllers/session.js.map +1 -1
  247. package/dist/conversation/activity.d.ts +5 -0
  248. package/dist/conversation/activity.d.ts.map +1 -0
  249. package/dist/conversation/activity.js +41 -0
  250. package/dist/conversation/activity.js.map +1 -0
  251. package/dist/conversation/apply-event.d.ts.map +1 -1
  252. package/dist/conversation/apply-event.js +2 -1
  253. package/dist/conversation/apply-event.js.map +1 -1
  254. package/dist/conversation/edits.d.ts +5 -0
  255. package/dist/conversation/edits.d.ts.map +1 -1
  256. package/dist/conversation/edits.js +10 -0
  257. package/dist/conversation/edits.js.map +1 -1
  258. package/dist/conversation/reducer.d.ts +15 -0
  259. package/dist/conversation/reducer.d.ts.map +1 -1
  260. package/dist/design/guides.d.ts +78 -5
  261. package/dist/design/guides.d.ts.map +1 -1
  262. package/dist/design/guides.js +78 -5
  263. package/dist/design/guides.js.map +1 -1
  264. package/dist/design/prompt.d.ts +1 -1
  265. package/dist/design/prompt.d.ts.map +1 -1
  266. package/dist/design/prompt.js +2 -2
  267. package/dist/design/prompt.js.map +1 -1
  268. package/dist/design/tools.d.ts +2 -0
  269. package/dist/design/tools.d.ts.map +1 -1
  270. package/dist/design/tools.js +6 -2
  271. package/dist/design/tools.js.map +1 -1
  272. package/dist/directions/directions.d.ts +42 -0
  273. package/dist/directions/directions.d.ts.map +1 -0
  274. package/dist/directions/directions.js +120 -0
  275. package/dist/directions/directions.js.map +1 -0
  276. package/dist/directions/store.d.ts +34 -0
  277. package/dist/directions/store.d.ts.map +1 -0
  278. package/dist/directions/store.js +61 -0
  279. package/dist/directions/store.js.map +1 -0
  280. package/dist/directions/tools.d.ts +29 -0
  281. package/dist/directions/tools.d.ts.map +1 -0
  282. package/dist/directions/tools.js +57 -0
  283. package/dist/directions/tools.js.map +1 -0
  284. package/dist/directions/viewer.d.ts +6 -0
  285. package/dist/directions/viewer.d.ts.map +1 -0
  286. package/dist/directions/viewer.js +266 -0
  287. package/dist/directions/viewer.js.map +1 -0
  288. package/dist/files/names.d.ts +6 -0
  289. package/dist/files/names.d.ts.map +1 -0
  290. package/dist/files/names.js +18 -0
  291. package/dist/files/names.js.map +1 -0
  292. package/dist/files/operations.d.ts +54 -0
  293. package/dist/files/operations.d.ts.map +1 -0
  294. package/dist/files/operations.js +173 -0
  295. package/dist/files/operations.js.map +1 -0
  296. package/dist/files/search.d.ts +11 -0
  297. package/dist/files/search.d.ts.map +1 -0
  298. package/dist/files/search.js +112 -0
  299. package/dist/files/search.js.map +1 -0
  300. package/dist/files/trash.d.ts +11 -0
  301. package/dist/files/trash.d.ts.map +1 -0
  302. package/dist/files/trash.js +64 -0
  303. package/dist/files/trash.js.map +1 -0
  304. package/dist/files/types.d.ts +112 -0
  305. package/dist/files/types.d.ts.map +1 -0
  306. package/dist/files/types.js +47 -0
  307. package/dist/files/types.js.map +1 -0
  308. package/dist/files/watch.d.ts +26 -0
  309. package/dist/files/watch.d.ts.map +1 -0
  310. package/dist/files/watch.js +107 -0
  311. package/dist/files/watch.js.map +1 -0
  312. package/dist/git/blame.d.ts +10 -0
  313. package/dist/git/blame.d.ts.map +1 -0
  314. package/dist/git/blame.js +91 -0
  315. package/dist/git/blame.js.map +1 -0
  316. package/dist/git/repos.d.ts +5 -0
  317. package/dist/git/repos.d.ts.map +1 -1
  318. package/dist/git/repos.js +13 -0
  319. package/dist/git/repos.js.map +1 -1
  320. package/dist/git/staging.d.ts +10 -1
  321. package/dist/git/staging.d.ts.map +1 -1
  322. package/dist/git/staging.js +21 -0
  323. package/dist/git/staging.js.map +1 -1
  324. package/dist/git/types.d.ts +48 -0
  325. package/dist/git/types.d.ts.map +1 -1
  326. package/dist/git/types.js +25 -0
  327. package/dist/git/types.js.map +1 -1
  328. package/dist/host.d.ts +2 -0
  329. package/dist/host.d.ts.map +1 -1
  330. package/dist/host.js +8 -1
  331. package/dist/host.js.map +1 -1
  332. package/dist/lib/changelog.d.ts +12 -0
  333. package/dist/lib/changelog.d.ts.map +1 -0
  334. package/dist/lib/changelog.js +52 -0
  335. package/dist/lib/changelog.js.map +1 -0
  336. package/dist/lib/glob.d.ts +6 -0
  337. package/dist/lib/glob.d.ts.map +1 -0
  338. package/dist/lib/glob.js +49 -0
  339. package/dist/lib/glob.js.map +1 -0
  340. package/dist/lib/paths.d.ts +3 -0
  341. package/dist/lib/paths.d.ts.map +1 -1
  342. package/dist/lib/paths.js +9 -1
  343. package/dist/lib/paths.js.map +1 -1
  344. package/dist/lib/shell-words.d.ts +2 -0
  345. package/dist/lib/shell-words.d.ts.map +1 -0
  346. package/dist/lib/shell-words.js +60 -0
  347. package/dist/lib/shell-words.js.map +1 -0
  348. package/dist/look/tools.d.ts +7 -1
  349. package/dist/look/tools.d.ts.map +1 -1
  350. package/dist/look/tools.js +19 -4
  351. package/dist/look/tools.js.map +1 -1
  352. package/dist/lsp/code-intelligence.d.ts +87 -0
  353. package/dist/lsp/code-intelligence.d.ts.map +1 -0
  354. package/dist/lsp/code-intelligence.js +343 -0
  355. package/dist/lsp/code-intelligence.js.map +1 -0
  356. package/dist/lsp/edits.d.ts +4 -0
  357. package/dist/lsp/edits.d.ts.map +1 -0
  358. package/dist/lsp/edits.js +14 -0
  359. package/dist/lsp/edits.js.map +1 -0
  360. package/dist/lsp/project-check.d.ts +8 -0
  361. package/dist/lsp/project-check.d.ts.map +1 -0
  362. package/dist/lsp/project-check.js +71 -0
  363. package/dist/lsp/project-check.js.map +1 -0
  364. package/dist/lsp/results.d.ts +95 -0
  365. package/dist/lsp/results.d.ts.map +1 -0
  366. package/dist/lsp/results.js +116 -0
  367. package/dist/lsp/results.js.map +1 -0
  368. package/dist/lsp/server.d.ts +22 -0
  369. package/dist/lsp/server.d.ts.map +1 -0
  370. package/dist/lsp/server.js +123 -0
  371. package/dist/lsp/server.js.map +1 -0
  372. package/dist/lsp/servers.d.ts +21 -0
  373. package/dist/lsp/servers.d.ts.map +1 -0
  374. package/dist/lsp/servers.js +57 -0
  375. package/dist/lsp/servers.js.map +1 -0
  376. package/dist/lsp/transport.d.ts +9 -0
  377. package/dist/lsp/transport.d.ts.map +1 -0
  378. package/dist/lsp/transport.js +64 -0
  379. package/dist/lsp/transport.js.map +1 -0
  380. package/dist/lsp/types.d.ts +262 -0
  381. package/dist/lsp/types.d.ts.map +1 -0
  382. package/dist/lsp/types.js +64 -0
  383. package/dist/lsp/types.js.map +1 -0
  384. package/dist/map/conventions.d.ts +18 -2
  385. package/dist/map/conventions.d.ts.map +1 -1
  386. package/dist/map/conventions.js +17 -7
  387. package/dist/map/conventions.js.map +1 -1
  388. package/dist/map/look.d.ts +23 -0
  389. package/dist/map/look.d.ts.map +1 -1
  390. package/dist/map/look.js +26 -16
  391. package/dist/map/look.js.map +1 -1
  392. package/dist/map/overview.d.ts +54 -0
  393. package/dist/map/overview.d.ts.map +1 -0
  394. package/dist/map/overview.js +32 -0
  395. package/dist/map/overview.js.map +1 -0
  396. package/dist/map/project-overview.d.ts +5 -0
  397. package/dist/map/project-overview.d.ts.map +1 -0
  398. package/dist/map/project-overview.js +35 -0
  399. package/dist/map/project-overview.js.map +1 -0
  400. package/dist/map/prompt.d.ts.map +1 -1
  401. package/dist/map/prompt.js +17 -38
  402. package/dist/map/prompt.js.map +1 -1
  403. package/dist/map/review.d.ts +29 -9
  404. package/dist/map/review.d.ts.map +1 -1
  405. package/dist/map/review.js +105 -25
  406. package/dist/map/review.js.map +1 -1
  407. package/dist/map/rules-request.d.ts +4 -0
  408. package/dist/map/rules-request.d.ts.map +1 -0
  409. package/dist/map/rules-request.js +6 -0
  410. package/dist/map/rules-request.js.map +1 -0
  411. package/dist/mcp/config.d.ts +3 -10
  412. package/dist/mcp/config.d.ts.map +1 -1
  413. package/dist/mcp/config.js +5 -0
  414. package/dist/mcp/config.js.map +1 -1
  415. package/dist/mcp/login.d.ts +2 -0
  416. package/dist/mcp/login.d.ts.map +1 -1
  417. package/dist/mcp/login.js +5 -0
  418. package/dist/mcp/login.js.map +1 -1
  419. package/dist/mcp/transport.d.ts +16 -0
  420. package/dist/mcp/transport.d.ts.map +1 -0
  421. package/dist/mcp/transport.js +11 -0
  422. package/dist/mcp/transport.js.map +1 -0
  423. package/dist/memory/import.d.ts +10 -1
  424. package/dist/memory/import.d.ts.map +1 -1
  425. package/dist/memory/import.js +14 -6
  426. package/dist/memory/import.js.map +1 -1
  427. package/dist/preview/pages.d.ts +17 -0
  428. package/dist/preview/pages.d.ts.map +1 -0
  429. package/dist/preview/pages.js +92 -0
  430. package/dist/preview/pages.js.map +1 -0
  431. package/dist/preview/previews.d.ts +22 -0
  432. package/dist/preview/previews.d.ts.map +1 -0
  433. package/dist/preview/previews.js +28 -0
  434. package/dist/preview/previews.js.map +1 -0
  435. package/dist/preview/prompt.d.ts +3 -0
  436. package/dist/preview/prompt.d.ts.map +1 -0
  437. package/dist/preview/prompt.js +5 -0
  438. package/dist/preview/prompt.js.map +1 -0
  439. package/dist/preview/tools.d.ts +21 -0
  440. package/dist/preview/tools.d.ts.map +1 -0
  441. package/dist/preview/tools.js +34 -0
  442. package/dist/preview/tools.js.map +1 -0
  443. package/dist/preview/types.d.ts +7 -0
  444. package/dist/preview/types.d.ts.map +1 -1
  445. package/dist/preview/types.js +2 -0
  446. package/dist/preview/types.js.map +1 -1
  447. package/dist/prompt/files.d.ts +4 -1
  448. package/dist/prompt/files.d.ts.map +1 -1
  449. package/dist/prompt/files.js +23 -8
  450. package/dist/prompt/files.js.map +1 -1
  451. package/dist/prompt/skills.d.ts +2 -0
  452. package/dist/prompt/skills.d.ts.map +1 -1
  453. package/dist/settings/project.d.ts +2 -0
  454. package/dist/settings/project.d.ts.map +1 -1
  455. package/dist/settings/project.js.map +1 -1
  456. package/dist/settings/user.d.ts +2 -0
  457. package/dist/settings/user.d.ts.map +1 -1
  458. package/dist/settings/user.js.map +1 -1
  459. package/dist/skills/folders.d.ts +30 -0
  460. package/dist/skills/folders.d.ts.map +1 -0
  461. package/dist/skills/folders.js +70 -0
  462. package/dist/skills/folders.js.map +1 -0
  463. package/dist/skills/skill-file.d.ts +10 -0
  464. package/dist/skills/skill-file.d.ts.map +1 -0
  465. package/dist/skills/skill-file.js +68 -0
  466. package/dist/skills/skill-file.js.map +1 -0
  467. package/dist/skills/tools.d.ts +26 -0
  468. package/dist/skills/tools.d.ts.map +1 -0
  469. package/dist/skills/tools.js +34 -0
  470. package/dist/skills/tools.js.map +1 -0
  471. package/dist/state/agent.d.ts +8 -0
  472. package/dist/state/agent.d.ts.map +1 -1
  473. package/dist/state/preferences.d.ts +2 -0
  474. package/dist/state/preferences.d.ts.map +1 -1
  475. package/dist/state/preferences.js +3 -1
  476. package/dist/state/preferences.js.map +1 -1
  477. package/dist/state/session.d.ts +6 -0
  478. package/dist/state/session.d.ts.map +1 -1
  479. package/dist/state/session.js +1 -0
  480. package/dist/state/session.js.map +1 -1
  481. package/package.json +3 -1
  482. package/schema/api.json +3872 -146
  483. package/vendor/darwin-arm64/build.json +62 -0
  484. package/vendor/darwin-arm64/ffmpeg +0 -0
  485. package/vendor/darwin-arm64/ffprobe +0 -0
  486. package/vendor/darwin-arm64/licenses/README.md +13 -0
  487. package/vendor/darwin-arm64/licenses/ffmpeg-LGPL-2.1.txt +502 -0
  488. package/vendor/darwin-arm64/licenses/whisper.cpp-MIT.txt +21 -0
  489. package/vendor/darwin-arm64/voices.bin +0 -0
  490. package/vendor/darwin-arm64/whisper-cli +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"json-schema.d.ts","sourceRoot":"","sources":["../../src/api/json-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC;AAY3C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AA0BxC;;;;GAIG;AACH,wBAAgB,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoB5B"}
1
+ {"version":3,"file":"json-schema.d.ts","sourceRoot":"","sources":["../../src/api/json-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC;AAY3C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AA0BxC;;;;GAIG;AACH,wBAAgB,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuB5B"}
@@ -19,7 +19,7 @@ import * as session from '../conversation/session.js';
19
19
  import * as git from '../git/types.js';
20
20
  import * as memory from '../memory/types.js';
21
21
  import * as submission from '../prompt/submission.js';
22
- import { notificationsToClient, notificationsToServer, PROTOCOL_VERSION, requests } from './protocol.js';
22
+ import { notificationsToClient, notificationsToServer, PROTOCOL_VERSION, requests, requestsToClient } from './protocol.js';
23
23
  import * as schemas from './schemas.js';
24
24
  const MODULES = [
25
25
  accounts,
@@ -58,6 +58,7 @@ export function apiJsonSchema() {
58
58
  }
59
59
  const document = z.object({
60
60
  requests: z.object(Object.fromEntries(Object.entries(requests).map(([method, { params, result }]) => [method, z.object({ params, result })]))),
61
+ requestsToClient: z.object(Object.fromEntries(Object.entries(requestsToClient).map(([method, { params, result }]) => [method, z.object({ params, result })]))),
61
62
  notificationsToClient: z.object(notificationsToClient),
62
63
  notificationsToServer: z.object(notificationsToServer),
63
64
  });
@@ -1 +1 @@
1
- {"version":3,"file":"json-schema.js","sourceRoot":"","sources":["../../src/api/json-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json-schema.js","sourceRoot":"","sources":["../../src/api/json-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,WAAW,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,OAAO,MAAM,2BAA2B,CAAC;AACrD,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAC;AACtD,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAC;AACtD,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAC;AACtD,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAC;AACtD,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,UAAU,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC3H,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAExC,MAAM,OAAO,GAAG;IACd,QAAQ;IACR,KAAK;IACL,MAAM;IACN,GAAG;IACH,MAAM;IACN,WAAW;IACX,SAAS;IACT,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,GAAG;IACH,MAAM;IACN,UAAU;IACV,OAAO;CACR,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,KAAK,GAAG,CAAC,CAAC,QAAQ,EAAkB,CAAC;IAE3C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,IAAI,KAAK,YAAY,CAAC,CAAC,OAAO;gBAAE,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACrH,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;QACxB,QAAQ,EAAE,CAAC,CAAC,MAAM,CAChB,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAC3H;QACD,gBAAgB,EAAE,CAAC,CAAC,MAAM,CACxB,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CACnI;QACD,qBAAqB,EAAE,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC;QACtD,qBAAqB,EAAE,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC;KACvD,CAAC,CAAC;IAEH,OAAO;QACL,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,kCAAkC,gBAAgB,wEAAwE;QACvI,GAAG,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;KACvF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../../src/api/methods/accounts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAShD;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,OAsD5B,CAAC"}
1
+ {"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../../src/api/methods/accounts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAShD;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,OAoD5B,CAAC"}
@@ -27,7 +27,7 @@ export const accountMethods = (connection) => {
27
27
  const flow = { abort: new AbortController() };
28
28
  signing.set(key, flow);
29
29
  try {
30
- const signedIn = await app.accounts.signIn(name, {
30
+ return await app.accounts.signIn(name, {
31
31
  signal: flow.abort.signal,
32
32
  onLink: (url) => connection.peer.notify('accounts/sign-in-link', { name, agent, url }),
33
33
  onPrompt: (prompt, answer, problem) => {
@@ -35,7 +35,6 @@ export const accountMethods = (connection) => {
35
35
  connection.peer.notify('accounts/sign-in-prompt', { name, agent, prompt, problem });
36
36
  },
37
37
  }, backend);
38
- return { signedIn };
39
38
  }
40
39
  finally {
41
40
  if (signing.get(key) === flow)
@@ -1 +1 @@
1
- {"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../../src/api/methods/accounts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../../src/api/methods/accounts.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/api/methods/app.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAOhD;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,OAqGxB,CAAC"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/api/methods/app.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAOhD;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,OAkHxB,CAAC"}
@@ -1,5 +1,7 @@
1
+ import { claudeSetup, claudeSetupDone } from '../../agent/claude/setup.js';
1
2
  import { gitUserName } from '../../git/user.js';
2
- import { answersAtom, signalsAtom } from '../../state/preferences.js';
3
+ import { importClaudeMemory } from '../../memory/import.js';
4
+ import { answersAtom, claudeSetupOfferedAtom, notificationsAtom, signalsAtom } from '../../state/preferences.js';
3
5
  import { mergeHistories, usageProfile } from '../../usage/profile.js';
4
6
  import { appFields, readFields } from '../fields.js';
5
7
  import { ApiCode, PROTOCOL_VERSION } from '../protocol.js';
@@ -18,7 +20,7 @@ export const appMethods = (connection) => {
18
20
  for (const abort of signing.values())
19
21
  abort.abort();
20
22
  });
21
- connection.answer('initialize', ({ protocolVersion, notifications }) => {
23
+ connection.answer('initialize', ({ protocolVersion, notifications, preview, terminal }) => {
22
24
  if (connection.ready)
23
25
  throw new RpcError(RpcCode.invalidRequest, 'The client is already initialized.');
24
26
  if (protocolVersion !== PROTOCOL_VERSION) {
@@ -28,11 +30,13 @@ export const appMethods = (connection) => {
28
30
  }
29
31
  connection.ready = true;
30
32
  connection.notifications = notifications ?? connection.notifications;
33
+ connection.preview = preview === true;
34
+ connection.terminal = terminal !== false;
31
35
  return {
32
36
  protocolVersion: PROTOCOL_VERSION,
33
37
  server: { name: 'jinion', version: app.info.version },
34
38
  info: app.info,
35
- commands: app.commands.list().map(({ run: _, ...command }) => command),
39
+ commands: app.commands.infoFor(connection.terminal),
36
40
  app: readFields(app.store, appFields),
37
41
  ...connection.host.sessions(),
38
42
  };
@@ -45,24 +49,33 @@ export const appMethods = (connection) => {
45
49
  if (memory)
46
50
  app.notice(`Forgot ${scope}/${id}: ${memory.title}`);
47
51
  });
52
+ connection.answer('memory/import', () => importClaudeMemory(app.memory, app.info.cwd));
53
+ connection.answer('setup/claude', ({ login }) => claudeSetup(app.memory, app.info.cwd, { login }));
54
+ connection.answer('setup/claude-done', () => {
55
+ claudeSetupDone(app.info.cwd);
56
+ app.store.set(claudeSetupOfferedAtom, true);
57
+ });
48
58
  connection.answer('mcp/servers', () => {
49
59
  const { backend } = app;
50
60
  return supported(backend.mcp, backend.name, 'list MCP servers').servers();
51
61
  });
52
62
  connection.answer('mcp/save', ({ enabled }) => app.mcp.save(enabled));
63
+ connection.answer('mcp/add', ({ name, transport }) => app.mcp.add(name, transport));
64
+ connection.answer('mcp/remove', ({ name }) => app.mcp.remove(name));
65
+ connection.answer('mcp/reconnect', ({ name }) => app.mcp.reconnect(name));
53
66
  connection.answer('preferences/answers', ({ answers }) => app.store.set(answersAtom, answers));
54
67
  connection.answer('preferences/signals', ({ signals }) => app.store.set(signalsAtom, signals));
68
+ connection.answer('preferences/notifications', ({ notifications }) => app.store.set(notificationsAtom, notifications));
55
69
  connection.answer('announcements/dismiss', ({ id }) => app.dismissAnnouncement(id));
56
70
  connection.answer('mcp/sign-in', async ({ name }) => {
57
71
  signing.get(name)?.abort();
58
72
  const abort = new AbortController();
59
73
  signing.set(name, abort);
60
74
  try {
61
- const signedIn = await app.mcp.signIn(name, {
75
+ return await app.mcp.signIn(name, {
62
76
  signal: abort.signal,
63
77
  onLink: (url) => connection.peer.notify('mcp/sign-in-link', { name, url }),
64
78
  });
65
- return { signedIn };
66
79
  }
67
80
  finally {
68
81
  if (signing.get(name) === abort)
@@ -70,6 +83,7 @@ export const appMethods = (connection) => {
70
83
  }
71
84
  });
72
85
  connection.answer('mcp/sign-in-cancel', ({ name }) => signing.get(name)?.abort());
86
+ connection.answer('mcp/sign-out', ({ name }) => app.mcp.signOut(name));
73
87
  connection.answer('usage/limits', ({ drivers }) => {
74
88
  const { backend } = app;
75
89
  return supported(backend.usage?.bind(backend), backend.name, 'report its usage')({ drivers });
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/api/methods/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/api/methods/app.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import type { Methods } from '../connection.js';
2
- /** The files of the folder a session works in: listed, read as text or as bytes, and written back. */
2
+ /** The files of the folder a session works in: listed, read as text or as bytes, written back, made, moved and trashed. */
3
3
  export declare const fileMethods: Methods;
4
+ /** Why a change to the folder's files was refused, as the API's own error. */
5
+ export declare function refused(error: unknown): never;
4
6
  //# sourceMappingURL=files.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../../src/api/methods/files.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAQhD,sGAAsG;AACtG,eAAO,MAAM,WAAW,EAAE,OAiCzB,CAAC"}
1
+ {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../../src/api/methods/files.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAQhD,2HAA2H;AAC3H,eAAO,MAAM,WAAW,EAAE,OAsGzB,CAAC;AAEF,8EAA8E;AAC9E,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAO7C"}
@@ -1,13 +1,18 @@
1
1
  import { readFile, realpath, stat, writeFile } from 'node:fs/promises';
2
2
  import { isAbsolute, join, relative, resolve } from 'node:path';
3
3
  import { attachmentsDir } from '../../attachments/store.js';
4
+ import { turnEditPaths } from '../../conversation/edits.js';
5
+ import { FileProblem, FolderFiles } from '../../files/operations.js';
6
+ import { replaceInFiles, searchFiles } from '../../files/search.js';
7
+ import { TrashUnsupported } from '../../files/trash.js';
8
+ import { FileWatcher } from '../../files/watch.js';
4
9
  import { listProjectFiles } from '../../prompt/files.js';
5
10
  import { ApiCode } from '../protocol.js';
6
- import { RpcError } from '../rpc.js';
11
+ import { RpcCode, RpcError } from '../rpc.js';
7
12
  const MAX_TEXT_BYTES = 2 * 1024 * 1024;
8
13
  // Under the 64 MB a WebSocket message carries, once in base64.
9
14
  const MAX_BYTES = 40 * 1024 * 1024;
10
- /** The files of the folder a session works in: listed, read as text or as bytes, and written back. */
15
+ /** The files of the folder a session works in: listed, read as text or as bytes, written back, made, moved and trashed. */
11
16
  export const fileMethods = (connection) => {
12
17
  const folderOf = (session) => connection.find(session).folder;
13
18
  // What the user attached to the session is read as its folder's files are, and never written.
@@ -30,9 +35,77 @@ export const fileMethods = (connection) => {
30
35
  throw new RpcError(ApiCode.fileChanged, `${path} changed since it was read.`, { modified: info.mtimeMs });
31
36
  }
32
37
  await writeFile(file, bytes);
38
+ connection.app.code.recheck(folderOf(session));
33
39
  return { modified: (await stat(file)).mtimeMs };
34
40
  });
41
+ connection.answer('files/search', ({ session, ...search }) => searchFiles(folderOf(session), search).catch(invalid));
42
+ connection.answer('files/replace', async ({ session, replacement, paths, ...search }) => {
43
+ const replaced = await replaceInFiles(folderOf(session), search, replacement, paths).catch(invalid);
44
+ connection.app.code.recheck(folderOf(session));
45
+ return replaced;
46
+ });
47
+ // Each client's open files, told of as they change; let go with the client.
48
+ // A move through the API is told of with where the file went, not who changed it.
49
+ const watcher = new FileWatcher((change) => connection.peer.notify('files/changed', change.movedTo ? change : { ...change, ...changedBy(change.session, change.path) }));
50
+ const changedBy = (id, path) => {
51
+ const session = connection.app.sessions.find((open) => open.id === id);
52
+ if (!session)
53
+ return {};
54
+ if (!session.working)
55
+ return { by: 'other' };
56
+ const file = resolve(session.folder, path);
57
+ const edited = turnEditPaths(connection.app.store.get(session.atoms.entries)).some((edit) => resolve(session.folder, edit) === file);
58
+ return edited ? { by: 'agent' } : {};
59
+ };
60
+ connection.peer.onClose(() => watcher.close());
61
+ connection.answer('files/watch', ({ session, paths }) => watcher.set(session, folderOf(session), paths));
62
+ // What the folder holds changed, so the code is checked again; what moved, every client watching it follows.
63
+ const changing = async (session, change) => {
64
+ const folder = folderOf(session);
65
+ const done = await FolderFiles.of(folder)
66
+ .then(change)
67
+ .catch((error) => refused(error));
68
+ connection.app.code.recheck(folder);
69
+ return done;
70
+ };
71
+ connection.answer('files/create', ({ session, path, folder, content, replace }) => {
72
+ const bytes = content && ('text' in content ? Buffer.from(content.text, 'utf8') : Buffer.from(content.base64, 'base64'));
73
+ if (bytes && bytes.length > MAX_BYTES)
74
+ throw new RpcError(ApiCode.unsupported, `${path} is too large to write here.`);
75
+ return changing(session, (files) => files.create(path, { folder, replace, content: bytes }));
76
+ });
77
+ connection.answer('files/rename', async ({ session, path, name, replace }) => {
78
+ const done = await changing(session, (files) => files.rename(path, name, replace));
79
+ FileWatcher.moved(folderOf(session), done.moved);
80
+ return done;
81
+ });
82
+ connection.answer('files/move', async ({ session, paths, into, replace, keepBoth }) => {
83
+ const done = await changing(session, (files) => files.move(paths, into, replace, keepBoth));
84
+ FileWatcher.moved(folderOf(session), done.moved);
85
+ return done;
86
+ });
87
+ connection.answer('files/copy', ({ session, paths, into, replace, keepBoth }) => changing(session, (files) => files.copy(paths, into, replace, keepBoth)));
88
+ connection.answer('files/delete', async ({ session, paths }) => ({ trashed: await changing(session, (files) => files.delete(paths)) }));
89
+ connection.answer('files/restore', ({ session, trashed, replace }) => changing(session, (files) => files.restore(trashed, replace)));
35
90
  };
91
+ /** Why a change to the folder's files was refused, as the API's own error. */
92
+ export function refused(error) {
93
+ if (error instanceof TrashUnsupported)
94
+ throw new RpcError(ApiCode.unsupported, error.message);
95
+ if (!(error instanceof FileProblem))
96
+ throw error;
97
+ if (error.kind === 'taken')
98
+ throw new RpcError(ApiCode.fileExists, error.message, { path: error.path });
99
+ if (error.kind === 'invalid')
100
+ throw new RpcError(RpcCode.invalidParams, error.message);
101
+ throw new RpcError(ApiCode.unknownFile, error.message);
102
+ }
103
+ /** A regular expression the user typed that isn't one, as the error the client shows. */
104
+ function invalid(error) {
105
+ if (error instanceof SyntaxError)
106
+ throw new RpcError(RpcCode.invalidParams, error.message);
107
+ throw error;
108
+ }
36
109
  // Real paths on both sides, so neither `..` nor a link pointing out of the folders reaches a file beyond them. A path
37
110
  // that isn't whole is one in the first.
38
111
  async function inFolder(folders, path, limit) {
@@ -1 +1 @@
1
- {"version":3,"file":"files.js","sourceRoot":"","sources":["../../../src/api/methods/files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"files.js","sourceRoot":"","sources":["../../../src/api/methods/files.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../../src/api/methods/git.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAIhD,sDAAsD;AACtD,eAAO,MAAM,UAAU,EAAE,OA6CxB,CAAC"}
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../../src/api/methods/git.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAKhD,sDAAsD;AACtD,eAAO,MAAM,UAAU,EAAE,OAsGxB,CAAC"}
@@ -1,9 +1,14 @@
1
+ import { realpath } from 'node:fs/promises';
2
+ import { basename, dirname, isAbsolute, join, normalize, relative } from 'node:path';
3
+ import { FolderFiles } from '../../files/operations.js';
4
+ import { blame, showCommit } from '../../git/blame.js';
1
5
  import { readChanges } from '../../git/changes.js';
2
- import { fileDiff, findRepos } from '../../git/repos.js';
3
- import { commit, stage, unstage } from '../../git/staging.js';
6
+ import { fileBefore, fileDiff, findRepos } from '../../git/repos.js';
7
+ import { commit, discard, pull, push, stage, unstage } from '../../git/staging.js';
4
8
  import { readGitStatus } from '../../git/status.js';
5
9
  import { ApiCode } from '../protocol.js';
6
10
  import { RpcError } from '../rpc.js';
11
+ import { refused } from './files.js';
7
12
  /** The git state of the folder a session works in. */
8
13
  export const gitMethods = (connection) => {
9
14
  // A diff is only of a file these named, so a client can't have any path on the machine read.
@@ -29,19 +34,62 @@ export const gitMethods = (connection) => {
29
34
  connection.answer('git/changes', ({ session, uncommitted }) => changes(session, uncommitted));
30
35
  connection.answer('git/stage', ({ session, files }) => inRepos(session, files, stage).then(() => null));
31
36
  connection.answer('git/unstage', ({ session, files }) => inRepos(session, files, unstage).then(() => null));
32
- connection.answer('git/commit', async ({ session, repo: root, message }) => {
37
+ // What is on disk goes to the Trash first, so a client can put it back; then git takes the file back to HEAD.
38
+ connection.answer('git/discard', async ({ session, files }) => {
39
+ const folder = connection.find(session).folder;
40
+ const repos = await changes(session, true);
41
+ const unknown = files.find((file) => !repos.some((repo) => repo.changes.some((each) => each.absolute === file)));
42
+ if (unknown)
43
+ throw new RpcError(ApiCode.unknownFile, `${unknown} has no changes in this session's folder.`);
44
+ const discarded = repos.map((repo) => ({ repo, changes: repo.changes.filter((each) => files.includes(each.absolute)) }));
45
+ const real = await realpath(folder);
46
+ const onDisk = await Promise.all(discarded.flatMap(({ changes }) => changes
47
+ .filter((change) => change.kind !== 'deleted')
48
+ .map(async (change) => relative(real, join(await realpath(dirname(change.absolute)), basename(change.absolute))))));
49
+ const trashed = await (await FolderFiles.of(folder)).delete(onDisk).catch(refused);
50
+ for (const { repo, changes } of discarded)
51
+ if (changes.length > 0)
52
+ await discard(repo.repo, changes);
53
+ lastChanges.delete(session);
54
+ connection.app.code.recheck(folder);
55
+ return { trashed };
56
+ });
57
+ const repoOf = (session, root) => {
33
58
  const repo = findRepos(connection.find(session).folder).find((each) => each.root === root);
34
59
  if (!repo)
35
60
  throw new RpcError(ApiCode.unknownFile, `${root} isn't a repository in this session's folder.`);
36
- return { commit: await commit(repo, message) };
37
- });
38
- connection.answer('git/diff', async ({ session, file }) => {
61
+ return repo;
62
+ };
63
+ connection.answer('git/commit', async ({ session, repo, message }) => ({ commit: await commit(repoOf(session, repo), message) }));
64
+ connection.answer('git/pull', ({ session, repo }) => pull(repoOf(session, repo)).then(() => null));
65
+ connection.answer('git/push', ({ session, repo }) => push(repoOf(session, repo)).then(() => null));
66
+ // Only a file the last `git/changes` named, so a client can't have any path on the machine read.
67
+ const changed = async (session, file) => {
39
68
  const repos = lastChanges.get(session) ?? (await changes(session));
40
69
  const repo = repos.find(({ changes }) => changes.some((change) => change.absolute === file));
41
70
  const change = repo?.changes.find((candidate) => candidate.absolute === file);
42
71
  if (!repo || !change)
43
72
  throw new RpcError(ApiCode.unknownFile, `${file} has no changes in this session's folder.`);
73
+ return { repo, change };
74
+ };
75
+ connection.answer('git/diff', async ({ session, file }) => {
76
+ const { repo, change } = await changed(session, file);
44
77
  return fileDiff(repo.repo, change, repo.since?.base);
45
78
  });
79
+ connection.answer('git/before', async ({ session, file }) => {
80
+ const { repo, change } = await changed(session, file);
81
+ return fileBefore(repo.repo, change, repo.since?.base);
82
+ });
83
+ connection.answer('git/blame', ({ session, path, text }) => {
84
+ if (isAbsolute(path) || normalize(path).startsWith('..'))
85
+ throw new RpcError(ApiCode.unknownFile, `${path} isn't a file in this session's folder.`);
86
+ return blame(connection.find(session).folder, normalize(path), text);
87
+ });
88
+ connection.answer('git/show', async ({ session, repo, commit }) => {
89
+ const detail = await showCommit(connection.find(session).folder, repo, commit);
90
+ if (!detail)
91
+ throw new RpcError(ApiCode.unknownFile, `${commit} isn't a commit of a repository in this session's folder.`);
92
+ return detail;
93
+ });
46
94
  };
47
95
  //# sourceMappingURL=git.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/api/methods/git.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/api/methods/git.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { Methods } from '../connection.js';
2
+ /**
3
+ * What the language servers know of the files a client has open. Each client's documents are its own: closed with its
4
+ * tabs, or all at once when it goes, and the errors found go to the clients with a file of that folder open.
5
+ */
6
+ export declare const lspMethods: Methods;
7
+ //# sourceMappingURL=lsp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lsp.d.ts","sourceRoot":"","sources":["../../../src/api/methods/lsp.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAIhD;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,OAoExB,CAAC"}
@@ -0,0 +1,68 @@
1
+ import { isAbsolute, normalize } from 'node:path';
2
+ import { ApiCode } from '../protocol.js';
3
+ import { RpcError } from '../rpc.js';
4
+ /**
5
+ * What the language servers know of the files a client has open. Each client's documents are its own: closed with its
6
+ * tabs, or all at once when it goes, and the errors found go to the clients with a file of that folder open.
7
+ */
8
+ export const lspMethods = (connection) => {
9
+ const { code } = connection.app;
10
+ // Each document the client opened, as session and path, and the folder it is in, kept for when the session is gone.
11
+ const documents = new Map();
12
+ const folderOf = (session) => connection.find(session).folder;
13
+ const inFolder = (path) => {
14
+ const clean = normalize(path);
15
+ if (isAbsolute(clean) || clean.startsWith('..'))
16
+ throw new RpcError(ApiCode.unknownFile, `${path} isn't a file in this session's folder.`);
17
+ return clean;
18
+ };
19
+ const sessionsIn = (folder) => new Set([...documents.values()].filter((open) => open.folder === folder).map((open) => open.session));
20
+ const stopDiagnostics = code.onDiagnostics(({ folder, path, diagnostics }) => {
21
+ for (const session of sessionsIn(folder))
22
+ connection.peer.notify('lsp/diagnostics', { session, path, diagnostics });
23
+ });
24
+ const stopServers = code.onServer(({ folder, ...state }) => {
25
+ for (const session of sessionsIn(folder))
26
+ connection.peer.notify('lsp/server', { session, ...state });
27
+ });
28
+ connection.peer.onClose(() => {
29
+ stopDiagnostics();
30
+ stopServers();
31
+ for (const { folder, path } of documents.values())
32
+ void code.close(folder, path);
33
+ documents.clear();
34
+ });
35
+ connection.answer('lsp/open', async ({ session, path, text }) => {
36
+ const file = inFolder(path);
37
+ const folder = folderOf(session);
38
+ const key = `${session}\n${file}`;
39
+ if (!code.knows(file))
40
+ return;
41
+ // A client that opens a file again, as with a second tab, holds it once.
42
+ if (documents.has(key))
43
+ return code.change(folder, file, text);
44
+ documents.set(key, { session, path: file, folder });
45
+ await code.open(folder, file, text);
46
+ });
47
+ connection.answer('lsp/change', ({ session, path, text }) => code.change(folderOf(session), inFolder(path), text));
48
+ connection.answer('lsp/close', async ({ session, path }) => {
49
+ const key = `${session}\n${inFolder(path)}`;
50
+ const open = documents.get(key);
51
+ if (!open)
52
+ return;
53
+ documents.delete(key);
54
+ await code.close(open.folder, open.path);
55
+ });
56
+ connection.answer('lsp/hover', ({ session, path, position }) => code.hover(folderOf(session), inFolder(path), position));
57
+ connection.answer('lsp/definition', ({ session, path, position }) => code.definition(folderOf(session), inFolder(path), position));
58
+ connection.answer('lsp/references', ({ session, path, position }) => code.references(folderOf(session), inFolder(path), position));
59
+ connection.answer('lsp/completion', ({ session, path, position, trigger }) => code.completion(folderOf(session), inFolder(path), position, trigger));
60
+ connection.answer('lsp/completion-detail', ({ session, path, item }) => code.completionDetail(folderOf(session), inFolder(path), item));
61
+ connection.answer('lsp/signature-help', ({ session, path, position }) => code.signatureHelp(folderOf(session), inFolder(path), position));
62
+ connection.answer('lsp/rename', ({ session, path, position, name }) => code.rename(folderOf(session), inFolder(path), position, name));
63
+ connection.answer('lsp/format', ({ session, path, tabSize, insertSpaces }) => code.format(folderOf(session), inFolder(path), { tabSize, insertSpaces }));
64
+ connection.answer('lsp/problems', ({ session }) => code.problems(folderOf(session)));
65
+ connection.answer('lsp/server', ({ session, path }) => code.serverFor(folderOf(session), inFolder(path)) ?? null);
66
+ connection.answer('lsp/restart', ({ session, path }) => code.restart(folderOf(session), inFolder(path)));
67
+ };
68
+ //# sourceMappingURL=lsp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lsp.js","sourceRoot":"","sources":["../../../src/api/methods/lsp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Methods } from '../connection.js';
2
+ /** What the project map read, for the user to see; the map of a session's worktree when it works in one. */
3
+ export declare const mapMethods: Methods;
4
+ //# sourceMappingURL=map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../../src/api/methods/map.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD,4GAA4G;AAC5G,eAAO,MAAM,UAAU,EAAE,OAWxB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { projectOverview } from '../../map/project-overview.js';
2
+ /** What the project map read, for the user to see; the map of a session's worktree when it works in one. */
3
+ export const mapMethods = (connection) => {
4
+ const { app } = connection;
5
+ connection.answer('map/overview', ({ session }) => {
6
+ const map = app.map?.in(session ? connection.find(session).folder : app.info.cwd);
7
+ if (!map)
8
+ return { reading: false };
9
+ const overview = projectOverview(map);
10
+ return overview ? { reading: false, overview } : { reading: true };
11
+ });
12
+ };
13
+ //# sourceMappingURL=map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map.js","sourceRoot":"","sources":["../../../src/api/methods/map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGhE,4GAA4G;AAC5G,MAAM,CAAC,MAAM,UAAU,GAAY,CAAC,UAAU,EAAE,EAAE;IAChD,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC;IAE3B,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;QAChD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClF,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAEpC,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;QAEtC,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACrE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -1,4 +1,7 @@
1
1
  import type { Methods } from '../connection.js';
2
- /** What a preview of the project's page opens: the servers running in its terminals, and the scripts that start one. */
2
+ /**
3
+ * What a preview of the project's page opens: the servers running in its terminals, the scripts that start one, and its
4
+ * own HTML files, served as they are.
5
+ */
3
6
  export declare const previewMethods: Methods;
4
7
  //# sourceMappingURL=preview.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../../src/api/methods/preview.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD,wHAAwH;AACxH,eAAO,MAAM,cAAc,EAAE,OAG5B,CAAC"}
1
+ {"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../../src/api/methods/preview.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAMhD;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,OAiB5B,CAAC"}