@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,10 @@
1
+ import { z } from "zod";
2
+ export declare const apiErrorSchema: z.ZodObject<{
3
+ error: z.ZodObject<{
4
+ code: z.ZodString;
5
+ message: z.ZodString;
6
+ details: z.ZodOptional<z.ZodUnknown>;
7
+ }, z.core.$strip>;
8
+ }, z.core.$strip>;
9
+ export type ApiError = z.infer<typeof apiErrorSchema>;
10
+ //# sourceMappingURL=api-errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-errors.d.ts","sourceRoot":"","sources":["../src/api-errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,cAAc;;;;;;iBAMzB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+ export const apiErrorSchema = z.object({
3
+ error: z.object({
4
+ code: z.string(),
5
+ message: z.string(),
6
+ details: z.unknown().optional(),
7
+ }),
8
+ });
9
+ //# sourceMappingURL=api-errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-errors.js","sourceRoot":"","sources":["../src/api-errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;KAChC,CAAC;CACH,CAAC,CAAC"}
package/dist/auth.d.ts ADDED
@@ -0,0 +1,110 @@
1
+ import { z } from "zod";
2
+ export declare const credentialTypeSchema: z.ZodEnum<{
3
+ api_key: "api_key";
4
+ oauth: "oauth";
5
+ }>;
6
+ export type CredentialType = z.infer<typeof credentialTypeSchema>;
7
+ export declare const providerApiKeySchema: z.ZodObject<{
8
+ provider: z.ZodString;
9
+ envVar: z.ZodString;
10
+ configured: z.ZodBoolean;
11
+ }, z.core.$strip>;
12
+ export type ProviderApiKey = z.infer<typeof providerApiKeySchema>;
13
+ export declare const authProviderMetadataSchema: z.ZodObject<{
14
+ provider: z.ZodString;
15
+ displayName: z.ZodString;
16
+ supportsApiKey: z.ZodBoolean;
17
+ supportsOAuth: z.ZodBoolean;
18
+ oauthName: z.ZodOptional<z.ZodString>;
19
+ configured: z.ZodBoolean;
20
+ credentialType: z.ZodOptional<z.ZodEnum<{
21
+ api_key: "api_key";
22
+ oauth: "oauth";
23
+ }>>;
24
+ envVar: z.ZodOptional<z.ZodString>;
25
+ warning: z.ZodOptional<z.ZodString>;
26
+ }, z.core.$strip>;
27
+ export type AuthProviderMetadata = z.infer<typeof authProviderMetadataSchema>;
28
+ export declare const encryptedSecretEnvelopeSchema: z.ZodObject<{
29
+ keyId: z.ZodString;
30
+ encryptedKey: z.ZodString;
31
+ iv: z.ZodString;
32
+ ciphertext: z.ZodString;
33
+ }, z.core.$strip>;
34
+ export type EncryptedSecretEnvelope = z.infer<typeof encryptedSecretEnvelopeSchema>;
35
+ export declare const credentialKeyResponseSchema: z.ZodObject<{
36
+ keyId: z.ZodString;
37
+ algorithm: z.ZodLiteral<"RSA-OAEP-256+A256GCM">;
38
+ publicKey: z.ZodString;
39
+ }, z.core.$strip>;
40
+ export type CredentialKeyResponse = z.infer<typeof credentialKeyResponseSchema>;
41
+ export declare const setProviderApiKeyRequestSchema: z.ZodObject<{
42
+ provider: z.ZodString;
43
+ apiKey: z.ZodOptional<z.ZodString>;
44
+ encryptedApiKey: z.ZodOptional<z.ZodObject<{
45
+ keyId: z.ZodString;
46
+ encryptedKey: z.ZodString;
47
+ iv: z.ZodString;
48
+ ciphertext: z.ZodString;
49
+ }, z.core.$strip>>;
50
+ }, z.core.$strip>;
51
+ export type SetProviderApiKeyRequest = z.infer<typeof setProviderApiKeyRequestSchema>;
52
+ export declare const startOAuthFlowRequestSchema: z.ZodObject<{
53
+ provider: z.ZodString;
54
+ }, z.core.$strip>;
55
+ export type StartOAuthFlowRequest = z.infer<typeof startOAuthFlowRequestSchema>;
56
+ export declare const oauthFlowStatusSchema: z.ZodEnum<{
57
+ starting: "starting";
58
+ select: "select";
59
+ auth_url: "auth_url";
60
+ device_code: "device_code";
61
+ prompt: "prompt";
62
+ progress: "progress";
63
+ succeeded: "succeeded";
64
+ failed: "failed";
65
+ cancelled: "cancelled";
66
+ }>;
67
+ export type OAuthFlowStatus = z.infer<typeof oauthFlowStatusSchema>;
68
+ export declare const oauthFlowInfoSchema: z.ZodObject<{
69
+ flowId: z.ZodString;
70
+ provider: z.ZodString;
71
+ providerName: z.ZodString;
72
+ status: z.ZodEnum<{
73
+ starting: "starting";
74
+ select: "select";
75
+ auth_url: "auth_url";
76
+ device_code: "device_code";
77
+ prompt: "prompt";
78
+ progress: "progress";
79
+ succeeded: "succeeded";
80
+ failed: "failed";
81
+ cancelled: "cancelled";
82
+ }>;
83
+ promptId: z.ZodOptional<z.ZodString>;
84
+ message: z.ZodOptional<z.ZodString>;
85
+ authUrl: z.ZodOptional<z.ZodString>;
86
+ instructions: z.ZodOptional<z.ZodString>;
87
+ options: z.ZodOptional<z.ZodArray<z.ZodObject<{
88
+ id: z.ZodString;
89
+ label: z.ZodString;
90
+ }, z.core.$strip>>>;
91
+ deviceCode: z.ZodOptional<z.ZodObject<{
92
+ userCode: z.ZodString;
93
+ verificationUri: z.ZodString;
94
+ intervalSeconds: z.ZodOptional<z.ZodNumber>;
95
+ expiresInSeconds: z.ZodOptional<z.ZodNumber>;
96
+ }, z.core.$strip>>;
97
+ placeholder: z.ZodOptional<z.ZodString>;
98
+ allowEmpty: z.ZodOptional<z.ZodBoolean>;
99
+ error: z.ZodOptional<z.ZodString>;
100
+ createdAt: z.ZodString;
101
+ updatedAt: z.ZodString;
102
+ }, z.core.$strip>;
103
+ export type OAuthFlowInfo = z.infer<typeof oauthFlowInfoSchema>;
104
+ export declare const respondOAuthFlowRequestSchema: z.ZodObject<{
105
+ promptId: z.ZodString;
106
+ value: z.ZodOptional<z.ZodString>;
107
+ selectedId: z.ZodOptional<z.ZodString>;
108
+ }, z.core.$strip>;
109
+ export type RespondOAuthFlowRequest = z.infer<typeof respondOAuthFlowRequestSchema>;
110
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,oBAAoB;;;EAA+B,CAAC;AACjE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,oBAAoB;;;;iBAI/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;iBAUrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,6BAA6B;;;;;iBAKxC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAC3C,OAAO,6BAA6B,CACrC,CAAC;AAEF,eAAO,MAAM,2BAA2B;;;;iBAItC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,8BAA8B;;;;;;;;;iBAQvC,CAAC;AACL,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAC5C,OAAO,8BAA8B,CACtC,CAAC;AAEF,eAAO,MAAM,2BAA2B;;iBAEtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,qBAAqB;;;;;;;;;;EAUhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuB9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,6BAA6B;;;;iBAIxC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAC3C,OAAO,6BAA6B,CACrC,CAAC"}
package/dist/auth.js ADDED
@@ -0,0 +1,82 @@
1
+ import { z } from "zod";
2
+ export const credentialTypeSchema = z.enum(["api_key", "oauth"]);
3
+ export const providerApiKeySchema = z.object({
4
+ provider: z.string().min(1),
5
+ envVar: z.string().min(1),
6
+ configured: z.boolean(),
7
+ });
8
+ export const authProviderMetadataSchema = z.object({
9
+ provider: z.string().min(1),
10
+ displayName: z.string().min(1),
11
+ supportsApiKey: z.boolean(),
12
+ supportsOAuth: z.boolean(),
13
+ oauthName: z.string().optional(),
14
+ configured: z.boolean(),
15
+ credentialType: credentialTypeSchema.optional(),
16
+ envVar: z.string().optional(),
17
+ warning: z.string().optional(),
18
+ });
19
+ export const encryptedSecretEnvelopeSchema = z.object({
20
+ keyId: z.string().min(1),
21
+ encryptedKey: z.string().min(1), // base64 RSA-OAEP(aesKey)
22
+ iv: z.string().min(1), // base64 (12 bytes)
23
+ ciphertext: z.string().min(1), // base64 AES-GCM(secret)||tag
24
+ });
25
+ export const credentialKeyResponseSchema = z.object({
26
+ keyId: z.string().min(1),
27
+ algorithm: z.literal("RSA-OAEP-256+A256GCM"),
28
+ publicKey: z.string().min(1), // base64 SPKI DER
29
+ });
30
+ export const setProviderApiKeyRequestSchema = z
31
+ .object({
32
+ provider: z.string().min(1),
33
+ apiKey: z.string().min(1).optional(),
34
+ encryptedApiKey: encryptedSecretEnvelopeSchema.optional(),
35
+ })
36
+ .refine((value) => Boolean(value.apiKey) !== Boolean(value.encryptedApiKey), {
37
+ message: "Provide exactly one of apiKey or encryptedApiKey.",
38
+ });
39
+ export const startOAuthFlowRequestSchema = z.object({
40
+ provider: z.string().min(1),
41
+ });
42
+ export const oauthFlowStatusSchema = z.enum([
43
+ "starting",
44
+ "select",
45
+ "auth_url",
46
+ "device_code",
47
+ "prompt",
48
+ "progress",
49
+ "succeeded",
50
+ "failed",
51
+ "cancelled",
52
+ ]);
53
+ export const oauthFlowInfoSchema = z.object({
54
+ flowId: z.string().startsWith("authflow_"),
55
+ provider: z.string().min(1),
56
+ providerName: z.string().min(1),
57
+ status: oauthFlowStatusSchema,
58
+ promptId: z.string().optional(),
59
+ message: z.string().optional(),
60
+ authUrl: z.string().optional(),
61
+ instructions: z.string().optional(),
62
+ options: z.array(z.object({ id: z.string(), label: z.string() })).optional(),
63
+ deviceCode: z
64
+ .object({
65
+ userCode: z.string(),
66
+ verificationUri: z.string(),
67
+ intervalSeconds: z.number().optional(),
68
+ expiresInSeconds: z.number().optional(),
69
+ })
70
+ .optional(),
71
+ placeholder: z.string().optional(),
72
+ allowEmpty: z.boolean().optional(),
73
+ error: z.string().optional(),
74
+ createdAt: z.string().datetime(),
75
+ updatedAt: z.string().datetime(),
76
+ });
77
+ export const respondOAuthFlowRequestSchema = z.object({
78
+ promptId: z.string().min(1),
79
+ value: z.string().optional(),
80
+ selectedId: z.string().optional(),
81
+ });
82
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function deriveConversationTitle(text: string): string;
2
+ //# sourceMappingURL=conversation-title.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation-title.d.ts","sourceRoot":"","sources":["../src/conversation-title.ts"],"names":[],"mappings":"AA+RA,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAgB5D"}
@@ -0,0 +1,244 @@
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 MAX_TITLE_LENGTH = 68;
6
+ const MIN_READABLE_CHARS = 3;
7
+ const COMMON_FILE_EXTENSIONS = [
8
+ "astro",
9
+ "bash",
10
+ "c",
11
+ "cc",
12
+ "conf",
13
+ "cpp",
14
+ "cs",
15
+ "css",
16
+ "csv",
17
+ "go",
18
+ "h",
19
+ "hpp",
20
+ "html",
21
+ "java",
22
+ "jpeg",
23
+ "jpg",
24
+ "js",
25
+ "json",
26
+ "jsx",
27
+ "kt",
28
+ "lock",
29
+ "log",
30
+ "lua",
31
+ "md",
32
+ "mdx",
33
+ "php",
34
+ "png",
35
+ "py",
36
+ "rb",
37
+ "rs",
38
+ "scss",
39
+ "sh",
40
+ "sql",
41
+ "svg",
42
+ "svelte",
43
+ "swift",
44
+ "toml",
45
+ "ts",
46
+ "tsx",
47
+ "txt",
48
+ "vue",
49
+ "webp",
50
+ "xml",
51
+ "yaml",
52
+ "yml",
53
+ ].join("|");
54
+ const IMAGE_FILE_EXTENSIONS = [
55
+ "avif",
56
+ "bmp",
57
+ "gif",
58
+ "jpeg",
59
+ "jpg",
60
+ "png",
61
+ "svg",
62
+ "tiff",
63
+ "webp",
64
+ ].join("|");
65
+ function fileReferencePattern(extensions = COMMON_FILE_EXTENSIONS) {
66
+ return new RegExp(String.raw `(?:\b[A-Za-z]:[\\/][^\s),;]+|(?:^|\s)(?:~|\.{1,2}|/)?(?:[\w.-]+[\\/])+[\w.-]+(?::\d+(?::\d+)?)?|\b[\w.-]+\.(?:${extensions})(?::\d+(?::\d+)?)?)`, "i");
67
+ }
68
+ function stripCodeBlocks(text) {
69
+ return text.replace(/```[\s\S]*?```/g, " ").replace(/~~~[\s\S]*?~~~/g, " ");
70
+ }
71
+ function stripUrls(text) {
72
+ return text.replace(/https?:\/\/\S+|www\.\S+/gi, " ");
73
+ }
74
+ function stripFileReferences(text) {
75
+ return text
76
+ .replace(/\b[A-Za-z]:[\\/][^\s),;]+/g, " ")
77
+ .replace(/(?:^|\s)(?:~|\.{1,2}|\/)?(?:[\w.-]+[\\/])+[\w.-]+(?::\d+(?::\d+)?)?/g, " ")
78
+ .replace(new RegExp(`\\b[\\w.-]+\\.(?:${COMMON_FILE_EXTENSIONS})(?::\\d+(?::\\d+)?)?`, "gi"), " ");
79
+ }
80
+ function stripMarkdown(text) {
81
+ return text
82
+ .replace(/!\[[^\]]*\]\([^)]*\)/g, " ")
83
+ .replace(/\[([^\]]+)\]\([^)]*\)/g, "$1")
84
+ .replace(/`([^`]+)`/g, "$1")
85
+ .replace(/[*_~]/g, "")
86
+ .replace(/^\s{0,3}#{1,6}\s+/gm, "")
87
+ .replace(/^\s*[-*+]\s+/gm, "")
88
+ .replace(/^\s*\d+[.)]\s+/gm, "");
89
+ }
90
+ function readableCharCount(text) {
91
+ return (text.match(/[\p{L}\p{N}]/gu) ?? []).length;
92
+ }
93
+ function wordCount(text) {
94
+ return (text.match(/[\p{L}\p{N}]+/gu) ?? []).length;
95
+ }
96
+ function isCodeOrLogLine(line) {
97
+ const trimmed = line.trim();
98
+ if (!trimmed)
99
+ return true;
100
+ if (/^(>|\$|>>>|\.\.\.|at\s+|\+{3}|-{3}|@@|\[[\w:-]+\])/.test(trimmed)) {
101
+ return true;
102
+ }
103
+ const punctuation = trimmed.replace(/[\p{L}\p{N}\s]/gu, "");
104
+ return trimmed.length >= 8 && punctuation.length / trimmed.length > 0.45;
105
+ }
106
+ function normalizeCandidate(text) {
107
+ return stripFileReferences(stripUrls(stripMarkdown(text)))
108
+ .replace(/[“”]/g, '"')
109
+ .replace(/[‘’]/g, "'")
110
+ .replace(/\btoolcall\b/giu, "tool call")
111
+ .replace(/\bthe similar UI to the write and edit tool calls?\b/giu, "similar UI for write and edit tool calls")
112
+ .replace(/[\r\n\t]+/g, " ")
113
+ .replace(/\s+/g, " ")
114
+ .replace(/\s+([,.;:!?])/g, "$1")
115
+ .replace(/^(?:i\s+think\s+)?(?:we\s+)?should\s+(?=[\p{L}\p{N}])/iu, "")
116
+ .replace(/^please\s+(?=[\p{L}\p{N}])/iu, "")
117
+ .replace(/^(?:fix|update|change|edit|review|check|open|look at)\s+(?:and\s+)?(?=[\p{Lu}\p{N}])/iu, "")
118
+ .replace(/\b(?:in|at|from|for|and|or)\s+([,.;:!?])/giu, "$1")
119
+ .replace(/\b(?:in|at|from|for|and|or)$/iu, "")
120
+ .replace(/[([\]{}<>]/g, " ")
121
+ .replace(/\s+/g, " ")
122
+ .trim();
123
+ }
124
+ function sentenceFragments(text) {
125
+ const fragments = text.match(/[^.!?]+[.!?]?/gu) ?? [text];
126
+ return fragments.map((fragment) => fragment.trim()).filter(Boolean);
127
+ }
128
+ function candidateFragments(text) {
129
+ const withoutBlocks = stripCodeBlocks(text);
130
+ const fragments = [];
131
+ for (const line of withoutBlocks.split(/\r?\n+/)) {
132
+ const trimmed = line.trim();
133
+ if (isCodeOrLogLine(trimmed))
134
+ continue;
135
+ const normalized = normalizeCandidate(trimmed);
136
+ for (const fragment of sentenceFragments(normalized)) {
137
+ fragments.push(normalizeCandidate(fragment));
138
+ }
139
+ }
140
+ return fragments;
141
+ }
142
+ function isLowInformationCandidate(candidate) {
143
+ const normalized = candidate
144
+ .toLocaleLowerCase()
145
+ .replace(/[^\p{L}\p{N}\s]/gu, " ")
146
+ .replace(/\s+/g, " ")
147
+ .trim();
148
+ if (!normalized)
149
+ return true;
150
+ if (readableCharCount(normalized) < MIN_READABLE_CHARS)
151
+ return true;
152
+ if (/^(?:what do you think|thoughts|wdyt)$/u.test(normalized))
153
+ return true;
154
+ 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)) {
155
+ return true;
156
+ }
157
+ if (wordCount(normalized) <= 2 &&
158
+ /^(?:please\s+)?(?:see|look|check|review|open|inspect|read)\b/u.test(normalized)) {
159
+ return true;
160
+ }
161
+ return false;
162
+ }
163
+ function scoreCandidate(candidate, index) {
164
+ if (isLowInformationCandidate(candidate))
165
+ return Number.NEGATIVE_INFINITY;
166
+ const words = wordCount(candidate);
167
+ if (words < 3)
168
+ return Number.NEGATIVE_INFINITY;
169
+ let score = Math.min(words, 12) * 2;
170
+ if (words > 16)
171
+ score -= (words - 16) * 1.5;
172
+ 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)) {
173
+ score += 20;
174
+ }
175
+ 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)) {
176
+ score += 16;
177
+ }
178
+ if (/\b(?:ui|tool|call|title|conversation|settings|error|issue|bug|status|display|page|component|api|name)\b/iu.test(candidate)) {
179
+ score += 8;
180
+ }
181
+ if (/\b(?:broken|hard|slow|fail|fails|error|issue|problem|confusing|unclear)\b/iu.test(candidate)) {
182
+ score += 8;
183
+ }
184
+ if (/^(?:because|sometime|sometimes|here is|this is)\b/iu.test(candidate)) {
185
+ score -= 12;
186
+ }
187
+ return score - index * 0.1;
188
+ }
189
+ function firstSentence(text) {
190
+ const match = text.match(/^(.{12,}?[.!?])(?:\s|$)/u);
191
+ return (match?.[1] ?? text).trim();
192
+ }
193
+ function truncateTitle(title) {
194
+ if (title.length <= MAX_TITLE_LENGTH)
195
+ return title;
196
+ const prefix = title.slice(0, MAX_TITLE_LENGTH - 1);
197
+ const lastSpace = prefix.lastIndexOf(" ");
198
+ const cut = lastSpace >= 36 ? prefix.slice(0, lastSpace) : prefix;
199
+ return `${cut.replace(/[\s,;:.-]+$/u, "")}…`;
200
+ }
201
+ function finalClean(title) {
202
+ const cleaned = title
203
+ .replace(/^[\s:;,.!?\-–—]+/u, "")
204
+ .replace(/[\s:;,\-–—]+$/u, "")
205
+ .replace(/\s+/g, " ")
206
+ .trim();
207
+ if (!cleaned)
208
+ return "";
209
+ return cleaned.replace(/^\p{Ll}/u, (char) => char.toLocaleUpperCase());
210
+ }
211
+ function hasImageReference(text) {
212
+ 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);
213
+ }
214
+ function hasFileReference(text) {
215
+ return fileReferencePattern().test(text);
216
+ }
217
+ function hasUrlReference(text) {
218
+ return /https?:\/\/\S+|www\.\S+/i.test(text);
219
+ }
220
+ function fallbackTitle(text) {
221
+ if (hasImageReference(text))
222
+ return IMAGE_REVIEW_TITLE;
223
+ if (hasFileReference(text))
224
+ return FILE_REVIEW_TITLE;
225
+ if (hasUrlReference(text))
226
+ return LINK_REVIEW_TITLE;
227
+ return DEFAULT_CONVERSATION_TITLE;
228
+ }
229
+ export function deriveConversationTitle(text) {
230
+ const candidates = candidateFragments(text)
231
+ .map((candidate) => finalClean(truncateTitle(firstSentence(candidate))))
232
+ .filter((candidate) => readableCharCount(candidate) >= MIN_READABLE_CHARS);
233
+ let best = "";
234
+ let bestScore = Number.NEGATIVE_INFINITY;
235
+ candidates.forEach((candidate, index) => {
236
+ const score = scoreCandidate(candidate, index);
237
+ if (score > bestScore) {
238
+ best = candidate;
239
+ bestScore = score;
240
+ }
241
+ });
242
+ return best || fallbackTitle(text);
243
+ }
244
+ //# sourceMappingURL=conversation-title.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation-title.js","sourceRoot":"","sources":["../src/conversation-title.ts"],"names":[],"mappings":"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"}