@botbotgo/kit-builtin 0.0.92

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 (404) hide show
  1. package/README.md +82 -0
  2. package/dist/agent-tool-extension-compat.d.ts +5 -0
  3. package/dist/agent-tool-extension-compat.d.ts.map +1 -0
  4. package/dist/agent-tool-extension-compat.js +8 -0
  5. package/dist/agent-tool-extension-compat.js.map +1 -0
  6. package/dist/config/tool.yaml +162 -0
  7. package/dist/core-tools-manifest.json +7081 -0
  8. package/dist/index.d.ts +11 -0
  9. package/dist/index.d.ts.map +1 -0
  10. package/dist/index.js +11 -0
  11. package/dist/index.js.map +1 -0
  12. package/dist/src/analyze/analyzeLog.d.ts +30 -0
  13. package/dist/src/analyze/analyzeLog.d.ts.map +1 -0
  14. package/dist/src/analyze/analyzeLog.js +168 -0
  15. package/dist/src/analyze/analyzeLog.js.map +1 -0
  16. package/dist/src/analyze/analyzeProjectRepo.constants.d.ts +6 -0
  17. package/dist/src/analyze/analyzeProjectRepo.constants.d.ts.map +1 -0
  18. package/dist/src/analyze/analyzeProjectRepo.constants.js +53 -0
  19. package/dist/src/analyze/analyzeProjectRepo.constants.js.map +1 -0
  20. package/dist/src/analyze/analyzeProjectRepo.d.ts +35 -0
  21. package/dist/src/analyze/analyzeProjectRepo.d.ts.map +1 -0
  22. package/dist/src/analyze/analyzeProjectRepo.js +349 -0
  23. package/dist/src/analyze/analyzeProjectRepo.js.map +1 -0
  24. package/dist/src/analyze/askProjectRepo.d.ts +40 -0
  25. package/dist/src/analyze/askProjectRepo.d.ts.map +1 -0
  26. package/dist/src/analyze/askProjectRepo.helpers.d.ts +57 -0
  27. package/dist/src/analyze/askProjectRepo.helpers.d.ts.map +1 -0
  28. package/dist/src/analyze/askProjectRepo.helpers.js +233 -0
  29. package/dist/src/analyze/askProjectRepo.helpers.js.map +1 -0
  30. package/dist/src/analyze/askProjectRepo.js +287 -0
  31. package/dist/src/analyze/askProjectRepo.js.map +1 -0
  32. package/dist/src/analyze/defaults.d.ts +17 -0
  33. package/dist/src/analyze/defaults.d.ts.map +1 -0
  34. package/dist/src/analyze/defaults.js +17 -0
  35. package/dist/src/analyze/defaults.js.map +1 -0
  36. package/dist/src/analyze/embedText.d.ts +27 -0
  37. package/dist/src/analyze/embedText.d.ts.map +1 -0
  38. package/dist/src/analyze/embedText.js +132 -0
  39. package/dist/src/analyze/embedText.js.map +1 -0
  40. package/dist/src/calendar/calendarCreateEvent.d.ts +31 -0
  41. package/dist/src/calendar/calendarCreateEvent.d.ts.map +1 -0
  42. package/dist/src/calendar/calendarCreateEvent.js +67 -0
  43. package/dist/src/calendar/calendarCreateEvent.js.map +1 -0
  44. package/dist/src/calendar/calendarDeleteEvent.d.ts +22 -0
  45. package/dist/src/calendar/calendarDeleteEvent.d.ts.map +1 -0
  46. package/dist/src/calendar/calendarDeleteEvent.js +41 -0
  47. package/dist/src/calendar/calendarDeleteEvent.js.map +1 -0
  48. package/dist/src/calendar/calendarListEvents.d.ts +32 -0
  49. package/dist/src/calendar/calendarListEvents.d.ts.map +1 -0
  50. package/dist/src/calendar/calendarListEvents.js +95 -0
  51. package/dist/src/calendar/calendarListEvents.js.map +1 -0
  52. package/dist/src/calendar/calendarRescheduleEventByTitle.d.ts +30 -0
  53. package/dist/src/calendar/calendarRescheduleEventByTitle.d.ts.map +1 -0
  54. package/dist/src/calendar/calendarRescheduleEventByTitle.js +94 -0
  55. package/dist/src/calendar/calendarRescheduleEventByTitle.js.map +1 -0
  56. package/dist/src/calendar/calendarSearchEventsByTitle.d.ts +33 -0
  57. package/dist/src/calendar/calendarSearchEventsByTitle.d.ts.map +1 -0
  58. package/dist/src/calendar/calendarSearchEventsByTitle.js +95 -0
  59. package/dist/src/calendar/calendarSearchEventsByTitle.js.map +1 -0
  60. package/dist/src/calendar/calendarUpdateEvent.d.ts +27 -0
  61. package/dist/src/calendar/calendarUpdateEvent.d.ts.map +1 -0
  62. package/dist/src/calendar/calendarUpdateEvent.js +58 -0
  63. package/dist/src/calendar/calendarUpdateEvent.js.map +1 -0
  64. package/dist/src/cron/cronListEntries.d.ts +19 -0
  65. package/dist/src/cron/cronListEntries.d.ts.map +1 -0
  66. package/dist/src/cron/cronListEntries.js +33 -0
  67. package/dist/src/cron/cronListEntries.js.map +1 -0
  68. package/dist/src/cron/cronRemoveTaggedEntries.d.ts +21 -0
  69. package/dist/src/cron/cronRemoveTaggedEntries.d.ts.map +1 -0
  70. package/dist/src/cron/cronRemoveTaggedEntries.js +41 -0
  71. package/dist/src/cron/cronRemoveTaggedEntries.js.map +1 -0
  72. package/dist/src/cron/cronSetTaggedEntry.d.ts +24 -0
  73. package/dist/src/cron/cronSetTaggedEntry.d.ts.map +1 -0
  74. package/dist/src/cron/cronSetTaggedEntry.js +51 -0
  75. package/dist/src/cron/cronSetTaggedEntry.js.map +1 -0
  76. package/dist/src/exec/defaults.d.ts +8 -0
  77. package/dist/src/exec/defaults.d.ts.map +1 -0
  78. package/dist/src/exec/defaults.js +28 -0
  79. package/dist/src/exec/defaults.js.map +1 -0
  80. package/dist/src/exec/runCommand.d.ts +31 -0
  81. package/dist/src/exec/runCommand.d.ts.map +1 -0
  82. package/dist/src/exec/runCommand.js +158 -0
  83. package/dist/src/exec/runCommand.js.map +1 -0
  84. package/dist/src/fs/defaults.d.ts +16 -0
  85. package/dist/src/fs/defaults.d.ts.map +1 -0
  86. package/dist/src/fs/defaults.js +16 -0
  87. package/dist/src/fs/defaults.js.map +1 -0
  88. package/dist/src/fs/deletePath.d.ts +23 -0
  89. package/dist/src/fs/deletePath.d.ts.map +1 -0
  90. package/dist/src/fs/deletePath.js +70 -0
  91. package/dist/src/fs/deletePath.js.map +1 -0
  92. package/dist/src/fs/listDir.d.ts +35 -0
  93. package/dist/src/fs/listDir.d.ts.map +1 -0
  94. package/dist/src/fs/listDir.js +115 -0
  95. package/dist/src/fs/listDir.js.map +1 -0
  96. package/dist/src/fs/readText.d.ts +22 -0
  97. package/dist/src/fs/readText.d.ts.map +1 -0
  98. package/dist/src/fs/readText.js +47 -0
  99. package/dist/src/fs/readText.js.map +1 -0
  100. package/dist/src/fs/searchText.d.ts +40 -0
  101. package/dist/src/fs/searchText.d.ts.map +1 -0
  102. package/dist/src/fs/searchText.js +162 -0
  103. package/dist/src/fs/searchText.js.map +1 -0
  104. package/dist/src/fs/sha256.d.ts +21 -0
  105. package/dist/src/fs/sha256.d.ts.map +1 -0
  106. package/dist/src/fs/sha256.js +51 -0
  107. package/dist/src/fs/sha256.js.map +1 -0
  108. package/dist/src/fs/writeText.d.ts +28 -0
  109. package/dist/src/fs/writeText.d.ts.map +1 -0
  110. package/dist/src/fs/writeText.js +68 -0
  111. package/dist/src/fs/writeText.js.map +1 -0
  112. package/dist/src/git/common.d.ts +34 -0
  113. package/dist/src/git/common.d.ts.map +1 -0
  114. package/dist/src/git/common.js +120 -0
  115. package/dist/src/git/common.js.map +1 -0
  116. package/dist/src/git/defaults.d.ts +11 -0
  117. package/dist/src/git/defaults.d.ts.map +1 -0
  118. package/dist/src/git/defaults.js +54 -0
  119. package/dist/src/git/defaults.js.map +1 -0
  120. package/dist/src/git/ghRead.d.ts +29 -0
  121. package/dist/src/git/ghRead.d.ts.map +1 -0
  122. package/dist/src/git/ghRead.js +63 -0
  123. package/dist/src/git/ghRead.js.map +1 -0
  124. package/dist/src/git/gitAdd.d.ts +29 -0
  125. package/dist/src/git/gitAdd.d.ts.map +1 -0
  126. package/dist/src/git/gitAdd.js +57 -0
  127. package/dist/src/git/gitAdd.js.map +1 -0
  128. package/dist/src/git/gitCommit.d.ts +29 -0
  129. package/dist/src/git/gitCommit.d.ts.map +1 -0
  130. package/dist/src/git/gitCommit.js +56 -0
  131. package/dist/src/git/gitCommit.js.map +1 -0
  132. package/dist/src/git/gitDiff.d.ts +28 -0
  133. package/dist/src/git/gitDiff.d.ts.map +1 -0
  134. package/dist/src/git/gitDiff.js +54 -0
  135. package/dist/src/git/gitDiff.js.map +1 -0
  136. package/dist/src/git/gitLogHistory.d.ts +37 -0
  137. package/dist/src/git/gitLogHistory.d.ts.map +1 -0
  138. package/dist/src/git/gitLogHistory.js +85 -0
  139. package/dist/src/git/gitLogHistory.js.map +1 -0
  140. package/dist/src/git/gitPrView.d.ts +26 -0
  141. package/dist/src/git/gitPrView.d.ts.map +1 -0
  142. package/dist/src/git/gitPrView.js +66 -0
  143. package/dist/src/git/gitPrView.js.map +1 -0
  144. package/dist/src/git/gitPull.d.ts +31 -0
  145. package/dist/src/git/gitPull.d.ts.map +1 -0
  146. package/dist/src/git/gitPull.js +56 -0
  147. package/dist/src/git/gitPull.js.map +1 -0
  148. package/dist/src/git/gitRead.d.ts +28 -0
  149. package/dist/src/git/gitRead.d.ts.map +1 -0
  150. package/dist/src/git/gitRead.js +59 -0
  151. package/dist/src/git/gitRead.js.map +1 -0
  152. package/dist/src/git/gitStatus.d.ts +28 -0
  153. package/dist/src/git/gitStatus.d.ts.map +1 -0
  154. package/dist/src/git/gitStatus.js +55 -0
  155. package/dist/src/git/gitStatus.js.map +1 -0
  156. package/dist/src/git/gitSwitchBranch.d.ts +29 -0
  157. package/dist/src/git/gitSwitchBranch.d.ts.map +1 -0
  158. package/dist/src/git/gitSwitchBranch.js +57 -0
  159. package/dist/src/git/gitSwitchBranch.js.map +1 -0
  160. package/dist/src/git/gitTools.d.ts +11 -0
  161. package/dist/src/git/gitTools.d.ts.map +1 -0
  162. package/dist/src/git/gitTools.js +11 -0
  163. package/dist/src/git/gitTools.js.map +1 -0
  164. package/dist/src/http/defaults.d.ts +10 -0
  165. package/dist/src/http/defaults.d.ts.map +1 -0
  166. package/dist/src/http/defaults.js +19 -0
  167. package/dist/src/http/defaults.js.map +1 -0
  168. package/dist/src/http/downloadFile.d.ts +31 -0
  169. package/dist/src/http/downloadFile.d.ts.map +1 -0
  170. package/dist/src/http/downloadFile.js +188 -0
  171. package/dist/src/http/downloadFile.js.map +1 -0
  172. package/dist/src/http/duckduckgoSearch.d.ts +31 -0
  173. package/dist/src/http/duckduckgoSearch.d.ts.map +1 -0
  174. package/dist/src/http/duckduckgoSearch.js +190 -0
  175. package/dist/src/http/duckduckgoSearch.js.map +1 -0
  176. package/dist/src/http/fetchJson.d.ts +28 -0
  177. package/dist/src/http/fetchJson.d.ts.map +1 -0
  178. package/dist/src/http/fetchJson.js +139 -0
  179. package/dist/src/http/fetchJson.js.map +1 -0
  180. package/dist/src/http/fetchPageMainContent.d.ts +27 -0
  181. package/dist/src/http/fetchPageMainContent.d.ts.map +1 -0
  182. package/dist/src/http/fetchPageMainContent.js +164 -0
  183. package/dist/src/http/fetchPageMainContent.js.map +1 -0
  184. package/dist/src/http/fetchText.d.ts +29 -0
  185. package/dist/src/http/fetchText.d.ts.map +1 -0
  186. package/dist/src/http/fetchText.js +153 -0
  187. package/dist/src/http/fetchText.js.map +1 -0
  188. package/dist/src/http/head.d.ts +25 -0
  189. package/dist/src/http/head.d.ts.map +1 -0
  190. package/dist/src/http/head.js +80 -0
  191. package/dist/src/http/head.js.map +1 -0
  192. package/dist/src/http/yahooFinance.d.ts +39 -0
  193. package/dist/src/http/yahooFinance.d.ts.map +1 -0
  194. package/dist/src/http/yahooFinance.js +160 -0
  195. package/dist/src/http/yahooFinance.js.map +1 -0
  196. package/dist/src/iterm/common.d.ts +51 -0
  197. package/dist/src/iterm/common.d.ts.map +1 -0
  198. package/dist/src/iterm/common.js +214 -0
  199. package/dist/src/iterm/common.js.map +1 -0
  200. package/dist/src/iterm/itermCreateTab.d.ts +30 -0
  201. package/dist/src/iterm/itermCreateTab.d.ts.map +1 -0
  202. package/dist/src/iterm/itermCreateTab.js +73 -0
  203. package/dist/src/iterm/itermCreateTab.js.map +1 -0
  204. package/dist/src/iterm/itermCreateWindow.d.ts +30 -0
  205. package/dist/src/iterm/itermCreateWindow.d.ts.map +1 -0
  206. package/dist/src/iterm/itermCreateWindow.js +78 -0
  207. package/dist/src/iterm/itermCreateWindow.js.map +1 -0
  208. package/dist/src/iterm/itermGetSessionInfo.d.ts +30 -0
  209. package/dist/src/iterm/itermGetSessionInfo.d.ts.map +1 -0
  210. package/dist/src/iterm/itermGetSessionInfo.js +41 -0
  211. package/dist/src/iterm/itermGetSessionInfo.js.map +1 -0
  212. package/dist/src/iterm/itermListCurrentWindowSessions.d.ts +22 -0
  213. package/dist/src/iterm/itermListCurrentWindowSessions.d.ts.map +1 -0
  214. package/dist/src/iterm/itermListCurrentWindowSessions.js +67 -0
  215. package/dist/src/iterm/itermListCurrentWindowSessions.js.map +1 -0
  216. package/dist/src/iterm/itermListWindows.d.ts +31 -0
  217. package/dist/src/iterm/itermListWindows.d.ts.map +1 -0
  218. package/dist/src/iterm/itermListWindows.js +73 -0
  219. package/dist/src/iterm/itermListWindows.js.map +1 -0
  220. package/dist/src/iterm/itermRename.d.ts +30 -0
  221. package/dist/src/iterm/itermRename.d.ts.map +1 -0
  222. package/dist/src/iterm/itermRename.js +49 -0
  223. package/dist/src/iterm/itermRename.js.map +1 -0
  224. package/dist/src/iterm/itermResizeWindow.d.ts +29 -0
  225. package/dist/src/iterm/itermResizeWindow.d.ts.map +1 -0
  226. package/dist/src/iterm/itermResizeWindow.js +53 -0
  227. package/dist/src/iterm/itermResizeWindow.js.map +1 -0
  228. package/dist/src/iterm/itermRunCommandInSession.d.ts +37 -0
  229. package/dist/src/iterm/itermRunCommandInSession.d.ts.map +1 -0
  230. package/dist/src/iterm/itermRunCommandInSession.js +175 -0
  231. package/dist/src/iterm/itermRunCommandInSession.js.map +1 -0
  232. package/dist/src/iterm/itermSendText.d.ts +31 -0
  233. package/dist/src/iterm/itermSendText.d.ts.map +1 -0
  234. package/dist/src/iterm/itermSendText.js +70 -0
  235. package/dist/src/iterm/itermSendText.js.map +1 -0
  236. package/dist/src/iterm/itermSetBackgroundColor.d.ts +35 -0
  237. package/dist/src/iterm/itermSetBackgroundColor.d.ts.map +1 -0
  238. package/dist/src/iterm/itermSetBackgroundColor.js +41 -0
  239. package/dist/src/iterm/itermSetBackgroundColor.js.map +1 -0
  240. package/dist/src/iterm/itermSetSessionColors.d.ts +48 -0
  241. package/dist/src/iterm/itermSetSessionColors.d.ts.map +1 -0
  242. package/dist/src/iterm/itermSetSessionColors.js +71 -0
  243. package/dist/src/iterm/itermSetSessionColors.js.map +1 -0
  244. package/dist/src/iterm/itermSplitPane.d.ts +32 -0
  245. package/dist/src/iterm/itermSplitPane.d.ts.map +1 -0
  246. package/dist/src/iterm/itermSplitPane.js +76 -0
  247. package/dist/src/iterm/itermSplitPane.js.map +1 -0
  248. package/dist/src/iterm/itermTools.d.ts +13 -0
  249. package/dist/src/iterm/itermTools.d.ts.map +1 -0
  250. package/dist/src/iterm/itermTools.js +13 -0
  251. package/dist/src/iterm/itermTools.js.map +1 -0
  252. package/dist/src/messages/messagesFindChatsByParticipant.d.ts +27 -0
  253. package/dist/src/messages/messagesFindChatsByParticipant.d.ts.map +1 -0
  254. package/dist/src/messages/messagesFindChatsByParticipant.js +95 -0
  255. package/dist/src/messages/messagesFindChatsByParticipant.js.map +1 -0
  256. package/dist/src/messages/messagesListChats.d.ts +25 -0
  257. package/dist/src/messages/messagesListChats.d.ts.map +1 -0
  258. package/dist/src/messages/messagesListChats.js +69 -0
  259. package/dist/src/messages/messagesListChats.js.map +1 -0
  260. package/dist/src/messages/messagesReadChat.d.ts +28 -0
  261. package/dist/src/messages/messagesReadChat.d.ts.map +1 -0
  262. package/dist/src/messages/messagesReadChat.js +88 -0
  263. package/dist/src/messages/messagesReadChat.js.map +1 -0
  264. package/dist/src/messages/messagesSendByChatId.d.ts +22 -0
  265. package/dist/src/messages/messagesSendByChatId.d.ts.map +1 -0
  266. package/dist/src/messages/messagesSendByChatId.js +48 -0
  267. package/dist/src/messages/messagesSendByChatId.js.map +1 -0
  268. package/dist/src/messages/messagesSendByHandle.d.ts +26 -0
  269. package/dist/src/messages/messagesSendByHandle.d.ts.map +1 -0
  270. package/dist/src/messages/messagesSendByHandle.js +67 -0
  271. package/dist/src/messages/messagesSendByHandle.js.map +1 -0
  272. package/dist/src/messages/messagesSendByParticipantQuery.d.ts +26 -0
  273. package/dist/src/messages/messagesSendByParticipantQuery.d.ts.map +1 -0
  274. package/dist/src/messages/messagesSendByParticipantQuery.js +93 -0
  275. package/dist/src/messages/messagesSendByParticipantQuery.js.map +1 -0
  276. package/dist/src/notes/notesCreate.d.ts +23 -0
  277. package/dist/src/notes/notesCreate.d.ts.map +1 -0
  278. package/dist/src/notes/notesCreate.js +56 -0
  279. package/dist/src/notes/notesCreate.js.map +1 -0
  280. package/dist/src/notes/notesDelete.d.ts +20 -0
  281. package/dist/src/notes/notesDelete.d.ts.map +1 -0
  282. package/dist/src/notes/notesDelete.js +58 -0
  283. package/dist/src/notes/notesDelete.js.map +1 -0
  284. package/dist/src/notes/notesList.d.ts +26 -0
  285. package/dist/src/notes/notesList.d.ts.map +1 -0
  286. package/dist/src/notes/notesList.js +80 -0
  287. package/dist/src/notes/notesList.js.map +1 -0
  288. package/dist/src/notes/notesRead.d.ts +26 -0
  289. package/dist/src/notes/notesRead.d.ts.map +1 -0
  290. package/dist/src/notes/notesRead.js +82 -0
  291. package/dist/src/notes/notesRead.js.map +1 -0
  292. package/dist/src/notes/notesUpdate.d.ts +24 -0
  293. package/dist/src/notes/notesUpdate.d.ts.map +1 -0
  294. package/dist/src/notes/notesUpdate.js +75 -0
  295. package/dist/src/notes/notesUpdate.js.map +1 -0
  296. package/dist/src/osascript/common.d.ts +6 -0
  297. package/dist/src/osascript/common.d.ts.map +1 -0
  298. package/dist/src/osascript/common.js +52 -0
  299. package/dist/src/osascript/common.js.map +1 -0
  300. package/dist/src/platform/adapters/darwin.d.ts +3 -0
  301. package/dist/src/platform/adapters/darwin.d.ts.map +1 -0
  302. package/dist/src/platform/adapters/darwin.js +14 -0
  303. package/dist/src/platform/adapters/darwin.js.map +1 -0
  304. package/dist/src/platform/adapters/linux.d.ts +3 -0
  305. package/dist/src/platform/adapters/linux.d.ts.map +1 -0
  306. package/dist/src/platform/adapters/linux.js +8 -0
  307. package/dist/src/platform/adapters/linux.js.map +1 -0
  308. package/dist/src/platform/adapters/win32.d.ts +3 -0
  309. package/dist/src/platform/adapters/win32.d.ts.map +1 -0
  310. package/dist/src/platform/adapters/win32.js +8 -0
  311. package/dist/src/platform/adapters/win32.js.map +1 -0
  312. package/dist/src/platform/platformGetCapabilities.d.ts +23 -0
  313. package/dist/src/platform/platformGetCapabilities.d.ts.map +1 -0
  314. package/dist/src/platform/platformGetCapabilities.js +32 -0
  315. package/dist/src/platform/platformGetCapabilities.js.map +1 -0
  316. package/dist/src/platform/registry.d.ts +3 -0
  317. package/dist/src/platform/registry.d.ts.map +1 -0
  318. package/dist/src/platform/registry.js +16 -0
  319. package/dist/src/platform/registry.js.map +1 -0
  320. package/dist/src/platform/runtime.d.ts +15 -0
  321. package/dist/src/platform/runtime.d.ts.map +1 -0
  322. package/dist/src/platform/runtime.js +37 -0
  323. package/dist/src/platform/runtime.js.map +1 -0
  324. package/dist/src/platform/securityCompat.d.ts +8 -0
  325. package/dist/src/platform/securityCompat.d.ts.map +1 -0
  326. package/dist/src/platform/securityCompat.js +3 -0
  327. package/dist/src/platform/securityCompat.js.map +1 -0
  328. package/dist/src/platform/types.d.ts +10 -0
  329. package/dist/src/platform/types.d.ts.map +1 -0
  330. package/dist/src/platform/types.js +10 -0
  331. package/dist/src/platform/types.js.map +1 -0
  332. package/dist/src/reminders/remindersComplete.d.ts +22 -0
  333. package/dist/src/reminders/remindersComplete.d.ts.map +1 -0
  334. package/dist/src/reminders/remindersComplete.js +60 -0
  335. package/dist/src/reminders/remindersComplete.js.map +1 -0
  336. package/dist/src/reminders/remindersCreate.d.ts +24 -0
  337. package/dist/src/reminders/remindersCreate.d.ts.map +1 -0
  338. package/dist/src/reminders/remindersCreate.js +57 -0
  339. package/dist/src/reminders/remindersCreate.js.map +1 -0
  340. package/dist/src/reminders/remindersDelete.d.ts +22 -0
  341. package/dist/src/reminders/remindersDelete.d.ts.map +1 -0
  342. package/dist/src/reminders/remindersDelete.js +60 -0
  343. package/dist/src/reminders/remindersDelete.js.map +1 -0
  344. package/dist/src/reminders/remindersFind.d.ts +30 -0
  345. package/dist/src/reminders/remindersFind.d.ts.map +1 -0
  346. package/dist/src/reminders/remindersFind.js +85 -0
  347. package/dist/src/reminders/remindersFind.js.map +1 -0
  348. package/dist/src/reminders/remindersList.d.ts +28 -0
  349. package/dist/src/reminders/remindersList.d.ts.map +1 -0
  350. package/dist/src/reminders/remindersList.js +78 -0
  351. package/dist/src/reminders/remindersList.js.map +1 -0
  352. package/dist/src/safari/safariCloseTab.d.ts +22 -0
  353. package/dist/src/safari/safariCloseTab.d.ts.map +1 -0
  354. package/dist/src/safari/safariCloseTab.js +39 -0
  355. package/dist/src/safari/safariCloseTab.js.map +1 -0
  356. package/dist/src/safari/safariGetActiveTab.d.ts +18 -0
  357. package/dist/src/safari/safariGetActiveTab.d.ts.map +1 -0
  358. package/dist/src/safari/safariGetActiveTab.js +34 -0
  359. package/dist/src/safari/safariGetActiveTab.js.map +1 -0
  360. package/dist/src/safari/safariListTabs.d.ts +26 -0
  361. package/dist/src/safari/safariListTabs.d.ts.map +1 -0
  362. package/dist/src/safari/safariListTabs.js +71 -0
  363. package/dist/src/safari/safariListTabs.js.map +1 -0
  364. package/dist/src/safari/safariOpenWebUrl.d.ts +22 -0
  365. package/dist/src/safari/safariOpenWebUrl.d.ts.map +1 -0
  366. package/dist/src/safari/safariOpenWebUrl.js +49 -0
  367. package/dist/src/safari/safariOpenWebUrl.js.map +1 -0
  368. package/dist/src/safari/safariReadPageContent.d.ts +31 -0
  369. package/dist/src/safari/safariReadPageContent.d.ts.map +1 -0
  370. package/dist/src/safari/safariReadPageContent.js +69 -0
  371. package/dist/src/safari/safariReadPageContent.js.map +1 -0
  372. package/dist/src/safari/safariReadSelection.d.ts +26 -0
  373. package/dist/src/safari/safariReadSelection.d.ts.map +1 -0
  374. package/dist/src/safari/safariReadSelection.js +75 -0
  375. package/dist/src/safari/safariReadSelection.js.map +1 -0
  376. package/dist/src/util/hashText.d.ts +19 -0
  377. package/dist/src/util/hashText.d.ts.map +1 -0
  378. package/dist/src/util/hashText.js +24 -0
  379. package/dist/src/util/hashText.js.map +1 -0
  380. package/dist/src/util/jsonSelect.d.ts +22 -0
  381. package/dist/src/util/jsonSelect.d.ts.map +1 -0
  382. package/dist/src/util/jsonSelect.js +41 -0
  383. package/dist/src/util/jsonSelect.js.map +1 -0
  384. package/dist/src/util/now.d.ts +22 -0
  385. package/dist/src/util/now.d.ts.map +1 -0
  386. package/dist/src/util/now.js +51 -0
  387. package/dist/src/util/now.js.map +1 -0
  388. package/dist/src/util/overrideWithConfig.d.ts +2 -0
  389. package/dist/src/util/overrideWithConfig.d.ts.map +1 -0
  390. package/dist/src/util/overrideWithConfig.js +2 -0
  391. package/dist/src/util/overrideWithConfig.js.map +1 -0
  392. package/dist/src/util/templateRender.d.ts +20 -0
  393. package/dist/src/util/templateRender.d.ts.map +1 -0
  394. package/dist/src/util/templateRender.js +40 -0
  395. package/dist/src/util/templateRender.js.map +1 -0
  396. package/dist/src/util/truncate.d.ts +23 -0
  397. package/dist/src/util/truncate.d.ts.map +1 -0
  398. package/dist/src/util/truncate.js +44 -0
  399. package/dist/src/util/truncate.js.map +1 -0
  400. package/dist/vitest.config.d.ts +3 -0
  401. package/dist/vitest.config.d.ts.map +1 -0
  402. package/dist/vitest.config.js +8 -0
  403. package/dist/vitest.config.js.map +1 -0
  404. package/package.json +65 -0
