@nervekit/shared 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 (331) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +5 -0
  3. package/dist/agent-worker.d.ts +66 -0
  4. package/dist/agent-worker.d.ts.map +1 -0
  5. package/dist/agent-worker.js +45 -0
  6. package/dist/agent-worker.js.map +1 -0
  7. package/dist/agents.d.ts +211 -0
  8. package/dist/agents.d.ts.map +1 -0
  9. package/dist/agents.js +105 -0
  10. package/dist/agents.js.map +1 -0
  11. package/dist/api-errors.d.ts +10 -0
  12. package/dist/api-errors.d.ts.map +1 -0
  13. package/dist/api-errors.js +9 -0
  14. package/dist/api-errors.js.map +1 -0
  15. package/dist/auth.d.ts +110 -0
  16. package/dist/auth.d.ts.map +1 -0
  17. package/dist/auth.js +82 -0
  18. package/dist/auth.js.map +1 -0
  19. package/dist/conversation-title.d.ts +2 -0
  20. package/dist/conversation-title.d.ts.map +1 -0
  21. package/dist/conversation-title.js +244 -0
  22. package/dist/conversation-title.js.map +1 -0
  23. package/dist/conversation.d.ts +269 -0
  24. package/dist/conversation.d.ts.map +1 -0
  25. package/dist/conversation.js +26 -0
  26. package/dist/conversation.js.map +1 -0
  27. package/dist/conversations.d.ts +219 -0
  28. package/dist/conversations.d.ts.map +1 -0
  29. package/dist/conversations.js +88 -0
  30. package/dist/conversations.js.map +1 -0
  31. package/dist/core/api-errors.d.ts +10 -0
  32. package/dist/core/api-errors.d.ts.map +1 -0
  33. package/dist/core/api-errors.js +9 -0
  34. package/dist/core/api-errors.js.map +1 -0
  35. package/dist/core/cookies.d.ts +2 -0
  36. package/dist/core/cookies.d.ts.map +1 -0
  37. package/dist/core/cookies.js +13 -0
  38. package/dist/core/cookies.js.map +1 -0
  39. package/dist/core/html.d.ts +6 -0
  40. package/dist/core/html.d.ts.map +1 -0
  41. package/dist/core/html.js +13 -0
  42. package/dist/core/html.js.map +1 -0
  43. package/dist/core/ids.d.ts +3 -0
  44. package/dist/core/ids.d.ts.map +1 -0
  45. package/dist/core/ids.js +22 -0
  46. package/dist/core/ids.js.map +1 -0
  47. package/dist/core/index.d.ts +5 -0
  48. package/dist/core/index.d.ts.map +1 -0
  49. package/dist/core/index.js +5 -0
  50. package/dist/core/index.js.map +1 -0
  51. package/dist/core.d.ts +4 -0
  52. package/dist/core.d.ts.map +1 -0
  53. package/dist/core.js +34 -0
  54. package/dist/core.js.map +1 -0
  55. package/dist/domains/agents/agent.schema.d.ts +213 -0
  56. package/dist/domains/agents/agent.schema.d.ts.map +1 -0
  57. package/dist/domains/agents/agent.schema.js +107 -0
  58. package/dist/domains/agents/agent.schema.js.map +1 -0
  59. package/dist/domains/agents/index.d.ts +2 -0
  60. package/dist/domains/agents/index.d.ts.map +1 -0
  61. package/dist/domains/agents/index.js +2 -0
  62. package/dist/domains/agents/index.js.map +1 -0
  63. package/dist/domains/auth/auth.schema.d.ts +110 -0
  64. package/dist/domains/auth/auth.schema.d.ts.map +1 -0
  65. package/dist/domains/auth/auth.schema.js +82 -0
  66. package/dist/domains/auth/auth.schema.js.map +1 -0
  67. package/dist/domains/auth/index.d.ts +2 -0
  68. package/dist/domains/auth/index.d.ts.map +1 -0
  69. package/dist/domains/auth/index.js +2 -0
  70. package/dist/domains/auth/index.js.map +1 -0
  71. package/dist/domains/completions/completion.schema.d.ts +48 -0
  72. package/dist/domains/completions/completion.schema.d.ts.map +1 -0
  73. package/dist/domains/completions/completion.schema.js +25 -0
  74. package/dist/domains/completions/completion.schema.js.map +1 -0
  75. package/dist/domains/completions/completions.schema.d.ts +21 -0
  76. package/dist/domains/completions/completions.schema.d.ts.map +1 -0
  77. package/dist/domains/completions/completions.schema.js +22 -0
  78. package/dist/domains/completions/completions.schema.js.map +1 -0
  79. package/dist/domains/completions/index.d.ts +2 -0
  80. package/dist/domains/completions/index.d.ts.map +1 -0
  81. package/dist/domains/completions/index.js +2 -0
  82. package/dist/domains/completions/index.js.map +1 -0
  83. package/dist/domains/conversations/conversation.schema.d.ts +354 -0
  84. package/dist/domains/conversations/conversation.schema.d.ts.map +1 -0
  85. package/dist/domains/conversations/conversation.schema.js +30 -0
  86. package/dist/domains/conversations/conversation.schema.js.map +1 -0
  87. package/dist/domains/conversations/index.d.ts +4 -0
  88. package/dist/domains/conversations/index.d.ts.map +1 -0
  89. package/dist/domains/conversations/index.js +4 -0
  90. package/dist/domains/conversations/index.js.map +1 -0
  91. package/dist/domains/conversations/title.d.ts +3 -0
  92. package/dist/domains/conversations/title.d.ts.map +1 -0
  93. package/dist/domains/conversations/title.js +250 -0
  94. package/dist/domains/conversations/title.js.map +1 -0
  95. package/dist/domains/conversations/tree.schema.d.ts +228 -0
  96. package/dist/domains/conversations/tree.schema.d.ts.map +1 -0
  97. package/dist/domains/conversations/tree.schema.js +89 -0
  98. package/dist/domains/conversations/tree.schema.js.map +1 -0
  99. package/dist/domains/events/envelope.schema.d.ts +17 -0
  100. package/dist/domains/events/envelope.schema.d.ts.map +1 -0
  101. package/dist/domains/events/envelope.schema.js +10 -0
  102. package/dist/domains/events/envelope.schema.js.map +1 -0
  103. package/dist/domains/events/index.d.ts +2 -0
  104. package/dist/domains/events/index.d.ts.map +1 -0
  105. package/dist/domains/events/index.js +2 -0
  106. package/dist/domains/events/index.js.map +1 -0
  107. package/dist/domains/filesystem/filesystem.schema.d.ts +95 -0
  108. package/dist/domains/filesystem/filesystem.schema.d.ts.map +1 -0
  109. package/dist/domains/filesystem/filesystem.schema.js +56 -0
  110. package/dist/domains/filesystem/filesystem.schema.js.map +1 -0
  111. package/dist/domains/filesystem/index.d.ts +2 -0
  112. package/dist/domains/filesystem/index.d.ts.map +1 -0
  113. package/dist/domains/filesystem/index.js +2 -0
  114. package/dist/domains/filesystem/index.js.map +1 -0
  115. package/dist/domains/git/git.schema.d.ts +391 -0
  116. package/dist/domains/git/git.schema.d.ts.map +1 -0
  117. package/dist/domains/git/git.schema.js +172 -0
  118. package/dist/domains/git/git.schema.js.map +1 -0
  119. package/dist/domains/git/index.d.ts +2 -0
  120. package/dist/domains/git/index.d.ts.map +1 -0
  121. package/dist/domains/git/index.js +2 -0
  122. package/dist/domains/git/index.js.map +1 -0
  123. package/dist/domains/logs/index.d.ts +2 -0
  124. package/dist/domains/logs/index.d.ts.map +1 -0
  125. package/dist/domains/logs/index.js +2 -0
  126. package/dist/domains/logs/index.js.map +1 -0
  127. package/dist/domains/logs/logs.schema.d.ts +186 -0
  128. package/dist/domains/logs/logs.schema.d.ts.map +1 -0
  129. package/dist/domains/logs/logs.schema.js +84 -0
  130. package/dist/domains/logs/logs.schema.js.map +1 -0
  131. package/dist/domains/models/index.d.ts +2 -0
  132. package/dist/domains/models/index.d.ts.map +1 -0
  133. package/dist/domains/models/index.js +2 -0
  134. package/dist/domains/models/index.js.map +1 -0
  135. package/dist/domains/models/models.schema.d.ts +49 -0
  136. package/dist/domains/models/models.schema.d.ts.map +1 -0
  137. package/dist/domains/models/models.schema.js +38 -0
  138. package/dist/domains/models/models.schema.js.map +1 -0
  139. package/dist/domains/pinned-commands/index.d.ts +2 -0
  140. package/dist/domains/pinned-commands/index.d.ts.map +1 -0
  141. package/dist/domains/pinned-commands/index.js +2 -0
  142. package/dist/domains/pinned-commands/index.js.map +1 -0
  143. package/dist/domains/pinned-commands/pinned-command.schema.d.ts +30 -0
  144. package/dist/domains/pinned-commands/pinned-command.schema.d.ts.map +1 -0
  145. package/dist/domains/pinned-commands/pinned-command.schema.js +19 -0
  146. package/dist/domains/pinned-commands/pinned-command.schema.js.map +1 -0
  147. package/dist/domains/plans/index.d.ts +2 -0
  148. package/dist/domains/plans/index.d.ts.map +1 -0
  149. package/dist/domains/plans/index.js +2 -0
  150. package/dist/domains/plans/index.js.map +1 -0
  151. package/dist/domains/plans/plan-review.schema.d.ts +59 -0
  152. package/dist/domains/plans/plan-review.schema.d.ts.map +1 -0
  153. package/dist/domains/plans/plan-review.schema.js +38 -0
  154. package/dist/domains/plans/plan-review.schema.js.map +1 -0
  155. package/dist/domains/processes/index.d.ts +2 -0
  156. package/dist/domains/processes/index.d.ts.map +1 -0
  157. package/dist/domains/processes/index.js +2 -0
  158. package/dist/domains/processes/index.js.map +1 -0
  159. package/dist/domains/processes/process.schema.d.ts +241 -0
  160. package/dist/domains/processes/process.schema.d.ts.map +1 -0
  161. package/dist/domains/processes/process.schema.js +106 -0
  162. package/dist/domains/processes/process.schema.js.map +1 -0
  163. package/dist/domains/projects/index.d.ts +2 -0
  164. package/dist/domains/projects/index.d.ts.map +1 -0
  165. package/dist/domains/projects/index.js +2 -0
  166. package/dist/domains/projects/index.js.map +1 -0
  167. package/dist/domains/projects/project.schema.d.ts +71 -0
  168. package/dist/domains/projects/project.schema.d.ts.map +1 -0
  169. package/dist/domains/projects/project.schema.js +47 -0
  170. package/dist/domains/projects/project.schema.js.map +1 -0
  171. package/dist/domains/providers/index.d.ts +2 -0
  172. package/dist/domains/providers/index.d.ts.map +1 -0
  173. package/dist/domains/providers/index.js +2 -0
  174. package/dist/domains/providers/index.js.map +1 -0
  175. package/dist/domains/providers/providers.schema.d.ts +227 -0
  176. package/dist/domains/providers/providers.schema.d.ts.map +1 -0
  177. package/dist/domains/providers/providers.schema.js +81 -0
  178. package/dist/domains/providers/providers.schema.js.map +1 -0
  179. package/dist/domains/settings/index.d.ts +2 -0
  180. package/dist/domains/settings/index.d.ts.map +1 -0
  181. package/dist/domains/settings/index.js +2 -0
  182. package/dist/domains/settings/index.js.map +1 -0
  183. package/dist/domains/settings/settings.schema.d.ts +244 -0
  184. package/dist/domains/settings/settings.schema.d.ts.map +1 -0
  185. package/dist/domains/settings/settings.schema.js +167 -0
  186. package/dist/domains/settings/settings.schema.js.map +1 -0
  187. package/dist/domains/status/index.d.ts +2 -0
  188. package/dist/domains/status/index.d.ts.map +1 -0
  189. package/dist/domains/status/index.js +2 -0
  190. package/dist/domains/status/index.js.map +1 -0
  191. package/dist/domains/status/status.schema.d.ts +143 -0
  192. package/dist/domains/status/status.schema.d.ts.map +1 -0
  193. package/dist/domains/status/status.schema.js +73 -0
  194. package/dist/domains/status/status.schema.js.map +1 -0
  195. package/dist/domains/storage/index.d.ts +2 -0
  196. package/dist/domains/storage/index.d.ts.map +1 -0
  197. package/dist/domains/storage/index.js +2 -0
  198. package/dist/domains/storage/index.js.map +1 -0
  199. package/dist/domains/storage/storage.schema.d.ts +165 -0
  200. package/dist/domains/storage/storage.schema.d.ts.map +1 -0
  201. package/dist/domains/storage/storage.schema.js +78 -0
  202. package/dist/domains/storage/storage.schema.js.map +1 -0
  203. package/dist/domains/suspensions/index.d.ts +2 -0
  204. package/dist/domains/suspensions/index.d.ts.map +1 -0
  205. package/dist/domains/suspensions/index.js +2 -0
  206. package/dist/domains/suspensions/index.js.map +1 -0
  207. package/dist/domains/suspensions/suspension.schema.d.ts +55 -0
  208. package/dist/domains/suspensions/suspension.schema.d.ts.map +1 -0
  209. package/dist/domains/suspensions/suspension.schema.js +38 -0
  210. package/dist/domains/suspensions/suspension.schema.js.map +1 -0
  211. package/dist/domains/tasks/index.d.ts +2 -0
  212. package/dist/domains/tasks/index.d.ts.map +1 -0
  213. package/dist/domains/tasks/index.js +2 -0
  214. package/dist/domains/tasks/index.js.map +1 -0
  215. package/dist/domains/tasks/task.schema.d.ts +373 -0
  216. package/dist/domains/tasks/task.schema.d.ts.map +1 -0
  217. package/dist/domains/tasks/task.schema.js +158 -0
  218. package/dist/domains/tasks/task.schema.js.map +1 -0
  219. package/dist/domains/tools/index.d.ts +3 -0
  220. package/dist/domains/tools/index.d.ts.map +1 -0
  221. package/dist/domains/tools/index.js +3 -0
  222. package/dist/domains/tools/index.js.map +1 -0
  223. package/dist/domains/tools/records.schema.d.ts +301 -0
  224. package/dist/domains/tools/records.schema.d.ts.map +1 -0
  225. package/dist/domains/tools/records.schema.js +137 -0
  226. package/dist/domains/tools/records.schema.js.map +1 -0
  227. package/dist/domains/tools/tool-results.schema.d.ts +1062 -0
  228. package/dist/domains/tools/tool-results.schema.d.ts.map +1 -0
  229. package/dist/domains/tools/tool-results.schema.js +274 -0
  230. package/dist/domains/tools/tool-results.schema.js.map +1 -0
  231. package/dist/domains/transcription/index.d.ts +2 -0
  232. package/dist/domains/transcription/index.d.ts.map +1 -0
  233. package/dist/domains/transcription/index.js +2 -0
  234. package/dist/domains/transcription/index.js.map +1 -0
  235. package/dist/domains/transcription/transcription.schema.d.ts +8 -0
  236. package/dist/domains/transcription/transcription.schema.d.ts.map +1 -0
  237. package/dist/domains/transcription/transcription.schema.js +7 -0
  238. package/dist/domains/transcription/transcription.schema.js.map +1 -0
  239. package/dist/domains/usage/index.d.ts +2 -0
  240. package/dist/domains/usage/index.d.ts.map +1 -0
  241. package/dist/domains/usage/index.js +2 -0
  242. package/dist/domains/usage/index.js.map +1 -0
  243. package/dist/domains/usage/usage.schema.d.ts +70 -0
  244. package/dist/domains/usage/usage.schema.d.ts.map +1 -0
  245. package/dist/domains/usage/usage.schema.js +35 -0
  246. package/dist/domains/usage/usage.schema.js.map +1 -0
  247. package/dist/domains/workers/agent-worker.schema.d.ts +66 -0
  248. package/dist/domains/workers/agent-worker.schema.d.ts.map +1 -0
  249. package/dist/domains/workers/agent-worker.schema.js +45 -0
  250. package/dist/domains/workers/agent-worker.schema.js.map +1 -0
  251. package/dist/domains/workers/index.d.ts +3 -0
  252. package/dist/domains/workers/index.d.ts.map +1 -0
  253. package/dist/domains/workers/index.js +3 -0
  254. package/dist/domains/workers/index.js.map +1 -0
  255. package/dist/domains/workers/worker.schema.d.ts +36 -0
  256. package/dist/domains/workers/worker.schema.d.ts.map +1 -0
  257. package/dist/domains/workers/worker.schema.js +24 -0
  258. package/dist/domains/workers/worker.schema.js.map +1 -0
  259. package/dist/events.d.ts +17 -0
  260. package/dist/events.d.ts.map +1 -0
  261. package/dist/events.js +10 -0
  262. package/dist/events.js.map +1 -0
  263. package/dist/filesystem.d.ts +95 -0
  264. package/dist/filesystem.d.ts.map +1 -0
  265. package/dist/filesystem.js +56 -0
  266. package/dist/filesystem.js.map +1 -0
  267. package/dist/git.d.ts +386 -0
  268. package/dist/git.d.ts.map +1 -0
  269. package/dist/git.js +167 -0
  270. package/dist/git.js.map +1 -0
  271. package/dist/index.d.ts +24 -0
  272. package/dist/index.d.ts.map +1 -0
  273. package/dist/index.js +24 -0
  274. package/dist/index.js.map +1 -0
  275. package/dist/logs.d.ts +186 -0
  276. package/dist/logs.d.ts.map +1 -0
  277. package/dist/logs.js +84 -0
  278. package/dist/logs.js.map +1 -0
  279. package/dist/models.d.ts +49 -0
  280. package/dist/models.d.ts.map +1 -0
  281. package/dist/models.js +38 -0
  282. package/dist/models.js.map +1 -0
  283. package/dist/pinned-commands.d.ts +30 -0
  284. package/dist/pinned-commands.d.ts.map +1 -0
  285. package/dist/pinned-commands.js +19 -0
  286. package/dist/pinned-commands.js.map +1 -0
  287. package/dist/plans.d.ts +40 -0
  288. package/dist/plans.d.ts.map +1 -0
  289. package/dist/plans.js +34 -0
  290. package/dist/plans.js.map +1 -0
  291. package/dist/processes.d.ts +195 -0
  292. package/dist/processes.d.ts.map +1 -0
  293. package/dist/processes.js +86 -0
  294. package/dist/processes.js.map +1 -0
  295. package/dist/projects.d.ts +50 -0
  296. package/dist/projects.d.ts.map +1 -0
  297. package/dist/projects.js +38 -0
  298. package/dist/projects.js.map +1 -0
  299. package/dist/settings.d.ts +136 -0
  300. package/dist/settings.d.ts.map +1 -0
  301. package/dist/settings.js +124 -0
  302. package/dist/settings.js.map +1 -0
  303. package/dist/status.d.ts +39 -0
  304. package/dist/status.d.ts.map +1 -0
  305. package/dist/status.js +38 -0
  306. package/dist/status.js.map +1 -0
  307. package/dist/suspensions.d.ts +55 -0
  308. package/dist/suspensions.d.ts.map +1 -0
  309. package/dist/suspensions.js +38 -0
  310. package/dist/suspensions.js.map +1 -0
  311. package/dist/tool-results.d.ts +369 -0
  312. package/dist/tool-results.d.ts.map +1 -0
  313. package/dist/tool-results.js +117 -0
  314. package/dist/tool-results.js.map +1 -0
  315. package/dist/tools.d.ts +277 -0
  316. package/dist/tools.d.ts.map +1 -0
  317. package/dist/tools.js +127 -0
  318. package/dist/tools.js.map +1 -0
  319. package/dist/transcription.d.ts +8 -0
  320. package/dist/transcription.d.ts.map +1 -0
  321. package/dist/transcription.js +7 -0
  322. package/dist/transcription.js.map +1 -0
  323. package/dist/usage.d.ts +70 -0
  324. package/dist/usage.d.ts.map +1 -0
  325. package/dist/usage.js +35 -0
  326. package/dist/usage.js.map +1 -0
  327. package/dist/workers.d.ts +36 -0
  328. package/dist/workers.d.ts.map +1 -0
  329. package/dist/workers.js +22 -0
  330. package/dist/workers.js.map +1 -0
  331. package/package.json +42 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation.schema.js","sourceRoot":"","sources":["../../../src/domains/conversations/conversation.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AACzD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAC3D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AA2ZpE,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,0BAA0B;IAC1B,4BAA4B;IAC5B,yBAAyB;IACzB,4BAA4B;IAC5B,2BAA2B;IAC3B,4BAA4B;IAC5B,8BAA8B;IAC9B,+BAA+B;IAC/B,6BAA6B;IAC7B,iCAAiC;IACjC,gCAAgC;IAChC,8BAA8B;IAC9B,gCAAgC;IAChC,mCAAmC;IACnC,iCAAiC;IACjC,gCAAgC;IAChC,sCAAsC;IACtC,oCAAoC;IACpC,mCAAmC;IACnC,uCAAuC;IACvC,wCAAwC;IACxC,qCAAqC;CAC7B,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./conversation.schema.js";
