@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.
- package/README.md +82 -0
- package/dist/agent-tool-extension-compat.d.ts +5 -0
- package/dist/agent-tool-extension-compat.d.ts.map +1 -0
- package/dist/agent-tool-extension-compat.js +8 -0
- package/dist/agent-tool-extension-compat.js.map +1 -0
- package/dist/config/tool.yaml +162 -0
- package/dist/core-tools-manifest.json +7081 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/src/analyze/analyzeLog.d.ts +30 -0
- package/dist/src/analyze/analyzeLog.d.ts.map +1 -0
- package/dist/src/analyze/analyzeLog.js +168 -0
- package/dist/src/analyze/analyzeLog.js.map +1 -0
- package/dist/src/analyze/analyzeProjectRepo.constants.d.ts +6 -0
- package/dist/src/analyze/analyzeProjectRepo.constants.d.ts.map +1 -0
- package/dist/src/analyze/analyzeProjectRepo.constants.js +53 -0
- package/dist/src/analyze/analyzeProjectRepo.constants.js.map +1 -0
- package/dist/src/analyze/analyzeProjectRepo.d.ts +35 -0
- package/dist/src/analyze/analyzeProjectRepo.d.ts.map +1 -0
- package/dist/src/analyze/analyzeProjectRepo.js +349 -0
- package/dist/src/analyze/analyzeProjectRepo.js.map +1 -0
- package/dist/src/analyze/askProjectRepo.d.ts +40 -0
- package/dist/src/analyze/askProjectRepo.d.ts.map +1 -0
- package/dist/src/analyze/askProjectRepo.helpers.d.ts +57 -0
- package/dist/src/analyze/askProjectRepo.helpers.d.ts.map +1 -0
- package/dist/src/analyze/askProjectRepo.helpers.js +233 -0
- package/dist/src/analyze/askProjectRepo.helpers.js.map +1 -0
- package/dist/src/analyze/askProjectRepo.js +287 -0
- package/dist/src/analyze/askProjectRepo.js.map +1 -0
- package/dist/src/analyze/defaults.d.ts +17 -0
- package/dist/src/analyze/defaults.d.ts.map +1 -0
- package/dist/src/analyze/defaults.js +17 -0
- package/dist/src/analyze/defaults.js.map +1 -0
- package/dist/src/analyze/embedText.d.ts +27 -0
- package/dist/src/analyze/embedText.d.ts.map +1 -0
- package/dist/src/analyze/embedText.js +132 -0
- package/dist/src/analyze/embedText.js.map +1 -0
- package/dist/src/calendar/calendarCreateEvent.d.ts +31 -0
- package/dist/src/calendar/calendarCreateEvent.d.ts.map +1 -0
- package/dist/src/calendar/calendarCreateEvent.js +67 -0
- package/dist/src/calendar/calendarCreateEvent.js.map +1 -0
- package/dist/src/calendar/calendarDeleteEvent.d.ts +22 -0
- package/dist/src/calendar/calendarDeleteEvent.d.ts.map +1 -0
- package/dist/src/calendar/calendarDeleteEvent.js +41 -0
- package/dist/src/calendar/calendarDeleteEvent.js.map +1 -0
- package/dist/src/calendar/calendarListEvents.d.ts +32 -0
- package/dist/src/calendar/calendarListEvents.d.ts.map +1 -0
- package/dist/src/calendar/calendarListEvents.js +95 -0
- package/dist/src/calendar/calendarListEvents.js.map +1 -0
- package/dist/src/calendar/calendarRescheduleEventByTitle.d.ts +30 -0
- package/dist/src/calendar/calendarRescheduleEventByTitle.d.ts.map +1 -0
- package/dist/src/calendar/calendarRescheduleEventByTitle.js +94 -0
- package/dist/src/calendar/calendarRescheduleEventByTitle.js.map +1 -0
- package/dist/src/calendar/calendarSearchEventsByTitle.d.ts +33 -0
- package/dist/src/calendar/calendarSearchEventsByTitle.d.ts.map +1 -0
- package/dist/src/calendar/calendarSearchEventsByTitle.js +95 -0
- package/dist/src/calendar/calendarSearchEventsByTitle.js.map +1 -0
- package/dist/src/calendar/calendarUpdateEvent.d.ts +27 -0
- package/dist/src/calendar/calendarUpdateEvent.d.ts.map +1 -0
- package/dist/src/calendar/calendarUpdateEvent.js +58 -0
- package/dist/src/calendar/calendarUpdateEvent.js.map +1 -0
- package/dist/src/cron/cronListEntries.d.ts +19 -0
- package/dist/src/cron/cronListEntries.d.ts.map +1 -0
- package/dist/src/cron/cronListEntries.js +33 -0
- package/dist/src/cron/cronListEntries.js.map +1 -0
- package/dist/src/cron/cronRemoveTaggedEntries.d.ts +21 -0
- package/dist/src/cron/cronRemoveTaggedEntries.d.ts.map +1 -0
- package/dist/src/cron/cronRemoveTaggedEntries.js +41 -0
- package/dist/src/cron/cronRemoveTaggedEntries.js.map +1 -0
- package/dist/src/cron/cronSetTaggedEntry.d.ts +24 -0
- package/dist/src/cron/cronSetTaggedEntry.d.ts.map +1 -0
- package/dist/src/cron/cronSetTaggedEntry.js +51 -0
- package/dist/src/cron/cronSetTaggedEntry.js.map +1 -0
- package/dist/src/exec/defaults.d.ts +8 -0
- package/dist/src/exec/defaults.d.ts.map +1 -0
- package/dist/src/exec/defaults.js +28 -0
- package/dist/src/exec/defaults.js.map +1 -0
- package/dist/src/exec/runCommand.d.ts +31 -0
- package/dist/src/exec/runCommand.d.ts.map +1 -0
- package/dist/src/exec/runCommand.js +158 -0
- package/dist/src/exec/runCommand.js.map +1 -0
- package/dist/src/fs/defaults.d.ts +16 -0
- package/dist/src/fs/defaults.d.ts.map +1 -0
- package/dist/src/fs/defaults.js +16 -0
- package/dist/src/fs/defaults.js.map +1 -0
- package/dist/src/fs/deletePath.d.ts +23 -0
- package/dist/src/fs/deletePath.d.ts.map +1 -0
- package/dist/src/fs/deletePath.js +70 -0
- package/dist/src/fs/deletePath.js.map +1 -0
- package/dist/src/fs/listDir.d.ts +35 -0
- package/dist/src/fs/listDir.d.ts.map +1 -0
- package/dist/src/fs/listDir.js +115 -0
- package/dist/src/fs/listDir.js.map +1 -0
- package/dist/src/fs/readText.d.ts +22 -0
- package/dist/src/fs/readText.d.ts.map +1 -0
- package/dist/src/fs/readText.js +47 -0
- package/dist/src/fs/readText.js.map +1 -0
- package/dist/src/fs/searchText.d.ts +40 -0
- package/dist/src/fs/searchText.d.ts.map +1 -0
- package/dist/src/fs/searchText.js +162 -0
- package/dist/src/fs/searchText.js.map +1 -0
- package/dist/src/fs/sha256.d.ts +21 -0
- package/dist/src/fs/sha256.d.ts.map +1 -0
- package/dist/src/fs/sha256.js +51 -0
- package/dist/src/fs/sha256.js.map +1 -0
- package/dist/src/fs/writeText.d.ts +28 -0
- package/dist/src/fs/writeText.d.ts.map +1 -0
- package/dist/src/fs/writeText.js +68 -0
- package/dist/src/fs/writeText.js.map +1 -0
- package/dist/src/git/common.d.ts +34 -0
- package/dist/src/git/common.d.ts.map +1 -0
- package/dist/src/git/common.js +120 -0
- package/dist/src/git/common.js.map +1 -0
- package/dist/src/git/defaults.d.ts +11 -0
- package/dist/src/git/defaults.d.ts.map +1 -0
- package/dist/src/git/defaults.js +54 -0
- package/dist/src/git/defaults.js.map +1 -0
- package/dist/src/git/ghRead.d.ts +29 -0
- package/dist/src/git/ghRead.d.ts.map +1 -0
- package/dist/src/git/ghRead.js +63 -0
- package/dist/src/git/ghRead.js.map +1 -0
- package/dist/src/git/gitAdd.d.ts +29 -0
- package/dist/src/git/gitAdd.d.ts.map +1 -0
- package/dist/src/git/gitAdd.js +57 -0
- package/dist/src/git/gitAdd.js.map +1 -0
- package/dist/src/git/gitCommit.d.ts +29 -0
- package/dist/src/git/gitCommit.d.ts.map +1 -0
- package/dist/src/git/gitCommit.js +56 -0
- package/dist/src/git/gitCommit.js.map +1 -0
- package/dist/src/git/gitDiff.d.ts +28 -0
- package/dist/src/git/gitDiff.d.ts.map +1 -0
- package/dist/src/git/gitDiff.js +54 -0
- package/dist/src/git/gitDiff.js.map +1 -0
- package/dist/src/git/gitLogHistory.d.ts +37 -0
- package/dist/src/git/gitLogHistory.d.ts.map +1 -0
- package/dist/src/git/gitLogHistory.js +85 -0
- package/dist/src/git/gitLogHistory.js.map +1 -0
- package/dist/src/git/gitPrView.d.ts +26 -0
- package/dist/src/git/gitPrView.d.ts.map +1 -0
- package/dist/src/git/gitPrView.js +66 -0
- package/dist/src/git/gitPrView.js.map +1 -0
- package/dist/src/git/gitPull.d.ts +31 -0
- package/dist/src/git/gitPull.d.ts.map +1 -0
- package/dist/src/git/gitPull.js +56 -0
- package/dist/src/git/gitPull.js.map +1 -0
- package/dist/src/git/gitRead.d.ts +28 -0
- package/dist/src/git/gitRead.d.ts.map +1 -0
- package/dist/src/git/gitRead.js +59 -0
- package/dist/src/git/gitRead.js.map +1 -0
- package/dist/src/git/gitStatus.d.ts +28 -0
- package/dist/src/git/gitStatus.d.ts.map +1 -0
- package/dist/src/git/gitStatus.js +55 -0
- package/dist/src/git/gitStatus.js.map +1 -0
- package/dist/src/git/gitSwitchBranch.d.ts +29 -0
- package/dist/src/git/gitSwitchBranch.d.ts.map +1 -0
- package/dist/src/git/gitSwitchBranch.js +57 -0
- package/dist/src/git/gitSwitchBranch.js.map +1 -0
- package/dist/src/git/gitTools.d.ts +11 -0
- package/dist/src/git/gitTools.d.ts.map +1 -0
- package/dist/src/git/gitTools.js +11 -0
- package/dist/src/git/gitTools.js.map +1 -0
- package/dist/src/http/defaults.d.ts +10 -0
- package/dist/src/http/defaults.d.ts.map +1 -0
- package/dist/src/http/defaults.js +19 -0
- package/dist/src/http/defaults.js.map +1 -0
- package/dist/src/http/downloadFile.d.ts +31 -0
- package/dist/src/http/downloadFile.d.ts.map +1 -0
- package/dist/src/http/downloadFile.js +188 -0
- package/dist/src/http/downloadFile.js.map +1 -0
- package/dist/src/http/duckduckgoSearch.d.ts +31 -0
- package/dist/src/http/duckduckgoSearch.d.ts.map +1 -0
- package/dist/src/http/duckduckgoSearch.js +190 -0
- package/dist/src/http/duckduckgoSearch.js.map +1 -0
- package/dist/src/http/fetchJson.d.ts +28 -0
- package/dist/src/http/fetchJson.d.ts.map +1 -0
- package/dist/src/http/fetchJson.js +139 -0
- package/dist/src/http/fetchJson.js.map +1 -0
- package/dist/src/http/fetchPageMainContent.d.ts +27 -0
- package/dist/src/http/fetchPageMainContent.d.ts.map +1 -0
- package/dist/src/http/fetchPageMainContent.js +164 -0
- package/dist/src/http/fetchPageMainContent.js.map +1 -0
- package/dist/src/http/fetchText.d.ts +29 -0
- package/dist/src/http/fetchText.d.ts.map +1 -0
- package/dist/src/http/fetchText.js +153 -0
- package/dist/src/http/fetchText.js.map +1 -0
- package/dist/src/http/head.d.ts +25 -0
- package/dist/src/http/head.d.ts.map +1 -0
- package/dist/src/http/head.js +80 -0
- package/dist/src/http/head.js.map +1 -0
- package/dist/src/http/yahooFinance.d.ts +39 -0
- package/dist/src/http/yahooFinance.d.ts.map +1 -0
- package/dist/src/http/yahooFinance.js +160 -0
- package/dist/src/http/yahooFinance.js.map +1 -0
- package/dist/src/iterm/common.d.ts +51 -0
- package/dist/src/iterm/common.d.ts.map +1 -0
- package/dist/src/iterm/common.js +214 -0
- package/dist/src/iterm/common.js.map +1 -0
- package/dist/src/iterm/itermCreateTab.d.ts +30 -0
- package/dist/src/iterm/itermCreateTab.d.ts.map +1 -0
- package/dist/src/iterm/itermCreateTab.js +73 -0
- package/dist/src/iterm/itermCreateTab.js.map +1 -0
- package/dist/src/iterm/itermCreateWindow.d.ts +30 -0
- package/dist/src/iterm/itermCreateWindow.d.ts.map +1 -0
- package/dist/src/iterm/itermCreateWindow.js +78 -0
- package/dist/src/iterm/itermCreateWindow.js.map +1 -0
- package/dist/src/iterm/itermGetSessionInfo.d.ts +30 -0
- package/dist/src/iterm/itermGetSessionInfo.d.ts.map +1 -0
- package/dist/src/iterm/itermGetSessionInfo.js +41 -0
- package/dist/src/iterm/itermGetSessionInfo.js.map +1 -0
- package/dist/src/iterm/itermListCurrentWindowSessions.d.ts +22 -0
- package/dist/src/iterm/itermListCurrentWindowSessions.d.ts.map +1 -0
- package/dist/src/iterm/itermListCurrentWindowSessions.js +67 -0
- package/dist/src/iterm/itermListCurrentWindowSessions.js.map +1 -0
- package/dist/src/iterm/itermListWindows.d.ts +31 -0
- package/dist/src/iterm/itermListWindows.d.ts.map +1 -0
- package/dist/src/iterm/itermListWindows.js +73 -0
- package/dist/src/iterm/itermListWindows.js.map +1 -0
- package/dist/src/iterm/itermRename.d.ts +30 -0
- package/dist/src/iterm/itermRename.d.ts.map +1 -0
- package/dist/src/iterm/itermRename.js +49 -0
- package/dist/src/iterm/itermRename.js.map +1 -0
- package/dist/src/iterm/itermResizeWindow.d.ts +29 -0
- package/dist/src/iterm/itermResizeWindow.d.ts.map +1 -0
- package/dist/src/iterm/itermResizeWindow.js +53 -0
- package/dist/src/iterm/itermResizeWindow.js.map +1 -0
- package/dist/src/iterm/itermRunCommandInSession.d.ts +37 -0
- package/dist/src/iterm/itermRunCommandInSession.d.ts.map +1 -0
- package/dist/src/iterm/itermRunCommandInSession.js +175 -0
- package/dist/src/iterm/itermRunCommandInSession.js.map +1 -0
- package/dist/src/iterm/itermSendText.d.ts +31 -0
- package/dist/src/iterm/itermSendText.d.ts.map +1 -0
- package/dist/src/iterm/itermSendText.js +70 -0
- package/dist/src/iterm/itermSendText.js.map +1 -0
- package/dist/src/iterm/itermSetBackgroundColor.d.ts +35 -0
- package/dist/src/iterm/itermSetBackgroundColor.d.ts.map +1 -0
- package/dist/src/iterm/itermSetBackgroundColor.js +41 -0
- package/dist/src/iterm/itermSetBackgroundColor.js.map +1 -0
- package/dist/src/iterm/itermSetSessionColors.d.ts +48 -0
- package/dist/src/iterm/itermSetSessionColors.d.ts.map +1 -0
- package/dist/src/iterm/itermSetSessionColors.js +71 -0
- package/dist/src/iterm/itermSetSessionColors.js.map +1 -0
- package/dist/src/iterm/itermSplitPane.d.ts +32 -0
- package/dist/src/iterm/itermSplitPane.d.ts.map +1 -0
- package/dist/src/iterm/itermSplitPane.js +76 -0
- package/dist/src/iterm/itermSplitPane.js.map +1 -0
- package/dist/src/iterm/itermTools.d.ts +13 -0
- package/dist/src/iterm/itermTools.d.ts.map +1 -0
- package/dist/src/iterm/itermTools.js +13 -0
- package/dist/src/iterm/itermTools.js.map +1 -0
- package/dist/src/messages/messagesFindChatsByParticipant.d.ts +27 -0
- package/dist/src/messages/messagesFindChatsByParticipant.d.ts.map +1 -0
- package/dist/src/messages/messagesFindChatsByParticipant.js +95 -0
- package/dist/src/messages/messagesFindChatsByParticipant.js.map +1 -0
- package/dist/src/messages/messagesListChats.d.ts +25 -0
- package/dist/src/messages/messagesListChats.d.ts.map +1 -0
- package/dist/src/messages/messagesListChats.js +69 -0
- package/dist/src/messages/messagesListChats.js.map +1 -0
- package/dist/src/messages/messagesReadChat.d.ts +28 -0
- package/dist/src/messages/messagesReadChat.d.ts.map +1 -0
- package/dist/src/messages/messagesReadChat.js +88 -0
- package/dist/src/messages/messagesReadChat.js.map +1 -0
- package/dist/src/messages/messagesSendByChatId.d.ts +22 -0
- package/dist/src/messages/messagesSendByChatId.d.ts.map +1 -0
- package/dist/src/messages/messagesSendByChatId.js +48 -0
- package/dist/src/messages/messagesSendByChatId.js.map +1 -0
- package/dist/src/messages/messagesSendByHandle.d.ts +26 -0
- package/dist/src/messages/messagesSendByHandle.d.ts.map +1 -0
- package/dist/src/messages/messagesSendByHandle.js +67 -0
- package/dist/src/messages/messagesSendByHandle.js.map +1 -0
- package/dist/src/messages/messagesSendByParticipantQuery.d.ts +26 -0
- package/dist/src/messages/messagesSendByParticipantQuery.d.ts.map +1 -0
- package/dist/src/messages/messagesSendByParticipantQuery.js +93 -0
- package/dist/src/messages/messagesSendByParticipantQuery.js.map +1 -0
- package/dist/src/notes/notesCreate.d.ts +23 -0
- package/dist/src/notes/notesCreate.d.ts.map +1 -0
- package/dist/src/notes/notesCreate.js +56 -0
- package/dist/src/notes/notesCreate.js.map +1 -0
- package/dist/src/notes/notesDelete.d.ts +20 -0
- package/dist/src/notes/notesDelete.d.ts.map +1 -0
- package/dist/src/notes/notesDelete.js +58 -0
- package/dist/src/notes/notesDelete.js.map +1 -0
- package/dist/src/notes/notesList.d.ts +26 -0
- package/dist/src/notes/notesList.d.ts.map +1 -0
- package/dist/src/notes/notesList.js +80 -0
- package/dist/src/notes/notesList.js.map +1 -0
- package/dist/src/notes/notesRead.d.ts +26 -0
- package/dist/src/notes/notesRead.d.ts.map +1 -0
- package/dist/src/notes/notesRead.js +82 -0
- package/dist/src/notes/notesRead.js.map +1 -0
- package/dist/src/notes/notesUpdate.d.ts +24 -0
- package/dist/src/notes/notesUpdate.d.ts.map +1 -0
- package/dist/src/notes/notesUpdate.js +75 -0
- package/dist/src/notes/notesUpdate.js.map +1 -0
- package/dist/src/osascript/common.d.ts +6 -0
- package/dist/src/osascript/common.d.ts.map +1 -0
- package/dist/src/osascript/common.js +52 -0
- package/dist/src/osascript/common.js.map +1 -0
- package/dist/src/platform/adapters/darwin.d.ts +3 -0
- package/dist/src/platform/adapters/darwin.d.ts.map +1 -0
- package/dist/src/platform/adapters/darwin.js +14 -0
- package/dist/src/platform/adapters/darwin.js.map +1 -0
- package/dist/src/platform/adapters/linux.d.ts +3 -0
- package/dist/src/platform/adapters/linux.d.ts.map +1 -0
- package/dist/src/platform/adapters/linux.js +8 -0
- package/dist/src/platform/adapters/linux.js.map +1 -0
- package/dist/src/platform/adapters/win32.d.ts +3 -0
- package/dist/src/platform/adapters/win32.d.ts.map +1 -0
- package/dist/src/platform/adapters/win32.js +8 -0
- package/dist/src/platform/adapters/win32.js.map +1 -0
- package/dist/src/platform/platformGetCapabilities.d.ts +23 -0
- package/dist/src/platform/platformGetCapabilities.d.ts.map +1 -0
- package/dist/src/platform/platformGetCapabilities.js +32 -0
- package/dist/src/platform/platformGetCapabilities.js.map +1 -0
- package/dist/src/platform/registry.d.ts +3 -0
- package/dist/src/platform/registry.d.ts.map +1 -0
- package/dist/src/platform/registry.js +16 -0
- package/dist/src/platform/registry.js.map +1 -0
- package/dist/src/platform/runtime.d.ts +15 -0
- package/dist/src/platform/runtime.d.ts.map +1 -0
- package/dist/src/platform/runtime.js +37 -0
- package/dist/src/platform/runtime.js.map +1 -0
- package/dist/src/platform/securityCompat.d.ts +8 -0
- package/dist/src/platform/securityCompat.d.ts.map +1 -0
- package/dist/src/platform/securityCompat.js +3 -0
- package/dist/src/platform/securityCompat.js.map +1 -0
- package/dist/src/platform/types.d.ts +10 -0
- package/dist/src/platform/types.d.ts.map +1 -0
- package/dist/src/platform/types.js +10 -0
- package/dist/src/platform/types.js.map +1 -0
- package/dist/src/reminders/remindersComplete.d.ts +22 -0
- package/dist/src/reminders/remindersComplete.d.ts.map +1 -0
- package/dist/src/reminders/remindersComplete.js +60 -0
- package/dist/src/reminders/remindersComplete.js.map +1 -0
- package/dist/src/reminders/remindersCreate.d.ts +24 -0
- package/dist/src/reminders/remindersCreate.d.ts.map +1 -0
- package/dist/src/reminders/remindersCreate.js +57 -0
- package/dist/src/reminders/remindersCreate.js.map +1 -0
- package/dist/src/reminders/remindersDelete.d.ts +22 -0
- package/dist/src/reminders/remindersDelete.d.ts.map +1 -0
- package/dist/src/reminders/remindersDelete.js +60 -0
- package/dist/src/reminders/remindersDelete.js.map +1 -0
- package/dist/src/reminders/remindersFind.d.ts +30 -0
- package/dist/src/reminders/remindersFind.d.ts.map +1 -0
- package/dist/src/reminders/remindersFind.js +85 -0
- package/dist/src/reminders/remindersFind.js.map +1 -0
- package/dist/src/reminders/remindersList.d.ts +28 -0
- package/dist/src/reminders/remindersList.d.ts.map +1 -0
- package/dist/src/reminders/remindersList.js +78 -0
- package/dist/src/reminders/remindersList.js.map +1 -0
- package/dist/src/safari/safariCloseTab.d.ts +22 -0
- package/dist/src/safari/safariCloseTab.d.ts.map +1 -0
- package/dist/src/safari/safariCloseTab.js +39 -0
- package/dist/src/safari/safariCloseTab.js.map +1 -0
- package/dist/src/safari/safariGetActiveTab.d.ts +18 -0
- package/dist/src/safari/safariGetActiveTab.d.ts.map +1 -0
- package/dist/src/safari/safariGetActiveTab.js +34 -0
- package/dist/src/safari/safariGetActiveTab.js.map +1 -0
- package/dist/src/safari/safariListTabs.d.ts +26 -0
- package/dist/src/safari/safariListTabs.d.ts.map +1 -0
- package/dist/src/safari/safariListTabs.js +71 -0
- package/dist/src/safari/safariListTabs.js.map +1 -0
- package/dist/src/safari/safariOpenWebUrl.d.ts +22 -0
- package/dist/src/safari/safariOpenWebUrl.d.ts.map +1 -0
- package/dist/src/safari/safariOpenWebUrl.js +49 -0
- package/dist/src/safari/safariOpenWebUrl.js.map +1 -0
- package/dist/src/safari/safariReadPageContent.d.ts +31 -0
- package/dist/src/safari/safariReadPageContent.d.ts.map +1 -0
- package/dist/src/safari/safariReadPageContent.js +69 -0
- package/dist/src/safari/safariReadPageContent.js.map +1 -0
- package/dist/src/safari/safariReadSelection.d.ts +26 -0
- package/dist/src/safari/safariReadSelection.d.ts.map +1 -0
- package/dist/src/safari/safariReadSelection.js +75 -0
- package/dist/src/safari/safariReadSelection.js.map +1 -0
- package/dist/src/util/hashText.d.ts +19 -0
- package/dist/src/util/hashText.d.ts.map +1 -0
- package/dist/src/util/hashText.js +24 -0
- package/dist/src/util/hashText.js.map +1 -0
- package/dist/src/util/jsonSelect.d.ts +22 -0
- package/dist/src/util/jsonSelect.d.ts.map +1 -0
- package/dist/src/util/jsonSelect.js +41 -0
- package/dist/src/util/jsonSelect.js.map +1 -0
- package/dist/src/util/now.d.ts +22 -0
- package/dist/src/util/now.d.ts.map +1 -0
- package/dist/src/util/now.js +51 -0
- package/dist/src/util/now.js.map +1 -0
- package/dist/src/util/overrideWithConfig.d.ts +2 -0
- package/dist/src/util/overrideWithConfig.d.ts.map +1 -0
- package/dist/src/util/overrideWithConfig.js +2 -0
- package/dist/src/util/overrideWithConfig.js.map +1 -0
- package/dist/src/util/templateRender.d.ts +20 -0
- package/dist/src/util/templateRender.d.ts.map +1 -0
- package/dist/src/util/templateRender.js +40 -0
- package/dist/src/util/templateRender.js.map +1 -0
- package/dist/src/util/truncate.d.ts +23 -0
- package/dist/src/util/truncate.d.ts.map +1 -0
- package/dist/src/util/truncate.js +44 -0
- package/dist/src/util/truncate.js.map +1 -0
- package/dist/vitest.config.d.ts +3 -0
- package/dist/vitest.config.d.ts.map +1 -0
- package/dist/vitest.config.js +8 -0
- package/dist/vitest.config.js.map +1 -0
- package/package.json +65 -0
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { createTaggedError } from "@botbotgo/kit/sdk";
|
|
2
|
+
import { parseSeparatedRows, quoteAppleScriptString, runOsaScript, } from "../osascript/common.js";
|
|
3
|
+
/**
|
|
4
|
+
* Read recent messages from a specific Messages chat id.
|
|
5
|
+
* You can get chatId via messagesListChats.
|
|
6
|
+
* @tool
|
|
7
|
+
* @effect none
|
|
8
|
+
*/
|
|
9
|
+
export async function messagesReadChat(args) {
|
|
10
|
+
const chatId = args.chatId?.trim();
|
|
11
|
+
if (!chatId) {
|
|
12
|
+
throw createTaggedError("MESSAGES_INVALID", "chatId is required", {});
|
|
13
|
+
}
|
|
14
|
+
const limit = Math.max(1, Math.min(200, Math.trunc(args.limit ?? 20)));
|
|
15
|
+
const lines = [
|
|
16
|
+
'tell application "Messages"',
|
|
17
|
+
"set rs to (ASCII character 30)",
|
|
18
|
+
"set fs to (ASCII character 31)",
|
|
19
|
+
`set wantedChatId to ${quoteAppleScriptString(chatId)}`,
|
|
20
|
+
"repeat with svc in services",
|
|
21
|
+
"repeat with c in chats of svc",
|
|
22
|
+
"set cid to \"\"",
|
|
23
|
+
"try",
|
|
24
|
+
"set cid to (id of c) as text",
|
|
25
|
+
"end try",
|
|
26
|
+
"if cid is wantedChatId then",
|
|
27
|
+
"set totalCount to 0",
|
|
28
|
+
"try",
|
|
29
|
+
"set totalCount to count of messages of c",
|
|
30
|
+
"end try",
|
|
31
|
+
"set startIndex to totalCount - " + (limit - 1) + "",
|
|
32
|
+
"if startIndex < 1 then set startIndex to 1",
|
|
33
|
+
"set rows to {}",
|
|
34
|
+
"repeat with i from startIndex to totalCount",
|
|
35
|
+
"set m to item i of (messages of c)",
|
|
36
|
+
"set senderText to \"\"",
|
|
37
|
+
"try",
|
|
38
|
+
"set senderText to sender of m as text",
|
|
39
|
+
"end try",
|
|
40
|
+
"set bodyText to \"\"",
|
|
41
|
+
"try",
|
|
42
|
+
"set bodyText to text of m",
|
|
43
|
+
"end try",
|
|
44
|
+
"set dateText to \"\"",
|
|
45
|
+
"try",
|
|
46
|
+
"set dateText to (|time sent| of m) as text",
|
|
47
|
+
"end try",
|
|
48
|
+
"set fromMeText to \"\"",
|
|
49
|
+
"try",
|
|
50
|
+
"set fromMeText to (|from me| of m) as text",
|
|
51
|
+
"end try",
|
|
52
|
+
"set end of rows to senderText & fs & bodyText & fs & dateText & fs & fromMeText",
|
|
53
|
+
"end repeat",
|
|
54
|
+
"set AppleScript's text item delimiters to rs",
|
|
55
|
+
"set outText to rows as text",
|
|
56
|
+
"set AppleScript's text item delimiters to \"\"",
|
|
57
|
+
"return outText",
|
|
58
|
+
"end if",
|
|
59
|
+
"end repeat",
|
|
60
|
+
"end repeat",
|
|
61
|
+
'error "Chat not found: " & wantedChatId',
|
|
62
|
+
"end tell",
|
|
63
|
+
];
|
|
64
|
+
const output = await runOsaScript(lines, "MESSAGES");
|
|
65
|
+
const rows = parseSeparatedRows(output);
|
|
66
|
+
const messages = rows.map((parts) => ({
|
|
67
|
+
sender: parts[0] ?? "",
|
|
68
|
+
text: parts[1] ?? "",
|
|
69
|
+
timeSentText: parts[2] ?? "",
|
|
70
|
+
fromMe: (parts[3] ?? "").toLowerCase() === "true",
|
|
71
|
+
}));
|
|
72
|
+
return {
|
|
73
|
+
result: {
|
|
74
|
+
chatId,
|
|
75
|
+
count: messages.length,
|
|
76
|
+
messages,
|
|
77
|
+
},
|
|
78
|
+
evidence: [
|
|
79
|
+
{
|
|
80
|
+
type: "tool",
|
|
81
|
+
ref: "messagesReadChat",
|
|
82
|
+
summary: `Read ${messages.length} messages from chat ${chatId}`,
|
|
83
|
+
createdAt: new Date().toISOString(),
|
|
84
|
+
},
|
|
85
|
+
],
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=messagesReadChat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messagesReadChat.js","sourceRoot":"","sources":["../../../src/messages/messagesReadChat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,YAAY,GACb,MAAM,wBAAwB,CAAC;AAEhC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAwC;IAC7E,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;IACnC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,iBAAiB,CAAC,kBAAkB,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAEvE,MAAM,KAAK,GAAG;QACZ,6BAA6B;QAC7B,gCAAgC;QAChC,gCAAgC;QAChC,uBAAuB,sBAAsB,CAAC,MAAM,CAAC,EAAE;QACvD,6BAA6B;QAC7B,+BAA+B;QAC/B,iBAAiB;QACjB,KAAK;QACL,8BAA8B;QAC9B,SAAS;QACT,6BAA6B;QAC7B,qBAAqB;QACrB,KAAK;QACL,0CAA0C;QAC1C,SAAS;QACT,iCAAiC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,EAAE;QACpD,4CAA4C;QAC5C,gBAAgB;QAChB,6CAA6C;QAC7C,oCAAoC;QACpC,wBAAwB;QACxB,KAAK;QACL,uCAAuC;QACvC,SAAS;QACT,sBAAsB;QACtB,KAAK;QACL,2BAA2B;QAC3B,SAAS;QACT,sBAAsB;QACtB,KAAK;QACL,4CAA4C;QAC5C,SAAS;QACT,wBAAwB;QACxB,KAAK;QACL,4CAA4C;QAC5C,SAAS;QACT,iFAAiF;QACjF,YAAY;QACZ,8CAA8C;QAC9C,6BAA6B;QAC7B,gDAAgD;QAChD,gBAAgB;QAChB,QAAQ;QACR,YAAY;QACZ,YAAY;QACZ,yCAAyC;QACzC,UAAU;KACX,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAExC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACpC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QACtB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QACpB,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QAC5B,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM;KAClD,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,MAAM,EAAE;YACN,MAAM;YACN,KAAK,EAAE,QAAQ,CAAC,MAAM;YACtB,QAAQ;SACT;QACD,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,kBAAkB;gBACvB,OAAO,EAAE,QAAQ,QAAQ,CAAC,MAAM,uBAAuB,MAAM,EAAE;gBAC/D,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Send a message to a specific Messages chat by chat id.
|
|
3
|
+
* @tool
|
|
4
|
+
* @effect local_write
|
|
5
|
+
*/
|
|
6
|
+
export declare function messagesSendByChatId(args: {
|
|
7
|
+
chatId: string;
|
|
8
|
+
text: string;
|
|
9
|
+
}): Promise<{
|
|
10
|
+
result: {
|
|
11
|
+
chatId: string;
|
|
12
|
+
text: string;
|
|
13
|
+
status: string;
|
|
14
|
+
};
|
|
15
|
+
evidence: {
|
|
16
|
+
type: string;
|
|
17
|
+
ref: string;
|
|
18
|
+
summary: string;
|
|
19
|
+
createdAt: string;
|
|
20
|
+
}[];
|
|
21
|
+
}>;
|
|
22
|
+
//# sourceMappingURL=messagesSendByChatId.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messagesSendByChatId.d.ts","sourceRoot":"","sources":["../../../src/messages/messagesSendByChatId.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;GAwChF"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { createTaggedError } from "@botbotgo/kit/sdk";
|
|
2
|
+
import { quoteAppleScriptString, runOsaScript } from "../osascript/common.js";
|
|
3
|
+
/**
|
|
4
|
+
* Send a message to a specific Messages chat by chat id.
|
|
5
|
+
* @tool
|
|
6
|
+
* @effect local_write
|
|
7
|
+
*/
|
|
8
|
+
export async function messagesSendByChatId(args) {
|
|
9
|
+
const chatId = args.chatId?.trim();
|
|
10
|
+
const text = args.text?.trim();
|
|
11
|
+
if (!chatId)
|
|
12
|
+
throw createTaggedError("MESSAGES_INVALID", "chatId is required", {});
|
|
13
|
+
if (!text)
|
|
14
|
+
throw createTaggedError("MESSAGES_INVALID", "text is required", {});
|
|
15
|
+
const lines = [
|
|
16
|
+
'tell application "Messages"',
|
|
17
|
+
`set wantedChatId to ${quoteAppleScriptString(chatId)}`,
|
|
18
|
+
`set messageBody to ${quoteAppleScriptString(text)}`,
|
|
19
|
+
"set targetChat to missing value",
|
|
20
|
+
"repeat with svc in services",
|
|
21
|
+
"try",
|
|
22
|
+
"set targetChat to first chat of svc whose (id as text) is wantedChatId",
|
|
23
|
+
"exit repeat",
|
|
24
|
+
"end try",
|
|
25
|
+
"end repeat",
|
|
26
|
+
'if targetChat is missing value then error "Chat not found: " & wantedChatId',
|
|
27
|
+
"send messageBody to targetChat",
|
|
28
|
+
'return "sent"',
|
|
29
|
+
"end tell",
|
|
30
|
+
];
|
|
31
|
+
const status = await runOsaScript(lines, "MESSAGES");
|
|
32
|
+
return {
|
|
33
|
+
result: {
|
|
34
|
+
chatId,
|
|
35
|
+
text,
|
|
36
|
+
status: status || "sent",
|
|
37
|
+
},
|
|
38
|
+
evidence: [
|
|
39
|
+
{
|
|
40
|
+
type: "tool",
|
|
41
|
+
ref: "messagesSendByChatId",
|
|
42
|
+
summary: `Sent message to chat ${chatId}`,
|
|
43
|
+
createdAt: new Date().toISOString(),
|
|
44
|
+
},
|
|
45
|
+
],
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=messagesSendByChatId.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messagesSendByChatId.js","sourceRoot":"","sources":["../../../src/messages/messagesSendByChatId.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,oBAAoB,CAAC,IAAsC;IAC/E,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;IAC/B,IAAI,CAAC,MAAM;QAAE,MAAM,iBAAiB,CAAC,kBAAkB,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAC;IACnF,IAAI,CAAC,IAAI;QAAE,MAAM,iBAAiB,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC;IAE/E,MAAM,KAAK,GAAG;QACZ,6BAA6B;QAC7B,uBAAuB,sBAAsB,CAAC,MAAM,CAAC,EAAE;QACvD,sBAAsB,sBAAsB,CAAC,IAAI,CAAC,EAAE;QACpD,iCAAiC;QACjC,6BAA6B;QAC7B,KAAK;QACL,wEAAwE;QACxE,aAAa;QACb,SAAS;QACT,YAAY;QACZ,6EAA6E;QAC7E,gCAAgC;QAChC,eAAe;QACf,UAAU;KACX,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAErD,OAAO;QACL,MAAM,EAAE;YACN,MAAM;YACN,IAAI;YACJ,MAAM,EAAE,MAAM,IAAI,MAAM;SACzB;QACD,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,sBAAsB;gBAC3B,OAAO,EAAE,wBAAwB,MAAM,EAAE;gBACzC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Send a message by handle (phone/email) via macOS Messages.
|
|
3
|
+
* Use this when you know the exact recipient handle.
|
|
4
|
+
* @tool
|
|
5
|
+
* @effect local_write
|
|
6
|
+
*/
|
|
7
|
+
export declare function messagesSendByHandle(args: {
|
|
8
|
+
to: string;
|
|
9
|
+
text: string;
|
|
10
|
+
serviceType?: "iMessage" | "SMS";
|
|
11
|
+
}): Promise<{
|
|
12
|
+
result: {
|
|
13
|
+
to: string;
|
|
14
|
+
text: string;
|
|
15
|
+
serviceType: "iMessage" | "SMS";
|
|
16
|
+
deliveryTarget: string;
|
|
17
|
+
status: string;
|
|
18
|
+
};
|
|
19
|
+
evidence: {
|
|
20
|
+
type: string;
|
|
21
|
+
ref: string;
|
|
22
|
+
summary: string;
|
|
23
|
+
createdAt: string;
|
|
24
|
+
}[];
|
|
25
|
+
}>;
|
|
26
|
+
//# sourceMappingURL=messagesSendByHandle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messagesSendByHandle.d.ts","sourceRoot":"","sources":["../../../src/messages/messagesSendByHandle.ts"],"names":[],"mappings":"AAcA;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC;CAClC;;;;;;;;;;;;;;GAqDA"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { createTaggedError } from "@botbotgo/kit/sdk";
|
|
2
|
+
import { quoteAppleScriptString, runOsaScript } from "../osascript/common.js";
|
|
3
|
+
function normalizeServiceType(input) {
|
|
4
|
+
const raw = (input ?? "iMessage").trim().toLowerCase();
|
|
5
|
+
if (raw === "imessage")
|
|
6
|
+
return "iMessage";
|
|
7
|
+
if (raw === "sms")
|
|
8
|
+
return "SMS";
|
|
9
|
+
throw createTaggedError("MESSAGES_INVALID", "serviceType must be one of: iMessage, SMS", { serviceType: input ?? null });
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Send a message by handle (phone/email) via macOS Messages.
|
|
13
|
+
* Use this when you know the exact recipient handle.
|
|
14
|
+
* @tool
|
|
15
|
+
* @effect local_write
|
|
16
|
+
*/
|
|
17
|
+
export async function messagesSendByHandle(args) {
|
|
18
|
+
const to = args.to?.trim();
|
|
19
|
+
const text = args.text?.trim();
|
|
20
|
+
if (!to) {
|
|
21
|
+
throw createTaggedError("MESSAGES_INVALID", "to is required", {});
|
|
22
|
+
}
|
|
23
|
+
if (!text) {
|
|
24
|
+
throw createTaggedError("MESSAGES_INVALID", "text is required", {});
|
|
25
|
+
}
|
|
26
|
+
const serviceType = normalizeServiceType(args.serviceType);
|
|
27
|
+
const serviceScriptValue = serviceType === "SMS" ? "SMS" : "iMessage";
|
|
28
|
+
const lines = [
|
|
29
|
+
'tell application "Messages"',
|
|
30
|
+
`set targetService to first service whose service type = ${serviceScriptValue}`,
|
|
31
|
+
`set targetHandle to ${quoteAppleScriptString(to)}`,
|
|
32
|
+
`set messageBody to ${quoteAppleScriptString(text)}`,
|
|
33
|
+
"try",
|
|
34
|
+
"set targetBuddy to buddy targetHandle of targetService",
|
|
35
|
+
"send messageBody to targetBuddy",
|
|
36
|
+
'return "buddy"',
|
|
37
|
+
"on error",
|
|
38
|
+
"try",
|
|
39
|
+
"set targetParticipant to participant targetHandle of targetService",
|
|
40
|
+
"send messageBody to targetParticipant",
|
|
41
|
+
'return "participant"',
|
|
42
|
+
"on error errMsg number errNum",
|
|
43
|
+
'error "Unable to send message to " & targetHandle & ": " & errMsg number errNum',
|
|
44
|
+
"end try",
|
|
45
|
+
"end try",
|
|
46
|
+
"end tell",
|
|
47
|
+
];
|
|
48
|
+
const deliveryTarget = await runOsaScript(lines, "MESSAGES");
|
|
49
|
+
return {
|
|
50
|
+
result: {
|
|
51
|
+
to,
|
|
52
|
+
text,
|
|
53
|
+
serviceType,
|
|
54
|
+
deliveryTarget: deliveryTarget || "unknown",
|
|
55
|
+
status: "sent",
|
|
56
|
+
},
|
|
57
|
+
evidence: [
|
|
58
|
+
{
|
|
59
|
+
type: "tool",
|
|
60
|
+
ref: "messagesSendByHandle",
|
|
61
|
+
summary: `Sent ${serviceType} message to ${to}`,
|
|
62
|
+
createdAt: new Date().toISOString(),
|
|
63
|
+
},
|
|
64
|
+
],
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=messagesSendByHandle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messagesSendByHandle.js","sourceRoot":"","sources":["../../../src/messages/messagesSendByHandle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE9E,SAAS,oBAAoB,CAAC,KAAc;IAC1C,MAAM,GAAG,GAAG,CAAC,KAAK,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACvD,IAAI,GAAG,KAAK,UAAU;QAAE,OAAO,UAAU,CAAC;IAC1C,IAAI,GAAG,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAChC,MAAM,iBAAiB,CACrB,kBAAkB,EAClB,2CAA2C,EAC3C,EAAE,WAAW,EAAE,KAAK,IAAI,IAAI,EAAE,CAC/B,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAI1C;IACC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;IAC/B,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,iBAAiB,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,iBAAiB,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,WAAW,GAAG,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3D,MAAM,kBAAkB,GAAG,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;IAEtE,MAAM,KAAK,GAAG;QACZ,6BAA6B;QAC7B,2DAA2D,kBAAkB,EAAE;QAC/E,uBAAuB,sBAAsB,CAAC,EAAE,CAAC,EAAE;QACnD,sBAAsB,sBAAsB,CAAC,IAAI,CAAC,EAAE;QACpD,KAAK;QACL,wDAAwD;QACxD,iCAAiC;QACjC,gBAAgB;QAChB,UAAU;QACV,KAAK;QACL,oEAAoE;QACpE,uCAAuC;QACvC,sBAAsB;QACtB,+BAA+B;QAC/B,iFAAiF;QACjF,SAAS;QACT,SAAS;QACT,UAAU;KACX,CAAC;IAEF,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAE7D,OAAO;QACL,MAAM,EAAE;YACN,EAAE;YACF,IAAI;YACJ,WAAW;YACX,cAAc,EAAE,cAAc,IAAI,SAAS;YAC3C,MAAM,EAAE,MAAM;SACf;QACD,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,sBAAsB;gBAC3B,OAAO,EAAE,QAAQ,WAAW,eAAe,EAAE,EAAE;gBAC/C,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Find the first chat matching participant query and send a message.
|
|
3
|
+
* @tool
|
|
4
|
+
* @effect local_write
|
|
5
|
+
*/
|
|
6
|
+
export declare function messagesSendByParticipantQuery(args: {
|
|
7
|
+
participantQuery: string;
|
|
8
|
+
text: string;
|
|
9
|
+
serviceType?: "iMessage" | "SMS";
|
|
10
|
+
}): Promise<{
|
|
11
|
+
result: {
|
|
12
|
+
participantQuery: string;
|
|
13
|
+
text: string;
|
|
14
|
+
serviceType: string;
|
|
15
|
+
chatId: string;
|
|
16
|
+
chatName: string;
|
|
17
|
+
status: string;
|
|
18
|
+
};
|
|
19
|
+
evidence: {
|
|
20
|
+
type: string;
|
|
21
|
+
ref: string;
|
|
22
|
+
summary: string;
|
|
23
|
+
createdAt: string;
|
|
24
|
+
}[];
|
|
25
|
+
}>;
|
|
26
|
+
//# sourceMappingURL=messagesSendByParticipantQuery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messagesSendByParticipantQuery.d.ts","sourceRoot":"","sources":["../../../src/messages/messagesSendByParticipantQuery.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAsB,8BAA8B,CAAC,IAAI,EAAE;IACzD,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC;CAClC;;;;;;;;;;;;;;;GAwFA"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { createTaggedError } from "@botbotgo/kit/sdk";
|
|
2
|
+
import { quoteAppleScriptString, runOsaScript } from "../osascript/common.js";
|
|
3
|
+
/**
|
|
4
|
+
* Find the first chat matching participant query and send a message.
|
|
5
|
+
* @tool
|
|
6
|
+
* @effect local_write
|
|
7
|
+
*/
|
|
8
|
+
export async function messagesSendByParticipantQuery(args) {
|
|
9
|
+
const participantQuery = args.participantQuery?.trim();
|
|
10
|
+
const text = args.text?.trim();
|
|
11
|
+
if (!participantQuery) {
|
|
12
|
+
throw createTaggedError("MESSAGES_INVALID", "participantQuery is required", {});
|
|
13
|
+
}
|
|
14
|
+
if (!text) {
|
|
15
|
+
throw createTaggedError("MESSAGES_INVALID", "text is required", {});
|
|
16
|
+
}
|
|
17
|
+
const serviceType = (args.serviceType ?? "iMessage").trim().toLowerCase();
|
|
18
|
+
if (serviceType !== "imessage" && serviceType !== "sms") {
|
|
19
|
+
throw createTaggedError("MESSAGES_INVALID", "serviceType must be iMessage or SMS", {
|
|
20
|
+
serviceType: args.serviceType ?? null,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
const serviceScriptValue = serviceType === "sms" ? "SMS" : "iMessage";
|
|
24
|
+
const lines = [
|
|
25
|
+
'tell application "Messages"',
|
|
26
|
+
`set q to ${quoteAppleScriptString(participantQuery.toLowerCase())}`,
|
|
27
|
+
`set bodyText to ${quoteAppleScriptString(text)}`,
|
|
28
|
+
"set targetChat to missing value",
|
|
29
|
+
"set matchedChatId to \"\"",
|
|
30
|
+
"set matchedChatName to \"\"",
|
|
31
|
+
`set targetService to first service whose service type = ${serviceScriptValue}`,
|
|
32
|
+
"repeat with c in chats of targetService",
|
|
33
|
+
"set cName to \"\"",
|
|
34
|
+
"try",
|
|
35
|
+
"set cName to (name of c) as text",
|
|
36
|
+
"end try",
|
|
37
|
+
"set hit to false",
|
|
38
|
+
"if (cName is not \"\") then",
|
|
39
|
+
"if ((cName as lowercase) contains q) then set hit to true",
|
|
40
|
+
"end if",
|
|
41
|
+
"if hit is false then",
|
|
42
|
+
"try",
|
|
43
|
+
"repeat with p in participants of c",
|
|
44
|
+
"set h to \"\"",
|
|
45
|
+
"try",
|
|
46
|
+
"set h to (handle of p) as text",
|
|
47
|
+
"end try",
|
|
48
|
+
"if (h is not \"\") then",
|
|
49
|
+
"if ((h as lowercase) contains q) then",
|
|
50
|
+
"set hit to true",
|
|
51
|
+
"exit repeat",
|
|
52
|
+
"end if",
|
|
53
|
+
"end if",
|
|
54
|
+
"end repeat",
|
|
55
|
+
"end try",
|
|
56
|
+
"end if",
|
|
57
|
+
"if hit then",
|
|
58
|
+
"set targetChat to c",
|
|
59
|
+
"try",
|
|
60
|
+
"set matchedChatId to (id of c) as text",
|
|
61
|
+
"end try",
|
|
62
|
+
"set matchedChatName to cName",
|
|
63
|
+
"exit repeat",
|
|
64
|
+
"end if",
|
|
65
|
+
"end repeat",
|
|
66
|
+
'if targetChat is missing value then error "No chat found for participant query: " & q',
|
|
67
|
+
"send bodyText to targetChat",
|
|
68
|
+
"set fs to (ASCII character 31)",
|
|
69
|
+
"return matchedChatId & fs & matchedChatName",
|
|
70
|
+
"end tell",
|
|
71
|
+
];
|
|
72
|
+
const output = await runOsaScript(lines, "MESSAGES");
|
|
73
|
+
const [chatId = "", chatName = ""] = output.split("\x1f");
|
|
74
|
+
return {
|
|
75
|
+
result: {
|
|
76
|
+
participantQuery,
|
|
77
|
+
text,
|
|
78
|
+
serviceType: serviceType === "sms" ? "SMS" : "iMessage",
|
|
79
|
+
chatId,
|
|
80
|
+
chatName,
|
|
81
|
+
status: "sent",
|
|
82
|
+
},
|
|
83
|
+
evidence: [
|
|
84
|
+
{
|
|
85
|
+
type: "tool",
|
|
86
|
+
ref: "messagesSendByParticipantQuery",
|
|
87
|
+
summary: `Sent message to query ${participantQuery}`,
|
|
88
|
+
createdAt: new Date().toISOString(),
|
|
89
|
+
},
|
|
90
|
+
],
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=messagesSendByParticipantQuery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messagesSendByParticipantQuery.js","sourceRoot":"","sources":["../../../src/messages/messagesSendByParticipantQuery.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,8BAA8B,CAAC,IAIpD;IACC,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC;IACvD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;IAC/B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,MAAM,iBAAiB,CAAC,kBAAkB,EAAE,8BAA8B,EAAE,EAAE,CAAC,CAAC;IAClF,CAAC;IACD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,iBAAiB,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC1E,IAAI,WAAW,KAAK,UAAU,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;QACxD,MAAM,iBAAiB,CAAC,kBAAkB,EAAE,qCAAqC,EAAE;YACjF,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI;SACtC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,kBAAkB,GAAG,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;IAEtE,MAAM,KAAK,GAAG;QACZ,6BAA6B;QAC7B,YAAY,sBAAsB,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,EAAE;QACpE,mBAAmB,sBAAsB,CAAC,IAAI,CAAC,EAAE;QACjD,iCAAiC;QACjC,2BAA2B;QAC3B,6BAA6B;QAC7B,2DAA2D,kBAAkB,EAAE;QAC/E,yCAAyC;QACzC,mBAAmB;QACnB,KAAK;QACL,kCAAkC;QAClC,SAAS;QACT,kBAAkB;QAClB,6BAA6B;QAC7B,2DAA2D;QAC3D,QAAQ;QACR,sBAAsB;QACtB,KAAK;QACL,oCAAoC;QACpC,eAAe;QACf,KAAK;QACL,gCAAgC;QAChC,SAAS;QACT,yBAAyB;QACzB,uCAAuC;QACvC,iBAAiB;QACjB,aAAa;QACb,QAAQ;QACR,QAAQ;QACR,YAAY;QACZ,SAAS;QACT,QAAQ;QACR,aAAa;QACb,qBAAqB;QACrB,KAAK;QACL,wCAAwC;QACxC,SAAS;QACT,8BAA8B;QAC9B,aAAa;QACb,QAAQ;QACR,YAAY;QACZ,uFAAuF;QACvF,6BAA6B;QAC7B,gCAAgC;QAChC,6CAA6C;QAC7C,UAAU;KACX,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACrD,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAE1D,OAAO;QACL,MAAM,EAAE;YACN,gBAAgB;YAChB,IAAI;YACJ,WAAW,EAAE,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU;YACvD,MAAM;YACN,QAAQ;YACR,MAAM,EAAE,MAAM;SACf;QACD,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,gCAAgC;gBACrC,OAAO,EAAE,yBAAyB,gBAAgB,EAAE;gBACpD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Create a note in macOS Notes.
|
|
3
|
+
* @tool
|
|
4
|
+
* @effect local_write
|
|
5
|
+
*/
|
|
6
|
+
export declare function notesCreate(args: {
|
|
7
|
+
title: string;
|
|
8
|
+
body: string;
|
|
9
|
+
folder?: string;
|
|
10
|
+
}): Promise<{
|
|
11
|
+
result: {
|
|
12
|
+
id: string;
|
|
13
|
+
title: string;
|
|
14
|
+
folder: string;
|
|
15
|
+
};
|
|
16
|
+
evidence: {
|
|
17
|
+
type: string;
|
|
18
|
+
ref: string;
|
|
19
|
+
summary: string;
|
|
20
|
+
createdAt: string;
|
|
21
|
+
}[];
|
|
22
|
+
}>;
|
|
23
|
+
//# sourceMappingURL=notesCreate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notesCreate.d.ts","sourceRoot":"","sources":["../../../src/notes/notesCreate.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;GAiDvF"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { createTaggedError } from "@botbotgo/kit/sdk";
|
|
2
|
+
import { parseSeparatedRows, quoteAppleScriptString, runOsaScript } from "../osascript/common.js";
|
|
3
|
+
/**
|
|
4
|
+
* Create a note in macOS Notes.
|
|
5
|
+
* @tool
|
|
6
|
+
* @effect local_write
|
|
7
|
+
*/
|
|
8
|
+
export async function notesCreate(args) {
|
|
9
|
+
const title = args.title?.trim();
|
|
10
|
+
const body = args.body?.trim();
|
|
11
|
+
const folder = args.folder?.trim() || "Notes";
|
|
12
|
+
if (!title)
|
|
13
|
+
throw createTaggedError("NOTES_INVALID", "title is required", {});
|
|
14
|
+
if (!body)
|
|
15
|
+
throw createTaggedError("NOTES_INVALID", "body is required", {});
|
|
16
|
+
const lines = [
|
|
17
|
+
'tell application "Notes"',
|
|
18
|
+
`set folderNameText to ${quoteAppleScriptString(folder)}`,
|
|
19
|
+
`set noteTitleText to ${quoteAppleScriptString(title)}`,
|
|
20
|
+
`set noteBodyText to ${quoteAppleScriptString(body)}`,
|
|
21
|
+
"set targetFolder to missing value",
|
|
22
|
+
"try",
|
|
23
|
+
"set targetFolder to folder folderNameText",
|
|
24
|
+
"on error",
|
|
25
|
+
"set targetFolder to make new folder with properties {name:folderNameText}",
|
|
26
|
+
"end try",
|
|
27
|
+
"tell targetFolder",
|
|
28
|
+
"set newNote to make new note with properties {name:noteTitleText, body:noteBodyText}",
|
|
29
|
+
"set noteIdText to \"\"",
|
|
30
|
+
"try",
|
|
31
|
+
"set noteIdText to (id of newNote) as text",
|
|
32
|
+
"end try",
|
|
33
|
+
"set outText to noteIdText & (ASCII character 31) & noteTitleText & (ASCII character 31) & folderNameText",
|
|
34
|
+
"end tell",
|
|
35
|
+
"return outText",
|
|
36
|
+
"end tell",
|
|
37
|
+
];
|
|
38
|
+
const output = await runOsaScript(lines, "NOTES");
|
|
39
|
+
const row = parseSeparatedRows(output)[0] ?? [];
|
|
40
|
+
return {
|
|
41
|
+
result: {
|
|
42
|
+
id: row[0] ?? "",
|
|
43
|
+
title: row[1] ?? title,
|
|
44
|
+
folder: row[2] ?? folder,
|
|
45
|
+
},
|
|
46
|
+
evidence: [
|
|
47
|
+
{
|
|
48
|
+
type: "tool",
|
|
49
|
+
ref: "notesCreate",
|
|
50
|
+
summary: `Created note \"${title}\" in folder \"${folder}\"`,
|
|
51
|
+
createdAt: new Date().toISOString(),
|
|
52
|
+
},
|
|
53
|
+
],
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=notesCreate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notesCreate.js","sourceRoot":"","sources":["../../../src/notes/notesCreate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAElG;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAsD;IACtF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC;IAE9C,IAAI,CAAC,KAAK;QAAE,MAAM,iBAAiB,CAAC,eAAe,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC;IAC9E,IAAI,CAAC,IAAI;QAAE,MAAM,iBAAiB,CAAC,eAAe,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC;IAE5E,MAAM,KAAK,GAAG;QACZ,0BAA0B;QAC1B,yBAAyB,sBAAsB,CAAC,MAAM,CAAC,EAAE;QACzD,wBAAwB,sBAAsB,CAAC,KAAK,CAAC,EAAE;QACvD,uBAAuB,sBAAsB,CAAC,IAAI,CAAC,EAAE;QACrD,mCAAmC;QACnC,KAAK;QACL,2CAA2C;QAC3C,UAAU;QACV,2EAA2E;QAC3E,SAAS;QACT,mBAAmB;QACnB,sFAAsF;QACtF,wBAAwB;QACxB,KAAK;QACL,2CAA2C;QAC3C,SAAS;QACT,0GAA0G;QAC1G,UAAU;QACV,gBAAgB;QAChB,UAAU;KACX,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAEhD,OAAO;QACL,MAAM,EAAE;YACN,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;YAChB,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK;YACtB,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM;SACzB;QACD,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,aAAa;gBAClB,OAAO,EAAE,kBAAkB,KAAK,kBAAkB,MAAM,IAAI;gBAC5D,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Delete a note by id or title in macOS Notes.
|
|
3
|
+
* @tool
|
|
4
|
+
* @effect destructive
|
|
5
|
+
*/
|
|
6
|
+
export declare function notesDelete(args: {
|
|
7
|
+
noteRef: string;
|
|
8
|
+
}): Promise<{
|
|
9
|
+
result: {
|
|
10
|
+
noteRef: string;
|
|
11
|
+
status: string;
|
|
12
|
+
};
|
|
13
|
+
evidence: {
|
|
14
|
+
type: string;
|
|
15
|
+
ref: string;
|
|
16
|
+
summary: string;
|
|
17
|
+
createdAt: string;
|
|
18
|
+
}[];
|
|
19
|
+
}>;
|
|
20
|
+
//# sourceMappingURL=notesDelete.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notesDelete.d.ts","sourceRoot":"","sources":["../../../src/notes/notesDelete.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;GAmD1D"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { createTaggedError } from "@botbotgo/kit/sdk";
|
|
2
|
+
import { quoteAppleScriptString, runOsaScript } from "../osascript/common.js";
|
|
3
|
+
/**
|
|
4
|
+
* Delete a note by id or title in macOS Notes.
|
|
5
|
+
* @tool
|
|
6
|
+
* @effect destructive
|
|
7
|
+
*/
|
|
8
|
+
export async function notesDelete(args) {
|
|
9
|
+
const noteRef = args.noteRef?.trim();
|
|
10
|
+
if (!noteRef)
|
|
11
|
+
throw createTaggedError("NOTES_INVALID", "noteRef is required", {});
|
|
12
|
+
const lines = [
|
|
13
|
+
'tell application "Notes"',
|
|
14
|
+
`set wanted to ${quoteAppleScriptString(noteRef)}`,
|
|
15
|
+
"set targetNote to missing value",
|
|
16
|
+
"repeat with f in folders",
|
|
17
|
+
"try",
|
|
18
|
+
"set noteCount to count of notes of f",
|
|
19
|
+
"repeat with i from 1 to noteCount",
|
|
20
|
+
"set nt to item i of notes of f",
|
|
21
|
+
"set nid to \"\"",
|
|
22
|
+
"try",
|
|
23
|
+
"set nid to (id of nt) as text",
|
|
24
|
+
"end try",
|
|
25
|
+
"set nname to \"\"",
|
|
26
|
+
"try",
|
|
27
|
+
"set nname to (name of nt) as text",
|
|
28
|
+
"end try",
|
|
29
|
+
"if nid is wanted or nname is wanted then",
|
|
30
|
+
"set targetNote to nt",
|
|
31
|
+
"exit repeat",
|
|
32
|
+
"end if",
|
|
33
|
+
"end repeat",
|
|
34
|
+
"end try",
|
|
35
|
+
"if targetNote is not missing value then exit repeat",
|
|
36
|
+
"end repeat",
|
|
37
|
+
'if targetNote is missing value then error "Note not found: " & wanted',
|
|
38
|
+
"delete targetNote",
|
|
39
|
+
'return "deleted"',
|
|
40
|
+
"end tell",
|
|
41
|
+
];
|
|
42
|
+
const output = await runOsaScript(lines, "NOTES");
|
|
43
|
+
return {
|
|
44
|
+
result: {
|
|
45
|
+
noteRef,
|
|
46
|
+
status: output || "deleted",
|
|
47
|
+
},
|
|
48
|
+
evidence: [
|
|
49
|
+
{
|
|
50
|
+
type: "tool",
|
|
51
|
+
ref: "notesDelete",
|
|
52
|
+
summary: `Deleted note ${noteRef}`,
|
|
53
|
+
createdAt: new Date().toISOString(),
|
|
54
|
+
},
|
|
55
|
+
],
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=notesDelete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notesDelete.js","sourceRoot":"","sources":["../../../src/notes/notesDelete.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,WAAW,CAAC,IAAyB;IACzD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;IACrC,IAAI,CAAC,OAAO;QAAE,MAAM,iBAAiB,CAAC,eAAe,EAAE,qBAAqB,EAAE,EAAE,CAAC,CAAC;IAElF,MAAM,KAAK,GAAG;QACZ,0BAA0B;QAC1B,iBAAiB,sBAAsB,CAAC,OAAO,CAAC,EAAE;QAClD,iCAAiC;QACjC,0BAA0B;QAC1B,KAAK;QACL,sCAAsC;QACtC,mCAAmC;QACnC,gCAAgC;QAChC,iBAAiB;QACjB,KAAK;QACL,+BAA+B;QAC/B,SAAS;QACT,mBAAmB;QACnB,KAAK;QACL,mCAAmC;QACnC,SAAS;QACT,0CAA0C;QAC1C,sBAAsB;QACtB,aAAa;QACb,QAAQ;QACR,YAAY;QACZ,SAAS;QACT,qDAAqD;QACrD,YAAY;QACZ,uEAAuE;QACvE,mBAAmB;QACnB,kBAAkB;QAClB,UAAU;KACX,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAElD,OAAO;QACL,MAAM,EAAE;YACN,OAAO;YACP,MAAM,EAAE,MAAM,IAAI,SAAS;SAC5B;QACD,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,aAAa;gBAClB,OAAO,EAAE,gBAAgB,OAAO,EAAE;gBAClC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* List notes from macOS Notes.
|
|
3
|
+
* @tool
|
|
4
|
+
* @effect none
|
|
5
|
+
*/
|
|
6
|
+
export declare function notesList(args?: {
|
|
7
|
+
folder?: string;
|
|
8
|
+
limit?: number;
|
|
9
|
+
}): Promise<{
|
|
10
|
+
result: {
|
|
11
|
+
count: number;
|
|
12
|
+
notes: {
|
|
13
|
+
id: string;
|
|
14
|
+
title: string;
|
|
15
|
+
folder: string;
|
|
16
|
+
modificationDateText: string;
|
|
17
|
+
}[];
|
|
18
|
+
};
|
|
19
|
+
evidence: {
|
|
20
|
+
type: string;
|
|
21
|
+
ref: string;
|
|
22
|
+
summary: string;
|
|
23
|
+
createdAt: string;
|
|
24
|
+
}[];
|
|
25
|
+
}>;
|
|
26
|
+
//# sourceMappingURL=notesList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notesList.d.ts","sourceRoot":"","sources":["../../../src/notes/notesList.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO;;;;;;;;;;;;;;;;GA2E7E"}
|