@@ -0,0 +1,34 @@
1
+ import { parseSeparatedRows, runOsaScript } from "../osascript/common.js";
2
+ /**
3
+ * Canonical name for reading Safari active tab metadata.
4
+ * @tool
5
+ * @effect none
6
+ */
7
+ export async function safariGetActiveTab(_ = {}) {
8
+ const lines = [
9
+ 'tell application "Safari"',
10
+ 'if (count of windows) is 0 then error "Safari has no open windows"',
11
+ "set fs to (ASCII character 31)",
12
+ "set u to URL of current tab of front window",
13
+ "set t to name of current tab of front window",
14
+ "return t & fs & u",
15
+ "end tell",
16
+ ];
17
+ const output = await runOsaScript(lines, "SAFARI");
18
+ const row = parseSeparatedRows(output)[0] ?? output.split("\x1f");
19
+ return {
20
+ result: {
21
+ title: row[0] ?? "",
22
+ url: row[1] ?? "",
23
+ },
24
+ evidence: [
25
+ {
26
+ type: "tool",
27
+ ref: "safariGetActiveTab",
28
+ summary: "Fetched Safari active tab info",
29
+ createdAt: new Date().toISOString(),
30
+ },
31
+ ],
32
+ };
33
+ }
34
+ //# sourceMappingURL=safariGetActiveTab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safariGetActiveTab.js","sourceRoot":"","sources":["../../../src/safari/safariGetActiveTab.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE1E;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAQ,EAAE;IACjD,MAAM,KAAK,GAAG;QACZ,2BAA2B;QAC3B,oEAAoE;QACpE,gCAAgC;QAChC,6CAA6C;QAC7C,8CAA8C;QAC9C,mBAAmB;QACnB,UAAU;KACX,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACnD,MAAM,GAAG,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAElE,OAAO;QACL,MAAM,EAAE;YACN,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;YACnB,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;SAClB;QACD,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,oBAAoB;gBACzB,OAAO,EAAE,gCAAgC;gBACzC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * List tabs in Safari windows.
3
+ * @tool
4
+ * @effect none
5
+ */
6
+ export declare function safariListTabs(args?: {
7
+ windowIndex?: number;
8
+ limit?: number;
9
+ }): Promise<{
10
+ result: {
11
+ count: number;
12
+ tabs: {
13
+ windowIndex: number;
14
+ tabIndex: number;
15
+ title: string;
16
+ url: string;
17
+ }[];
18
+ };
19
+ evidence: {
20
+ type: string;
21
+ ref: string;
22
+ summary: string;
23
+ createdAt: string;
24
+ }[];
25
+ }>;
26
+ //# sourceMappingURL=safariListTabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safariListTabs.d.ts","sourceRoot":"","sources":["../../../src/safari/safariListTabs.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,IAAI,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO;;;;;;;;;;;;;;;;GAmEvF"}
@@ -0,0 +1,71 @@
1
+ import { parseSeparatedRows, runOsaScript } from "../osascript/common.js";
2
+ /**
3
+ * List tabs in Safari windows.
4
+ * @tool
5
+ * @effect none
6
+ */
7
+ export async function safariListTabs(args = {}) {
8
+ const windowIndex = args.windowIndex != null ? Math.max(1, Math.trunc(args.windowIndex)) : null;
9
+ const limit = Math.max(1, Math.min(500, Math.trunc(args.limit ?? 100)));
10
+ const lines = [
11
+ 'tell application "Safari"',
12
+ 'if (count of windows) is 0 then return ""',
13
+ "set rs to (ASCII character 30)",
14
+ "set fs to (ASCII character 31)",
15
+ "set rows to {}",
16
+ "set n to 0",
17
+ `set maxCount to ${limit}`,
18
+ ...(windowIndex
19
+ ? [
20
+ `set sourceWindows to {window ${windowIndex}}`,
21
+ ]
22
+ : ["set sourceWindows to windows"]),
23
+ "repeat with w in sourceWindows",
24
+ "set wIdx to index of w",
25
+ "set tIdx to 0",
26
+ "repeat with tb in tabs of w",
27
+ "if n is greater than or equal to maxCount then exit repeat",
28
+ "set n to n + 1",
29
+ "set tIdx to tIdx + 1",
30
+ "set titleText to \"\"",
31
+ "try",
32
+ "set titleText to (name of tb) as text",
33
+ "end try",
34
+ "set urlText to \"\"",
35
+ "try",
36
+ "set urlText to (URL of tb) as text",
37
+ "end try",
38
+ "set end of rows to (wIdx as text) & fs & (tIdx as text) & fs & titleText & fs & urlText",
39
+ "end repeat",
40
+ "if n is greater than or equal to maxCount then exit repeat",
41
+ "end repeat",
42
+ "set AppleScript's text item delimiters to rs",
43
+ "set outText to rows as text",
44
+ "set AppleScript's text item delimiters to \"\"",
45
+ "return outText",
46
+ "end tell",
47
+ ];
48
+ const output = await runOsaScript(lines, "SAFARI");
49
+ const rows = parseSeparatedRows(output);
50
+ const tabs = rows.map((parts) => ({
51
+ windowIndex: Number(parts[0] ?? "0") || 0,
52
+ tabIndex: Number(parts[1] ?? "0") || 0,
53
+ title: parts[2] ?? "",
54
+ url: parts[3] ?? "",
55
+ }));
56
+ return {
57
+ result: {
58
+ count: tabs.length,
59
+ tabs,
60
+ },
61
+ evidence: [
62
+ {
63
+ type: "tool",
64
+ ref: "safariListTabs",
65
+ summary: `Listed ${tabs.length} Safari tabs`,
66
+ createdAt: new Date().toISOString(),
67
+ },
68
+ ],
69
+ };
70
+ }
71
+ //# sourceMappingURL=safariListTabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safariListTabs.js","sourceRoot":"","sources":["../../../src/safari/safariListTabs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE1E;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAiD,EAAE;IACtF,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChG,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;IAExE,MAAM,KAAK,GAAG;QACZ,2BAA2B;QAC3B,2CAA2C;QAC3C,gCAAgC;QAChC,gCAAgC;QAChC,gBAAgB;QAChB,YAAY;QACZ,mBAAmB,KAAK,EAAE;QAC1B,GAAG,CAAC,WAAW;YACb,CAAC,CAAC;gBACE,gCAAgC,WAAW,GAAG;aAC/C;YACH,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC;QACrC,gCAAgC;QAChC,wBAAwB;QACxB,eAAe;QACf,6BAA6B;QAC7B,4DAA4D;QAC5D,gBAAgB;QAChB,sBAAsB;QACtB,uBAAuB;QACvB,KAAK;QACL,uCAAuC;QACvC,SAAS;QACT,qBAAqB;QACrB,KAAK;QACL,oCAAoC;QACpC,SAAS;QACT,yFAAyF;QACzF,YAAY;QACZ,4DAA4D;QAC5D,YAAY;QACZ,8CAA8C;QAC9C,6BAA6B;QAC7B,gDAAgD;QAChD,gBAAgB;QAChB,UAAU;KACX,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAExC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAChC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC;QACzC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC;QACtC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QACrB,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;KACpB,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,MAAM,EAAE;YACN,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,IAAI;SACL;QACD,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,gBAAgB;gBACrB,OAAO,EAAE,UAAU,IAAI,CAAC,MAAM,cAAc;gBAC5C,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Open a web URL in Safari.
3
+ * @tool
4
+ * @effect local_write
5
+ */
6
+ export declare function safariOpenWebUrl(args: {
7
+ url: string;
8
+ newTab?: boolean;
9
+ }): Promise<{
10
+ result: {
11
+ url: string;
12
+ newTab: boolean;
13
+ title: string;
14
+ };
15
+ evidence: {
16
+ type: string;
17
+ ref: string;
18
+ summary: string;
19
+ createdAt: string;
20
+ }[];
21
+ }>;
22
+ //# sourceMappingURL=safariOpenWebUrl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safariOpenWebUrl.d.ts","sourceRoot":"","sources":["../../../src/safari/safariOpenWebUrl.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE;;;;;;;;;;;;GA0C7E"}
@@ -0,0 +1,49 @@
1
+ import { createTaggedError } from "@botbotgo/kit/sdk";
2
+ import { quoteAppleScriptString, runOsaScript } from "../osascript/common.js";
3
+ /**
4
+ * Open a web URL in Safari.
5
+ * @tool
6
+ * @effect local_write
7
+ */
8
+ export async function safariOpenWebUrl(args) {
9
+ const url = args.url?.trim();
10
+ if (!url)
11
+ throw createTaggedError("SAFARI_INVALID", "url is required", {});
12
+ const newTab = Boolean(args.newTab ?? true);
13
+ const lines = [
14
+ 'tell application "Safari"',
15
+ "activate",
16
+ 'if (count of windows) is 0 then make new document with properties {URL:"about:blank"}',
17
+ ...(newTab
18
+ ? [
19
+ "tell front window",
20
+ "set newTabRef to make new tab with properties {URL:" + quoteAppleScriptString(url) + "}",
21
+ "set current tab to newTabRef",
22
+ "end tell",
23
+ ]
24
+ : ["set URL of current tab of front window to " + quoteAppleScriptString(url)]),
25
+ "set outTitle to \"\"",
26
+ "try",
27
+ "set outTitle to (name of current tab of front window) as text",
28
+ "end try",
29
+ "return outTitle",
30
+ "end tell",
31
+ ];
32
+ const title = await runOsaScript(lines, "SAFARI");
33
+ return {
34
+ result: {
35
+ url,
36
+ newTab,
37
+ title,
38
+ },
39
+ evidence: [
40
+ {
41
+ type: "tool",
42
+ ref: "safariOpenWebUrl",
43
+ summary: `Opened URL in Safari: ${url}`,
44
+ createdAt: new Date().toISOString(),
45
+ },
46
+ ],
47
+ };
48
+ }
49
+ //# sourceMappingURL=safariOpenWebUrl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safariOpenWebUrl.js","sourceRoot":"","sources":["../../../src/safari/safariOpenWebUrl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE9E;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAuC;IAC5E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,GAAG;QAAE,MAAM,iBAAiB,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAC3E,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;IAE5C,MAAM,KAAK,GAAG;QACZ,2BAA2B;QAC3B,UAAU;QACV,uFAAuF;QACvF,GAAG,CAAC,MAAM;YACR,CAAC,CAAC;gBACE,mBAAmB;gBACnB,qDAAqD,GAAG,sBAAsB,CAAC,GAAG,CAAC,GAAG,GAAG;gBACzF,8BAA8B;gBAC9B,UAAU;aACX;YACH,CAAC,CAAC,CAAC,4CAA4C,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC;QACjF,sBAAsB;QACtB,KAAK;QACL,+DAA+D;QAC/D,SAAS;QACT,iBAAiB;QACjB,UAAU;KACX,CAAC;IAEF,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAElD,OAAO;QACL,MAAM,EAAE;YACN,GAAG;YACH,MAAM;YACN,KAAK;SACN;QACD,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,kBAAkB;gBACvB,OAAO,EAAE,yBAAyB,GAAG,EAAE;gBACvC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Read Safari page main content from front tab or a specified tab.
3
+ * @tool
4
+ * @effect none
5
+ */
6
+ export declare function safariReadPageContent(args?: {
7
+ windowIndex?: number;
8
+ tabIndex?: number;
9
+ maxChars?: number;
10
+ timeoutMs?: number;
11
+ maxBytes?: number;
12
+ }): Promise<{
13
+ result: {
14
+ url: string;
15
+ tabTitle: string;
16
+ pageTitle: string | null;
17
+ status: number;
18
+ isHtml: boolean;
19
+ bytes: number;
20
+ mainContent: string;
21
+ truncated: boolean;
22
+ maxChars: number;
23
+ };
24
+ evidence: {
25
+ type: string;
26
+ ref: string;
27
+ summary: string;
28
+ createdAt: string;
29
+ }[];
30
+ }>;
31
+ //# sourceMappingURL=safariReadPageContent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safariReadPageContent.d.ts","sourceRoot":"","sources":["../../../src/safari/safariReadPageContent.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,GAAE;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACd;;;;;;;;;;;;;;;;;;GAmEL"}
@@ -0,0 +1,69 @@
1
+ import { createTaggedError } from "@botbotgo/kit/sdk";
2
+ import { runOsaScript } from "../osascript/common.js";
3
+ import { fetchPageMainContent } from "../http/fetchPageMainContent.js";
4
+ /**
5
+ * Read Safari page main content from front tab or a specified tab.
6
+ * @tool
7
+ * @effect none
8
+ */
9
+ export async function safariReadPageContent(args = {}) {
10
+ const maxChars = Math.max(200, Math.min(200000, Math.trunc(args.maxChars ?? 12000)));
11
+ const useSpecificTab = typeof args.windowIndex === "number" && Number.isFinite(args.windowIndex) &&
12
+ typeof args.tabIndex === "number" && Number.isFinite(args.tabIndex);
13
+ const lines = useSpecificTab
14
+ ? [
15
+ 'tell application "Safari"',
16
+ 'if (count of windows) is 0 then error "Safari has no open windows"',
17
+ `set w to window ${Math.max(1, Math.trunc(args.windowIndex ?? 1))}`,
18
+ `set t to tab ${Math.max(1, Math.trunc(args.tabIndex ?? 1))} of w`,
19
+ "set fs to (ASCII character 31)",
20
+ "set pageTitle to (name of t) as text",
21
+ "set pageUrl to (URL of t) as text",
22
+ "return pageTitle & fs & pageUrl",
23
+ "end tell",
24
+ ]
25
+ : [
26
+ 'tell application "Safari"',
27
+ 'if (count of windows) is 0 then error "Safari has no open windows"',
28
+ "set fs to (ASCII character 31)",
29
+ "set pageTitle to (name of current tab of front window) as text",
30
+ "set pageUrl to (URL of current tab of front window) as text",
31
+ "return pageTitle & fs & pageUrl",
32
+ "end tell",
33
+ ];
34
+ const output = await runOsaScript(lines, "SAFARI");
35
+ const [tabTitle = "", url = ""] = output.split("\x1f");
36
+ if (!url.trim()) {
37
+ throw createTaggedError("SAFARI_INVALID", "Cannot read URL from Safari tab", {});
38
+ }
39
+ const page = await fetchPageMainContent({
40
+ url,
41
+ timeoutMs: args.timeoutMs,
42
+ maxBytes: args.maxBytes,
43
+ });
44
+ const mainContent = (page.result.mainContent ?? "");
45
+ const truncatedContent = mainContent.length > maxChars ? `${mainContent.slice(0, maxChars)}...` : mainContent;
46
+ return {
47
+ result: {
48
+ url,
49
+ tabTitle,
50
+ pageTitle: page.result.title ?? null,
51
+ status: page.result.status,
52
+ isHtml: page.result.isHtml,
53
+ bytes: page.result.bytes,
54
+ mainContent: truncatedContent,
55
+ truncated: mainContent.length > maxChars,
56
+ maxChars,
57
+ },
58
+ evidence: [
59
+ ...(Array.isArray(page.evidence) ? page.evidence : []),
60
+ {
61
+ type: "tool",
62
+ ref: "safariReadPageContent",
63
+ summary: `Read Safari page content from ${url}`,
64
+ createdAt: new Date().toISOString(),
65
+ },
66
+ ],
67
+ };
68
+ }
69
+ //# sourceMappingURL=safariReadPageContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safariReadPageContent.js","sourceRoot":"","sources":["../../../src/safari/safariReadPageContent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Read selected text from Safari page (front tab by default).
3
+ * @tool
4
+ * @effect none
5
+ */
6
+ export declare function safariReadSelection(args?: {
7
+ windowIndex?: number;
8
+ tabIndex?: number;
9
+ maxChars?: number;
10
+ }): Promise<{
11
+ result: {
12
+ title: string;
13
+ url: string;
14
+ hasSelection: boolean;
15
+ selection: string;
16
+ truncated: boolean;
17
+ maxChars: number;
18
+ };
19
+ evidence: {
20
+ type: string;
21
+ ref: string;
22
+ summary: string;
23
+ createdAt: string;
24
+ }[];
25
+ }>;
26
+ //# sourceMappingURL=safariReadSelection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safariReadSelection.d.ts","sourceRoot":"","sources":["../../../src/safari/safariReadSelection.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,GAAE;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACd;;;;;;;;;;;;;;;GA6EL"}
@@ -0,0 +1,75 @@
1
+ import { runOsaScript } from "../osascript/common.js";
2
+ /**
3
+ * Read selected text from Safari page (front tab by default).
4
+ * @tool
5
+ * @effect none
6
+ */
7
+ export async function safariReadSelection(args = {}) {
8
+ const windowIndex = typeof args.windowIndex === "number" && Number.isFinite(args.windowIndex)
9
+ ? Math.max(1, Math.trunc(args.windowIndex))
10
+ : null;
11
+ const tabIndex = typeof args.tabIndex === "number" && Number.isFinite(args.tabIndex)
12
+ ? Math.max(1, Math.trunc(args.tabIndex))
13
+ : null;
14
+ const maxChars = Math.max(50, Math.min(200000, Math.trunc(args.maxChars ?? 20000)));
15
+ const jsExpr = "(function(){" +
16
+ "var t='';" +
17
+ "try{t=String(window.getSelection?window.getSelection().toString():'');}catch(e){}" +
18
+ "return t || '';" +
19
+ "})()";
20
+ const lines = windowIndex != null && tabIndex != null
21
+ ? [
22
+ 'tell application "Safari"',
23
+ 'if (count of windows) is 0 then error "Safari has no open windows"',
24
+ `set w to window ${windowIndex}`,
25
+ `set t to tab ${tabIndex} of w`,
26
+ "set fs to (ASCII character 31)",
27
+ "set titleText to (name of t) as text",
28
+ "set urlText to (URL of t) as text",
29
+ "set selText to \"\"",
30
+ "try",
31
+ `set selText to (do JavaScript ${JSON.stringify(jsExpr)} in t) as text`,
32
+ "end try",
33
+ "return titleText & fs & urlText & fs & selText",
34
+ "end tell",
35
+ ]
36
+ : [
37
+ 'tell application "Safari"',
38
+ 'if (count of windows) is 0 then error "Safari has no open windows"',
39
+ "set t to current tab of front window",
40
+ "set fs to (ASCII character 31)",
41
+ "set titleText to (name of t) as text",
42
+ "set urlText to (URL of t) as text",
43
+ "set selText to \"\"",
44
+ "try",
45
+ `set selText to (do JavaScript ${JSON.stringify(jsExpr)} in t) as text`,
46
+ "end try",
47
+ "return titleText & fs & urlText & fs & selText",
48
+ "end tell",
49
+ ];
50
+ const output = await runOsaScript(lines, "SAFARI");
51
+ const parts = output.split("\x1f");
52
+ const title = parts[0] ?? "";
53
+ const url = parts[1] ?? "";
54
+ const selectionRaw = parts.slice(2).join("\x1f");
55
+ const selection = selectionRaw.length > maxChars ? `${selectionRaw.slice(0, maxChars)}...` : selectionRaw;
56
+ return {
57
+ result: {
58
+ title,
59
+ url,
60
+ hasSelection: selectionRaw.trim().length > 0,
61
+ selection,
62
+ truncated: selectionRaw.length > maxChars,
63
+ maxChars,
64
+ },
65
+ evidence: [
66
+ {
67
+ type: "tool",
68
+ ref: "safariReadSelection",
69
+ summary: `Read Safari selected text from ${url || "front tab"}`,
70
+ createdAt: new Date().toISOString(),
71
+ },
72
+ ],
73
+ };
74
+ }
75
+ //# sourceMappingURL=safariReadSelection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safariReadSelection.js","sourceRoot":"","sources":["../../../src/safari/safariReadSelection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Compute SHA-256 hash of a text string.
3
+ * @tool
4
+ * @effect none
5
+ */
6
+ export declare function hashText(args: {
7
+ text: string;
8
+ }): Promise<{
9
+ result: {
10
+ sha256: string;
11
+ };
12
+ evidence: {
13
+ type: string;
14
+ ref: string;
15
+ summary: string;
16
+ createdAt: string;
17
+ }[];
18
+ }>;
19
+ //# sourceMappingURL=hashText.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hashText.d.ts","sourceRoot":"","sources":["../../../src/util/hashText.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;GAiBpD"}
@@ -0,0 +1,24 @@
1
+ import { computeChecksum } from "@botbotgo/common/utils";
2
+ /**
3
+ * Compute SHA-256 hash of a text string.
4
+ * @tool
5
+ * @effect none
6
+ */
7
+ export async function hashText(args) {
8
+ // Step 1: Compute SHA-256 of input text.
9
+ const text = args.text;
10
+ const sha256 = computeChecksum(text);
11
+ // Step 2: Return hash and evidence.
12
+ return {
13
+ result: { sha256 },
14
+ evidence: [
15
+ {
16
+ type: "tool",
17
+ ref: "core/util.hash.sha256Text",
18
+ summary: `SHA-256 of ${text.length} chars: ${sha256.slice(0, 16)}...`,
19
+ createdAt: new Date().toISOString(),
20
+ },
21
+ ],
22
+ };
23
+ }
24
+ //# sourceMappingURL=hashText.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hashText.js","sourceRoot":"","sources":["../../../src/util/hashText.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAsB;IACnD,yCAAyC;IACzC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAErC,oCAAoC;IACpC,OAAO;QACL,MAAM,EAAE,EAAE,MAAM,EAAE;QAClB,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,2BAA2B;gBAChC,OAAO,EAAE,cAAc,IAAI,CAAC,MAAM,WAAW,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK;gBACrE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Extract values from JSON data using a JMESPath query expression.
3
+ * @tool
4
+ * @effect none
5
+ */
6
+ export declare function jsonSelect(args: {
7
+ json: unknown;
8
+ path: string;
9
+ /** Alias for path (JMESPath expression; accepted when agents send "expression"). */
10
+ expression?: string;
11
+ }): Promise<{
12
+ result: {
13
+ value: unknown;
14
+ };
15
+ evidence: {
16
+ type: string;
17
+ ref: string;
18
+ summary: string;
19
+ createdAt: string;
20
+ }[];
21
+ }>;
22
+ //# sourceMappingURL=jsonSelect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonSelect.d.ts","sourceRoot":"","sources":["../../../src/util/jsonSelect.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE;IACrC,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,oFAAoF;IACpF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;;;;;;;;;;GAuCA"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Extract values from JSON data using a JMESPath query expression.
3
+ * @tool
4
+ * @effect none
5
+ */
6
+ export async function jsonSelect(args) {
7
+ // Step 1: Validate path (JMESPath expression) input.
8
+ const json = args.json;
9
+ const path = (args.path ?? args.expression)?.trim();
10
+ if (path === undefined || path === "") {
11
+ throw new Error("path is required (pass 'path' or 'expression')");
12
+ }
13
+ // Step 2: Load jmespath and evaluate expression.
14
+ let jmespath;
15
+ try {
16
+ jmespath = await import("jmespath");
17
+ }
18
+ catch {
19
+ throw new Error("jmespath package is required for core/util.json.select. Install it with: npm install jmespath");
20
+ }
21
+ let value;
22
+ try {
23
+ value = jmespath.search(json, path);
24
+ }
25
+ catch (err) {
26
+ throw new Error(`JMESPath expression error: ${err instanceof Error ? err.message : String(err)}`);
27
+ }
28
+ // Step 3: Return selected value and evidence.
29
+ return {
30
+ result: { value },
31
+ evidence: [
32
+ {
33
+ type: "tool",
34
+ ref: "core/util.json.select",
35
+ summary: `Selected "${path}" from JSON → ${typeof value === "object" ? JSON.stringify(value).slice(0, 100) : String(value).slice(0, 100)}`,
36
+ createdAt: new Date().toISOString(),
37
+ },
38
+ ],
39
+ };
40
+ }
41
+ //# sourceMappingURL=jsonSelect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonSelect.js","sourceRoot":"","sources":["../../../src/util/jsonSelect.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAKhC;IACC,qDAAqD;IACrD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC;IACpD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IAED,iDAAiD;IACjD,IAAI,QAAoE,CAAC;IACzE,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,+FAA+F,CAChG,CAAC;IACJ,CAAC;IAED,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QACH,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,8BAA8B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACjF,CAAC;IACJ,CAAC;IAED,8CAA8C;IAC9C,OAAO;QACL,MAAM,EAAE,EAAE,KAAK,EAAE;QACjB,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,uBAAuB;gBAC5B,OAAO,EAAE,aAAa,IAAI,iBAAiB,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;gBAC1I,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Get the current date and time in ISO, epoch, and formatted forms with timezone support.
3
+ * @tool
4
+ * @effect none
5
+ */
6
+ export declare function now(args: {
7
+ timezone?: string;
8
+ }): Promise<{
9
+ result: {
10
+ iso: string;
11
+ epochMs: number;
12
+ timezone: string;
13
+ formatted: string;
14
+ };
15
+ evidence: {
16
+ type: string;
17
+ ref: string;
18
+ summary: string;
19
+ createdAt: string;
20
+ }[];
21
+ }>;
22
+ //# sourceMappingURL=now.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"now.d.ts","sourceRoot":"","sources":["../../../src/util/now.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAsB,GAAG,CAAC,IAAI,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;GA2CpD"}