@harborclient/core 0.1.1

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 (736) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/LICENSE +21 -0
  3. package/README.md +36 -0
  4. package/dist/ai/chatComposer.d.ts +12 -0
  5. package/dist/ai/chatComposer.d.ts.map +1 -0
  6. package/dist/ai/chatComposer.js +20 -0
  7. package/dist/ai/chatComposer.js.map +1 -0
  8. package/dist/ai/chatContext.d.ts +181 -0
  9. package/dist/ai/chatContext.d.ts.map +1 -0
  10. package/dist/ai/chatContext.js +168 -0
  11. package/dist/ai/chatContext.js.map +1 -0
  12. package/dist/ai/chatStepMode.d.ts +43 -0
  13. package/dist/ai/chatStepMode.d.ts.map +1 -0
  14. package/dist/ai/chatStepMode.js +64 -0
  15. package/dist/ai/chatStepMode.js.map +1 -0
  16. package/dist/ai/chatTitle.d.ts +35 -0
  17. package/dist/ai/chatTitle.d.ts.map +1 -0
  18. package/dist/ai/chatTitle.js +109 -0
  19. package/dist/ai/chatTitle.js.map +1 -0
  20. package/dist/ai/gitCommitMessage.d.ts +47 -0
  21. package/dist/ai/gitCommitMessage.d.ts.map +1 -0
  22. package/dist/ai/gitCommitMessage.js +139 -0
  23. package/dist/ai/gitCommitMessage.js.map +1 -0
  24. package/dist/ai/models.d.ts +115 -0
  25. package/dist/ai/models.d.ts.map +1 -0
  26. package/dist/ai/models.js +209 -0
  27. package/dist/ai/models.js.map +1 -0
  28. package/dist/ai/requestUpdate.d.ts +273 -0
  29. package/dist/ai/requestUpdate.d.ts.map +1 -0
  30. package/dist/ai/requestUpdate.js +274 -0
  31. package/dist/ai/requestUpdate.js.map +1 -0
  32. package/dist/ai/scriptAsk.d.ts +115 -0
  33. package/dist/ai/scriptAsk.d.ts.map +1 -0
  34. package/dist/ai/scriptAsk.js +243 -0
  35. package/dist/ai/scriptAsk.js.map +1 -0
  36. package/dist/ai/scriptReferences.d.ts +377 -0
  37. package/dist/ai/scriptReferences.d.ts.map +1 -0
  38. package/dist/ai/scriptReferences.js +787 -0
  39. package/dist/ai/scriptReferences.js.map +1 -0
  40. package/dist/ai/settings.d.ts +8 -0
  41. package/dist/ai/settings.d.ts.map +1 -0
  42. package/dist/ai/settings.js +11 -0
  43. package/dist/ai/settings.js.map +1 -0
  44. package/dist/ai/tools/ITool.d.ts +26 -0
  45. package/dist/ai/tools/ITool.d.ts.map +1 -0
  46. package/dist/ai/tools/ITool.js +2 -0
  47. package/dist/ai/tools/ITool.js.map +1 -0
  48. package/dist/ai/tools/createCollection.d.ts +164 -0
  49. package/dist/ai/tools/createCollection.d.ts.map +1 -0
  50. package/dist/ai/tools/createCollection.js +36 -0
  51. package/dist/ai/tools/createCollection.js.map +1 -0
  52. package/dist/ai/tools/createFolder.d.ts +50 -0
  53. package/dist/ai/tools/createFolder.d.ts.map +1 -0
  54. package/dist/ai/tools/createFolder.js +34 -0
  55. package/dist/ai/tools/createFolder.js.map +1 -0
  56. package/dist/ai/tools/createRequest.d.ts +210 -0
  57. package/dist/ai/tools/createRequest.d.ts.map +1 -0
  58. package/dist/ai/tools/createRequest.js +88 -0
  59. package/dist/ai/tools/createRequest.js.map +1 -0
  60. package/dist/ai/tools/getActiveRequest.d.ts +20 -0
  61. package/dist/ai/tools/getActiveRequest.d.ts.map +1 -0
  62. package/dist/ai/tools/getActiveRequest.js +16 -0
  63. package/dist/ai/tools/getActiveRequest.js.map +1 -0
  64. package/dist/ai/tools/getActiveRequestDetails.d.ts +20 -0
  65. package/dist/ai/tools/getActiveRequestDetails.d.ts.map +1 -0
  66. package/dist/ai/tools/getActiveRequestDetails.js +16 -0
  67. package/dist/ai/tools/getActiveRequestDetails.js.map +1 -0
  68. package/dist/ai/tools/getActiveResponse.d.ts +39 -0
  69. package/dist/ai/tools/getActiveResponse.d.ts.map +1 -0
  70. package/dist/ai/tools/getActiveResponse.js +30 -0
  71. package/dist/ai/tools/getActiveResponse.js.map +1 -0
  72. package/dist/ai/tools/getActiveResponseSummary.d.ts +20 -0
  73. package/dist/ai/tools/getActiveResponseSummary.d.ts.map +1 -0
  74. package/dist/ai/tools/getActiveResponseSummary.js +16 -0
  75. package/dist/ai/tools/getActiveResponseSummary.js.map +1 -0
  76. package/dist/ai/tools/getActiveTerminal.d.ts +20 -0
  77. package/dist/ai/tools/getActiveTerminal.d.ts.map +1 -0
  78. package/dist/ai/tools/getActiveTerminal.js +16 -0
  79. package/dist/ai/tools/getActiveTerminal.js.map +1 -0
  80. package/dist/ai/tools/getActiveTerminalLines.d.ts +50 -0
  81. package/dist/ai/tools/getActiveTerminalLines.d.ts.map +1 -0
  82. package/dist/ai/tools/getActiveTerminalLines.js +37 -0
  83. package/dist/ai/tools/getActiveTerminalLines.js.map +1 -0
  84. package/dist/ai/tools/getCollection.d.ts +31 -0
  85. package/dist/ai/tools/getCollection.d.ts.map +1 -0
  86. package/dist/ai/tools/getCollection.js +28 -0
  87. package/dist/ai/tools/getCollection.js.map +1 -0
  88. package/dist/ai/tools/getFolder.d.ts +31 -0
  89. package/dist/ai/tools/getFolder.d.ts.map +1 -0
  90. package/dist/ai/tools/getFolder.js +28 -0
  91. package/dist/ai/tools/getFolder.js.map +1 -0
  92. package/dist/ai/tools/getMarkdownDocument.d.ts +40 -0
  93. package/dist/ai/tools/getMarkdownDocument.d.ts.map +1 -0
  94. package/dist/ai/tools/getMarkdownDocument.js +31 -0
  95. package/dist/ai/tools/getMarkdownDocument.js.map +1 -0
  96. package/dist/ai/tools/getRequest.d.ts +31 -0
  97. package/dist/ai/tools/getRequest.d.ts.map +1 -0
  98. package/dist/ai/tools/getRequest.js +28 -0
  99. package/dist/ai/tools/getRequest.js.map +1 -0
  100. package/dist/ai/tools/getSelectedCollection.d.ts +20 -0
  101. package/dist/ai/tools/getSelectedCollection.d.ts.map +1 -0
  102. package/dist/ai/tools/getSelectedCollection.js +16 -0
  103. package/dist/ai/tools/getSelectedCollection.js.map +1 -0
  104. package/dist/ai/tools/getSidebarRequest.d.ts +20 -0
  105. package/dist/ai/tools/getSidebarRequest.d.ts.map +1 -0
  106. package/dist/ai/tools/getSidebarRequest.js +16 -0
  107. package/dist/ai/tools/getSidebarRequest.js.map +1 -0
  108. package/dist/ai/tools/gitCommits.d.ts +50 -0
  109. package/dist/ai/tools/gitCommits.d.ts.map +1 -0
  110. package/dist/ai/tools/gitCommits.js +37 -0
  111. package/dist/ai/tools/gitCommits.js.map +1 -0
  112. package/dist/ai/tools/gitDiff.d.ts +70 -0
  113. package/dist/ai/tools/gitDiff.d.ts.map +1 -0
  114. package/dist/ai/tools/gitDiff.js +49 -0
  115. package/dist/ai/tools/gitDiff.js.map +1 -0
  116. package/dist/ai/tools/gitFileDiff.d.ts +80 -0
  117. package/dist/ai/tools/gitFileDiff.d.ts.map +1 -0
  118. package/dist/ai/tools/gitFileDiff.js +55 -0
  119. package/dist/ai/tools/gitFileDiff.js.map +1 -0
  120. package/dist/ai/tools/gitFileInfo.d.ts +60 -0
  121. package/dist/ai/tools/gitFileInfo.d.ts.map +1 -0
  122. package/dist/ai/tools/gitFileInfo.js +43 -0
  123. package/dist/ai/tools/gitFileInfo.js.map +1 -0
  124. package/dist/ai/tools/gitRepoInfo.d.ts +40 -0
  125. package/dist/ai/tools/gitRepoInfo.d.ts.map +1 -0
  126. package/dist/ai/tools/gitRepoInfo.js +31 -0
  127. package/dist/ai/tools/gitRepoInfo.js.map +1 -0
  128. package/dist/ai/tools/index.d.ts +1260 -0
  129. package/dist/ai/tools/index.d.ts.map +1 -0
  130. package/dist/ai/tools/index.js +100 -0
  131. package/dist/ai/tools/index.js.map +1 -0
  132. package/dist/ai/tools/listCollections.d.ts +20 -0
  133. package/dist/ai/tools/listCollections.d.ts.map +1 -0
  134. package/dist/ai/tools/listCollections.js +16 -0
  135. package/dist/ai/tools/listCollections.js.map +1 -0
  136. package/dist/ai/tools/listEnvironments.d.ts +20 -0
  137. package/dist/ai/tools/listEnvironments.d.ts.map +1 -0
  138. package/dist/ai/tools/listEnvironments.js +16 -0
  139. package/dist/ai/tools/listEnvironments.js.map +1 -0
  140. package/dist/ai/tools/listRequests.d.ts +40 -0
  141. package/dist/ai/tools/listRequests.d.ts.map +1 -0
  142. package/dist/ai/tools/listRequests.js +28 -0
  143. package/dist/ai/tools/listRequests.js.map +1 -0
  144. package/dist/ai/tools/queryResponseBody.d.ts +50 -0
  145. package/dist/ai/tools/queryResponseBody.d.ts.map +1 -0
  146. package/dist/ai/tools/queryResponseBody.js +37 -0
  147. package/dist/ai/tools/queryResponseBody.js.map +1 -0
  148. package/dist/ai/tools/schemas.d.ts +152 -0
  149. package/dist/ai/tools/schemas.d.ts.map +1 -0
  150. package/dist/ai/tools/schemas.js +81 -0
  151. package/dist/ai/tools/schemas.js.map +1 -0
  152. package/dist/ai/tools/searchDocs.d.ts +64 -0
  153. package/dist/ai/tools/searchDocs.d.ts.map +1 -0
  154. package/dist/ai/tools/searchDocs.js +44 -0
  155. package/dist/ai/tools/searchDocs.js.map +1 -0
  156. package/dist/ai/tools/sendActiveRequest.d.ts +39 -0
  157. package/dist/ai/tools/sendActiveRequest.d.ts.map +1 -0
  158. package/dist/ai/tools/sendActiveRequest.js +30 -0
  159. package/dist/ai/tools/sendActiveRequest.js.map +1 -0
  160. package/dist/ai/tools/setActiveEnvironment.d.ts +49 -0
  161. package/dist/ai/tools/setActiveEnvironment.d.ts.map +1 -0
  162. package/dist/ai/tools/setActiveEnvironment.js +36 -0
  163. package/dist/ai/tools/setActiveEnvironment.js.map +1 -0
  164. package/dist/ai/tools/systemPrompt.d.ts +5 -0
  165. package/dist/ai/tools/systemPrompt.d.ts.map +1 -0
  166. package/dist/ai/tools/systemPrompt.js +34 -0
  167. package/dist/ai/tools/systemPrompt.js.map +1 -0
  168. package/dist/ai/tools/terminalExec.d.ts +40 -0
  169. package/dist/ai/tools/terminalExec.d.ts.map +1 -0
  170. package/dist/ai/tools/terminalExec.js +31 -0
  171. package/dist/ai/tools/terminalExec.js.map +1 -0
  172. package/dist/ai/tools/types.d.ts +68 -0
  173. package/dist/ai/tools/types.d.ts.map +1 -0
  174. package/dist/ai/tools/types.js +2 -0
  175. package/dist/ai/tools/types.js.map +1 -0
  176. package/dist/ai/tools/updateActiveRequest.d.ts +279 -0
  177. package/dist/ai/tools/updateActiveRequest.d.ts.map +1 -0
  178. package/dist/ai/tools/updateActiveRequest.js +175 -0
  179. package/dist/ai/tools/updateActiveRequest.js.map +1 -0
  180. package/dist/ai/tools/updateRequestScript.d.ts +93 -0
  181. package/dist/ai/tools/updateRequestScript.d.ts.map +1 -0
  182. package/dist/ai/tools/updateRequestScript.js +57 -0
  183. package/dist/ai/tools/updateRequestScript.js.map +1 -0
  184. package/dist/auth.d.ts +192 -0
  185. package/dist/auth.d.ts.map +1 -0
  186. package/dist/auth.js +294 -0
  187. package/dist/auth.js.map +1 -0
  188. package/dist/bodyRawSend.d.ts +25 -0
  189. package/dist/bodyRawSend.d.ts.map +1 -0
  190. package/dist/bodyRawSend.js +61 -0
  191. package/dist/bodyRawSend.js.map +1 -0
  192. package/dist/builtinThemes.d.ts +33 -0
  193. package/dist/builtinThemes.d.ts.map +1 -0
  194. package/dist/builtinThemes.js +40 -0
  195. package/dist/builtinThemes.js.map +1 -0
  196. package/dist/codeEditorSettings.d.ts +2 -0
  197. package/dist/codeEditorSettings.d.ts.map +1 -0
  198. package/dist/codeEditorSettings.js +2 -0
  199. package/dist/codeEditorSettings.js.map +1 -0
  200. package/dist/collectionContainerOrder.d.ts +42 -0
  201. package/dist/collectionContainerOrder.d.ts.map +1 -0
  202. package/dist/collectionContainerOrder.js +62 -0
  203. package/dist/collectionContainerOrder.js.map +1 -0
  204. package/dist/collectionRunner.d.ts +510 -0
  205. package/dist/collectionRunner.d.ts.map +1 -0
  206. package/dist/collectionRunner.js +296 -0
  207. package/dist/collectionRunner.js.map +1 -0
  208. package/dist/contrast.d.ts +16 -0
  209. package/dist/contrast.d.ts.map +1 -0
  210. package/dist/contrast.js +51 -0
  211. package/dist/contrast.js.map +1 -0
  212. package/dist/cookies/CookieJar.d.ts +151 -0
  213. package/dist/cookies/CookieJar.d.ts.map +1 -0
  214. package/dist/cookies/CookieJar.js +318 -0
  215. package/dist/cookies/CookieJar.js.map +1 -0
  216. package/dist/deepLink.d.ts +98 -0
  217. package/dist/deepLink.d.ts.map +1 -0
  218. package/dist/deepLink.js +211 -0
  219. package/dist/deepLink.js.map +1 -0
  220. package/dist/environmentVariables.d.ts +34 -0
  221. package/dist/environmentVariables.d.ts.map +1 -0
  222. package/dist/environmentVariables.js +56 -0
  223. package/dist/environmentVariables.js.map +1 -0
  224. package/dist/filestore/index.d.ts +16 -0
  225. package/dist/filestore/index.d.ts.map +1 -0
  226. package/dist/filestore/index.js +16 -0
  227. package/dist/filestore/index.js.map +1 -0
  228. package/dist/filestore/parse.d.ts +44 -0
  229. package/dist/filestore/parse.d.ts.map +1 -0
  230. package/dist/filestore/parse.js +80 -0
  231. package/dist/filestore/parse.js.map +1 -0
  232. package/dist/filestore/schemas.d.ts +1612 -0
  233. package/dist/filestore/schemas.d.ts.map +1 -0
  234. package/dist/filestore/schemas.js +586 -0
  235. package/dist/filestore/schemas.js.map +1 -0
  236. package/dist/filestore/snippet.d.ts +10 -0
  237. package/dist/filestore/snippet.d.ts.map +1 -0
  238. package/dist/filestore/snippet.js +43 -0
  239. package/dist/filestore/snippet.js.map +1 -0
  240. package/dist/filestore/storageSchemas.d.ts +123 -0
  241. package/dist/filestore/storageSchemas.d.ts.map +1 -0
  242. package/dist/filestore/storageSchemas.js +94 -0
  243. package/dist/filestore/storageSchemas.js.map +1 -0
  244. package/dist/filestore/stringify.d.ts +59 -0
  245. package/dist/filestore/stringify.d.ts.map +1 -0
  246. package/dist/filestore/stringify.js +103 -0
  247. package/dist/filestore/stringify.js.map +1 -0
  248. package/dist/filestore/validate.d.ts +60 -0
  249. package/dist/filestore/validate.d.ts.map +1 -0
  250. package/dist/filestore/validate.js +118 -0
  251. package/dist/filestore/validate.js.map +1 -0
  252. package/dist/filestore/variables.d.ts +9 -0
  253. package/dist/filestore/variables.d.ts.map +1 -0
  254. package/dist/filestore/variables.js +15 -0
  255. package/dist/filestore/variables.js.map +1 -0
  256. package/dist/formData.d.ts +2 -0
  257. package/dist/formData.d.ts.map +1 -0
  258. package/dist/formData.js +2 -0
  259. package/dist/formData.js.map +1 -0
  260. package/dist/generalSettings.d.ts +22 -0
  261. package/dist/generalSettings.d.ts.map +1 -0
  262. package/dist/generalSettings.js +188 -0
  263. package/dist/generalSettings.js.map +1 -0
  264. package/dist/gitHttpErrors.d.ts +125 -0
  265. package/dist/gitHttpErrors.d.ts.map +1 -0
  266. package/dist/gitHttpErrors.js +271 -0
  267. package/dist/gitHttpErrors.js.map +1 -0
  268. package/dist/gitSidebarExpansion.d.ts +22 -0
  269. package/dist/gitSidebarExpansion.d.ts.map +1 -0
  270. package/dist/gitSidebarExpansion.js +16 -0
  271. package/dist/gitSidebarExpansion.js.map +1 -0
  272. package/dist/gitUrl.d.ts +39 -0
  273. package/dist/gitUrl.d.ts.map +1 -0
  274. package/dist/gitUrl.js +105 -0
  275. package/dist/gitUrl.js.map +1 -0
  276. package/dist/harborclientExport.d.ts +23 -0
  277. package/dist/harborclientExport.d.ts.map +1 -0
  278. package/dist/harborclientExport.js +39 -0
  279. package/dist/harborclientExport.js.map +1 -0
  280. package/dist/highContrastPalette.d.ts +91 -0
  281. package/dist/highContrastPalette.d.ts.map +1 -0
  282. package/dist/highContrastPalette.js +118 -0
  283. package/dist/highContrastPalette.js.map +1 -0
  284. package/dist/httpHeaders.d.ts +2 -0
  285. package/dist/httpHeaders.d.ts.map +1 -0
  286. package/dist/httpHeaders.js +2 -0
  287. package/dist/httpHeaders.js.map +1 -0
  288. package/dist/httpMethod.d.ts +9 -0
  289. package/dist/httpMethod.d.ts.map +1 -0
  290. package/dist/httpMethod.js +23 -0
  291. package/dist/httpMethod.js.map +1 -0
  292. package/dist/index.d.ts +18 -0
  293. package/dist/index.d.ts.map +1 -0
  294. package/dist/index.js +16 -0
  295. package/dist/index.js.map +1 -0
  296. package/dist/interfaces/ICookieJar.d.ts +41 -0
  297. package/dist/interfaces/ICookieJar.d.ts.map +1 -0
  298. package/dist/interfaces/ICookieJar.js +2 -0
  299. package/dist/interfaces/ICookieJar.js.map +1 -0
  300. package/dist/interfaces/IScriptRunner.d.ts +20 -0
  301. package/dist/interfaces/IScriptRunner.d.ts.map +1 -0
  302. package/dist/interfaces/IScriptRunner.js +2 -0
  303. package/dist/interfaces/IScriptRunner.js.map +1 -0
  304. package/dist/interfaces/PluginHooks.d.ts +24 -0
  305. package/dist/interfaces/PluginHooks.d.ts.map +1 -0
  306. package/dist/interfaces/PluginHooks.js +2 -0
  307. package/dist/interfaces/PluginHooks.js.map +1 -0
  308. package/dist/interfaces/SettingsProvider.d.ts +20 -0
  309. package/dist/interfaces/SettingsProvider.d.ts.map +1 -0
  310. package/dist/interfaces/SettingsProvider.js +2 -0
  311. package/dist/interfaces/SettingsProvider.js.map +1 -0
  312. package/dist/interfaces/index.d.ts +5 -0
  313. package/dist/interfaces/index.d.ts.map +1 -0
  314. package/dist/interfaces/index.js +2 -0
  315. package/dist/interfaces/index.js.map +1 -0
  316. package/dist/mcpToolNames.d.ts +27 -0
  317. package/dist/mcpToolNames.d.ts.map +1 -0
  318. package/dist/mcpToolNames.js +41 -0
  319. package/dist/mcpToolNames.js.map +1 -0
  320. package/dist/multipartRaw.d.ts +85 -0
  321. package/dist/multipartRaw.d.ts.map +1 -0
  322. package/dist/multipartRaw.js +244 -0
  323. package/dist/multipartRaw.js.map +1 -0
  324. package/dist/network/executeHttpSend.d.ts +39 -0
  325. package/dist/network/executeHttpSend.d.ts.map +1 -0
  326. package/dist/network/executeHttpSend.js +60 -0
  327. package/dist/network/executeHttpSend.js.map +1 -0
  328. package/dist/pageSidebarSection.d.ts +35 -0
  329. package/dist/pageSidebarSection.d.ts.map +1 -0
  330. package/dist/pageSidebarSection.js +76 -0
  331. package/dist/pageSidebarSection.js.map +1 -0
  332. package/dist/parseJson.d.ts +8 -0
  333. package/dist/parseJson.d.ts.map +1 -0
  334. package/dist/parseJson.js +17 -0
  335. package/dist/parseJson.js.map +1 -0
  336. package/dist/plugin/catalog.d.ts +229 -0
  337. package/dist/plugin/catalog.d.ts.map +1 -0
  338. package/dist/plugin/catalog.js +248 -0
  339. package/dist/plugin/catalog.js.map +1 -0
  340. package/dist/plugin/catalogCategories.d.ts +30 -0
  341. package/dist/plugin/catalogCategories.d.ts.map +1 -0
  342. package/dist/plugin/catalogCategories.js +88 -0
  343. package/dist/plugin/catalogCategories.js.map +1 -0
  344. package/dist/plugin/customThemeExport.d.ts +95 -0
  345. package/dist/plugin/customThemeExport.d.ts.map +1 -0
  346. package/dist/plugin/customThemeExport.js +264 -0
  347. package/dist/plugin/customThemeExport.js.map +1 -0
  348. package/dist/plugin/databaseTypes.d.ts +90 -0
  349. package/dist/plugin/databaseTypes.d.ts.map +1 -0
  350. package/dist/plugin/databaseTypes.js +2 -0
  351. package/dist/plugin/databaseTypes.js.map +1 -0
  352. package/dist/plugin/githubRaw.d.ts +54 -0
  353. package/dist/plugin/githubRaw.d.ts.map +1 -0
  354. package/dist/plugin/githubRaw.js +138 -0
  355. package/dist/plugin/githubRaw.js.map +1 -0
  356. package/dist/plugin/httpRequest.d.ts +17 -0
  357. package/dist/plugin/httpRequest.d.ts.map +1 -0
  358. package/dist/plugin/httpRequest.js +45 -0
  359. package/dist/plugin/httpRequest.js.map +1 -0
  360. package/dist/plugin/importHandlers.d.ts +65 -0
  361. package/dist/plugin/importHandlers.d.ts.map +1 -0
  362. package/dist/plugin/importHandlers.js +2 -0
  363. package/dist/plugin/importHandlers.js.map +1 -0
  364. package/dist/plugin/pluginDatabaseApi.d.ts +39 -0
  365. package/dist/plugin/pluginDatabaseApi.d.ts.map +1 -0
  366. package/dist/plugin/pluginDatabaseApi.js +45 -0
  367. package/dist/plugin/pluginDatabaseApi.js.map +1 -0
  368. package/dist/plugin/pluginSurface.d.ts +20 -0
  369. package/dist/plugin/pluginSurface.d.ts.map +1 -0
  370. package/dist/plugin/pluginSurface.js +31 -0
  371. package/dist/plugin/pluginSurface.js.map +1 -0
  372. package/dist/plugin/stripPluginScreenshotImagesFromMarkdown.d.ts +9 -0
  373. package/dist/plugin/stripPluginScreenshotImagesFromMarkdown.d.ts.map +1 -0
  374. package/dist/plugin/stripPluginScreenshotImagesFromMarkdown.js +132 -0
  375. package/dist/plugin/stripPluginScreenshotImagesFromMarkdown.js.map +1 -0
  376. package/dist/plugin/themeCategory.d.ts +62 -0
  377. package/dist/plugin/themeCategory.d.ts.map +1 -0
  378. package/dist/plugin/themeCategory.js +84 -0
  379. package/dist/plugin/themeCategory.js.map +1 -0
  380. package/dist/plugin/types.d.ts +415 -0
  381. package/dist/plugin/types.d.ts.map +1 -0
  382. package/dist/plugin/types.js +81 -0
  383. package/dist/plugin/types.js.map +1 -0
  384. package/dist/queryParams.d.ts +63 -0
  385. package/dist/queryParams.d.ts.map +1 -0
  386. package/dist/queryParams.js +170 -0
  387. package/dist/queryParams.js.map +1 -0
  388. package/dist/requestEditorTab.d.ts +24 -0
  389. package/dist/requestEditorTab.d.ts.map +1 -0
  390. package/dist/requestEditorTab.js +44 -0
  391. package/dist/requestEditorTab.js.map +1 -0
  392. package/dist/requestRunner/RequestRunner.d.ts +39 -0
  393. package/dist/requestRunner/RequestRunner.d.ts.map +1 -0
  394. package/dist/requestRunner/RequestRunner.js +298 -0
  395. package/dist/requestRunner/RequestRunner.js.map +1 -0
  396. package/dist/requestRunner/helpers.d.ts +52 -0
  397. package/dist/requestRunner/helpers.d.ts.map +1 -0
  398. package/dist/requestRunner/helpers.js +195 -0
  399. package/dist/requestRunner/helpers.js.map +1 -0
  400. package/dist/requestRunner/index.d.ts +7 -0
  401. package/dist/requestRunner/index.d.ts.map +1 -0
  402. package/dist/requestRunner/index.js +6 -0
  403. package/dist/requestRunner/index.js.map +1 -0
  404. package/dist/requestRunner/types.d.ts +148 -0
  405. package/dist/requestRunner/types.d.ts.map +1 -0
  406. package/dist/requestRunner/types.js +2 -0
  407. package/dist/requestRunner/types.js.map +1 -0
  408. package/dist/requestTags.d.ts +22 -0
  409. package/dist/requestTags.d.ts.map +1 -0
  410. package/dist/requestTags.js +34 -0
  411. package/dist/requestTags.js.map +1 -0
  412. package/dist/scriptRefs.d.ts +190 -0
  413. package/dist/scriptRefs.d.ts.map +1 -0
  414. package/dist/scriptRefs.js +387 -0
  415. package/dist/scriptRefs.js.map +1 -0
  416. package/dist/scriptStage.d.ts +118 -0
  417. package/dist/scriptStage.d.ts.map +1 -0
  418. package/dist/scriptStage.js +204 -0
  419. package/dist/scriptStage.js.map +1 -0
  420. package/dist/scripting/scriptApi.d.ts +59 -0
  421. package/dist/scripting/scriptApi.d.ts.map +1 -0
  422. package/dist/scripting/scriptApi.js +692 -0
  423. package/dist/scripting/scriptApi.js.map +1 -0
  424. package/dist/scripting/scriptAssertionCompat.d.ts +21 -0
  425. package/dist/scripting/scriptAssertionCompat.d.ts.map +1 -0
  426. package/dist/scripting/scriptAssertionCompat.js +58 -0
  427. package/dist/scripting/scriptAssertionCompat.js.map +1 -0
  428. package/dist/scripting/scriptEvaluator.d.ts +42 -0
  429. package/dist/scripting/scriptEvaluator.d.ts.map +1 -0
  430. package/dist/scripting/scriptEvaluator.js +179 -0
  431. package/dist/scripting/scriptEvaluator.js.map +1 -0
  432. package/dist/scripting/scriptExpect.d.ts +3 -0
  433. package/dist/scripting/scriptExpect.d.ts.map +1 -0
  434. package/dist/scripting/scriptExpect.js +14 -0
  435. package/dist/scripting/scriptExpect.js.map +1 -0
  436. package/dist/scripting/scriptFileOperations.d.ts +172 -0
  437. package/dist/scripting/scriptFileOperations.d.ts.map +1 -0
  438. package/dist/scripting/scriptFileOperations.js +271 -0
  439. package/dist/scripting/scriptFileOperations.js.map +1 -0
  440. package/dist/scripting/scriptResponseAssertions.d.ts +40 -0
  441. package/dist/scripting/scriptResponseAssertions.d.ts.map +1 -0
  442. package/dist/scripting/scriptResponseAssertions.js +249 -0
  443. package/dist/scripting/scriptResponseAssertions.js.map +1 -0
  444. package/dist/scripting/scriptResponseDocument.d.ts +47 -0
  445. package/dist/scripting/scriptResponseDocument.d.ts.map +1 -0
  446. package/dist/scripting/scriptResponseDocument.js +49 -0
  447. package/dist/scripting/scriptResponseDocument.js.map +1 -0
  448. package/dist/scripting/scriptRunner.d.ts +2 -0
  449. package/dist/scripting/scriptRunner.d.ts.map +1 -0
  450. package/dist/scripting/scriptRunner.js +132 -0
  451. package/dist/scripting/scriptRunner.js.map +1 -0
  452. package/dist/scripting/scriptSnippetBundler.d.ts +46 -0
  453. package/dist/scripting/scriptSnippetBundler.d.ts.map +1 -0
  454. package/dist/scripting/scriptSnippetBundler.js +136 -0
  455. package/dist/scripting/scriptSnippetBundler.js.map +1 -0
  456. package/dist/search/actions.d.ts +44 -0
  457. package/dist/search/actions.d.ts.map +1 -0
  458. package/dist/search/actions.js +120 -0
  459. package/dist/search/actions.js.map +1 -0
  460. package/dist/search/index.d.ts +13 -0
  461. package/dist/search/index.d.ts.map +1 -0
  462. package/dist/search/index.js +13 -0
  463. package/dist/search/index.js.map +1 -0
  464. package/dist/search/installedPlugins.d.ts +31 -0
  465. package/dist/search/installedPlugins.d.ts.map +1 -0
  466. package/dist/search/installedPlugins.js +73 -0
  467. package/dist/search/installedPlugins.js.map +1 -0
  468. package/dist/search/oramaIndex.d.ts +47 -0
  469. package/dist/search/oramaIndex.d.ts.map +1 -0
  470. package/dist/search/oramaIndex.js +56 -0
  471. package/dist/search/oramaIndex.js.map +1 -0
  472. package/dist/search/pagesCatalog.d.ts +34 -0
  473. package/dist/search/pagesCatalog.d.ts.map +1 -0
  474. package/dist/search/pagesCatalog.js +37 -0
  475. package/dist/search/pagesCatalog.js.map +1 -0
  476. package/dist/search/plugins.d.ts +40 -0
  477. package/dist/search/plugins.d.ts.map +1 -0
  478. package/dist/search/plugins.js +79 -0
  479. package/dist/search/plugins.js.map +1 -0
  480. package/dist/search/settings.d.ts +29 -0
  481. package/dist/search/settings.d.ts.map +1 -0
  482. package/dist/search/settings.js +63 -0
  483. package/dist/search/settings.js.map +1 -0
  484. package/dist/search/settingsCatalog.d.ts +112 -0
  485. package/dist/search/settingsCatalog.d.ts.map +1 -0
  486. package/dist/search/settingsCatalog.js +426 -0
  487. package/dist/search/settingsCatalog.js.map +1 -0
  488. package/dist/search/sidebar.d.ts +139 -0
  489. package/dist/search/sidebar.d.ts.map +1 -0
  490. package/dist/search/sidebar.js +342 -0
  491. package/dist/search/sidebar.js.map +1 -0
  492. package/dist/search/slashCommands.d.ts +45 -0
  493. package/dist/search/slashCommands.d.ts.map +1 -0
  494. package/dist/search/slashCommands.js +71 -0
  495. package/dist/search/slashCommands.js.map +1 -0
  496. package/dist/search/snippets.d.ts +48 -0
  497. package/dist/search/snippets.d.ts.map +1 -0
  498. package/dist/search/snippets.js +114 -0
  499. package/dist/search/snippets.js.map +1 -0
  500. package/dist/search/types.d.ts +60 -0
  501. package/dist/search/types.d.ts.map +1 -0
  502. package/dist/search/types.js +49 -0
  503. package/dist/search/types.js.map +1 -0
  504. package/dist/search/unified.d.ts +57 -0
  505. package/dist/search/unified.d.ts.map +1 -0
  506. package/dist/search/unified.js +153 -0
  507. package/dist/search/unified.js.map +1 -0
  508. package/dist/shortcuts.d.ts +174 -0
  509. package/dist/shortcuts.d.ts.map +1 -0
  510. package/dist/shortcuts.js +1040 -0
  511. package/dist/shortcuts.js.map +1 -0
  512. package/dist/sidebarColor.d.ts +16 -0
  513. package/dist/sidebarColor.d.ts.map +1 -0
  514. package/dist/sidebarColor.js +21 -0
  515. package/dist/sidebarColor.js.map +1 -0
  516. package/dist/sidebarExpansion.d.ts +12 -0
  517. package/dist/sidebarExpansion.d.ts.map +1 -0
  518. package/dist/sidebarExpansion.js +116 -0
  519. package/dist/sidebarExpansion.js.map +1 -0
  520. package/dist/snippet/catalog.d.ts +120 -0
  521. package/dist/snippet/catalog.d.ts.map +1 -0
  522. package/dist/snippet/catalog.js +105 -0
  523. package/dist/snippet/catalog.js.map +1 -0
  524. package/dist/snippet/types.d.ts +90 -0
  525. package/dist/snippet/types.d.ts.map +1 -0
  526. package/dist/snippet/types.js +2 -0
  527. package/dist/snippet/types.js.map +1 -0
  528. package/dist/snippetBundle.d.ts +21 -0
  529. package/dist/snippetBundle.d.ts.map +1 -0
  530. package/dist/snippetBundle.js +107 -0
  531. package/dist/snippetBundle.js.map +1 -0
  532. package/dist/snippetImport.d.ts +19 -0
  533. package/dist/snippetImport.d.ts.map +1 -0
  534. package/dist/snippetImport.js +34 -0
  535. package/dist/snippetImport.js.map +1 -0
  536. package/dist/snippetScope.d.ts +42 -0
  537. package/dist/snippetScope.d.ts.map +1 -0
  538. package/dist/snippetScope.js +50 -0
  539. package/dist/snippetScope.js.map +1 -0
  540. package/dist/storage/IStorage.d.ts +375 -0
  541. package/dist/storage/IStorage.d.ts.map +1 -0
  542. package/dist/storage/IStorage.js +2 -0
  543. package/dist/storage/IStorage.js.map +1 -0
  544. package/dist/themes.d.ts +24 -0
  545. package/dist/themes.d.ts.map +1 -0
  546. package/dist/themes.js +10 -0
  547. package/dist/themes.js.map +1 -0
  548. package/dist/types/ai.d.ts +304 -0
  549. package/dist/types/ai.d.ts.map +1 -0
  550. package/dist/types/ai.js +2 -0
  551. package/dist/types/ai.js.map +1 -0
  552. package/dist/types/api/backup.d.ts +27 -0
  553. package/dist/types/api/backup.d.ts.map +1 -0
  554. package/dist/types/api/backup.js +2 -0
  555. package/dist/types/api/backup.js.map +1 -0
  556. package/dist/types/api/chats.d.ts +88 -0
  557. package/dist/types/api/chats.d.ts.map +1 -0
  558. package/dist/types/api/chats.js +2 -0
  559. package/dist/types/api/chats.js.map +1 -0
  560. package/dist/types/api/collections.d.ts +251 -0
  561. package/dist/types/api/collections.d.ts.map +1 -0
  562. package/dist/types/api/collections.js +2 -0
  563. package/dist/types/api/collections.js.map +1 -0
  564. package/dist/types/api/customThemes.d.ts +68 -0
  565. package/dist/types/api/customThemes.d.ts.map +1 -0
  566. package/dist/types/api/customThemes.js +2 -0
  567. package/dist/types/api/customThemes.js.map +1 -0
  568. package/dist/types/api/docs.d.ts +14 -0
  569. package/dist/types/api/docs.d.ts.map +1 -0
  570. package/dist/types/api/docs.js +2 -0
  571. package/dist/types/api/docs.js.map +1 -0
  572. package/dist/types/api/documents.d.ts +51 -0
  573. package/dist/types/api/documents.d.ts.map +1 -0
  574. package/dist/types/api/documents.js +2 -0
  575. package/dist/types/api/documents.js.map +1 -0
  576. package/dist/types/api/environments.d.ts +57 -0
  577. package/dist/types/api/environments.d.ts.map +1 -0
  578. package/dist/types/api/environments.js +2 -0
  579. package/dist/types/api/environments.js.map +1 -0
  580. package/dist/types/api/git.d.ts +392 -0
  581. package/dist/types/api/git.d.ts.map +1 -0
  582. package/dist/types/api/git.js +2 -0
  583. package/dist/types/api/git.js.map +1 -0
  584. package/dist/types/api/http.d.ts +47 -0
  585. package/dist/types/api/http.d.ts.map +1 -0
  586. package/dist/types/api/http.js +2 -0
  587. package/dist/types/api/http.js.map +1 -0
  588. package/dist/types/api/index.d.ts +28 -0
  589. package/dist/types/api/index.d.ts.map +1 -0
  590. package/dist/types/api/index.js +2 -0
  591. package/dist/types/api/index.js.map +1 -0
  592. package/dist/types/api/mcp.d.ts +77 -0
  593. package/dist/types/api/mcp.d.ts.map +1 -0
  594. package/dist/types/api/mcp.js +2 -0
  595. package/dist/types/api/mcp.js.map +1 -0
  596. package/dist/types/api/plugins.d.ts +338 -0
  597. package/dist/types/api/plugins.d.ts.map +1 -0
  598. package/dist/types/api/plugins.js +2 -0
  599. package/dist/types/api/plugins.js.map +1 -0
  600. package/dist/types/api/requestHistory.d.ts +27 -0
  601. package/dist/types/api/requestHistory.d.ts.map +1 -0
  602. package/dist/types/api/requestHistory.js +2 -0
  603. package/dist/types/api/requestHistory.js.map +1 -0
  604. package/dist/types/api/requests.d.ts +35 -0
  605. package/dist/types/api/requests.d.ts.map +1 -0
  606. package/dist/types/api/requests.js +2 -0
  607. package/dist/types/api/requests.js.map +1 -0
  608. package/dist/types/api/settings.d.ts +163 -0
  609. package/dist/types/api/settings.d.ts.map +1 -0
  610. package/dist/types/api/settings.js +2 -0
  611. package/dist/types/api/settings.js.map +1 -0
  612. package/dist/types/api/sharing.d.ts +68 -0
  613. package/dist/types/api/sharing.d.ts.map +1 -0
  614. package/dist/types/api/sharing.js +2 -0
  615. package/dist/types/api/sharing.js.map +1 -0
  616. package/dist/types/api/snippets.d.ts +159 -0
  617. package/dist/types/api/snippets.d.ts.map +1 -0
  618. package/dist/types/api/snippets.js +2 -0
  619. package/dist/types/api/snippets.js.map +1 -0
  620. package/dist/types/api/storage.d.ts +57 -0
  621. package/dist/types/api/storage.d.ts.map +1 -0
  622. package/dist/types/api/storage.js +2 -0
  623. package/dist/types/api/storage.js.map +1 -0
  624. package/dist/types/api/tabGroup.d.ts +43 -0
  625. package/dist/types/api/tabGroup.d.ts.map +1 -0
  626. package/dist/types/api/tabGroup.js +2 -0
  627. package/dist/types/api/tabGroup.js.map +1 -0
  628. package/dist/types/api/teamHub.d.ts +225 -0
  629. package/dist/types/api/teamHub.d.ts.map +1 -0
  630. package/dist/types/api/teamHub.js +2 -0
  631. package/dist/types/api/teamHub.js.map +1 -0
  632. package/dist/types/api/terminal.d.ts +101 -0
  633. package/dist/types/api/terminal.d.ts.map +1 -0
  634. package/dist/types/api/terminal.js +2 -0
  635. package/dist/types/api/terminal.js.map +1 -0
  636. package/dist/types/api/trash.d.ts +27 -0
  637. package/dist/types/api/trash.d.ts.map +1 -0
  638. package/dist/types/api/trash.js +2 -0
  639. package/dist/types/api/trash.js.map +1 -0
  640. package/dist/types/api/window.d.ts +251 -0
  641. package/dist/types/api/window.d.ts.map +1 -0
  642. package/dist/types/api/window.js +2 -0
  643. package/dist/types/api/window.js.map +1 -0
  644. package/dist/types/app.d.ts +83 -0
  645. package/dist/types/app.d.ts.map +1 -0
  646. package/dist/types/app.js +2 -0
  647. package/dist/types/app.js.map +1 -0
  648. package/dist/types/collection.d.ts +559 -0
  649. package/dist/types/collection.d.ts.map +1 -0
  650. package/dist/types/collection.js +2 -0
  651. package/dist/types/collection.js.map +1 -0
  652. package/dist/types/common.d.ts +23 -0
  653. package/dist/types/common.d.ts.map +1 -0
  654. package/dist/types/common.js +2 -0
  655. package/dist/types/common.js.map +1 -0
  656. package/dist/types/customTheme.d.ts +163 -0
  657. package/dist/types/customTheme.d.ts.map +1 -0
  658. package/dist/types/customTheme.js +311 -0
  659. package/dist/types/customTheme.js.map +1 -0
  660. package/dist/types/environment.d.ts +64 -0
  661. package/dist/types/environment.d.ts.map +1 -0
  662. package/dist/types/environment.js +2 -0
  663. package/dist/types/environment.js.map +1 -0
  664. package/dist/types/index.d.ts +21 -0
  665. package/dist/types/index.d.ts.map +1 -0
  666. package/dist/types/index.js +20 -0
  667. package/dist/types/index.js.map +1 -0
  668. package/dist/types/mcp.d.ts +153 -0
  669. package/dist/types/mcp.d.ts.map +1 -0
  670. package/dist/types/mcp.js +2 -0
  671. package/dist/types/mcp.js.map +1 -0
  672. package/dist/types/request.d.ts +294 -0
  673. package/dist/types/request.d.ts.map +1 -0
  674. package/dist/types/request.js +2 -0
  675. package/dist/types/request.js.map +1 -0
  676. package/dist/types/requestHistory.d.ts +88 -0
  677. package/dist/types/requestHistory.d.ts.map +1 -0
  678. package/dist/types/requestHistory.js +5 -0
  679. package/dist/types/requestHistory.js.map +1 -0
  680. package/dist/types/script.d.ts +366 -0
  681. package/dist/types/script.d.ts.map +1 -0
  682. package/dist/types/script.js +34 -0
  683. package/dist/types/script.js.map +1 -0
  684. package/dist/types/settings.d.ts +340 -0
  685. package/dist/types/settings.d.ts.map +1 -0
  686. package/dist/types/settings.js +3 -0
  687. package/dist/types/settings.js.map +1 -0
  688. package/dist/types/sharing.d.ts +87 -0
  689. package/dist/types/sharing.d.ts.map +1 -0
  690. package/dist/types/sharing.js +2 -0
  691. package/dist/types/sharing.js.map +1 -0
  692. package/dist/types/snippet.d.ts +150 -0
  693. package/dist/types/snippet.d.ts.map +1 -0
  694. package/dist/types/snippet.js +2 -0
  695. package/dist/types/snippet.js.map +1 -0
  696. package/dist/types/storage.d.ts +846 -0
  697. package/dist/types/storage.d.ts.map +1 -0
  698. package/dist/types/storage.js +2 -0
  699. package/dist/types/storage.js.map +1 -0
  700. package/dist/types/tabGroup.d.ts +108 -0
  701. package/dist/types/tabGroup.d.ts.map +1 -0
  702. package/dist/types/tabGroup.js +26 -0
  703. package/dist/types/tabGroup.js.map +1 -0
  704. package/dist/types/teamHub.d.ts +690 -0
  705. package/dist/types/teamHub.d.ts.map +1 -0
  706. package/dist/types/teamHub.js +2 -0
  707. package/dist/types/teamHub.js.map +1 -0
  708. package/dist/types/trash.d.ts +63 -0
  709. package/dist/types/trash.d.ts.map +1 -0
  710. package/dist/types/trash.js +2 -0
  711. package/dist/types/trash.js.map +1 -0
  712. package/dist/types/window.d.ts +14 -0
  713. package/dist/types/window.d.ts.map +1 -0
  714. package/dist/types/window.js +2 -0
  715. package/dist/types/window.js.map +1 -0
  716. package/dist/types.d.ts +7 -0
  717. package/dist/types.d.ts.map +1 -0
  718. package/dist/types.js +2 -0
  719. package/dist/types.js.map +1 -0
  720. package/dist/urlencoded.d.ts +2 -0
  721. package/dist/urlencoded.d.ts.map +1 -0
  722. package/dist/urlencoded.js +2 -0
  723. package/dist/urlencoded.js.map +1 -0
  724. package/dist/urlencodedRaw.d.ts +23 -0
  725. package/dist/urlencodedRaw.d.ts.map +1 -0
  726. package/dist/urlencodedRaw.js +60 -0
  727. package/dist/urlencodedRaw.js.map +1 -0
  728. package/dist/userAgent.d.ts +132 -0
  729. package/dist/userAgent.d.ts.map +1 -0
  730. package/dist/userAgent.js +178 -0
  731. package/dist/userAgent.js.map +1 -0
  732. package/dist/zoomPresets.d.ts +38 -0
  733. package/dist/zoomPresets.d.ts.map +1 -0
  734. package/dist/zoomPresets.js +67 -0
  735. package/dist/zoomPresets.js.map +1 -0
  736. package/package.json +92 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,13 @@