2
+ export * from "./title.js";
3
+ export * from "./tree.schema.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/domains/conversations/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./conversation.schema.js";
2
+ export * from "./title.js";
3
+ export * from "./tree.schema.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domains/conversations/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function deriveConversationTitle(text: string): string;
2
+ export declare function expandTruncatedConversationTitle(existingTitle: string, firstUserText: string): string | undefined;
3
+ //# sourceMappingURL=title.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"title.d.ts","sourceRoot":"","sources":["../../../src/domains/conversations/title.ts"],"names":[],"mappings":"AAsRA,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAgB5D;AAED,wBAAgB,gCAAgC,CAC9C,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,GACpB,MAAM,GAAG,SAAS,CAcpB"}
@@ -0,0 +1,250 @@
1
+ const DEFAULT_CONVERSATION_TITLE = "New Conversation";
2
+ const IMAGE_REVIEW_TITLE = "Image Review";
3
+ const FILE_REVIEW_TITLE = "File Review";
4
+ const LINK_REVIEW_TITLE = "Link Review";
5
+ const MIN_READABLE_CHARS = 3;
6
+ const COMMON_FILE_EXTENSIONS = [
7
+ "astro",
8
+ "bash",
9
+ "c",
10
+ "cc",
11
+ "conf",
12
+ "cpp",
13
+ "cs",
14
+ "css",
15
+ "csv",
16
+ "go",
17
+ "h",
18
+ "hpp",
19
+ "html",
20
+ "java",
21
+ "jpeg",
22
+ "jpg",
23
+ "js",
24
+ "json",
25
+ "jsx",
26
+ "kt",
27
+ "lock",
28
+ "log",
29
+ "lua",
30
+ "md",
31
+ "mdx",
32
+ "php",
33
+ "png",
34
+ "py",
35
+ "rb",
36
+ "rs",
37
+ "scss",
38
+ "sh",
39
+ "sql",
40
+ "svg",
41
+ "svelte",
42
+ "swift",
43
+ "toml",
44
+ "ts",
45
+ "tsx",
46
+ "txt",
47
+ "vue",
48
+ "webp",
49
+ "xml",
50
+ "yaml",
51
+ "yml",
52
+ ].join("|");
53
+ const IMAGE_FILE_EXTENSIONS = [
54
+ "avif",
55
+ "bmp",
56
+ "gif",
57
+ "jpeg",
58
+ "jpg",
59
+ "png",
60
+ "svg",
61
+ "tiff",
62
+ "webp",
63
+ ].join("|");
64
+ function fileReferencePattern(extensions = COMMON_FILE_EXTENSIONS) {
65
+ return new RegExp(String.raw `(?:\b[A-Za-z]:[\\/][^\s),;]+|(?:^|\s)(?:~|\.{1,2}|/)?(?:[\w.-]+[\\/])+[\w.-]+(?::\d+(?::\d+)?)?|\b[\w.-]+\.(?:${extensions})(?::\d+(?::\d+)?)?)`, "i");
66
+ }
67
+ function stripCodeBlocks(text) {
68
+ return text.replace(/```[\s\S]*?```/g, " ").replace(/~~~[\s\S]*?~~~/g, " ");
69
+ }
70
+ function stripUrls(text) {
71
+ return text.replace(/https?:\/\/\S+|www\.\S+/gi, " ");
72
+ }
73
+ function stripFileReferences(text) {
74
+ return text
75
+ .replace(/\b[A-Za-z]:[\\/][^\s),;]+/g, " ")
76
+ .replace(/(?:^|\s)(?:~|\.{1,2}|\/)?(?:[\w.-]+[\\/])+[\w.-]+(?::\d+(?::\d+)?)?/g, " ")
77
+ .replace(new RegExp(`\\b[\\w.-]+\\.(?:${COMMON_FILE_EXTENSIONS})(?::\\d+(?::\\d+)?)?`, "gi"), " ");
78
+ }
79
+ function stripMarkdown(text) {
80
+ return text
81
+ .replace(/!\[[^\]]*\]\([^)]*\)/g, " ")
82
+ .replace(/\[([^\]]+)\]\([^)]*\)/g, "$1")
83
+ .replace(/`([^`]+)`/g, "$1")
84
+ .replace(/[*_~]/g, "")
85
+ .replace(/^\s{0,3}#{1,6}\s+/gm, "")
86
+ .replace(/^\s*[-*+]\s+/gm, "")
87
+ .replace(/^\s*\d+[.)]\s+/gm, "");
88
+ }
89
+ function readableCharCount(text) {
90
+ return (text.match(/[\p{L}\p{N}]/gu) ?? []).length;
91
+ }
92
+ function wordCount(text) {
93
+ return (text.match(/[\p{L}\p{N}]+/gu) ?? []).length;
94
+ }
95
+ function isCodeOrLogLine(line) {
96
+ const trimmed = line.trim();
97
+ if (!trimmed)
98
+ return true;
99
+ if (/^(>|\$|>>>|\.\.\.|at\s+|\+{3}|-{3}|@@|\[[\w:-]+\])/.test(trimmed)) {
100
+ return true;
101
+ }
102
+ const punctuation = trimmed.replace(/[\p{L}\p{N}\s]/gu, "");
103
+ return trimmed.length >= 8 && punctuation.length / trimmed.length > 0.45;
104
+ }
105
+ function normalizeCandidate(text) {
106
+ return stripFileReferences(stripUrls(stripMarkdown(text)))
107
+ .replace(/[“”]/g, '"')
108
+ .replace(/[‘’]/g, "'")
109
+ .replace(/\btoolcall\b/giu, "tool call")
110
+ .replace(/\bthe similar UI to the write and edit tool calls?\b/giu, "similar UI for write and edit tool calls")
111
+ .replace(/[\r\n\t]+/g, " ")
112
+ .replace(/\s+/g, " ")
113
+ .replace(/\s+([,.;:!?])/g, "$1")
114
+ .replace(/^(?:i\s+think\s+)?(?:we\s+)?should\s+(?=[\p{L}\p{N}])/iu, "")
115
+ .replace(/^please\s+(?=[\p{L}\p{N}])/iu, "")
116
+ .replace(/^(?:fix|update|change|edit|review|check|open|look at)\s+(?:and\s+)?(?=[\p{Lu}\p{N}])/iu, "")
117
+ .replace(/\b(?:in|at|from|for|and|or)\s+([,.;:!?])/giu, "$1")
118
+ .replace(/\b(?:in|at|from|for|and|or)$/iu, "")
119
+ .replace(/[([\]{}<>]/g, " ")
120
+ .replace(/\s+/g, " ")
121
+ .trim();
122
+ }
123
+ function sentenceFragments(text) {
124
+ const fragments = text.match(/[^.!?]+[.!?]?/gu) ?? [text];
125
+ return fragments.map((fragment) => fragment.trim()).filter(Boolean);
126
+ }
127
+ function candidateFragments(text) {
128
+ const withoutBlocks = stripCodeBlocks(text);
129
+ const fragments = [];
130
+ for (const line of withoutBlocks.split(/\r?\n+/)) {
131
+ const trimmed = line.trim();
132
+ if (isCodeOrLogLine(trimmed))
133
+ continue;
134
+ const normalized = normalizeCandidate(trimmed);
135
+ for (const fragment of sentenceFragments(normalized)) {
136
+ fragments.push(normalizeCandidate(fragment));
137
+ }
138
+ }
139
+ return fragments;
140
+ }
141
+ function isLowInformationCandidate(candidate) {
142
+ const normalized = candidate
143
+ .toLocaleLowerCase()
144
+ .replace(/[^\p{L}\p{N}\s]/gu, " ")
145
+ .replace(/\s+/g, " ")
146
+ .trim();
147
+ if (!normalized)
148
+ return true;
149
+ if (readableCharCount(normalized) < MIN_READABLE_CHARS)
150
+ return true;
151
+ if (/^(?:what do you think|thoughts|wdyt)$/u.test(normalized))
152
+ return true;
153
+ if (/^(?:(?:please|can you|could you|would you)\s+)?(?:see|look|look at|check|review|open|inspect|read|fix|update|edit|change|help)$/u.test(normalized)) {
154
+ return true;
155
+ }
156
+ if (wordCount(normalized) <= 2 &&
157
+ /^(?:please\s+)?(?:see|look|check|review|open|inspect|read)\b/u.test(normalized)) {
158
+ return true;
159
+ }
160
+ return false;
161
+ }
162
+ function scoreCandidate(candidate, index) {
163
+ if (isLowInformationCandidate(candidate))
164
+ return Number.NEGATIVE_INFINITY;
165
+ const words = wordCount(candidate);
166
+ if (words < 3)
167
+ return Number.NEGATIVE_INFINITY;
168
+ let score = Math.min(words, 12) * 2;
169
+ if (words > 16)
170
+ score -= (words - 16) * 0.5;
171
+ if (/\b(?:improve|fix|update|change|edit|review|redesign|test|build|add|remove|show|generate|write|create|make|debug|investigate|explain|compare|refactor|implement)\b/iu.test(candidate)) {
172
+ score += 20;
173
+ }
174
+ if (/^(?:improve|fix|update|change|edit|review|redesign|test|build|add|remove|show|generate|write|create|make|debug|investigate|explain|compare|refactor|implement)\b/iu.test(candidate)) {
175
+ score += 16;
176
+ }
177
+ if (/\b(?:ui|tool|call|title|conversation|settings|error|issue|bug|status|display|page|component|api|name)\b/iu.test(candidate)) {
178
+ score += 8;
179
+ }
180
+ if (/\b(?:broken|hard|slow|fail|fails|error|issue|problem|confusing|unclear)\b/iu.test(candidate)) {
181
+ score += 8;
182
+ }
183
+ if (/^(?:because|sometime|sometimes|here is|this is)\b/iu.test(candidate)) {
184
+ score -= 12;
185
+ }
186
+ return score - index * 0.1;
187
+ }
188
+ function firstSentence(text) {
189
+ const match = text.match(/^(.{12,}?[.!?])(?:\s|$)/u);
190
+ return (match?.[1] ?? text).trim();
191
+ }
192
+ function finalClean(title) {
193
+ const cleaned = title
194
+ .replace(/^[\s:;,.!?\-–—]+/u, "")
195
+ .replace(/[\s:;,\-–—]+$/u, "")
196
+ .replace(/\s+/g, " ")
197
+ .trim();
198
+ if (!cleaned)
199
+ return "";
200
+ return cleaned.replace(/^\p{Ll}/u, (char) => char.toLocaleUpperCase());
201
+ }
202
+ function hasImageReference(text) {
203
+ return new RegExp(String.raw `(?:!\[[^\]]*\]\([^)]*\.(?:${IMAGE_FILE_EXTENSIONS})(?:[?#][^)]*)?\)|\b[A-Za-z]:[\\/][^\s),;]+\.(?:${IMAGE_FILE_EXTENSIONS})(?::\d+(?::\d+)?)?|(?:^|\s)(?:~|\.{1,2}|/)?(?:[\w.-]+[\\/])+[\w.-]+\.(?:${IMAGE_FILE_EXTENSIONS})(?::\d+(?::\d+)?)?|\b[\w.-]+\.(?:${IMAGE_FILE_EXTENSIONS})(?::\d+(?::\d+)?)?)`, "i").test(text);
204
+ }
205
+ function hasFileReference(text) {
206
+ return fileReferencePattern().test(text);
207
+ }
208
+ function hasUrlReference(text) {
209
+ return /https?:\/\/\S+|www\.\S+/i.test(text);
210
+ }
211
+ function fallbackTitle(text) {
212
+ if (hasImageReference(text))
213
+ return IMAGE_REVIEW_TITLE;
214
+ if (hasFileReference(text))
215
+ return FILE_REVIEW_TITLE;
216
+ if (hasUrlReference(text))
217
+ return LINK_REVIEW_TITLE;
218
+ return DEFAULT_CONVERSATION_TITLE;
219
+ }
220
+ export function deriveConversationTitle(text) {
221
+ const candidates = candidateFragments(text)
222
+ .map((candidate) => finalClean(firstSentence(candidate)))
223
+ .filter((candidate) => readableCharCount(candidate) >= MIN_READABLE_CHARS);
224
+ let best = "";
225
+ let bestScore = Number.NEGATIVE_INFINITY;
226
+ candidates.forEach((candidate, index) => {
227
+ const score = scoreCandidate(candidate, index);
228
+ if (score > bestScore) {
229
+ best = candidate;
230
+ bestScore = score;
231
+ }
232
+ });
233
+ return best || fallbackTitle(text);
234
+ }
235
+ export function expandTruncatedConversationTitle(existingTitle, firstUserText) {
236
+ const existing = existingTitle.trim();
237
+ if (!/(?:…|\.\.\.)$/u.test(existing))
238
+ return undefined;
239
+ const expanded = deriveConversationTitle(firstUserText);
240
+ if (expanded.length <= existing.length)
241
+ return undefined;
242
+ const stem = existing
243
+ .replace(/\s*(?:…|\.\.\.)$/u, "")
244
+ .replace(/[\s,;:.-]+$/u, "")
245
+ .trim();
246
+ if (readableCharCount(stem) < MIN_READABLE_CHARS)
247
+ return undefined;
248
+ return expanded.startsWith(stem) ? expanded : undefined;
249
+ }
250
+ //# sourceMappingURL=title.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"title.js","sourceRoot":"","sources":["../../../src/domains/conversations/title.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,228 @@
1
+ import { z } from "zod";
2
+ export declare const conversationRecordSchema: z.ZodObject<{
3
+ id: z.ZodString;
4
+ projectId: z.ZodString;
5
+ title: z.ZodString;
6
+ mode: z.ZodEnum<{
7
+ planning: "planning";
8
+ coding: "coding";
9
+ }>;
10
+ permissionLevel: z.ZodEnum<{
11
+ autonomous: "autonomous";
12
+ supervised: "supervised";
13
+ read_only: "read_only";
14
+ }>;
15
+ activeAgentId: z.ZodOptional<z.ZodString>;
16
+ activeEntryId: z.ZodOptional<z.ZodString>;
17
+ createdAt: z.ZodString;
18
+ updatedAt: z.ZodString;
19
+ }, z.core.$strip>;
20
+ export type ConversationRecord = z.infer<typeof conversationRecordSchema>;
21
+ export declare const createConversationRequestSchema: z.ZodObject<{
22
+ projectId: z.ZodString;
23
+ title: z.ZodOptional<z.ZodString>;
24
+ mode: z.ZodOptional<z.ZodEnum<{
25
+ planning: "planning";
26
+ coding: "coding";
27
+ }>>;
28
+ permissionLevel: z.ZodOptional<z.ZodEnum<{
29
+ autonomous: "autonomous";
30
+ supervised: "supervised";
31
+ read_only: "read_only";
32
+ }>>;
33
+ }, z.core.$strip>;
34
+ export type CreateConversationRequest = z.infer<typeof createConversationRequestSchema>;
35
+ export declare const importConversationRequestSchema: z.ZodObject<{
36
+ project: z.ZodOptional<z.ZodObject<{
37
+ name: z.ZodOptional<z.ZodString>;
38
+ dir: z.ZodString;
39
+ }, z.core.$strip>>;
40
+ conversation: z.ZodObject<{
41
+ title: z.ZodOptional<z.ZodString>;
42
+ mode: z.ZodOptional<z.ZodEnum<{
43
+ planning: "planning";
44
+ coding: "coding";
45
+ }>>;
46
+ permissionLevel: z.ZodOptional<z.ZodEnum<{
47
+ autonomous: "autonomous";
48
+ supervised: "supervised";
49
+ read_only: "read_only";
50
+ }>>;
51
+ }, z.core.$strip>;
52
+ agents: z.ZodDefault<z.ZodArray<z.ZodUnknown>>;
53
+ entries: z.ZodDefault<z.ZodArray<z.ZodUnknown>>;
54
+ }, z.core.$strip>;
55
+ export type ImportConversationRequest = z.infer<typeof importConversationRequestSchema>;
56
+ export declare const conversationEntryUsageSchema: z.ZodObject<{
57
+ input: z.ZodNumber;
58
+ output: z.ZodNumber;
59
+ cacheRead: z.ZodNumber;
60
+ cacheWrite: z.ZodNumber;
61
+ totalTokens: z.ZodNumber;
62
+ cost: z.ZodNumber;
63
+ }, z.core.$strip>;
64
+ export type ConversationEntryUsage = z.infer<typeof conversationEntryUsageSchema>;
65
+ export declare const conversationEntryKindSchema: z.ZodEnum<{
66
+ message: "message";
67
+ compaction: "compaction";
68
+ branch_summary: "branch_summary";
69
+ explore_report: "explore_report";
70
+ run_status: "run_status";
71
+ task_event: "task_event";
72
+ }>;
73
+ export type ConversationEntryKind = z.infer<typeof conversationEntryKindSchema>;
74
+ export type ConversationRunStatusState = "retrying" | "retry_exhausted" | "failed" | "interrupted";
75
+ export interface ConversationRunStatusDetails {
76
+ type: "agent_run_retry_status";
77
+ state: ConversationRunStatusState;
78
+ runId: string;
79
+ failedEntryId?: string;
80
+ attempt?: number;
81
+ maxRetries?: number;
82
+ delayMs?: number;
83
+ retryAt?: string;
84
+ errorMessage?: string;
85
+ /**
86
+ * Whether a "Continue" affordance should be offered for this status. For the
87
+ * non-`retrying` states (`retry_exhausted`, `failed`, `interrupted`) this means
88
+ * "continuable": the run can be resumed/retried from this status entry.
89
+ */
90
+ retryable?: boolean;
91
+ }
92
+ export declare const conversationEntrySchema: z.ZodObject<{
93
+ id: z.ZodString;
94
+ conversationId: z.ZodString;
95
+ agentId: z.ZodOptional<z.ZodString>;
96
+ runId: z.ZodOptional<z.ZodString>;
97
+ turnId: z.ZodOptional<z.ZodString>;
98
+ liveMessageId: z.ZodOptional<z.ZodString>;
99
+ parentEntryId: z.ZodOptional<z.ZodString>;
100
+ role: z.ZodEnum<{
101
+ user: "user";
102
+ assistant: "assistant";
103
+ system: "system";
104
+ }>;
105
+ kind: z.ZodDefault<z.ZodEnum<{
106
+ message: "message";
107
+ compaction: "compaction";
108
+ branch_summary: "branch_summary";
109
+ explore_report: "explore_report";
110
+ run_status: "run_status";
111
+ task_event: "task_event";
112
+ }>>;
113
+ text: z.ZodString;
114
+ summary: z.ZodOptional<z.ZodString>;
115
+ tokensBefore: z.ZodOptional<z.ZodNumber>;
116
+ usage: z.ZodOptional<z.ZodObject<{
117
+ input: z.ZodNumber;
118
+ output: z.ZodNumber;
119
+ cacheRead: z.ZodNumber;
120
+ cacheWrite: z.ZodNumber;
121
+ totalTokens: z.ZodNumber;
122
+ cost: z.ZodNumber;
123
+ }, z.core.$strip>>;
124
+ firstKeptEntryId: z.ZodOptional<z.ZodString>;
125
+ fromEntryId: z.ZodOptional<z.ZodString>;
126
+ details: z.ZodOptional<z.ZodUnknown>;
127
+ createdAt: z.ZodString;
128
+ }, z.core.$strip>;
129
+ export type ConversationEntry = z.infer<typeof conversationEntrySchema>;
130
+ export declare const conversationTreeNodeSchema: z.ZodObject<{
131
+ entry: z.ZodObject<{
132
+ id: z.ZodString;
133
+ conversationId: z.ZodString;
134
+ agentId: z.ZodOptional<z.ZodString>;
135
+ runId: z.ZodOptional<z.ZodString>;
136
+ turnId: z.ZodOptional<z.ZodString>;
137
+ liveMessageId: z.ZodOptional<z.ZodString>;
138
+ parentEntryId: z.ZodOptional<z.ZodString>;
139
+ role: z.ZodEnum<{
140
+ user: "user";
141
+ assistant: "assistant";
142
+ system: "system";
143
+ }>;
144
+ kind: z.ZodDefault<z.ZodEnum<{
145
+ message: "message";
146
+ compaction: "compaction";
147
+ branch_summary: "branch_summary";
148
+ explore_report: "explore_report";
149
+ run_status: "run_status";
150
+ task_event: "task_event";
151
+ }>>;
152
+ text: z.ZodString;
153
+ summary: z.ZodOptional<z.ZodString>;
154
+ tokensBefore: z.ZodOptional<z.ZodNumber>;
155
+ usage: z.ZodOptional<z.ZodObject<{
156
+ input: z.ZodNumber;
157
+ output: z.ZodNumber;
158
+ cacheRead: z.ZodNumber;
159
+ cacheWrite: z.ZodNumber;
160
+ totalTokens: z.ZodNumber;
161
+ cost: z.ZodNumber;
162
+ }, z.core.$strip>>;
163
+ firstKeptEntryId: z.ZodOptional<z.ZodString>;
164
+ fromEntryId: z.ZodOptional<z.ZodString>;
165
+ details: z.ZodOptional<z.ZodUnknown>;
166
+ createdAt: z.ZodString;
167
+ }, z.core.$strip>;
168
+ childEntryIds: z.ZodArray<z.ZodString>;
169
+ }, z.core.$strip>;
170
+ export type ConversationTreeNode = z.infer<typeof conversationTreeNodeSchema>;
171
+ export declare const conversationTreeSchema: z.ZodObject<{
172
+ conversationId: z.ZodString;
173
+ activeEntryId: z.ZodOptional<z.ZodString>;
174
+ rootEntryIds: z.ZodArray<z.ZodString>;
175
+ nodes: z.ZodArray<z.ZodObject<{
176
+ entry: z.ZodObject<{
177
+ id: z.ZodString;
178
+ conversationId: z.ZodString;
179
+ agentId: z.ZodOptional<z.ZodString>;
180
+ runId: z.ZodOptional<z.ZodString>;
181
+ turnId: z.ZodOptional<z.ZodString>;
182
+ liveMessageId: z.ZodOptional<z.ZodString>;
183
+ parentEntryId: z.ZodOptional<z.ZodString>;
184
+ role: z.ZodEnum<{
185
+ user: "user";
186
+ assistant: "assistant";
187
+ system: "system";
188
+ }>;
189
+ kind: z.ZodDefault<z.ZodEnum<{
190
+ message: "message";
191
+ compaction: "compaction";
192
+ branch_summary: "branch_summary";
193
+ explore_report: "explore_report";
194
+ run_status: "run_status";
195
+ task_event: "task_event";
196
+ }>>;
197
+ text: z.ZodString;
198
+ summary: z.ZodOptional<z.ZodString>;
199
+ tokensBefore: z.ZodOptional<z.ZodNumber>;
200
+ usage: z.ZodOptional<z.ZodObject<{
201
+ input: z.ZodNumber;
202
+ output: z.ZodNumber;
203
+ cacheRead: z.ZodNumber;
204
+ cacheWrite: z.ZodNumber;
205
+ totalTokens: z.ZodNumber;
206
+ cost: z.ZodNumber;
207
+ }, z.core.$strip>>;
208
+ firstKeptEntryId: z.ZodOptional<z.ZodString>;
209
+ fromEntryId: z.ZodOptional<z.ZodString>;
210
+ details: z.ZodOptional<z.ZodUnknown>;
211
+ createdAt: z.ZodString;
212
+ }, z.core.$strip>;
213
+ childEntryIds: z.ZodArray<z.ZodString>;
214
+ }, z.core.$strip>>;
215
+ }, z.core.$strip>;
216
+ export type ConversationTree = z.infer<typeof conversationTreeSchema>;
217
+ export declare const navigateConversationRequestSchema: z.ZodObject<{
218
+ activeEntryId: z.ZodNullable<z.ZodString>;
219
+ summarize: z.ZodOptional<z.ZodBoolean>;
220
+ summaryInstructions: z.ZodOptional<z.ZodString>;
221
+ }, z.core.$strip>;
222
+ export type NavigateConversationRequest = z.infer<typeof navigateConversationRequestSchema>;
223
+ export declare const compactConversationRequestSchema: z.ZodObject<{
224
+ instructions: z.ZodOptional<z.ZodString>;
225
+ keepRecentTokens: z.ZodOptional<z.ZodNumber>;
226
+ }, z.core.$strip>;
227
+ export type CompactConversationRequest = z.infer<typeof compactConversationRequestSchema>;
228
+ //# sourceMappingURL=tree.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.schema.d.ts","sourceRoot":"","sources":["../../../src/domains/conversations/tree.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;iBAUnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,+BAA+B;;;;;;;;;;;;iBAK1C,CAAC;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,+BAA+B,CACvC,CAAC;AAEF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;iBAc1C,CAAC;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,+BAA+B,CACvC,CAAC;AAEF,eAAO,MAAM,4BAA4B;;;;;;;iBAOvC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAC1C,OAAO,4BAA4B,CACpC,CAAC;AAEF,eAAO,MAAM,2BAA2B;;;;;;;EAOtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,MAAM,MAAM,0BAA0B,GAClC,UAAU,GACV,iBAAiB,GACjB,QAAQ,GACR,aAAa,CAAC;AAElB,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,wBAAwB,CAAC;IAC/B,KAAK,EAAE,0BAA0B,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkBlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAKjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,iCAAiC;;;;iBAI5C,CAAC;AACH,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAC/C,OAAO,iCAAiC,CACzC,CAAC;AAEF,eAAO,MAAM,gCAAgC;;;iBAG3C,CAAC;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,gCAAgC,CACxC,CAAC"}
@@ -0,0 +1,89 @@
1
+ import { z } from "zod";
2
+ import { modeSchema, permissionLevelSchema } from "../settings/index.js";
3
+ export const conversationRecordSchema = z.object({
4
+ id: z.string().startsWith("conv_"),
5
+ projectId: z.string().startsWith("proj_"),
6
+ title: z.string().min(1),
7
+ mode: modeSchema,
8
+ permissionLevel: permissionLevelSchema,
9
+ activeAgentId: z.string().startsWith("agent_").optional(),
10
+ activeEntryId: z.string().startsWith("entry_").optional(),
11
+ createdAt: z.string().datetime(),
12
+ updatedAt: z.string().datetime(),
13
+ });
14
+ export const createConversationRequestSchema = z.object({
15
+ projectId: z.string().startsWith("proj_"),
16
+ title: z.string().min(1).optional(),
17
+ mode: modeSchema.optional(),
18
+ permissionLevel: permissionLevelSchema.optional(),
19
+ });
20
+ export const importConversationRequestSchema = z.object({
21
+ project: z
22
+ .object({
23
+ name: z.string().min(1).optional(),
24
+ dir: z.string().min(1),
25
+ })
26
+ .optional(),
27
+ conversation: z.object({
28
+ title: z.string().min(1).optional(),
29
+ mode: modeSchema.optional(),
30
+ permissionLevel: permissionLevelSchema.optional(),
31
+ }),
32
+ agents: z.array(z.unknown()).default([]),
33
+ entries: z.array(z.unknown()).default([]),
34
+ });
35
+ export const conversationEntryUsageSchema = z.object({
36
+ input: z.number().int().nonnegative(),
37
+ output: z.number().int().nonnegative(),
38
+ cacheRead: z.number().int().nonnegative(),
39
+ cacheWrite: z.number().int().nonnegative(),
40
+ totalTokens: z.number().int().nonnegative(),
41
+ cost: z.number().nonnegative(),
42
+ });
43
+ export const conversationEntryKindSchema = z.enum([
44
+ "message",
45
+ "compaction",
46
+ "branch_summary",
47
+ "explore_report",
48
+ "run_status",
49
+ "task_event",
50
+ ]);
51
+ export const conversationEntrySchema = z.object({
52
+ id: z.string().startsWith("entry_"),
53
+ conversationId: z.string().startsWith("conv_"),
54
+ agentId: z.string().startsWith("agent_").optional(),
55
+ runId: z.string().startsWith("run_").optional(),
56
+ turnId: z.string().startsWith("turn_").optional(),
57
+ liveMessageId: z.string().startsWith("msg_").optional(),
58
+ parentEntryId: z.string().startsWith("entry_").optional(),
59
+ role: z.enum(["user", "assistant", "system"]),
60
+ kind: conversationEntryKindSchema.default("message"),
61
+ text: z.string(),
62
+ summary: z.string().optional(),
63
+ tokensBefore: z.number().int().nonnegative().optional(),
64
+ usage: conversationEntryUsageSchema.optional(),
65
+ firstKeptEntryId: z.string().startsWith("entry_").optional(),
66
+ fromEntryId: z.string().startsWith("entry_").optional(),
67
+ details: z.unknown().optional(),
68
+ createdAt: z.string().datetime(),
69
+ });
70
+ export const conversationTreeNodeSchema = z.object({
71
+ entry: conversationEntrySchema,
72
+ childEntryIds: z.array(z.string().startsWith("entry_")),
73
+ });
74
+ export const conversationTreeSchema = z.object({
75
+ conversationId: z.string().startsWith("conv_"),
76
+ activeEntryId: z.string().startsWith("entry_").optional(),
77
+ rootEntryIds: z.array(z.string().startsWith("entry_")),
78
+ nodes: z.array(conversationTreeNodeSchema),
79
+ });
80
+ export const navigateConversationRequestSchema = z.object({
81
+ activeEntryId: z.string().startsWith("entry_").nullable(),
82
+ summarize: z.boolean().optional(),
83
+ summaryInstructions: z.string().optional(),
84
+ });
85
+ export const compactConversationRequestSchema = z.object({
86
+ instructions: z.string().optional(),
87
+ keepRecentTokens: z.number().int().positive().optional(),
88
+ });
89
+ //# sourceMappingURL=tree.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.schema.js","sourceRoot":"","sources":["../../../src/domains/conversations/tree.schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { z } from "zod";
2
+ export type EventDurability = "durable" | "transient";
3
+ export declare const eventEnvelopeSchema: z.ZodObject<{
4
+ seq: z.ZodNumber;
5
+ id: z.ZodString;
6
+ ts: z.ZodString;
7
+ type: z.ZodString;
8
+ durability: z.ZodDefault<z.ZodEnum<{
9
+ durable: "durable";
10
+ transient: "transient";
11
+ }>>;
12
+ data: z.ZodUnknown;
13
+ }, z.core.$strip>;
14
+ export type EventEnvelope<T = unknown> = Omit<z.infer<typeof eventEnvelopeSchema>, "data"> & {
15
+ data: T;
16
+ };
17
+ //# sourceMappingURL=envelope.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"envelope.schema.d.ts","sourceRoot":"","sources":["../../../src/domains/events/envelope.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,WAAW,CAAC;AAEtD,eAAO,MAAM,mBAAmB;;;;;;;;;;iBAO9B,CAAC;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,OAAO,IAAI,IAAI,CAC3C,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,EACnC,MAAM,CACP,GAAG;IACF,IAAI,EAAE,CAAC,CAAC;CACT,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { z } from "zod";
2
+ export const eventEnvelopeSchema = z.object({
3
+ seq: z.number().int().nonnegative(),
4
+ id: z.string().startsWith("evt_"),
5
+ ts: z.string().datetime(),
6
+ type: z.string().min(1),
7
+ durability: z.enum(["durable", "transient"]).default("durable"),
8
+ data: z.unknown(),
9
+ });
10
+ //# sourceMappingURL=envelope.schema.js.map