@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,132 @@
1
+ import { getExtensionContext } from "../../index.js";
2
+ import { createTaggedError } from "@botbotgo/kit/sdk";
3
+ import { overrideWithConfig } from "../util/overrideWithConfig.js";
4
+ import { DEFAULT_EMBEDDING_BASE_URL, DEFAULT_EMBEDDING_MODEL, DEFAULT_EMBEDDING_TIMEOUT_MS, } from "./defaults.js";
5
+ function getModelHub(config) {
6
+ if (config == null || typeof config !== "object" || Array.isArray(config))
7
+ return null;
8
+ const services = config.services;
9
+ if (services == null || typeof services !== "object" || Array.isArray(services))
10
+ return null;
11
+ const modelHub = services.modelHub;
12
+ if (modelHub == null || typeof modelHub !== "object")
13
+ return null;
14
+ if (typeof modelHub.embed !== "function")
15
+ return null;
16
+ return modelHub;
17
+ }
18
+ async function callEmbeddingApi(baseUrl, model, input, timeoutMs, apiKey) {
19
+ const url = `${baseUrl.replace(/\/$/, "")}/embeddings`;
20
+ const controller = new AbortController();
21
+ const timer = setTimeout(() => controller.abort(), timeoutMs);
22
+ const headers = {
23
+ "Content-Type": "application/json",
24
+ };
25
+ if (apiKey?.trim()) {
26
+ headers["Authorization"] = `Bearer ${apiKey.trim()}`;
27
+ }
28
+ let response;
29
+ try {
30
+ response = await fetch(url, {
31
+ method: "POST",
32
+ headers,
33
+ body: JSON.stringify({ model, input }),
34
+ signal: controller.signal,
35
+ });
36
+ }
37
+ catch (err) {
38
+ clearTimeout(timer);
39
+ if (err instanceof Error && err.name === "AbortError") {
40
+ throw createTaggedError("EMBED_TIMEOUT", `Embedding request timed out after ${timeoutMs}ms`, { timeoutMs });
41
+ }
42
+ throw createTaggedError("UPSTREAM_ERROR", `Embedding request failed: ${err instanceof Error ? err.message : String(err)}`, {});
43
+ }
44
+ clearTimeout(timer);
45
+ if (!response.ok) {
46
+ const body = await response.text();
47
+ throw createTaggedError("UPSTREAM_ERROR", `Embedding API error ${response.status}: ${body.slice(0, 500)}`, { status: response.status });
48
+ }
49
+ const data = (await response.json());
50
+ return data;
51
+ }
52
+ /**
53
+ * Convert text into embedding vectors via OpenAI-compatible API.
54
+ * All configurable via extension config: embeddingBaseUrl, embeddingModel, embeddingTimeoutMs, embeddingApiKey.
55
+ * @tool
56
+ * @effect none
57
+ */
58
+ export async function embedText(args) {
59
+ const defaults = {
60
+ embeddingBaseUrl: DEFAULT_EMBEDDING_BASE_URL,
61
+ embeddingModel: DEFAULT_EMBEDDING_MODEL,
62
+ embeddingTimeoutMs: DEFAULT_EMBEDDING_TIMEOUT_MS,
63
+ embeddingApiKey: undefined,
64
+ };
65
+ const ctx = getExtensionContext();
66
+ const cfg = overrideWithConfig(defaults, ctx.config);
67
+ const modelHub = getModelHub(ctx.config);
68
+ const single = typeof args.text === "string" ? args.text.trim() : undefined;
69
+ const batch = Array.isArray(args.texts)
70
+ ? args.texts.map((t) => (typeof t === "string" ? t.trim() : "")).filter(Boolean)
71
+ : undefined;
72
+ let input;
73
+ if (batch !== undefined && batch.length > 0) {
74
+ input = batch;
75
+ }
76
+ else if (single !== undefined && single !== "") {
77
+ input = single;
78
+ }
79
+ else {
80
+ throw createTaggedError("EMBED_INVALID", "text or texts (non-empty) is required", {});
81
+ }
82
+ const baseUrl = (cfg.embeddingBaseUrl ?? DEFAULT_EMBEDDING_BASE_URL).replace(/\/$/, "");
83
+ const model = args.model ?? cfg.embeddingModel ?? DEFAULT_EMBEDDING_MODEL;
84
+ const timeoutMs = args.timeoutMs ?? cfg.embeddingTimeoutMs ?? DEFAULT_EMBEDDING_TIMEOUT_MS;
85
+ const apiKey = cfg.embeddingApiKey;
86
+ let embeddings = [];
87
+ let dimensions;
88
+ let resolvedModel = model;
89
+ let source = "http";
90
+ if (modelHub) {
91
+ const out = await modelHub.embed({ input, model });
92
+ const vectors = Array.isArray(out.vectors) ? out.vectors.filter((v) => Array.isArray(v)) : [];
93
+ if (vectors.length === 0) {
94
+ throw createTaggedError("UPSTREAM_ERROR", "ModelHub returned no embeddings", {});
95
+ }
96
+ embeddings = vectors;
97
+ dimensions = out.dimensions ?? vectors[0]?.length;
98
+ resolvedModel = out.model ?? model;
99
+ source = "modelHub";
100
+ }
101
+ else {
102
+ const data = await callEmbeddingApi(baseUrl, model, input, timeoutMs, apiKey);
103
+ const list = data?.data;
104
+ if (!Array.isArray(list) || list.length === 0) {
105
+ throw createTaggedError("UPSTREAM_ERROR", "Embedding API returned no embeddings", {});
106
+ }
107
+ const vectors = list
108
+ .slice(0, Array.isArray(input) ? input.length : 1)
109
+ .sort((a, b) => (a.index ?? 0) - (b.index ?? 0))
110
+ .map((d) => d.embedding)
111
+ .filter((e) => Array.isArray(e));
112
+ embeddings = vectors;
113
+ dimensions = vectors[0]?.length;
114
+ resolvedModel = data.model ?? model;
115
+ }
116
+ return {
117
+ result: {
118
+ embeddings,
119
+ model: resolvedModel,
120
+ dimensions,
121
+ count: embeddings.length,
122
+ },
123
+ evidence: [
124
+ {
125
+ type: "embed",
126
+ summary: `embedText(${source}): ${embeddings.length} vector(s), dim=${dimensions ?? "?"} (${resolvedModel})`,
127
+ createdAt: new Date().toISOString(),
128
+ },
129
+ ],
130
+ };
131
+ }
132
+ //# sourceMappingURL=embedText.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedText.js","sourceRoot":"","sources":["../../../src/analyze/embedText.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Create an event in macOS Calendar.
3
+ * startDateText/endDateText should be parseable by AppleScript `date`.
4
+ * @tool
5
+ * @effect local_write
6
+ */
7
+ export declare function calendarCreateEvent(args: {
8
+ title: string;
9
+ startDateText: string;
10
+ endDateText: string;
11
+ calendar?: string;
12
+ location?: string;
13
+ notes?: string;
14
+ }): Promise<{
15
+ result: {
16
+ id: string;
17
+ title: string;
18
+ calendar: string;
19
+ startDateText: string;
20
+ endDateText: string;
21
+ location: string | null;
22
+ notes: string | null;
23
+ };
24
+ evidence: {
25
+ type: string;
26
+ ref: string;
27
+ summary: string;
28
+ createdAt: string;
29
+ }[];
30
+ }>;
31
+ //# sourceMappingURL=calendarCreateEvent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendarCreateEvent.d.ts","sourceRoot":"","sources":["../../../src/calendar/calendarCreateEvent.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;;;;;;;;;;;;;;;;GA0DA"}
@@ -0,0 +1,67 @@
1
+ import { createTaggedError } from "@botbotgo/kit/sdk";
2
+ import { quoteAppleScriptString, runOsaScript } from "../osascript/common.js";
3
+ /**
4
+ * Create an event in macOS Calendar.
5
+ * startDateText/endDateText should be parseable by AppleScript `date`.
6
+ * @tool
7
+ * @effect local_write
8
+ */
9
+ export async function calendarCreateEvent(args) {
10
+ const title = args.title?.trim();
11
+ const startDateText = args.startDateText?.trim();
12
+ const endDateText = args.endDateText?.trim();
13
+ const calendar = args.calendar?.trim() || "Home";
14
+ if (!title)
15
+ throw createTaggedError("CALENDAR_INVALID", "title is required", {});
16
+ if (!startDateText)
17
+ throw createTaggedError("CALENDAR_INVALID", "startDateText is required", {});
18
+ if (!endDateText)
19
+ throw createTaggedError("CALENDAR_INVALID", "endDateText is required", {});
20
+ const lines = [
21
+ 'tell application "Calendar"',
22
+ "activate",
23
+ `set calName to ${quoteAppleScriptString(calendar)}`,
24
+ "set targetCal to calendar calName",
25
+ `set stText to ${quoteAppleScriptString(startDateText)}`,
26
+ `set edText to ${quoteAppleScriptString(endDateText)}`,
27
+ `set eventTitle to ${quoteAppleScriptString(title)}`,
28
+ "set stDate to date stText",
29
+ "set edDate to date edText",
30
+ "tell targetCal",
31
+ "set newEvent to make new event with properties {summary:eventTitle, start date:stDate, end date:edDate}",
32
+ ...(args.location?.trim()
33
+ ? [`set location of newEvent to ${quoteAppleScriptString(args.location.trim())}`]
34
+ : []),
35
+ ...(args.notes?.trim()
36
+ ? [`set description of newEvent to ${quoteAppleScriptString(args.notes.trim())}`]
37
+ : []),
38
+ "set eventIdText to \"\"",
39
+ "try",
40
+ "set eventIdText to (uid of newEvent) as text",
41
+ "end try",
42
+ "return eventIdText",
43
+ "end tell",
44
+ "end tell",
45
+ ];
46
+ const eventId = await runOsaScript(lines, "CALENDAR");
47
+ return {
48
+ result: {
49
+ id: eventId,
50
+ title,
51
+ calendar,
52
+ startDateText,
53
+ endDateText,
54
+ location: args.location?.trim() || null,
55
+ notes: args.notes?.trim() || null,
56
+ },
57
+ evidence: [
58
+ {
59
+ type: "tool",
60
+ ref: "calendarCreateEvent",
61
+ summary: `Created calendar event \"${title}\" in \"${calendar}\"`,
62
+ createdAt: new Date().toISOString(),
63
+ },
64
+ ],
65
+ };
66
+ }
67
+ //# sourceMappingURL=calendarCreateEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendarCreateEvent.js","sourceRoot":"","sources":["../../../src/calendar/calendarCreateEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE9E;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAOzC;IACC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;IACjC,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC;IACjD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;IAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,MAAM,CAAC;IAEjD,IAAI,CAAC,KAAK;QAAE,MAAM,iBAAiB,CAAC,kBAAkB,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC;IACjF,IAAI,CAAC,aAAa;QAAE,MAAM,iBAAiB,CAAC,kBAAkB,EAAE,2BAA2B,EAAE,EAAE,CAAC,CAAC;IACjG,IAAI,CAAC,WAAW;QAAE,MAAM,iBAAiB,CAAC,kBAAkB,EAAE,yBAAyB,EAAE,EAAE,CAAC,CAAC;IAE7F,MAAM,KAAK,GAAG;QACZ,6BAA6B;QAC7B,UAAU;QACV,kBAAkB,sBAAsB,CAAC,QAAQ,CAAC,EAAE;QACpD,mCAAmC;QACnC,iBAAiB,sBAAsB,CAAC,aAAa,CAAC,EAAE;QACxD,iBAAiB,sBAAsB,CAAC,WAAW,CAAC,EAAE;QACtD,qBAAqB,sBAAsB,CAAC,KAAK,CAAC,EAAE;QACpD,2BAA2B;QAC3B,2BAA2B;QAC3B,gBAAgB;QAChB,yGAAyG;QACzG,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE;YACvB,CAAC,CAAC,CAAC,+BAA+B,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACjF,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE;YACpB,CAAC,CAAC,CAAC,kCAAkC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACjF,CAAC,CAAC,EAAE,CAAC;QACP,yBAAyB;QACzB,KAAK;QACL,8CAA8C;QAC9C,SAAS;QACT,oBAAoB;QACpB,UAAU;QACV,UAAU;KACX,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAEtD,OAAO;QACL,MAAM,EAAE;YACN,EAAE,EAAE,OAAO;YACX,KAAK;YACL,QAAQ;YACR,aAAa;YACb,WAAW;YACX,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,IAAI;YACvC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,IAAI;SAClC;QACD,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,qBAAqB;gBAC1B,OAAO,EAAE,4BAA4B,KAAK,WAAW,QAAQ,IAAI;gBACjE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Delete calendar event by uid in specific calendar.
3
+ * @tool
4
+ * @effect destructive
5
+ */
6
+ export declare function calendarDeleteEvent(args: {
7
+ id: string;
8
+ calendar?: string;
9
+ }): Promise<{
10
+ result: {
11
+ id: string;
12
+ calendar: string;
13
+ status: string;
14
+ };
15
+ evidence: {
16
+ type: string;
17
+ ref: string;
18
+ summary: string;
19
+ createdAt: string;
20
+ }[];
21
+ }>;
22
+ //# sourceMappingURL=calendarDeleteEvent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendarDeleteEvent.d.ts","sourceRoot":"","sources":["../../../src/calendar/calendarDeleteEvent.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;GAkChF"}
@@ -0,0 +1,41 @@
1
+ import { createTaggedError } from "@botbotgo/kit/sdk";
2
+ import { quoteAppleScriptString, runOsaScript } from "../osascript/common.js";
3
+ /**
4
+ * Delete calendar event by uid in specific calendar.
5
+ * @tool
6
+ * @effect destructive
7
+ */
8
+ export async function calendarDeleteEvent(args) {
9
+ const id = args.id?.trim();
10
+ const calendar = args.calendar?.trim() || "Home";
11
+ if (!id)
12
+ throw createTaggedError("CALENDAR_INVALID", "id is required", {});
13
+ const lines = [
14
+ 'tell application "Calendar"',
15
+ "activate",
16
+ `set calName to ${quoteAppleScriptString(calendar)}`,
17
+ `set wantedId to ${quoteAppleScriptString(id)}`,
18
+ "set targetCal to calendar calName",
19
+ "set targetEvent to first event of targetCal whose (uid as text) is wantedId",
20
+ "delete targetEvent",
21
+ 'return "deleted"',
22
+ "end tell",
23
+ ];
24
+ const output = await runOsaScript(lines, "CALENDAR");
25
+ return {
26
+ result: {
27
+ id,
28
+ calendar,
29
+ status: output || "deleted",
30
+ },
31
+ evidence: [
32
+ {
33
+ type: "tool",
34
+ ref: "calendarDeleteEvent",
35
+ summary: `Deleted calendar event ${id} in ${calendar}`,
36
+ createdAt: new Date().toISOString(),
37
+ },
38
+ ],
39
+ };
40
+ }
41
+ //# sourceMappingURL=calendarDeleteEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendarDeleteEvent.js","sourceRoot":"","sources":["../../../src/calendar/calendarDeleteEvent.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,mBAAmB,CAAC,IAAuC;IAC/E,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,MAAM,CAAC;IACjD,IAAI,CAAC,EAAE;QAAE,MAAM,iBAAiB,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAE3E,MAAM,KAAK,GAAG;QACZ,6BAA6B;QAC7B,UAAU;QACV,kBAAkB,sBAAsB,CAAC,QAAQ,CAAC,EAAE;QACpD,mBAAmB,sBAAsB,CAAC,EAAE,CAAC,EAAE;QAC/C,mCAAmC;QACnC,6EAA6E;QAC7E,oBAAoB;QACpB,kBAAkB;QAClB,UAAU;KACX,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAErD,OAAO;QACL,MAAM,EAAE;YACN,EAAE;YACF,QAAQ;YACR,MAAM,EAAE,MAAM,IAAI,SAAS;SAC5B;QACD,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,qBAAqB;gBAC1B,OAAO,EAAE,0BAA0B,EAAE,OAAO,QAAQ,EAAE;gBACtD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * List events in macOS Calendar.
3
+ * @tool
4
+ * @effect none
5
+ */
6
+ export declare function calendarListEvents(args?: {
7
+ calendar?: string;
8
+ fromDateText?: string;
9
+ toDateText?: string;
10
+ limit?: number;
11
+ }): Promise<{
12
+ result: {
13
+ calendar: string;
14
+ fromDateText: string | null;
15
+ toDateText: string | null;
16
+ count: number;
17
+ events: {
18
+ id: string;
19
+ title: string;
20
+ startDateText: string;
21
+ endDateText: string;
22
+ location: string;
23
+ }[];
24
+ };
25
+ evidence: {
26
+ type: string;
27
+ ref: string;
28
+ summary: string;
29
+ createdAt: string;
30
+ }[];
31
+ }>;
32
+ //# sourceMappingURL=calendarListEvents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendarListEvents.d.ts","sourceRoot":"","sources":["../../../src/calendar/calendarListEvents.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,GAAE;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CACX;;;;;;;;;;;;;;;;;;;;GA0FL"}
@@ -0,0 +1,95 @@
1
+ import { parseSeparatedRows, quoteAppleScriptString, runOsaScript } from "../osascript/common.js";
2
+ /**
3
+ * List events in macOS Calendar.
4
+ * @tool
5
+ * @effect none
6
+ */
7
+ export async function calendarListEvents(args = {}) {
8
+ const calendar = args.calendar?.trim() || "Home";
9
+ const limit = Math.max(1, Math.min(200, Math.trunc(args.limit ?? 30)));
10
+ const fromDateText = args.fromDateText?.trim() || null;
11
+ const toDateText = args.toDateText?.trim() || null;
12
+ const hasRange = Boolean(fromDateText && toDateText);
13
+ const lines = [
14
+ 'tell application "Calendar" to launch',
15
+ "delay 1",
16
+ 'tell application "Calendar"',
17
+ "activate",
18
+ "delay 0.5",
19
+ "set rs to (ASCII character 30)",
20
+ "set fs to (ASCII character 31)",
21
+ `set calName to ${quoteAppleScriptString(calendar)}`,
22
+ ...(hasRange
23
+ ? [
24
+ `set fromText to ${quoteAppleScriptString(fromDateText)}`,
25
+ `set toText to ${quoteAppleScriptString(toDateText)}`,
26
+ "set fromDate to date fromText",
27
+ "set toDate to date toText",
28
+ ]
29
+ : []),
30
+ "set targetCal to calendar calName",
31
+ "set rows to {}",
32
+ "set n to 0",
33
+ `set maxCount to ${limit}`,
34
+ ...(hasRange
35
+ ? ["set matchedEvents to (every event of targetCal whose start date >= fromDate and start date <= toDate)"]
36
+ : ["set matchedEvents to every event of targetCal"]),
37
+ "repeat with ev in matchedEvents",
38
+ "if n is greater than or equal to maxCount then exit repeat",
39
+ "set n to n + 1",
40
+ "set eid to \"\"",
41
+ "try",
42
+ "set eid to (uid of ev) as text",
43
+ "end try",
44
+ "set titleText to \"\"",
45
+ "try",
46
+ "set titleText to (summary of ev) as text",
47
+ "end try",
48
+ "set startText to \"\"",
49
+ "try",
50
+ "set startText to (start date of ev) as text",
51
+ "end try",
52
+ "set endText to \"\"",
53
+ "try",
54
+ "set endText to (end date of ev) as text",
55
+ "end try",
56
+ "set locText to \"\"",
57
+ "try",
58
+ "set locText to (location of ev) as text",
59
+ "end try",
60
+ "set end of rows to eid & fs & titleText & fs & startText & fs & endText & fs & locText",
61
+ "end repeat",
62
+ "set AppleScript's text item delimiters to rs",
63
+ "set outText to rows as text",
64
+ "set AppleScript's text item delimiters to \"\"",
65
+ "return outText",
66
+ "end tell",
67
+ ];
68
+ const output = await runOsaScript(lines, "CALENDAR");
69
+ const rows = parseSeparatedRows(output);
70
+ const events = rows.map((parts) => ({
71
+ id: parts[0] ?? "",
72
+ title: parts[1] ?? "",
73
+ startDateText: parts[2] ?? "",
74
+ endDateText: parts[3] ?? "",
75
+ location: parts[4] ?? "",
76
+ }));
77
+ return {
78
+ result: {
79
+ calendar,
80
+ fromDateText,
81
+ toDateText,
82
+ count: events.length,
83
+ events,
84
+ },
85
+ evidence: [
86
+ {
87
+ type: "tool",
88
+ ref: "calendarListEvents",
89
+ summary: `Listed ${events.length} events from calendar \"${calendar}\"`,
90
+ createdAt: new Date().toISOString(),
91
+ },
92
+ ],
93
+ };
94
+ }
95
+ //# sourceMappingURL=calendarListEvents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendarListEvents.js","sourceRoot":"","sources":["../../../src/calendar/calendarListEvents.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Canonical name for rescheduling a calendar event by title.
3
+ * @tool
4
+ * @effect local_write
5
+ */
6
+ export declare function calendarRescheduleEventByTitle(args: {
7
+ titleQuery: string;
8
+ newStartDateText: string;
9
+ newEndDateText: string;
10
+ calendar?: string;
11
+ fromDateText?: string;
12
+ toDateText?: string;
13
+ }): Promise<{
14
+ result: {
15
+ calendar: string;
16
+ titleQuery: string;
17
+ id: string;
18
+ title: string;
19
+ newStartDateText: string;
20
+ newEndDateText: string;
21
+ status: string;
22
+ };
23
+ evidence: {
24
+ type: string;
25
+ ref: string;
26
+ summary: string;
27
+ createdAt: string;
28
+ }[];
29
+ }>;
30
+ //# sourceMappingURL=calendarRescheduleEventByTitle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendarRescheduleEventByTitle.d.ts","sourceRoot":"","sources":["../../../src/calendar/calendarRescheduleEventByTitle.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAsB,8BAA8B,CAAC,IAAI,EAAE;IACzD,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;;;;;;;;;;;;;;;;GAuFA"}
@@ -0,0 +1,94 @@
1
+ import { createTaggedError } from "@botbotgo/kit/sdk";
2
+ import { quoteAppleScriptString, runOsaScript } from "../osascript/common.js";
3
+ /**
4
+ * Canonical name for rescheduling a calendar event by title.
5
+ * @tool
6
+ * @effect local_write
7
+ */
8
+ export async function calendarRescheduleEventByTitle(args) {
9
+ const titleQuery = args.titleQuery?.trim();
10
+ const newStartDateText = args.newStartDateText?.trim();
11
+ const newEndDateText = args.newEndDateText?.trim();
12
+ if (!titleQuery)
13
+ throw createTaggedError("CALENDAR_INVALID", "titleQuery is required", {});
14
+ if (!newStartDateText) {
15
+ throw createTaggedError("CALENDAR_INVALID", "newStartDateText is required", {});
16
+ }
17
+ if (!newEndDateText)
18
+ throw createTaggedError("CALENDAR_INVALID", "newEndDateText is required", {});
19
+ const calendar = args.calendar?.trim() || "Home";
20
+ const fromDateText = args.fromDateText?.trim() || null;
21
+ const toDateText = args.toDateText?.trim() || null;
22
+ const hasRange = Boolean(fromDateText && toDateText);
23
+ const lines = [
24
+ 'tell application "Calendar"',
25
+ "activate",
26
+ `set calName to ${quoteAppleScriptString(calendar)}`,
27
+ `set q to ${quoteAppleScriptString(titleQuery.toLowerCase())}`,
28
+ ...(hasRange
29
+ ? [
30
+ `set fromText to ${quoteAppleScriptString(fromDateText)}`,
31
+ `set toText to ${quoteAppleScriptString(toDateText)}`,
32
+ ]
33
+ : []),
34
+ `set newStartText to ${quoteAppleScriptString(newStartDateText)}`,
35
+ `set newEndText to ${quoteAppleScriptString(newEndDateText)}`,
36
+ ...(hasRange
37
+ ? [
38
+ "set fromDate to date fromText",
39
+ "set toDate to date toText",
40
+ ]
41
+ : []),
42
+ "set newStart to date newStartText",
43
+ "set newEnd to date newEndText",
44
+ "set targetCal to calendar calName",
45
+ "set targetEvent to missing value",
46
+ "set matchedId to \"\"",
47
+ "set matchedTitle to \"\"",
48
+ ...(hasRange
49
+ ? ["set matchedEvents to (every event of targetCal whose start date >= fromDate and start date <= toDate)"]
50
+ : ["set matchedEvents to every event of targetCal"]),
51
+ "repeat with ev in matchedEvents",
52
+ "set titleText to \"\"",
53
+ "try",
54
+ "set titleText to (summary of ev) as text",
55
+ "end try",
56
+ "if ((titleText as lowercase) contains q) then",
57
+ "set targetEvent to ev",
58
+ "set matchedTitle to titleText",
59
+ "try",
60
+ "set matchedId to (uid of ev) as text",
61
+ "end try",
62
+ "exit repeat",
63
+ "end if",
64
+ "end repeat",
65
+ 'if targetEvent is missing value then error "No event found for title query: " & q',
66
+ "set start date of targetEvent to newStart",
67
+ "set end date of targetEvent to newEnd",
68
+ "set fs to (ASCII character 31)",
69
+ "return matchedId & fs & matchedTitle",
70
+ "end tell",
71
+ ];
72
+ const output = await runOsaScript(lines, "CALENDAR");
73
+ const [id = "", title = ""] = output.split("\x1f");
74
+ return {
75
+ result: {
76
+ calendar,
77
+ titleQuery,
78
+ id,
79
+ title,
80
+ newStartDateText,
81
+ newEndDateText,
82
+ status: "rescheduled",
83
+ },
84
+ evidence: [
85
+ {
86
+ type: "tool",
87
+ ref: "calendarRescheduleEventByTitle",
88
+ summary: `Rescheduled event matching ${titleQuery}`,
89
+ createdAt: new Date().toISOString(),
90
+ },
91
+ ],
92
+ };
93
+ }
94
+ //# sourceMappingURL=calendarRescheduleEventByTitle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendarRescheduleEventByTitle.js","sourceRoot":"","sources":["../../../src/calendar/calendarRescheduleEventByTitle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Canonical name for searching calendar events by title.
3
+ * @tool
4
+ * @effect none
5
+ */
6
+ export declare function calendarSearchEventsByTitle(args: {
7
+ titleQuery: string;
8
+ calendar?: string;
9
+ fromDateText?: string;
10
+ toDateText?: string;
11
+ limit?: number;
12
+ }): Promise<{
13
+ result: {
14
+ titleQuery: string;
15
+ calendar: string;
16
+ fromDateText: string | null;
17
+ toDateText: string | null;
18
+ count: number;
19
+ events: {
20
+ id: string;
21
+ title: string;
22
+ startDateText: string;
23
+ endDateText: string;
24
+ }[];
25
+ };
26
+ evidence: {
27
+ type: string;
28
+ ref: string;
29
+ summary: string;
30
+ createdAt: string;
31
+ }[];
32
+ }>;
33
+ //# sourceMappingURL=calendarSearchEventsByTitle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendarSearchEventsByTitle.d.ts","sourceRoot":"","sources":["../../../src/calendar/calendarSearchEventsByTitle.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAsB,2BAA2B,CAAC,IAAI,EAAE;IACtD,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;;;;;;;;;;;;;;;;;;;;GA0FA"}