1
+ # Changelog
2
+
3
+ ## Unreleased
4
+
5
+ ## 0.1.1 - 2026-07-25
6
+
7
+ - fix: update pre-commit hook to block any local SDK link overrides. (`a4ab5392`)
8
+ - feat(gui): update dependencies and enhance theme management. (`babfa827`)
9
+ - feat(gui): enhance user agent handling across storage and request modules. (`cf17b788`)
10
+ - feat(core): update .gitignore, add thumbnails, and refactor auth module. (`58bbb3b6`)
11
+ - feat(docs): update documentation search index and improve logging format. (`6edd9fc`)
12
+ - feat(gui): refactor path resolution and enhance sidebar actions. (`56b3645`)
13
+
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Sean H
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,36 @@
1
+ ![@harborclient/core](https://raw.githubusercontent.com/harborclient/harborclient/main/images/logo.png)
2
+
3
+ **Full documentation:** [https://harborclient.github.io/harborclient/core/](https://harborclient.github.io/harborclient/core/)
4
+
5
+ **Platform-neutral HarborClient engine**
6
+
7
+ `@harborclient/core` is the shared library for HarborClient hosts (GUI, CLI, and storage adapters):
8
+
9
+ - **Request runner:** Host-agnostic HTTP pipeline with scripts, cookies, and variable substitution
10
+ - **Scripting:** SES-sandboxed pre/post scripts and assertion helpers
11
+ - **Shared types:** Domain models and the IPC `Api` contract used across the monorepo
12
+
13
+ ## Documentation
14
+
15
+ | Topic | Link |
16
+ | --------------- | --------------------------------------------------------------------------------- |
17
+ | Getting started | [Introduction](https://harborclient.github.io/harborclient/core/) |
18
+ | Installation | [Installation](https://harborclient.github.io/harborclient/core/installation) |
19
+ | Package layout | [Package layout](https://harborclient.github.io/harborclient/core/package-layout) |
20
+ | Request runner | [Request runner](https://harborclient.github.io/harborclient/core/request-runner) |
21
+ | Scripting | [Scripting](https://harborclient.github.io/harborclient/core/scripting) |
22
+
23
+ Canonical docs live in [`docs/`](./docs/). Edit those pages directly, then run `pnpm docs:build:nav` to refresh the VitePress sidebar.
24
+
25
+ ## Development
26
+
27
+ ```bash
28
+ pnpm install
29
+ pnpm --filter @harborclient/core test
30
+ pnpm --filter @harborclient/core docs:serve # VitePress dev server with nav watcher
31
+ pnpm --filter @harborclient/core docs:build # production docs build
32
+ ```
33
+
34
+ ## License
35
+
36
+ MIT
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Returns whether the chat composer should submit on the current key event.
3
+ *
4
+ * @param key - Keyboard event key value.
5
+ * @param shiftKey - Whether Shift is held.
6
+ * @param ctrlKey - Whether Ctrl is held.
7
+ * @param metaKey - Whether Meta/Cmd is held.
8
+ * @param enterToSend - When true, plain Enter submits; when false, Ctrl/Cmd+Enter submits.
9
+ * @returns True when the key event should trigger send.
10
+ */
11
+ export declare function shouldSendChatOnKeyDown(key: string, shiftKey: boolean, ctrlKey: boolean, metaKey: boolean, enterToSend: boolean): boolean;
12
+ //# sourceMappingURL=chatComposer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatComposer.d.ts","sourceRoot":"","sources":["../../src/ai/chatComposer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,OAAO,GACnB,OAAO,CAUT"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Returns whether the chat composer should submit on the current key event.
3
+ *
4
+ * @param key - Keyboard event key value.
5
+ * @param shiftKey - Whether Shift is held.
6
+ * @param ctrlKey - Whether Ctrl is held.
7
+ * @param metaKey - Whether Meta/Cmd is held.
8
+ * @param enterToSend - When true, plain Enter submits; when false, Ctrl/Cmd+Enter submits.
9
+ * @returns True when the key event should trigger send.
10
+ */
11
+ export function shouldSendChatOnKeyDown(key, shiftKey, ctrlKey, metaKey, enterToSend) {
12
+ if (key !== 'Enter') {
13
+ return false;
14
+ }
15
+ if (enterToSend) {
16
+ return !shiftKey;
17
+ }
18
+ return ctrlKey || metaKey;
19
+ }
20
+ //# sourceMappingURL=chatComposer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatComposer.js","sourceRoot":"","sources":["../../src/ai/chatComposer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,UAAU,uBAAuB,CACrC,GAAW,EACX,QAAiB,EACjB,OAAgB,EAChB,OAAgB,EAChB,WAAoB;IAEpB,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CAAC,QAAQ,CAAC;IACnB,CAAC;IAED,OAAO,OAAO,IAAI,OAAO,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,181 @@
1
+ import type { ChatStepMessage, ScriptTestResult, SendResult } from '../types';
2
+ /**
3
+ * Character count for response body previews in summary tools.
4
+ */
5
+ export declare const RESPONSE_BODY_PREVIEW_CHARS = 500;
6
+ /**
7
+ * Default maximum response body characters for full-body tool fetches.
8
+ */
9
+ export declare const DEFAULT_RESPONSE_BODY_CHARS = 16384;
10
+ /**
11
+ * Per-message content cap applied during aggressive context recovery.
12
+ */
13
+ export declare const AGGRESSIVE_MESSAGE_CONTENT_CHARS = 2000;
14
+ /**
15
+ * Maximum history messages kept during aggressive context recovery.
16
+ */
17
+ export declare const AGGRESSIVE_HISTORY_MESSAGE_COUNT = 6;
18
+ /**
19
+ * Default maximum characters for stringified JMESPath query results.
20
+ */
21
+ export declare const DEFAULT_QUERY_RESULT_CHARS = 4000;
22
+ /**
23
+ * Result of truncating text for LLM consumption.
24
+ */
25
+ export interface TruncatedText {
26
+ /**
27
+ * Truncated text safe to send to the model.
28
+ */
29
+ text: string;
30
+ /**
31
+ * Whether the original text was shortened.
32
+ */
33
+ truncated: boolean;
34
+ /**
35
+ * Length of the original string before truncation.
36
+ */
37
+ originalLength: number;
38
+ }
39
+ /**
40
+ * Options for formatting an HTTP response for agent tools.
41
+ */
42
+ export type FormatHttpResponseOptions = {
43
+ mode: 'summary';
44
+ } | {
45
+ maxBodyChars: number;
46
+ };
47
+ /**
48
+ * Agent-facing HTTP response payload with optional body truncation metadata.
49
+ */
50
+ export interface AgentHttpResponse {
51
+ /**
52
+ * HTTP status code.
53
+ */
54
+ status: number;
55
+ /**
56
+ * HTTP status text.
57
+ */
58
+ statusText: string;
59
+ /**
60
+ * Response headers.
61
+ */
62
+ headers: Record<string, string>;
63
+ /**
64
+ * Round-trip time in milliseconds.
65
+ */
66
+ timeMs: number;
67
+ /**
68
+ * Response body size in bytes.
69
+ */
70
+ sizeBytes: number;
71
+ /**
72
+ * Error message when the request failed.
73
+ */
74
+ error?: string;
75
+ /**
76
+ * Script test results from the response tab.
77
+ */
78
+ tests: ScriptTestResult[];
79
+ /**
80
+ * Short body preview for summary mode.
81
+ */
82
+ bodyPreview?: string;
83
+ /**
84
+ * Whether the body preview was truncated.
85
+ */
86
+ bodyPreviewTruncated?: boolean;
87
+ /**
88
+ * Full or truncated body when requested.
89
+ */
90
+ body?: string;
91
+ /**
92
+ * Whether the body field was truncated.
93
+ */
94
+ bodyTruncated?: boolean;
95
+ /**
96
+ * Original body length before truncation.
97
+ */
98
+ bodyOriginalLength?: number;
99
+ }
100
+ /**
101
+ * JMESPath result type label returned to the agent.
102
+ */
103
+ export type QueryResultType = 'array' | 'object' | 'string' | 'number' | 'boolean' | 'null';
104
+ /**
105
+ * Successful JMESPath query result for agent tools.
106
+ */
107
+ export interface QueryResponseBodyResult {
108
+ /**
109
+ * JMESPath expression that was evaluated.
110
+ */
111
+ expression: string;
112
+ /**
113
+ * JavaScript typeof-style label for the matched value.
114
+ */
115
+ resultType: QueryResultType;
116
+ /**
117
+ * Number of matches when the result is an array.
118
+ */
119
+ matchCount?: number;
120
+ /**
121
+ * Full structured result when it fits within the character cap.
122
+ */
123
+ result?: unknown;
124
+ /**
125
+ * Truncated JSON preview when the stringified result exceeds the cap.
126
+ */
127
+ resultPreview?: string;
128
+ /**
129
+ * Whether the stringified result was truncated.
130
+ */
131
+ resultTruncated?: boolean;
132
+ /**
133
+ * Original stringified result length before truncation.
134
+ */
135
+ resultOriginalLength?: number;
136
+ }
137
+ /**
138
+ * Failed JMESPath query result for agent tools.
139
+ */
140
+ export interface QueryResponseBodyError {
141
+ /**
142
+ * Human-readable error message.
143
+ */
144
+ error: string;
145
+ /**
146
+ * Response Content-Type header when JSON parsing fails.
147
+ */
148
+ contentType?: string;
149
+ }
150
+ /**
151
+ * Evaluates a JMESPath expression against a JSON response body for agent tools.
152
+ *
153
+ * @param bodyText - Raw response body text expected to be JSON.
154
+ * @param expression - JMESPath expression to evaluate.
155
+ * @param maxResultChars - Maximum stringified result characters to return.
156
+ * @param contentType - Optional Content-Type header for parse error context.
157
+ */
158
+ export declare function queryJsonForAgent(bodyText: string, expression: string, maxResultChars?: number, contentType?: string): QueryResponseBodyResult | QueryResponseBodyError;
159
+ /**
160
+ * Truncates text to a maximum character length for LLM payloads.
161
+ *
162
+ * @param text - Source text.
163
+ * @param maxChars - Maximum allowed characters.
164
+ */
165
+ export declare function truncateTextForLlm(text: string, maxChars: number): TruncatedText;
166
+ /**
167
+ * Formats an HTTP response for agent tools in summary or capped full-body mode.
168
+ *
169
+ * @param response - Last send result from the active tab.
170
+ * @param tests - Script test results for the response.
171
+ * @param options - Summary preview or max body character limit.
172
+ */
173
+ export declare function formatHttpResponseForAgent(response: SendResult, tests: ScriptTestResult[], options: FormatHttpResponseOptions): AgentHttpResponse;
174
+ /**
175
+ * Shrinks chat step messages to recover from context length overflows.
176
+ *
177
+ * @param messages - Messages from the renderer tool loop.
178
+ * @param aggressive - When true, drops old history and caps message content length.
179
+ */
180
+ export declare function truncateChatStepMessages(messages: ChatStepMessage[], aggressive: boolean): ChatStepMessage[];
181
+ //# sourceMappingURL=chatContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatContext.d.ts","sourceRoot":"","sources":["../../src/ai/chatContext.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,168 @@
1
+ import jmespath from 'jmespath';
2
+ /**
3
+ * Character count for response body previews in summary tools.
4
+ */
5
+ export const RESPONSE_BODY_PREVIEW_CHARS = 500;
6
+ /**
7
+ * Default maximum response body characters for full-body tool fetches.
8
+ */
9
+ export const DEFAULT_RESPONSE_BODY_CHARS = 16384;
10
+ /**
11
+ * Per-message content cap applied during aggressive context recovery.
12
+ */
13
+ export const AGGRESSIVE_MESSAGE_CONTENT_CHARS = 2000;
14
+ /**
15
+ * Maximum history messages kept during aggressive context recovery.
16
+ */
17
+ export const AGGRESSIVE_HISTORY_MESSAGE_COUNT = 6;
18
+ /**
19
+ * Default maximum characters for stringified JMESPath query results.
20
+ */
21
+ export const DEFAULT_QUERY_RESULT_CHARS = 4000;
22
+ /**
23
+ * Resolves the agent-facing result type label for a JMESPath value.
24
+ *
25
+ * @param value - Value returned by JMESPath search.
26
+ */
27
+ function resolveQueryResultType(value) {
28
+ if (value === null) {
29
+ return 'null';
30
+ }
31
+ if (Array.isArray(value)) {
32
+ return 'array';
33
+ }
34
+ switch (typeof value) {
35
+ case 'object':
36
+ return 'object';
37
+ case 'string':
38
+ return 'string';
39
+ case 'number':
40
+ return 'number';
41
+ case 'boolean':
42
+ return 'boolean';
43
+ default:
44
+ return 'null';
45
+ }
46
+ }
47
+ /**
48
+ * Evaluates a JMESPath expression against a JSON response body for agent tools.
49
+ *
50
+ * @param bodyText - Raw response body text expected to be JSON.
51
+ * @param expression - JMESPath expression to evaluate.
52
+ * @param maxResultChars - Maximum stringified result characters to return.
53
+ * @param contentType - Optional Content-Type header for parse error context.
54
+ */
55
+ export function queryJsonForAgent(bodyText, expression, maxResultChars = DEFAULT_QUERY_RESULT_CHARS, contentType) {
56
+ let parsed;
57
+ try {
58
+ parsed = JSON.parse(bodyText);
59
+ }
60
+ catch {
61
+ return {
62
+ error: 'Response body is not valid JSON.',
63
+ ...(contentType ? { contentType } : {})
64
+ };
65
+ }
66
+ let value;
67
+ try {
68
+ value = jmespath.search(parsed, expression);
69
+ }
70
+ catch (error) {
71
+ const message = error instanceof Error ? error.message : 'Unknown expression error.';
72
+ return { error: `Invalid JMESPath expression: ${message}` };
73
+ }
74
+ const resultType = resolveQueryResultType(value);
75
+ const base = {
76
+ expression,
77
+ resultType,
78
+ ...(resultType === 'array' && Array.isArray(value) ? { matchCount: value.length } : {})
79
+ };
80
+ const serialized = JSON.stringify(value);
81
+ if (serialized.length <= maxResultChars) {
82
+ return { ...base, result: value };
83
+ }
84
+ const preview = truncateTextForLlm(serialized, maxResultChars);
85
+ return {
86
+ ...base,
87
+ resultPreview: preview.text,
88
+ resultTruncated: true,
89
+ resultOriginalLength: preview.originalLength
90
+ };
91
+ }
92
+ /**
93
+ * Truncates text to a maximum character length for LLM payloads.
94
+ *
95
+ * @param text - Source text.
96
+ * @param maxChars - Maximum allowed characters.
97
+ */
98
+ export function truncateTextForLlm(text, maxChars) {
99
+ if (maxChars <= 0) {
100
+ return { text: '', truncated: text.length > 0, originalLength: text.length };
101
+ }
102
+ if (text.length <= maxChars) {
103
+ return { text, truncated: false, originalLength: text.length };
104
+ }
105
+ return {
106
+ text: text.slice(0, maxChars),
107
+ truncated: true,
108
+ originalLength: text.length
109
+ };
110
+ }
111
+ /**
112
+ * Formats an HTTP response for agent tools in summary or capped full-body mode.
113
+ *
114
+ * @param response - Last send result from the active tab.
115
+ * @param tests - Script test results for the response.
116
+ * @param options - Summary preview or max body character limit.
117
+ */
118
+ export function formatHttpResponseForAgent(response, tests, options) {
119
+ const preview = truncateTextForLlm(response.body, RESPONSE_BODY_PREVIEW_CHARS);
120
+ const base = {
121
+ status: response.status,
122
+ statusText: response.statusText,
123
+ headers: response.headers,
124
+ timeMs: response.timeMs,
125
+ sizeBytes: response.sizeBytes,
126
+ ...(response.error ? { error: response.error } : {}),
127
+ tests,
128
+ bodyPreview: preview.text,
129
+ ...(preview.truncated
130
+ ? { bodyPreviewTruncated: true, bodyOriginalLength: preview.originalLength }
131
+ : {})
132
+ };
133
+ if ('mode' in options && options.mode === 'summary') {
134
+ return base;
135
+ }
136
+ const maxBodyChars = 'maxBodyChars' in options ? options.maxBodyChars : DEFAULT_RESPONSE_BODY_CHARS;
137
+ const body = truncateTextForLlm(response.body, maxBodyChars);
138
+ return {
139
+ ...base,
140
+ body: body.text,
141
+ ...(body.truncated ? { bodyTruncated: true, bodyOriginalLength: body.originalLength } : {})
142
+ };
143
+ }
144
+ /**
145
+ * Shrinks chat step messages to recover from context length overflows.
146
+ *
147
+ * @param messages - Messages from the renderer tool loop.
148
+ * @param aggressive - When true, drops old history and caps message content length.
149
+ */
150
+ export function truncateChatStepMessages(messages, aggressive) {
151
+ if (!aggressive || messages.length === 0) {
152
+ return messages;
153
+ }
154
+ const trimmed = messages.length > AGGRESSIVE_HISTORY_MESSAGE_COUNT
155
+ ? messages.slice(-AGGRESSIVE_HISTORY_MESSAGE_COUNT)
156
+ : [...messages];
157
+ return trimmed.map((message) => {
158
+ if (message.content == null || message.content.length <= AGGRESSIVE_MESSAGE_CONTENT_CHARS) {
159
+ return message;
160
+ }
161
+ const shortened = truncateTextForLlm(message.content, AGGRESSIVE_MESSAGE_CONTENT_CHARS);
162
+ return {
163
+ ...message,
164
+ content: `${shortened.text}\n… [truncated from ${shortened.originalLength} characters]`
165
+ };
166
+ });
167
+ }
168
+ //# sourceMappingURL=chatContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatContext.js","sourceRoot":"","sources":["../../src/ai/chatContext.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import type { ChatCompletionTool } from 'openai/resources/chat/completions';
2
+ import type { ChatStepInput, ChatStepMessage } from '../types';
3
+ /**
4
+ * Resolved prompt, tools, and messages for one LLM completion step.
5
+ */
6
+ export interface ChatStepModeConfig {
7
+ /**
8
+ * System prompt injected before conversation messages.
9
+ */
10
+ systemPrompt: string;
11
+ /**
12
+ * Tool definitions available to the model for this step.
13
+ */
14
+ tools: ChatCompletionTool[];
15
+ /**
16
+ * Conversation messages sent to the provider for this step.
17
+ */
18
+ messages: ChatStepMessage[];
19
+ /**
20
+ * Optional forced tool choice for mini-agent style steps.
21
+ */
22
+ toolChoice?: {
23
+ type: 'function';
24
+ function: {
25
+ name: string;
26
+ };
27
+ };
28
+ /**
29
+ * When true, external MCP client tools are not merged into this step.
30
+ */
31
+ excludeMcpTools?: boolean;
32
+ }
33
+ /**
34
+ * Resolves system prompt, tools, and messages for a chat completion step.
35
+ *
36
+ * @param input - Renderer-provided step input with optional mode flags.
37
+ * @param options - Optional hub capability hints for tool gating.
38
+ * @returns Configuration for the provider request.
39
+ */
40
+ export declare function resolveChatStepMode(input: ChatStepInput, options?: {
41
+ hubHasOpenAi?: boolean;
42
+ }): ChatStepModeConfig;
43
+ //# sourceMappingURL=chatStepMode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatStepMode.d.ts","sourceRoot":"","sources":["../../src/ai/chatStepMode.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAyB/D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAE5B;;OAEG;IACH,QAAQ,EAAE,eAAe,EAAE,CAAC;IAE5B;;OAEG;IACH,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IAE9D;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,aAAa,EACpB,OAAO,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GACnC,kBAAkB,CAuCpB"}
@@ -0,0 +1,64 @@
1
+ import { buildChatTitleSystemPrompt, CHAT_TITLE_TOOL } from './chatTitle';
2
+ import { buildGitCommitMessageSystemPrompt } from './gitCommitMessage';
3
+ import { buildScriptAskSystemPrompt, SCRIPT_ASK_TOOL } from './scriptAsk';
4
+ import { AI_SYSTEM_PROMPT, AI_TOOL_DEFINITIONS } from './tools';
5
+ /**
6
+ * Removes tools that should not be offered for the current chat step context.
7
+ *
8
+ * @param tools - Full Harbor tool definitions for a step.
9
+ * @param input - Renderer-provided step input with optional hub routing.
10
+ * @param hubHasOpenAi - When false for a hub chat, documentation search is disabled.
11
+ */
12
+ function filterToolsForChatStep(tools, input, hubHasOpenAi) {
13
+ const hubId = input.hubId?.trim();
14
+ if (!hubId || hubHasOpenAi !== false) {
15
+ return tools;
16
+ }
17
+ return tools.filter((tool) => {
18
+ const name = tool.type === 'function' ? tool.function.name : tool.custom.name;
19
+ return name !== 'search_docs';
20
+ });
21
+ }
22
+ /**
23
+ * Resolves system prompt, tools, and messages for a chat completion step.
24
+ *
25
+ * @param input - Renderer-provided step input with optional mode flags.
26
+ * @param options - Optional hub capability hints for tool gating.
27
+ * @returns Configuration for the provider request.
28
+ */
29
+ export function resolveChatStepMode(input, options) {
30
+ const chatTitlePrompt = input.chatTitlePrompt?.trim();
31
+ if (chatTitlePrompt) {
32
+ return {
33
+ systemPrompt: buildChatTitleSystemPrompt(),
34
+ tools: [CHAT_TITLE_TOOL],
35
+ messages: [{ role: 'user', content: chatTitlePrompt }],
36
+ toolChoice: { type: 'function', function: { name: 'set_chat_title' } },
37
+ excludeMcpTools: true
38
+ };
39
+ }
40
+ if (input.scriptAsk) {
41
+ return {
42
+ systemPrompt: buildScriptAskSystemPrompt(input.scriptAsk),
43
+ tools: [SCRIPT_ASK_TOOL],
44
+ messages: input.messages,
45
+ toolChoice: { type: 'function', function: { name: 'answer_script' } },
46
+ excludeMcpTools: true
47
+ };
48
+ }
49
+ if (input.agentVariant === 'commitMessage') {
50
+ const gitDiffTool = AI_TOOL_DEFINITIONS.find((tool) => tool.type === 'function' && tool.function.name === 'git_diff');
51
+ return {
52
+ systemPrompt: buildGitCommitMessageSystemPrompt(),
53
+ tools: gitDiffTool ? [gitDiffTool] : [],
54
+ messages: input.messages,
55
+ excludeMcpTools: true
56
+ };
57
+ }
58
+ return {
59
+ systemPrompt: AI_SYSTEM_PROMPT,
60
+ tools: filterToolsForChatStep(AI_TOOL_DEFINITIONS, input, options?.hubHasOpenAi),
61
+ messages: input.messages
62
+ };
63
+ }
64
+ //# sourceMappingURL=chatStepMode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatStepMode.js","sourceRoot":"","sources":["../../src/ai/chatStepMode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,iCAAiC,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAIhE;;;;;;GAMG;AACH,SAAS,sBAAsB,CAC7B,KAA2B,EAC3B,KAAoB,EACpB,YAAsB;IAEtB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;IAClC,IAAI,CAAC,KAAK,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAC9E,OAAO,IAAI,KAAK,aAAa,CAAC;IAChC,CAAC,CAAC,CAAC;AACL,CAAC;AAgCD;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAAoB,EACpB,OAAoC;IAEpC,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC;IACtD,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO;YACL,YAAY,EAAE,0BAA0B,EAAE;YAC1C,KAAK,EAAE,CAAC,eAAe,CAAC;YACxB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;YACtD,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE;YACtE,eAAe,EAAE,IAAI;SACtB,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACpB,OAAO;YACL,YAAY,EAAE,0BAA0B,CAAC,KAAK,CAAC,SAAS,CAAC;YACzD,KAAK,EAAE,CAAC,eAAe,CAAC;YACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE;YACrE,eAAe,EAAE,IAAI;SACtB,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,YAAY,KAAK,eAAe,EAAE,CAAC;QAC3C,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAC1C,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,UAAU,CACxE,CAAC;QACF,OAAO;YACL,YAAY,EAAE,iCAAiC,EAAE;YACjD,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;YACvC,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,eAAe,EAAE,IAAI;SACtB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,YAAY,EAAE,gBAAgB;QAC9B,KAAK,EAAE,sBAAsB,CAAC,mBAAmB,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC;QAChF,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,35 @@
1
+ import type { ChatCompletionTool } from 'openai/resources/chat/completions';
2
+ import type { ChatStepResult } from '../types';
3
+ /**
4
+ * Default title for chats that have not received an AI-generated summary yet.
5
+ */
6
+ export declare const DEFAULT_CHAT_TITLE = "New Chat";
7
+ /**
8
+ * Maximum length for persisted chat tab titles.
9
+ */
10
+ export declare const CHAT_TITLE_MAX_LENGTH = 40;
11
+ /**
12
+ * OpenAI tool definition for summarizing a user's first message into a chat title.
13
+ */
14
+ export declare const CHAT_TITLE_TOOL: ChatCompletionTool;
15
+ /**
16
+ * Builds the system prompt for AI chat title generation.
17
+ *
18
+ * @returns System prompt instructing the model to call set_chat_title.
19
+ */
20
+ export declare function buildChatTitleSystemPrompt(): string;
21
+ /**
22
+ * Normalizes raw title text for persistence and display.
23
+ *
24
+ * @param raw - Title string from the model or user input.
25
+ * @returns Sanitized title, or {@link DEFAULT_CHAT_TITLE} when empty after normalization.
26
+ */
27
+ export declare function normalizeChatTitle(raw: string): string;
28
+ /**
29
+ * Reads a set_chat_title tool call from a chat step result.
30
+ *
31
+ * @param result - One LLM completion step result.
32
+ * @returns Normalized title, or null when no usable response is present.
33
+ */
34
+ export declare function parseChatTitleResult(result: ChatStepResult): string | null;
35
+ //# sourceMappingURL=chatTitle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatTitle.d.ts","sourceRoot":"","sources":["../../src/ai/chatTitle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,kBAAkB,aAAa,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,kBAiB7B,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,CASnD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAgBtD;AAyBD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,CAiB1E"}