@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,214 @@
|
|
|
1
|
+
import { spawn } from "node:child_process";
|
|
2
|
+
import { createTaggedError } from "@botbotgo/kit/sdk";
|
|
3
|
+
export const RECORD_SEPARATOR = "\x1e";
|
|
4
|
+
export const FIELD_SEPARATOR = "\x1f";
|
|
5
|
+
export function quoteAppleScriptString(input) {
|
|
6
|
+
return `"${input.replace(/\\/g, "\\\\").replace(/"/g, '\\"')}"`;
|
|
7
|
+
}
|
|
8
|
+
export async function runOsaScript(lines) {
|
|
9
|
+
return new Promise((resolvePromise, rejectPromise) => {
|
|
10
|
+
const args = [];
|
|
11
|
+
for (const line of lines) {
|
|
12
|
+
args.push("-e", line);
|
|
13
|
+
}
|
|
14
|
+
const proc = spawn("osascript", args, {
|
|
15
|
+
shell: false,
|
|
16
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
17
|
+
env: { ...process.env },
|
|
18
|
+
});
|
|
19
|
+
let stdout = "";
|
|
20
|
+
let stderr = "";
|
|
21
|
+
proc.stdout?.setEncoding("utf-8");
|
|
22
|
+
proc.stderr?.setEncoding("utf-8");
|
|
23
|
+
proc.stdout?.on("data", (chunk) => {
|
|
24
|
+
stdout += chunk;
|
|
25
|
+
});
|
|
26
|
+
proc.stderr?.on("data", (chunk) => {
|
|
27
|
+
stderr += chunk;
|
|
28
|
+
});
|
|
29
|
+
proc.on("error", (err) => {
|
|
30
|
+
rejectPromise(createTaggedError("ITERM_EXEC_ERROR", `Failed to run osascript: ${err.message}`, {}));
|
|
31
|
+
});
|
|
32
|
+
proc.on("close", (code) => {
|
|
33
|
+
if (code !== 0) {
|
|
34
|
+
rejectPromise(createTaggedError("ITERM_EXEC_FAILED", `osascript exited with ${code}: ${stderr.trim() || "unknown error"}`, { code, stderr: stderr.trim() }));
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
resolvePromise(stdout.trim());
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
export function targetSelectorScript(args) {
|
|
42
|
+
const lines = [
|
|
43
|
+
'if (count of windows) is 0 then error "No iTerm windows are open"',
|
|
44
|
+
"set targetWindow to missing value",
|
|
45
|
+
"try",
|
|
46
|
+
"set targetWindow to current window",
|
|
47
|
+
"end try",
|
|
48
|
+
"if targetWindow is missing value then set targetWindow to first window",
|
|
49
|
+
];
|
|
50
|
+
if (typeof args.windowId === "number") {
|
|
51
|
+
lines.push("try");
|
|
52
|
+
lines.push(`set targetWindow to first window whose id is ${Math.trunc(args.windowId)}`);
|
|
53
|
+
lines.push("on error");
|
|
54
|
+
lines.push("try");
|
|
55
|
+
lines.push("set targetWindow to current window");
|
|
56
|
+
lines.push("on error");
|
|
57
|
+
lines.push("set targetWindow to first window");
|
|
58
|
+
lines.push("end try");
|
|
59
|
+
lines.push("end try");
|
|
60
|
+
}
|
|
61
|
+
lines.push("set targetTab to missing value");
|
|
62
|
+
lines.push("try");
|
|
63
|
+
lines.push("set targetTab to current tab of targetWindow");
|
|
64
|
+
lines.push("on error");
|
|
65
|
+
lines.push("try");
|
|
66
|
+
lines.push("set targetTab to first tab of targetWindow");
|
|
67
|
+
lines.push("end try");
|
|
68
|
+
lines.push("end try");
|
|
69
|
+
if (typeof args.tabIndex === "number") {
|
|
70
|
+
lines.push("try");
|
|
71
|
+
lines.push(`set targetTab to tab ${Math.max(1, Math.trunc(args.tabIndex))} of targetWindow`);
|
|
72
|
+
lines.push("on error");
|
|
73
|
+
lines.push("try");
|
|
74
|
+
lines.push("set targetTab to current tab of targetWindow");
|
|
75
|
+
lines.push("on error");
|
|
76
|
+
lines.push("set targetTab to first tab of targetWindow");
|
|
77
|
+
lines.push("end try");
|
|
78
|
+
lines.push("end try");
|
|
79
|
+
}
|
|
80
|
+
lines.push("set targetSession to missing value");
|
|
81
|
+
lines.push("try");
|
|
82
|
+
lines.push("set targetSession to current session of targetTab");
|
|
83
|
+
lines.push("on error");
|
|
84
|
+
lines.push("try");
|
|
85
|
+
lines.push("set targetSession to first session of targetTab");
|
|
86
|
+
lines.push("end try");
|
|
87
|
+
lines.push("end try");
|
|
88
|
+
if (typeof args.sessionId === "string" && args.sessionId.trim()) {
|
|
89
|
+
const sessionId = quoteAppleScriptString(args.sessionId.trim());
|
|
90
|
+
lines.push("try");
|
|
91
|
+
lines.push(`set targetSession to first session of targetTab whose unique id is ${sessionId}`);
|
|
92
|
+
lines.push("on error");
|
|
93
|
+
lines.push("try");
|
|
94
|
+
lines.push(`set targetSession to first session of targetTab whose id is ${sessionId}`);
|
|
95
|
+
lines.push("on error");
|
|
96
|
+
lines.push("try");
|
|
97
|
+
lines.push("set targetSession to current session of targetTab");
|
|
98
|
+
lines.push("on error");
|
|
99
|
+
lines.push("set targetSession to first session of targetTab");
|
|
100
|
+
lines.push("end try");
|
|
101
|
+
lines.push("end try");
|
|
102
|
+
lines.push("end try");
|
|
103
|
+
}
|
|
104
|
+
return lines;
|
|
105
|
+
}
|
|
106
|
+
export function applyOptionalNamingScript(args) {
|
|
107
|
+
const windowRef = args.windowRef ?? "targetWindow";
|
|
108
|
+
const tabRef = args.tabRef ?? "targetTab";
|
|
109
|
+
const sessionRef = args.sessionRef ?? "targetSession";
|
|
110
|
+
const lines = [];
|
|
111
|
+
if (args.windowName?.trim()) {
|
|
112
|
+
lines.push("try");
|
|
113
|
+
lines.push(`set name of ${windowRef} to ${quoteAppleScriptString(args.windowName.trim())}`);
|
|
114
|
+
lines.push("end try");
|
|
115
|
+
}
|
|
116
|
+
if (args.tabName?.trim()) {
|
|
117
|
+
// iTerm AppleScript does not expose direct tab title setter in all versions;
|
|
118
|
+
// setting current session name updates the effective tab title in common title configurations.
|
|
119
|
+
lines.push("try");
|
|
120
|
+
lines.push(`set name of current session of ${tabRef} to ${quoteAppleScriptString(args.tabName.trim())}`);
|
|
121
|
+
lines.push("end try");
|
|
122
|
+
}
|
|
123
|
+
if (args.sessionName?.trim()) {
|
|
124
|
+
lines.push("try");
|
|
125
|
+
lines.push(`set name of ${sessionRef} to ${quoteAppleScriptString(args.sessionName.trim())}`);
|
|
126
|
+
lines.push("end try");
|
|
127
|
+
}
|
|
128
|
+
return lines;
|
|
129
|
+
}
|
|
130
|
+
export function parsePipeTuple(output) {
|
|
131
|
+
const parts = output.split("|");
|
|
132
|
+
return {
|
|
133
|
+
windowId: Number(parts[0] ?? "0"),
|
|
134
|
+
tabIndex: Number(parts[1] ?? "0"),
|
|
135
|
+
sessionId: parts[2] ?? "",
|
|
136
|
+
sessionUniqueId: parts[3] ?? "",
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
export function returnTupleScript(args) {
|
|
140
|
+
const windowRef = args.windowRef ?? "targetWindow";
|
|
141
|
+
const tabRef = args.tabRef ?? "targetTab";
|
|
142
|
+
const sessionRef = args.sessionRef ?? "targetSession";
|
|
143
|
+
return [
|
|
144
|
+
"set windowIdText to \"\"",
|
|
145
|
+
`try`,
|
|
146
|
+
`set windowIdText to (id of ${windowRef}) as text`,
|
|
147
|
+
"end try",
|
|
148
|
+
"set tabIndexText to \"\"",
|
|
149
|
+
`try`,
|
|
150
|
+
`set refSessionUid to (unique id of current session of ${tabRef}) as text`,
|
|
151
|
+
`set tabCount to count of tabs of ${windowRef}`,
|
|
152
|
+
"repeat with i from 1 to tabCount",
|
|
153
|
+
`set loopTab to tab i of ${windowRef}`,
|
|
154
|
+
`set loopUid to (unique id of current session of loopTab) as text`,
|
|
155
|
+
"if loopUid is refSessionUid then",
|
|
156
|
+
"set tabIndexText to i as text",
|
|
157
|
+
"exit repeat",
|
|
158
|
+
"end if",
|
|
159
|
+
"end repeat",
|
|
160
|
+
"end try",
|
|
161
|
+
"set sessionIdText to \"\"",
|
|
162
|
+
`try`,
|
|
163
|
+
`set sessionIdText to (id of ${sessionRef}) as text`,
|
|
164
|
+
"on error",
|
|
165
|
+
`try`,
|
|
166
|
+
`set sessionIdText to (unique id of ${sessionRef}) as text`,
|
|
167
|
+
"end try",
|
|
168
|
+
"end try",
|
|
169
|
+
"set sessionUidText to \"\"",
|
|
170
|
+
`try`,
|
|
171
|
+
`set sessionUidText to (unique id of ${sessionRef}) as text`,
|
|
172
|
+
"end try",
|
|
173
|
+
"return windowIdText & \"|\" & tabIndexText & \"|\" & sessionIdText & \"|\" & sessionUidText",
|
|
174
|
+
];
|
|
175
|
+
}
|
|
176
|
+
export function normalizeRgb(args) {
|
|
177
|
+
const hex = args.hex?.trim();
|
|
178
|
+
if (hex) {
|
|
179
|
+
const clean = hex.startsWith("#") ? hex.slice(1) : hex;
|
|
180
|
+
if (clean.length !== 6) {
|
|
181
|
+
throw createTaggedError("ITERM_INVALID_COLOR", "hex must be #RRGGBB or RRGGBB", { hex });
|
|
182
|
+
}
|
|
183
|
+
const r8 = Number.parseInt(clean.slice(0, 2), 16);
|
|
184
|
+
const g8 = Number.parseInt(clean.slice(2, 4), 16);
|
|
185
|
+
const b8 = Number.parseInt(clean.slice(4, 6), 16);
|
|
186
|
+
return {
|
|
187
|
+
red: Math.round((r8 / 255) * 65535),
|
|
188
|
+
green: Math.round((g8 / 255) * 65535),
|
|
189
|
+
blue: Math.round((b8 / 255) * 65535),
|
|
190
|
+
alpha: typeof args.alpha === "number"
|
|
191
|
+
? Math.max(0, Math.min(65535, Math.round(args.alpha)))
|
|
192
|
+
: 0,
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
const red = Math.max(0, Math.min(65535, Math.round(args.red ?? 0)));
|
|
196
|
+
const green = Math.max(0, Math.min(65535, Math.round(args.green ?? 0)));
|
|
197
|
+
const blue = Math.max(0, Math.min(65535, Math.round(args.blue ?? 0)));
|
|
198
|
+
const alpha = Math.max(0, Math.min(65535, Math.round(args.alpha ?? 0)));
|
|
199
|
+
return { red, green, blue, alpha };
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Read the visible buffer contents of an iTerm session via AppleScript.
|
|
203
|
+
*/
|
|
204
|
+
export async function readSessionContents(args) {
|
|
205
|
+
const lines = [
|
|
206
|
+
'tell application "iTerm"',
|
|
207
|
+
...targetSelectorScript(args),
|
|
208
|
+
"return contents of targetSession",
|
|
209
|
+
"end tell",
|
|
210
|
+
];
|
|
211
|
+
return runOsaScript(lines);
|
|
212
|
+
}
|
|
213
|
+
export { createTaggedError };
|
|
214
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/iterm/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Create a new tab in an iTerm window.
|
|
3
|
+
* @tool
|
|
4
|
+
* @effect local_write
|
|
5
|
+
*/
|
|
6
|
+
export declare function itermCreateTab(args: {
|
|
7
|
+
windowId?: number;
|
|
8
|
+
profile?: string;
|
|
9
|
+
command?: string;
|
|
10
|
+
cmd?: string;
|
|
11
|
+
tabName?: string;
|
|
12
|
+
sessionName?: string;
|
|
13
|
+
activate?: boolean;
|
|
14
|
+
}): Promise<{
|
|
15
|
+
result: {
|
|
16
|
+
windowId: number;
|
|
17
|
+
profile: string;
|
|
18
|
+
commandText: string;
|
|
19
|
+
tabIndex: number;
|
|
20
|
+
sessionId: string;
|
|
21
|
+
sessionUniqueId: string;
|
|
22
|
+
};
|
|
23
|
+
evidence: {
|
|
24
|
+
type: string;
|
|
25
|
+
ref: string;
|
|
26
|
+
summary: string;
|
|
27
|
+
createdAt: string;
|
|
28
|
+
}[];
|
|
29
|
+
}>;
|
|
30
|
+
//# sourceMappingURL=itermCreateTab.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"itermCreateTab.d.ts","sourceRoot":"","sources":["../../../src/iterm/itermCreateTab.ts"],"names":[],"mappings":"AASA;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;;;;;;;;;;;;;;;GAoEA"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { quoteAppleScriptString, runOsaScript, targetSelectorScript, applyOptionalNamingScript, returnTupleScript, parsePipeTuple, } from "./common.js";
|
|
2
|
+
/**
|
|
3
|
+
* Create a new tab in an iTerm window.
|
|
4
|
+
* @tool
|
|
5
|
+
* @effect local_write
|
|
6
|
+
*/
|
|
7
|
+
export async function itermCreateTab(args) {
|
|
8
|
+
const profile = args.profile?.trim();
|
|
9
|
+
const command = (args.command ?? args.cmd)?.trim();
|
|
10
|
+
const activate = args.activate ?? true;
|
|
11
|
+
const lines = [
|
|
12
|
+
'tell application "iTerm"',
|
|
13
|
+
...(activate ? ["activate"] : []),
|
|
14
|
+
...targetSelectorScript({ windowId: args.windowId }),
|
|
15
|
+
"tell targetWindow",
|
|
16
|
+
profile
|
|
17
|
+
? command
|
|
18
|
+
? `set newTab to (create tab with profile ${quoteAppleScriptString(profile)} command ${quoteAppleScriptString(command)})`
|
|
19
|
+
: `set newTab to (create tab with profile ${quoteAppleScriptString(profile)})`
|
|
20
|
+
: command
|
|
21
|
+
? `set newTab to (create tab with default profile command ${quoteAppleScriptString(command)})`
|
|
22
|
+
: "set newTab to (create tab with default profile)",
|
|
23
|
+
"end tell",
|
|
24
|
+
// Some iTerm versions return missing value for create tab result; use current tab after creation.
|
|
25
|
+
"set targetTab to missing value",
|
|
26
|
+
"try",
|
|
27
|
+
"set targetTab to current tab of targetWindow",
|
|
28
|
+
"on error",
|
|
29
|
+
"try",
|
|
30
|
+
"set targetTab to first tab of targetWindow",
|
|
31
|
+
"end try",
|
|
32
|
+
"end try",
|
|
33
|
+
"set targetSession to missing value",
|
|
34
|
+
"try",
|
|
35
|
+
"set targetSession to current session of targetTab",
|
|
36
|
+
"on error",
|
|
37
|
+
"try",
|
|
38
|
+
"set targetSession to first session of targetTab",
|
|
39
|
+
"end try",
|
|
40
|
+
"end try",
|
|
41
|
+
...applyOptionalNamingScript({
|
|
42
|
+
tabName: args.tabName,
|
|
43
|
+
sessionName: args.sessionName,
|
|
44
|
+
tabRef: "targetTab",
|
|
45
|
+
sessionRef: "targetSession",
|
|
46
|
+
}),
|
|
47
|
+
...returnTupleScript({
|
|
48
|
+
windowRef: "targetWindow",
|
|
49
|
+
tabRef: "targetTab",
|
|
50
|
+
sessionRef: "targetSession",
|
|
51
|
+
}),
|
|
52
|
+
"end tell",
|
|
53
|
+
];
|
|
54
|
+
const output = await runOsaScript(lines);
|
|
55
|
+
const parsed = parsePipeTuple(output);
|
|
56
|
+
return {
|
|
57
|
+
result: {
|
|
58
|
+
...parsed,
|
|
59
|
+
windowId: parsed.windowId,
|
|
60
|
+
profile: profile ?? "default",
|
|
61
|
+
commandText: command ?? "",
|
|
62
|
+
},
|
|
63
|
+
evidence: [
|
|
64
|
+
{
|
|
65
|
+
type: "tool",
|
|
66
|
+
ref: "itermCreateTab",
|
|
67
|
+
summary: `Created iTerm tab ${parsed.tabIndex} in window ${parsed.windowId}`,
|
|
68
|
+
createdAt: new Date().toISOString(),
|
|
69
|
+
},
|
|
70
|
+
],
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=itermCreateTab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"itermCreateTab.js","sourceRoot":"","sources":["../../../src/iterm/itermCreateTab.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,oBAAoB,EACpB,yBAAyB,EACzB,iBAAiB,EACjB,cAAc,GACf,MAAM,aAAa,CAAC;AAErB;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAQpC;IACC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC;IACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC;IAEvC,MAAM,KAAK,GAAG;QACZ,0BAA0B;QAC1B,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,GAAG,oBAAoB,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpD,mBAAmB;QACnB,OAAO;YACL,CAAC,CAAC,OAAO;gBACP,CAAC,CAAC,0CAA0C,sBAAsB,CAAC,OAAO,CAAC,YAAY,sBAAsB,CAAC,OAAO,CAAC,GAAG;gBACzH,CAAC,CAAC,0CAA0C,sBAAsB,CAAC,OAAO,CAAC,GAAG;YAChF,CAAC,CAAC,OAAO;gBACP,CAAC,CAAC,0DAA0D,sBAAsB,CAAC,OAAO,CAAC,GAAG;gBAC9F,CAAC,CAAC,iDAAiD;QACvD,UAAU;QACV,kGAAkG;QAClG,gCAAgC;QAChC,KAAK;QACL,8CAA8C;QAC9C,UAAU;QACV,KAAK;QACL,4CAA4C;QAC5C,SAAS;QACT,SAAS;QACT,oCAAoC;QACpC,KAAK;QACL,mDAAmD;QACnD,UAAU;QACV,KAAK;QACL,iDAAiD;QACjD,SAAS;QACT,SAAS;QACT,GAAG,yBAAyB,CAAC;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,MAAM,EAAE,WAAW;YACnB,UAAU,EAAE,eAAe;SAC5B,CAAC;QACF,GAAG,iBAAiB,CAAC;YACnB,SAAS,EAAE,cAAc;YACzB,MAAM,EAAE,WAAW;YACnB,UAAU,EAAE,eAAe;SAC5B,CAAC;QACF,UAAU;KACX,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAEtC,OAAO;QACL,MAAM,EAAE;YACN,GAAG,MAAM;YACT,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,OAAO,IAAI,SAAS;YAC7B,WAAW,EAAE,OAAO,IAAI,EAAE;SAC3B;QACD,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,gBAAgB;gBACrB,OAAO,EAAE,qBAAqB,MAAM,CAAC,QAAQ,cAAc,MAAM,CAAC,QAAQ,EAAE;gBAC5E,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Create a new iTerm window, optionally with profile/command and initial names.
|
|
3
|
+
* @tool
|
|
4
|
+
* @effect local_write
|
|
5
|
+
*/
|
|
6
|
+
export declare function itermCreateWindow(args: {
|
|
7
|
+
profile?: string;
|
|
8
|
+
command?: string;
|
|
9
|
+
cmd?: string;
|
|
10
|
+
activate?: boolean;
|
|
11
|
+
windowName?: string;
|
|
12
|
+
tabName?: string;
|
|
13
|
+
sessionName?: string;
|
|
14
|
+
}): Promise<{
|
|
15
|
+
result: {
|
|
16
|
+
profile: string;
|
|
17
|
+
commandText: string;
|
|
18
|
+
windowId: number;
|
|
19
|
+
tabIndex: number;
|
|
20
|
+
sessionId: string;
|
|
21
|
+
sessionUniqueId: string;
|
|
22
|
+
};
|
|
23
|
+
evidence: {
|
|
24
|
+
type: string;
|
|
25
|
+
ref: string;
|
|
26
|
+
summary: string;
|
|
27
|
+
createdAt: string;
|
|
28
|
+
}[];
|
|
29
|
+
}>;
|
|
30
|
+
//# sourceMappingURL=itermCreateWindow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"itermCreateWindow.d.ts","sourceRoot":"","sources":["../../../src/iterm/itermCreateWindow.ts"],"names":[],"mappings":"AAQA;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;;;;;;;;;;;;;;;GAyEA"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { quoteAppleScriptString, runOsaScript, applyOptionalNamingScript, returnTupleScript, parsePipeTuple, } from "./common.js";
|
|
2
|
+
/**
|
|
3
|
+
* Create a new iTerm window, optionally with profile/command and initial names.
|
|
4
|
+
* @tool
|
|
5
|
+
* @effect local_write
|
|
6
|
+
*/
|
|
7
|
+
export async function itermCreateWindow(args) {
|
|
8
|
+
const profile = args.profile?.trim();
|
|
9
|
+
const command = (args.command ?? args.cmd)?.trim();
|
|
10
|
+
const activate = args.activate ?? true;
|
|
11
|
+
const lines = [
|
|
12
|
+
'tell application "iTerm"',
|
|
13
|
+
...(activate ? ["activate"] : []),
|
|
14
|
+
profile
|
|
15
|
+
? command
|
|
16
|
+
? `set targetWindow to (create window with profile ${quoteAppleScriptString(profile)} command ${quoteAppleScriptString(command)})`
|
|
17
|
+
: `set targetWindow to (create window with profile ${quoteAppleScriptString(profile)})`
|
|
18
|
+
: command
|
|
19
|
+
? `set targetWindow to (create window with default profile command ${quoteAppleScriptString(command)})`
|
|
20
|
+
: "set targetWindow to (create window with default profile)",
|
|
21
|
+
"delay 0.2",
|
|
22
|
+
// Some iTerm versions return missing value for create window result; use current window after creation.
|
|
23
|
+
"try",
|
|
24
|
+
"if targetWindow is missing value then set targetWindow to current window",
|
|
25
|
+
"on error",
|
|
26
|
+
"set targetWindow to current window",
|
|
27
|
+
"end try",
|
|
28
|
+
"if targetWindow is missing value then set targetWindow to first window",
|
|
29
|
+
"set targetTab to missing value",
|
|
30
|
+
"try",
|
|
31
|
+
"set targetTab to current tab of targetWindow",
|
|
32
|
+
"on error",
|
|
33
|
+
"try",
|
|
34
|
+
"set targetTab to first tab of targetWindow",
|
|
35
|
+
"end try",
|
|
36
|
+
"end try",
|
|
37
|
+
"set targetSession to missing value",
|
|
38
|
+
"try",
|
|
39
|
+
"set targetSession to current session of targetTab",
|
|
40
|
+
"on error",
|
|
41
|
+
"try",
|
|
42
|
+
"set targetSession to first session of targetTab",
|
|
43
|
+
"end try",
|
|
44
|
+
"end try",
|
|
45
|
+
...applyOptionalNamingScript({
|
|
46
|
+
windowName: args.windowName,
|
|
47
|
+
tabName: args.tabName,
|
|
48
|
+
sessionName: args.sessionName,
|
|
49
|
+
windowRef: "targetWindow",
|
|
50
|
+
tabRef: "targetTab",
|
|
51
|
+
sessionRef: "targetSession",
|
|
52
|
+
}),
|
|
53
|
+
...returnTupleScript({
|
|
54
|
+
windowRef: "targetWindow",
|
|
55
|
+
tabRef: "targetTab",
|
|
56
|
+
sessionRef: "targetSession",
|
|
57
|
+
}),
|
|
58
|
+
"end tell",
|
|
59
|
+
];
|
|
60
|
+
const output = await runOsaScript(lines);
|
|
61
|
+
const parsed = parsePipeTuple(output);
|
|
62
|
+
return {
|
|
63
|
+
result: {
|
|
64
|
+
...parsed,
|
|
65
|
+
profile: profile ?? "default",
|
|
66
|
+
commandText: command ?? "",
|
|
67
|
+
},
|
|
68
|
+
evidence: [
|
|
69
|
+
{
|
|
70
|
+
type: "tool",
|
|
71
|
+
ref: "itermCreateWindow",
|
|
72
|
+
summary: `Created iTerm window ${parsed.windowId}, tab ${parsed.tabIndex}`,
|
|
73
|
+
createdAt: new Date().toISOString(),
|
|
74
|
+
},
|
|
75
|
+
],
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=itermCreateWindow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"itermCreateWindow.js","sourceRoot":"","sources":["../../../src/iterm/itermCreateWindow.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,yBAAyB,EACzB,iBAAiB,EACjB,cAAc,GACf,MAAM,aAAa,CAAC;AAErB;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAQvC;IACC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC;IACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC;IAEvC,MAAM,KAAK,GAAG;QACZ,0BAA0B;QAC1B,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,OAAO;YACL,CAAC,CAAC,OAAO;gBACP,CAAC,CAAC,mDAAmD,sBAAsB,CAAC,OAAO,CAAC,YAAY,sBAAsB,CAAC,OAAO,CAAC,GAAG;gBAClI,CAAC,CAAC,mDAAmD,sBAAsB,CAAC,OAAO,CAAC,GAAG;YACzF,CAAC,CAAC,OAAO;gBACP,CAAC,CAAC,mEAAmE,sBAAsB,CAAC,OAAO,CAAC,GAAG;gBACvG,CAAC,CAAC,0DAA0D;QAChE,WAAW;QACX,wGAAwG;QACxG,KAAK;QACL,0EAA0E;QAC1E,UAAU;QACV,oCAAoC;QACpC,SAAS;QACT,wEAAwE;QACxE,gCAAgC;QAChC,KAAK;QACL,8CAA8C;QAC9C,UAAU;QACV,KAAK;QACL,4CAA4C;QAC5C,SAAS;QACT,SAAS;QACT,oCAAoC;QACpC,KAAK;QACL,mDAAmD;QACnD,UAAU;QACV,KAAK;QACL,iDAAiD;QACjD,SAAS;QACT,SAAS;QACT,GAAG,yBAAyB,CAAC;YAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,cAAc;YACzB,MAAM,EAAE,WAAW;YACnB,UAAU,EAAE,eAAe;SAC5B,CAAC;QACF,GAAG,iBAAiB,CAAC;YACnB,SAAS,EAAE,cAAc;YACzB,MAAM,EAAE,WAAW;YACnB,UAAU,EAAE,eAAe;SAC5B,CAAC;QACF,UAAU;KACX,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAEtC,OAAO;QACL,MAAM,EAAE;YACN,GAAG,MAAM;YACT,OAAO,EAAE,OAAO,IAAI,SAAS;YAC7B,WAAW,EAAE,OAAO,IAAI,EAAE;SAC3B;QACD,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,mBAAmB;gBACxB,OAAO,EAAE,wBAAwB,MAAM,CAAC,QAAQ,SAAS,MAAM,CAAC,QAAQ,EAAE;gBAC1E,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get detailed info for a specific iTerm session (panel) by id / uniqueId / tty.
|
|
3
|
+
* @tool
|
|
4
|
+
* @effect none
|
|
5
|
+
*/
|
|
6
|
+
export declare function itermGetSessionInfo(args: {
|
|
7
|
+
sessionId?: string;
|
|
8
|
+
sessionUniqueId?: string;
|
|
9
|
+
tty?: string;
|
|
10
|
+
}): Promise<{
|
|
11
|
+
result: {
|
|
12
|
+
windowId: number;
|
|
13
|
+
windowName: string;
|
|
14
|
+
tabIndex: number;
|
|
15
|
+
tabIndexZeroBased: number;
|
|
16
|
+
isCurrentTab: boolean;
|
|
17
|
+
sessionId: string;
|
|
18
|
+
sessionUniqueId: string;
|
|
19
|
+
sessionName: string;
|
|
20
|
+
tty: string;
|
|
21
|
+
isCurrentSession: boolean;
|
|
22
|
+
};
|
|
23
|
+
evidence: {
|
|
24
|
+
type: string;
|
|
25
|
+
ref: string;
|
|
26
|
+
summary: string;
|
|
27
|
+
createdAt: string;
|
|
28
|
+
}[];
|
|
29
|
+
}>;
|
|
30
|
+
//# sourceMappingURL=itermGetSessionInfo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"itermGetSessionInfo.d.ts","sourceRoot":"","sources":["../../../src/iterm/itermGetSessionInfo.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;;kBAea,MAAM;oBACJ,MAAM;kBACR,MAAM;2BACG,MAAM;sBACX,OAAO;mBACV,MAAM;yBACA,MAAM;qBACV,MAAM;aACd,MAAM;0BACO,OAAO;;;;;;;;GA6B5B"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { itermListWindows } from "./itermListWindows.js";
|
|
2
|
+
import { createTaggedError } from "./common.js";
|
|
3
|
+
/**
|
|
4
|
+
* Get detailed info for a specific iTerm session (panel) by id / uniqueId / tty.
|
|
5
|
+
* @tool
|
|
6
|
+
* @effect none
|
|
7
|
+
*/
|
|
8
|
+
export async function itermGetSessionInfo(args) {
|
|
9
|
+
const id = args.sessionId?.trim();
|
|
10
|
+
const uid = args.sessionUniqueId?.trim();
|
|
11
|
+
const tty = args.tty?.trim();
|
|
12
|
+
if (!id && !uid && !tty) {
|
|
13
|
+
throw createTaggedError("ITERM_INVALID", "sessionId, sessionUniqueId or tty is required", {});
|
|
14
|
+
}
|
|
15
|
+
const { result } = await itermListWindows();
|
|
16
|
+
const sessions = result.sessions ?? [];
|
|
17
|
+
const match = sessions.find((s) => {
|
|
18
|
+
if (id && s.sessionId === id)
|
|
19
|
+
return true;
|
|
20
|
+
if (uid && s.sessionUniqueId === uid)
|
|
21
|
+
return true;
|
|
22
|
+
if (tty && s.tty === tty)
|
|
23
|
+
return true;
|
|
24
|
+
return false;
|
|
25
|
+
});
|
|
26
|
+
if (!match) {
|
|
27
|
+
throw createTaggedError("ITERM_SESSION_NOT_FOUND", "No matching iTerm session found for given identifiers", { sessionId: id, sessionUniqueId: uid, tty });
|
|
28
|
+
}
|
|
29
|
+
return {
|
|
30
|
+
result: match,
|
|
31
|
+
evidence: [
|
|
32
|
+
{
|
|
33
|
+
type: "tool",
|
|
34
|
+
ref: "itermGetSessionInfo",
|
|
35
|
+
summary: `Found session ${match.sessionId} in window ${match.windowId}, tab ${match.tabIndex}`,
|
|
36
|
+
createdAt: new Date().toISOString(),
|
|
37
|
+
},
|
|
38
|
+
],
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=itermGetSessionInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"itermGetSessionInfo.js","sourceRoot":"","sources":["../../../src/iterm/itermGetSessionInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAIzC;IACC,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;IAClC,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC;IACzC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;IAE7B,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACxB,MAAM,iBAAiB,CACrB,eAAe,EACf,+CAA+C,EAC/C,EAAE,CACH,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAC5C,MAAM,QAAQ,GAWT,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;IAE3B,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QAChC,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,KAAK,EAAE;YAAE,OAAO,IAAI,CAAC;QAC1C,IAAI,GAAG,IAAI,CAAC,CAAC,eAAe,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QAClD,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QACtC,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,iBAAiB,CACrB,yBAAyB,EACzB,uDAAuD,EACvD,EAAE,SAAS,EAAE,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,EAAE,CAC7C,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,qBAAqB;gBAC1B,OAAO,EAAE,iBAAiB,KAAK,CAAC,SAAS,cAAc,KAAK,CAAC,QAAQ,SAAS,KAAK,CAAC,QAAQ,EAAE;gBAC9F,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
type ItermCurrentWindowSessionsOutput = {
|
|
2
|
+
result: {
|
|
3
|
+
windowId: number | null;
|
|
4
|
+
sessions: Array<Record<string, unknown>>;
|
|
5
|
+
count: number;
|
|
6
|
+
};
|
|
7
|
+
evidence: Array<{
|
|
8
|
+
type: string;
|
|
9
|
+
ref: string;
|
|
10
|
+
summary: string;
|
|
11
|
+
createdAt: string;
|
|
12
|
+
}>;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* List all sessions (panels) in the current iTerm window only.
|
|
16
|
+
* Equivalent to: first find the current window, then return all tabs/sessions under it.
|
|
17
|
+
* @tool
|
|
18
|
+
* @effect none
|
|
19
|
+
*/
|
|
20
|
+
export declare function itermListCurrentWindowSessions(_?: {}): Promise<ItermCurrentWindowSessionsOutput>;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=itermListCurrentWindowSessions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"itermListCurrentWindowSessions.d.ts","sourceRoot":"","sources":["../../../src/iterm/itermListCurrentWindowSessions.ts"],"names":[],"mappings":"AAEA,KAAK,gCAAgC,GAAG;IACtC,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QACzC,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,QAAQ,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;CACJ,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,8BAA8B,CAAC,CAAC,GAAE,EAAO,GAAG,OAAO,CAAC,gCAAgC,CAAC,CA+D1G"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { itermListWindows } from "./itermListWindows.js";
|
|
2
|
+
/**
|
|
3
|
+
* List all sessions (panels) in the current iTerm window only.
|
|
4
|
+
* Equivalent to: first find the current window, then return all tabs/sessions under it.
|
|
5
|
+
* @tool
|
|
6
|
+
* @effect none
|
|
7
|
+
*/
|
|
8
|
+
export async function itermListCurrentWindowSessions(_ = {}) {
|
|
9
|
+
const { result } = await itermListWindows();
|
|
10
|
+
const sessions = result.sessions ?? [];
|
|
11
|
+
if (sessions.length === 0) {
|
|
12
|
+
return {
|
|
13
|
+
result: {
|
|
14
|
+
windowId: null,
|
|
15
|
+
sessions: [],
|
|
16
|
+
count: 0,
|
|
17
|
+
},
|
|
18
|
+
evidence: [
|
|
19
|
+
{
|
|
20
|
+
type: "tool",
|
|
21
|
+
ref: "itermListCurrentWindowSessions",
|
|
22
|
+
summary: "No iTerm sessions found in current context",
|
|
23
|
+
createdAt: new Date().toISOString(),
|
|
24
|
+
},
|
|
25
|
+
],
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
const current = sessions.find((s) => s.isCurrentSession);
|
|
29
|
+
const currentTab = sessions.find((s) => s.isCurrentTab);
|
|
30
|
+
const fallback = sessions[0];
|
|
31
|
+
const target = current ?? currentTab ?? fallback;
|
|
32
|
+
if (!target) {
|
|
33
|
+
return {
|
|
34
|
+
result: {
|
|
35
|
+
windowId: null,
|
|
36
|
+
sessions: [],
|
|
37
|
+
count: 0,
|
|
38
|
+
},
|
|
39
|
+
evidence: [
|
|
40
|
+
{
|
|
41
|
+
type: "tool",
|
|
42
|
+
ref: "itermListCurrentWindowSessions",
|
|
43
|
+
summary: "Unable to resolve current iTerm window sessions",
|
|
44
|
+
createdAt: new Date().toISOString(),
|
|
45
|
+
},
|
|
46
|
+
],
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
const windowId = target.windowId ?? null;
|
|
50
|
+
const windowSessions = sessions.filter((s) => s.windowId === windowId);
|
|
51
|
+
return {
|
|
52
|
+
result: {
|
|
53
|
+
windowId,
|
|
54
|
+
sessions: windowSessions,
|
|
55
|
+
count: windowSessions.length,
|
|
56
|
+
},
|
|
57
|
+
evidence: [
|
|
58
|
+
{
|
|
59
|
+
type: "tool",
|
|
60
|
+
ref: "itermListCurrentWindowSessions",
|
|
61
|
+
summary: `Listed ${windowSessions.length} sessions in current window ${windowId}`,
|
|
62
|
+
createdAt: new Date().toISOString(),
|
|
63
|
+
},
|
|
64
|
+
],
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=itermListCurrentWindowSessions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"itermListCurrentWindowSessions.js","sourceRoot":"","sources":["../../../src/iterm/itermListCurrentWindowSessions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAgBzD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,IAAQ,EAAE;IAC7D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAC5C,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;IAEvC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;YACL,MAAM,EAAE;gBACN,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,EAAE;gBACZ,KAAK,EAAE,CAAC;aACT;YACD,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM;oBACZ,GAAG,EAAE,gCAAgC;oBACrC,OAAO,EAAE,4CAA4C;oBACrD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC;aACF;SACF,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAiC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IACzF,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAA6B,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IACpF,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,OAAO,IAAI,UAAU,IAAI,QAAQ,CAAC;IAEjD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;YACL,MAAM,EAAE;gBACN,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,EAAE;gBACZ,KAAK,EAAE,CAAC;aACT;YACD,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM;oBACZ,GAAG,EAAE,gCAAgC;oBACrC,OAAO,EAAE,iDAAiD;oBAC1D,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC;aACF;SACF,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAI,MAAgC,CAAC,QAAQ,IAAI,IAAI,CAAC;IACpE,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAwB,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;IAE9F,OAAO;QACL,MAAM,EAAE;YACN,QAAQ;YACR,QAAQ,EAAE,cAAc;YACxB,KAAK,EAAE,cAAc,CAAC,MAAM;SAC7B;QACD,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,gCAAgC;gBACrC,OAAO,EAAE,UAAU,cAAc,CAAC,MAAM,+BAA+B,QAAQ,EAAE;gBACjF,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC;SACF;KACF,CAAC;AACJ,CAAC"}
|