@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,80 @@
|
|
|
1
|
+
import { parseSeparatedRows, quoteAppleScriptString, runOsaScript } from "../osascript/common.js";
|
|
2
|
+
/**
|
|
3
|
+
* List notes from macOS Notes.
|
|
4
|
+
* @tool
|
|
5
|
+
* @effect none
|
|
6
|
+
*/
|
|
7
|
+
export async function notesList(args = {}) {
|
|
8
|
+
const folder = args.folder?.trim();
|
|
9
|
+
const limit = Math.max(1, Math.min(200, Math.trunc(args.limit ?? 30)));
|
|
10
|
+
const lines = [
|
|
11
|
+
'tell application "Notes"',
|
|
12
|
+
"set rs to (ASCII character 30)",
|
|
13
|
+
"set fs to (ASCII character 31)",
|
|
14
|
+
"set rows to {}",
|
|
15
|
+
"set n to 0",
|
|
16
|
+
`set maxCount to ${limit}`,
|
|
17
|
+
...(folder
|
|
18
|
+
? [
|
|
19
|
+
`set folderNameText to ${quoteAppleScriptString(folder)}`,
|
|
20
|
+
"set sourceFolders to {folder folderNameText}",
|
|
21
|
+
]
|
|
22
|
+
: ["set sourceFolders to folders"]),
|
|
23
|
+
"repeat with f in sourceFolders",
|
|
24
|
+
"try",
|
|
25
|
+
"set noteCount to count of notes of f",
|
|
26
|
+
"repeat with i from 1 to noteCount",
|
|
27
|
+
"set nt to item i of notes of f",
|
|
28
|
+
"if n is greater than or equal to maxCount then exit repeat",
|
|
29
|
+
"set n to n + 1",
|
|
30
|
+
"set noteIdText to \"\"",
|
|
31
|
+
"try",
|
|
32
|
+
"set noteIdText to (id of nt) as text",
|
|
33
|
+
"end try",
|
|
34
|
+
"set noteTitleText to \"\"",
|
|
35
|
+
"try",
|
|
36
|
+
"set noteTitleText to (name of nt) as text",
|
|
37
|
+
"end try",
|
|
38
|
+
"set modText to \"\"",
|
|
39
|
+
"try",
|
|
40
|
+
"set modText to (modification date of nt) as text",
|
|
41
|
+
"end try",
|
|
42
|
+
"set folderText to \"\"",
|
|
43
|
+
"try",
|
|
44
|
+
"set folderText to (name of f) as text",
|
|
45
|
+
"end try",
|
|
46
|
+
"set end of rows to noteIdText & fs & noteTitleText & fs & folderText & fs & modText",
|
|
47
|
+
"end repeat",
|
|
48
|
+
"end try",
|
|
49
|
+
"if n is greater than or equal to maxCount then exit repeat",
|
|
50
|
+
"end repeat",
|
|
51
|
+
"set AppleScript's text item delimiters to rs",
|
|
52
|
+
"set outText to rows as text",
|
|
53
|
+
"set AppleScript's text item delimiters to \"\"",
|
|
54
|
+
"return outText",
|
|
55
|
+
"end tell",
|
|
56
|
+
];
|
|
57
|
+
const output = await runOsaScript(lines, "NOTES");
|
|
58
|
+
const rows = parseSeparatedRows(output);
|
|
59
|
+
const notes = rows.map((parts) => ({
|
|
60
|
+
id: parts[0] ?? "",
|
|
61
|
+
title: parts[1] ?? "",
|
|
62
|
+
folder: parts[2] ?? "",
|
|
63
|
+
modificationDateText: parts[3] ?? "",
|
|
64
|
+
}));
|
|
65
|
+
return {
|
|
66
|
+
result: {
|
|
67
|
+
count: notes.length,
|
|
68
|
+
notes,
|
|
69
|
+
},
|
|
70
|
+
evidence: [
|
|
71
|
+
{
|
|
72
|
+
type: "tool",
|
|
73
|
+
ref: "notesList",
|
|
74
|
+
summary: `Listed ${notes.length} notes`,
|
|
75
|
+
createdAt: new Date().toISOString(),
|
|
76
|
+
},
|
|
77
|
+
],
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=notesList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notesList.js","sourceRoot":"","sources":["../../../src/notes/notesList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAElG;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAA4C,EAAE;IAC5E,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;IACnC,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,0BAA0B;QAC1B,gCAAgC;QAChC,gCAAgC;QAChC,gBAAgB;QAChB,YAAY;QACZ,mBAAmB,KAAK,EAAE;QAC1B,GAAG,CAAC,MAAM;YACR,CAAC,CAAC;gBACE,yBAAyB,sBAAsB,CAAC,MAAM,CAAC,EAAE;gBACzD,8CAA8C;aAC/C;YACH,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC;QACrC,gCAAgC;QAChC,KAAK;QACL,sCAAsC;QACtC,mCAAmC;QACnC,gCAAgC;QAChC,4DAA4D;QAC5D,gBAAgB;QAChB,wBAAwB;QACxB,KAAK;QACL,sCAAsC;QACtC,SAAS;QACT,2BAA2B;QAC3B,KAAK;QACL,2CAA2C;QAC3C,SAAS;QACT,qBAAqB;QACrB,KAAK;QACL,kDAAkD;QAClD,SAAS;QACT,wBAAwB;QACxB,KAAK;QACL,uCAAuC;QACvC,SAAS;QACT,qFAAqF;QACrF,YAAY;QACZ,SAAS;QACT,4DAA4D;QAC5D,YAAY;QACZ,8CAA8C;QAC9C,6BAA6B;QAC7B,gDAAgD;QAChD,gBAAgB;QAChB,UAAU;KACX,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACjC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QAClB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QACrB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QACtB,oBAAoB,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;KACrC,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,MAAM,EAAE;YACN,KAAK,EAAE,KAAK,CAAC,MAAM;YACnB,KAAK;SACN;QACD,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,WAAW;gBAChB,OAAO,EAAE,UAAU,KAAK,CAAC,MAAM,QAAQ;gBACvC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read a note by id or title from macOS Notes.
|
|
3
|
+
* @tool
|
|
4
|
+
* @effect none
|
|
5
|
+
*/
|
|
6
|
+
export declare function notesRead(args: {
|
|
7
|
+
noteRef: string;
|
|
8
|
+
includeBody?: boolean;
|
|
9
|
+
bodyMaxChars?: number;
|
|
10
|
+
}): Promise<{
|
|
11
|
+
result: {
|
|
12
|
+
noteRef: string;
|
|
13
|
+
id: string;
|
|
14
|
+
title: string;
|
|
15
|
+
folder: string;
|
|
16
|
+
body: string | null;
|
|
17
|
+
bodyTruncated: boolean;
|
|
18
|
+
};
|
|
19
|
+
evidence: {
|
|
20
|
+
type: string;
|
|
21
|
+
ref: string;
|
|
22
|
+
summary: string;
|
|
23
|
+
createdAt: string;
|
|
24
|
+
}[];
|
|
25
|
+
}>;
|
|
26
|
+
//# sourceMappingURL=notesRead.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notesRead.d.ts","sourceRoot":"","sources":["../../../src/notes/notesRead.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;;;;;;;;;;;;;;;GA4EA"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { createTaggedError } from "@botbotgo/kit/sdk";
|
|
2
|
+
import { quoteAppleScriptString, runOsaScript } from "../osascript/common.js";
|
|
3
|
+
/**
|
|
4
|
+
* Read a note by id or title from macOS Notes.
|
|
5
|
+
* @tool
|
|
6
|
+
* @effect none
|
|
7
|
+
*/
|
|
8
|
+
export async function notesRead(args) {
|
|
9
|
+
const noteRef = args.noteRef?.trim();
|
|
10
|
+
if (!noteRef)
|
|
11
|
+
throw createTaggedError("NOTES_INVALID", "noteRef is required", {});
|
|
12
|
+
const includeBody = Boolean(args.includeBody ?? true);
|
|
13
|
+
const bodyMaxChars = Math.max(100, Math.min(50000, Math.trunc(args.bodyMaxChars ?? 4000)));
|
|
14
|
+
const lines = [
|
|
15
|
+
'tell application "Notes"',
|
|
16
|
+
`set wanted to ${quoteAppleScriptString(noteRef)}`,
|
|
17
|
+
"set targetNote to missing value",
|
|
18
|
+
"set folderName to \"\"",
|
|
19
|
+
"repeat with f in folders",
|
|
20
|
+
"try",
|
|
21
|
+
"set noteCount to count of notes of f",
|
|
22
|
+
"repeat with i from 1 to noteCount",
|
|
23
|
+
"set nt to item i of notes of f",
|
|
24
|
+
"set nid to \"\"",
|
|
25
|
+
"try",
|
|
26
|
+
"set nid to (id of nt) as text",
|
|
27
|
+
"end try",
|
|
28
|
+
"set nname to \"\"",
|
|
29
|
+
"try",
|
|
30
|
+
"set nname to (name of nt) as text",
|
|
31
|
+
"end try",
|
|
32
|
+
"if nid is wanted or nname is wanted then",
|
|
33
|
+
"set targetNote to nt",
|
|
34
|
+
"set folderName to (name of f) as text",
|
|
35
|
+
"exit repeat",
|
|
36
|
+
"end if",
|
|
37
|
+
"end repeat",
|
|
38
|
+
"end try",
|
|
39
|
+
"if targetNote is not missing value then exit repeat",
|
|
40
|
+
"end repeat",
|
|
41
|
+
'if targetNote is missing value then error "Note not found: " & wanted',
|
|
42
|
+
"set outId to \"\"",
|
|
43
|
+
"try",
|
|
44
|
+
"set outId to (id of targetNote) as text",
|
|
45
|
+
"end try",
|
|
46
|
+
"set outTitle to \"\"",
|
|
47
|
+
"try",
|
|
48
|
+
"set outTitle to (name of targetNote) as text",
|
|
49
|
+
"end try",
|
|
50
|
+
"set outBody to \"\"",
|
|
51
|
+
"try",
|
|
52
|
+
"set outBody to (body of targetNote) as text",
|
|
53
|
+
"end try",
|
|
54
|
+
"set fs to (ASCII character 31)",
|
|
55
|
+
"return outId & fs & outTitle & fs & folderName & fs & outBody",
|
|
56
|
+
"end tell",
|
|
57
|
+
];
|
|
58
|
+
const output = await runOsaScript(lines, "NOTES");
|
|
59
|
+
const [id = "", title = "", folder = "", bodyRaw = ""] = output.split("\x1f");
|
|
60
|
+
const body = includeBody
|
|
61
|
+
? (bodyRaw.length > bodyMaxChars ? `${bodyRaw.slice(0, bodyMaxChars)}...` : bodyRaw)
|
|
62
|
+
: "";
|
|
63
|
+
return {
|
|
64
|
+
result: {
|
|
65
|
+
noteRef,
|
|
66
|
+
id,
|
|
67
|
+
title,
|
|
68
|
+
folder,
|
|
69
|
+
body: includeBody ? body : null,
|
|
70
|
+
bodyTruncated: includeBody ? bodyRaw.length > bodyMaxChars : false,
|
|
71
|
+
},
|
|
72
|
+
evidence: [
|
|
73
|
+
{
|
|
74
|
+
type: "tool",
|
|
75
|
+
ref: "notesRead",
|
|
76
|
+
summary: `Read note ${noteRef}`,
|
|
77
|
+
createdAt: new Date().toISOString(),
|
|
78
|
+
},
|
|
79
|
+
],
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=notesRead.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notesRead.js","sourceRoot":"","sources":["../../../src/notes/notesRead.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,SAAS,CAAC,IAI/B;IACC,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;IAClF,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IAE3F,MAAM,KAAK,GAAG;QACZ,0BAA0B;QAC1B,iBAAiB,sBAAsB,CAAC,OAAO,CAAC,EAAE;QAClD,iCAAiC;QACjC,wBAAwB;QACxB,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,uCAAuC;QACvC,aAAa;QACb,QAAQ;QACR,YAAY;QACZ,SAAS;QACT,qDAAqD;QACrD,YAAY;QACZ,uEAAuE;QACvE,mBAAmB;QACnB,KAAK;QACL,yCAAyC;QACzC,SAAS;QACT,sBAAsB;QACtB,KAAK;QACL,8CAA8C;QAC9C,SAAS;QACT,qBAAqB;QACrB,KAAK;QACL,6CAA6C;QAC7C,SAAS;QACT,gCAAgC;QAChC,+DAA+D;QAC/D,UAAU;KACX,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAE9E,MAAM,IAAI,GAAG,WAAW;QACtB,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;QACpF,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO;QACL,MAAM,EAAE;YACN,OAAO;YACP,EAAE;YACF,KAAK;YACL,MAAM;YACN,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;YAC/B,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK;SACnE;QACD,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,WAAW;gBAChB,OAAO,EAAE,aAAa,OAAO,EAAE;gBAC/B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Update a note by id or title in macOS Notes.
|
|
3
|
+
* @tool
|
|
4
|
+
* @effect local_write
|
|
5
|
+
*/
|
|
6
|
+
export declare function notesUpdate(args: {
|
|
7
|
+
noteRef: string;
|
|
8
|
+
title?: string;
|
|
9
|
+
body?: string;
|
|
10
|
+
}): Promise<{
|
|
11
|
+
result: {
|
|
12
|
+
noteRef: string;
|
|
13
|
+
id: string;
|
|
14
|
+
title: string;
|
|
15
|
+
bodyUpdated: boolean;
|
|
16
|
+
};
|
|
17
|
+
evidence: {
|
|
18
|
+
type: string;
|
|
19
|
+
ref: string;
|
|
20
|
+
summary: string;
|
|
21
|
+
createdAt: string;
|
|
22
|
+
}[];
|
|
23
|
+
}>;
|
|
24
|
+
//# sourceMappingURL=notesUpdate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notesUpdate.d.ts","sourceRoot":"","sources":["../../../src/notes/notesUpdate.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;GAqEzF"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { createTaggedError } from "@botbotgo/kit/sdk";
|
|
2
|
+
import { quoteAppleScriptString, runOsaScript } from "../osascript/common.js";
|
|
3
|
+
/**
|
|
4
|
+
* Update a note by id or title in macOS Notes.
|
|
5
|
+
* @tool
|
|
6
|
+
* @effect local_write
|
|
7
|
+
*/
|
|
8
|
+
export async function notesUpdate(args) {
|
|
9
|
+
const noteRef = args.noteRef?.trim();
|
|
10
|
+
const title = args.title?.trim();
|
|
11
|
+
const body = args.body?.trim();
|
|
12
|
+
if (!noteRef)
|
|
13
|
+
throw createTaggedError("NOTES_INVALID", "noteRef is required", {});
|
|
14
|
+
if (!title && !body) {
|
|
15
|
+
throw createTaggedError("NOTES_INVALID", "at least one of title/body is required", {});
|
|
16
|
+
}
|
|
17
|
+
const lines = [
|
|
18
|
+
'tell application "Notes"',
|
|
19
|
+
`set wanted to ${quoteAppleScriptString(noteRef)}`,
|
|
20
|
+
"set targetNote to missing value",
|
|
21
|
+
"repeat with f in folders",
|
|
22
|
+
"try",
|
|
23
|
+
"set noteCount to count of notes of f",
|
|
24
|
+
"repeat with i from 1 to noteCount",
|
|
25
|
+
"set nt to item i of notes of f",
|
|
26
|
+
"set nid to \"\"",
|
|
27
|
+
"try",
|
|
28
|
+
"set nid to (id of nt) as text",
|
|
29
|
+
"end try",
|
|
30
|
+
"set nname to \"\"",
|
|
31
|
+
"try",
|
|
32
|
+
"set nname to (name of nt) as text",
|
|
33
|
+
"end try",
|
|
34
|
+
"if nid is wanted or nname is wanted then",
|
|
35
|
+
"set targetNote to nt",
|
|
36
|
+
"exit repeat",
|
|
37
|
+
"end if",
|
|
38
|
+
"end repeat",
|
|
39
|
+
"end try",
|
|
40
|
+
"if targetNote is not missing value then exit repeat",
|
|
41
|
+
"end repeat",
|
|
42
|
+
'if targetNote is missing value then error "Note not found: " & wanted',
|
|
43
|
+
...(title ? [`set name of targetNote to ${quoteAppleScriptString(title)}`] : []),
|
|
44
|
+
...(body ? [`set body of targetNote to ${quoteAppleScriptString(body)}`] : []),
|
|
45
|
+
"set outTitle to \"\"",
|
|
46
|
+
"try",
|
|
47
|
+
"set outTitle to (name of targetNote) as text",
|
|
48
|
+
"end try",
|
|
49
|
+
"set outId to \"\"",
|
|
50
|
+
"try",
|
|
51
|
+
"set outId to (id of targetNote) as text",
|
|
52
|
+
"end try",
|
|
53
|
+
"return outId & (ASCII character 31) & outTitle",
|
|
54
|
+
"end tell",
|
|
55
|
+
];
|
|
56
|
+
const output = await runOsaScript(lines, "NOTES");
|
|
57
|
+
const [id = "", outTitle = ""] = output.split("\x1f");
|
|
58
|
+
return {
|
|
59
|
+
result: {
|
|
60
|
+
noteRef,
|
|
61
|
+
id,
|
|
62
|
+
title: outTitle || title || "",
|
|
63
|
+
bodyUpdated: Boolean(body),
|
|
64
|
+
},
|
|
65
|
+
evidence: [
|
|
66
|
+
{
|
|
67
|
+
type: "tool",
|
|
68
|
+
ref: "notesUpdate",
|
|
69
|
+
summary: `Updated note ${noteRef}`,
|
|
70
|
+
createdAt: new Date().toISOString(),
|
|
71
|
+
},
|
|
72
|
+
],
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=notesUpdate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notesUpdate.js","sourceRoot":"","sources":["../../../src/notes/notesUpdate.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,IAAwD;IACxF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;IAE/B,IAAI,CAAC,OAAO;QAAE,MAAM,iBAAiB,CAAC,eAAe,EAAE,qBAAqB,EAAE,EAAE,CAAC,CAAC;IAClF,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,MAAM,iBAAiB,CAAC,eAAe,EAAE,wCAAwC,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,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,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,6BAA6B,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,6BAA6B,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,sBAAsB;QACtB,KAAK;QACL,8CAA8C;QAC9C,SAAS;QACT,mBAAmB;QACnB,KAAK;QACL,yCAAyC;QACzC,SAAS;QACT,gDAAgD;QAChD,UAAU;KACX,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAEtD,OAAO;QACL,MAAM,EAAE;YACN,OAAO;YACP,EAAE;YACF,KAAK,EAAE,QAAQ,IAAI,KAAK,IAAI,EAAE;YAC9B,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC;SAC3B;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,6 @@
|
|
|
1
|
+
export declare const RECORD_SEPARATOR = "\u001E";
|
|
2
|
+
export declare const FIELD_SEPARATOR = "\u001F";
|
|
3
|
+
export declare function quoteAppleScriptString(input: string): string;
|
|
4
|
+
export declare function runOsaScript(lines: string[], tagPrefix: string): Promise<string>;
|
|
5
|
+
export declare function parseSeparatedRows(output: string): string[][];
|
|
6
|
+
//# sourceMappingURL=common.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/osascript/common.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,gBAAgB,WAAS,CAAC;AACvC,eAAO,MAAM,eAAe,WAAS,CAAC;AAEtC,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAsB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiDtF;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,CAO7D"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { spawn } from "node:child_process";
|
|
2
|
+
import { createTaggedError } from "@botbotgo/kit/sdk";
|
|
3
|
+
import { assertCapabilitySupported } from "../platform/runtime.js";
|
|
4
|
+
export const RECORD_SEPARATOR = "\x1e";
|
|
5
|
+
export const FIELD_SEPARATOR = "\x1f";
|
|
6
|
+
export function quoteAppleScriptString(input) {
|
|
7
|
+
return `"${input.replace(/\\/g, "\\\\").replace(/"/g, '\\"')}"`;
|
|
8
|
+
}
|
|
9
|
+
export async function runOsaScript(lines, tagPrefix) {
|
|
10
|
+
assertCapabilitySupported({ tagPrefix, capability: "osascript" });
|
|
11
|
+
return new Promise((resolvePromise, rejectPromise) => {
|
|
12
|
+
const args = [];
|
|
13
|
+
for (const line of lines) {
|
|
14
|
+
args.push("-e", line);
|
|
15
|
+
}
|
|
16
|
+
const proc = spawn("osascript", args, {
|
|
17
|
+
shell: false,
|
|
18
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
19
|
+
env: { ...process.env },
|
|
20
|
+
});
|
|
21
|
+
let stdout = "";
|
|
22
|
+
let stderr = "";
|
|
23
|
+
proc.stdout?.setEncoding("utf-8");
|
|
24
|
+
proc.stderr?.setEncoding("utf-8");
|
|
25
|
+
proc.stdout?.on("data", (chunk) => {
|
|
26
|
+
stdout += chunk;
|
|
27
|
+
});
|
|
28
|
+
proc.stderr?.on("data", (chunk) => {
|
|
29
|
+
stderr += chunk;
|
|
30
|
+
});
|
|
31
|
+
proc.on("error", (err) => {
|
|
32
|
+
rejectPromise(createTaggedError(`${tagPrefix}_EXEC_ERROR`, `Failed to run osascript: ${err.message}`, {}));
|
|
33
|
+
});
|
|
34
|
+
proc.on("close", (code) => {
|
|
35
|
+
if (code !== 0) {
|
|
36
|
+
rejectPromise(createTaggedError(`${tagPrefix}_EXEC_FAILED`, `osascript exited with ${code}: ${stderr.trim() || "unknown error"}`, { code, stderr: stderr.trim() }));
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
resolvePromise(stdout.trim());
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
export function parseSeparatedRows(output) {
|
|
44
|
+
if (!output.trim())
|
|
45
|
+
return [];
|
|
46
|
+
return output
|
|
47
|
+
.split(RECORD_SEPARATOR)
|
|
48
|
+
.map((row) => row.trim())
|
|
49
|
+
.filter((row) => row.length > 0)
|
|
50
|
+
.map((row) => row.split(FIELD_SEPARATOR));
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/osascript/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AACvC,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC;AAEtC,MAAM,UAAU,sBAAsB,CAAC,KAAa;IAClD,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;AAClE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,KAAe,EAAE,SAAiB;IACnE,yBAAyB,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;IAElE,OAAO,IAAI,OAAO,CAAS,CAAC,cAAc,EAAE,aAAa,EAAE,EAAE;QAC3D,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACxB,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE;YACpC,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;YACjC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE;SACxB,CAAC,CAAC;QAEH,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;QAElC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACxC,MAAM,IAAI,KAAK,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACxC,MAAM,IAAI,KAAK,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACvB,aAAa,CACX,iBAAiB,CAAC,GAAG,SAAS,aAAa,EAAE,4BAA4B,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAC5F,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,aAAa,CACX,iBAAiB,CACf,GAAG,SAAS,cAAc,EAC1B,yBAAyB,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,eAAe,EAAE,EACpE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAChC,CACF,CAAC;gBACF,OAAO;YACT,CAAC;YACD,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IAC9B,OAAO,MAAM;SACV,KAAK,CAAC,gBAAgB,CAAC;SACvB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;SACxB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;SAC/B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;AAC9C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"darwin.d.ts","sourceRoot":"","sources":["../../../../src/platform/adapters/darwin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,eAAO,MAAM,aAAa,EAAE,mBAY3B,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export const darwinAdapter = {
|
|
2
|
+
platform: "darwin",
|
|
3
|
+
supports: {
|
|
4
|
+
messages: true,
|
|
5
|
+
notes: true,
|
|
6
|
+
reminders: true,
|
|
7
|
+
calendar: true,
|
|
8
|
+
safari: true,
|
|
9
|
+
cron: true,
|
|
10
|
+
osascript: true,
|
|
11
|
+
},
|
|
12
|
+
notes: "Uses osascript + AppleScript-enabled apps.",
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=darwin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"darwin.js","sourceRoot":"","sources":["../../../../src/platform/adapters/darwin.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAwB;IAChD,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE;QACR,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,IAAI;QACX,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,IAAI;KAChB;IACD,KAAK,EAAE,4CAA4C;CACpD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linux.d.ts","sourceRoot":"","sources":["../../../../src/platform/adapters/linux.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,eAAO,MAAM,YAAY,EAAE,mBAM1B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linux.js","sourceRoot":"","sources":["../../../../src/platform/adapters/linux.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,YAAY,GAAwB;IAC/C,QAAQ,EAAE,OAAO;IACjB,QAAQ,EAAE;QACR,SAAS,EAAE,KAAK;KACjB;IACD,KAAK,EAAE,oCAAoC;CAC5C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"win32.d.ts","sourceRoot":"","sources":["../../../../src/platform/adapters/win32.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,eAAO,MAAM,YAAY,EAAE,mBAM1B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"win32.js","sourceRoot":"","sources":["../../../../src/platform/adapters/win32.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,YAAY,GAAwB;IAC/C,QAAQ,EAAE,OAAO;IACjB,QAAQ,EAAE;QACR,SAAS,EAAE,KAAK;KACjB;IACD,KAAK,EAAE,sCAAsC;CAC9C,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Return current runtime platform and capability support matrix.
|
|
3
|
+
* Requires a registered platform adapter.
|
|
4
|
+
* Should be used before OS-level tool execution.
|
|
5
|
+
* @tool
|
|
6
|
+
* @effect none
|
|
7
|
+
*/
|
|
8
|
+
export declare function platformGetCapabilities(_?: {}): Promise<{
|
|
9
|
+
result: {
|
|
10
|
+
platform: NodeJS.Platform;
|
|
11
|
+
adapterPlatform: string;
|
|
12
|
+
adapterNotes: string;
|
|
13
|
+
supported: Record<import("./types.js").CapabilityKey, boolean>;
|
|
14
|
+
supportedCapabilities: string[];
|
|
15
|
+
};
|
|
16
|
+
evidence: {
|
|
17
|
+
type: string;
|
|
18
|
+
ref: string;
|
|
19
|
+
summary: string;
|
|
20
|
+
createdAt: string;
|
|
21
|
+
}[];
|
|
22
|
+
}>;
|
|
23
|
+
//# sourceMappingURL=platformGetCapabilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platformGetCapabilities.d.ts","sourceRoot":"","sources":["../../../src/platform/platformGetCapabilities.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAAC,CAAC,GAAE,EAAO;;;;;;;;;;;;;;GAuBvD"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { getCapabilitySnapshot } from "./runtime.js";
|
|
2
|
+
/**
|
|
3
|
+
* Return current runtime platform and capability support matrix.
|
|
4
|
+
* Requires a registered platform adapter.
|
|
5
|
+
* Should be used before OS-level tool execution.
|
|
6
|
+
* @tool
|
|
7
|
+
* @effect none
|
|
8
|
+
*/
|
|
9
|
+
export async function platformGetCapabilities(_ = {}) {
|
|
10
|
+
const snapshot = getCapabilitySnapshot();
|
|
11
|
+
const supportedKeys = Object.entries(snapshot.supported)
|
|
12
|
+
.filter(([, value]) => value)
|
|
13
|
+
.map(([key]) => key);
|
|
14
|
+
return {
|
|
15
|
+
result: {
|
|
16
|
+
platform: snapshot.platform,
|
|
17
|
+
adapterPlatform: snapshot.adapterPlatform,
|
|
18
|
+
adapterNotes: snapshot.adapterNotes ?? "",
|
|
19
|
+
supported: snapshot.supported,
|
|
20
|
+
supportedCapabilities: supportedKeys,
|
|
21
|
+
},
|
|
22
|
+
evidence: [
|
|
23
|
+
{
|
|
24
|
+
type: "tool",
|
|
25
|
+
ref: "platformGetCapabilities",
|
|
26
|
+
summary: `Platform ${snapshot.platform}; supported capabilities: ${supportedKeys.join(", ") || "none"}`,
|
|
27
|
+
createdAt: new Date().toISOString(),
|
|
28
|
+
},
|
|
29
|
+
],
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=platformGetCapabilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platformGetCapabilities.js","sourceRoot":"","sources":["../../../src/platform/platformGetCapabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,IAAQ,EAAE;IACtD,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;SACrD,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC;SAC5B,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IAEvB,OAAO;QACL,MAAM,EAAE;YACN,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,eAAe,EAAE,QAAQ,CAAC,eAAe;YACzC,YAAY,EAAE,QAAQ,CAAC,YAAY,IAAI,EAAE;YACzC,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,qBAAqB,EAAE,aAAa;SACrC;QACD,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,yBAAyB;gBAC9B,OAAO,EAAE,YAAY,QAAQ,CAAC,QAAQ,6BAA6B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE;gBACvG,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/platform/registry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAQvE,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,eAAe,GAAG,mBAAmB,CAQrF"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { createTaggedError } from "@botbotgo/kit/sdk";
|
|
2
|
+
import { darwinAdapter } from "./adapters/darwin.js";
|
|
3
|
+
import { linuxAdapter } from "./adapters/linux.js";
|
|
4
|
+
import { win32Adapter } from "./adapters/win32.js";
|
|
5
|
+
const BY_PLATFORM = {
|
|
6
|
+
darwin: darwinAdapter,
|
|
7
|
+
linux: linuxAdapter,
|
|
8
|
+
win32: win32Adapter,
|
|
9
|
+
};
|
|
10
|
+
export function resolvePlatformAdapter(platform) {
|
|
11
|
+
const adapter = BY_PLATFORM[platform];
|
|
12
|
+
if (adapter != null)
|
|
13
|
+
return adapter;
|
|
14
|
+
throw createTaggedError("PLATFORM_NOT_SUPPORTED", `No platform adapter registered for ${platform}.`, { platform, supportedPlatforms: Object.keys(BY_PLATFORM) });
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/platform/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,MAAM,WAAW,GAAwC;IACvD,MAAM,EAAE,aAAa;IACrB,KAAK,EAAE,YAAY;IACnB,KAAK,EAAE,YAAY;CACpB,CAAC;AAEF,MAAM,UAAU,sBAAsB,CAAC,QAAyB;IAC9D,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACtC,IAAI,OAAO,IAAI,IAAI;QAAE,OAAO,OAAO,CAAC;IACpC,MAAM,iBAAiB,CACrB,wBAAwB,EACxB,sCAAsC,QAAQ,GAAG,EACjD,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAC3D,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { CapabilityKey, RuntimePlatform } from "./types.js";
|
|
2
|
+
export declare function currentRuntimePlatform(): RuntimePlatform;
|
|
3
|
+
export declare function canBypassPlatformCheck(): boolean;
|
|
4
|
+
export declare function assertCapabilitySupported(args: {
|
|
5
|
+
tagPrefix: string;
|
|
6
|
+
capability: CapabilityKey;
|
|
7
|
+
platform?: RuntimePlatform;
|
|
8
|
+
}): void;
|
|
9
|
+
export declare function getCapabilitySnapshot(platform?: RuntimePlatform): {
|
|
10
|
+
platform: RuntimePlatform;
|
|
11
|
+
supported: Record<CapabilityKey, boolean>;
|
|
12
|
+
adapterPlatform: string;
|
|
13
|
+
adapterNotes: string | null;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/platform/runtime.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEjE,wBAAgB,sBAAsB,IAAI,eAAe,CAExD;AAED,wBAAgB,sBAAsB,IAAI,OAAO,CAMhD;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,aAAa,CAAC;IAC1B,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B,GAAG,IAAI,CAkBP;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,GAAE,eAA0C,GAAG;IAC3F,QAAQ,EAAE,eAAe,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAC1C,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B,CAWA"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { createTaggedError } from "@botbotgo/kit/sdk";
|
|
2
|
+
import { resolvePlatformAdapter } from "./registry.js";
|
|
3
|
+
import { ALL_CAPABILITIES } from "./types.js";
|
|
4
|
+
export function currentRuntimePlatform() {
|
|
5
|
+
return process.platform;
|
|
6
|
+
}
|
|
7
|
+
export function canBypassPlatformCheck() {
|
|
8
|
+
return (process.env.VITEST != null ||
|
|
9
|
+
process.env.NODE_ENV === "test" ||
|
|
10
|
+
process.env.EASYNET_BYPASS_OS_CHECK === "1");
|
|
11
|
+
}
|
|
12
|
+
export function assertCapabilitySupported(args) {
|
|
13
|
+
const platform = args.platform ?? currentRuntimePlatform();
|
|
14
|
+
if (canBypassPlatformCheck())
|
|
15
|
+
return;
|
|
16
|
+
const adapter = resolvePlatformAdapter(platform);
|
|
17
|
+
const supported = adapter.supports[args.capability] === true;
|
|
18
|
+
if (supported)
|
|
19
|
+
return;
|
|
20
|
+
throw createTaggedError(`${args.tagPrefix}_UNSUPPORTED_PLATFORM`, `Capability ${args.capability} is unsupported on platform ${platform}.`, {
|
|
21
|
+
platform,
|
|
22
|
+
capability: args.capability,
|
|
23
|
+
adapterPlatform: adapter.platform,
|
|
24
|
+
adapterNotes: adapter.notes ?? null,
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
export function getCapabilitySnapshot(platform = currentRuntimePlatform()) {
|
|
28
|
+
const adapter = resolvePlatformAdapter(platform);
|
|
29
|
+
const supported = Object.fromEntries(ALL_CAPABILITIES.map((key) => [key, adapter.supports[key] === true]));
|
|
30
|
+
return {
|
|
31
|
+
platform,
|
|
32
|
+
supported,
|
|
33
|
+
adapterPlatform: adapter.platform,
|
|
34
|
+
adapterNotes: adapter.notes ?? null,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/platform/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG9C,MAAM,UAAU,sBAAsB;IACpC,OAAO,OAAO,CAAC,QAAQ,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,OAAO,CACL,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,IAAI;QAC1B,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM;QAC/B,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,GAAG,CAC5C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,IAIzC;IACC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,sBAAsB,EAAE,CAAC;IAC3D,IAAI,sBAAsB,EAAE;QAAE,OAAO;IAErC,MAAM,OAAO,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;IAC7D,IAAI,SAAS;QAAE,OAAO;IAEtB,MAAM,iBAAiB,CACrB,GAAG,IAAI,CAAC,SAAS,uBAAuB,EACxC,cAAc,IAAI,CAAC,UAAU,+BAA+B,QAAQ,GAAG,EACvE;QACE,QAAQ;QACR,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,eAAe,EAAE,OAAO,CAAC,QAAQ;QACjC,YAAY,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI;KACpC,CACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,WAA4B,sBAAsB,EAAE;IAMxF,MAAM,OAAO,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAClC,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CACnC,CAAC;IACpC,OAAO;QACL,QAAQ;QACR,SAAS;QACT,eAAe,EAAE,OAAO,CAAC,QAAQ;QACjC,YAAY,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI;KACpC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { resolveSandboxedPath, validateUrl } from "@botbotgo/kit/sdk";
|
|
2
|
+
export interface ValidateUrlOptions {
|
|
3
|
+
allowedHosts: string[];
|
|
4
|
+
blockedHosts: string[];
|
|
5
|
+
blockedCidrs: string[];
|
|
6
|
+
}
|
|
7
|
+
export { resolveSandboxedPath, validateUrl };
|
|
8
|
+
//# sourceMappingURL=securityCompat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"securityCompat.d.ts","sourceRoot":"","sources":["../../../src/platform/securityCompat.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,CAAC"}
|