Files
headquarter/apps/web/.pi-lens/cache/review-graph.json
T
Developer b6f89f9df0 merge: integrate main restructuring into dev
- Resolve 57 merge conflicts from codebase restructure
- Port dev feature code to new directory structure:
  * Update import paths to use @/ aliases
  * Add backward-compatible API signatures (createInstance, startInstance, deleteInstance)
  * Add missing type exports (ProjectWithRepos, InstanceHealth, Branch, BranchesResponse)
  * Extend Session and GitRepository types for dev features
  * Extend TerminalComponent props for mobile terminal wrapper
  * Add missing icon names (bell, drag, undo)

Quality gates: tsc pass (0 errors), build pass, 127/131 tests pass
(4 pre-existing failures unrelated to merge)
2026-06-03 09:42:44 +00:00

1 line
1.9 MiB
Plaintext

{"version":"v2","builtAt":"2026-06-03T09:11:46.559Z","signature":"/workspace/apps/web/.eslintrc.cjs:368:1780400866902.5977|/workspace/apps/web/scripts/check-structure.js:2645:1780477243155.7742|/workspace/apps/web/src/api/client.ts:1626:1780477234885.8682|/workspace/apps/web/src/api/config_profiles.ts:4632:1780476434295.989|/workspace/apps/web/src/api/config-folders.test.ts:3739:1780477243155.7742|/workspace/apps/web/src/api/config-folders.ts:1995:1780477243155.7742|/workspace/apps/web/src/api/dashboard.ts:350:1780440713833.9036|/workspace/apps/web/src/api/events.ts:598:1780476434295.989|/workspace/apps/web/src/api/git-repositories.ts:5138:1780478104541.959|/workspace/apps/web/src/api/notifications.ts:1813:1780476434295.989|/workspace/apps/web/src/api/profile.ts:880:1780440713832.9023|/workspace/apps/web/src/api/projects.ts:1300:1780477234885.8682|/workspace/apps/web/src/api/sessions.ts:3628:1780478408467.4954|/workspace/apps/web/src/api/settings.ts:965:1780477234885.8682|/workspace/apps/web/src/api/ssh-keys.ts:1368:1780477243155.7742|/workspace/apps/web/src/api/terminal.ts:1792:1780476434296.989|/workspace/apps/web/src/api/tool_definitions.ts:2552:1780476434296.989|/workspace/apps/web/src/api/tool-configs.ts:1454:1780477243155.7742|/workspace/apps/web/src/api/tool-types.test.ts:6355:1780477243155.7742|/workspace/apps/web/src/api/tool-types.ts:1354:1780477243156.774|/workspace/apps/web/src/api/workspace-files.ts:990:1780476434296.989|/workspace/apps/web/src/api/workspace-git.ts:1854:1780476434296.989|/workspace/apps/web/src/api/workspace-instances.ts:751:1780476434296.989|/workspace/apps/web/src/api/workspaces.ts:2293:1780476434296.989|/workspace/apps/web/src/components/create-session-form.tsx:19567:1780477606212.19|/workspace/apps/web/src/components/data-states.tsx:776:1780477606212.321|/workspace/apps/web/src/components/event-toast-bridge.test.tsx:6380:1780477606212.394|/workspace/apps/web/src/components/event-toast-bridge.tsx:2148:1780477606212.4731|/workspace/apps/web/src/components/features/dashboard/ActiveSessionsList.tsx:2215:1780477243157.0376|/workspace/apps/web/src/components/features/dashboard/DashboardSummary.tsx:893:1780477243157.102|/workspace/apps/web/src/components/features/dashboard/index.ts:285:1780477243157.102|/workspace/apps/web/src/components/features/dashboard/ProjectsSection.tsx:878:1780477243157.102|/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx:3371:1780477243157.102|/workspace/apps/web/src/components/features/dashboard/RecentSessionsSection.tsx:1158:1780477243157.102|/workspace/apps/web/src/components/features/git/CommitDialog.tsx:4594:1780477243157.3982|/workspace/apps/web/src/components/features/git/CommitPanel.tsx:2495:1780477243157.3982|/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:1625:1780477243157.3982|/workspace/apps/web/src/components/features/git/FileBrowser.tsx:4014:1780477243157.3982|/workspace/apps/web/src/components/features/git/FileEditor.tsx:8375:1780477243157.3982|/workspace/apps/web/src/components/features/git/GitToolbar.tsx:7953:1780477473667.148|/workspace/apps/web/src/components/features/git/index.ts:100:1780477243157.774|/workspace/apps/web/src/components/features/git/MergeDialog.tsx:3961:1780477243157.774|/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx:1938:1780477243157.774|/workspace/apps/web/src/components/features/git/WorkspaceSidebar.tsx:1562:1780477243157.774|/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:3993:1780477243157.774|/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:2692:1780477243158.303|/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:8612:1780477243158.303|/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:3338:1780477243158.303|/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:4390:1780477243158.5015|/workspace/apps/web/src/components/features/session/index.ts:147:1780477243158.5015|/workspace/apps/web/src/components/features/session/InstanceList.tsx:10555:1780477243158.5015|/workspace/apps/web/src/components/features/session/SessionCard.test.tsx:1828:1780477243158.5015|/workspace/apps/web/src/components/features/session/SessionCard.tsx:4718:1780477243158.5015|/workspace/apps/web/src/components/features/session/SessionList.tsx:4688:1780477243158.5015|/workspace/apps/web/src/components/features/settings/SettingsTabLayout.tsx:982:1780477243158.9475|/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:9164:1780478503053.4172|/workspace/apps/web/src/components/features/tool-configs/index.ts:102:1780477243159.213|/workspace/apps/web/src/components/features/tool-configs/ToolConfigForm.tsx:3331:1780477243159.0618|/workspace/apps/web/src/components/features/tool-configs/ToolConfigList.tsx:2029:1780477243159.213|/workspace/apps/web/src/components/features/tool-types/index.ts:94:1780477243159.3945|/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:5803:1780477243159.213|/workspace/apps/web/src/components/features/tool-types/ToolTypeList.tsx:2291:1780477243159.3945|/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:7494:1780477243159.3945|/workspace/apps/web/src/components/features/tool-workshop/index.ts:153:1780477243159.6003|/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:12208:1780477243159.6003|/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:1679:1780477243159.6003|/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:15378:1780477243159.6003|/workspace/apps/web/src/components/features/workspace/WorkspaceHeader.tsx:1344:1780477243159.774|/workspace/apps/web/src/components/git-mount-editor.tsx:14988:1780477606212.5457|/workspace/apps/web/src/components/layout/AppShell.tsx:3901:1780477243160.009|/workspace/apps/web/src/components/manifest-editor.tsx:24496:1780477606212.681|/workspace/apps/web/src/components/mobile-action-sheet.tsx:2231:1780477606212.836|/workspace/apps/web/src/components/mobile-detail-view.tsx:2597:1780477606214.127|/workspace/apps/web/src/components/mobile-edit-view.tsx:5046:1780477606214.2078|/workspace/apps/web/src/components/mobile-fab.tsx:399:1780477606214.2798|/workspace/apps/web/src/components/mobile-list-view.tsx:2178:1780477606214.3455|/workspace/apps/web/src/components/mobile-nav.tsx:2634:1780477606214.41|/workspace/apps/web/src/components/mobile-page-header.tsx:899:1780477606214.4683|/workspace/apps/web/src/components/mobile-terminal-header.tsx:2672:1780477606214.5334|/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx:3664:1780477644037.8655|/workspace/apps/web/src/components/notification-center.test.tsx:5330:1780477606215.3801|/workspace/apps/web/src/components/notification-center.tsx:3019:1780477606215.4705|/workspace/apps/web/src/components/notification-item.test.tsx:2535:1780477606215.54|/workspace/apps/web/src/components/notification-item.tsx:1677:1780477606215.604|/workspace/apps/web/src/components/ProtectedRoute.test.tsx:1319:1780477606211.9646|/workspace/apps/web/src/components/ProtectedRoute.tsx:546:1780477606212.061|/workspace/apps/web/src/components/session-card.tsx:9578:1780477606215.6743|/workspace/apps/web/src/components/session-list.tsx:3783:1780477606215.7737|/workspace/apps/web/src/components/special-keys-panel.tsx:3034:1780477606215.8408|/workspace/apps/web/src/components/special-keys-strip.tsx:2641:1780477606215.9348|/workspace/apps/web/src/components/start-tool-fab.tsx:3106:1780477606216.8018|/workspace/apps/web/src/components/start-tool-modal.tsx:3199:1780477606216.92|/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:4615:1780477606217.0317|/workspace/apps/web/src/components/terminal-session-tabs.tsx:4515:1780477606217.1416|/workspace/apps/web/src/components/toast-rules.test.ts:2184:1780476434299.989|/workspace/apps/web/src/components/toast-rules.ts:2372:1780476434299.989|/workspace/apps/web/src/components/tool-starter.tsx:8532:1780477606217.2542|/workspace/apps/web/src/components/tools-bottom-sheet.tsx:1681:1780477606217.381|/workspace/apps/web/src/components/ui/CodeEditor.tsx:1364:1780477243160.009|/workspace/apps/web/src/components/ui/ConfirmDialog.tsx:858:1780477243160.136|/workspace/apps/web/src/components/ui/ErrorState.test.tsx:763:1780477243160.136|/workspace/apps/web/src/components/ui/ErrorState.tsx:358:1780477243160.136|/workspace/apps/web/src/components/ui/Icon.tsx:2927:1780477904079.2434|/workspace/apps/web/src/components/ui/index.ts:215:1780477243160.136|/workspace/apps/web/src/components/ui/LoadingState.test.tsx:496:1780477243160.136|/workspace/apps/web/src/components/ui/LoadingState.tsx:207:1780477243160.136|/workspace/apps/web/src/components/ui/StatusBadge.tsx:213:1780477243160.136|/workspace/apps/web/src/components/workspace-card.tsx:2012:1780477606217.46|/workspace/apps/web/src/components/workspace-create-form.tsx:8632:1780477606217.5525|/workspace/apps/web/src/components/workspace-instance-chips.tsx:1321:1780477606219.5337|/workspace/apps/web/src/hooks/use-async-data.ts:1029:1780477635012.6907|/workspace/apps/web/src/hooks/use-auto-hide.ts:1449:1780477635012.8135|/workspace/apps/web/src/hooks/use-dashboard-actions.ts:2569:1780477635012.9175|/workspace/apps/web/src/hooks/use-events.test.ts:4797:1780477635013.007|/workspace/apps/web/src/hooks/use-events.ts:2824:1780477635013.0852|/workspace/apps/web/src/hooks/use-git-repo.ts:7948:1780477635013.2231|/workspace/apps/web/src/hooks/use-instance-actions.ts:4593:1780477635013.356|/workspace/apps/web/src/hooks/use-mobile-viewport.ts:550:1780477635013.4517|/workspace/apps/web/src/hooks/use-notifications.test.tsx:8775:1780476434300.989|/workspace/apps/web/src/hooks/use-notifications.ts:301:1780477635013.513|/workspace/apps/web/src/hooks/use-special-keys.ts:4159:1780477635013.5833|/workspace/apps/web/src/hooks/use-start-tool.ts:1532:1780477635014.8633|/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:8112:1780477635014.9702|/workspace/apps/web/src/hooks/use-terminal-connection.ts:11162:1780477635015.109|/workspace/apps/web/src/hooks/use-terminal-sessions.ts:3744:1780477635015.2395|/workspace/apps/web/src/hooks/use-theme.ts:633:1780477635015.3298|/workspace/apps/web/src/hooks/use-virtual-keyboard.ts:2021:1780477635015.3928|/workspace/apps/web/src/hooks/use-workspace-actions.ts:3320:1780477635015.464|/workspace/apps/web/src/hooks/use-workspace-files.ts:1802:1780477635015.5269|/workspace/apps/web/src/hooks/use-workspace-git.ts:2511:1780477635016.4097|/workspace/apps/web/src/hooks/use-workspace-instances.ts:1551:1780477635016.483|/workspace/apps/web/src/hooks/use-workspaces.ts:1135:1780477635016.5466|/workspace/apps/web/src/main.tsx:912:1780477243160.136|/workspace/apps/web/src/pages/config-profiles.tsx:44048:1780477635021.6716|/workspace/apps/web/src/pages/DashboardPage.test.tsx:2359:1780477635017.543|/workspace/apps/web/src/pages/DashboardPage.tsx:5333:1780477635017.6506|/workspace/apps/web/src/pages/GitHistoryPage.tsx:8465:1780477635017.7395|/workspace/apps/web/src/pages/GitRepositoriesPage.tsx:4079:1780477635017.8372|/workspace/apps/web/src/pages/PlaceholderPage.tsx:1121:1780477635017.9238|/workspace/apps/web/src/pages/ProfilePage.tsx:5616:1780477635018.011|/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:4414:1780477635018.0933|/workspace/apps/web/src/pages/ProjectsPage.test.tsx:6158:1780477635018.1704|/workspace/apps/web/src/pages/ProjectsPage.tsx:6433:1780477635018.2515|/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:6068:1780477635019.3|/workspace/apps/web/src/pages/SessionsPage.tsx:5555:1780477635019.4263|/workspace/apps/web/src/pages/SettingsPage.tsx:5767:1780477635019.5686|/workspace/apps/web/src/pages/SshKeysPage.tsx:4052:1780477635019.6501|/workspace/apps/web/src/pages/TerminalPage.tsx:1013:1780477635019.7124|/workspace/apps/web/src/pages/ToolConfigsPage.tsx:4945:1780477635019.786|/workspace/apps/web/src/pages/ToolTypesPage.tsx:3319:1780477635019.866|/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:19959:1780477635019.971|/workspace/apps/web/src/pages/ToolWorkshopPage.tsx:1770:1780477635021.5085|/workspace/apps/web/src/pages/workspace-detail.tsx:11417:1780477635021.9846|/workspace/apps/web/src/pages/workspaces.tsx:2929:1780477635022.125|/workspace/apps/web/src/router.tsx:3006:1780477473669.148|/workspace/apps/web/src/state/auth.tsx:1666:1780440713837.2695|/workspace/apps/web/src/state/events.tsx:819:1780476434302.989|/workspace/apps/web/src/state/notifications.tsx:7752:1780476434302.989|/workspace/apps/web/src/state/sessions.tsx:964:1780477243161.774|/workspace/apps/web/src/state/toast.tsx:4463:1780476434303.989|/workspace/apps/web/src/test/setup.ts:43:1780440713827.5044|/workspace/apps/web/src/types.ts:254:1780478331651.3708|/workspace/apps/web/src/types/api-response.ts:153:1780477243162.2803|/workspace/apps/web/src/types/config-folder.ts:758:1780477243162.2803|/workspace/apps/web/src/types/events.ts:382:1780476434303.989|/workspace/apps/web/src/types/git-repository.ts:1592:1780478168094.2349|/workspace/apps/web/src/types/index.ts:807:1780478218148.6643|/workspace/apps/web/src/types/project.ts:504:1780478204977.8145|/workspace/apps/web/src/types/session.ts:344:1780478151324.4258|/workspace/apps/web/src/types/terminal.ts:1502:1780477243162.774|/workspace/apps/web/src/types/tool-config.ts:764:1780477243162.774|/workspace/apps/web/src/types/tool-instance.ts:247:1780477243162.774|/workspace/apps/web/src/types/tool-type.ts:1357:1780477243162.774|/workspace/apps/web/src/types/user.ts:158:1780477243162.774|/workspace/apps/web/src/types/workspace.ts:586:1780476434305.4553|/workspace/apps/web/src/utils/errors.ts:428:1780477635023.1575|/workspace/apps/web/src/utils/icons.ts:54:1780477635023.3152|/workspace/apps/web/src/utils/language.ts:1815:1780477635023.3909|/workspace/apps/web/src/utils/terminal-protocol.ts:1931:1780477635023.4639|/workspace/apps/web/src/utils/time.ts:720:1780477635023.528|/workspace/apps/web/vite.config.ts:337:1780477243162.774","fileSignatures":[["/workspace/apps/web/.eslintrc.cjs","368:1780400866902.5977"],["/workspace/apps/web/scripts/check-structure.js","2645:1780477243155.7742"],["/workspace/apps/web/src/api/client.ts","1626:1780477234885.8682"],["/workspace/apps/web/src/api/config-folders.test.ts","3739:1780477243155.7742"],["/workspace/apps/web/src/api/config-folders.ts","1995:1780477243155.7742"],["/workspace/apps/web/src/api/config_profiles.ts","4632:1780476434295.989"],["/workspace/apps/web/src/api/dashboard.ts","350:1780440713833.9036"],["/workspace/apps/web/src/api/events.ts","598:1780476434295.989"],["/workspace/apps/web/src/api/git-repositories.ts","5138:1780478104541.959"],["/workspace/apps/web/src/api/notifications.ts","1813:1780476434295.989"],["/workspace/apps/web/src/api/profile.ts","880:1780440713832.9023"],["/workspace/apps/web/src/api/projects.ts","1300:1780477234885.8682"],["/workspace/apps/web/src/api/sessions.ts","3628:1780478408467.4954"],["/workspace/apps/web/src/api/settings.ts","965:1780477234885.8682"],["/workspace/apps/web/src/api/ssh-keys.ts","1368:1780477243155.7742"],["/workspace/apps/web/src/api/terminal.ts","1792:1780476434296.989"],["/workspace/apps/web/src/api/tool-configs.ts","1454:1780477243155.7742"],["/workspace/apps/web/src/api/tool-types.test.ts","6355:1780477243155.7742"],["/workspace/apps/web/src/api/tool-types.ts","1354:1780477243156.774"],["/workspace/apps/web/src/api/tool_definitions.ts","2552:1780476434296.989"],["/workspace/apps/web/src/api/workspace-files.ts","990:1780476434296.989"],["/workspace/apps/web/src/api/workspace-git.ts","1854:1780476434296.989"],["/workspace/apps/web/src/api/workspace-instances.ts","751:1780476434296.989"],["/workspace/apps/web/src/api/workspaces.ts","2293:1780476434296.989"],["/workspace/apps/web/src/components/ProtectedRoute.test.tsx","1319:1780477606211.9646"],["/workspace/apps/web/src/components/ProtectedRoute.tsx","546:1780477606212.061"],["/workspace/apps/web/src/components/create-session-form.tsx","19567:1780477606212.19"],["/workspace/apps/web/src/components/data-states.tsx","776:1780477606212.321"],["/workspace/apps/web/src/components/event-toast-bridge.test.tsx","6380:1780477606212.394"],["/workspace/apps/web/src/components/event-toast-bridge.tsx","2148:1780477606212.4731"],["/workspace/apps/web/src/components/features/dashboard/ActiveSessionsList.tsx","2215:1780477243157.0376"],["/workspace/apps/web/src/components/features/dashboard/DashboardSummary.tsx","893:1780477243157.102"],["/workspace/apps/web/src/components/features/dashboard/ProjectsSection.tsx","878:1780477243157.102"],["/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx","3371:1780477243157.102"],["/workspace/apps/web/src/components/features/dashboard/RecentSessionsSection.tsx","1158:1780477243157.102"],["/workspace/apps/web/src/components/features/dashboard/index.ts","285:1780477243157.102"],["/workspace/apps/web/src/components/features/git/CommitDialog.tsx","4594:1780477243157.3982"],["/workspace/apps/web/src/components/features/git/CommitPanel.tsx","2495:1780477243157.3982"],["/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx","1625:1780477243157.3982"],["/workspace/apps/web/src/components/features/git/FileBrowser.tsx","4014:1780477243157.3982"],["/workspace/apps/web/src/components/features/git/FileEditor.tsx","8375:1780477243157.3982"],["/workspace/apps/web/src/components/features/git/GitToolbar.tsx","7953:1780477473667.148"],["/workspace/apps/web/src/components/features/git/MergeDialog.tsx","3961:1780477243157.774"],["/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx","1938:1780477243157.774"],["/workspace/apps/web/src/components/features/git/WorkspaceSidebar.tsx","1562:1780477243157.774"],["/workspace/apps/web/src/components/features/git/index.ts","100:1780477243157.774"],["/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx","3993:1780477243157.774"],["/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx","2692:1780477243158.303"],["/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx","8612:1780477243158.303"],["/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx","3338:1780477243158.303"],["/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx","4390:1780477243158.5015"],["/workspace/apps/web/src/components/features/session/InstanceList.tsx","10555:1780477243158.5015"],["/workspace/apps/web/src/components/features/session/SessionCard.test.tsx","1828:1780477243158.5015"],["/workspace/apps/web/src/components/features/session/SessionCard.tsx","4718:1780477243158.5015"],["/workspace/apps/web/src/components/features/session/SessionList.tsx","4688:1780477243158.5015"],["/workspace/apps/web/src/components/features/session/index.ts","147:1780477243158.5015"],["/workspace/apps/web/src/components/features/settings/SettingsTabLayout.tsx","982:1780477243158.9475"],["/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","9164:1780478503053.4172"],["/workspace/apps/web/src/components/features/tool-configs/ToolConfigForm.tsx","3331:1780477243159.0618"],["/workspace/apps/web/src/components/features/tool-configs/ToolConfigList.tsx","2029:1780477243159.213"],["/workspace/apps/web/src/components/features/tool-configs/index.ts","102:1780477243159.213"],["/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx","5803:1780477243159.213"],["/workspace/apps/web/src/components/features/tool-types/ToolTypeList.tsx","2291:1780477243159.3945"],["/workspace/apps/web/src/components/features/tool-types/index.ts","94:1780477243159.3945"],["/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx","7494:1780477243159.3945"],["/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx","12208:1780477243159.6003"],["/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx","1679:1780477243159.6003"],["/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx","15378:1780477243159.6003"],["/workspace/apps/web/src/components/features/tool-workshop/index.ts","153:1780477243159.6003"],["/workspace/apps/web/src/components/features/workspace/WorkspaceHeader.tsx","1344:1780477243159.774"],["/workspace/apps/web/src/components/git-mount-editor.tsx","14988:1780477606212.5457"],["/workspace/apps/web/src/components/layout/AppShell.tsx","3901:1780477243160.009"],["/workspace/apps/web/src/components/manifest-editor.tsx","24496:1780477606212.681"],["/workspace/apps/web/src/components/mobile-action-sheet.tsx","2231:1780477606212.836"],["/workspace/apps/web/src/components/mobile-detail-view.tsx","2597:1780477606214.127"],["/workspace/apps/web/src/components/mobile-edit-view.tsx","5046:1780477606214.2078"],["/workspace/apps/web/src/components/mobile-fab.tsx","399:1780477606214.2798"],["/workspace/apps/web/src/components/mobile-list-view.tsx","2178:1780477606214.3455"],["/workspace/apps/web/src/components/mobile-nav.tsx","2634:1780477606214.41"],["/workspace/apps/web/src/components/mobile-page-header.tsx","899:1780477606214.4683"],["/workspace/apps/web/src/components/mobile-terminal-header.tsx","2672:1780477606214.5334"],["/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx","3664:1780477644037.8655"],["/workspace/apps/web/src/components/notification-center.test.tsx","5330:1780477606215.3801"],["/workspace/apps/web/src/components/notification-center.tsx","3019:1780477606215.4705"],["/workspace/apps/web/src/components/notification-item.test.tsx","2535:1780477606215.54"],["/workspace/apps/web/src/components/notification-item.tsx","1677:1780477606215.604"],["/workspace/apps/web/src/components/session-card.tsx","9578:1780477606215.6743"],["/workspace/apps/web/src/components/session-list.tsx","3783:1780477606215.7737"],["/workspace/apps/web/src/components/special-keys-panel.tsx","3034:1780477606215.8408"],["/workspace/apps/web/src/components/special-keys-strip.tsx","2641:1780477606215.9348"],["/workspace/apps/web/src/components/start-tool-fab.tsx","3106:1780477606216.8018"],["/workspace/apps/web/src/components/start-tool-modal.tsx","3199:1780477606216.92"],["/workspace/apps/web/src/components/terminal-session-tabs.test.tsx","4615:1780477606217.0317"],["/workspace/apps/web/src/components/terminal-session-tabs.tsx","4515:1780477606217.1416"],["/workspace/apps/web/src/components/toast-rules.test.ts","2184:1780476434299.989"],["/workspace/apps/web/src/components/toast-rules.ts","2372:1780476434299.989"],["/workspace/apps/web/src/components/tool-starter.tsx","8532:1780477606217.2542"],["/workspace/apps/web/src/components/tools-bottom-sheet.tsx","1681:1780477606217.381"],["/workspace/apps/web/src/components/ui/CodeEditor.tsx","1364:1780477243160.009"],["/workspace/apps/web/src/components/ui/ConfirmDialog.tsx","858:1780477243160.136"],["/workspace/apps/web/src/components/ui/ErrorState.test.tsx","763:1780477243160.136"],["/workspace/apps/web/src/components/ui/ErrorState.tsx","358:1780477243160.136"],["/workspace/apps/web/src/components/ui/Icon.tsx","2927:1780477904079.2434"],["/workspace/apps/web/src/components/ui/LoadingState.test.tsx","496:1780477243160.136"],["/workspace/apps/web/src/components/ui/LoadingState.tsx","207:1780477243160.136"],["/workspace/apps/web/src/components/ui/StatusBadge.tsx","213:1780477243160.136"],["/workspace/apps/web/src/components/ui/index.ts","215:1780477243160.136"],["/workspace/apps/web/src/components/workspace-card.tsx","2012:1780477606217.46"],["/workspace/apps/web/src/components/workspace-create-form.tsx","8632:1780477606217.5525"],["/workspace/apps/web/src/components/workspace-instance-chips.tsx","1321:1780477606219.5337"],["/workspace/apps/web/src/hooks/use-async-data.ts","1029:1780477635012.6907"],["/workspace/apps/web/src/hooks/use-auto-hide.ts","1449:1780477635012.8135"],["/workspace/apps/web/src/hooks/use-dashboard-actions.ts","2569:1780477635012.9175"],["/workspace/apps/web/src/hooks/use-events.test.ts","4797:1780477635013.007"],["/workspace/apps/web/src/hooks/use-events.ts","2824:1780477635013.0852"],["/workspace/apps/web/src/hooks/use-git-repo.ts","7948:1780477635013.2231"],["/workspace/apps/web/src/hooks/use-instance-actions.ts","4593:1780477635013.356"],["/workspace/apps/web/src/hooks/use-mobile-viewport.ts","550:1780477635013.4517"],["/workspace/apps/web/src/hooks/use-notifications.test.tsx","8775:1780476434300.989"],["/workspace/apps/web/src/hooks/use-notifications.ts","301:1780477635013.513"],["/workspace/apps/web/src/hooks/use-special-keys.ts","4159:1780477635013.5833"],["/workspace/apps/web/src/hooks/use-start-tool.ts","1532:1780477635014.8633"],["/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","8112:1780477635014.9702"],["/workspace/apps/web/src/hooks/use-terminal-connection.ts","11162:1780477635015.109"],["/workspace/apps/web/src/hooks/use-terminal-sessions.ts","3744:1780477635015.2395"],["/workspace/apps/web/src/hooks/use-theme.ts","633:1780477635015.3298"],["/workspace/apps/web/src/hooks/use-virtual-keyboard.ts","2021:1780477635015.3928"],["/workspace/apps/web/src/hooks/use-workspace-actions.ts","3320:1780477635015.464"],["/workspace/apps/web/src/hooks/use-workspace-files.ts","1802:1780477635015.5269"],["/workspace/apps/web/src/hooks/use-workspace-git.ts","2511:1780477635016.4097"],["/workspace/apps/web/src/hooks/use-workspace-instances.ts","1551:1780477635016.483"],["/workspace/apps/web/src/hooks/use-workspaces.ts","1135:1780477635016.5466"],["/workspace/apps/web/src/main.tsx","912:1780477243160.136"],["/workspace/apps/web/src/pages/DashboardPage.test.tsx","2359:1780477635017.543"],["/workspace/apps/web/src/pages/DashboardPage.tsx","5333:1780477635017.6506"],["/workspace/apps/web/src/pages/GitHistoryPage.tsx","8465:1780477635017.7395"],["/workspace/apps/web/src/pages/GitRepositoriesPage.tsx","4079:1780477635017.8372"],["/workspace/apps/web/src/pages/PlaceholderPage.tsx","1121:1780477635017.9238"],["/workspace/apps/web/src/pages/ProfilePage.tsx","5616:1780477635018.011"],["/workspace/apps/web/src/pages/ProjectSettingsPage.tsx","4414:1780477635018.0933"],["/workspace/apps/web/src/pages/ProjectsPage.test.tsx","6158:1780477635018.1704"],["/workspace/apps/web/src/pages/ProjectsPage.tsx","6433:1780477635018.2515"],["/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","6068:1780477635019.3"],["/workspace/apps/web/src/pages/SessionsPage.tsx","5555:1780477635019.4263"],["/workspace/apps/web/src/pages/SettingsPage.tsx","5767:1780477635019.5686"],["/workspace/apps/web/src/pages/SshKeysPage.tsx","4052:1780477635019.6501"],["/workspace/apps/web/src/pages/TerminalPage.tsx","1013:1780477635019.7124"],["/workspace/apps/web/src/pages/ToolConfigsPage.tsx","4945:1780477635019.786"],["/workspace/apps/web/src/pages/ToolTypesPage.tsx","3319:1780477635019.866"],["/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","19959:1780477635019.971"],["/workspace/apps/web/src/pages/ToolWorkshopPage.tsx","1770:1780477635021.5085"],["/workspace/apps/web/src/pages/config-profiles.tsx","44048:1780477635021.6716"],["/workspace/apps/web/src/pages/workspace-detail.tsx","11417:1780477635021.9846"],["/workspace/apps/web/src/pages/workspaces.tsx","2929:1780477635022.125"],["/workspace/apps/web/src/router.tsx","3006:1780477473669.148"],["/workspace/apps/web/src/state/auth.tsx","1666:1780440713837.2695"],["/workspace/apps/web/src/state/events.tsx","819:1780476434302.989"],["/workspace/apps/web/src/state/notifications.tsx","7752:1780476434302.989"],["/workspace/apps/web/src/state/sessions.tsx","964:1780477243161.774"],["/workspace/apps/web/src/state/toast.tsx","4463:1780476434303.989"],["/workspace/apps/web/src/test/setup.ts","43:1780440713827.5044"],["/workspace/apps/web/src/types/api-response.ts","153:1780477243162.2803"],["/workspace/apps/web/src/types/config-folder.ts","758:1780477243162.2803"],["/workspace/apps/web/src/types/events.ts","382:1780476434303.989"],["/workspace/apps/web/src/types/git-repository.ts","1592:1780478168094.2349"],["/workspace/apps/web/src/types/index.ts","807:1780478218148.6643"],["/workspace/apps/web/src/types/project.ts","504:1780478204977.8145"],["/workspace/apps/web/src/types/session.ts","344:1780478151324.4258"],["/workspace/apps/web/src/types/terminal.ts","1502:1780477243162.774"],["/workspace/apps/web/src/types/tool-config.ts","764:1780477243162.774"],["/workspace/apps/web/src/types/tool-instance.ts","247:1780477243162.774"],["/workspace/apps/web/src/types/tool-type.ts","1357:1780477243162.774"],["/workspace/apps/web/src/types/user.ts","158:1780477243162.774"],["/workspace/apps/web/src/types/workspace.ts","586:1780476434305.4553"],["/workspace/apps/web/src/types.ts","254:1780478331651.3708"],["/workspace/apps/web/src/utils/errors.ts","428:1780477635023.1575"],["/workspace/apps/web/src/utils/icons.ts","54:1780477635023.3152"],["/workspace/apps/web/src/utils/language.ts","1815:1780477635023.3909"],["/workspace/apps/web/src/utils/terminal-protocol.ts","1931:1780477635023.4639"],["/workspace/apps/web/src/utils/time.ts","720:1780477635023.528"],["/workspace/apps/web/vite.config.ts","337:1780477243162.774"]],"nodes":[["file:/workspace/apps/web/.eslintrc.cjs",{"id":"file:/workspace/apps/web/.eslintrc.cjs","kind":"file","language":"jsts","filePath":"/workspace/apps/web/.eslintrc.cjs","metadata":{"lineCount":17,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/scripts/check-structure.js",{"id":"file:/workspace/apps/web/scripts/check-structure.js","kind":"file","language":"jsts","filePath":"/workspace/apps/web/scripts/check-structure.js","metadata":{"lineCount":84,"featureKind":"library","trustBoundaries":[]}}],["external:fs",{"id":"external:fs","kind":"external","language":"jsts","metadata":{"source":"fs"}}],["external:path",{"id":"external:path","kind":"external","language":"jsts","metadata":{"source":"path"}}],["external:url",{"id":"external:url","kind":"external","language":"jsts","metadata":{"source":"url"}}],["/workspace/apps/web/scripts/check-structure.js:checkFileSize",{"id":"/workspace/apps/web/scripts/check-structure.js:checkFileSize","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/scripts/check-structure.js","symbolName":"checkFileSize","symbolKind":"function","exported":false,"metadata":{"line":38,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:fs.readFileSync",{"id":"external:fs.readFileSync","kind":"external","language":"jsts","metadata":{"unresolvedName":"fs.readFileSync"}}],["external:content.split",{"id":"external:content.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"content.split"}}],["external:path.relative",{"id":"external:path.relative","kind":"external","language":"jsts","metadata":{"unresolvedName":"path.relative"}}],["external:OVERSIZE_ALLOWLIST.includes",{"id":"external:OVERSIZE_ALLOWLIST.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"OVERSIZE_ALLOWLIST.includes"}}],["external:console.warn",{"id":"external:console.warn","kind":"external","language":"jsts","metadata":{"unresolvedName":"console.warn"}}],["external:console.error",{"id":"external:console.error","kind":"external","language":"jsts","metadata":{"unresolvedName":"console.error"}}],["/workspace/apps/web/scripts/check-structure.js:walk",{"id":"/workspace/apps/web/scripts/check-structure.js:walk","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/scripts/check-structure.js","symbolName":"walk","symbolKind":"function","exported":false,"metadata":{"line":53,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:fs.readdirSync",{"id":"external:fs.readdirSync","kind":"external","language":"jsts","metadata":{"unresolvedName":"fs.readdirSync"}}],["external:path.join",{"id":"external:path.join","kind":"external","language":"jsts","metadata":{"unresolvedName":"path.join"}}],["external:entry.isDirectory",{"id":"external:entry.isDirectory","kind":"external","language":"jsts","metadata":{"unresolvedName":"entry.isDirectory"}}],["external:entry.name.startsWith",{"id":"external:entry.name.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"entry.name.startsWith"}}],["symbol-name:walk",{"id":"symbol-name:walk","kind":"symbol","language":"jsts","symbolName":"walk","metadata":{"unresolvedName":"walk"}}],["symbol-name:callback",{"id":"symbol-name:callback","kind":"symbol","language":"jsts","symbolName":"callback","metadata":{"unresolvedName":"callback"}}],["/workspace/apps/web/scripts/check-structure.js:<anonymous>",{"id":"/workspace/apps/web/scripts/check-structure.js:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/scripts/check-structure.js","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":66,"column":15,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:path.extname",{"id":"external:path.extname","kind":"external","language":"jsts","metadata":{"unresolvedName":"path.extname"}}],["external:[\".ts\", \".tsx\", \".py\", \".css\"].includes",{"id":"external:[\".ts\", \".tsx\", \".py\", \".css\"].includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"[\".ts\", \".tsx\", \".py\", \".css\"].includes"}}],["symbol-name:checkFileSize",{"id":"symbol-name:checkFileSize","kind":"symbol","language":"jsts","symbolName":"checkFileSize","metadata":{"unresolvedName":"checkFileSize"}}],["file:/workspace/apps/web/src/api/client.ts",{"id":"file:/workspace/apps/web/src/api/client.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/api/client.ts","metadata":{"lineCount":52,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:axios",{"id":"external:axios","kind":"external","language":"jsts","metadata":{"source":"axios"}}],["/workspace/apps/web/src/api/client.ts:shouldSkipAuthRedirect",{"id":"/workspace/apps/web/src/api/client.ts:shouldSkipAuthRedirect","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/client.ts","symbolName":"shouldSkipAuthRedirect","symbolKind":"function","exported":true,"metadata":{"line":13,"column":39,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["external:path.startsWith",{"id":"external:path.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"path.startsWith"}}],["/workspace/apps/web/src/api/client.ts:<anonymous>",{"id":"/workspace/apps/web/src/api/client.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/client.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":26,"column":3,"cyclomaticComplexity":8,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:shouldSkipAuthRedirect",{"id":"symbol-name:shouldSkipAuthRedirect","kind":"symbol","language":"jsts","symbolName":"shouldSkipAuthRedirect","metadata":{"unresolvedName":"shouldSkipAuthRedirect"}}],["external:window.location.assign",{"id":"external:window.location.assign","kind":"external","language":"jsts","metadata":{"unresolvedName":"window.location.assign"}}],["external:Promise.reject",{"id":"external:Promise.reject","kind":"external","language":"jsts","metadata":{"unresolvedName":"Promise.reject"}}],["external:error.message?.includes",{"id":"external:error.message?.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"error.message?.includes"}}],["external:retryCount.get",{"id":"external:retryCount.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"retryCount.get"}}],["external:retryCount.set",{"id":"external:retryCount.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"retryCount.set"}}],["symbol-name:setTimeout",{"id":"symbol-name:setTimeout","kind":"symbol","language":"jsts","symbolName":"setTimeout","metadata":{"unresolvedName":"setTimeout"}}],["symbol-name:apiClient",{"id":"symbol-name:apiClient","kind":"symbol","language":"jsts","symbolName":"apiClient","metadata":{"unresolvedName":"apiClient"}}],["file:/workspace/apps/web/src/api/config-folders.test.ts",{"id":"file:/workspace/apps/web/src/api/config-folders.test.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/api/config-folders.test.ts","metadata":{"lineCount":132,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:vitest",{"id":"external:vitest","kind":"external","language":"jsts","metadata":{"source":"vitest"}}],["file:/workspace/apps/web/src/api/config-folders.ts",{"id":"file:/workspace/apps/web/src/api/config-folders.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/api/config-folders.ts","metadata":{"lineCount":78,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>",{"id":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/config-folders.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":123,"column":26,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["symbol-name:describe",{"id":"symbol-name:describe","kind":"symbol","language":"jsts","symbolName":"describe","metadata":{"unresolvedName":"describe"}}],["symbol-name:it",{"id":"symbol-name:it","kind":"symbol","language":"jsts","symbolName":"it","metadata":{"unresolvedName":"it"}}],["external:mockGet.mockResolvedValue",{"id":"external:mockGet.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockGet.mockResolvedValue"}}],["symbol-name:listConfigFolders",{"id":"symbol-name:listConfigFolders","kind":"symbol","language":"jsts","symbolName":"listConfigFolders","metadata":{"unresolvedName":"listConfigFolders"}}],["external:expect(result[0].name).toBe",{"id":"external:expect(result[0].name).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result[0].name).toBe"}}],["symbol-name:expect",{"id":"symbol-name:expect","kind":"symbol","language":"jsts","symbolName":"expect","metadata":{"unresolvedName":"expect"}}],["external:expect(result[0].files).toEqual",{"id":"external:expect(result[0].files).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result[0].files).toEqual"}}],["external:expect(mockGet).toHaveBeenCalledWith",{"id":"external:expect(mockGet).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockGet).toHaveBeenCalledWith"}}],["external:mockPost.mockResolvedValue",{"id":"external:mockPost.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockPost.mockResolvedValue"}}],["symbol-name:createConfigFolder",{"id":"symbol-name:createConfigFolder","kind":"symbol","language":"jsts","symbolName":"createConfigFolder","metadata":{"unresolvedName":"createConfigFolder"}}],["external:expect(result.name).toBe",{"id":"external:expect(result.name).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.name).toBe"}}],["external:expect(mockPost).toHaveBeenCalledWith",{"id":"external:expect(mockPost).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockPost).toHaveBeenCalledWith"}}],["external:expect.objectContaining",{"id":"external:expect.objectContaining","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect.objectContaining"}}],["external:mockPut.mockResolvedValue",{"id":"external:mockPut.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockPut.mockResolvedValue"}}],["symbol-name:updateConfigFolder",{"id":"symbol-name:updateConfigFolder","kind":"symbol","language":"jsts","symbolName":"updateConfigFolder","metadata":{"unresolvedName":"updateConfigFolder"}}],["external:expect(result.files).toEqual",{"id":"external:expect(result.files).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.files).toEqual"}}],["external:expect(mockPut).toHaveBeenCalledWith",{"id":"external:expect(mockPut).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockPut).toHaveBeenCalledWith"}}],["external:mockDelete.mockResolvedValue",{"id":"external:mockDelete.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockDelete.mockResolvedValue"}}],["symbol-name:deleteConfigFolder",{"id":"symbol-name:deleteConfigFolder","kind":"symbol","language":"jsts","symbolName":"deleteConfigFolder","metadata":{"unresolvedName":"deleteConfigFolder"}}],["external:expect(mockDelete).toHaveBeenCalledWith",{"id":"external:expect(mockDelete).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockDelete).toHaveBeenCalledWith"}}],["file:/workspace/apps/web/src/types/config-folder.ts",{"id":"file:/workspace/apps/web/src/types/config-folder.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/types/config-folder.ts","metadata":{"lineCount":37,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/api/config-folders.ts:listConfigFolders",{"id":"/workspace/apps/web/src/api/config-folders.ts:listConfigFolders","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/config-folders.ts","symbolName":"listConfigFolders","symbolKind":"function","exported":true,"metadata":{"line":16,"column":34,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:apiClient.get",{"id":"external:apiClient.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"apiClient.get"}}],["/workspace/apps/web/src/api/config-folders.ts:getConfigFolder",{"id":"/workspace/apps/web/src/api/config-folders.ts:getConfigFolder","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/config-folders.ts","symbolName":"getConfigFolder","symbolKind":"function","exported":true,"metadata":{"line":21,"column":32,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["/workspace/apps/web/src/api/config-folders.ts:createConfigFolder",{"id":"/workspace/apps/web/src/api/config-folders.ts:createConfigFolder","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/config-folders.ts","symbolName":"createConfigFolder","symbolKind":"function","exported":true,"metadata":{"line":26,"column":35,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:apiClient.post",{"id":"external:apiClient.post","kind":"external","language":"jsts","metadata":{"unresolvedName":"apiClient.post"}}],["/workspace/apps/web/src/api/config-folders.ts:updateConfigFolder",{"id":"/workspace/apps/web/src/api/config-folders.ts:updateConfigFolder","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/config-folders.ts","symbolName":"updateConfigFolder","symbolKind":"function","exported":true,"metadata":{"line":33,"column":35,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:apiClient.put",{"id":"external:apiClient.put","kind":"external","language":"jsts","metadata":{"unresolvedName":"apiClient.put"}}],["/workspace/apps/web/src/api/config-folders.ts:deleteConfigFolder",{"id":"/workspace/apps/web/src/api/config-folders.ts:deleteConfigFolder","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/config-folders.ts","symbolName":"deleteConfigFolder","symbolKind":"function","exported":true,"metadata":{"line":44,"column":35,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:apiClient.delete",{"id":"external:apiClient.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"apiClient.delete"}}],["/workspace/apps/web/src/api/config-folders.ts:addProjectOverride",{"id":"/workspace/apps/web/src/api/config-folders.ts:addProjectOverride","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/config-folders.ts","symbolName":"addProjectOverride","symbolKind":"function","exported":true,"metadata":{"line":48,"column":35,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["/workspace/apps/web/src/api/config-folders.ts:updateProjectOverride",{"id":"/workspace/apps/web/src/api/config-folders.ts:updateProjectOverride","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/config-folders.ts","symbolName":"updateProjectOverride","symbolKind":"function","exported":true,"metadata":{"line":60,"column":38,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["/workspace/apps/web/src/api/config-folders.ts:deleteProjectOverride",{"id":"/workspace/apps/web/src/api/config-folders.ts:deleteProjectOverride","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/config-folders.ts","symbolName":"deleteProjectOverride","symbolKind":"function","exported":true,"metadata":{"line":72,"column":38,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:/workspace/apps/web/src/api/config_profiles.ts",{"id":"file:/workspace/apps/web/src/api/config_profiles.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/api/config_profiles.ts","metadata":{"lineCount":190,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["/workspace/apps/web/src/api/config_profiles.ts:listConfigProfiles",{"id":"/workspace/apps/web/src/api/config_profiles.ts:listConfigProfiles","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/config_profiles.ts","symbolName":"listConfigProfiles","symbolKind":"function","exported":true,"metadata":{"line":101,"column":35,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["/workspace/apps/web/src/api/config_profiles.ts:getConfigProfile",{"id":"/workspace/apps/web/src/api/config_profiles.ts:getConfigProfile","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/config_profiles.ts","symbolName":"getConfigProfile","symbolKind":"function","exported":true,"metadata":{"line":111,"column":33,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["/workspace/apps/web/src/api/config_profiles.ts:createConfigProfile",{"id":"/workspace/apps/web/src/api/config_profiles.ts:createConfigProfile","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/config_profiles.ts","symbolName":"createConfigProfile","symbolKind":"function","exported":true,"metadata":{"line":116,"column":36,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["/workspace/apps/web/src/api/config_profiles.ts:updateConfigProfile",{"id":"/workspace/apps/web/src/api/config_profiles.ts:updateConfigProfile","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/config_profiles.ts","symbolName":"updateConfigProfile","symbolKind":"function","exported":true,"metadata":{"line":126,"column":36,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["/workspace/apps/web/src/api/config_profiles.ts:deleteConfigProfile",{"id":"/workspace/apps/web/src/api/config_profiles.ts:deleteConfigProfile","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/config_profiles.ts","symbolName":"deleteConfigProfile","symbolKind":"function","exported":true,"metadata":{"line":137,"column":36,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["/workspace/apps/web/src/api/config_profiles.ts:updateProfileIncludes",{"id":"/workspace/apps/web/src/api/config_profiles.ts:updateProfileIncludes","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/config_profiles.ts","symbolName":"updateProfileIncludes","symbolKind":"function","exported":true,"metadata":{"line":141,"column":38,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["/workspace/apps/web/src/api/config_profiles.ts:previewConfigProfile",{"id":"/workspace/apps/web/src/api/config_profiles.ts:previewConfigProfile","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/config_profiles.ts","symbolName":"previewConfigProfile","symbolKind":"function","exported":true,"metadata":{"line":152,"column":37,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["/workspace/apps/web/src/api/config_profiles.ts:resolveDefaultProfile",{"id":"/workspace/apps/web/src/api/config_profiles.ts:resolveDefaultProfile","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/config_profiles.ts","symbolName":"resolveDefaultProfile","symbolKind":"function","exported":true,"metadata":{"line":161,"column":38,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["/workspace/apps/web/src/api/config_profiles.ts:validateGitUrl",{"id":"/workspace/apps/web/src/api/config_profiles.ts:validateGitUrl","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/config_profiles.ts","symbolName":"validateGitUrl","symbolKind":"function","exported":true,"metadata":{"line":180,"column":31,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:/workspace/apps/web/src/api/dashboard.ts",{"id":"file:/workspace/apps/web/src/api/dashboard.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/api/dashboard.ts","metadata":{"lineCount":14,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/dashboard.ts:getDashboardSummary",{"id":"/workspace/apps/web/src/api/dashboard.ts:getDashboardSummary","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/dashboard.ts","symbolName":"getDashboardSummary","symbolKind":"function","exported":true,"metadata":{"line":10,"column":36,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/workspace/apps/web/src/api/events.ts",{"id":"file:/workspace/apps/web/src/api/events.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/api/events.ts","metadata":{"lineCount":23,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/events.ts:createEventSource",{"id":"/workspace/apps/web/src/api/events.ts:createEventSource","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/events.ts","symbolName":"createEventSource","symbolKind":"function","exported":true,"metadata":{"line":3,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/events.ts:probeEventStreamStatus",{"id":"/workspace/apps/web/src/api/events.ts:probeEventStreamStatus","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/events.ts","symbolName":"probeEventStreamStatus","symbolKind":"function","exported":true,"metadata":{"line":9,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:controller.abort",{"id":"external:controller.abort","kind":"external","language":"jsts","metadata":{"unresolvedName":"controller.abort"}}],["symbol-name:fetch",{"id":"symbol-name:fetch","kind":"symbol","language":"jsts","symbolName":"fetch","metadata":{"unresolvedName":"fetch"}}],["symbol-name:clearTimeout",{"id":"symbol-name:clearTimeout","kind":"symbol","language":"jsts","symbolName":"clearTimeout","metadata":{"unresolvedName":"clearTimeout"}}],["external:searchParams.set",{"id":"external:searchParams.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"searchParams.set"}}],["symbol-name:String",{"id":"symbol-name:String","kind":"symbol","language":"jsts","symbolName":"String","metadata":{"unresolvedName":"String"}}],["external:searchParams.toString",{"id":"external:searchParams.toString","kind":"external","language":"jsts","metadata":{"unresolvedName":"searchParams.toString"}}],["file:/workspace/apps/web/src/api/notifications.ts",{"id":"file:/workspace/apps/web/src/api/notifications.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/api/notifications.ts","metadata":{"lineCount":74,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/notifications.ts:getNotifications",{"id":"/workspace/apps/web/src/api/notifications.ts:getNotifications","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/notifications.ts","symbolName":"getNotifications","symbolKind":"function","exported":true,"metadata":{"line":37,"column":33,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/notifications.ts:getUnreadCount",{"id":"/workspace/apps/web/src/api/notifications.ts:getUnreadCount","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/notifications.ts","symbolName":"getUnreadCount","symbolKind":"function","exported":true,"metadata":{"line":43,"column":31,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/notifications.ts:markNotificationRead",{"id":"/workspace/apps/web/src/api/notifications.ts:markNotificationRead","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/notifications.ts","symbolName":"markNotificationRead","symbolKind":"function","exported":true,"metadata":{"line":50,"column":37,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:apiClient.patch",{"id":"external:apiClient.patch","kind":"external","language":"jsts","metadata":{"unresolvedName":"apiClient.patch"}}],["/workspace/apps/web/src/api/notifications.ts:markAllNotificationsRead",{"id":"/workspace/apps/web/src/api/notifications.ts:markAllNotificationsRead","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/notifications.ts","symbolName":"markAllNotificationsRead","symbolKind":"function","exported":true,"metadata":{"line":59,"column":41,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/notifications.ts:dismissNotification",{"id":"/workspace/apps/web/src/api/notifications.ts:dismissNotification","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/notifications.ts","symbolName":"dismissNotification","symbolKind":"function","exported":true,"metadata":{"line":66,"column":36,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/notifications.ts:clearAllNotifications",{"id":"/workspace/apps/web/src/api/notifications.ts:clearAllNotifications","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/notifications.ts","symbolName":"clearAllNotifications","symbolKind":"function","exported":true,"metadata":{"line":70,"column":38,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/workspace/apps/web/src/api/profile.ts",{"id":"file:/workspace/apps/web/src/api/profile.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/api/profile.ts","metadata":{"lineCount":31,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/workspace/apps/web/src/types",{"id":"file:/workspace/apps/web/src/types","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/types"}],["/workspace/apps/web/src/api/profile.ts:getProfile",{"id":"/workspace/apps/web/src/api/profile.ts:getProfile","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/profile.ts","symbolName":"getProfile","symbolKind":"function","exported":true,"metadata":{"line":11,"column":27,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/profile.ts:updateProfile",{"id":"/workspace/apps/web/src/api/profile.ts:updateProfile","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/profile.ts","symbolName":"updateProfile","symbolKind":"function","exported":true,"metadata":{"line":16,"column":30,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/profile.ts:uploadAvatar",{"id":"/workspace/apps/web/src/api/profile.ts:uploadAvatar","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/profile.ts","symbolName":"uploadAvatar","symbolKind":"function","exported":true,"metadata":{"line":21,"column":29,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["external:formData.append",{"id":"external:formData.append","kind":"external","language":"jsts","metadata":{"unresolvedName":"formData.append"}}],["file:/workspace/apps/web/src/api/projects.ts",{"id":"file:/workspace/apps/web/src/api/projects.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/api/projects.ts","metadata":{"lineCount":55,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/projects.ts:listProjects",{"id":"/workspace/apps/web/src/api/projects.ts:listProjects","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/projects.ts","symbolName":"listProjects","symbolKind":"function","exported":true,"metadata":{"line":18,"column":29,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/projects.ts:createProject",{"id":"/workspace/apps/web/src/api/projects.ts:createProject","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/projects.ts","symbolName":"createProject","symbolKind":"function","exported":true,"metadata":{"line":23,"column":30,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/projects.ts:updateProject",{"id":"/workspace/apps/web/src/api/projects.ts:updateProject","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/projects.ts","symbolName":"updateProject","symbolKind":"function","exported":true,"metadata":{"line":30,"column":30,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/projects.ts:deleteProject",{"id":"/workspace/apps/web/src/api/projects.ts:deleteProject","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/projects.ts","symbolName":"deleteProject","symbolKind":"function","exported":true,"metadata":{"line":41,"column":30,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/projects.ts:setDefaultSSHKey",{"id":"/workspace/apps/web/src/api/projects.ts:setDefaultSSHKey","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/projects.ts","symbolName":"setDefaultSSHKey","symbolKind":"function","exported":true,"metadata":{"line":45,"column":33,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/workspace/apps/web/src/types/tool-instance.ts",{"id":"file:/workspace/apps/web/src/types/tool-instance.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/types/tool-instance.ts","metadata":{"lineCount":13,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/api/settings.ts",{"id":"file:/workspace/apps/web/src/api/settings.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/api/settings.ts","metadata":{"lineCount":34,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/settings.ts:getUserConfig",{"id":"/workspace/apps/web/src/api/settings.ts:getUserConfig","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/settings.ts","symbolName":"getUserConfig","symbolKind":"function","exported":true,"metadata":{"line":23,"column":30,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["/workspace/apps/web/src/api/settings.ts:updateUserConfig",{"id":"/workspace/apps/web/src/api/settings.ts:updateUserConfig","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/settings.ts","symbolName":"updateUserConfig","symbolKind":"function","exported":true,"metadata":{"line":28,"column":33,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:/workspace/apps/web/src/api/ssh-keys.ts",{"id":"file:/workspace/apps/web/src/api/ssh-keys.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/api/ssh-keys.ts","metadata":{"lineCount":54,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/ssh-keys.ts:listSSHKeys",{"id":"/workspace/apps/web/src/api/ssh-keys.ts:listSSHKeys","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/ssh-keys.ts","symbolName":"listSSHKeys","symbolKind":"function","exported":true,"metadata":{"line":14,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/ssh-keys.ts:createSSHKey",{"id":"/workspace/apps/web/src/api/ssh-keys.ts:createSSHKey","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/ssh-keys.ts","symbolName":"createSSHKey","symbolKind":"function","exported":true,"metadata":{"line":19,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/ssh-keys.ts:deleteSSHKey",{"id":"/workspace/apps/web/src/api/ssh-keys.ts:deleteSSHKey","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/ssh-keys.ts","symbolName":"deleteSSHKey","symbolKind":"function","exported":true,"metadata":{"line":24,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/ssh-keys.ts:signPayload",{"id":"/workspace/apps/web/src/api/ssh-keys.ts:signPayload","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/ssh-keys.ts","symbolName":"signPayload","symbolKind":"function","exported":true,"metadata":{"line":45,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/ssh-keys.ts:verifySignature",{"id":"/workspace/apps/web/src/api/ssh-keys.ts:verifySignature","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/ssh-keys.ts","symbolName":"verifySignature","symbolKind":"function","exported":true,"metadata":{"line":50,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/workspace/apps/web/src/api/terminal.ts",{"id":"file:/workspace/apps/web/src/api/terminal.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/api/terminal.ts","metadata":{"lineCount":78,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/terminal.ts:listTerminalSessions",{"id":"/workspace/apps/web/src/api/terminal.ts:listTerminalSessions","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/terminal.ts","symbolName":"listTerminalSessions","symbolKind":"function","exported":true,"metadata":{"line":27,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["/workspace/apps/web/src/api/terminal.ts:createTerminalSession",{"id":"/workspace/apps/web/src/api/terminal.ts:createTerminalSession","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/terminal.ts","symbolName":"createTerminalSession","symbolKind":"function","exported":true,"metadata":{"line":36,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["/workspace/apps/web/src/api/terminal.ts:closeTerminalSession",{"id":"/workspace/apps/web/src/api/terminal.ts:closeTerminalSession","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/terminal.ts","symbolName":"closeTerminalSession","symbolKind":"function","exported":true,"metadata":{"line":47,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["/workspace/apps/web/src/api/terminal.ts:resetTerminalSession",{"id":"/workspace/apps/web/src/api/terminal.ts:resetTerminalSession","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/terminal.ts","symbolName":"resetTerminalSession","symbolKind":"function","exported":true,"metadata":{"line":57,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["/workspace/apps/web/src/api/terminal.ts:renameTerminalSession",{"id":"/workspace/apps/web/src/api/terminal.ts:renameTerminalSession","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/terminal.ts","symbolName":"renameTerminalSession","symbolKind":"function","exported":true,"metadata":{"line":67,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["file:/workspace/apps/web/src/api/tool-configs.ts",{"id":"file:/workspace/apps/web/src/api/tool-configs.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/api/tool-configs.ts","metadata":{"lineCount":53,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:/workspace/apps/web/src/types/tool-config.ts",{"id":"file:/workspace/apps/web/src/types/tool-config.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/types/tool-config.ts","metadata":{"lineCount":29,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/api/tool-configs.ts:listToolConfigs",{"id":"/workspace/apps/web/src/api/tool-configs.ts:listToolConfigs","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/tool-configs.ts","symbolName":"listToolConfigs","symbolKind":"function","exported":true,"metadata":{"line":6,"column":32,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["external:params.append",{"id":"external:params.append","kind":"external","language":"jsts","metadata":{"unresolvedName":"params.append"}}],["external:params.toString",{"id":"external:params.toString","kind":"external","language":"jsts","metadata":{"unresolvedName":"params.toString"}}],["/workspace/apps/web/src/api/tool-configs.ts:createToolConfig",{"id":"/workspace/apps/web/src/api/tool-configs.ts:createToolConfig","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/tool-configs.ts","symbolName":"createToolConfig","symbolKind":"function","exported":true,"metadata":{"line":20,"column":33,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["/workspace/apps/web/src/api/tool-configs.ts:updateToolConfig",{"id":"/workspace/apps/web/src/api/tool-configs.ts:updateToolConfig","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/tool-configs.ts","symbolName":"updateToolConfig","symbolKind":"function","exported":true,"metadata":{"line":30,"column":33,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["/workspace/apps/web/src/api/tool-configs.ts:deleteToolConfig",{"id":"/workspace/apps/web/src/api/tool-configs.ts:deleteToolConfig","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/tool-configs.ts","symbolName":"deleteToolConfig","symbolKind":"function","exported":true,"metadata":{"line":41,"column":33,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["/workspace/apps/web/src/api/tool-configs.ts:getToolConfigDefaults",{"id":"/workspace/apps/web/src/api/tool-configs.ts:getToolConfigDefaults","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/tool-configs.ts","symbolName":"getToolConfigDefaults","symbolKind":"function","exported":true,"metadata":{"line":45,"column":38,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:/workspace/apps/web/src/api/tool-types.test.ts",{"id":"file:/workspace/apps/web/src/api/tool-types.test.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/api/tool-types.test.ts","metadata":{"lineCount":228,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/workspace/apps/web/src/api/tool-types.ts",{"id":"file:/workspace/apps/web/src/api/tool-types.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/api/tool-types.ts","metadata":{"lineCount":52,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>",{"id":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/tool-types.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":219,"column":29,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:listToolTypes",{"id":"symbol-name:listToolTypes","kind":"symbol","language":"jsts","symbolName":"listToolTypes","metadata":{"unresolvedName":"listToolTypes"}}],["external:expect(result[0].definition_type).toBe",{"id":"external:expect(result[0].definition_type).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result[0].definition_type).toBe"}}],["external:expect(result[0].dockerfile_template).toBe",{"id":"external:expect(result[0].dockerfile_template).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result[0].dockerfile_template).toBe"}}],["external:expect(result[0].readiness_probe).toEqual",{"id":"external:expect(result[0].readiness_probe).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result[0].readiness_probe).toEqual"}}],["external:expect(result[0].dockerfile_template).toBeNull",{"id":"external:expect(result[0].dockerfile_template).toBeNull","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result[0].dockerfile_template).toBeNull"}}],["symbol-name:createToolType",{"id":"symbol-name:createToolType","kind":"symbol","language":"jsts","symbolName":"createToolType","metadata":{"unresolvedName":"createToolType"}}],["external:expect(result.definition_type).toBe",{"id":"external:expect(result.definition_type).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.definition_type).toBe"}}],["external:expect(result.readiness_probe).toEqual",{"id":"external:expect(result.readiness_probe).toEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.readiness_probe).toEqual"}}],["symbol-name:validateToolType",{"id":"symbol-name:validateToolType","kind":"symbol","language":"jsts","symbolName":"validateToolType","metadata":{"unresolvedName":"validateToolType"}}],["external:expect(result.valid).toBe",{"id":"external:expect(result.valid).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.valid).toBe"}}],["external:expect(result.errors).toContain",{"id":"external:expect(result.errors).toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.errors).toContain"}}],["symbol-name:updateToolType",{"id":"symbol-name:updateToolType","kind":"symbol","language":"jsts","symbolName":"updateToolType","metadata":{"unresolvedName":"updateToolType"}}],["symbol-name:deleteToolType",{"id":"symbol-name:deleteToolType","kind":"symbol","language":"jsts","symbolName":"deleteToolType","metadata":{"unresolvedName":"deleteToolType"}}],["file:/workspace/apps/web/src/types/tool-type.ts",{"id":"file:/workspace/apps/web/src/types/tool-type.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/types/tool-type.ts","metadata":{"lineCount":55,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/api/tool-types.ts:listToolTypes",{"id":"/workspace/apps/web/src/api/tool-types.ts:listToolTypes","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/tool-types.ts","symbolName":"listToolTypes","symbolKind":"function","exported":true,"metadata":{"line":15,"column":30,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/tool-types.ts:getToolType",{"id":"/workspace/apps/web/src/api/tool-types.ts:getToolType","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/tool-types.ts","symbolName":"getToolType","symbolKind":"function","exported":true,"metadata":{"line":20,"column":28,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/tool-types.ts:createToolType",{"id":"/workspace/apps/web/src/api/tool-types.ts:createToolType","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/tool-types.ts","symbolName":"createToolType","symbolKind":"function","exported":true,"metadata":{"line":25,"column":31,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/tool-types.ts:updateToolType",{"id":"/workspace/apps/web/src/api/tool-types.ts:updateToolType","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/tool-types.ts","symbolName":"updateToolType","symbolKind":"function","exported":true,"metadata":{"line":32,"column":31,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/tool-types.ts:deleteToolType",{"id":"/workspace/apps/web/src/api/tool-types.ts:deleteToolType","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/tool-types.ts","symbolName":"deleteToolType","symbolKind":"function","exported":true,"metadata":{"line":40,"column":31,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/tool-types.ts:validateToolType",{"id":"/workspace/apps/web/src/api/tool-types.ts:validateToolType","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/tool-types.ts","symbolName":"validateToolType","symbolKind":"function","exported":true,"metadata":{"line":44,"column":33,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/workspace/apps/web/src/api/tool_definitions.ts",{"id":"file:/workspace/apps/web/src/api/tool_definitions.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/api/tool_definitions.ts","metadata":{"lineCount":109,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/tool_definitions.ts:listToolDefinitions",{"id":"/workspace/apps/web/src/api/tool_definitions.ts:listToolDefinitions","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/tool_definitions.ts","symbolName":"listToolDefinitions","symbolKind":"function","exported":true,"metadata":{"line":51,"column":36,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/tool_definitions.ts:getToolDefinition",{"id":"/workspace/apps/web/src/api/tool_definitions.ts:getToolDefinition","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/tool_definitions.ts","symbolName":"getToolDefinition","symbolKind":"function","exported":true,"metadata":{"line":62,"column":34,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/tool_definitions.ts:createToolDefinition",{"id":"/workspace/apps/web/src/api/tool_definitions.ts:createToolDefinition","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/tool_definitions.ts","symbolName":"createToolDefinition","symbolKind":"function","exported":true,"metadata":{"line":71,"column":37,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/tool_definitions.ts:updateToolDefinition",{"id":"/workspace/apps/web/src/api/tool_definitions.ts:updateToolDefinition","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/tool_definitions.ts","symbolName":"updateToolDefinition","symbolKind":"function","exported":true,"metadata":{"line":81,"column":37,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/tool_definitions.ts:deleteToolDefinition",{"id":"/workspace/apps/web/src/api/tool_definitions.ts:deleteToolDefinition","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/tool_definitions.ts","symbolName":"deleteToolDefinition","symbolKind":"function","exported":true,"metadata":{"line":92,"column":37,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/tool_definitions.ts:compileToolDefinition",{"id":"/workspace/apps/web/src/api/tool_definitions.ts:compileToolDefinition","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/tool_definitions.ts","symbolName":"compileToolDefinition","symbolKind":"function","exported":true,"metadata":{"line":101,"column":38,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/workspace/apps/web/src/api/workspace-files.ts",{"id":"file:/workspace/apps/web/src/api/workspace-files.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/api/workspace-files.ts","metadata":{"lineCount":46,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/workspace-files.ts:listWorkspaceFiles",{"id":"/workspace/apps/web/src/api/workspace-files.ts:listWorkspaceFiles","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/workspace-files.ts","symbolName":"listWorkspaceFiles","symbolKind":"function","exported":true,"metadata":{"line":12,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/workspace-files.ts:getWorkspaceFileContent",{"id":"/workspace/apps/web/src/api/workspace-files.ts:getWorkspaceFileContent","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/workspace-files.ts","symbolName":"getWorkspaceFileContent","symbolKind":"function","exported":true,"metadata":{"line":23,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/workspace-files.ts:saveWorkspaceFile",{"id":"/workspace/apps/web/src/api/workspace-files.ts:saveWorkspaceFile","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/workspace-files.ts","symbolName":"saveWorkspaceFile","symbolKind":"function","exported":true,"metadata":{"line":34,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/workspace/apps/web/src/api/workspace-git.ts",{"id":"file:/workspace/apps/web/src/api/workspace-git.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/api/workspace-git.ts","metadata":{"lineCount":76,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/workspace-git.ts:getGitStatus",{"id":"/workspace/apps/web/src/api/workspace-git.ts:getGitStatus","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/workspace-git.ts","symbolName":"getGitStatus","symbolKind":"function","exported":true,"metadata":{"line":22,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/workspace-git.ts:getGitBranches",{"id":"/workspace/apps/web/src/api/workspace-git.ts:getGitBranches","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/workspace-git.ts","symbolName":"getGitBranches","symbolKind":"function","exported":true,"metadata":{"line":29,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/workspace-git.ts:gitCommit",{"id":"/workspace/apps/web/src/api/workspace-git.ts:gitCommit","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/workspace-git.ts","symbolName":"gitCommit","symbolKind":"function","exported":true,"metadata":{"line":39,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/workspace-git.ts:gitPush",{"id":"/workspace/apps/web/src/api/workspace-git.ts:gitPush","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/workspace-git.ts","symbolName":"gitPush","symbolKind":"function","exported":true,"metadata":{"line":46,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/workspace-git.ts:gitPull",{"id":"/workspace/apps/web/src/api/workspace-git.ts:gitPull","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/workspace-git.ts","symbolName":"gitPull","symbolKind":"function","exported":true,"metadata":{"line":50,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/workspace-git.ts:gitFetch",{"id":"/workspace/apps/web/src/api/workspace-git.ts:gitFetch","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/workspace-git.ts","symbolName":"gitFetch","symbolKind":"function","exported":true,"metadata":{"line":54,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/workspace-git.ts:gitCheckout",{"id":"/workspace/apps/web/src/api/workspace-git.ts:gitCheckout","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/workspace-git.ts","symbolName":"gitCheckout","symbolKind":"function","exported":true,"metadata":{"line":58,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/workspace-git.ts:getGitHistory",{"id":"/workspace/apps/web/src/api/workspace-git.ts:getGitHistory","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/workspace-git.ts","symbolName":"getGitHistory","symbolKind":"function","exported":true,"metadata":{"line":65,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/workspace/apps/web/src/api/workspace-instances.ts",{"id":"file:/workspace/apps/web/src/api/workspace-instances.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/api/workspace-instances.ts","metadata":{"lineCount":31,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/workspace-instances.ts:listWorkspaceInstances",{"id":"/workspace/apps/web/src/api/workspace-instances.ts:listWorkspaceInstances","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/workspace-instances.ts","symbolName":"listWorkspaceInstances","symbolKind":"function","exported":true,"metadata":{"line":6,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/workspace-instances.ts:createWorkspaceInstance",{"id":"/workspace/apps/web/src/api/workspace-instances.ts:createWorkspaceInstance","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/workspace-instances.ts","symbolName":"createWorkspaceInstance","symbolKind":"function","exported":true,"metadata":{"line":15,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/workspace/apps/web/src/api/workspaces.ts",{"id":"file:/workspace/apps/web/src/api/workspaces.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/api/workspaces.ts","metadata":{"lineCount":93,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/workspace/apps/web/src/types/workspace.ts",{"id":"file:/workspace/apps/web/src/types/workspace.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/types/workspace.ts","metadata":{"lineCount":31,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/api/workspaces.ts:workspaceUrl",{"id":"/workspace/apps/web/src/api/workspaces.ts:workspaceUrl","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/workspaces.ts","symbolName":"workspaceUrl","symbolKind":"function","exported":false,"metadata":{"line":10,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/workspaces.ts:listWorkspaces",{"id":"/workspace/apps/web/src/api/workspaces.ts:listWorkspaces","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/workspaces.ts","symbolName":"listWorkspaces","symbolKind":"function","exported":true,"metadata":{"line":15,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:workspaceUrl",{"id":"symbol-name:workspaceUrl","kind":"symbol","language":"jsts","symbolName":"workspaceUrl","metadata":{"unresolvedName":"workspaceUrl"}}],["/workspace/apps/web/src/api/workspaces.ts:listAllWorkspaces",{"id":"/workspace/apps/web/src/api/workspaces.ts:listAllWorkspaces","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/workspaces.ts","symbolName":"listAllWorkspaces","symbolKind":"function","exported":true,"metadata":{"line":25,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/workspaces.ts:createWorkspace",{"id":"/workspace/apps/web/src/api/workspaces.ts:createWorkspace","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/workspaces.ts","symbolName":"createWorkspace","symbolKind":"function","exported":true,"metadata":{"line":30,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/workspaces.ts:createWorkspaceTopLevel",{"id":"/workspace/apps/web/src/api/workspaces.ts:createWorkspaceTopLevel","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/workspaces.ts","symbolName":"createWorkspaceTopLevel","symbolKind":"function","exported":true,"metadata":{"line":42,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/workspaces.ts:getWorkspace",{"id":"/workspace/apps/web/src/api/workspaces.ts:getWorkspace","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/workspaces.ts","symbolName":"getWorkspace","symbolKind":"function","exported":true,"metadata":{"line":49,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/workspaces.ts:updateWorkspace",{"id":"/workspace/apps/web/src/api/workspaces.ts:updateWorkspace","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/workspaces.ts","symbolName":"updateWorkspace","symbolKind":"function","exported":true,"metadata":{"line":60,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/workspaces.ts:deleteWorkspace",{"id":"/workspace/apps/web/src/api/workspaces.ts:deleteWorkspace","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/workspaces.ts","symbolName":"deleteWorkspace","symbolKind":"function","exported":true,"metadata":{"line":73,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/api/workspaces.ts:syncWorkspace",{"id":"/workspace/apps/web/src/api/workspaces.ts:syncWorkspace","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/workspaces.ts","symbolName":"syncWorkspace","symbolKind":"function","exported":true,"metadata":{"line":83,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["file:/workspace/apps/web/src/components/ProtectedRoute.test.tsx",{"id":"file:/workspace/apps/web/src/components/ProtectedRoute.test.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/ProtectedRoute.test.tsx","metadata":{"lineCount":50,"featureKind":"library","trustBoundaries":[]}}],["external:@testing-library/react",{"id":"external:@testing-library/react","kind":"external","language":"jsts","metadata":{"source":"@testing-library/react"}}],["external:react-router-dom",{"id":"external:react-router-dom","kind":"external","language":"jsts","metadata":{"source":"react-router-dom"}}],["file:/workspace/apps/web/src/components/ProtectedRoute.tsx",{"id":"file:/workspace/apps/web/src/components/ProtectedRoute.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/ProtectedRoute.tsx","metadata":{"lineCount":20,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/ProtectedRoute.test.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/ProtectedRoute.test.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/ProtectedRoute.test.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":28,"column":50,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:mockUseAuth.mockReturnValue",{"id":"external:mockUseAuth.mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockUseAuth.mockReturnValue"}}],["symbol-name:render",{"id":"symbol-name:render","kind":"symbol","language":"jsts","symbolName":"render","metadata":{"unresolvedName":"render"}}],["external:expect(screen.getByText(\"Checking session...\")).toBeInTheDocument",{"id":"external:expect(screen.getByText(\"Checking session...\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(\"Checking session...\")).toBeInTheDocument"}}],["external:screen.getByText",{"id":"external:screen.getByText","kind":"external","language":"jsts","metadata":{"unresolvedName":"screen.getByText"}}],["external:expect(screen.getByText(\"login page\")).toBeInTheDocument",{"id":"external:expect(screen.getByText(\"login page\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(\"login page\")).toBeInTheDocument"}}],["file:/workspace/apps/web/src/state/auth.tsx",{"id":"file:/workspace/apps/web/src/state/auth.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/state/auth.tsx","metadata":{"lineCount":64,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/workspace/apps/web/src/components/ProtectedRoute.tsx:ProtectedRoute",{"id":"/workspace/apps/web/src/components/ProtectedRoute.tsx:ProtectedRoute","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/ProtectedRoute.tsx","symbolName":"ProtectedRoute","symbolKind":"function","exported":true,"metadata":{"line":5,"column":31,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:useAuth",{"id":"symbol-name:useAuth","kind":"symbol","language":"jsts","symbolName":"useAuth","metadata":{"unresolvedName":"useAuth"}}],["symbol-name:useLocation",{"id":"symbol-name:useLocation","kind":"symbol","language":"jsts","symbolName":"useLocation","metadata":{"unresolvedName":"useLocation"}}],["symbol-name:encodeURIComponent",{"id":"symbol-name:encodeURIComponent","kind":"symbol","language":"jsts","symbolName":"encodeURIComponent","metadata":{"unresolvedName":"encodeURIComponent"}}],["file:/workspace/apps/web/src/components/create-session-form.tsx",{"id":"file:/workspace/apps/web/src/components/create-session-form.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/create-session-form.tsx","metadata":{"lineCount":576,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["external:react",{"id":"external:react","kind":"external","language":"jsts","metadata":{"source":"react"}}],["external:@/components/ui/Icon",{"id":"external:@/components/ui/Icon","kind":"external","language":"jsts","metadata":{"source":"@/components/ui/Icon"}}],["external:@/api/git-repositories",{"id":"external:@/api/git-repositories","kind":"external","language":"jsts","metadata":{"source":"@/api/git-repositories"}}],["external:@/api/tool-types",{"id":"external:@/api/tool-types","kind":"external","language":"jsts","metadata":{"source":"@/api/tool-types"}}],["external:@/api/ssh-keys",{"id":"external:@/api/ssh-keys","kind":"external","language":"jsts","metadata":{"source":"@/api/ssh-keys"}}],["/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm",{"id":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/create-session-form.tsx","symbolName":"CreateSessionForm","symbolKind":"function","exported":true,"metadata":{"line":27,"column":34,"cyclomaticComplexity":81,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["symbol-name:useState",{"id":"symbol-name:useState","kind":"symbol","language":"jsts","symbolName":"useState","metadata":{"unresolvedName":"useState"}}],["symbol-name:useEffect",{"id":"symbol-name:useEffect","kind":"symbol","language":"jsts","symbolName":"useEffect","metadata":{"unresolvedName":"useEffect"}}],["symbol-name:listSSHKeys",{"id":"symbol-name:listSSHKeys","kind":"symbol","language":"jsts","symbolName":"listSSHKeys","metadata":{"unresolvedName":"listSSHKeys"}}],["symbol-name:setSshKeys",{"id":"symbol-name:setSshKeys","kind":"symbol","language":"jsts","symbolName":"setSshKeys","metadata":{"unresolvedName":"setSshKeys"}}],["symbol-name:loadKeys",{"id":"symbol-name:loadKeys","kind":"symbol","language":"jsts","symbolName":"loadKeys","metadata":{"unresolvedName":"loadKeys"}}],["symbol-name:setConfigProfiles",{"id":"symbol-name:setConfigProfiles","kind":"symbol","language":"jsts","symbolName":"setConfigProfiles","metadata":{"unresolvedName":"setConfigProfiles"}}],["symbol-name:setSelectedConfigProfile",{"id":"symbol-name:setSelectedConfigProfile","kind":"symbol","language":"jsts","symbolName":"setSelectedConfigProfile","metadata":{"unresolvedName":"setSelectedConfigProfile"}}],["symbol-name:listConfigProfiles",{"id":"symbol-name:listConfigProfiles","kind":"symbol","language":"jsts","symbolName":"listConfigProfiles","metadata":{"unresolvedName":"listConfigProfiles"}}],["external:profiles.find",{"id":"external:profiles.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"profiles.find"}}],["symbol-name:loadProfiles",{"id":"symbol-name:loadProfiles","kind":"symbol","language":"jsts","symbolName":"loadProfiles","metadata":{"unresolvedName":"loadProfiles"}}],["symbol-name:setBranches",{"id":"symbol-name:setBranches","kind":"symbol","language":"jsts","symbolName":"setBranches","metadata":{"unresolvedName":"setBranches"}}],["symbol-name:setIsLoadingBranches",{"id":"symbol-name:setIsLoadingBranches","kind":"symbol","language":"jsts","symbolName":"setIsLoadingBranches","metadata":{"unresolvedName":"setIsLoadingBranches"}}],["symbol-name:listRepositoryBranches",{"id":"symbol-name:listRepositoryBranches","kind":"symbol","language":"jsts","symbolName":"listRepositoryBranches","metadata":{"unresolvedName":"listRepositoryBranches"}}],["symbol-name:setBranch",{"id":"symbol-name:setBranch","kind":"symbol","language":"jsts","symbolName":"setBranch","metadata":{"unresolvedName":"setBranch"}}],["symbol-name:setBaseBranch",{"id":"symbol-name:setBaseBranch","kind":"symbol","language":"jsts","symbolName":"setBaseBranch","metadata":{"unresolvedName":"setBaseBranch"}}],["symbol-name:loadBranches",{"id":"symbol-name:loadBranches","kind":"symbol","language":"jsts","symbolName":"loadBranches","metadata":{"unresolvedName":"loadBranches"}}],["external:repositories.filter",{"id":"external:repositories.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"repositories.filter"}}],["external:event.preventDefault",{"id":"external:event.preventDefault","kind":"external","language":"jsts","metadata":{"unresolvedName":"event.preventDefault"}}],["symbol-name:setError",{"id":"symbol-name:setError","kind":"symbol","language":"jsts","symbolName":"setError","metadata":{"unresolvedName":"setError"}}],["external:repositories.find",{"id":"external:repositories.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"repositories.find"}}],["symbol-name:setStatus",{"id":"symbol-name:setStatus","kind":"symbol","language":"jsts","symbolName":"setStatus","metadata":{"unresolvedName":"setStatus"}}],["symbol-name:setProgress",{"id":"symbol-name:setProgress","kind":"symbol","language":"jsts","symbolName":"setProgress","metadata":{"unresolvedName":"setProgress"}}],["symbol-name:createInstance",{"id":"symbol-name:createInstance","kind":"symbol","language":"jsts","symbolName":"createInstance","metadata":{"unresolvedName":"createInstance"}}],["symbol-name:startInstance",{"id":"symbol-name:startInstance","kind":"symbol","language":"jsts","symbolName":"startInstance","metadata":{"unresolvedName":"startInstance"}}],["symbol-name:setSelectedProject",{"id":"symbol-name:setSelectedProject","kind":"symbol","language":"jsts","symbolName":"setSelectedProject","metadata":{"unresolvedName":"setSelectedProject"}}],["symbol-name:setSelectedRepo",{"id":"symbol-name:setSelectedRepo","kind":"symbol","language":"jsts","symbolName":"setSelectedRepo","metadata":{"unresolvedName":"setSelectedRepo"}}],["symbol-name:setSelectedToolType",{"id":"symbol-name:setSelectedToolType","kind":"symbol","language":"jsts","symbolName":"setSelectedToolType","metadata":{"unresolvedName":"setSelectedToolType"}}],["symbol-name:setDisplayName",{"id":"symbol-name:setDisplayName","kind":"symbol","language":"jsts","symbolName":"setDisplayName","metadata":{"unresolvedName":"setDisplayName"}}],["symbol-name:setCloneMode",{"id":"symbol-name:setCloneMode","kind":"symbol","language":"jsts","symbolName":"setCloneMode","metadata":{"unresolvedName":"setCloneMode"}}],["symbol-name:setIsCreatingNewBranch",{"id":"symbol-name:setIsCreatingNewBranch","kind":"symbol","language":"jsts","symbolName":"setIsCreatingNewBranch","metadata":{"unresolvedName":"setIsCreatingNewBranch"}}],["symbol-name:setNewBranchName",{"id":"symbol-name:setNewBranchName","kind":"symbol","language":"jsts","symbolName":"setNewBranchName","metadata":{"unresolvedName":"setNewBranchName"}}],["symbol-name:setSelectedSshKeyIds",{"id":"symbol-name:setSelectedSshKeyIds","kind":"symbol","language":"jsts","symbolName":"setSelectedSshKeyIds","metadata":{"unresolvedName":"setSelectedSshKeyIds"}}],["symbol-name:onSuccess",{"id":"symbol-name:onSuccess","kind":"symbol","language":"jsts","symbolName":"onSuccess","metadata":{"unresolvedName":"onSuccess"}}],["symbol-name:renderStep",{"id":"symbol-name:renderStep","kind":"symbol","language":"jsts","symbolName":"renderStep","metadata":{"unresolvedName":"renderStep"}}],["external:projects.find",{"id":"external:projects.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"projects.find"}}],["symbol-name:onProjectChange",{"id":"symbol-name:onProjectChange","kind":"symbol","language":"jsts","symbolName":"onProjectChange","metadata":{"unresolvedName":"onProjectChange"}}],["external:projects.map",{"id":"external:projects.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"projects.map"}}],["external:availableRepos.map",{"id":"external:availableRepos.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"availableRepos.map"}}],["external:toolTypes.map",{"id":"external:toolTypes.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"toolTypes.map"}}],["external:configProfiles.map",{"id":"external:configProfiles.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"configProfiles.map"}}],["external:sshKeys.map",{"id":"external:sshKeys.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"sshKeys.map"}}],["external:selectedSshKeyIds.includes",{"id":"external:selectedSshKeyIds.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"selectedSshKeyIds.includes"}}],["external:prev.filter",{"id":"external:prev.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"prev.filter"}}],["external:branches.map",{"id":"external:branches.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"branches.map"}}],["external:sshKeys.find",{"id":"external:sshKeys.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"sshKeys.find"}}],["/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/create-session-form.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":501,"column":23,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/workspace/apps/web/src/components/create-session-form.tsx:loadKeys",{"id":"/workspace/apps/web/src/components/create-session-form.tsx:loadKeys","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/create-session-form.tsx","symbolName":"loadKeys","symbolKind":"function","exported":false,"metadata":{"line":66,"column":22,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/workspace/apps/web/src/components/create-session-form.tsx:loadProfiles",{"id":"/workspace/apps/web/src/components/create-session-form.tsx:loadProfiles","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/create-session-form.tsx","symbolName":"loadProfiles","symbolKind":"function","exported":false,"metadata":{"line":85,"column":26,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/workspace/apps/web/src/components/create-session-form.tsx:loadBranches",{"id":"/workspace/apps/web/src/components/create-session-form.tsx:loadBranches","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/create-session-form.tsx","symbolName":"loadBranches","symbolKind":"function","exported":false,"metadata":{"line":108,"column":26,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database","auth","user-input"]}}],["/workspace/apps/web/src/components/create-session-form.tsx:handleSubmit",{"id":"/workspace/apps/web/src/components/create-session-form.tsx:handleSubmit","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/create-session-form.tsx","symbolName":"handleSubmit","symbolKind":"function","exported":false,"metadata":{"line":131,"column":24,"cyclomaticComplexity":24,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/workspace/apps/web/src/components/create-session-form.tsx:renderStep",{"id":"/workspace/apps/web/src/components/create-session-form.tsx:renderStep","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/create-session-form.tsx","symbolName":"renderStep","symbolKind":"function","exported":false,"metadata":{"line":211,"column":22,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["file:/workspace/apps/web/src/components/data-states.tsx",{"id":"file:/workspace/apps/web/src/components/data-states.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/data-states.tsx","metadata":{"lineCount":35,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx",{"id":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx","metadata":{"lineCount":221,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/event-toast-bridge.tsx",{"id":"file:/workspace/apps/web/src/components/event-toast-bridge.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/event-toast-bridge.tsx","metadata":{"lineCount":78,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/state/events.tsx",{"id":"file:/workspace/apps/web/src/state/events.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/state/events.tsx","metadata":{"lineCount":31,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/toast-rules.ts",{"id":"file:/workspace/apps/web/src/components/toast-rules.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/toast-rules.ts","metadata":{"lineCount":84,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/types/events.ts",{"id":"file:/workspace/apps/web/src/types/events.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/types/events.ts","metadata":{"lineCount":18,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":209,"column":75,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:importOriginal",{"id":"symbol-name:importOriginal","kind":"symbol","language":"jsts","symbolName":"importOriginal","metadata":{"unresolvedName":"importOriginal"}}],["external:vi.fn",{"id":"external:vi.fn","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.fn"}}],["/workspace/apps/web/src/components/event-toast-bridge.test.tsx:makeEvent",{"id":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:makeEvent","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx","symbolName":"makeEvent","symbolKind":"function","exported":false,"metadata":{"line":30,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/event-toast-bridge.test.tsx:flushPromises",{"id":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:flushPromises","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx","symbolName":"flushPromises","symbolKind":"function","exported":false,"metadata":{"line":46,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:act",{"id":"symbol-name:act","kind":"symbol","language":"jsts","symbolName":"act","metadata":{"unresolvedName":"act"}}],["external:Promise.resolve",{"id":"external:Promise.resolve","kind":"external","language":"jsts","metadata":{"unresolvedName":"Promise.resolve"}}],["symbol-name:beforeEach",{"id":"symbol-name:beforeEach","kind":"symbol","language":"jsts","symbolName":"beforeEach","metadata":{"unresolvedName":"beforeEach"}}],["external:vi.clearAllMocks",{"id":"external:vi.clearAllMocks","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.clearAllMocks"}}],["external:mockedUseEventContext.mockReturnValue",{"id":"external:mockedUseEventContext.mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockedUseEventContext.mockReturnValue"}}],["external:mockedGetUserConfig.mockResolvedValue",{"id":"external:mockedGetUserConfig.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockedGetUserConfig.mockResolvedValue"}}],["symbol-name:afterEach",{"id":"symbol-name:afterEach","kind":"symbol","language":"jsts","symbolName":"afterEach","metadata":{"unresolvedName":"afterEach"}}],["external:vi.restoreAllMocks",{"id":"external:vi.restoreAllMocks","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.restoreAllMocks"}}],["symbol-name:makeEvent",{"id":"symbol-name:makeEvent","kind":"symbol","language":"jsts","symbolName":"makeEvent","metadata":{"unresolvedName":"makeEvent"}}],["symbol-name:flushPromises",{"id":"symbol-name:flushPromises","kind":"symbol","language":"jsts","symbolName":"flushPromises","metadata":{"unresolvedName":"flushPromises"}}],["external:expect(mockedHandleEventToast).toHaveBeenCalledWith",{"id":"external:expect(mockedHandleEventToast).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockedHandleEventToast).toHaveBeenCalledWith"}}],["external:expect(mockedHandleEventToast).not.toHaveBeenCalled",{"id":"external:expect(mockedHandleEventToast).not.toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockedHandleEventToast).not.toHaveBeenCalled"}}],["external:expect(mockedHandleEventToast).toHaveBeenCalledTimes",{"id":"external:expect(mockedHandleEventToast).toHaveBeenCalledTimes","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockedHandleEventToast).toHaveBeenCalledTimes"}}],["external:window.dispatchEvent",{"id":"external:window.dispatchEvent","kind":"external","language":"jsts","metadata":{"unresolvedName":"window.dispatchEvent"}}],["symbol-name:rerender",{"id":"symbol-name:rerender","kind":"symbol","language":"jsts","symbolName":"rerender","metadata":{"unresolvedName":"rerender"}}],["/workspace/apps/web/src/components/event-toast-bridge.tsx:EventToastBridge",{"id":"/workspace/apps/web/src/components/event-toast-bridge.tsx:EventToastBridge","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/event-toast-bridge.tsx","symbolName":"EventToastBridge","symbolKind":"function","exported":true,"metadata":{"line":16,"column":1,"cyclomaticComplexity":15,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:useEventContext",{"id":"symbol-name:useEventContext","kind":"symbol","language":"jsts","symbolName":"useEventContext","metadata":{"unresolvedName":"useEventContext"}}],["symbol-name:useRef",{"id":"symbol-name:useRef","kind":"symbol","language":"jsts","symbolName":"useRef","metadata":{"unresolvedName":"useRef"}}],["external:getUserConfig()\n\t\t\t.then",{"id":"external:getUserConfig()\n\t\t\t.then","kind":"external","language":"jsts","metadata":{"unresolvedName":"getUserConfig()\n\t\t\t.then"}}],["symbol-name:getUserConfig",{"id":"symbol-name:getUserConfig","kind":"symbol","language":"jsts","symbolName":"getUserConfig","metadata":{"unresolvedName":"getUserConfig"}}],["symbol-name:setConfig",{"id":"symbol-name:setConfig","kind":"symbol","language":"jsts","symbolName":"setConfig","metadata":{"unresolvedName":"setConfig"}}],["external:window.addEventListener",{"id":"external:window.addEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"window.addEventListener"}}],["external:window.removeEventListener",{"id":"external:window.removeEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"window.removeEventListener"}}],["external:processedRef.current.has",{"id":"external:processedRef.current.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"processedRef.current.has"}}],["external:processedRef.current.add",{"id":"external:processedRef.current.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"processedRef.current.add"}}],["symbol-name:mapEventToCategory",{"id":"symbol-name:mapEventToCategory","kind":"symbol","language":"jsts","symbolName":"mapEventToCategory","metadata":{"unresolvedName":"mapEventToCategory"}}],["symbol-name:mapEventToSeverity",{"id":"symbol-name:mapEventToSeverity","kind":"symbol","language":"jsts","symbolName":"mapEventToSeverity","metadata":{"unresolvedName":"mapEventToSeverity"}}],["external:config.notification_mute_categories.includes",{"id":"external:config.notification_mute_categories.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"config.notification_mute_categories.includes"}}],["symbol-name:handleEventToast",{"id":"symbol-name:handleEventToast","kind":"symbol","language":"jsts","symbolName":"handleEventToast","metadata":{"unresolvedName":"handleEventToast"}}],["/workspace/apps/web/src/components/event-toast-bridge.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/event-toast-bridge.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/event-toast-bridge.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":56,"column":12,"cyclomaticComplexity":8,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/event-toast-bridge.tsx:handler",{"id":"/workspace/apps/web/src/components/event-toast-bridge.tsx:handler","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/event-toast-bridge.tsx","symbolName":"handler","symbolKind":"function","exported":false,"metadata":{"line":36,"column":19,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/features/dashboard/ActiveSessionsList.tsx",{"id":"file:/workspace/apps/web/src/components/features/dashboard/ActiveSessionsList.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/dashboard/ActiveSessionsList.tsx","metadata":{"lineCount":87,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["file:/workspace/apps/web/src/components/ui/Icon.tsx",{"id":"file:/workspace/apps/web/src/components/ui/Icon.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/ui/Icon.tsx","metadata":{"lineCount":174,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/features/dashboard/ActiveSessionsList.tsx:ActiveSessionsList",{"id":"/workspace/apps/web/src/components/features/dashboard/ActiveSessionsList.tsx:ActiveSessionsList","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/dashboard/ActiveSessionsList.tsx","symbolName":"ActiveSessionsList","symbolKind":"function","exported":true,"metadata":{"line":13,"column":35,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["external:sessions.map",{"id":"external:sessions.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessions.map"}}],["symbol-name:onOpen",{"id":"symbol-name:onOpen","kind":"symbol","language":"jsts","symbolName":"onOpen","metadata":{"unresolvedName":"onOpen"}}],["symbol-name:onRecreateTunnel",{"id":"symbol-name:onRecreateTunnel","kind":"symbol","language":"jsts","symbolName":"onRecreateTunnel","metadata":{"unresolvedName":"onRecreateTunnel"}}],["symbol-name:onStop",{"id":"symbol-name:onStop","kind":"symbol","language":"jsts","symbolName":"onStop","metadata":{"unresolvedName":"onStop"}}],["symbol-name:onDelete",{"id":"symbol-name:onDelete","kind":"symbol","language":"jsts","symbolName":"onDelete","metadata":{"unresolvedName":"onDelete"}}],["file:/workspace/apps/web/src/components/features/dashboard/DashboardSummary.tsx",{"id":"file:/workspace/apps/web/src/components/features/dashboard/DashboardSummary.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/dashboard/DashboardSummary.tsx","metadata":{"lineCount":35,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/features/dashboard/DashboardSummary.tsx:DashboardSummary",{"id":"/workspace/apps/web/src/components/features/dashboard/DashboardSummary.tsx:DashboardSummary","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/dashboard/DashboardSummary.tsx","symbolName":"DashboardSummary","symbolKind":"function","exported":true,"metadata":{"line":14,"column":33,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:summaryCards.map",{"id":"external:summaryCards.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"summaryCards.map"}}],["file:/workspace/apps/web/src/components/features/dashboard/ProjectsSection.tsx",{"id":"file:/workspace/apps/web/src/components/features/dashboard/ProjectsSection.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/dashboard/ProjectsSection.tsx","metadata":{"lineCount":41,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/features/dashboard/ProjectsSection.tsx:ProjectsSection",{"id":"/workspace/apps/web/src/components/features/dashboard/ProjectsSection.tsx:ProjectsSection","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/dashboard/ProjectsSection.tsx","symbolName":"ProjectsSection","symbolKind":"function","exported":true,"metadata":{"line":8,"column":32,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:onOpenProject",{"id":"symbol-name:onOpenProject","kind":"symbol","language":"jsts","symbolName":"onOpenProject","metadata":{"unresolvedName":"onOpenProject"}}],["file:/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx",{"id":"file:/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx","metadata":{"lineCount":130,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx:QuickCreateForm",{"id":"/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx:QuickCreateForm","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx","symbolName":"QuickCreateForm","symbolKind":"function","exported":true,"metadata":{"line":21,"column":32,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:onSubmit",{"id":"symbol-name:onSubmit","kind":"symbol","language":"jsts","symbolName":"onSubmit","metadata":{"unresolvedName":"onSubmit"}}],["symbol-name:handleProjectChange",{"id":"symbol-name:handleProjectChange","kind":"symbol","language":"jsts","symbolName":"handleProjectChange","metadata":{"unresolvedName":"handleProjectChange"}}],["external:repositories.map",{"id":"external:repositories.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"repositories.map"}}],["/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx:handleProjectChange",{"id":"/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx:handleProjectChange","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx","symbolName":"handleProjectChange","symbolKind":"function","exported":false,"metadata":{"line":34,"column":30,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx:handleSubmit",{"id":"/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx:handleSubmit","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx","symbolName":"handleSubmit","symbolKind":"function","exported":false,"metadata":{"line":40,"column":23,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/features/dashboard/RecentSessionsSection.tsx",{"id":"file:/workspace/apps/web/src/components/features/dashboard/RecentSessionsSection.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/dashboard/RecentSessionsSection.tsx","metadata":{"lineCount":48,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/workspace/apps/web/src/components/features/dashboard/RecentSessionsSection.tsx:RecentSessionsSection",{"id":"/workspace/apps/web/src/components/features/dashboard/RecentSessionsSection.tsx:RecentSessionsSection","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/dashboard/RecentSessionsSection.tsx","symbolName":"RecentSessionsSection","symbolKind":"function","exported":true,"metadata":{"line":8,"column":38,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["file:/workspace/apps/web/src/components/features/dashboard/index.ts",{"id":"file:/workspace/apps/web/src/components/features/dashboard/index.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/dashboard/index.ts","metadata":{"lineCount":6,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/features/git/CommitDialog.tsx",{"id":"file:/workspace/apps/web/src/components/features/git/CommitDialog.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/CommitDialog.tsx","metadata":{"lineCount":161,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/features/git/CommitDialog.module.css",{"id":"file:/workspace/apps/web/src/components/features/git/CommitDialog.module.css","kind":"file","language":"css","filePath":"/workspace/apps/web/src/components/features/git/CommitDialog.module.css"}],["/workspace/apps/web/src/components/features/git/CommitDialog.tsx:CommitDialog",{"id":"/workspace/apps/web/src/components/features/git/CommitDialog.tsx:CommitDialog","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/CommitDialog.tsx","symbolName":"CommitDialog","symbolKind":"function","exported":true,"metadata":{"line":15,"column":58,"cyclomaticComplexity":21,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:originalContent.split",{"id":"external:originalContent.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"originalContent.split"}}],["external:newContent.split",{"id":"external:newContent.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"newContent.split"}}],["external:Math.max",{"id":"external:Math.max","kind":"external","language":"jsts","metadata":{"unresolvedName":"Math.max"}}],["external:diff.push",{"id":"external:diff.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"diff.push"}}],["external:message.trim",{"id":"external:message.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"message.trim"}}],["symbol-name:setLoading",{"id":"symbol-name:setLoading","kind":"symbol","language":"jsts","symbolName":"setLoading","metadata":{"unresolvedName":"setLoading"}}],["symbol-name:onCommit",{"id":"symbol-name:onCommit","kind":"symbol","language":"jsts","symbolName":"onCommit","metadata":{"unresolvedName":"onCommit"}}],["symbol-name:generateDiff",{"id":"symbol-name:generateDiff","kind":"symbol","language":"jsts","symbolName":"generateDiff","metadata":{"unresolvedName":"generateDiff"}}],["external:diff.some",{"id":"external:diff.some","kind":"external","language":"jsts","metadata":{"unresolvedName":"diff.some"}}],["external:diff.map",{"id":"external:diff.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"diff.map"}}],["symbol-name:setMessage",{"id":"symbol-name:setMessage","kind":"symbol","language":"jsts","symbolName":"setMessage","metadata":{"unresolvedName":"setMessage"}}],["/workspace/apps/web/src/components/features/git/CommitDialog.tsx:generateDiff",{"id":"/workspace/apps/web/src/components/features/git/CommitDialog.tsx:generateDiff","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/CommitDialog.tsx","symbolName":"generateDiff","symbolKind":"function","exported":false,"metadata":{"line":29,"column":24,"cyclomaticComplexity":7,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/features/git/CommitDialog.tsx:handleCommit",{"id":"/workspace/apps/web/src/components/features/git/CommitDialog.tsx:handleCommit","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/CommitDialog.tsx","symbolName":"handleCommit","symbolKind":"function","exported":false,"metadata":{"line":54,"column":24,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/features/git/CommitPanel.tsx",{"id":"file:/workspace/apps/web/src/components/features/git/CommitPanel.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/CommitPanel.tsx","metadata":{"lineCount":104,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/features/git/CommitPanel.module.css",{"id":"file:/workspace/apps/web/src/components/features/git/CommitPanel.module.css","kind":"file","language":"css","filePath":"/workspace/apps/web/src/components/features/git/CommitPanel.module.css"}],["/workspace/apps/web/src/components/features/git/CommitPanel.tsx:CommitPanel",{"id":"/workspace/apps/web/src/components/features/git/CommitPanel.tsx:CommitPanel","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/CommitPanel.tsx","symbolName":"CommitPanel","symbolKind":"function","exported":true,"metadata":{"line":16,"column":28,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:commitChanges",{"id":"symbol-name:commitChanges","kind":"symbol","language":"jsts","symbolName":"commitChanges","metadata":{"unresolvedName":"commitChanges"}}],["external:modified.map",{"id":"external:modified.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"modified.map"}}],["external:added.map",{"id":"external:added.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"added.map"}}],["external:deleted.map",{"id":"external:deleted.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"deleted.map"}}],["external:untracked.map",{"id":"external:untracked.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"untracked.map"}}],["/workspace/apps/web/src/components/features/git/CommitPanel.tsx:handleCommit",{"id":"/workspace/apps/web/src/components/features/git/CommitPanel.tsx:handleCommit","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/CommitPanel.tsx","symbolName":"handleCommit","symbolKind":"function","exported":false,"metadata":{"line":32,"column":23,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx",{"id":"file:/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx","metadata":{"lineCount":63,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/features/git/FileBrowser.tsx",{"id":"file:/workspace/apps/web/src/components/features/git/FileBrowser.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx","metadata":{"lineCount":151,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":58,"column":17,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:expect(screen.getByText(/loading files/i)).toBeInTheDocument",{"id":"external:expect(screen.getByText(/loading files/i)).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(/loading files/i)).toBeInTheDocument"}}],["external:mockedGet.mockResolvedValueOnce",{"id":"external:mockedGet.mockResolvedValueOnce","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockedGet.mockResolvedValueOnce"}}],["symbol-name:waitFor",{"id":"symbol-name:waitFor","kind":"symbol","language":"jsts","symbolName":"waitFor","metadata":{"unresolvedName":"waitFor"}}],["external:expect(screen.getByText(\"src\")).toBeInTheDocument",{"id":"external:expect(screen.getByText(\"src\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(\"src\")).toBeInTheDocument"}}],["external:expect(screen.getByText(\"README.md\")).toBeInTheDocument",{"id":"external:expect(screen.getByText(\"README.md\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(\"README.md\")).toBeInTheDocument"}}],["external:mockedGet.mockRejectedValueOnce",{"id":"external:mockedGet.mockRejectedValueOnce","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockedGet.mockRejectedValueOnce"}}],["external:expect(screen.getByText(/failed to load files/i)).toBeInTheDocument",{"id":"external:expect(screen.getByText(/failed to load files/i)).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(/failed to load files/i)).toBeInTheDocument"}}],["/workspace/apps/web/src/components/features/git/FileBrowser.tsx:FileBrowser",{"id":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:FileBrowser","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx","symbolName":"FileBrowser","symbolKind":"function","exported":true,"metadata":{"line":27,"column":56,"cyclomaticComplexity":26,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:useSearchParams",{"id":"symbol-name:useSearchParams","kind":"symbol","language":"jsts","symbolName":"useSearchParams","metadata":{"unresolvedName":"useSearchParams"}}],["external:searchParams.get",{"id":"external:searchParams.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"searchParams.get"}}],["symbol-name:useCallback",{"id":"symbol-name:useCallback","kind":"symbol","language":"jsts","symbolName":"useCallback","metadata":{"unresolvedName":"useCallback"}}],["symbol-name:setEntries",{"id":"symbol-name:setEntries","kind":"symbol","language":"jsts","symbolName":"setEntries","metadata":{"unresolvedName":"setEntries"}}],["symbol-name:loadFiles",{"id":"symbol-name:loadFiles","kind":"symbol","language":"jsts","symbolName":"loadFiles","metadata":{"unresolvedName":"loadFiles"}}],["external:newParams.set",{"id":"external:newParams.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"newParams.set"}}],["symbol-name:setSearchParams",{"id":"symbol-name:setSearchParams","kind":"symbol","language":"jsts","symbolName":"setSearchParams","metadata":{"unresolvedName":"setSearchParams"}}],["external:path.split(\"/\").slice(0, -1).join",{"id":"external:path.split(\"/\").slice(0, -1).join","kind":"external","language":"jsts","metadata":{"unresolvedName":"path.split(\"/\").slice(0, -1).join"}}],["external:path.split(\"/\").slice",{"id":"external:path.split(\"/\").slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"path.split(\"/\").slice"}}],["external:path.split",{"id":"external:path.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"path.split"}}],["external:newParams.delete",{"id":"external:newParams.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"newParams.delete"}}],["external:gitStatus.modified.includes",{"id":"external:gitStatus.modified.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"gitStatus.modified.includes"}}],["external:gitStatus.added.includes",{"id":"external:gitStatus.added.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"gitStatus.added.includes"}}],["external:gitStatus.deleted.includes",{"id":"external:gitStatus.deleted.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"gitStatus.deleted.includes"}}],["external:gitStatus.untracked.includes",{"id":"external:gitStatus.untracked.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"gitStatus.untracked.includes"}}],["external:entries.map",{"id":"external:entries.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"entries.map"}}],["symbol-name:getFileStatus",{"id":"symbol-name:getFileStatus","kind":"symbol","language":"jsts","symbolName":"getFileStatus","metadata":{"unresolvedName":"getFileStatus"}}],["symbol-name:handleEntryClick",{"id":"symbol-name:handleEntryClick","kind":"symbol","language":"jsts","symbolName":"handleEntryClick","metadata":{"unresolvedName":"handleEntryClick"}}],["/workspace/apps/web/src/components/features/git/FileBrowser.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":122,"column":17,"cyclomaticComplexity":10,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/features/git/FileBrowser.tsx:handleEntryClick",{"id":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:handleEntryClick","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx","symbolName":"handleEntryClick","symbolKind":"function","exported":false,"metadata":{"line":72,"column":27,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/features/git/FileBrowser.tsx:navigateUp",{"id":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:navigateUp","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx","symbolName":"navigateUp","symbolKind":"function","exported":false,"metadata":{"line":84,"column":21,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/features/git/FileBrowser.tsx:getFileStatus",{"id":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:getFileStatus","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx","symbolName":"getFileStatus","symbolKind":"function","exported":false,"metadata":{"line":96,"column":24,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/features/git/FileEditor.tsx",{"id":"file:/workspace/apps/web/src/components/features/git/FileEditor.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/FileEditor.tsx","metadata":{"lineCount":306,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/features/git/FileEditor.module.css",{"id":"file:/workspace/apps/web/src/components/features/git/FileEditor.module.css","kind":"file","language":"css","filePath":"/workspace/apps/web/src/components/features/git/FileEditor.module.css"}],["file:/workspace/apps/web/src/components/ui/CodeEditor.tsx",{"id":"file:/workspace/apps/web/src/components/ui/CodeEditor.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/ui/CodeEditor.tsx","metadata":{"lineCount":57,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx",{"id":"file:/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx","metadata":{"lineCount":78,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/utils/language.ts",{"id":"file:/workspace/apps/web/src/utils/language.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/utils/language.ts","metadata":{"lineCount":91,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/features/git/FileEditor.tsx:FileEditor",{"id":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:FileEditor","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/FileEditor.tsx","symbolName":"FileEditor","symbolKind":"function","exported":true,"metadata":{"line":25,"column":54,"cyclomaticComplexity":49,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:setIsBinary",{"id":"symbol-name:setIsBinary","kind":"symbol","language":"jsts","symbolName":"setIsBinary","metadata":{"unresolvedName":"setIsBinary"}}],["symbol-name:setContent",{"id":"symbol-name:setContent","kind":"symbol","language":"jsts","symbolName":"setContent","metadata":{"unresolvedName":"setContent"}}],["symbol-name:setOriginalContent",{"id":"symbol-name:setOriginalContent","kind":"symbol","language":"jsts","symbolName":"setOriginalContent","metadata":{"unresolvedName":"setOriginalContent"}}],["symbol-name:setMode",{"id":"symbol-name:setMode","kind":"symbol","language":"jsts","symbolName":"setMode","metadata":{"unresolvedName":"setMode"}}],["symbol-name:setLanguage",{"id":"symbol-name:setLanguage","kind":"symbol","language":"jsts","symbolName":"setLanguage","metadata":{"unresolvedName":"setLanguage"}}],["symbol-name:detectLanguage",{"id":"symbol-name:detectLanguage","kind":"symbol","language":"jsts","symbolName":"detectLanguage","metadata":{"unresolvedName":"detectLanguage"}}],["symbol-name:loadFile",{"id":"symbol-name:loadFile","kind":"symbol","language":"jsts","symbolName":"loadFile","metadata":{"unresolvedName":"loadFile"}}],["symbol-name:setShowCommitDialog",{"id":"symbol-name:setShowCommitDialog","kind":"symbol","language":"jsts","symbolName":"setShowCommitDialog","metadata":{"unresolvedName":"setShowCommitDialog"}}],["symbol-name:setSaving",{"id":"symbol-name:setSaving","kind":"symbol","language":"jsts","symbolName":"setSaving","metadata":{"unresolvedName":"setSaving"}}],["external:e.preventDefault",{"id":"external:e.preventDefault","kind":"external","language":"jsts","metadata":{"unresolvedName":"e.preventDefault"}}],["symbol-name:handleEdit",{"id":"symbol-name:handleEdit","kind":"symbol","language":"jsts","symbolName":"handleEdit","metadata":{"unresolvedName":"handleEdit"}}],["symbol-name:handleCancel",{"id":"symbol-name:handleCancel","kind":"symbol","language":"jsts","symbolName":"handleCancel","metadata":{"unresolvedName":"handleCancel"}}],["symbol-name:handleSave",{"id":"symbol-name:handleSave","kind":"symbol","language":"jsts","symbolName":"handleSave","metadata":{"unresolvedName":"handleSave"}}],["external:filePath?.split(\"/\").map",{"id":"external:filePath?.split(\"/\").map","kind":"external","language":"jsts","metadata":{"unresolvedName":"filePath?.split(\"/\").map"}}],["external:filePath?.split",{"id":"external:filePath?.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"filePath?.split"}}],["/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleDiscard",{"id":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleDiscard","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/FileEditor.tsx","symbolName":"handleDiscard","symbolKind":"function","exported":false,"metadata":{"line":43,"column":25,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/features/git/FileEditor.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/FileEditor.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":173,"column":13,"cyclomaticComplexity":11,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleEdit",{"id":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleEdit","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/FileEditor.tsx","symbolName":"handleEdit","symbolKind":"function","exported":false,"metadata":{"line":127,"column":22,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleCancel",{"id":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleCancel","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/FileEditor.tsx","symbolName":"handleCancel","symbolKind":"function","exported":false,"metadata":{"line":132,"column":24,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleSave",{"id":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleSave","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/FileEditor.tsx","symbolName":"handleSave","symbolKind":"function","exported":false,"metadata":{"line":138,"column":22,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleCommit",{"id":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleCommit","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/FileEditor.tsx","symbolName":"handleCommit","symbolKind":"function","exported":false,"metadata":{"line":146,"column":24,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleKeyDown",{"id":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleKeyDown","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/FileEditor.tsx","symbolName":"handleKeyDown","symbolKind":"function","exported":false,"metadata":{"line":174,"column":27,"cyclomaticComplexity":11,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/features/git/GitToolbar.tsx",{"id":"file:/workspace/apps/web/src/components/features/git/GitToolbar.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx","metadata":{"lineCount":270,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/features/git/MergeDialog.tsx",{"id":"file:/workspace/apps/web/src/components/features/git/MergeDialog.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/MergeDialog.tsx","metadata":{"lineCount":146,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/features/git/GitToolbar.module.css",{"id":"file:/workspace/apps/web/src/components/features/git/GitToolbar.module.css","kind":"file","language":"css","filePath":"/workspace/apps/web/src/components/features/git/GitToolbar.module.css"}],["/workspace/apps/web/src/components/features/git/GitToolbar.tsx:GitToolbar",{"id":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:GitToolbar","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx","symbolName":"GitToolbar","symbolKind":"function","exported":true,"metadata":{"line":26,"column":27,"cyclomaticComplexity":33,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:getRepositoryStatus",{"id":"symbol-name:getRepositoryStatus","kind":"symbol","language":"jsts","symbolName":"getRepositoryStatus","metadata":{"unresolvedName":"getRepositoryStatus"}}],["symbol-name:loadStatus",{"id":"symbol-name:loadStatus","kind":"symbol","language":"jsts","symbolName":"loadStatus","metadata":{"unresolvedName":"loadStatus"}}],["symbol-name:setInterval",{"id":"symbol-name:setInterval","kind":"symbol","language":"jsts","symbolName":"setInterval","metadata":{"unresolvedName":"setInterval"}}],["symbol-name:clearInterval",{"id":"symbol-name:clearInterval","kind":"symbol","language":"jsts","symbolName":"clearInterval","metadata":{"unresolvedName":"clearInterval"}}],["symbol-name:fetchRepository",{"id":"symbol-name:fetchRepository","kind":"symbol","language":"jsts","symbolName":"fetchRepository","metadata":{"unresolvedName":"fetchRepository"}}],["symbol-name:pullRepository",{"id":"symbol-name:pullRepository","kind":"symbol","language":"jsts","symbolName":"pullRepository","metadata":{"unresolvedName":"pullRepository"}}],["symbol-name:onRefresh",{"id":"symbol-name:onRefresh","kind":"symbol","language":"jsts","symbolName":"onRefresh","metadata":{"unresolvedName":"onRefresh"}}],["symbol-name:pushRepository",{"id":"symbol-name:pushRepository","kind":"symbol","language":"jsts","symbolName":"pushRepository","metadata":{"unresolvedName":"pushRepository"}}],["symbol-name:checkoutBranch",{"id":"symbol-name:checkoutBranch","kind":"symbol","language":"jsts","symbolName":"checkoutBranch","metadata":{"unresolvedName":"checkoutBranch"}}],["symbol-name:onBranchChange",{"id":"symbol-name:onBranchChange","kind":"symbol","language":"jsts","symbolName":"onBranchChange","metadata":{"unresolvedName":"onBranchChange"}}],["external:newBranchName.trim",{"id":"external:newBranchName.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"newBranchName.trim"}}],["symbol-name:createBranch",{"id":"symbol-name:createBranch","kind":"symbol","language":"jsts","symbolName":"createBranch","metadata":{"unresolvedName":"createBranch"}}],["symbol-name:setShowNewBranch",{"id":"symbol-name:setShowNewBranch","kind":"symbol","language":"jsts","symbolName":"setShowNewBranch","metadata":{"unresolvedName":"setShowNewBranch"}}],["symbol-name:setNewBranchBase",{"id":"symbol-name:setNewBranchBase","kind":"symbol","language":"jsts","symbolName":"setNewBranchBase","metadata":{"unresolvedName":"setNewBranchBase"}}],["symbol-name:handleCheckout",{"id":"symbol-name:handleCheckout","kind":"symbol","language":"jsts","symbolName":"handleCheckout","metadata":{"unresolvedName":"handleCheckout"}}],["symbol-name:setShowMergeDialog",{"id":"symbol-name:setShowMergeDialog","kind":"symbol","language":"jsts","symbolName":"setShowMergeDialog","metadata":{"unresolvedName":"setShowMergeDialog"}}],["/workspace/apps/web/src/components/features/git/GitToolbar.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":262,"column":18,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handleFetch",{"id":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handleFetch","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx","symbolName":"handleFetch","symbolKind":"function","exported":false,"metadata":{"line":60,"column":23,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handlePull",{"id":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handlePull","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx","symbolName":"handlePull","symbolKind":"function","exported":false,"metadata":{"line":73,"column":22,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handlePush",{"id":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handlePush","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx","symbolName":"handlePush","symbolKind":"function","exported":false,"metadata":{"line":87,"column":22,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handleCheckout",{"id":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handleCheckout","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx","symbolName":"handleCheckout","symbolKind":"function","exported":false,"metadata":{"line":99,"column":26,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handleCreateBranch",{"id":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handleCreateBranch","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx","symbolName":"handleCreateBranch","symbolKind":"function","exported":false,"metadata":{"line":112,"column":30,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/features/git/MergeDialog.module.css",{"id":"file:/workspace/apps/web/src/components/features/git/MergeDialog.module.css","kind":"file","language":"css","filePath":"/workspace/apps/web/src/components/features/git/MergeDialog.module.css"}],["/workspace/apps/web/src/components/features/git/MergeDialog.tsx:MergeDialog",{"id":"/workspace/apps/web/src/components/features/git/MergeDialog.tsx:MergeDialog","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/MergeDialog.tsx","symbolName":"MergeDialog","symbolKind":"function","exported":true,"metadata":{"line":17,"column":28,"cyclomaticComplexity":10,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:branches.filter",{"id":"external:branches.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"branches.filter"}}],["symbol-name:setSuccess",{"id":"symbol-name:setSuccess","kind":"symbol","language":"jsts","symbolName":"setSuccess","metadata":{"unresolvedName":"setSuccess"}}],["symbol-name:mergeBranches",{"id":"symbol-name:mergeBranches","kind":"symbol","language":"jsts","symbolName":"mergeBranches","metadata":{"unresolvedName":"mergeBranches"}}],["symbol-name:onMerge",{"id":"symbol-name:onMerge","kind":"symbol","language":"jsts","symbolName":"onMerge","metadata":{"unresolvedName":"onMerge"}}],["symbol-name:onClose",{"id":"symbol-name:onClose","kind":"symbol","language":"jsts","symbolName":"onClose","metadata":{"unresolvedName":"onClose"}}],["external:e.stopPropagation",{"id":"external:e.stopPropagation","kind":"external","language":"jsts","metadata":{"unresolvedName":"e.stopPropagation"}}],["symbol-name:setSourceBranch",{"id":"symbol-name:setSourceBranch","kind":"symbol","language":"jsts","symbolName":"setSourceBranch","metadata":{"unresolvedName":"setSourceBranch"}}],["external:availableBranches.map",{"id":"external:availableBranches.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"availableBranches.map"}}],["symbol-name:setCommitMessage",{"id":"symbol-name:setCommitMessage","kind":"symbol","language":"jsts","symbolName":"setCommitMessage","metadata":{"unresolvedName":"setCommitMessage"}}],["/workspace/apps/web/src/components/features/git/MergeDialog.tsx:handleMerge",{"id":"/workspace/apps/web/src/components/features/git/MergeDialog.tsx:handleMerge","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/MergeDialog.tsx","symbolName":"handleMerge","symbolKind":"function","exported":false,"metadata":{"line":36,"column":23,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/features/git/MergeDialog.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/features/git/MergeDialog.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/MergeDialog.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":53,"column":18,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx:SyntaxHighlighter",{"id":"/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx:SyntaxHighlighter","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx","symbolName":"SyntaxHighlighter","symbolKind":"function","exported":true,"metadata":{"line":12,"column":68,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:loadLanguage",{"id":"symbol-name:loadLanguage","kind":"symbol","language":"jsts","symbolName":"loadLanguage","metadata":{"unresolvedName":"loadLanguage"}}],["symbol-name:setHighlighted",{"id":"symbol-name:setHighlighted","kind":"symbol","language":"jsts","symbolName":"setHighlighted","metadata":{"unresolvedName":"setHighlighted"}}],["symbol-name:highlightCode",{"id":"symbol-name:highlightCode","kind":"symbol","language":"jsts","symbolName":"highlightCode","metadata":{"unresolvedName":"highlightCode"}}],["symbol-name:highlight",{"id":"symbol-name:highlight","kind":"symbol","language":"jsts","symbolName":"highlight","metadata":{"unresolvedName":"highlight"}}],["external:navigator.clipboard.writeText",{"id":"external:navigator.clipboard.writeText","kind":"external","language":"jsts","metadata":{"unresolvedName":"navigator.clipboard.writeText"}}],["symbol-name:setCopied",{"id":"symbol-name:setCopied","kind":"symbol","language":"jsts","symbolName":"setCopied","metadata":{"unresolvedName":"setCopied"}}],["external:code.split",{"id":"external:code.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"code.split"}}],["external:lines.map",{"id":"external:lines.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"lines.map"}}],["/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":20,"column":13,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx:highlight",{"id":"/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx:highlight","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx","symbolName":"highlight","symbolKind":"function","exported":false,"metadata":{"line":21,"column":23,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx:handleCopy",{"id":"/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx:handleCopy","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx","symbolName":"handleCopy","symbolKind":"function","exported":false,"metadata":{"line":28,"column":22,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/features/git/WorkspaceSidebar.tsx",{"id":"file:/workspace/apps/web/src/components/features/git/WorkspaceSidebar.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/WorkspaceSidebar.tsx","metadata":{"lineCount":65,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/features/session/InstanceList.tsx",{"id":"file:/workspace/apps/web/src/components/features/session/InstanceList.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/session/InstanceList.tsx","metadata":{"lineCount":393,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/workspace/apps/web/src/components/features/git/WorkspaceSidebar.tsx:WorkspaceSidebar",{"id":"/workspace/apps/web/src/components/features/git/WorkspaceSidebar.tsx:WorkspaceSidebar","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/WorkspaceSidebar.tsx","symbolName":"WorkspaceSidebar","symbolKind":"function","exported":true,"metadata":{"line":18,"column":33,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:onRepoChange",{"id":"symbol-name:onRepoChange","kind":"symbol","language":"jsts","symbolName":"onRepoChange","metadata":{"unresolvedName":"onRepoChange"}}],["file:/workspace/apps/web/src/components/features/git/index.ts",{"id":"file:/workspace/apps/web/src/components/features/git/index.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git/index.ts","metadata":{"lineCount":3,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx",{"id":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx","metadata":{"lineCount":115,"featureKind":"library","trustBoundaries":["filesystem","database"]}}],["file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx",{"id":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx","metadata":{"lineCount":102,"featureKind":"library","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":99,"column":19,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database"]}}],["external:vi.importActual",{"id":"external:vi.importActual","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.importActual"}}],["symbol-name:cleanup",{"id":"symbol-name:cleanup","kind":"symbol","language":"jsts","symbolName":"cleanup","metadata":{"unresolvedName":"cleanup"}}],["external:vi.spyOn(gitRepositoriesApi, \"listRepositories\").mockResolvedValue",{"id":"external:vi.spyOn(gitRepositoriesApi, \"listRepositories\").mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.spyOn(gitRepositoriesApi, \"listRepositories\").mockResolvedValue"}}],["external:vi.spyOn",{"id":"external:vi.spyOn","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.spyOn"}}],["external:vi.spyOn(gitRepositoriesApi, \"createRepository\").mockResolvedValue",{"id":"external:vi.spyOn(gitRepositoriesApi, \"createRepository\").mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.spyOn(gitRepositoriesApi, \"createRepository\").mockResolvedValue"}}],["external:expect(screen.getByText(\"Main Repo\")).toBeInTheDocument",{"id":"external:expect(screen.getByText(\"Main Repo\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(\"Main Repo\")).toBeInTheDocument"}}],["external:fireEvent.click",{"id":"external:fireEvent.click","kind":"external","language":"jsts","metadata":{"unresolvedName":"fireEvent.click"}}],["external:screen.getByRole",{"id":"external:screen.getByRole","kind":"external","language":"jsts","metadata":{"unresolvedName":"screen.getByRole"}}],["external:fireEvent.change",{"id":"external:fireEvent.change","kind":"external","language":"jsts","metadata":{"unresolvedName":"fireEvent.change"}}],["external:screen.getByPlaceholderText",{"id":"external:screen.getByPlaceholderText","kind":"external","language":"jsts","metadata":{"unresolvedName":"screen.getByPlaceholderText"}}],["external:expect(createMock).toHaveBeenCalledWith",{"id":"external:expect(createMock).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(createMock).toHaveBeenCalledWith"}}],["external:expect(listMock).toHaveBeenCalledTimes",{"id":"external:expect(listMock).toHaveBeenCalledTimes","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(listMock).toHaveBeenCalledTimes"}}],["file:/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx",{"id":"file:/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx","metadata":{"lineCount":327,"featureKind":"library","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:RepositoriesSettingsTab",{"id":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:RepositoriesSettingsTab","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx","symbolName":"RepositoriesSettingsTab","symbolKind":"function","exported":true,"metadata":{"line":9,"column":50,"cyclomaticComplexity":11,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database"]}}],["symbol-name:useParams",{"id":"symbol-name:useParams","kind":"symbol","language":"jsts","symbolName":"useParams","metadata":{"unresolvedName":"useParams"}}],["symbol-name:listRepositories",{"id":"symbol-name:listRepositories","kind":"symbol","language":"jsts","symbolName":"listRepositories","metadata":{"unresolvedName":"listRepositories"}}],["symbol-name:setRepositories",{"id":"symbol-name:setRepositories","kind":"symbol","language":"jsts","symbolName":"setRepositories","metadata":{"unresolvedName":"setRepositories"}}],["symbol-name:loadRepositories",{"id":"symbol-name:loadRepositories","kind":"symbol","language":"jsts","symbolName":"loadRepositories","metadata":{"unresolvedName":"loadRepositories"}}],["external:window.confirm",{"id":"external:window.confirm","kind":"external","language":"jsts","metadata":{"unresolvedName":"window.confirm"}}],["symbol-name:deleteRepository",{"id":"symbol-name:deleteRepository","kind":"symbol","language":"jsts","symbolName":"deleteRepository","metadata":{"unresolvedName":"deleteRepository"}}],["external:current.filter",{"id":"external:current.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"current.filter"}}],["symbol-name:setShowCreate",{"id":"symbol-name:setShowCreate","kind":"symbol","language":"jsts","symbolName":"setShowCreate","metadata":{"unresolvedName":"setShowCreate"}}],["symbol-name:handleDelete",{"id":"symbol-name:handleDelete","kind":"symbol","language":"jsts","symbolName":"handleDelete","metadata":{"unresolvedName":"handleDelete"}}],["/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":33,"column":12,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:handleDelete",{"id":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:handleDelete","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx","symbolName":"handleDelete","symbolKind":"function","exported":false,"metadata":{"line":37,"column":23,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:RepositoryCreateDialog",{"id":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:RepositoryCreateDialog","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx","symbolName":"RepositoryCreateDialog","symbolKind":"function","exported":true,"metadata":{"line":26,"column":39,"cyclomaticComplexity":37,"maxNestingDepth":4,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database"]}}],["symbol-name:setUrlValidation",{"id":"symbol-name:setUrlValidation","kind":"symbol","language":"jsts","symbolName":"setUrlValidation","metadata":{"unresolvedName":"setUrlValidation"}}],["external:advancedUrl.trim",{"id":"external:advancedUrl.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"advancedUrl.trim"}}],["symbol-name:parseGitUrl",{"id":"symbol-name:parseGitUrl","kind":"symbol","language":"jsts","symbolName":"parseGitUrl","metadata":{"unresolvedName":"parseGitUrl"}}],["symbol-name:setCreateMode",{"id":"symbol-name:setCreateMode","kind":"symbol","language":"jsts","symbolName":"setCreateMode","metadata":{"unresolvedName":"setCreateMode"}}],["symbol-name:setFormName",{"id":"symbol-name:setFormName","kind":"symbol","language":"jsts","symbolName":"setFormName","metadata":{"unresolvedName":"setFormName"}}],["symbol-name:setOwner",{"id":"symbol-name:setOwner","kind":"symbol","language":"jsts","symbolName":"setOwner","metadata":{"unresolvedName":"setOwner"}}],["symbol-name:setRepoName",{"id":"symbol-name:setRepoName","kind":"symbol","language":"jsts","symbolName":"setRepoName","metadata":{"unresolvedName":"setRepoName"}}],["symbol-name:setAdvancedUrl",{"id":"symbol-name:setAdvancedUrl","kind":"symbol","language":"jsts","symbolName":"setAdvancedUrl","metadata":{"unresolvedName":"setAdvancedUrl"}}],["symbol-name:setUseAdvancedUrl",{"id":"symbol-name:setUseAdvancedUrl","kind":"symbol","language":"jsts","symbolName":"setUseAdvancedUrl","metadata":{"unresolvedName":"setUseAdvancedUrl"}}],["symbol-name:setFormError",{"id":"symbol-name:setFormError","kind":"symbol","language":"jsts","symbolName":"setFormError","metadata":{"unresolvedName":"setFormError"}}],["symbol-name:resetForm",{"id":"symbol-name:resetForm","kind":"symbol","language":"jsts","symbolName":"resetForm","metadata":{"unresolvedName":"resetForm"}}],["external:formName.trim",{"id":"external:formName.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"formName.trim"}}],["external:owner.trim",{"id":"external:owner.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"owner.trim"}}],["external:repoName.trim",{"id":"external:repoName.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"repoName.trim"}}],["symbol-name:createRepository",{"id":"symbol-name:createRepository","kind":"symbol","language":"jsts","symbolName":"createRepository","metadata":{"unresolvedName":"createRepository"}}],["symbol-name:handleClose",{"id":"symbol-name:handleClose","kind":"symbol","language":"jsts","symbolName":"handleClose","metadata":{"unresolvedName":"handleClose"}}],["symbol-name:onCreated",{"id":"symbol-name:onCreated","kind":"symbol","language":"jsts","symbolName":"onCreated","metadata":{"unresolvedName":"onCreated"}}],["symbol-name:getUrlInputClass",{"id":"symbol-name:getUrlInputClass","kind":"symbol","language":"jsts","symbolName":"getUrlInputClass","metadata":{"unresolvedName":"getUrlInputClass"}}],["/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":86,"column":10,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:resetForm",{"id":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:resetForm","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx","symbolName":"resetForm","symbolKind":"function","exported":false,"metadata":{"line":93,"column":20,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:handleClose",{"id":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:handleClose","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx","symbolName":"handleClose","symbolKind":"function","exported":false,"metadata":{"line":104,"column":22,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:handleSubmit",{"id":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:handleSubmit","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx","symbolName":"handleSubmit","symbolKind":"function","exported":false,"metadata":{"line":109,"column":23,"cyclomaticComplexity":9,"maxNestingDepth":4,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:handleUseSuggestedUrl",{"id":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:handleUseSuggestedUrl","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx","symbolName":"handleUseSuggestedUrl","symbolKind":"function","exported":false,"metadata":{"line":152,"column":32,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:getUrlInputClass",{"id":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:getUrlInputClass","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx","symbolName":"getUrlInputClass","symbolKind":"function","exported":false,"metadata":{"line":160,"column":27,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database"]}}],["file:/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx",{"id":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx","metadata":{"lineCount":148,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["file:/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx",{"id":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx","metadata":{"lineCount":168,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["external:@/types/project",{"id":"external:@/types/project","kind":"external","language":"jsts","metadata":{"source":"@/types/project"}}],["external:@/types/tool-type",{"id":"external:@/types/tool-type","kind":"external","language":"jsts","metadata":{"source":"@/types/tool-type"}}],["external:@/api/sessions",{"id":"external:@/api/sessions","kind":"external","language":"jsts","metadata":{"source":"@/api/sessions"}}],["/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":143,"column":17,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["external:expect(screen.getByText(\"Create New Session\")).toBeInTheDocument",{"id":"external:expect(screen.getByText(\"Create New Session\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(\"Create New Session\")).toBeInTheDocument"}}],["external:expect(screen.getByText(\"Create Session\")).toBeInTheDocument",{"id":"external:expect(screen.getByText(\"Create Session\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(\"Create Session\")).toBeInTheDocument"}}],["external:container.querySelector",{"id":"external:container.querySelector","kind":"external","language":"jsts","metadata":{"unresolvedName":"container.querySelector"}}],["external:expect(createInstance).not.toHaveBeenCalled",{"id":"external:expect(createInstance).not.toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(createInstance).not.toHaveBeenCalled"}}],["external:mockedList.mockResolvedValueOnce",{"id":"external:mockedList.mockResolvedValueOnce","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockedList.mockResolvedValueOnce"}}],["external:expect(listRepositories).toHaveBeenCalledWith",{"id":"external:expect(listRepositories).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(listRepositories).toHaveBeenCalledWith"}}],["external:@/api/settings",{"id":"external:@/api/settings","kind":"external","language":"jsts","metadata":{"source":"@/api/settings"}}],["external:@/types/git-repository",{"id":"external:@/types/git-repository","kind":"external","language":"jsts","metadata":{"source":"@/types/git-repository"}}],["/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:CreateSessionForm",{"id":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:CreateSessionForm","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx","symbolName":"CreateSessionForm","symbolKind":"function","exported":true,"metadata":{"line":18,"column":68,"cyclomaticComplexity":10,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["symbol-name:loadRepos",{"id":"symbol-name:loadRepos","kind":"symbol","language":"jsts","symbolName":"loadRepos","metadata":{"unresolvedName":"loadRepos"}}],["symbol-name:setCreateError",{"id":"symbol-name:setCreateError","kind":"symbol","language":"jsts","symbolName":"setCreateError","metadata":{"unresolvedName":"setCreateError"}}],["symbol-name:setCreateStatus",{"id":"symbol-name:setCreateStatus","kind":"symbol","language":"jsts","symbolName":"setCreateStatus","metadata":{"unresolvedName":"setCreateStatus"}}],["symbol-name:updateUserConfig",{"id":"symbol-name:updateUserConfig","kind":"symbol","language":"jsts","symbolName":"updateUserConfig","metadata":{"unresolvedName":"updateUserConfig"}}],["/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":87,"column":18,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:loadRepos",{"id":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:loadRepos","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx","symbolName":"loadRepos","symbolKind":"function","exported":false,"metadata":{"line":36,"column":21,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database","auth","user-input"]}}],["/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:handleCreate",{"id":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:handleCreate","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx","symbolName":"handleCreate","symbolKind":"function","exported":false,"metadata":{"line":47,"column":23,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["file:/workspace/apps/web/src/components/features/session/InstanceList.module.css",{"id":"file:/workspace/apps/web/src/components/features/session/InstanceList.module.css","kind":"file","language":"css","filePath":"/workspace/apps/web/src/components/features/session/InstanceList.module.css"}],["/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList",{"id":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/session/InstanceList.tsx","symbolName":"InstanceList","symbolKind":"function","exported":true,"metadata":{"line":27,"column":29,"cyclomaticComplexity":39,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["symbol-name:useNavigate",{"id":"symbol-name:useNavigate","kind":"symbol","language":"jsts","symbolName":"useNavigate","metadata":{"unresolvedName":"useNavigate"}}],["symbol-name:listInstances",{"id":"symbol-name:listInstances","kind":"symbol","language":"jsts","symbolName":"listInstances","metadata":{"unresolvedName":"listInstances"}}],["symbol-name:setInstances",{"id":"symbol-name:setInstances","kind":"symbol","language":"jsts","symbolName":"setInstances","metadata":{"unresolvedName":"setInstances"}}],["symbol-name:loadInstances",{"id":"symbol-name:loadInstances","kind":"symbol","language":"jsts","symbolName":"loadInstances","metadata":{"unresolvedName":"loadInstances"}}],["external:instances.filter",{"id":"external:instances.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"instances.filter"}}],["external:i.url?.startsWith",{"id":"external:i.url?.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"i.url?.startsWith"}}],["symbol-name:checkInstanceHealth",{"id":"symbol-name:checkInstanceHealth","kind":"symbol","language":"jsts","symbolName":"checkInstanceHealth","metadata":{"unresolvedName":"checkInstanceHealth"}}],["symbol-name:setHealthStatus",{"id":"symbol-name:setHealthStatus","kind":"symbol","language":"jsts","symbolName":"setHealthStatus","metadata":{"unresolvedName":"setHealthStatus"}}],["external:Date.now",{"id":"external:Date.now","kind":"external","language":"jsts","metadata":{"unresolvedName":"Date.now"}}],["symbol-name:checkHealth",{"id":"symbol-name:checkHealth","kind":"symbol","language":"jsts","symbolName":"checkHealth","metadata":{"unresolvedName":"checkHealth"}}],["symbol-name:stopInstance",{"id":"symbol-name:stopInstance","kind":"symbol","language":"jsts","symbolName":"stopInstance","metadata":{"unresolvedName":"stopInstance"}}],["symbol-name:setStopConfirmId",{"id":"symbol-name:setStopConfirmId","kind":"symbol","language":"jsts","symbolName":"setStopConfirmId","metadata":{"unresolvedName":"setStopConfirmId"}}],["symbol-name:restartInstance",{"id":"symbol-name:restartInstance","kind":"symbol","language":"jsts","symbolName":"restartInstance","metadata":{"unresolvedName":"restartInstance"}}],["symbol-name:confirm",{"id":"symbol-name:confirm","kind":"symbol","language":"jsts","symbolName":"confirm","metadata":{"unresolvedName":"confirm"}}],["symbol-name:deleteInstance",{"id":"symbol-name:deleteInstance","kind":"symbol","language":"jsts","symbolName":"deleteInstance","metadata":{"unresolvedName":"deleteInstance"}}],["symbol-name:recreateInstanceTunnel",{"id":"symbol-name:recreateInstanceTunnel","kind":"symbol","language":"jsts","symbolName":"recreateInstanceTunnel","metadata":{"unresolvedName":"recreateInstanceTunnel"}}],["external:instance.url?.startsWith",{"id":"external:instance.url?.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"instance.url?.startsWith"}}],["external:instances.map",{"id":"external:instances.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"instances.map"}}],["symbol-name:getStatusColor",{"id":"symbol-name:getStatusColor","kind":"symbol","language":"jsts","symbolName":"getStatusColor","metadata":{"unresolvedName":"getStatusColor"}}],["symbol-name:isTunnelUnhealthy",{"id":"symbol-name:isTunnelUnhealthy","kind":"symbol","language":"jsts","symbolName":"isTunnelUnhealthy","metadata":{"unresolvedName":"isTunnelUnhealthy"}}],["external:instance.tool_type_interfaces.includes",{"id":"external:instance.tool_type_interfaces.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"instance.tool_type_interfaces.includes"}}],["external:instance.url.startsWith",{"id":"external:instance.url.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"instance.url.startsWith"}}],["symbol-name:handleRecreateTunnel",{"id":"symbol-name:handleRecreateTunnel","kind":"symbol","language":"jsts","symbolName":"handleRecreateTunnel","metadata":{"unresolvedName":"handleRecreateTunnel"}}],["symbol-name:navigate",{"id":"symbol-name:navigate","kind":"symbol","language":"jsts","symbolName":"navigate","metadata":{"unresolvedName":"navigate"}}],["symbol-name:handleStart",{"id":"symbol-name:handleStart","kind":"symbol","language":"jsts","symbolName":"handleStart","metadata":{"unresolvedName":"handleStart"}}],["symbol-name:handleStop",{"id":"symbol-name:handleStop","kind":"symbol","language":"jsts","symbolName":"handleStop","metadata":{"unresolvedName":"handleStop"}}],["symbol-name:handleRestart",{"id":"symbol-name:handleRestart","kind":"symbol","language":"jsts","symbolName":"handleRestart","metadata":{"unresolvedName":"handleRestart"}}],["symbol-name:handleCreate",{"id":"symbol-name:handleCreate","kind":"symbol","language":"jsts","symbolName":"handleCreate","metadata":{"unresolvedName":"handleCreate"}}],["/workspace/apps/web/src/components/features/session/InstanceList.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/session/InstanceList.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":65,"column":12,"cyclomaticComplexity":5,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/workspace/apps/web/src/components/features/session/InstanceList.tsx:checkHealth",{"id":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:checkHealth","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/session/InstanceList.tsx","symbolName":"checkHealth","symbolKind":"function","exported":false,"metadata":{"line":71,"column":23,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleCreate",{"id":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleCreate","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/session/InstanceList.tsx","symbolName":"handleCreate","symbolKind":"function","exported":false,"metadata":{"line":100,"column":23,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleStart",{"id":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleStart","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/session/InstanceList.tsx","symbolName":"handleStart","symbolKind":"function","exported":false,"metadata":{"line":119,"column":22,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleStop",{"id":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleStop","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/session/InstanceList.tsx","symbolName":"handleStop","symbolKind":"function","exported":false,"metadata":{"line":128,"column":21,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleRestart",{"id":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleRestart","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/session/InstanceList.tsx","symbolName":"handleRestart","symbolKind":"function","exported":false,"metadata":{"line":138,"column":24,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleDelete",{"id":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleDelete","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/session/InstanceList.tsx","symbolName":"handleDelete","symbolKind":"function","exported":false,"metadata":{"line":147,"column":23,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleRecreateTunnel",{"id":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleRecreateTunnel","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/session/InstanceList.tsx","symbolName":"handleRecreateTunnel","symbolKind":"function","exported":false,"metadata":{"line":158,"column":31,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/workspace/apps/web/src/components/features/session/InstanceList.tsx:getStatusColor",{"id":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:getStatusColor","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/session/InstanceList.tsx","symbolName":"getStatusColor","symbolKind":"function","exported":false,"metadata":{"line":167,"column":25,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/workspace/apps/web/src/components/features/session/InstanceList.tsx:isTunnelUnhealthy",{"id":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:isTunnelUnhealthy","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/session/InstanceList.tsx","symbolName":"isTunnelUnhealthy","symbolKind":"function","exported":false,"metadata":{"line":181,"column":28,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["file:/workspace/apps/web/src/components/features/session/SessionCard.test.tsx",{"id":"file:/workspace/apps/web/src/components/features/session/SessionCard.test.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/session/SessionCard.test.tsx","metadata":{"lineCount":77,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["file:/workspace/apps/web/src/components/features/session/SessionCard.tsx",{"id":"file:/workspace/apps/web/src/components/features/session/SessionCard.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/session/SessionCard.tsx","metadata":{"lineCount":212,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["external:@/types/session",{"id":"external:@/types/session","kind":"external","language":"jsts","metadata":{"source":"@/types/session"}}],["/workspace/apps/web/src/components/features/session/SessionCard.test.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/features/session/SessionCard.test.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/session/SessionCard.test.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":60,"column":58,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["external:expect(screen.getByText(\"running\")).toBeInTheDocument",{"id":"external:expect(screen.getByText(\"running\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(\"running\")).toBeInTheDocument"}}],["external:screen.getAllByText",{"id":"external:screen.getAllByText","kind":"external","language":"jsts","metadata":{"unresolvedName":"screen.getAllByText"}}],["external:expect(screen.getByText(\"VS Code\")).toBeInTheDocument",{"id":"external:expect(screen.getByText(\"VS Code\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(\"VS Code\")).toBeInTheDocument"}}],["/workspace/apps/web/src/components/features/session/SessionCard.tsx:SessionCard",{"id":"/workspace/apps/web/src/components/features/session/SessionCard.tsx:SessionCard","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/session/SessionCard.tsx","symbolName":"SessionCard","symbolKind":"function","exported":true,"metadata":{"line":24,"column":56,"cyclomaticComplexity":15,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["file:/workspace/apps/web/src/components/features/session/SessionList.tsx",{"id":"file:/workspace/apps/web/src/components/features/session/SessionList.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/session/SessionList.tsx","metadata":{"lineCount":195,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/workspace/apps/web/src/components/features/session/SessionList.tsx:SessionList",{"id":"/workspace/apps/web/src/components/features/session/SessionList.tsx:SessionList","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/session/SessionList.tsx","symbolName":"SessionList","symbolKind":"function","exported":true,"metadata":{"line":18,"column":56,"cyclomaticComplexity":16,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["external:sessions.filter",{"id":"external:sessions.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessions.filter"}}],["symbol-name:setTunnelHealth",{"id":"symbol-name:setTunnelHealth","kind":"symbol","language":"jsts","symbolName":"setTunnelHealth","metadata":{"unresolvedName":"setTunnelHealth"}}],["symbol-name:onSessionChange",{"id":"symbol-name:onSessionChange","kind":"symbol","language":"jsts","symbolName":"onSessionChange","metadata":{"unresolvedName":"onSessionChange"}}],["symbol-name:setDeleteConfirmId",{"id":"symbol-name:setDeleteConfirmId","kind":"symbol","language":"jsts","symbolName":"setDeleteConfirmId","metadata":{"unresolvedName":"setDeleteConfirmId"}}],["symbol-name:setRecreatingId",{"id":"symbol-name:setRecreatingId","kind":"symbol","language":"jsts","symbolName":"setRecreatingId","metadata":{"unresolvedName":"setRecreatingId"}}],["external:window.open",{"id":"external:window.open","kind":"external","language":"jsts","metadata":{"unresolvedName":"window.open"}}],["symbol-name:handleOpen",{"id":"symbol-name:handleOpen","kind":"symbol","language":"jsts","symbolName":"handleOpen","metadata":{"unresolvedName":"handleOpen"}}],["/workspace/apps/web/src/components/features/session/SessionList.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/features/session/SessionList.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/session/SessionList.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":186,"column":22,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/workspace/apps/web/src/components/features/session/SessionList.tsx:checkHealth",{"id":"/workspace/apps/web/src/components/features/session/SessionList.tsx:checkHealth","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/session/SessionList.tsx","symbolName":"checkHealth","symbolKind":"function","exported":false,"metadata":{"line":38,"column":23,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["file:/workspace/apps/web/src/components/features/session/index.ts",{"id":"file:/workspace/apps/web/src/components/features/session/index.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/session/index.ts","metadata":{"lineCount":4,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["file:/workspace/apps/web/src/components/features/settings/SettingsTabLayout.tsx",{"id":"file:/workspace/apps/web/src/components/features/settings/SettingsTabLayout.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/settings/SettingsTabLayout.tsx","metadata":{"lineCount":47,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/features/settings/SettingsTabLayout.module.css",{"id":"file:/workspace/apps/web/src/components/features/settings/SettingsTabLayout.module.css","kind":"file","language":"css","filePath":"/workspace/apps/web/src/components/features/settings/SettingsTabLayout.module.css"}],["/workspace/apps/web/src/components/features/settings/SettingsTabLayout.tsx:SettingsTabLayout",{"id":"/workspace/apps/web/src/components/features/settings/SettingsTabLayout.tsx:SettingsTabLayout","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/settings/SettingsTabLayout.tsx","symbolName":"SettingsTabLayout","symbolKind":"function","exported":true,"metadata":{"line":17,"column":68,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:tabs.map",{"id":"external:tabs.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"tabs.map"}}],["external:location.pathname.includes",{"id":"external:location.pathname.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"location.pathname.includes"}}],["external:xterm",{"id":"external:xterm","kind":"external","language":"jsts","metadata":{"source":"xterm"}}],["external:xterm-addon-fit",{"id":"external:xterm-addon-fit","kind":"external","language":"jsts","metadata":{"source":"xterm-addon-fit"}}],["external:xterm-addon-serialize",{"id":"external:xterm-addon-serialize","kind":"external","language":"jsts","metadata":{"source":"xterm-addon-serialize"}}],["external:xterm-addon-web-links",{"id":"external:xterm-addon-web-links","kind":"external","language":"jsts","metadata":{"source":"xterm-addon-web-links"}}],["external:xterm/css/xterm.css",{"id":"external:xterm/css/xterm.css","kind":"external","language":"jsts","metadata":{"source":"xterm/css/xterm.css"}}],["file:/workspace/apps/web/src/hooks/use-terminal-connection.ts",{"id":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-terminal-connection.ts","metadata":{"lineCount":440,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/types/terminal.ts",{"id":"file:/workspace/apps/web/src/types/terminal.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/types/terminal.ts","metadata":{"lineCount":83,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.module.css",{"id":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.module.css","kind":"file","language":"css","filePath":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.module.css"}],["external:document.documentElement.getAttribute",{"id":"external:document.documentElement.getAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.documentElement.getAttribute"}}],["external:window.matchMedia",{"id":"external:window.matchMedia","kind":"external","language":"jsts","metadata":{"unresolvedName":"window.matchMedia"}}],["external:xtermRef.current?.write",{"id":"external:xtermRef.current?.write","kind":"external","language":"jsts","metadata":{"unresolvedName":"xtermRef.current?.write"}}],["external:serializeAddonRef.current?.serialize",{"id":"external:serializeAddonRef.current?.serialize","kind":"external","language":"jsts","metadata":{"unresolvedName":"serializeAddonRef.current?.serialize"}}],["symbol-name:setSessionEnded",{"id":"symbol-name:setSessionEnded","kind":"symbol","language":"jsts","symbolName":"setSessionEnded","metadata":{"unresolvedName":"setSessionEnded"}}],["symbol-name:useTerminalConnection",{"id":"symbol-name:useTerminalConnection","kind":"symbol","language":"jsts","symbolName":"useTerminalConnection","metadata":{"unresolvedName":"useTerminalConnection"}}],["external:term.loadAddon",{"id":"external:term.loadAddon","kind":"external","language":"jsts","metadata":{"unresolvedName":"term.loadAddon"}}],["external:term.open",{"id":"external:term.open","kind":"external","language":"jsts","metadata":{"unresolvedName":"term.open"}}],["external:fitAddon.fit",{"id":"external:fitAddon.fit","kind":"external","language":"jsts","metadata":{"unresolvedName":"fitAddon.fit"}}],["external:term.onData",{"id":"external:term.onData","kind":"external","language":"jsts","metadata":{"unresolvedName":"term.onData"}}],["symbol-name:sendInput",{"id":"symbol-name:sendInput","kind":"symbol","language":"jsts","symbolName":"sendInput","metadata":{"unresolvedName":"sendInput"}}],["external:Math.abs",{"id":"external:Math.abs","kind":"external","language":"jsts","metadata":{"unresolvedName":"Math.abs"}}],["symbol-name:sendResize",{"id":"symbol-name:sendResize","kind":"symbol","language":"jsts","symbolName":"sendResize","metadata":{"unresolvedName":"sendResize"}}],["external:resizeObserver.observe",{"id":"external:resizeObserver.observe","kind":"external","language":"jsts","metadata":{"unresolvedName":"resizeObserver.observe"}}],["external:disposable.dispose",{"id":"external:disposable.dispose","kind":"external","language":"jsts","metadata":{"unresolvedName":"disposable.dispose"}}],["external:resizeObserver.disconnect",{"id":"external:resizeObserver.disconnect","kind":"external","language":"jsts","metadata":{"unresolvedName":"resizeObserver.disconnect"}}],["external:term.dispose",{"id":"external:term.dispose","kind":"external","language":"jsts","metadata":{"unresolvedName":"term.dispose"}}],["symbol-name:getStatusText",{"id":"symbol-name:getStatusText","kind":"symbol","language":"jsts","symbolName":"getStatusText","metadata":{"unresolvedName":"getStatusText"}}],["symbol-name:reconnect",{"id":"symbol-name:reconnect","kind":"symbol","language":"jsts","symbolName":"reconnect","metadata":{"unresolvedName":"reconnect"}}],["file:/workspace/apps/web/src/components/features/tool-configs/ToolConfigForm.tsx",{"id":"file:/workspace/apps/web/src/components/features/tool-configs/ToolConfigForm.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-configs/ToolConfigForm.tsx","metadata":{"lineCount":130,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/components/features/tool-configs/ToolConfigForm.tsx:ToolConfigForm",{"id":"/workspace/apps/web/src/components/features/tool-configs/ToolConfigForm.tsx:ToolConfigForm","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-configs/ToolConfigForm.tsx","symbolName":"ToolConfigForm","symbolKind":"function","exported":true,"metadata":{"line":15,"column":31,"cyclomaticComplexity":13,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["symbol-name:setSaveStatus",{"id":"symbol-name:setSaveStatus","kind":"symbol","language":"jsts","symbolName":"setSaveStatus","metadata":{"unresolvedName":"setSaveStatus"}}],["symbol-name:setFormData",{"id":"symbol-name:setFormData","kind":"symbol","language":"jsts","symbolName":"setFormData","metadata":{"unresolvedName":"setFormData"}}],["/workspace/apps/web/src/components/features/tool-configs/ToolConfigForm.tsx:handleSubmit",{"id":"/workspace/apps/web/src/components/features/tool-configs/ToolConfigForm.tsx:handleSubmit","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-configs/ToolConfigForm.tsx","symbolName":"handleSubmit","symbolKind":"function","exported":false,"metadata":{"line":30,"column":23,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["file:/workspace/apps/web/src/components/features/tool-configs/ToolConfigList.tsx",{"id":"file:/workspace/apps/web/src/components/features/tool-configs/ToolConfigList.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-configs/ToolConfigList.tsx","metadata":{"lineCount":85,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/components/features/tool-configs/ToolConfigList.tsx:ToolConfigList",{"id":"/workspace/apps/web/src/components/features/tool-configs/ToolConfigList.tsx:ToolConfigList","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-configs/ToolConfigList.tsx","symbolName":"ToolConfigList","symbolKind":"function","exported":true,"metadata":{"line":10,"column":31,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["external:configs.map",{"id":"external:configs.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"configs.map"}}],["symbol-name:onEdit",{"id":"symbol-name:onEdit","kind":"symbol","language":"jsts","symbolName":"onEdit","metadata":{"unresolvedName":"onEdit"}}],["file:/workspace/apps/web/src/components/features/tool-configs/index.ts",{"id":"file:/workspace/apps/web/src/components/features/tool-configs/index.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-configs/index.ts","metadata":{"lineCount":3,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["file:/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx",{"id":"file:/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx","metadata":{"lineCount":206,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:ToolTypeForm",{"id":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:ToolTypeForm","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx","symbolName":"ToolTypeForm","symbolKind":"function","exported":true,"metadata":{"line":18,"column":29,"cyclomaticComplexity":25,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:toolType?.default_port?.toString",{"id":"external:toolType?.default_port?.toString","kind":"external","language":"jsts","metadata":{"unresolvedName":"toolType?.default_port?.toString"}}],["external:toolType?.required_variables?.join",{"id":"external:toolType?.required_variables?.join","kind":"external","language":"jsts","metadata":{"unresolvedName":"toolType?.required_variables?.join"}}],["external:formDisplayName.trim",{"id":"external:formDisplayName.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"formDisplayName.trim"}}],["external:formTemplate.trim",{"id":"external:formTemplate.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"formTemplate.trim"}}],["external:formPort.trim",{"id":"external:formPort.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"formPort.trim"}}],["symbol-name:isNaN",{"id":"symbol-name:isNaN","kind":"symbol","language":"jsts","symbolName":"isNaN","metadata":{"unresolvedName":"isNaN"}}],["symbol-name:Number",{"id":"symbol-name:Number","kind":"symbol","language":"jsts","symbolName":"Number","metadata":{"unresolvedName":"Number"}}],["external:formVariables\n\t\t\t.split(\",\")\n\t\t\t.map((v) => v.trim())\n\t\t\t.filter",{"id":"external:formVariables\n\t\t\t.split(\",\")\n\t\t\t.map((v) => v.trim())\n\t\t\t.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"formVariables\n\t\t\t.split(\",\")\n\t\t\t.map((v) => v.trim())\n\t\t\t.filter"}}],["external:formVariables\n\t\t\t.split(\",\")\n\t\t\t.map",{"id":"external:formVariables\n\t\t\t.split(\",\")\n\t\t\t.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"formVariables\n\t\t\t.split(\",\")\n\t\t\t.map"}}],["external:formVariables\n\t\t\t.split",{"id":"external:formVariables\n\t\t\t.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"formVariables\n\t\t\t.split"}}],["external:v.trim",{"id":"external:v.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"v.trim"}}],["external:formDescription.trim",{"id":"external:formDescription.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"formDescription.trim"}}],["external:formCategory.trim",{"id":"external:formCategory.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"formCategory.trim"}}],["symbol-name:setFormInterfaces",{"id":"symbol-name:setFormInterfaces","kind":"symbol","language":"jsts","symbolName":"setFormInterfaces","metadata":{"unresolvedName":"setFormInterfaces"}}],["external:prev.includes",{"id":"external:prev.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"prev.includes"}}],["symbol-name:setFormDisplayName",{"id":"symbol-name:setFormDisplayName","kind":"symbol","language":"jsts","symbolName":"setFormDisplayName","metadata":{"unresolvedName":"setFormDisplayName"}}],["symbol-name:setFormDescription",{"id":"symbol-name:setFormDescription","kind":"symbol","language":"jsts","symbolName":"setFormDescription","metadata":{"unresolvedName":"setFormDescription"}}],["symbol-name:setFormCategory",{"id":"symbol-name:setFormCategory","kind":"symbol","language":"jsts","symbolName":"setFormCategory","metadata":{"unresolvedName":"setFormCategory"}}],["external:formInterfaces.includes",{"id":"external:formInterfaces.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"formInterfaces.includes"}}],["symbol-name:toggleInterface",{"id":"symbol-name:toggleInterface","kind":"symbol","language":"jsts","symbolName":"toggleInterface","metadata":{"unresolvedName":"toggleInterface"}}],["symbol-name:setFormPort",{"id":"symbol-name:setFormPort","kind":"symbol","language":"jsts","symbolName":"setFormPort","metadata":{"unresolvedName":"setFormPort"}}],["symbol-name:setFormTemplate",{"id":"symbol-name:setFormTemplate","kind":"symbol","language":"jsts","symbolName":"setFormTemplate","metadata":{"unresolvedName":"setFormTemplate"}}],["symbol-name:setFormVariables",{"id":"symbol-name:setFormVariables","kind":"symbol","language":"jsts","symbolName":"setFormVariables","metadata":{"unresolvedName":"setFormVariables"}}],["/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:handleSubmit",{"id":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:handleSubmit","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx","symbolName":"handleSubmit","symbolKind":"function","exported":false,"metadata":{"line":46,"column":23,"cyclomaticComplexity":12,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:toggleInterface",{"id":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:toggleInterface","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx","symbolName":"toggleInterface","symbolKind":"function","exported":false,"metadata":{"line":90,"column":26,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/features/tool-types/ToolTypeList.tsx",{"id":"file:/workspace/apps/web/src/components/features/tool-types/ToolTypeList.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-types/ToolTypeList.tsx","metadata":{"lineCount":87,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/features/tool-types/ToolTypeList.tsx:ToolTypeList",{"id":"/workspace/apps/web/src/components/features/tool-types/ToolTypeList.tsx:ToolTypeList","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-types/ToolTypeList.tsx","symbolName":"ToolTypeList","symbolKind":"function","exported":true,"metadata":{"line":12,"column":29,"cyclomaticComplexity":9,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:toolType.interfaces.join",{"id":"external:toolType.interfaces.join","kind":"external","language":"jsts","metadata":{"unresolvedName":"toolType.interfaces.join"}}],["file:/workspace/apps/web/src/components/features/tool-types/index.ts",{"id":"file:/workspace/apps/web/src/components/features/tool-types/index.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-types/index.ts","metadata":{"lineCount":3,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx",{"id":"file:/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx","metadata":{"lineCount":290,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:ConfigFoldersTab",{"id":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:ConfigFoldersTab","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx","symbolName":"ConfigFoldersTab","symbolKind":"function","exported":true,"metadata":{"line":13,"column":33,"cyclomaticComplexity":23,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["symbol-name:setFolders",{"id":"symbol-name:setFolders","kind":"symbol","language":"jsts","symbolName":"setFolders","metadata":{"unresolvedName":"setFolders"}}],["symbol-name:loadFolders",{"id":"symbol-name:loadFolders","kind":"symbol","language":"jsts","symbolName":"loadFolders","metadata":{"unresolvedName":"loadFolders"}}],["symbol-name:setFolderForm",{"id":"symbol-name:setFolderForm","kind":"symbol","language":"jsts","symbolName":"setFolderForm","metadata":{"unresolvedName":"setFolderForm"}}],["symbol-name:setFolderError",{"id":"symbol-name:setFolderError","kind":"symbol","language":"jsts","symbolName":"setFolderError","metadata":{"unresolvedName":"setFolderError"}}],["symbol-name:setShowFolderForm",{"id":"symbol-name:setShowFolderForm","kind":"symbol","language":"jsts","symbolName":"setShowFolderForm","metadata":{"unresolvedName":"setShowFolderForm"}}],["symbol-name:setSelectedFolder",{"id":"symbol-name:setSelectedFolder","kind":"symbol","language":"jsts","symbolName":"setSelectedFolder","metadata":{"unresolvedName":"setSelectedFolder"}}],["external:JSON.stringify",{"id":"external:JSON.stringify","kind":"external","language":"jsts","metadata":{"unresolvedName":"JSON.stringify"}}],["external:folderForm.name.trim",{"id":"external:folderForm.name.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"folderForm.name.trim"}}],["external:folderForm.mount_path.trim",{"id":"external:folderForm.mount_path.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"folderForm.mount_path.trim"}}],["external:folderForm.files_json.trim",{"id":"external:folderForm.files_json.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"folderForm.files_json.trim"}}],["external:JSON.parse",{"id":"external:JSON.parse","kind":"external","language":"jsts","metadata":{"unresolvedName":"JSON.parse"}}],["external:folderForm.description.trim",{"id":"external:folderForm.description.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"folderForm.description.trim"}}],["symbol-name:alert",{"id":"symbol-name:alert","kind":"symbol","language":"jsts","symbolName":"alert","metadata":{"unresolvedName":"alert"}}],["external:folders.map",{"id":"external:folders.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"folders.map"}}],["external:Object.keys",{"id":"external:Object.keys","kind":"external","language":"jsts","metadata":{"unresolvedName":"Object.keys"}}],["symbol-name:openEditFolder",{"id":"symbol-name:openEditFolder","kind":"symbol","language":"jsts","symbolName":"openEditFolder","metadata":{"unresolvedName":"openEditFolder"}}],["symbol-name:handleDeleteFolder",{"id":"symbol-name:handleDeleteFolder","kind":"symbol","language":"jsts","symbolName":"handleDeleteFolder","metadata":{"unresolvedName":"handleDeleteFolder"}}],["/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":42,"column":12,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:openCreateFolder",{"id":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:openCreateFolder","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx","symbolName":"openCreateFolder","symbolKind":"function","exported":false,"metadata":{"line":46,"column":27,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:openEditFolder",{"id":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:openEditFolder","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx","symbolName":"openEditFolder","symbolKind":"function","exported":false,"metadata":{"line":59,"column":25,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:handleFolderSubmit",{"id":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:handleFolderSubmit","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx","symbolName":"handleFolderSubmit","symbolKind":"function","exported":false,"metadata":{"line":72,"column":29,"cyclomaticComplexity":10,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:handleDeleteFolder",{"id":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:handleDeleteFolder","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx","symbolName":"handleDeleteFolder","symbolKind":"function","exported":false,"metadata":{"line":119,"column":29,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["file:/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx",{"id":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx","metadata":{"lineCount":461,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:ToolConfigsTab",{"id":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:ToolConfigsTab","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx","symbolName":"ToolConfigsTab","symbolKind":"function","exported":true,"metadata":{"line":13,"column":31,"cyclomaticComplexity":40,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["external:Promise.all",{"id":"external:Promise.all","kind":"external","language":"jsts","metadata":{"unresolvedName":"Promise.all"}}],["symbol-name:listToolConfigs",{"id":"symbol-name:listToolConfigs","kind":"symbol","language":"jsts","symbolName":"listToolConfigs","metadata":{"unresolvedName":"listToolConfigs"}}],["symbol-name:setConfigs",{"id":"symbol-name:setConfigs","kind":"symbol","language":"jsts","symbolName":"setConfigs","metadata":{"unresolvedName":"setConfigs"}}],["symbol-name:setToolTypes",{"id":"symbol-name:setToolTypes","kind":"symbol","language":"jsts","symbolName":"setToolTypes","metadata":{"unresolvedName":"setToolTypes"}}],["symbol-name:loadData",{"id":"symbol-name:loadData","kind":"symbol","language":"jsts","symbolName":"loadData","metadata":{"unresolvedName":"loadData"}}],["symbol-name:setConfigForm",{"id":"symbol-name:setConfigForm","kind":"symbol","language":"jsts","symbolName":"setConfigForm","metadata":{"unresolvedName":"setConfigForm"}}],["symbol-name:setConfigError",{"id":"symbol-name:setConfigError","kind":"symbol","language":"jsts","symbolName":"setConfigError","metadata":{"unresolvedName":"setConfigError"}}],["symbol-name:setShowConfigForm",{"id":"symbol-name:setShowConfigForm","kind":"symbol","language":"jsts","symbolName":"setShowConfigForm","metadata":{"unresolvedName":"setShowConfigForm"}}],["symbol-name:setSelectedConfig",{"id":"symbol-name:setSelectedConfig","kind":"symbol","language":"jsts","symbolName":"setSelectedConfig","metadata":{"unresolvedName":"setSelectedConfig"}}],["external:config.port_override?.toString",{"id":"external:config.port_override?.toString","kind":"external","language":"jsts","metadata":{"unresolvedName":"config.port_override?.toString"}}],["external:configForm.key.trim",{"id":"external:configForm.key.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"configForm.key.trim"}}],["external:configForm.env_vars_json.trim",{"id":"external:configForm.env_vars_json.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"configForm.env_vars_json.trim"}}],["external:configForm.volumes_json.trim",{"id":"external:configForm.volumes_json.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"configForm.volumes_json.trim"}}],["external:configForm.start_command.trim",{"id":"external:configForm.start_command.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"configForm.start_command.trim"}}],["external:configForm.working_directory.trim",{"id":"external:configForm.working_directory.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"configForm.working_directory.trim"}}],["symbol-name:updateToolConfig",{"id":"symbol-name:updateToolConfig","kind":"symbol","language":"jsts","symbolName":"updateToolConfig","metadata":{"unresolvedName":"updateToolConfig"}}],["symbol-name:createToolConfig",{"id":"symbol-name:createToolConfig","kind":"symbol","language":"jsts","symbolName":"createToolConfig","metadata":{"unresolvedName":"createToolConfig"}}],["symbol-name:deleteToolConfig",{"id":"symbol-name:deleteToolConfig","kind":"symbol","language":"jsts","symbolName":"deleteToolConfig","metadata":{"unresolvedName":"deleteToolConfig"}}],["symbol-name:openEditConfig",{"id":"symbol-name:openEditConfig","kind":"symbol","language":"jsts","symbolName":"openEditConfig","metadata":{"unresolvedName":"openEditConfig"}}],["symbol-name:handleDeleteConfig",{"id":"symbol-name:handleDeleteConfig","kind":"symbol","language":"jsts","symbolName":"handleDeleteConfig","metadata":{"unresolvedName":"handleDeleteConfig"}}],["/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":50,"column":12,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:openCreateConfig",{"id":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:openCreateConfig","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx","symbolName":"openCreateConfig","symbolKind":"function","exported":false,"metadata":{"line":54,"column":27,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:openEditConfig",{"id":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:openEditConfig","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx","symbolName":"openEditConfig","symbolKind":"function","exported":false,"metadata":{"line":72,"column":25,"cyclomaticComplexity":7,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:handleConfigSubmit",{"id":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:handleConfigSubmit","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx","symbolName":"handleConfigSubmit","symbolKind":"function","exported":false,"metadata":{"line":94,"column":29,"cyclomaticComplexity":16,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:handleDeleteConfig",{"id":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:handleDeleteConfig","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx","symbolName":"handleDeleteConfig","symbolKind":"function","exported":false,"metadata":{"line":165,"column":29,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx",{"id":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx","metadata":{"lineCount":61,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx",{"id":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx","metadata":{"lineCount":544,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":54,"column":17,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:expect(screen.getByText(/loading tool types/i)).toBeInTheDocument",{"id":"external:expect(screen.getByText(/loading tool types/i)).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(/loading tool types/i)).toBeInTheDocument"}}],["external:expect(screen.getByText(\"Tool Types\")).toBeInTheDocument",{"id":"external:expect(screen.getByText(\"Tool Types\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(\"Tool Types\")).toBeInTheDocument"}}],["external:expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument",{"id":"external:expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument"}}],["external:mockedList.mockRejectedValueOnce",{"id":"external:mockedList.mockRejectedValueOnce","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockedList.mockRejectedValueOnce"}}],["/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab",{"id":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx","symbolName":"ToolTypesTab","symbolKind":"function","exported":true,"metadata":{"line":14,"column":29,"cyclomaticComplexity":56,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:loadToolTypes",{"id":"symbol-name:loadToolTypes","kind":"symbol","language":"jsts","symbolName":"loadToolTypes","metadata":{"unresolvedName":"loadToolTypes"}}],["symbol-name:setToolTypeForm",{"id":"symbol-name:setToolTypeForm","kind":"symbol","language":"jsts","symbolName":"setToolTypeForm","metadata":{"unresolvedName":"setToolTypeForm"}}],["symbol-name:setToolTypeError",{"id":"symbol-name:setToolTypeError","kind":"symbol","language":"jsts","symbolName":"setToolTypeError","metadata":{"unresolvedName":"setToolTypeError"}}],["symbol-name:setShowToolTypeForm",{"id":"symbol-name:setShowToolTypeForm","kind":"symbol","language":"jsts","symbolName":"setShowToolTypeForm","metadata":{"unresolvedName":"setShowToolTypeForm"}}],["external:toolType.default_port?.toString",{"id":"external:toolType.default_port?.toString","kind":"external","language":"jsts","metadata":{"unresolvedName":"toolType.default_port?.toString"}}],["external:toolType.readiness_probe?.timeout?.toString",{"id":"external:toolType.readiness_probe?.timeout?.toString","kind":"external","language":"jsts","metadata":{"unresolvedName":"toolType.readiness_probe?.timeout?.toString"}}],["external:toolType.readiness_probe?.interval?.toString",{"id":"external:toolType.readiness_probe?.interval?.toString","kind":"external","language":"jsts","metadata":{"unresolvedName":"toolType.readiness_probe?.interval?.toString"}}],["external:toolType.required_variables?.join",{"id":"external:toolType.required_variables?.join","kind":"external","language":"jsts","metadata":{"unresolvedName":"toolType.required_variables?.join"}}],["external:toolTypeForm.name.trim",{"id":"external:toolTypeForm.name.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"toolTypeForm.name.trim"}}],["external:toolTypeForm.display_name.trim",{"id":"external:toolTypeForm.display_name.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"toolTypeForm.display_name.trim"}}],["external:toolTypeForm.default_port.trim",{"id":"external:toolTypeForm.default_port.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"toolTypeForm.default_port.trim"}}],["external:template.trim",{"id":"external:template.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"template.trim"}}],["external:toolTypeForm.required_variables\n\t\t\t.split(\",\")\n\t\t\t.map",{"id":"external:toolTypeForm.required_variables\n\t\t\t.split(\",\")\n\t\t\t.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"toolTypeForm.required_variables\n\t\t\t.split(\",\")\n\t\t\t.map"}}],["external:toolTypeForm.required_variables\n\t\t\t.split",{"id":"external:toolTypeForm.required_variables\n\t\t\t.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"toolTypeForm.required_variables\n\t\t\t.split"}}],["external:toolTypeForm.readiness_command.trim",{"id":"external:toolTypeForm.readiness_command.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"toolTypeForm.readiness_command.trim"}}],["symbol-name:parseInt",{"id":"symbol-name:parseInt","kind":"symbol","language":"jsts","symbolName":"parseInt","metadata":{"unresolvedName":"parseInt"}}],["external:toolTypeForm.description.trim",{"id":"external:toolTypeForm.description.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"toolTypeForm.description.trim"}}],["external:toolTypeForm.category.trim",{"id":"external:toolTypeForm.category.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"toolTypeForm.category.trim"}}],["external:[\"web\", \"terminal\"].map",{"id":"external:[\"web\", \"terminal\"].map","kind":"external","language":"jsts","metadata":{"unresolvedName":"[\"web\", \"terminal\"].map"}}],["external:toolTypeForm.interfaces.includes",{"id":"external:toolTypeForm.interfaces.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"toolTypeForm.interfaces.includes"}}],["external:toolTypeForm.interfaces.filter",{"id":"external:toolTypeForm.interfaces.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"toolTypeForm.interfaces.filter"}}],["symbol-name:openEditToolType",{"id":"symbol-name:openEditToolType","kind":"symbol","language":"jsts","symbolName":"openEditToolType","metadata":{"unresolvedName":"openEditToolType"}}],["symbol-name:handleDeleteToolType",{"id":"symbol-name:handleDeleteToolType","kind":"symbol","language":"jsts","symbolName":"handleDeleteToolType","metadata":{"unresolvedName":"handleDeleteToolType"}}],["/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":391,"column":19,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:openCreateToolType",{"id":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:openCreateToolType","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx","symbolName":"openCreateToolType","symbolKind":"function","exported":false,"metadata":{"line":55,"column":29,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:openEditToolType",{"id":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:openEditToolType","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx","symbolName":"openEditToolType","symbolKind":"function","exported":false,"metadata":{"line":76,"column":27,"cyclomaticComplexity":12,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:handleToolTypeSubmit",{"id":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:handleToolTypeSubmit","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx","symbolName":"handleToolTypeSubmit","symbolKind":"function","exported":false,"metadata":{"line":97,"column":31,"cyclomaticComplexity":24,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:handleDeleteToolType",{"id":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:handleDeleteToolType","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx","symbolName":"handleDeleteToolType","symbolKind":"function","exported":false,"metadata":{"line":196,"column":31,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/features/tool-workshop/index.ts",{"id":"file:/workspace/apps/web/src/components/features/tool-workshop/index.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-workshop/index.ts","metadata":{"lineCount":4,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/features/workspace/WorkspaceHeader.tsx",{"id":"file:/workspace/apps/web/src/components/features/workspace/WorkspaceHeader.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/workspace/WorkspaceHeader.tsx","metadata":{"lineCount":49,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/features/workspace/WorkspaceHeader.tsx:WorkspaceHeader",{"id":"/workspace/apps/web/src/components/features/workspace/WorkspaceHeader.tsx:WorkspaceHeader","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/workspace/WorkspaceHeader.tsx","symbolName":"WorkspaceHeader","symbolKind":"function","exported":true,"metadata":{"line":16,"column":32,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/git-mount-editor.tsx",{"id":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/git-mount-editor.tsx","metadata":{"lineCount":575,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/git-mount-editor.tsx:normalizeMount",{"id":"/workspace/apps/web/src/components/git-mount-editor.tsx:normalizeMount","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/git-mount-editor.tsx","symbolName":"normalizeMount","symbolKind":"function","exported":false,"metadata":{"line":11,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/git-mount-editor.tsx:normalizeMounts",{"id":"/workspace/apps/web/src/components/git-mount-editor.tsx:normalizeMounts","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/git-mount-editor.tsx","symbolName":"normalizeMounts","symbolKind":"function","exported":false,"metadata":{"line":32,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:mounts.map",{"id":"external:mounts.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"mounts.map"}}],["/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountEditor",{"id":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountEditor","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/git-mount-editor.tsx","symbolName":"GitMountEditor","symbolKind":"function","exported":true,"metadata":{"line":36,"column":31,"cyclomaticComplexity":6,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:normalizeMounts",{"id":"symbol-name:normalizeMounts","kind":"symbol","language":"jsts","symbolName":"normalizeMounts","metadata":{"unresolvedName":"normalizeMounts"}}],["symbol-name:setNormalizedMounts",{"id":"symbol-name:setNormalizedMounts","kind":"symbol","language":"jsts","symbolName":"setNormalizedMounts","metadata":{"unresolvedName":"setNormalizedMounts"}}],["symbol-name:normalizeMount",{"id":"symbol-name:normalizeMount","kind":"symbol","language":"jsts","symbolName":"normalizeMount","metadata":{"unresolvedName":"normalizeMount"}}],["symbol-name:onChange",{"id":"symbol-name:onChange","kind":"symbol","language":"jsts","symbolName":"onChange","metadata":{"unresolvedName":"onChange"}}],["symbol-name:setIsAdding",{"id":"symbol-name:setIsAdding","kind":"symbol","language":"jsts","symbolName":"setIsAdding","metadata":{"unresolvedName":"setIsAdding"}}],["symbol-name:setEditingIndex",{"id":"symbol-name:setEditingIndex","kind":"symbol","language":"jsts","symbolName":"setEditingIndex","metadata":{"unresolvedName":"setEditingIndex"}}],["external:normalizedMounts.filter",{"id":"external:normalizedMounts.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"normalizedMounts.filter"}}],["external:normalizedMounts.map",{"id":"external:normalizedMounts.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"normalizedMounts.map"}}],["symbol-name:handleUpdate",{"id":"symbol-name:handleUpdate","kind":"symbol","language":"jsts","symbolName":"handleUpdate","metadata":{"unresolvedName":"handleUpdate"}}],["external:mount.mappings?.map",{"id":"external:mount.mappings?.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"mount.mappings?.map"}}],["symbol-name:handleRemove",{"id":"symbol-name:handleRemove","kind":"symbol","language":"jsts","symbolName":"handleRemove","metadata":{"unresolvedName":"handleRemove"}}],["/workspace/apps/web/src/components/git-mount-editor.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/git-mount-editor.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/git-mount-editor.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":379,"column":20,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/git-mount-editor.tsx:handleAdd",{"id":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleAdd","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/git-mount-editor.tsx","symbolName":"handleAdd","symbolKind":"function","exported":false,"metadata":{"line":50,"column":20,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/git-mount-editor.tsx:handleUpdate",{"id":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleUpdate","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/git-mount-editor.tsx","symbolName":"handleUpdate","symbolKind":"function","exported":false,"metadata":{"line":57,"column":23,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/git-mount-editor.tsx:handleRemove",{"id":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleRemove","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/git-mount-editor.tsx","symbolName":"handleRemove","symbolKind":"function","exported":false,"metadata":{"line":65,"column":23,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountForm",{"id":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountForm","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/git-mount-editor.tsx","symbolName":"GitMountForm","symbolKind":"function","exported":false,"metadata":{"line":218,"column":22,"cyclomaticComplexity":46,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:remoteUrl.trim",{"id":"external:remoteUrl.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"remoteUrl.trim"}}],["symbol-name:setErrors",{"id":"symbol-name:setErrors","kind":"symbol","language":"jsts","symbolName":"setErrors","metadata":{"unresolvedName":"setErrors"}}],["symbol-name:setValidation",{"id":"symbol-name:setValidation","kind":"symbol","language":"jsts","symbolName":"setValidation","metadata":{"unresolvedName":"setValidation"}}],["symbol-name:validateGitUrl",{"id":"symbol-name:validateGitUrl","kind":"symbol","language":"jsts","symbolName":"validateGitUrl","metadata":{"unresolvedName":"validateGitUrl"}}],["symbol-name:setRemoteUrl",{"id":"symbol-name:setRemoteUrl","kind":"symbol","language":"jsts","symbolName":"setRemoteUrl","metadata":{"unresolvedName":"setRemoteUrl"}}],["external:remoteUrl.startsWith",{"id":"external:remoteUrl.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"remoteUrl.startsWith"}}],["external:mappings.forEach",{"id":"external:mappings.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"mappings.forEach"}}],["external:m.target_path.trim",{"id":"external:m.target_path.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"m.target_path.trim"}}],["external:m.source_path.includes",{"id":"external:m.source_path.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"m.source_path.includes"}}],["external:m.target_path.includes",{"id":"external:m.target_path.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"m.target_path.includes"}}],["symbol-name:validate",{"id":"symbol-name:validate","kind":"symbol","language":"jsts","symbolName":"validate","metadata":{"unresolvedName":"validate"}}],["symbol-name:onSave",{"id":"symbol-name:onSave","kind":"symbol","language":"jsts","symbolName":"onSave","metadata":{"unresolvedName":"onSave"}}],["external:branch.trim",{"id":"external:branch.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"branch.trim"}}],["external:mappings.map",{"id":"external:mappings.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"mappings.map"}}],["external:m.source_path.trim",{"id":"external:m.source_path.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"m.source_path.trim"}}],["symbol-name:setMappings",{"id":"symbol-name:setMappings","kind":"symbol","language":"jsts","symbolName":"setMappings","metadata":{"unresolvedName":"setMappings"}}],["symbol-name:updateMapping",{"id":"symbol-name:updateMapping","kind":"symbol","language":"jsts","symbolName":"updateMapping","metadata":{"unresolvedName":"updateMapping"}}],["symbol-name:removeMapping",{"id":"symbol-name:removeMapping","kind":"symbol","language":"jsts","symbolName":"removeMapping","metadata":{"unresolvedName":"removeMapping"}}],["/workspace/apps/web/src/components/git-mount-editor.tsx:handleCheckUrl",{"id":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleCheckUrl","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/git-mount-editor.tsx","symbolName":"handleCheckUrl","symbolKind":"function","exported":false,"metadata":{"line":239,"column":25,"cyclomaticComplexity":13,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/git-mount-editor.tsx:applySuggestion",{"id":"/workspace/apps/web/src/components/git-mount-editor.tsx:applySuggestion","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/git-mount-editor.tsx","symbolName":"applySuggestion","symbolKind":"function","exported":false,"metadata":{"line":284,"column":26,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/git-mount-editor.tsx:validate",{"id":"/workspace/apps/web/src/components/git-mount-editor.tsx:validate","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/git-mount-editor.tsx","symbolName":"validate","symbolKind":"function","exported":false,"metadata":{"line":291,"column":19,"cyclomaticComplexity":9,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/git-mount-editor.tsx:handleSubmit",{"id":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleSubmit","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/git-mount-editor.tsx","symbolName":"handleSubmit","symbolKind":"function","exported":false,"metadata":{"line":322,"column":23,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/git-mount-editor.tsx:addMapping",{"id":"/workspace/apps/web/src/components/git-mount-editor.tsx:addMapping","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/git-mount-editor.tsx","symbolName":"addMapping","symbolKind":"function","exported":false,"metadata":{"line":334,"column":21,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/git-mount-editor.tsx:updateMapping",{"id":"/workspace/apps/web/src/components/git-mount-editor.tsx:updateMapping","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/git-mount-editor.tsx","symbolName":"updateMapping","symbolKind":"function","exported":false,"metadata":{"line":338,"column":24,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/git-mount-editor.tsx:removeMapping",{"id":"/workspace/apps/web/src/components/git-mount-editor.tsx:removeMapping","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/git-mount-editor.tsx","symbolName":"removeMapping","symbolKind":"function","exported":false,"metadata":{"line":357,"column":24,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/layout/AppShell.tsx",{"id":"file:/workspace/apps/web/src/components/layout/AppShell.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/layout/AppShell.tsx","metadata":{"lineCount":138,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/hooks/use-theme.ts",{"id":"file:/workspace/apps/web/src/hooks/use-theme.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-theme.ts","metadata":{"lineCount":24,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/state/sessions.tsx",{"id":"file:/workspace/apps/web/src/state/sessions.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/state/sessions.tsx","metadata":{"lineCount":42,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["file:/workspace/apps/web/src/utils/icons.ts",{"id":"file:/workspace/apps/web/src/utils/icons.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/utils/icons.ts","metadata":{"lineCount":2,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/layout/AppShell.module.css",{"id":"file:/workspace/apps/web/src/components/layout/AppShell.module.css","kind":"file","language":"css","filePath":"/workspace/apps/web/src/components/layout/AppShell.module.css"}],["/workspace/apps/web/src/components/layout/AppShell.tsx:SessionItem",{"id":"/workspace/apps/web/src/components/layout/AppShell.tsx:SessionItem","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/layout/AppShell.tsx","symbolName":"SessionItem","symbolKind":"function","exported":false,"metadata":{"line":22,"column":21,"cyclomaticComplexity":7,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/workspace/apps/web/src/components/layout/AppShell.tsx:AppShell",{"id":"/workspace/apps/web/src/components/layout/AppShell.tsx:AppShell","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/layout/AppShell.tsx","symbolName":"AppShell","symbolKind":"function","exported":true,"metadata":{"line":44,"column":25,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:useTheme",{"id":"symbol-name:useTheme","kind":"symbol","language":"jsts","symbolName":"useTheme","metadata":{"unresolvedName":"useTheme"}}],["symbol-name:useSessions",{"id":"symbol-name:useSessions","kind":"symbol","language":"jsts","symbolName":"useSessions","metadata":{"unresolvedName":"useSessions"}}],["symbol-name:getUserSessions",{"id":"symbol-name:getUserSessions","kind":"symbol","language":"jsts","symbolName":"getUserSessions","metadata":{"unresolvedName":"getUserSessions"}}],["symbol-name:setAllSessions",{"id":"symbol-name:setAllSessions","kind":"symbol","language":"jsts","symbolName":"setAllSessions","metadata":{"unresolvedName":"setAllSessions"}}],["symbol-name:loadSessions",{"id":"symbol-name:loadSessions","kind":"symbol","language":"jsts","symbolName":"loadSessions","metadata":{"unresolvedName":"loadSessions"}}],["symbol-name:logout",{"id":"symbol-name:logout","kind":"symbol","language":"jsts","symbolName":"logout","metadata":{"unresolvedName":"logout"}}],["external:NAV_ITEMS.map",{"id":"external:NAV_ITEMS.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"NAV_ITEMS.map"}}],["external:ACTIVE_STATUSES.includes",{"id":"external:ACTIVE_STATUSES.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"ACTIVE_STATUSES.includes"}}],["external:sessions\n\t\t\t\t\t\t\t\t.filter",{"id":"external:sessions\n\t\t\t\t\t\t\t\t.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessions\n\t\t\t\t\t\t\t\t.filter"}}],["/workspace/apps/web/src/components/layout/AppShell.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/layout/AppShell.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/layout/AppShell.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":92,"column":21,"cyclomaticComplexity":4,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/manifest-editor.tsx",{"id":"file:/workspace/apps/web/src/components/manifest-editor.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/manifest-editor.tsx","metadata":{"lineCount":859,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/utils/errors.ts",{"id":"file:/workspace/apps/web/src/utils/errors.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/utils/errors.ts","metadata":{"lineCount":10,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor",{"id":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/manifest-editor.tsx","symbolName":"ManifestEditor","symbolKind":"function","exported":true,"metadata":{"line":32,"column":31,"cyclomaticComplexity":45,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:setBaseImage",{"id":"symbol-name:setBaseImage","kind":"symbol","language":"jsts","symbolName":"setBaseImage","metadata":{"unresolvedName":"setBaseImage"}}],["symbol-name:setBaseDefinitionId",{"id":"symbol-name:setBaseDefinitionId","kind":"symbol","language":"jsts","symbolName":"setBaseDefinitionId","metadata":{"unresolvedName":"setBaseDefinitionId"}}],["symbol-name:setAptPackages",{"id":"symbol-name:setAptPackages","kind":"symbol","language":"jsts","symbolName":"setAptPackages","metadata":{"unresolvedName":"setAptPackages"}}],["external:((pkgs.apt as string[]) || []).map",{"id":"external:((pkgs.apt as string[]) || []).map","kind":"external","language":"jsts","metadata":{"unresolvedName":"((pkgs.apt as string[]) || []).map"}}],["symbol-name:setNpmPackages",{"id":"symbol-name:setNpmPackages","kind":"symbol","language":"jsts","symbolName":"setNpmPackages","metadata":{"unresolvedName":"setNpmPackages"}}],["external:((pkgs.npm_global as string[]) || []).map",{"id":"external:((pkgs.npm_global as string[]) || []).map","kind":"external","language":"jsts","metadata":{"unresolvedName":"((pkgs.npm_global as string[]) || []).map"}}],["symbol-name:setPipPackages",{"id":"symbol-name:setPipPackages","kind":"symbol","language":"jsts","symbolName":"setPipPackages","metadata":{"unresolvedName":"setPipPackages"}}],["external:((pkgs.pip as string[]) || []).map",{"id":"external:((pkgs.pip as string[]) || []).map","kind":"external","language":"jsts","metadata":{"unresolvedName":"((pkgs.pip as string[]) || []).map"}}],["symbol-name:setNodeVersion",{"id":"symbol-name:setNodeVersion","kind":"symbol","language":"jsts","symbolName":"setNodeVersion","metadata":{"unresolvedName":"setNodeVersion"}}],["symbol-name:setUserName",{"id":"symbol-name:setUserName","kind":"symbol","language":"jsts","symbolName":"setUserName","metadata":{"unresolvedName":"setUserName"}}],["symbol-name:setUserUid",{"id":"symbol-name:setUserUid","kind":"symbol","language":"jsts","symbolName":"setUserUid","metadata":{"unresolvedName":"setUserUid"}}],["symbol-name:setUserGid",{"id":"symbol-name:setUserGid","kind":"symbol","language":"jsts","symbolName":"setUserGid","metadata":{"unresolvedName":"setUserGid"}}],["symbol-name:setEnvVars",{"id":"symbol-name:setEnvVars","kind":"symbol","language":"jsts","symbolName":"setEnvVars","metadata":{"unresolvedName":"setEnvVars"}}],["external:Object.entries(env).map",{"id":"external:Object.entries(env).map","kind":"external","language":"jsts","metadata":{"unresolvedName":"Object.entries(env).map"}}],["external:Object.entries",{"id":"external:Object.entries","kind":"external","language":"jsts","metadata":{"unresolvedName":"Object.entries"}}],["symbol-name:setBuildScripts",{"id":"symbol-name:setBuildScripts","kind":"symbol","language":"jsts","symbolName":"setBuildScripts","metadata":{"unresolvedName":"setBuildScripts"}}],["symbol-name:setStartupScripts",{"id":"symbol-name:setStartupScripts","kind":"symbol","language":"jsts","symbolName":"setStartupScripts","metadata":{"unresolvedName":"setStartupScripts"}}],["symbol-name:setMounts",{"id":"symbol-name:setMounts","kind":"symbol","language":"jsts","symbolName":"setMounts","metadata":{"unresolvedName":"setMounts"}}],["symbol-name:setCommand",{"id":"symbol-name:setCommand","kind":"symbol","language":"jsts","symbolName":"setCommand","metadata":{"unresolvedName":"setCommand"}}],["symbol-name:setWorkingDir",{"id":"symbol-name:setWorkingDir","kind":"symbol","language":"jsts","symbolName":"setWorkingDir","metadata":{"unresolvedName":"setWorkingDir"}}],["symbol-name:setStdinOpen",{"id":"symbol-name:setStdinOpen","kind":"symbol","language":"jsts","symbolName":"setStdinOpen","metadata":{"unresolvedName":"setStdinOpen"}}],["symbol-name:setTty",{"id":"symbol-name:setTty","kind":"symbol","language":"jsts","symbolName":"setTty","metadata":{"unresolvedName":"setTty"}}],["external:aptPackages.map((p) => p.name).filter",{"id":"external:aptPackages.map((p) => p.name).filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"aptPackages.map((p) => p.name).filter"}}],["external:aptPackages.map",{"id":"external:aptPackages.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"aptPackages.map"}}],["external:npmPackages.map((p) => p.name).filter",{"id":"external:npmPackages.map((p) => p.name).filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"npmPackages.map((p) => p.name).filter"}}],["external:npmPackages.map",{"id":"external:npmPackages.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"npmPackages.map"}}],["external:pipPackages.map((p) => p.name).filter",{"id":"external:pipPackages.map((p) => p.name).filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"pipPackages.map((p) => p.name).filter"}}],["external:pipPackages.map",{"id":"external:pipPackages.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"pipPackages.map"}}],["external:envVars.forEach",{"id":"external:envVars.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"envVars.forEach"}}],["external:buildScripts.filter",{"id":"external:buildScripts.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"buildScripts.filter"}}],["external:startupScripts.filter",{"id":"external:startupScripts.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"startupScripts.filter"}}],["external:mounts.filter",{"id":"external:mounts.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"mounts.filter"}}],["external:command.filter",{"id":"external:command.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"command.filter"}}],["symbol-name:buildManifest",{"id":"symbol-name:buildManifest","kind":"symbol","language":"jsts","symbolName":"buildManifest","metadata":{"unresolvedName":"buildManifest"}}],["external:onChangeRef.current",{"id":"external:onChangeRef.current","kind":"external","language":"jsts","metadata":{"unresolvedName":"onChangeRef.current"}}],["symbol-name:setPreviewError",{"id":"symbol-name:setPreviewError","kind":"symbol","language":"jsts","symbolName":"setPreviewError","metadata":{"unresolvedName":"setPreviewError"}}],["symbol-name:setPreviewLoading",{"id":"symbol-name:setPreviewLoading","kind":"symbol","language":"jsts","symbolName":"setPreviewLoading","metadata":{"unresolvedName":"setPreviewLoading"}}],["symbol-name:compileToolDefinition",{"id":"symbol-name:compileToolDefinition","kind":"symbol","language":"jsts","symbolName":"compileToolDefinition","metadata":{"unresolvedName":"compileToolDefinition"}}],["symbol-name:setPreview",{"id":"symbol-name:setPreview","kind":"symbol","language":"jsts","symbolName":"setPreview","metadata":{"unresolvedName":"setPreview"}}],["symbol-name:extractErrorMessage",{"id":"symbol-name:extractErrorMessage","kind":"symbol","language":"jsts","symbolName":"extractErrorMessage","metadata":{"unresolvedName":"extractErrorMessage"}}],["external:aptPackages.filter",{"id":"external:aptPackages.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"aptPackages.filter"}}],["external:npmPackages.filter",{"id":"external:npmPackages.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"npmPackages.filter"}}],["external:pipPackages.filter",{"id":"external:pipPackages.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"pipPackages.filter"}}],["external:envVars.filter",{"id":"external:envVars.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"envVars.filter"}}],["external:baseDefinitions.map",{"id":"external:baseDefinitions.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"baseDefinitions.map"}}],["symbol-name:updateAptPackage",{"id":"symbol-name:updateAptPackage","kind":"symbol","language":"jsts","symbolName":"updateAptPackage","metadata":{"unresolvedName":"updateAptPackage"}}],["symbol-name:removeAptPackage",{"id":"symbol-name:removeAptPackage","kind":"symbol","language":"jsts","symbolName":"removeAptPackage","metadata":{"unresolvedName":"removeAptPackage"}}],["symbol-name:updateNpmPackage",{"id":"symbol-name:updateNpmPackage","kind":"symbol","language":"jsts","symbolName":"updateNpmPackage","metadata":{"unresolvedName":"updateNpmPackage"}}],["symbol-name:removeNpmPackage",{"id":"symbol-name:removeNpmPackage","kind":"symbol","language":"jsts","symbolName":"removeNpmPackage","metadata":{"unresolvedName":"removeNpmPackage"}}],["symbol-name:updatePipPackage",{"id":"symbol-name:updatePipPackage","kind":"symbol","language":"jsts","symbolName":"updatePipPackage","metadata":{"unresolvedName":"updatePipPackage"}}],["symbol-name:removePipPackage",{"id":"symbol-name:removePipPackage","kind":"symbol","language":"jsts","symbolName":"removePipPackage","metadata":{"unresolvedName":"removePipPackage"}}],["external:envVars.map",{"id":"external:envVars.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"envVars.map"}}],["symbol-name:updateEnvVar",{"id":"symbol-name:updateEnvVar","kind":"symbol","language":"jsts","symbolName":"updateEnvVar","metadata":{"unresolvedName":"updateEnvVar"}}],["symbol-name:removeEnvVar",{"id":"symbol-name:removeEnvVar","kind":"symbol","language":"jsts","symbolName":"removeEnvVar","metadata":{"unresolvedName":"removeEnvVar"}}],["external:buildScripts.map",{"id":"external:buildScripts.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"buildScripts.map"}}],["symbol-name:updateBuildScript",{"id":"symbol-name:updateBuildScript","kind":"symbol","language":"jsts","symbolName":"updateBuildScript","metadata":{"unresolvedName":"updateBuildScript"}}],["symbol-name:removeBuildScript",{"id":"symbol-name:removeBuildScript","kind":"symbol","language":"jsts","symbolName":"removeBuildScript","metadata":{"unresolvedName":"removeBuildScript"}}],["external:startupScripts.map",{"id":"external:startupScripts.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"startupScripts.map"}}],["symbol-name:updateStartupScript",{"id":"symbol-name:updateStartupScript","kind":"symbol","language":"jsts","symbolName":"updateStartupScript","metadata":{"unresolvedName":"updateStartupScript"}}],["symbol-name:removeStartupScript",{"id":"symbol-name:removeStartupScript","kind":"symbol","language":"jsts","symbolName":"removeStartupScript","metadata":{"unresolvedName":"removeStartupScript"}}],["symbol-name:updateMount",{"id":"symbol-name:updateMount","kind":"symbol","language":"jsts","symbolName":"updateMount","metadata":{"unresolvedName":"updateMount"}}],["symbol-name:removeMount",{"id":"symbol-name:removeMount","kind":"symbol","language":"jsts","symbolName":"removeMount","metadata":{"unresolvedName":"removeMount"}}],["external:command.join",{"id":"external:command.join","kind":"external","language":"jsts","metadata":{"unresolvedName":"command.join"}}],["external:e.target.value.split",{"id":"external:e.target.value.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"e.target.value.split"}}],["/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/manifest-editor.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":315,"column":18,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/manifest-editor.tsx:handlePreview",{"id":"/workspace/apps/web/src/components/manifest-editor.tsx:handlePreview","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/manifest-editor.tsx","symbolName":"handlePreview","symbolKind":"function","exported":false,"metadata":{"line":188,"column":24,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/manifest-editor.tsx:updateAptPackage",{"id":"/workspace/apps/web/src/components/manifest-editor.tsx:updateAptPackage","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/manifest-editor.tsx","symbolName":"updateAptPackage","symbolKind":"function","exported":false,"metadata":{"line":212,"column":27,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/manifest-editor.tsx:updateNpmPackage",{"id":"/workspace/apps/web/src/components/manifest-editor.tsx:updateNpmPackage","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/manifest-editor.tsx","symbolName":"updateNpmPackage","symbolKind":"function","exported":false,"metadata":{"line":221,"column":27,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/manifest-editor.tsx:updatePipPackage",{"id":"/workspace/apps/web/src/components/manifest-editor.tsx:updatePipPackage","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/manifest-editor.tsx","symbolName":"updatePipPackage","symbolKind":"function","exported":false,"metadata":{"line":230,"column":27,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/manifest-editor.tsx:updateEnvVar",{"id":"/workspace/apps/web/src/components/manifest-editor.tsx:updateEnvVar","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/manifest-editor.tsx","symbolName":"updateEnvVar","symbolKind":"function","exported":false,"metadata":{"line":239,"column":23,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/manifest-editor.tsx:updateBuildScript",{"id":"/workspace/apps/web/src/components/manifest-editor.tsx:updateBuildScript","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/manifest-editor.tsx","symbolName":"updateBuildScript","symbolKind":"function","exported":false,"metadata":{"line":248,"column":28,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/manifest-editor.tsx:updateStartupScript",{"id":"/workspace/apps/web/src/components/manifest-editor.tsx:updateStartupScript","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/manifest-editor.tsx","symbolName":"updateStartupScript","symbolKind":"function","exported":false,"metadata":{"line":257,"column":30,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/manifest-editor.tsx:updateMount",{"id":"/workspace/apps/web/src/components/manifest-editor.tsx:updateMount","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/manifest-editor.tsx","symbolName":"updateMount","symbolKind":"function","exported":false,"metadata":{"line":280,"column":22,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/mobile-action-sheet.tsx",{"id":"file:/workspace/apps/web/src/components/mobile-action-sheet.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/mobile-action-sheet.tsx","metadata":{"lineCount":89,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/mobile-action-sheet.tsx:MobileActionSheet",{"id":"/workspace/apps/web/src/components/mobile-action-sheet.tsx:MobileActionSheet","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/mobile-action-sheet.tsx","symbolName":"MobileActionSheet","symbolKind":"function","exported":true,"metadata":{"line":20,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:document.addEventListener",{"id":"external:document.addEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.addEventListener"}}],["external:document.removeEventListener",{"id":"external:document.removeEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.removeEventListener"}}],["external:actions.map",{"id":"external:actions.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"actions.map"}}],["external:action.onClick",{"id":"external:action.onClick","kind":"external","language":"jsts","metadata":{"unresolvedName":"action.onClick"}}],["/workspace/apps/web/src/components/mobile-action-sheet.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/mobile-action-sheet.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/mobile-action-sheet.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":67,"column":24,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/mobile-action-sheet.tsx:handleEscape",{"id":"/workspace/apps/web/src/components/mobile-action-sheet.tsx:handleEscape","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/mobile-action-sheet.tsx","symbolName":"handleEscape","symbolKind":"function","exported":false,"metadata":{"line":40,"column":26,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/mobile-detail-view.tsx",{"id":"file:/workspace/apps/web/src/components/mobile-detail-view.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/mobile-detail-view.tsx","metadata":{"lineCount":96,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/mobile-detail-view.tsx:MobileDetailView",{"id":"/workspace/apps/web/src/components/mobile-detail-view.tsx:MobileDetailView","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/mobile-detail-view.tsx","symbolName":"MobileDetailView","symbolKind":"function","exported":true,"metadata":{"line":18,"column":66,"cyclomaticComplexity":9,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:fields.map",{"id":"external:fields.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"fields.map"}}],["symbol-name:renderValue",{"id":"symbol-name:renderValue","kind":"symbol","language":"jsts","symbolName":"renderValue","metadata":{"unresolvedName":"renderValue"}}],["/workspace/apps/web/src/components/mobile-detail-view.tsx:renderValue",{"id":"/workspace/apps/web/src/components/mobile-detail-view.tsx:renderValue","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/mobile-detail-view.tsx","symbolName":"renderValue","symbolKind":"function","exported":false,"metadata":{"line":26,"column":23,"cyclomaticComplexity":8,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/mobile-edit-view.tsx",{"id":"file:/workspace/apps/web/src/components/mobile-edit-view.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/mobile-edit-view.tsx","metadata":{"lineCount":162,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/mobile-edit-view.tsx:MobileEditView",{"id":"/workspace/apps/web/src/components/mobile-edit-view.tsx:MobileEditView","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/mobile-edit-view.tsx","symbolName":"MobileEditView","symbolKind":"function","exported":true,"metadata":{"line":23,"column":62,"cyclomaticComplexity":18,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:fields?.forEach",{"id":"external:fields?.forEach","kind":"external","language":"jsts","metadata":{"unresolvedName":"fields?.forEach"}}],["external:fields?.map",{"id":"external:fields?.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"fields?.map"}}],["symbol-name:handleChange",{"id":"symbol-name:handleChange","kind":"symbol","language":"jsts","symbolName":"handleChange","metadata":{"unresolvedName":"handleChange"}}],["external:field.options?.map",{"id":"external:field.options?.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"field.options?.map"}}],["symbol-name:Boolean",{"id":"symbol-name:Boolean","kind":"symbol","language":"jsts","symbolName":"Boolean","metadata":{"unresolvedName":"Boolean"}}],["/workspace/apps/web/src/components/mobile-edit-view.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/mobile-edit-view.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/mobile-edit-view.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":34,"column":23,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/mobile-edit-view.tsx:handleChange",{"id":"/workspace/apps/web/src/components/mobile-edit-view.tsx:handleChange","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/mobile-edit-view.tsx","symbolName":"handleChange","symbolKind":"function","exported":false,"metadata":{"line":41,"column":24,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/mobile-edit-view.tsx:handleSubmit",{"id":"/workspace/apps/web/src/components/mobile-edit-view.tsx:handleSubmit","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/mobile-edit-view.tsx","symbolName":"handleSubmit","symbolKind":"function","exported":false,"metadata":{"line":45,"column":24,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/mobile-fab.tsx",{"id":"file:/workspace/apps/web/src/components/mobile-fab.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/mobile-fab.tsx","metadata":{"lineCount":23,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/mobile-fab.tsx:MobileFAB",{"id":"/workspace/apps/web/src/components/mobile-fab.tsx:MobileFAB","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/mobile-fab.tsx","symbolName":"MobileFAB","symbolKind":"function","exported":true,"metadata":{"line":8,"column":52,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/mobile-list-view.tsx",{"id":"file:/workspace/apps/web/src/components/mobile-list-view.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/mobile-list-view.tsx","metadata":{"lineCount":77,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/mobile-list-view.tsx:MobileListView",{"id":"/workspace/apps/web/src/components/mobile-list-view.tsx:MobileListView","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/mobile-list-view.tsx","symbolName":"MobileListView","symbolKind":"function","exported":true,"metadata":{"line":22,"column":62,"cyclomaticComplexity":5,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:onSearch",{"id":"symbol-name:onSearch","kind":"symbol","language":"jsts","symbolName":"onSearch","metadata":{"unresolvedName":"onSearch"}}],["external:items.map",{"id":"external:items.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"items.map"}}],["symbol-name:onItemClick",{"id":"symbol-name:onItemClick","kind":"symbol","language":"jsts","symbolName":"onItemClick","metadata":{"unresolvedName":"onItemClick"}}],["file:/workspace/apps/web/src/components/mobile-nav.tsx",{"id":"file:/workspace/apps/web/src/components/mobile-nav.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/mobile-nav.tsx","metadata":{"lineCount":88,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/tools-bottom-sheet.tsx",{"id":"file:/workspace/apps/web/src/components/tools-bottom-sheet.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/tools-bottom-sheet.tsx","metadata":{"lineCount":63,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/mobile-nav.tsx:MobileNav",{"id":"/workspace/apps/web/src/components/mobile-nav.tsx:MobileNav","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/mobile-nav.tsx","symbolName":"MobileNav","symbolKind":"function","exported":true,"metadata":{"line":26,"column":52,"cyclomaticComplexity":8,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:setToolsSheetOpen",{"id":"symbol-name:setToolsSheetOpen","kind":"symbol","language":"jsts","symbolName":"setToolsSheetOpen","metadata":{"unresolvedName":"setToolsSheetOpen"}}],["external:MOBILE_NAV_ITEMS.map",{"id":"external:MOBILE_NAV_ITEMS.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"MOBILE_NAV_ITEMS.map"}}],["symbol-name:handleNavClick",{"id":"symbol-name:handleNavClick","kind":"symbol","language":"jsts","symbolName":"handleNavClick","metadata":{"unresolvedName":"handleNavClick"}}],["/workspace/apps/web/src/components/mobile-nav.tsx:handleNavClick",{"id":"/workspace/apps/web/src/components/mobile-nav.tsx:handleNavClick","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/mobile-nav.tsx","symbolName":"handleNavClick","symbolKind":"function","exported":false,"metadata":{"line":34,"column":26,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/mobile-nav.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/mobile-nav.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/mobile-nav.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":43,"column":31,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/mobile-page-header.tsx",{"id":"file:/workspace/apps/web/src/components/mobile-page-header.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/mobile-page-header.tsx","metadata":{"lineCount":34,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/hooks/use-mobile-viewport.ts",{"id":"file:/workspace/apps/web/src/hooks/use-mobile-viewport.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-mobile-viewport.ts","metadata":{"lineCount":22,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/mobile-page-header.tsx:MobilePageHeader",{"id":"/workspace/apps/web/src/components/mobile-page-header.tsx:MobilePageHeader","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/mobile-page-header.tsx","symbolName":"MobilePageHeader","symbolKind":"function","exported":true,"metadata":{"line":11,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:useMobileViewport",{"id":"symbol-name:useMobileViewport","kind":"symbol","language":"jsts","symbolName":"useMobileViewport","metadata":{"unresolvedName":"useMobileViewport"}}],["file:/workspace/apps/web/src/components/mobile-terminal-header.tsx",{"id":"file:/workspace/apps/web/src/components/mobile-terminal-header.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/mobile-terminal-header.tsx","metadata":{"lineCount":95,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/mobile-terminal-header.tsx:MobileTerminalHeader",{"id":"/workspace/apps/web/src/components/mobile-terminal-header.tsx:MobileTerminalHeader","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/mobile-terminal-header.tsx","symbolName":"MobileTerminalHeader","symbolKind":"function","exported":true,"metadata":{"line":14,"column":74,"cyclomaticComplexity":7,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:onFontSizeChange",{"id":"symbol-name:onFontSizeChange","kind":"symbol","language":"jsts","symbolName":"onFontSizeChange","metadata":{"unresolvedName":"onFontSizeChange"}}],["file:/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx",{"id":"file:/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx","metadata":{"lineCount":117,"featureKind":"library","trustBoundaries":[]}}],["external:@/components/features/terminal/TerminalComponent",{"id":"external:@/components/features/terminal/TerminalComponent","kind":"external","language":"jsts","metadata":{"source":"@/components/features/terminal/TerminalComponent"}}],["file:/workspace/apps/web/src/components/special-keys-strip.tsx",{"id":"file:/workspace/apps/web/src/components/special-keys-strip.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/special-keys-strip.tsx","metadata":{"lineCount":97,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/special-keys-panel.tsx",{"id":"file:/workspace/apps/web/src/components/special-keys-panel.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/special-keys-panel.tsx","metadata":{"lineCount":115,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/hooks/use-virtual-keyboard.ts",{"id":"file:/workspace/apps/web/src/hooks/use-virtual-keyboard.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-virtual-keyboard.ts","metadata":{"lineCount":69,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/hooks/use-auto-hide.ts",{"id":"file:/workspace/apps/web/src/hooks/use-auto-hide.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-auto-hide.ts","metadata":{"lineCount":69,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/hooks/use-special-keys.ts",{"id":"file:/workspace/apps/web/src/hooks/use-special-keys.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-special-keys.ts","metadata":{"lineCount":141,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx:MobileTerminalWrapper",{"id":"/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx:MobileTerminalWrapper","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx","symbolName":"MobileTerminalWrapper","symbolKind":"function","exported":true,"metadata":{"line":19,"column":76,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:useVirtualKeyboard",{"id":"symbol-name:useVirtualKeyboard","kind":"symbol","language":"jsts","symbolName":"useVirtualKeyboard","metadata":{"unresolvedName":"useVirtualKeyboard"}}],["symbol-name:useAutoHide",{"id":"symbol-name:useAutoHide","kind":"symbol","language":"jsts","symbolName":"useAutoHide","metadata":{"unresolvedName":"useAutoHide"}}],["external:headerAutoHide.toggle",{"id":"external:headerAutoHide.toggle","kind":"external","language":"jsts","metadata":{"unresolvedName":"headerAutoHide.toggle"}}],["symbol-name:setTerminalRef",{"id":"symbol-name:setTerminalRef","kind":"symbol","language":"jsts","symbolName":"setTerminalRef","metadata":{"unresolvedName":"setTerminalRef"}}],["external:terminalRef?.sendData",{"id":"external:terminalRef?.sendData","kind":"external","language":"jsts","metadata":{"unresolvedName":"terminalRef?.sendData"}}],["external:terminalRef?.changeFontSize",{"id":"external:terminalRef?.changeFontSize","kind":"external","language":"jsts","metadata":{"unresolvedName":"terminalRef?.changeFontSize"}}],["symbol-name:setShowPanel",{"id":"symbol-name:setShowPanel","kind":"symbol","language":"jsts","symbolName":"setShowPanel","metadata":{"unresolvedName":"setShowPanel"}}],["external:terminalRef?.focusInput",{"id":"external:terminalRef?.focusInput","kind":"external","language":"jsts","metadata":{"unresolvedName":"terminalRef?.focusInput"}}],["/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":52,"column":5,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/notification-center.test.tsx",{"id":"file:/workspace/apps/web/src/components/notification-center.test.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/notification-center.test.tsx","metadata":{"lineCount":178,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/notification-center.tsx",{"id":"file:/workspace/apps/web/src/components/notification-center.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/notification-center.tsx","metadata":{"lineCount":135,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/state/notifications.tsx",{"id":"file:/workspace/apps/web/src/state/notifications.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/state/notifications.tsx","metadata":{"lineCount":308,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/notification-center.test.tsx:wrapper",{"id":"/workspace/apps/web/src/components/notification-center.test.tsx:wrapper","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/notification-center.test.tsx","symbolName":"wrapper","symbolKind":"function","exported":false,"metadata":{"line":36,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/notification-center.test.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":170,"column":43,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:vi.useFakeTimers",{"id":"external:vi.useFakeTimers","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.useFakeTimers"}}],["external:mockedGetNotifications.mockResolvedValue",{"id":"external:mockedGetNotifications.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockedGetNotifications.mockResolvedValue"}}],["external:mockedGetUnreadCount.mockResolvedValue",{"id":"external:mockedGetUnreadCount.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockedGetUnreadCount.mockResolvedValue"}}],["external:vi.useRealTimers",{"id":"external:vi.useRealTimers","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.useRealTimers"}}],["external:vi.advanceTimersByTimeAsync",{"id":"external:vi.advanceTimersByTimeAsync","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.advanceTimersByTimeAsync"}}],["external:expect(screen.getByText(\"3\")).toBeInTheDocument",{"id":"external:expect(screen.getByText(\"3\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(\"3\")).toBeInTheDocument"}}],["external:expect(screen.queryByText(\"0\")).not.toBeInTheDocument",{"id":"external:expect(screen.queryByText(\"0\")).not.toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.queryByText(\"0\")).not.toBeInTheDocument"}}],["external:screen.queryByText",{"id":"external:screen.queryByText","kind":"external","language":"jsts","metadata":{"unresolvedName":"screen.queryByText"}}],["external:expect(screen.getByRole(\"dialog\")).toBeInTheDocument",{"id":"external:expect(screen.getByRole(\"dialog\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByRole(\"dialog\")).toBeInTheDocument"}}],["external:fireEvent.mouseDown",{"id":"external:fireEvent.mouseDown","kind":"external","language":"jsts","metadata":{"unresolvedName":"fireEvent.mouseDown"}}],["external:screen.getByTestId",{"id":"external:screen.getByTestId","kind":"external","language":"jsts","metadata":{"unresolvedName":"screen.getByTestId"}}],["external:expect(screen.queryByRole(\"dialog\")).not.toBeInTheDocument",{"id":"external:expect(screen.queryByRole(\"dialog\")).not.toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.queryByRole(\"dialog\")).not.toBeInTheDocument"}}],["external:screen.queryByRole",{"id":"external:screen.queryByRole","kind":"external","language":"jsts","metadata":{"unresolvedName":"screen.queryByRole"}}],["external:fireEvent.keyDown",{"id":"external:fireEvent.keyDown","kind":"external","language":"jsts","metadata":{"unresolvedName":"fireEvent.keyDown"}}],["external:expect(screen.getByText(\"No notifications\")).toBeInTheDocument",{"id":"external:expect(screen.getByText(\"No notifications\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(\"No notifications\")).toBeInTheDocument"}}],["symbol-name:makeNotification",{"id":"symbol-name:makeNotification","kind":"symbol","language":"jsts","symbolName":"makeNotification","metadata":{"unresolvedName":"makeNotification"}}],["external:expect(screen.getByText(\"Notification 1\")).toBeInTheDocument",{"id":"external:expect(screen.getByText(\"Notification 1\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(\"Notification 1\")).toBeInTheDocument"}}],["external:expect(screen.getByText(\"Notification 2\")).toBeInTheDocument",{"id":"external:expect(screen.getByText(\"Notification 2\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(\"Notification 2\")).toBeInTheDocument"}}],["symbol-name:import",{"id":"symbol-name:import","kind":"symbol","language":"jsts","symbolName":"import","metadata":{"unresolvedName":"import"}}],["external:expect(vi.mocked(mockMarkAll)).toHaveBeenCalled",{"id":"external:expect(vi.mocked(mockMarkAll)).toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(vi.mocked(mockMarkAll)).toHaveBeenCalled"}}],["external:vi.mocked",{"id":"external:vi.mocked","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.mocked"}}],["external:expect(vi.mocked(mockClearAll)).toHaveBeenCalled",{"id":"external:expect(vi.mocked(mockClearAll)).toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(vi.mocked(mockClearAll)).toHaveBeenCalled"}}],["external:expect(mockedGetNotifications).toHaveBeenCalled",{"id":"external:expect(mockedGetNotifications).toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockedGetNotifications).toHaveBeenCalled"}}],["file:/workspace/apps/web/src/hooks/use-notifications.ts",{"id":"file:/workspace/apps/web/src/hooks/use-notifications.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-notifications.ts","metadata":{"lineCount":13,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/notification-item.tsx",{"id":"file:/workspace/apps/web/src/components/notification-item.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/notification-item.tsx","metadata":{"lineCount":65,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/notification-center.tsx:NotificationCenter",{"id":"/workspace/apps/web/src/components/notification-center.tsx:NotificationCenter","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/notification-center.tsx","symbolName":"NotificationCenter","symbolKind":"function","exported":true,"metadata":{"line":10,"column":1,"cyclomaticComplexity":12,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:useNotifications",{"id":"symbol-name:useNotifications","kind":"symbol","language":"jsts","symbolName":"useNotifications","metadata":{"unresolvedName":"useNotifications"}}],["external:dropdownRef.current.contains",{"id":"external:dropdownRef.current.contains","kind":"external","language":"jsts","metadata":{"unresolvedName":"dropdownRef.current.contains"}}],["symbol-name:setIsDropdownOpen",{"id":"symbol-name:setIsDropdownOpen","kind":"symbol","language":"jsts","symbolName":"setIsDropdownOpen","metadata":{"unresolvedName":"setIsDropdownOpen"}}],["symbol-name:refreshList",{"id":"symbol-name:refreshList","kind":"symbol","language":"jsts","symbolName":"refreshList","metadata":{"unresolvedName":"refreshList"}}],["external:notifications.map",{"id":"external:notifications.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"notifications.map"}}],["symbol-name:markAllRead",{"id":"symbol-name:markAllRead","kind":"symbol","language":"jsts","symbolName":"markAllRead","metadata":{"unresolvedName":"markAllRead"}}],["symbol-name:clearAll",{"id":"symbol-name:clearAll","kind":"symbol","language":"jsts","symbolName":"clearAll","metadata":{"unresolvedName":"clearAll"}}],["/workspace/apps/web/src/components/notification-center.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/notification-center.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/notification-center.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":122,"column":18,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/notification-center.tsx:handleMouseDown",{"id":"/workspace/apps/web/src/components/notification-center.tsx:handleMouseDown","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/notification-center.tsx","symbolName":"handleMouseDown","symbolKind":"function","exported":false,"metadata":{"line":30,"column":27,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/notification-center.tsx:handleKeyDown",{"id":"/workspace/apps/web/src/components/notification-center.tsx:handleKeyDown","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/notification-center.tsx","symbolName":"handleKeyDown","symbolKind":"function","exported":false,"metadata":{"line":39,"column":25,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/notification-item.test.tsx",{"id":"file:/workspace/apps/web/src/components/notification-item.test.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/notification-item.test.tsx","metadata":{"lineCount":105,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/notification-item.test.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":93,"column":31,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:expect(screen.getByText(\"Container started\")).toBeInTheDocument",{"id":"external:expect(screen.getByText(\"Container started\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(\"Container started\")).toBeInTheDocument"}}],["external:expect(screen.getByText(/ago|just now/)).toBeInTheDocument",{"id":"external:expect(screen.getByText(/ago|just now/)).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(/ago|just now/)).toBeInTheDocument"}}],["external:expect(row.className).toContain",{"id":"external:expect(row.className).toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(row.className).toContain"}}],["external:expect(onMarkRead).toHaveBeenCalledWith",{"id":"external:expect(onMarkRead).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(onMarkRead).toHaveBeenCalledWith"}}],["external:expect(onDismiss).toHaveBeenCalledWith",{"id":"external:expect(onDismiss).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(onDismiss).toHaveBeenCalledWith"}}],["external:expect(screen.getByRole(\"img\", { hidden: true })).toBeInTheDocument",{"id":"external:expect(screen.getByRole(\"img\", { hidden: true })).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByRole(\"img\", { hidden: true })).toBeInTheDocument"}}],["file:/workspace/apps/web/src/utils/time.ts",{"id":"file:/workspace/apps/web/src/utils/time.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/utils/time.ts","metadata":{"lineCount":30,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/notification-item.tsx:NotificationItem",{"id":"/workspace/apps/web/src/components/notification-item.tsx:NotificationItem","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/notification-item.tsx","symbolName":"NotificationItem","symbolKind":"function","exported":true,"metadata":{"line":20,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:formatRelativeTime",{"id":"symbol-name:formatRelativeTime","kind":"symbol","language":"jsts","symbolName":"formatRelativeTime","metadata":{"unresolvedName":"formatRelativeTime"}}],["symbol-name:onMarkRead",{"id":"symbol-name:onMarkRead","kind":"symbol","language":"jsts","symbolName":"onMarkRead","metadata":{"unresolvedName":"onMarkRead"}}],["symbol-name:onDismiss",{"id":"symbol-name:onDismiss","kind":"symbol","language":"jsts","symbolName":"onDismiss","metadata":{"unresolvedName":"onDismiss"}}],["file:/workspace/apps/web/src/components/session-card.tsx",{"id":"file:/workspace/apps/web/src/components/session-card.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/session-card.tsx","metadata":{"lineCount":369,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/workspace/apps/web/src/components/session-card.tsx:SessionCard",{"id":"/workspace/apps/web/src/components/session-card.tsx:SessionCard","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/session-card.tsx","symbolName":"SessionCard","symbolKind":"function","exported":true,"metadata":{"line":39,"column":1,"cyclomaticComplexity":40,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["external:session.tool_type_interfaces?.includes",{"id":"external:session.tool_type_interfaces?.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"session.tool_type_interfaces?.includes"}}],["symbol-name:setShowStopConfirm",{"id":"symbol-name:setShowStopConfirm","kind":"symbol","language":"jsts","symbolName":"setShowStopConfirm","metadata":{"unresolvedName":"setShowStopConfirm"}}],["symbol-name:setShowDeleteConfirm",{"id":"symbol-name:setShowDeleteConfirm","kind":"symbol","language":"jsts","symbolName":"setShowDeleteConfirm","metadata":{"unresolvedName":"setShowDeleteConfirm"}}],["external:new Date(session.created_at).toLocaleString",{"id":"external:new Date(session.created_at).toLocaleString","kind":"external","language":"jsts","metadata":{"unresolvedName":"new Date(session.created_at).toLocaleString"}}],["symbol-name:setShowActionSheet",{"id":"symbol-name:setShowActionSheet","kind":"symbol","language":"jsts","symbolName":"setShowActionSheet","metadata":{"unresolvedName":"setShowActionSheet"}}],["symbol-name:onStart",{"id":"symbol-name:onStart","kind":"symbol","language":"jsts","symbolName":"onStart","metadata":{"unresolvedName":"onStart"}}],["/workspace/apps/web/src/components/session-card.tsx:handleStop",{"id":"/workspace/apps/web/src/components/session-card.tsx:handleStop","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/session-card.tsx","symbolName":"handleStop","symbolKind":"function","exported":false,"metadata":{"line":71,"column":21,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/workspace/apps/web/src/components/session-card.tsx:handleDelete",{"id":"/workspace/apps/web/src/components/session-card.tsx:handleDelete","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/session-card.tsx","symbolName":"handleDelete","symbolKind":"function","exported":false,"metadata":{"line":80,"column":23,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["file:/workspace/apps/web/src/components/session-list.tsx",{"id":"file:/workspace/apps/web/src/components/session-list.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/session-list.tsx","metadata":{"lineCount":126,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/workspace/apps/web/src/components/session-list.tsx:SessionList",{"id":"/workspace/apps/web/src/components/session-list.tsx:SessionList","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/session-list.tsx","symbolName":"SessionList","symbolKind":"function","exported":true,"metadata":{"line":24,"column":1,"cyclomaticComplexity":9,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["external:activeStatuses.includes",{"id":"external:activeStatuses.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"activeStatuses.includes"}}],["external:sessions\n .filter((s) => recentStatuses.includes(s.status))\n .slice",{"id":"external:sessions\n .filter((s) => recentStatuses.includes(s.status))\n .slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessions\n .filter((s) => recentStatuses.includes(s.status))\n .slice"}}],["external:sessions\n .filter",{"id":"external:sessions\n .filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessions\n .filter"}}],["external:recentStatuses.includes",{"id":"external:recentStatuses.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"recentStatuses.includes"}}],["external:activeSessions.map",{"id":"external:activeSessions.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"activeSessions.map"}}],["external:recentSessions.map",{"id":"external:recentSessions.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"recentSessions.map"}}],["/workspace/apps/web/src/components/special-keys-panel.tsx:SpecialKeysPanel",{"id":"/workspace/apps/web/src/components/special-keys-panel.tsx:SpecialKeysPanel","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/special-keys-panel.tsx","symbolName":"SpecialKeysPanel","symbolKind":"function","exported":true,"metadata":{"line":38,"column":66,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:getSequenceWithModifier",{"id":"symbol-name:getSequenceWithModifier","kind":"symbol","language":"jsts","symbolName":"getSequenceWithModifier","metadata":{"unresolvedName":"getSequenceWithModifier"}}],["symbol-name:onSend",{"id":"symbol-name:onSend","kind":"symbol","language":"jsts","symbolName":"onSend","metadata":{"unresolvedName":"onSend"}}],["symbol-name:onModifierChange",{"id":"symbol-name:onModifierChange","kind":"symbol","language":"jsts","symbolName":"onModifierChange","metadata":{"unresolvedName":"onModifierChange"}}],["symbol-name:requestAnimationFrame",{"id":"symbol-name:requestAnimationFrame","kind":"symbol","language":"jsts","symbolName":"requestAnimationFrame","metadata":{"unresolvedName":"requestAnimationFrame"}}],["symbol-name:onKeepFocus",{"id":"symbol-name:onKeepFocus","kind":"symbol","language":"jsts","symbolName":"onKeepFocus","metadata":{"unresolvedName":"onKeepFocus"}}],["external:EXPANDED_KEYS.map",{"id":"external:EXPANDED_KEYS.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"EXPANDED_KEYS.map"}}],["symbol-name:handlePointerDown",{"id":"symbol-name:handlePointerDown","kind":"symbol","language":"jsts","symbolName":"handlePointerDown","metadata":{"unresolvedName":"handlePointerDown"}}],["external:F_KEYS.map",{"id":"external:F_KEYS.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"F_KEYS.map"}}],["/workspace/apps/web/src/components/special-keys-panel.tsx:handlePointerDown",{"id":"/workspace/apps/web/src/components/special-keys-panel.tsx:handlePointerDown","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/special-keys-panel.tsx","symbolName":"handlePointerDown","symbolKind":"function","exported":false,"metadata":{"line":48,"column":29,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/special-keys-panel.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/special-keys-panel.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/special-keys-panel.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":70,"column":27,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/special-keys-panel.tsx:handleOverlayPointerDown",{"id":"/workspace/apps/web/src/components/special-keys-panel.tsx:handleOverlayPointerDown","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/special-keys-panel.tsx","symbolName":"handleOverlayPointerDown","symbolKind":"function","exported":false,"metadata":{"line":66,"column":36,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/special-keys-strip.tsx:SpecialKeysStrip",{"id":"/workspace/apps/web/src/components/special-keys-strip.tsx:SpecialKeysStrip","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/special-keys-strip.tsx","symbolName":"SpecialKeysStrip","symbolKind":"function","exported":true,"metadata":{"line":24,"column":66,"cyclomaticComplexity":11,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:onMoreClick",{"id":"symbol-name:onMoreClick","kind":"symbol","language":"jsts","symbolName":"onMoreClick","metadata":{"unresolvedName":"onMoreClick"}}],["external:PRIMARY_KEYS.map",{"id":"external:PRIMARY_KEYS.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"PRIMARY_KEYS.map"}}],["/workspace/apps/web/src/components/special-keys-strip.tsx:handlePointerDown",{"id":"/workspace/apps/web/src/components/special-keys-strip.tsx:handlePointerDown","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/special-keys-strip.tsx","symbolName":"handlePointerDown","symbolKind":"function","exported":false,"metadata":{"line":32,"column":29,"cyclomaticComplexity":6,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/special-keys-strip.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/special-keys-strip.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/special-keys-strip.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":61,"column":27,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/special-keys-strip.tsx:handleMorePointerDown",{"id":"/workspace/apps/web/src/components/special-keys-strip.tsx:handleMorePointerDown","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/special-keys-strip.tsx","symbolName":"handleMorePointerDown","symbolKind":"function","exported":false,"metadata":{"line":58,"column":33,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database"]}}],["file:/workspace/apps/web/src/components/start-tool-fab.tsx",{"id":"file:/workspace/apps/web/src/components/start-tool-fab.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/start-tool-fab.tsx","metadata":{"lineCount":119,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/tool-starter.tsx",{"id":"file:/workspace/apps/web/src/components/tool-starter.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/tool-starter.tsx","metadata":{"lineCount":300,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/start-tool-fab.tsx:StartToolFAB",{"id":"/workspace/apps/web/src/components/start-tool-fab.tsx:StartToolFAB","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/start-tool-fab.tsx","symbolName":"StartToolFAB","symbolKind":"function","exported":true,"metadata":{"line":9,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:setOpen",{"id":"symbol-name:setOpen","kind":"symbol","language":"jsts","symbolName":"setOpen","metadata":{"unresolvedName":"setOpen"}}],["symbol-name:setWorkspacesLoading",{"id":"symbol-name:setWorkspacesLoading","kind":"symbol","language":"jsts","symbolName":"setWorkspacesLoading","metadata":{"unresolvedName":"setWorkspacesLoading"}}],["symbol-name:listAllWorkspaces",{"id":"symbol-name:listAllWorkspaces","kind":"symbol","language":"jsts","symbolName":"listAllWorkspaces","metadata":{"unresolvedName":"listAllWorkspaces"}}],["symbol-name:setWorkspaces",{"id":"symbol-name:setWorkspaces","kind":"symbol","language":"jsts","symbolName":"setWorkspaces","metadata":{"unresolvedName":"setWorkspaces"}}],["symbol-name:setSelectedWorkspace",{"id":"symbol-name:setSelectedWorkspace","kind":"symbol","language":"jsts","symbolName":"setSelectedWorkspace","metadata":{"unresolvedName":"setSelectedWorkspace"}}],["external:workspaces.find",{"id":"external:workspaces.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"workspaces.find"}}],["external:workspaces.map",{"id":"external:workspaces.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"workspaces.map"}}],["/workspace/apps/web/src/components/start-tool-fab.tsx:handleOpen",{"id":"/workspace/apps/web/src/components/start-tool-fab.tsx:handleOpen","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/start-tool-fab.tsx","symbolName":"handleOpen","symbolKind":"function","exported":false,"metadata":{"line":17,"column":21,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/start-tool-fab.tsx:handleClose",{"id":"/workspace/apps/web/src/components/start-tool-fab.tsx:handleClose","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/start-tool-fab.tsx","symbolName":"handleClose","symbolKind":"function","exported":false,"metadata":{"line":30,"column":22,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/start-tool-fab.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/start-tool-fab.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/start-tool-fab.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":78,"column":20,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/start-tool-modal.tsx",{"id":"file:/workspace/apps/web/src/components/start-tool-modal.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/start-tool-modal.tsx","metadata":{"lineCount":115,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/hooks/use-async-data.ts",{"id":"file:/workspace/apps/web/src/hooks/use-async-data.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-async-data.ts","metadata":{"lineCount":43,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/components/start-tool-modal.tsx:StartToolModal",{"id":"/workspace/apps/web/src/components/start-tool-modal.tsx:StartToolModal","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/start-tool-modal.tsx","symbolName":"StartToolModal","symbolKind":"function","exported":true,"metadata":{"line":15,"column":1,"cyclomaticComplexity":11,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:useAsyncData",{"id":"symbol-name:useAsyncData","kind":"symbol","language":"jsts","symbolName":"useAsyncData","metadata":{"unresolvedName":"useAsyncData"}}],["symbol-name:setSubmitting",{"id":"symbol-name:setSubmitting","kind":"symbol","language":"jsts","symbolName":"setSubmitting","metadata":{"unresolvedName":"setSubmitting"}}],["symbol-name:setToolTypeId",{"id":"symbol-name:setToolTypeId","kind":"symbol","language":"jsts","symbolName":"setToolTypeId","metadata":{"unresolvedName":"setToolTypeId"}}],["external:toolTypes?.map",{"id":"external:toolTypes?.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"toolTypes?.map"}}],["symbol-name:setConfigProfileId",{"id":"symbol-name:setConfigProfileId","kind":"symbol","language":"jsts","symbolName":"setConfigProfileId","metadata":{"unresolvedName":"setConfigProfileId"}}],["/workspace/apps/web/src/components/start-tool-modal.tsx:handleSubmit",{"id":"/workspace/apps/web/src/components/start-tool-modal.tsx:handleSubmit","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/start-tool-modal.tsx","symbolName":"handleSubmit","symbolKind":"function","exported":false,"metadata":{"line":31,"column":23,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/terminal-session-tabs.test.tsx",{"id":"file:/workspace/apps/web/src/components/terminal-session-tabs.test.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx","metadata":{"lineCount":162,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["file:/workspace/apps/web/src/components/terminal-session-tabs.tsx",{"id":"file:/workspace/apps/web/src/components/terminal-session-tabs.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/terminal-session-tabs.tsx","metadata":{"lineCount":168,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":143,"column":46,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["external:expect(screen.getByText(\"Session 1\")).toBeInTheDocument",{"id":"external:expect(screen.getByText(\"Session 1\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(\"Session 1\")).toBeInTheDocument"}}],["external:expect(screen.getByText(\"Session 2\")).toBeInTheDocument",{"id":"external:expect(screen.getByText(\"Session 2\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(\"Session 2\")).toBeInTheDocument"}}],["external:expect(screen.getByText(\"Session 3\")).toBeInTheDocument",{"id":"external:expect(screen.getByText(\"Session 3\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(\"Session 3\")).toBeInTheDocument"}}],["external:expect(screen.getByRole(\"button\", { name: /new session/i })).toBeInTheDocument",{"id":"external:expect(screen.getByRole(\"button\", { name: /new session/i })).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByRole(\"button\", { name: /new session/i })).toBeInTheDocument"}}],["external:expect(onSelect).toHaveBeenCalledWith",{"id":"external:expect(onSelect).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(onSelect).toHaveBeenCalledWith"}}],["external:screen.getByLabelText",{"id":"external:screen.getByLabelText","kind":"external","language":"jsts","metadata":{"unresolvedName":"screen.getByLabelText"}}],["external:expect(screen.getByText(\"Close?\")).toBeInTheDocument",{"id":"external:expect(screen.getByText(\"Close?\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(\"Close?\")).toBeInTheDocument"}}],["external:expect(onClose).toHaveBeenCalledWith",{"id":"external:expect(onClose).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(onClose).toHaveBeenCalledWith"}}],["external:fireEvent.doubleClick",{"id":"external:fireEvent.doubleClick","kind":"external","language":"jsts","metadata":{"unresolvedName":"fireEvent.doubleClick"}}],["external:expect(input).toBeInTheDocument",{"id":"external:expect(input).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(input).toBeInTheDocument"}}],["external:expect(onRename).toHaveBeenCalledWith",{"id":"external:expect(onRename).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(onRename).toHaveBeenCalledWith"}}],["external:expect(onRename).not.toHaveBeenCalled",{"id":"external:expect(onRename).not.toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(onRename).not.toHaveBeenCalled"}}],["external:Array.from",{"id":"external:Array.from","kind":"external","language":"jsts","metadata":{"unresolvedName":"Array.from"}}],["external:expect(newButton).toBeDisabled",{"id":"external:expect(newButton).toBeDisabled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(newButton).toBeDisabled"}}],["external:screen.getAllByRole",{"id":"external:screen.getAllByRole","kind":"external","language":"jsts","metadata":{"unresolvedName":"screen.getAllByRole"}}],["external:expect(tabs).toHaveLength",{"id":"external:expect(tabs).toHaveLength","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(tabs).toHaveLength"}}],["external:expect(tabs[0].querySelector(\".connected\")).toBeInTheDocument",{"id":"external:expect(tabs[0].querySelector(\".connected\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(tabs[0].querySelector(\".connected\")).toBeInTheDocument"}}],["external:tabs[0].querySelector",{"id":"external:tabs[0].querySelector","kind":"external","language":"jsts","metadata":{"unresolvedName":"tabs[0].querySelector"}}],["external:expect(tabs[1].querySelector(\".connecting\")).toBeInTheDocument",{"id":"external:expect(tabs[1].querySelector(\".connecting\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(tabs[1].querySelector(\".connecting\")).toBeInTheDocument"}}],["external:tabs[1].querySelector",{"id":"external:tabs[1].querySelector","kind":"external","language":"jsts","metadata":{"unresolvedName":"tabs[1].querySelector"}}],["external:expect(tabs[2].querySelector(\".disconnected\")).toBeInTheDocument",{"id":"external:expect(tabs[2].querySelector(\".disconnected\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(tabs[2].querySelector(\".disconnected\")).toBeInTheDocument"}}],["external:tabs[2].querySelector",{"id":"external:tabs[2].querySelector","kind":"external","language":"jsts","metadata":{"unresolvedName":"tabs[2].querySelector"}}],["/workspace/apps/web/src/components/terminal-session-tabs.tsx:TerminalSessionTabs",{"id":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:TerminalSessionTabs","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/terminal-session-tabs.tsx","symbolName":"TerminalSessionTabs","symbolKind":"function","exported":true,"metadata":{"line":19,"column":72,"cyclomaticComplexity":13,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["symbol-name:setRenamingId",{"id":"symbol-name:setRenamingId","kind":"symbol","language":"jsts","symbolName":"setRenamingId","metadata":{"unresolvedName":"setRenamingId"}}],["symbol-name:setRenameValue",{"id":"symbol-name:setRenameValue","kind":"symbol","language":"jsts","symbolName":"setRenameValue","metadata":{"unresolvedName":"setRenameValue"}}],["external:renameInputRef.current?.focus",{"id":"external:renameInputRef.current?.focus","kind":"external","language":"jsts","metadata":{"unresolvedName":"renameInputRef.current?.focus"}}],["external:renameInputRef.current?.select",{"id":"external:renameInputRef.current?.select","kind":"external","language":"jsts","metadata":{"unresolvedName":"renameInputRef.current?.select"}}],["external:renameValue.trim",{"id":"external:renameValue.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"renameValue.trim"}}],["symbol-name:onRename",{"id":"symbol-name:onRename","kind":"symbol","language":"jsts","symbolName":"onRename","metadata":{"unresolvedName":"onRename"}}],["symbol-name:commitRename",{"id":"symbol-name:commitRename","kind":"symbol","language":"jsts","symbolName":"commitRename","metadata":{"unresolvedName":"commitRename"}}],["symbol-name:cancelRename",{"id":"symbol-name:cancelRename","kind":"symbol","language":"jsts","symbolName":"cancelRename","metadata":{"unresolvedName":"cancelRename"}}],["symbol-name:setConfirmCloseId",{"id":"symbol-name:setConfirmCloseId","kind":"symbol","language":"jsts","symbolName":"setConfirmCloseId","metadata":{"unresolvedName":"setConfirmCloseId"}}],["symbol-name:onSelect",{"id":"symbol-name:onSelect","kind":"symbol","language":"jsts","symbolName":"onSelect","metadata":{"unresolvedName":"onSelect"}}],["symbol-name:handleDoubleClick",{"id":"symbol-name:handleDoubleClick","kind":"symbol","language":"jsts","symbolName":"handleDoubleClick","metadata":{"unresolvedName":"handleDoubleClick"}}],["symbol-name:handleCloseClick",{"id":"symbol-name:handleCloseClick","kind":"symbol","language":"jsts","symbolName":"handleCloseClick","metadata":{"unresolvedName":"handleCloseClick"}}],["/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/terminal-session-tabs.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":131,"column":18,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["file:/workspace/apps/web/src/components/toast-rules.test.ts",{"id":"file:/workspace/apps/web/src/components/toast-rules.test.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/toast-rules.test.ts","metadata":{"lineCount":70,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/toast-rules.test.ts:makeEvent",{"id":"/workspace/apps/web/src/components/toast-rules.test.ts:makeEvent","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/toast-rules.test.ts","symbolName":"makeEvent","symbolKind":"function","exported":false,"metadata":{"line":5,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>",{"id":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/toast-rules.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":66,"column":41,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:expect(mapEventToCategory(makeEvent(\"instance.started\"))).toBe",{"id":"external:expect(mapEventToCategory(makeEvent(\"instance.started\"))).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mapEventToCategory(makeEvent(\"instance.started\"))).toBe"}}],["external:expect(mapEventToCategory(makeEvent(\"instance.error\"))).toBe",{"id":"external:expect(mapEventToCategory(makeEvent(\"instance.error\"))).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mapEventToCategory(makeEvent(\"instance.error\"))).toBe"}}],["external:expect(mapEventToCategory(makeEvent(\"health.error\"))).toBe",{"id":"external:expect(mapEventToCategory(makeEvent(\"health.error\"))).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mapEventToCategory(makeEvent(\"health.error\"))).toBe"}}],["external:expect(mapEventToCategory(makeEvent(\"system.announcement\"))).toBe",{"id":"external:expect(mapEventToCategory(makeEvent(\"system.announcement\"))).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mapEventToCategory(makeEvent(\"system.announcement\"))).toBe"}}],["external:expect(mapEventToSeverity(makeEvent(\"instance.error\"))).toBe",{"id":"external:expect(mapEventToSeverity(makeEvent(\"instance.error\"))).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mapEventToSeverity(makeEvent(\"instance.error\"))).toBe"}}],["external:expect(mapEventToSeverity(makeEvent(\"health.error\"))).toBe",{"id":"external:expect(mapEventToSeverity(makeEvent(\"health.error\"))).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mapEventToSeverity(makeEvent(\"health.error\"))).toBe"}}],["external:expect(mapEventToSeverity(makeEvent(\"instance.created\"))).toBe",{"id":"external:expect(mapEventToSeverity(makeEvent(\"instance.created\"))).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mapEventToSeverity(makeEvent(\"instance.created\"))).toBe"}}],["external:expect(mapEventToSeverity(makeEvent(\"instance.started\"))).toBe",{"id":"external:expect(mapEventToSeverity(makeEvent(\"instance.started\"))).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mapEventToSeverity(makeEvent(\"instance.started\"))).toBe"}}],["external:expect(mapEventToSeverity(makeEvent(\"instance.stopped\"))).toBe",{"id":"external:expect(mapEventToSeverity(makeEvent(\"instance.stopped\"))).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mapEventToSeverity(makeEvent(\"instance.stopped\"))).toBe"}}],["external:expect(mapEventToSeverity(makeEvent(\"instance.restarted\"))).toBe",{"id":"external:expect(mapEventToSeverity(makeEvent(\"instance.restarted\"))).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mapEventToSeverity(makeEvent(\"instance.restarted\"))).toBe"}}],["external:expect(mapEventToSeverity(makeEvent(\"instance.deleted\"))).toBe",{"id":"external:expect(mapEventToSeverity(makeEvent(\"instance.deleted\"))).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mapEventToSeverity(makeEvent(\"instance.deleted\"))).toBe"}}],["external:expect(mapEventToSeverity(makeEvent(\"unknown.event\"))).toBe",{"id":"external:expect(mapEventToSeverity(makeEvent(\"unknown.event\"))).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mapEventToSeverity(makeEvent(\"unknown.event\"))).toBe"}}],["file:/workspace/apps/web/src/state/toast.tsx",{"id":"file:/workspace/apps/web/src/state/toast.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/state/toast.tsx","metadata":{"lineCount":207,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/toast-rules.ts:makeDedupKey",{"id":"/workspace/apps/web/src/components/toast-rules.ts:makeDedupKey","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/toast-rules.ts","symbolName":"makeDedupKey","symbolKind":"function","exported":false,"metadata":{"line":7,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/toast-rules.ts:shouldShowToast",{"id":"/workspace/apps/web/src/components/toast-rules.ts:shouldShowToast","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/toast-rules.ts","symbolName":"shouldShowToast","symbolKind":"function","exported":false,"metadata":{"line":11,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:makeDedupKey",{"id":"symbol-name:makeDedupKey","kind":"symbol","language":"jsts","symbolName":"makeDedupKey","metadata":{"unresolvedName":"makeDedupKey"}}],["external:lastToastTime.get",{"id":"external:lastToastTime.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"lastToastTime.get"}}],["external:lastToastTime.set",{"id":"external:lastToastTime.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"lastToastTime.set"}}],["/workspace/apps/web/src/components/toast-rules.ts:mapEventToCategory",{"id":"/workspace/apps/web/src/components/toast-rules.ts:mapEventToCategory","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/toast-rules.ts","symbolName":"mapEventToCategory","symbolKind":"function","exported":true,"metadata":{"line":22,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:event.event.startsWith",{"id":"external:event.event.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"event.event.startsWith"}}],["/workspace/apps/web/src/components/toast-rules.ts:mapEventToSeverity",{"id":"/workspace/apps/web/src/components/toast-rules.ts:mapEventToSeverity","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/toast-rules.ts","symbolName":"mapEventToSeverity","symbolKind":"function","exported":true,"metadata":{"line":28,"column":1,"cyclomaticComplexity":10,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/toast-rules.ts:handleEventToast",{"id":"/workspace/apps/web/src/components/toast-rules.ts:handleEventToast","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/toast-rules.ts","symbolName":"handleEventToast","symbolKind":"function","exported":true,"metadata":{"line":48,"column":1,"cyclomaticComplexity":12,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:shouldShowToast",{"id":"symbol-name:shouldShowToast","kind":"symbol","language":"jsts","symbolName":"shouldShowToast","metadata":{"unresolvedName":"shouldShowToast"}}],["external:toast.info",{"id":"external:toast.info","kind":"external","language":"jsts","metadata":{"unresolvedName":"toast.info"}}],["external:toast.success",{"id":"external:toast.success","kind":"external","language":"jsts","metadata":{"unresolvedName":"toast.success"}}],["external:toast.warning",{"id":"external:toast.warning","kind":"external","language":"jsts","metadata":{"unresolvedName":"toast.warning"}}],["external:toast.error",{"id":"external:toast.error","kind":"external","language":"jsts","metadata":{"unresolvedName":"toast.error"}}],["/workspace/apps/web/src/components/toast-rules.ts:clearToastDedup",{"id":"/workspace/apps/web/src/components/toast-rules.ts:clearToastDedup","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/toast-rules.ts","symbolName":"clearToastDedup","symbolKind":"function","exported":true,"metadata":{"line":81,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:lastToastTime.clear",{"id":"external:lastToastTime.clear","kind":"external","language":"jsts","metadata":{"unresolvedName":"lastToastTime.clear"}}],["/workspace/apps/web/src/components/tool-starter.tsx:ToolStarter",{"id":"/workspace/apps/web/src/components/tool-starter.tsx:ToolStarter","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/tool-starter.tsx","symbolName":"ToolStarter","symbolKind":"function","exported":true,"metadata":{"line":17,"column":1,"cyclomaticComplexity":36,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:setToolTypesError",{"id":"symbol-name:setToolTypesError","kind":"symbol","language":"jsts","symbolName":"setToolTypesError","metadata":{"unresolvedName":"setToolTypesError"}}],["symbol-name:setToolTypesLoading",{"id":"symbol-name:setToolTypesLoading","kind":"symbol","language":"jsts","symbolName":"setToolTypesLoading","metadata":{"unresolvedName":"setToolTypesLoading"}}],["symbol-name:load",{"id":"symbol-name:load","kind":"symbol","language":"jsts","symbolName":"load","metadata":{"unresolvedName":"load"}}],["symbol-name:setProfiles",{"id":"symbol-name:setProfiles","kind":"symbol","language":"jsts","symbolName":"setProfiles","metadata":{"unresolvedName":"setProfiles"}}],["symbol-name:setSelectedProfileId",{"id":"symbol-name:setSelectedProfileId","kind":"symbol","language":"jsts","symbolName":"setSelectedProfileId","metadata":{"unresolvedName":"setSelectedProfileId"}}],["symbol-name:setProfilesLoading",{"id":"symbol-name:setProfilesLoading","kind":"symbol","language":"jsts","symbolName":"setProfilesLoading","metadata":{"unresolvedName":"setProfilesLoading"}}],["external:data.find",{"id":"external:data.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"data.find"}}],["symbol-name:setSshKeysLoading",{"id":"symbol-name:setSshKeysLoading","kind":"symbol","language":"jsts","symbolName":"setSshKeysLoading","metadata":{"unresolvedName":"setSshKeysLoading"}}],["symbol-name:setStarting",{"id":"symbol-name:setStarting","kind":"symbol","language":"jsts","symbolName":"setStarting","metadata":{"unresolvedName":"setStarting"}}],["symbol-name:onStarted",{"id":"symbol-name:onStarted","kind":"symbol","language":"jsts","symbolName":"onStarted","metadata":{"unresolvedName":"onStarted"}}],["symbol-name:setSelectedToolTypeId",{"id":"symbol-name:setSelectedToolTypeId","kind":"symbol","language":"jsts","symbolName":"setSelectedToolTypeId","metadata":{"unresolvedName":"setSelectedToolTypeId"}}],["external:profiles.map",{"id":"external:profiles.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"profiles.map"}}],["/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/tool-starter.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":244,"column":20,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/tool-starter.tsx:load",{"id":"/workspace/apps/web/src/components/tool-starter.tsx:load","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/tool-starter.tsx","symbolName":"load","symbolKind":"function","exported":false,"metadata":{"line":89,"column":16,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/tools-bottom-sheet.tsx:ToolsBottomSheet",{"id":"/workspace/apps/web/src/components/tools-bottom-sheet.tsx:ToolsBottomSheet","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/tools-bottom-sheet.tsx","symbolName":"ToolsBottomSheet","symbolKind":"function","exported":true,"metadata":{"line":14,"column":66,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:TOOLS_ITEMS.map",{"id":"external:TOOLS_ITEMS.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"TOOLS_ITEMS.map"}}],["symbol-name:handleSelect",{"id":"symbol-name:handleSelect","kind":"symbol","language":"jsts","symbolName":"handleSelect","metadata":{"unresolvedName":"handleSelect"}}],["/workspace/apps/web/src/components/tools-bottom-sheet.tsx:handleSelect",{"id":"/workspace/apps/web/src/components/tools-bottom-sheet.tsx:handleSelect","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/tools-bottom-sheet.tsx","symbolName":"handleSelect","symbolKind":"function","exported":false,"metadata":{"line":23,"column":24,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:react-simple-code-editor",{"id":"external:react-simple-code-editor","kind":"external","language":"jsts","metadata":{"source":"react-simple-code-editor"}}],["/workspace/apps/web/src/components/ui/CodeEditor.tsx:CodeEditor",{"id":"/workspace/apps/web/src/components/ui/CodeEditor.tsx:CodeEditor","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/ui/CodeEditor.tsx","symbolName":"CodeEditor","symbolKind":"function","exported":true,"metadata":{"line":12,"column":54,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:input\n .split(\"\\n\")\n .map",{"id":"external:input\n .split(\"\\n\")\n .map","kind":"external","language":"jsts","metadata":{"unresolvedName":"input\n .split(\"\\n\")\n .map"}}],["external:input\n .split",{"id":"external:input\n .split","kind":"external","language":"jsts","metadata":{"unresolvedName":"input\n .split"}}],["/workspace/apps/web/src/components/ui/CodeEditor.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/ui/CodeEditor.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/ui/CodeEditor.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":18,"column":13,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/ui/CodeEditor.tsx:highlight",{"id":"/workspace/apps/web/src/components/ui/CodeEditor.tsx:highlight","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/ui/CodeEditor.tsx","symbolName":"highlight","symbolKind":"function","exported":false,"metadata":{"line":19,"column":23,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/ui/ConfirmDialog.tsx",{"id":"file:/workspace/apps/web/src/components/ui/ConfirmDialog.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/ui/ConfirmDialog.tsx","metadata":{"lineCount":41,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/ui/ConfirmDialog.tsx:ConfirmDialog",{"id":"/workspace/apps/web/src/components/ui/ConfirmDialog.tsx:ConfirmDialog","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/ui/ConfirmDialog.tsx","symbolName":"ConfirmDialog","symbolKind":"function","exported":true,"metadata":{"line":13,"column":60,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/ui/ErrorState.test.tsx",{"id":"file:/workspace/apps/web/src/components/ui/ErrorState.test.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/ui/ErrorState.test.tsx","metadata":{"lineCount":23,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/ui/ErrorState.tsx",{"id":"file:/workspace/apps/web/src/components/ui/ErrorState.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/ui/ErrorState.tsx","metadata":{"lineCount":18,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/ui/ErrorState.test.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/ui/ErrorState.test.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/ui/ErrorState.test.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":16,"column":42,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:expect(screen.getByText(\"Failed to load\")).toBeInTheDocument",{"id":"external:expect(screen.getByText(\"Failed to load\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(\"Failed to load\")).toBeInTheDocument"}}],["external:expect(screen.queryByText(\"Retry\")).not.toBeInTheDocument",{"id":"external:expect(screen.queryByText(\"Retry\")).not.toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.queryByText(\"Retry\")).not.toBeInTheDocument"}}],["external:expect(onRetry).toHaveBeenCalledTimes",{"id":"external:expect(onRetry).toHaveBeenCalledTimes","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(onRetry).toHaveBeenCalledTimes"}}],["external:@phosphor-icons/react",{"id":"external:@phosphor-icons/react","kind":"external","language":"jsts","metadata":{"source":"@phosphor-icons/react"}}],["/workspace/apps/web/src/components/ui/Icon.tsx:Icon",{"id":"/workspace/apps/web/src/components/ui/Icon.tsx:Icon","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/ui/Icon.tsx","symbolName":"Icon","symbolKind":"function","exported":true,"metadata":{"line":146,"column":42,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/ui/LoadingState.test.tsx",{"id":"file:/workspace/apps/web/src/components/ui/LoadingState.test.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/ui/LoadingState.test.tsx","metadata":{"lineCount":16,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/ui/LoadingState.tsx",{"id":"file:/workspace/apps/web/src/components/ui/LoadingState.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/ui/LoadingState.tsx","metadata":{"lineCount":10,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/ui/LoadingState.test.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/ui/LoadingState.test.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/ui/LoadingState.test.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":11,"column":31,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:expect(screen.getByText(\"Loading...\")).toBeInTheDocument",{"id":"external:expect(screen.getByText(\"Loading...\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(\"Loading...\")).toBeInTheDocument"}}],["external:expect(screen.getByText(\"Loading sessions...\")).toBeInTheDocument",{"id":"external:expect(screen.getByText(\"Loading sessions...\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(\"Loading sessions...\")).toBeInTheDocument"}}],["file:/workspace/apps/web/src/components/ui/StatusBadge.tsx",{"id":"file:/workspace/apps/web/src/components/ui/StatusBadge.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/ui/StatusBadge.tsx","metadata":{"lineCount":10,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/ui/index.ts",{"id":"file:/workspace/apps/web/src/components/ui/index.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/ui/index.ts","metadata":{"lineCount":6,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/workspace-card.tsx",{"id":"file:/workspace/apps/web/src/components/workspace-card.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/workspace-card.tsx","metadata":{"lineCount":78,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/workspace-instance-chips.tsx",{"id":"file:/workspace/apps/web/src/components/workspace-instance-chips.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/workspace-instance-chips.tsx","metadata":{"lineCount":58,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/workspace-card.tsx:WorkspaceCard",{"id":"/workspace/apps/web/src/components/workspace-card.tsx:WorkspaceCard","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/workspace-card.tsx","symbolName":"WorkspaceCard","symbolKind":"function","exported":true,"metadata":{"line":16,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:onStartTool",{"id":"symbol-name:onStartTool","kind":"symbol","language":"jsts","symbolName":"onStartTool","metadata":{"unresolvedName":"onStartTool"}}],["symbol-name:onSync",{"id":"symbol-name:onSync","kind":"symbol","language":"jsts","symbolName":"onSync","metadata":{"unresolvedName":"onSync"}}],["file:/workspace/apps/web/src/components/workspace-create-form.tsx",{"id":"file:/workspace/apps/web/src/components/workspace-create-form.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/workspace-create-form.tsx","metadata":{"lineCount":322,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/hooks/use-git-repo.ts",{"id":"file:/workspace/apps/web/src/hooks/use-git-repo.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-git-repo.ts","metadata":{"lineCount":281,"featureKind":"library","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/components/workspace-create-form.tsx:WorkspaceCreateForm",{"id":"/workspace/apps/web/src/components/workspace-create-form.tsx:WorkspaceCreateForm","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/workspace-create-form.tsx","symbolName":"WorkspaceCreateForm","symbolKind":"function","exported":true,"metadata":{"line":23,"column":1,"cyclomaticComplexity":51,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:useGitRepo",{"id":"symbol-name:useGitRepo","kind":"symbol","language":"jsts","symbolName":"useGitRepo","metadata":{"unresolvedName":"useGitRepo"}}],["external:git.branches.includes",{"id":"external:git.branches.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"git.branches.includes"}}],["symbol-name:setSelectedBranch",{"id":"symbol-name:setSelectedBranch","kind":"symbol","language":"jsts","symbolName":"setSelectedBranch","metadata":{"unresolvedName":"setSelectedBranch"}}],["symbol-name:setIsNewBranch",{"id":"symbol-name:setIsNewBranch","kind":"symbol","language":"jsts","symbolName":"setIsNewBranch","metadata":{"unresolvedName":"setIsNewBranch"}}],["symbol-name:listProjects",{"id":"symbol-name:listProjects","kind":"symbol","language":"jsts","symbolName":"listProjects","metadata":{"unresolvedName":"listProjects"}}],["symbol-name:setProjects",{"id":"symbol-name:setProjects","kind":"symbol","language":"jsts","symbolName":"setProjects","metadata":{"unresolvedName":"setProjects"}}],["symbol-name:setFetchingProjects",{"id":"symbol-name:setFetchingProjects","kind":"symbol","language":"jsts","symbolName":"setFetchingProjects","metadata":{"unresolvedName":"setFetchingProjects"}}],["symbol-name:loadProjects",{"id":"symbol-name:loadProjects","kind":"symbol","language":"jsts","symbolName":"loadProjects","metadata":{"unresolvedName":"loadProjects"}}],["symbol-name:setRepos",{"id":"symbol-name:setRepos","kind":"symbol","language":"jsts","symbolName":"setRepos","metadata":{"unresolvedName":"setRepos"}}],["external:name.trim",{"id":"external:name.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"name.trim"}}],["symbol-name:createWorkspaceTopLevel",{"id":"symbol-name:createWorkspaceTopLevel","kind":"symbol","language":"jsts","symbolName":"createWorkspaceTopLevel","metadata":{"unresolvedName":"createWorkspaceTopLevel"}}],["external:repos.map",{"id":"external:repos.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"repos.map"}}],["symbol-name:setName",{"id":"symbol-name:setName","kind":"symbol","language":"jsts","symbolName":"setName","metadata":{"unresolvedName":"setName"}}],["symbol-name:handleBranchChange",{"id":"symbol-name:handleBranchChange","kind":"symbol","language":"jsts","symbolName":"handleBranchChange","metadata":{"unresolvedName":"handleBranchChange"}}],["external:git.branches.map",{"id":"external:git.branches.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"git.branches.map"}}],["/workspace/apps/web/src/components/workspace-create-form.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/workspace-create-form.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/workspace-create-form.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":204,"column":18,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/workspace-create-form.tsx:loadRepos",{"id":"/workspace/apps/web/src/components/workspace-create-form.tsx:loadRepos","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/workspace-create-form.tsx","symbolName":"loadRepos","symbolKind":"function","exported":false,"metadata":{"line":94,"column":21,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/components/workspace-create-form.tsx:handleBranchChange",{"id":"/workspace/apps/web/src/components/workspace-create-form.tsx:handleBranchChange","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/workspace-create-form.tsx","symbolName":"handleBranchChange","symbolKind":"function","exported":false,"metadata":{"line":108,"column":29,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/workspace-create-form.tsx:handleSubmit",{"id":"/workspace/apps/web/src/components/workspace-create-form.tsx:handleSubmit","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/workspace-create-form.tsx","symbolName":"handleSubmit","symbolKind":"function","exported":false,"metadata":{"line":123,"column":23,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/workspace-instance-chips.tsx:WorkspaceInstanceChips",{"id":"/workspace/apps/web/src/components/workspace-instance-chips.tsx:WorkspaceInstanceChips","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/workspace-instance-chips.tsx","symbolName":"WorkspaceInstanceChips","symbolKind":"function","exported":true,"metadata":{"line":11,"column":1,"cyclomaticComplexity":6,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:listWorkspaceInstances",{"id":"symbol-name:listWorkspaceInstances","kind":"symbol","language":"jsts","symbolName":"listWorkspaceInstances","metadata":{"unresolvedName":"listWorkspaceInstances"}}],["/workspace/apps/web/src/components/workspace-instance-chips.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/workspace-instance-chips.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/workspace-instance-chips.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":17,"column":12,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/workspace-instance-chips.tsx:load",{"id":"/workspace/apps/web/src/components/workspace-instance-chips.tsx:load","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/workspace-instance-chips.tsx","symbolName":"load","symbolKind":"function","exported":false,"metadata":{"line":18,"column":16,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/hooks/use-async-data.ts:useAsyncData",{"id":"/workspace/apps/web/src/hooks/use-async-data.ts:useAsyncData","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-async-data.ts","symbolName":"useAsyncData","symbolKind":"function","exported":true,"metadata":{"line":12,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["symbol-name:fetcher",{"id":"symbol-name:fetcher","kind":"symbol","language":"jsts","symbolName":"fetcher","metadata":{"unresolvedName":"fetcher"}}],["symbol-name:setData",{"id":"symbol-name:setData","kind":"symbol","language":"jsts","symbolName":"setData","metadata":{"unresolvedName":"setData"}}],["/workspace/apps/web/src/hooks/use-async-data.ts:<anonymous>",{"id":"/workspace/apps/web/src/hooks/use-async-data.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-async-data.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":37,"column":13,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/hooks/use-auto-hide.ts:useAutoHide",{"id":"/workspace/apps/web/src/hooks/use-auto-hide.ts:useAutoHide","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-auto-hide.ts","symbolName":"useAutoHide","symbolKind":"function","exported":true,"metadata":{"line":8,"column":1,"cyclomaticComplexity":9,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:setIsVisible",{"id":"symbol-name:setIsVisible","kind":"symbol","language":"jsts","symbolName":"setIsVisible","metadata":{"unresolvedName":"setIsVisible"}}],["symbol-name:hide",{"id":"symbol-name:hide","kind":"symbol","language":"jsts","symbolName":"hide","metadata":{"unresolvedName":"hide"}}],["symbol-name:show",{"id":"symbol-name:show","kind":"symbol","language":"jsts","symbolName":"show","metadata":{"unresolvedName":"show"}}],["/workspace/apps/web/src/hooks/use-auto-hide.ts:<anonymous>",{"id":"/workspace/apps/web/src/hooks/use-auto-hide.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-auto-hide.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":55,"column":12,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/hooks/use-dashboard-actions.ts",{"id":"file:/workspace/apps/web/src/hooks/use-dashboard-actions.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts","metadata":{"lineCount":122,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/hooks/use-dashboard-actions.ts:useDashboardActions",{"id":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:useDashboardActions","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts","symbolName":"useDashboardActions","symbolKind":"function","exported":true,"metadata":{"line":13,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:setSaveState",{"id":"symbol-name:setSaveState","kind":"symbol","language":"jsts","symbolName":"setSaveState","metadata":{"unresolvedName":"setSaveState"}}],["external:session.tool_type_interfaces.includes",{"id":"external:session.tool_type_interfaces.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"session.tool_type_interfaces.includes"}}],["symbol-name:setActionBusy",{"id":"symbol-name:setActionBusy","kind":"symbol","language":"jsts","symbolName":"setActionBusy","metadata":{"unresolvedName":"setActionBusy"}}],["/workspace/apps/web/src/hooks/use-dashboard-actions.ts:<anonymous>",{"id":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":96,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/hooks/use-events.test.ts",{"id":"file:/workspace/apps/web/src/hooks/use-events.test.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-events.test.ts","metadata":{"lineCount":190,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/hooks/use-events.ts",{"id":"file:/workspace/apps/web/src/hooks/use-events.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-events.ts","metadata":{"lineCount":109,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>",{"id":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-events.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":185,"column":17,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:mockedCreateEventSource.mockReturnValue",{"id":"external:mockedCreateEventSource.mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockedCreateEventSource.mockReturnValue"}}],["external:mockedProbeEventStreamStatus.mockResolvedValue",{"id":"external:mockedProbeEventStreamStatus.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockedProbeEventStreamStatus.mockResolvedValue"}}],["symbol-name:renderHook",{"id":"symbol-name:renderHook","kind":"symbol","language":"jsts","symbolName":"renderHook","metadata":{"unresolvedName":"renderHook"}}],["symbol-name:useEvents",{"id":"symbol-name:useEvents","kind":"symbol","language":"jsts","symbolName":"useEvents","metadata":{"unresolvedName":"useEvents"}}],["external:mockEs.onopen",{"id":"external:mockEs.onopen","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockEs.onopen"}}],["external:mockEs.onmessage",{"id":"external:mockEs.onmessage","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockEs.onmessage"}}],["external:expect(result.current.events).toHaveLength",{"id":"external:expect(result.current.events).toHaveLength","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.events).toHaveLength"}}],["external:expect(result.current.events[0].instance_id).toBe",{"id":"external:expect(result.current.events[0].instance_id).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.events[0].instance_id).toBe"}}],["external:expect(result.current.connected).toBe",{"id":"external:expect(result.current.connected).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.connected).toBe"}}],["external:mockEs.onerror",{"id":"external:mockEs.onerror","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockEs.onerror"}}],["external:expect(mockEs.close).toHaveBeenCalled",{"id":"external:expect(mockEs.close).toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockEs.close).toHaveBeenCalled"}}],["external:expect(mockedCreateEventSource).toHaveBeenCalledTimes",{"id":"external:expect(mockedCreateEventSource).toHaveBeenCalledTimes","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockedCreateEventSource).toHaveBeenCalledTimes"}}],["external:vi.advanceTimersByTime",{"id":"external:vi.advanceTimersByTime","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.advanceTimersByTime"}}],["external:secondEs.onerror",{"id":"external:secondEs.onerror","kind":"external","language":"jsts","metadata":{"unresolvedName":"secondEs.onerror"}}],["external:currentEs.onerror",{"id":"external:currentEs.onerror","kind":"external","language":"jsts","metadata":{"unresolvedName":"currentEs.onerror"}}],["external:expect(mockedCreateEventSource.mock.calls.length).toBeGreaterThan",{"id":"external:expect(mockedCreateEventSource.mock.calls.length).toBeGreaterThan","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockedCreateEventSource.mock.calls.length).toBeGreaterThan"}}],["external:expect(window.location.assign).toHaveBeenCalled",{"id":"external:expect(window.location.assign).toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(window.location.assign).toHaveBeenCalled"}}],["symbol-name:unmount",{"id":"symbol-name:unmount","kind":"symbol","language":"jsts","symbolName":"unmount","metadata":{"unresolvedName":"unmount"}}],["external:expect(result.current.reconnectCount).toBeGreaterThan",{"id":"external:expect(result.current.reconnectCount).toBeGreaterThan","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.reconnectCount).toBeGreaterThan"}}],["/workspace/apps/web/src/hooks/use-events.ts:useEvents",{"id":"/workspace/apps/web/src/hooks/use-events.ts:useEvents","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-events.ts","symbolName":"useEvents","symbolKind":"function","exported":true,"metadata":{"line":15,"column":1,"cyclomaticComplexity":13,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:createEventSource",{"id":"symbol-name:createEventSource","kind":"symbol","language":"jsts","symbolName":"createEventSource","metadata":{"unresolvedName":"createEventSource"}}],["symbol-name:setConnected",{"id":"symbol-name:setConnected","kind":"symbol","language":"jsts","symbolName":"setConnected","metadata":{"unresolvedName":"setConnected"}}],["symbol-name:setReconnectCount",{"id":"symbol-name:setReconnectCount","kind":"symbol","language":"jsts","symbolName":"setReconnectCount","metadata":{"unresolvedName":"setReconnectCount"}}],["symbol-name:setEvents",{"id":"symbol-name:setEvents","kind":"symbol","language":"jsts","symbolName":"setEvents","metadata":{"unresolvedName":"setEvents"}}],["external:es.close",{"id":"external:es.close","kind":"external","language":"jsts","metadata":{"unresolvedName":"es.close"}}],["external:Math.min",{"id":"external:Math.min","kind":"external","language":"jsts","metadata":{"unresolvedName":"Math.min"}}],["external:Math.pow",{"id":"external:Math.pow","kind":"external","language":"jsts","metadata":{"unresolvedName":"Math.pow"}}],["external:Math.random",{"id":"external:Math.random","kind":"external","language":"jsts","metadata":{"unresolvedName":"Math.random"}}],["symbol-name:probeEventStreamStatus",{"id":"symbol-name:probeEventStreamStatus","kind":"symbol","language":"jsts","symbolName":"probeEventStreamStatus","metadata":{"unresolvedName":"probeEventStreamStatus"}}],["symbol-name:connect",{"id":"symbol-name:connect","kind":"symbol","language":"jsts","symbolName":"connect","metadata":{"unresolvedName":"connect"}}],["external:esRef.current.close",{"id":"external:esRef.current.close","kind":"external","language":"jsts","metadata":{"unresolvedName":"esRef.current.close"}}],["/workspace/apps/web/src/hooks/use-events.ts:<anonymous>",{"id":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-events.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":94,"column":10,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/hooks/use-git-repo.ts:useGitRepo",{"id":"/workspace/apps/web/src/hooks/use-git-repo.ts:useGitRepo","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-git-repo.ts","symbolName":"useGitRepo","symbolKind":"function","exported":true,"metadata":{"line":84,"column":1,"cyclomaticComplexity":35,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database"]}}],["symbol-name:async",{"id":"symbol-name:async","kind":"symbol","language":"jsts","symbolName":"async","metadata":{"unresolvedName":"async"}}],["symbol-name:fn",{"id":"symbol-name:fn","kind":"symbol","language":"jsts","symbolName":"fn","metadata":{"unresolvedName":"fn"}}],["symbol-name:extractError",{"id":"symbol-name:extractError","kind":"symbol","language":"jsts","symbolName":"extractError","metadata":{"unresolvedName":"extractError"}}],["symbol-name:withLoading",{"id":"symbol-name:withLoading","kind":"symbol","language":"jsts","symbolName":"withLoading","metadata":{"unresolvedName":"withLoading"}}],["external:data.branches.map",{"id":"external:data.branches.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"data.branches.map"}}],["symbol-name:setDefaultBranch",{"id":"symbol-name:setDefaultBranch","kind":"symbol","language":"jsts","symbolName":"setDefaultBranch","metadata":{"unresolvedName":"setDefaultBranch"}}],["symbol-name:getRepositoryHistory",{"id":"symbol-name:getRepositoryHistory","kind":"symbol","language":"jsts","symbolName":"getRepositoryHistory","metadata":{"unresolvedName":"getRepositoryHistory"}}],["symbol-name:setHistory",{"id":"symbol-name:setHistory","kind":"symbol","language":"jsts","symbolName":"setHistory","metadata":{"unresolvedName":"setHistory"}}],["symbol-name:getCommitDetail",{"id":"symbol-name:getCommitDetail","kind":"symbol","language":"jsts","symbolName":"getCommitDetail","metadata":{"unresolvedName":"getCommitDetail"}}],["symbol-name:setCommitDetail",{"id":"symbol-name:setCommitDetail","kind":"symbol","language":"jsts","symbolName":"setCommitDetail","metadata":{"unresolvedName":"setCommitDetail"}}],["symbol-name:refreshStatus",{"id":"symbol-name:refreshStatus","kind":"symbol","language":"jsts","symbolName":"refreshStatus","metadata":{"unresolvedName":"refreshStatus"}}],["symbol-name:refreshBranches",{"id":"symbol-name:refreshBranches","kind":"symbol","language":"jsts","symbolName":"refreshBranches","metadata":{"unresolvedName":"refreshBranches"}}],["symbol-name:deleteBranch",{"id":"symbol-name:deleteBranch","kind":"symbol","language":"jsts","symbolName":"deleteBranch","metadata":{"unresolvedName":"deleteBranch"}}],["symbol-name:refreshHistory",{"id":"symbol-name:refreshHistory","kind":"symbol","language":"jsts","symbolName":"refreshHistory","metadata":{"unresolvedName":"refreshHistory"}}],["/workspace/apps/web/src/hooks/use-git-repo.ts:extractError",{"id":"/workspace/apps/web/src/hooks/use-git-repo.ts:extractError","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-git-repo.ts","symbolName":"extractError","symbolKind":"function","exported":false,"metadata":{"line":96,"column":23,"cyclomaticComplexity":6,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>",{"id":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-git-repo.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":249,"column":12,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database"]}}],["file:/workspace/apps/web/src/hooks/use-instance-actions.ts",{"id":"file:/workspace/apps/web/src/hooks/use-instance-actions.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-instance-actions.ts","metadata":{"lineCount":188,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/hooks/use-instance-actions.ts:useInstanceActions",{"id":"/workspace/apps/web/src/hooks/use-instance-actions.ts:useInstanceActions","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-instance-actions.ts","symbolName":"useInstanceActions","symbolKind":"function","exported":true,"metadata":{"line":27,"column":1,"cyclomaticComplexity":16,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:setLoadingSessionId",{"id":"symbol-name:setLoadingSessionId","kind":"symbol","language":"jsts","symbolName":"setLoadingSessionId","metadata":{"unresolvedName":"setLoadingSessionId"}}],["symbol-name:setDirtyDeleteSession",{"id":"symbol-name:setDirtyDeleteSession","kind":"symbol","language":"jsts","symbolName":"setDirtyDeleteSession","metadata":{"unresolvedName":"setDirtyDeleteSession"}}],["symbol-name:setDirtyDeleteFiles",{"id":"symbol-name:setDirtyDeleteFiles","kind":"symbol","language":"jsts","symbolName":"setDirtyDeleteFiles","metadata":{"unresolvedName":"setDirtyDeleteFiles"}}],["/workspace/apps/web/src/hooks/use-instance-actions.ts:<anonymous>",{"id":"/workspace/apps/web/src/hooks/use-instance-actions.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-instance-actions.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":170,"column":39,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/hooks/use-mobile-viewport.ts:useMobileViewport",{"id":"/workspace/apps/web/src/hooks/use-mobile-viewport.ts:useMobileViewport","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-mobile-viewport.ts","symbolName":"useMobileViewport","symbolKind":"function","exported":true,"metadata":{"line":5,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:setIsMobile",{"id":"symbol-name:setIsMobile","kind":"symbol","language":"jsts","symbolName":"setIsMobile","metadata":{"unresolvedName":"setIsMobile"}}],["/workspace/apps/web/src/hooks/use-mobile-viewport.ts:<anonymous>",{"id":"/workspace/apps/web/src/hooks/use-mobile-viewport.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-mobile-viewport.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":11,"column":13,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/hooks/use-mobile-viewport.ts:handleResize",{"id":"/workspace/apps/web/src/hooks/use-mobile-viewport.ts:handleResize","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-mobile-viewport.ts","symbolName":"handleResize","symbolKind":"function","exported":false,"metadata":{"line":12,"column":26,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/hooks/use-notifications.test.tsx",{"id":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-notifications.test.tsx","metadata":{"lineCount":338,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/hooks/use-notifications.test.tsx:wrapper",{"id":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:wrapper","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-notifications.test.tsx","symbolName":"wrapper","symbolKind":"function","exported":false,"metadata":{"line":29,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>",{"id":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-notifications.test.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":329,"column":13,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:mockedMarkNotificationRead.mockResolvedValue",{"id":"external:mockedMarkNotificationRead.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockedMarkNotificationRead.mockResolvedValue"}}],["external:mockedMarkAllNotificationsRead.mockResolvedValue",{"id":"external:mockedMarkAllNotificationsRead.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockedMarkAllNotificationsRead.mockResolvedValue"}}],["external:mockedDismissNotification.mockResolvedValue",{"id":"external:mockedDismissNotification.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockedDismissNotification.mockResolvedValue"}}],["external:expect(result.current.notifications).toHaveLength",{"id":"external:expect(result.current.notifications).toHaveLength","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.notifications).toHaveLength"}}],["external:expect(result.current.unreadCount).toBe",{"id":"external:expect(result.current.unreadCount).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.unreadCount).toBe"}}],["external:mockedMarkNotificationRead.mockReturnValue",{"id":"external:mockedMarkNotificationRead.mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockedMarkNotificationRead.mockReturnValue"}}],["external:result.current.markRead",{"id":"external:result.current.markRead","kind":"external","language":"jsts","metadata":{"unresolvedName":"result.current.markRead"}}],["external:result.current.notifications.find",{"id":"external:result.current.notifications.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"result.current.notifications.find"}}],["external:expect(n?.read_at).not.toBeNull",{"id":"external:expect(n?.read_at).not.toBeNull","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(n?.read_at).not.toBeNull"}}],["symbol-name:resolveApi",{"id":"symbol-name:resolveApi","kind":"symbol","language":"jsts","symbolName":"resolveApi","metadata":{"unresolvedName":"resolveApi"}}],["external:mockedMarkNotificationRead.mockRejectedValue",{"id":"external:mockedMarkNotificationRead.mockRejectedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockedMarkNotificationRead.mockRejectedValue"}}],["external:expect(n?.read_at).toBeNull",{"id":"external:expect(n?.read_at).toBeNull","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(n?.read_at).toBeNull"}}],["external:expect(result.current.error).toBeInstanceOf",{"id":"external:expect(result.current.error).toBeInstanceOf","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.error).toBeInstanceOf"}}],["external:mockedDismissNotification.mockReturnValue",{"id":"external:mockedDismissNotification.mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockedDismissNotification.mockReturnValue"}}],["external:result.current.dismiss",{"id":"external:result.current.dismiss","kind":"external","language":"jsts","metadata":{"unresolvedName":"result.current.dismiss"}}],["external:mockedDismissNotification.mockRejectedValue",{"id":"external:mockedDismissNotification.mockRejectedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockedDismissNotification.mockRejectedValue"}}],["external:result.current.refreshList",{"id":"external:result.current.refreshList","kind":"external","language":"jsts","metadata":{"unresolvedName":"result.current.refreshList"}}],["external:expect(mockedGetNotifications).toHaveBeenCalledTimes",{"id":"external:expect(mockedGetNotifications).toHaveBeenCalledTimes","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockedGetNotifications).toHaveBeenCalledTimes"}}],["external:mockedGetUnreadCount.mockRejectedValue",{"id":"external:mockedGetUnreadCount.mockRejectedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockedGetUnreadCount.mockRejectedValue"}}],["external:expect(mockedGetUnreadCount.mock.calls.length).toBe",{"id":"external:expect(mockedGetUnreadCount.mock.calls.length).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockedGetUnreadCount.mock.calls.length).toBe"}}],["external:Object.defineProperty",{"id":"external:Object.defineProperty","kind":"external","language":"jsts","metadata":{"unresolvedName":"Object.defineProperty"}}],["external:document.dispatchEvent",{"id":"external:document.dispatchEvent","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.dispatchEvent"}}],["external:expect(mockedGetUnreadCount.mock.calls.length).toBeGreaterThan",{"id":"external:expect(mockedGetUnreadCount.mock.calls.length).toBeGreaterThan","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(mockedGetUnreadCount.mock.calls.length).toBeGreaterThan"}}],["/workspace/apps/web/src/hooks/use-notifications.ts:useNotifications",{"id":"/workspace/apps/web/src/hooks/use-notifications.ts:useNotifications","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-notifications.ts","symbolName":"useNotifications","symbolKind":"function","exported":true,"metadata":{"line":4,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:useContext",{"id":"symbol-name:useContext","kind":"symbol","language":"jsts","symbolName":"useContext","metadata":{"unresolvedName":"useContext"}}],["/workspace/apps/web/src/hooks/use-special-keys.ts:getSequenceWithModifier",{"id":"/workspace/apps/web/src/hooks/use-special-keys.ts:getSequenceWithModifier","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-special-keys.ts","symbolName":"getSequenceWithModifier","symbolKind":"function","exported":true,"metadata":{"line":106,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:char.toLowerCase",{"id":"external:char.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"char.toLowerCase"}}],["/workspace/apps/web/src/hooks/use-special-keys.ts:applyModifierToChar",{"id":"/workspace/apps/web/src/hooks/use-special-keys.ts:applyModifierToChar","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-special-keys.ts","symbolName":"applyModifierToChar","symbolKind":"function","exported":true,"metadata":{"line":130,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/hooks/use-start-tool.ts",{"id":"file:/workspace/apps/web/src/hooks/use-start-tool.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-start-tool.ts","metadata":{"lineCount":65,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/hooks/use-start-tool.ts:useStartTool",{"id":"/workspace/apps/web/src/hooks/use-start-tool.ts:useStartTool","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-start-tool.ts","symbolName":"useStartTool","symbolKind":"function","exported":true,"metadata":{"line":19,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/hooks/use-start-tool.ts:<anonymous>",{"id":"/workspace/apps/web/src/hooks/use-start-tool.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-start-tool.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":24,"column":3,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts",{"id":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","metadata":{"lineCount":340,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:send",{"id":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:send","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","symbolName":"send","symbolKind":"function","exported":false,"metadata":{"line":20,"column":2,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:this.sent.push",{"id":"external:this.sent.push","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.sent.push"}}],["/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:close",{"id":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:close","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","symbolName":"close","symbolKind":"function","exported":false,"metadata":{"line":24,"column":2,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:this.onclose",{"id":"external:this.onclose","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.onclose"}}],["/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:simulateOpen",{"id":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:simulateOpen","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","symbolName":"simulateOpen","symbolKind":"function","exported":false,"metadata":{"line":31,"column":2,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:this.onopen",{"id":"external:this.onopen","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.onopen"}}],["/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:simulateMessage",{"id":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:simulateMessage","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","symbolName":"simulateMessage","symbolKind":"function","exported":false,"metadata":{"line":36,"column":2,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:this.onmessage",{"id":"external:this.onmessage","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.onmessage"}}],["/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:simulateError",{"id":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:simulateError","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","symbolName":"simulateError","symbolKind":"function","exported":false,"metadata":{"line":42,"column":2,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:this.onerror",{"id":"external:this.onerror","kind":"external","language":"jsts","metadata":{"unresolvedName":"this.onerror"}}],["/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>",{"id":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":331,"column":7,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:vi.stubGlobal",{"id":"external:vi.stubGlobal","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.stubGlobal"}}],["external:vi.unstubAllGlobals",{"id":"external:vi.unstubAllGlobals","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.unstubAllGlobals"}}],["external:expect(result.current.state.status).toBe",{"id":"external:expect(result.current.state.status).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.state.status).toBe"}}],["external:expect(MockWebSocket.instances).toHaveLength",{"id":"external:expect(MockWebSocket.instances).toHaveLength","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(MockWebSocket.instances).toHaveLength"}}],["external:MockWebSocket.instances[0].simulateOpen",{"id":"external:MockWebSocket.instances[0].simulateOpen","kind":"external","language":"jsts","metadata":{"unresolvedName":"MockWebSocket.instances[0].simulateOpen"}}],["external:MockWebSocket.instances[0].sent.filter",{"id":"external:MockWebSocket.instances[0].sent.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"MockWebSocket.instances[0].sent.filter"}}],["external:s.includes",{"id":"external:s.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"s.includes"}}],["external:expect(pings.length).toBeGreaterThanOrEqual",{"id":"external:expect(pings.length).toBeGreaterThanOrEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(pings.length).toBeGreaterThanOrEqual"}}],["external:MockWebSocket.instances[0].simulateMessage",{"id":"external:MockWebSocket.instances[0].simulateMessage","kind":"external","language":"jsts","metadata":{"unresolvedName":"MockWebSocket.instances[0].simulateMessage"}}],["external:expect(result.current.state.latency).not.toBeNull",{"id":"external:expect(result.current.state.latency).not.toBeNull","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.state.latency).not.toBeNull"}}],["external:expect(result.current.state.latency).toBeGreaterThanOrEqual",{"id":"external:expect(result.current.state.latency).toBeGreaterThanOrEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.state.latency).toBeGreaterThanOrEqual"}}],["external:MockWebSocket.instances[0].close",{"id":"external:MockWebSocket.instances[0].close","kind":"external","language":"jsts","metadata":{"unresolvedName":"MockWebSocket.instances[0].close"}}],["external:expect(result.current.state.attempt).toBe",{"id":"external:expect(result.current.state.attempt).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.state.attempt).toBe"}}],["external:ws.close",{"id":"external:ws.close","kind":"external","language":"jsts","metadata":{"unresolvedName":"ws.close"}}],["external:expect(result.current.state.error).toContain",{"id":"external:expect(result.current.state.error).toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(result.current.state.error).toContain"}}],["external:result.current.sendResize",{"id":"external:result.current.sendResize","kind":"external","language":"jsts","metadata":{"unresolvedName":"result.current.sendResize"}}],["external:expect(resizes.length).toBeGreaterThanOrEqual",{"id":"external:expect(resizes.length).toBeGreaterThanOrEqual","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(resizes.length).toBeGreaterThanOrEqual"}}],["external:expect(resizes.length).toBe",{"id":"external:expect(resizes.length).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(resizes.length).toBe"}}],["external:result.current.sendInput",{"id":"external:result.current.sendInput","kind":"external","language":"jsts","metadata":{"unresolvedName":"result.current.sendInput"}}],["external:expect(MockWebSocket.instances[0].sent).toContain",{"id":"external:expect(MockWebSocket.instances[0].sent).toContain","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(MockWebSocket.instances[0].sent).toContain"}}],["external:result.current.reconnect",{"id":"external:result.current.reconnect","kind":"external","language":"jsts","metadata":{"unresolvedName":"result.current.reconnect"}}],["external:expect(onData).toHaveBeenCalledWith",{"id":"external:expect(onData).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(onData).toHaveBeenCalledWith"}}],["external:expect.any",{"id":"external:expect.any","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect.any"}}],["external:expect(onControl).toHaveBeenCalledWith",{"id":"external:expect(onControl).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(onControl).toHaveBeenCalledWith"}}],["external:expect(serializeFn).toHaveBeenCalled",{"id":"external:expect(serializeFn).toHaveBeenCalled","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(serializeFn).toHaveBeenCalled"}}],["external:expect(onRestoreScrollback).toHaveBeenCalledWith",{"id":"external:expect(onRestoreScrollback).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(onRestoreScrollback).toHaveBeenCalledWith"}}],["file:/workspace/apps/web/src/utils/terminal-protocol.ts",{"id":"file:/workspace/apps/web/src/utils/terminal-protocol.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/utils/terminal-protocol.ts","metadata":{"lineCount":77,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection",{"id":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-terminal-connection.ts","symbolName":"useTerminalConnection","symbolKind":"function","exported":true,"metadata":{"line":35,"column":1,"cyclomaticComplexity":63,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:setState",{"id":"symbol-name:setState","kind":"symbol","language":"jsts","symbolName":"setState","metadata":{"unresolvedName":"setState"}}],["symbol-name:updater",{"id":"symbol-name:updater","kind":"symbol","language":"jsts","symbolName":"updater","metadata":{"unresolvedName":"updater"}}],["symbol-name:onLocalEcho",{"id":"symbol-name:onLocalEcho","kind":"symbol","language":"jsts","symbolName":"onLocalEcho","metadata":{"unresolvedName":"onLocalEcho"}}],["external:pendingEchoRef.current.slice",{"id":"external:pendingEchoRef.current.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"pendingEchoRef.current.slice"}}],["external:data.slice",{"id":"external:data.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"data.slice"}}],["external:new TextDecoder().decode",{"id":"external:new TextDecoder().decode","kind":"external","language":"jsts","metadata":{"unresolvedName":"new TextDecoder().decode"}}],["symbol-name:onData",{"id":"symbol-name:onData","kind":"symbol","language":"jsts","symbolName":"onData","metadata":{"unresolvedName":"onData"}}],["symbol-name:deduplicateServerData",{"id":"symbol-name:deduplicateServerData","kind":"symbol","language":"jsts","symbolName":"deduplicateServerData","metadata":{"unresolvedName":"deduplicateServerData"}}],["symbol-name:flushPendingEcho",{"id":"symbol-name:flushPendingEcho","kind":"symbol","language":"jsts","symbolName":"flushPendingEcho","metadata":{"unresolvedName":"flushPendingEcho"}}],["symbol-name:onControl",{"id":"symbol-name:onControl","kind":"symbol","language":"jsts","symbolName":"onControl","metadata":{"unresolvedName":"onControl"}}],["symbol-name:setStableState",{"id":"symbol-name:setStableState","kind":"symbol","language":"jsts","symbolName":"setStableState","metadata":{"unresolvedName":"setStableState"}}],["symbol-name:clearTimers",{"id":"symbol-name:clearTimers","kind":"symbol","language":"jsts","symbolName":"clearTimers","metadata":{"unresolvedName":"clearTimers"}}],["external:wsRef.current?.close",{"id":"external:wsRef.current?.close","kind":"external","language":"jsts","metadata":{"unresolvedName":"wsRef.current?.close"}}],["external:ws.send",{"id":"external:ws.send","kind":"external","language":"jsts","metadata":{"unresolvedName":"ws.send"}}],["symbol-name:encodeControlMessage",{"id":"symbol-name:encodeControlMessage","kind":"symbol","language":"jsts","symbolName":"encodeControlMessage","metadata":{"unresolvedName":"encodeControlMessage"}}],["symbol-name:serializeFn",{"id":"symbol-name:serializeFn","kind":"symbol","language":"jsts","symbolName":"serializeFn","metadata":{"unresolvedName":"serializeFn"}}],["external:sessionStorage.setItem",{"id":"external:sessionStorage.setItem","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessionStorage.setItem"}}],["external:sessionStorage.getItem",{"id":"external:sessionStorage.getItem","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessionStorage.getItem"}}],["symbol-name:onRestoreScrollback",{"id":"symbol-name:onRestoreScrollback","kind":"symbol","language":"jsts","symbolName":"onRestoreScrollback","metadata":{"unresolvedName":"onRestoreScrollback"}}],["external:sessionStorage.removeItem",{"id":"external:sessionStorage.removeItem","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessionStorage.removeItem"}}],["external:apiUrl.replace(/^https?:\\/\\//, \"\").replace",{"id":"external:apiUrl.replace(/^https?:\\/\\//, \"\").replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"apiUrl.replace(/^https?:\\/\\//, \"\").replace"}}],["external:apiUrl.replace",{"id":"external:apiUrl.replace","kind":"external","language":"jsts","metadata":{"unresolvedName":"apiUrl.replace"}}],["symbol-name:restoreScrollback",{"id":"symbol-name:restoreScrollback","kind":"symbol","language":"jsts","symbolName":"restoreScrollback","metadata":{"unresolvedName":"restoreScrollback"}}],["symbol-name:schedulePing",{"id":"symbol-name:schedulePing","kind":"symbol","language":"jsts","symbolName":"schedulePing","metadata":{"unresolvedName":"schedulePing"}}],["symbol-name:isControlMessage",{"id":"symbol-name:isControlMessage","kind":"symbol","language":"jsts","symbolName":"isControlMessage","metadata":{"unresolvedName":"isControlMessage"}}],["symbol-name:decodeControlMessage",{"id":"symbol-name:decodeControlMessage","kind":"symbol","language":"jsts","symbolName":"decodeControlMessage","metadata":{"unresolvedName":"decodeControlMessage"}}],["symbol-name:handleControlMessage",{"id":"symbol-name:handleControlMessage","kind":"symbol","language":"jsts","symbolName":"handleControlMessage","metadata":{"unresolvedName":"handleControlMessage"}}],["symbol-name:handleBinaryMessage",{"id":"symbol-name:handleBinaryMessage","kind":"symbol","language":"jsts","symbolName":"handleBinaryMessage","metadata":{"unresolvedName":"handleBinaryMessage"}}],["external:event.data.arrayBuffer().then",{"id":"external:event.data.arrayBuffer().then","kind":"external","language":"jsts","metadata":{"unresolvedName":"event.data.arrayBuffer().then"}}],["external:event.data.arrayBuffer",{"id":"external:event.data.arrayBuffer","kind":"external","language":"jsts","metadata":{"unresolvedName":"event.data.arrayBuffer"}}],["symbol-name:serializeScrollback",{"id":"symbol-name:serializeScrollback","kind":"symbol","language":"jsts","symbolName":"serializeScrollback","metadata":{"unresolvedName":"serializeScrollback"}}],["external:Math.round",{"id":"external:Math.round","kind":"external","language":"jsts","metadata":{"unresolvedName":"Math.round"}}],["external:data.charCodeAt",{"id":"external:data.charCodeAt","kind":"external","language":"jsts","metadata":{"unresolvedName":"data.charCodeAt"}}],["external:wsRef.current.close",{"id":"external:wsRef.current.close","kind":"external","language":"jsts","metadata":{"unresolvedName":"wsRef.current.close"}}],["/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>",{"id":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-terminal-connection.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":422,"column":12,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/hooks/use-terminal-connection.ts:handler",{"id":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:handler","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-terminal-connection.ts","symbolName":"handler","symbolKind":"function","exported":false,"metadata":{"line":423,"column":19,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/hooks/use-terminal-sessions.ts",{"id":"file:/workspace/apps/web/src/hooks/use-terminal-sessions.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts","metadata":{"lineCount":146,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/workspace/apps/web/src/hooks/use-terminal-sessions.ts:useTerminalSessions",{"id":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:useTerminalSessions","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts","symbolName":"useTerminalSessions","symbolKind":"function","exported":true,"metadata":{"line":23,"column":1,"cyclomaticComplexity":17,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["symbol-name:listTerminalSessions",{"id":"symbol-name:listTerminalSessions","kind":"symbol","language":"jsts","symbolName":"listTerminalSessions","metadata":{"unresolvedName":"listTerminalSessions"}}],["symbol-name:setSessions",{"id":"symbol-name:setSessions","kind":"symbol","language":"jsts","symbolName":"setSessions","metadata":{"unresolvedName":"setSessions"}}],["symbol-name:setActiveSessionId",{"id":"symbol-name:setActiveSessionId","kind":"symbol","language":"jsts","symbolName":"setActiveSessionId","metadata":{"unresolvedName":"setActiveSessionId"}}],["symbol-name:createTerminalSession",{"id":"symbol-name:createTerminalSession","kind":"symbol","language":"jsts","symbolName":"createTerminalSession","metadata":{"unresolvedName":"createTerminalSession"}}],["symbol-name:closeTerminalSession",{"id":"symbol-name:closeTerminalSession","kind":"symbol","language":"jsts","symbolName":"closeTerminalSession","metadata":{"unresolvedName":"closeTerminalSession"}}],["symbol-name:renameTerminalSession",{"id":"symbol-name:renameTerminalSession","kind":"symbol","language":"jsts","symbolName":"renameTerminalSession","metadata":{"unresolvedName":"renameTerminalSession"}}],["external:prev.map",{"id":"external:prev.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"prev.map"}}],["symbol-name:resetTerminalSession",{"id":"symbol-name:resetTerminalSession","kind":"symbol","language":"jsts","symbolName":"resetTerminalSession","metadata":{"unresolvedName":"resetTerminalSession"}}],["/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>",{"id":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":130,"column":12,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/workspace/apps/web/src/hooks/use-theme.ts:useTheme",{"id":"/workspace/apps/web/src/hooks/use-theme.ts:useTheme","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-theme.ts","symbolName":"useTheme","symbolKind":"function","exported":true,"metadata":{"line":5,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:document.documentElement.removeAttribute",{"id":"external:document.documentElement.removeAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.documentElement.removeAttribute"}}],["external:document.documentElement.setAttribute",{"id":"external:document.documentElement.setAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"document.documentElement.setAttribute"}}],["/workspace/apps/web/src/hooks/use-theme.ts:<anonymous>",{"id":"/workspace/apps/web/src/hooks/use-theme.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-theme.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":7,"column":11,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/hooks/use-virtual-keyboard.ts:useVirtualKeyboard",{"id":"/workspace/apps/web/src/hooks/use-virtual-keyboard.ts:useVirtualKeyboard","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-virtual-keyboard.ts","symbolName":"useVirtualKeyboard","symbolKind":"function","exported":true,"metadata":{"line":9,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:visualViewport.addEventListener",{"id":"external:visualViewport.addEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"visualViewport.addEventListener"}}],["symbol-name:updateKeyboardState",{"id":"symbol-name:updateKeyboardState","kind":"symbol","language":"jsts","symbolName":"updateKeyboardState","metadata":{"unresolvedName":"updateKeyboardState"}}],["external:visualViewport.removeEventListener",{"id":"external:visualViewport.removeEventListener","kind":"external","language":"jsts","metadata":{"unresolvedName":"visualViewport.removeEventListener"}}],["/workspace/apps/web/src/hooks/use-virtual-keyboard.ts:<anonymous>",{"id":"/workspace/apps/web/src/hooks/use-virtual-keyboard.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-virtual-keyboard.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":57,"column":12,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/hooks/use-workspace-actions.ts",{"id":"file:/workspace/apps/web/src/hooks/use-workspace-actions.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-workspace-actions.ts","metadata":{"lineCount":147,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/hooks/use-workspace-actions.ts:useWorkspaceActions",{"id":"/workspace/apps/web/src/hooks/use-workspace-actions.ts:useWorkspaceActions","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-workspace-actions.ts","symbolName":"useWorkspaceActions","symbolKind":"function","exported":true,"metadata":{"line":50,"column":1,"cyclomaticComplexity":10,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:createWorkspace",{"id":"symbol-name:createWorkspace","kind":"symbol","language":"jsts","symbolName":"createWorkspace","metadata":{"unresolvedName":"createWorkspace"}}],["symbol-name:setLoadingId",{"id":"symbol-name:setLoadingId","kind":"symbol","language":"jsts","symbolName":"setLoadingId","metadata":{"unresolvedName":"setLoadingId"}}],["symbol-name:deleteWorkspace",{"id":"symbol-name:deleteWorkspace","kind":"symbol","language":"jsts","symbolName":"deleteWorkspace","metadata":{"unresolvedName":"deleteWorkspace"}}],["external:instances.map((i) => `- ${i.name}`).join",{"id":"external:instances.map((i) => `- ${i.name}`).join","kind":"external","language":"jsts","metadata":{"unresolvedName":"instances.map((i) => `- ${i.name}`).join"}}],["symbol-name:syncWorkspace",{"id":"symbol-name:syncWorkspace","kind":"symbol","language":"jsts","symbolName":"syncWorkspace","metadata":{"unresolvedName":"syncWorkspace"}}],["symbol-name:updateWorkspace",{"id":"symbol-name:updateWorkspace","kind":"symbol","language":"jsts","symbolName":"updateWorkspace","metadata":{"unresolvedName":"updateWorkspace"}}],["/workspace/apps/web/src/hooks/use-workspace-actions.ts:<anonymous>",{"id":"/workspace/apps/web/src/hooks/use-workspace-actions.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-workspace-actions.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":128,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":true,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/hooks/use-workspace-files.ts",{"id":"file:/workspace/apps/web/src/hooks/use-workspace-files.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-workspace-files.ts","metadata":{"lineCount":69,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/hooks/use-workspace-files.ts:useWorkspaceFiles",{"id":"/workspace/apps/web/src/hooks/use-workspace-files.ts:useWorkspaceFiles","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-workspace-files.ts","symbolName":"useWorkspaceFiles","symbolKind":"function","exported":true,"metadata":{"line":21,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:listWorkspaceFiles",{"id":"symbol-name:listWorkspaceFiles","kind":"symbol","language":"jsts","symbolName":"listWorkspaceFiles","metadata":{"unresolvedName":"listWorkspaceFiles"}}],["symbol-name:getWorkspaceFileContent",{"id":"symbol-name:getWorkspaceFileContent","kind":"symbol","language":"jsts","symbolName":"getWorkspaceFileContent","metadata":{"unresolvedName":"getWorkspaceFileContent"}}],["symbol-name:saveWorkspaceFile",{"id":"symbol-name:saveWorkspaceFile","kind":"symbol","language":"jsts","symbolName":"saveWorkspaceFile","metadata":{"unresolvedName":"saveWorkspaceFile"}}],["symbol-name:refresh",{"id":"symbol-name:refresh","kind":"symbol","language":"jsts","symbolName":"refresh","metadata":{"unresolvedName":"refresh"}}],["/workspace/apps/web/src/hooks/use-workspace-files.ts:<anonymous>",{"id":"/workspace/apps/web/src/hooks/use-workspace-files.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-workspace-files.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":63,"column":12,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/hooks/use-workspace-git.ts",{"id":"file:/workspace/apps/web/src/hooks/use-workspace-git.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-workspace-git.ts","metadata":{"lineCount":110,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/hooks/use-workspace-git.ts:useWorkspaceGit",{"id":"/workspace/apps/web/src/hooks/use-workspace-git.ts:useWorkspaceGit","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-workspace-git.ts","symbolName":"useWorkspaceGit","symbolKind":"function","exported":true,"metadata":{"line":32,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:getGitStatus",{"id":"symbol-name:getGitStatus","kind":"symbol","language":"jsts","symbolName":"getGitStatus","metadata":{"unresolvedName":"getGitStatus"}}],["symbol-name:getGitBranches",{"id":"symbol-name:getGitBranches","kind":"symbol","language":"jsts","symbolName":"getGitBranches","metadata":{"unresolvedName":"getGitBranches"}}],["symbol-name:getGitHistory",{"id":"symbol-name:getGitHistory","kind":"symbol","language":"jsts","symbolName":"getGitHistory","metadata":{"unresolvedName":"getGitHistory"}}],["symbol-name:setCurrentBranch",{"id":"symbol-name:setCurrentBranch","kind":"symbol","language":"jsts","symbolName":"setCurrentBranch","metadata":{"unresolvedName":"setCurrentBranch"}}],["symbol-name:gitCommit",{"id":"symbol-name:gitCommit","kind":"symbol","language":"jsts","symbolName":"gitCommit","metadata":{"unresolvedName":"gitCommit"}}],["symbol-name:gitPush",{"id":"symbol-name:gitPush","kind":"symbol","language":"jsts","symbolName":"gitPush","metadata":{"unresolvedName":"gitPush"}}],["symbol-name:gitPull",{"id":"symbol-name:gitPull","kind":"symbol","language":"jsts","symbolName":"gitPull","metadata":{"unresolvedName":"gitPull"}}],["symbol-name:gitFetch",{"id":"symbol-name:gitFetch","kind":"symbol","language":"jsts","symbolName":"gitFetch","metadata":{"unresolvedName":"gitFetch"}}],["symbol-name:gitCheckout",{"id":"symbol-name:gitCheckout","kind":"symbol","language":"jsts","symbolName":"gitCheckout","metadata":{"unresolvedName":"gitCheckout"}}],["/workspace/apps/web/src/hooks/use-workspace-git.ts:<anonymous>",{"id":"/workspace/apps/web/src/hooks/use-workspace-git.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-workspace-git.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":91,"column":12,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/hooks/use-workspace-instances.ts",{"id":"file:/workspace/apps/web/src/hooks/use-workspace-instances.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-workspace-instances.ts","metadata":{"lineCount":66,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/hooks/use-workspace-instances.ts:useWorkspaceInstances",{"id":"/workspace/apps/web/src/hooks/use-workspace-instances.ts:useWorkspaceInstances","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-workspace-instances.ts","symbolName":"useWorkspaceInstances","symbolKind":"function","exported":true,"metadata":{"line":22,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:createWorkspaceInstance",{"id":"symbol-name:createWorkspaceInstance","kind":"symbol","language":"jsts","symbolName":"createWorkspaceInstance","metadata":{"unresolvedName":"createWorkspaceInstance"}}],["/workspace/apps/web/src/hooks/use-workspace-instances.ts:<anonymous>",{"id":"/workspace/apps/web/src/hooks/use-workspace-instances.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-workspace-instances.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":60,"column":12,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/hooks/use-workspaces.ts",{"id":"file:/workspace/apps/web/src/hooks/use-workspaces.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-workspaces.ts","metadata":{"lineCount":46,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/hooks/use-workspaces.ts:useWorkspaces",{"id":"/workspace/apps/web/src/hooks/use-workspaces.ts:useWorkspaces","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-workspaces.ts","symbolName":"useWorkspaces","symbolKind":"function","exported":true,"metadata":{"line":14,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:listWorkspaces",{"id":"symbol-name:listWorkspaces","kind":"symbol","language":"jsts","symbolName":"listWorkspaces","metadata":{"unresolvedName":"listWorkspaces"}}],["/workspace/apps/web/src/hooks/use-workspaces.ts:<anonymous>",{"id":"/workspace/apps/web/src/hooks/use-workspaces.ts:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/hooks/use-workspaces.ts","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":40,"column":12,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/main.tsx",{"id":"file:/workspace/apps/web/src/main.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/main.tsx","metadata":{"lineCount":31,"featureKind":"library","trustBoundaries":[]}}],["external:react-dom/client",{"id":"external:react-dom/client","kind":"external","language":"jsts","metadata":{"source":"react-dom/client"}}],["file:/workspace/apps/web/src/router.tsx",{"id":"file:/workspace/apps/web/src/router.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/router.tsx","metadata":{"lineCount":82,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/styles/tokens.css",{"id":"file:/workspace/apps/web/src/styles/tokens.css","kind":"file","language":"css","filePath":"/workspace/apps/web/src/styles/tokens.css"}],["file:/workspace/apps/web/src/styles/global.css",{"id":"file:/workspace/apps/web/src/styles/global.css","kind":"file","language":"css","filePath":"/workspace/apps/web/src/styles/global.css"}],["file:/workspace/apps/web/src/styles/utilities.css",{"id":"file:/workspace/apps/web/src/styles/utilities.css","kind":"file","language":"css","filePath":"/workspace/apps/web/src/styles/utilities.css"}],["file:/workspace/apps/web/src/styles/syntax-highlight.css",{"id":"file:/workspace/apps/web/src/styles/syntax-highlight.css","kind":"file","language":"css","filePath":"/workspace/apps/web/src/styles/syntax-highlight.css"}],["file:/workspace/apps/web/src/styles/pages/sessions.css",{"id":"file:/workspace/apps/web/src/styles/pages/sessions.css","kind":"file","language":"css","filePath":"/workspace/apps/web/src/styles/pages/sessions.css"}],["file:/workspace/apps/web/src/styles/pages/repo-workspace.css",{"id":"file:/workspace/apps/web/src/styles/pages/repo-workspace.css","kind":"file","language":"css","filePath":"/workspace/apps/web/src/styles/pages/repo-workspace.css"}],["file:/workspace/apps/web/src/styles/pages/dashboard.css",{"id":"file:/workspace/apps/web/src/styles/pages/dashboard.css","kind":"file","language":"css","filePath":"/workspace/apps/web/src/styles/pages/dashboard.css"}],["file:/workspace/apps/web/src/styles/pages/projects.css",{"id":"file:/workspace/apps/web/src/styles/pages/projects.css","kind":"file","language":"css","filePath":"/workspace/apps/web/src/styles/pages/projects.css"}],["file:/workspace/apps/web/src/styles/pages/git-history.css",{"id":"file:/workspace/apps/web/src/styles/pages/git-history.css","kind":"file","language":"css","filePath":"/workspace/apps/web/src/styles/pages/git-history.css"}],["file:/workspace/apps/web/src/styles/pages/ssh-keys.css",{"id":"file:/workspace/apps/web/src/styles/pages/ssh-keys.css","kind":"file","language":"css","filePath":"/workspace/apps/web/src/styles/pages/ssh-keys.css"}],["file:/workspace/apps/web/src/styles/pages/settings.css",{"id":"file:/workspace/apps/web/src/styles/pages/settings.css","kind":"file","language":"css","filePath":"/workspace/apps/web/src/styles/pages/settings.css"}],["file:/workspace/apps/web/src/pages/DashboardPage.test.tsx",{"id":"file:/workspace/apps/web/src/pages/DashboardPage.test.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/pages/DashboardPage.test.tsx","metadata":{"lineCount":82,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/pages/DashboardPage.tsx",{"id":"file:/workspace/apps/web/src/pages/DashboardPage.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/pages/DashboardPage.tsx","metadata":{"lineCount":194,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>",{"id":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/DashboardPage.test.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":75,"column":19,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:mockDashboard.mockReset",{"id":"external:mockDashboard.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockDashboard.mockReset"}}],["external:mockSessions.mockReset",{"id":"external:mockSessions.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockSessions.mockReset"}}],["external:mockProjects.mockReset",{"id":"external:mockProjects.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockProjects.mockReset"}}],["external:mockRepos.mockReset",{"id":"external:mockRepos.mockReset","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockRepos.mockReset"}}],["external:mockDashboard.mockResolvedValue",{"id":"external:mockDashboard.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockDashboard.mockResolvedValue"}}],["external:mockSessions.mockResolvedValue",{"id":"external:mockSessions.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockSessions.mockResolvedValue"}}],["external:mockProjects.mockResolvedValue",{"id":"external:mockProjects.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockProjects.mockResolvedValue"}}],["external:mockRepos.mockResolvedValue",{"id":"external:mockRepos.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockRepos.mockResolvedValue"}}],["external:expect(screen.getByText(\"Loading overview...\")).toBeInTheDocument",{"id":"external:expect(screen.getByText(\"Loading overview...\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(\"Loading overview...\")).toBeInTheDocument"}}],["external:expect(screen.getAllByText(\"Open sessions\").length).toBeGreaterThan",{"id":"external:expect(screen.getAllByText(\"Open sessions\").length).toBeGreaterThan","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getAllByText(\"Open sessions\").length).toBeGreaterThan"}}],["external:expect(screen.getByText(\"Available projects\")).toBeInTheDocument",{"id":"external:expect(screen.getByText(\"Available projects\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(\"Available projects\")).toBeInTheDocument"}}],["external:mockDashboard.mockRejectedValueOnce",{"id":"external:mockDashboard.mockRejectedValueOnce","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockDashboard.mockRejectedValueOnce"}}],["external:mockSessions.mockRejectedValueOnce",{"id":"external:mockSessions.mockRejectedValueOnce","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockSessions.mockRejectedValueOnce"}}],["external:mockProjects.mockRejectedValueOnce",{"id":"external:mockProjects.mockRejectedValueOnce","kind":"external","language":"jsts","metadata":{"unresolvedName":"mockProjects.mockRejectedValueOnce"}}],["file:/workspace/apps/web/src/components/features/dashboard",{"id":"file:/workspace/apps/web/src/components/features/dashboard","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/dashboard"}],["file:/workspace/apps/web/src/components/ui",{"id":"file:/workspace/apps/web/src/components/ui","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/ui"}],["/workspace/apps/web/src/pages/DashboardPage.tsx:HomePage",{"id":"/workspace/apps/web/src/pages/DashboardPage.tsx:HomePage","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/DashboardPage.tsx","symbolName":"HomePage","symbolKind":"function","exported":true,"metadata":{"line":26,"column":25,"cyclomaticComplexity":8,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:Array.isArray",{"id":"external:Array.isArray","kind":"external","language":"jsts","metadata":{"unresolvedName":"Array.isArray"}}],["symbol-name:getDashboardSummary",{"id":"symbol-name:getDashboardSummary","kind":"symbol","language":"jsts","symbolName":"getDashboardSummary","metadata":{"unresolvedName":"getDashboardSummary"}}],["symbol-name:setSummary",{"id":"symbol-name:setSummary","kind":"symbol","language":"jsts","symbolName":"setSummary","metadata":{"unresolvedName":"setSummary"}}],["symbol-name:loadHome",{"id":"symbol-name:loadHome","kind":"symbol","language":"jsts","symbolName":"loadHome","metadata":{"unresolvedName":"loadHome"}}],["symbol-name:useMemo",{"id":"symbol-name:useMemo","kind":"symbol","language":"jsts","symbolName":"useMemo","metadata":{"unresolvedName":"useMemo"}}],["external:safeSessions.filter",{"id":"external:safeSessions.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"safeSessions.filter"}}],["external:[\"running\", \"building\", \"pending\"].includes",{"id":"external:[\"running\", \"building\", \"pending\"].includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"[\"running\", \"building\", \"pending\"].includes"}}],["external:safeSessions\n\t\t\t\t.filter",{"id":"external:safeSessions\n\t\t\t\t.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"safeSessions\n\t\t\t\t.filter"}}],["external:[\"stopped\", \"error\"].includes",{"id":"external:[\"stopped\", \"error\"].includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"[\"stopped\", \"error\"].includes"}}],["symbol-name:useDashboardActions",{"id":"symbol-name:useDashboardActions","kind":"symbol","language":"jsts","symbolName":"useDashboardActions","metadata":{"unresolvedName":"useDashboardActions"}}],["/workspace/apps/web/src/pages/DashboardPage.tsx:<anonymous>",{"id":"/workspace/apps/web/src/pages/DashboardPage.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/DashboardPage.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":60,"column":32,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/pages/GitHistoryPage.tsx",{"id":"file:/workspace/apps/web/src/pages/GitHistoryPage.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/pages/GitHistoryPage.tsx","metadata":{"lineCount":234,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/GitHistoryPage.tsx:GitHistoryPage",{"id":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:GitHistoryPage","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/GitHistoryPage.tsx","symbolName":"GitHistoryPage","symbolKind":"function","exported":true,"metadata":{"line":7,"column":31,"cyclomaticComplexity":25,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:setCommits",{"id":"symbol-name:setCommits","kind":"symbol","language":"jsts","symbolName":"setCommits","metadata":{"unresolvedName":"setCommits"}}],["symbol-name:loadHistory",{"id":"symbol-name:loadHistory","kind":"symbol","language":"jsts","symbolName":"loadHistory","metadata":{"unresolvedName":"loadHistory"}}],["symbol-name:setSelectedCommit",{"id":"symbol-name:setSelectedCommit","kind":"symbol","language":"jsts","symbolName":"setSelectedCommit","metadata":{"unresolvedName":"setSelectedCommit"}}],["symbol-name:setDetailStatus",{"id":"symbol-name:setDetailStatus","kind":"symbol","language":"jsts","symbolName":"setDetailStatus","metadata":{"unresolvedName":"setDetailStatus"}}],["external:new Date(dateStr).toLocaleString",{"id":"external:new Date(dateStr).toLocaleString","kind":"external","language":"jsts","metadata":{"unresolvedName":"new Date(dateStr).toLocaleString"}}],["external:commits.map",{"id":"external:commits.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"commits.map"}}],["symbol-name:handleCommitClick",{"id":"symbol-name:handleCommitClick","kind":"symbol","language":"jsts","symbolName":"handleCommitClick","metadata":{"unresolvedName":"handleCommitClick"}}],["external:commit.refs.map",{"id":"external:commit.refs.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"commit.refs.map"}}],["external:commit.message.split",{"id":"external:commit.message.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"commit.message.split"}}],["symbol-name:formatDate",{"id":"symbol-name:formatDate","kind":"symbol","language":"jsts","symbolName":"formatDate","metadata":{"unresolvedName":"formatDate"}}],["external:commitDetail.parents.map",{"id":"external:commitDetail.parents.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"commitDetail.parents.map"}}],["external:parent.substring",{"id":"external:parent.substring","kind":"external","language":"jsts","metadata":{"unresolvedName":"parent.substring"}}],["/workspace/apps/web/src/pages/GitHistoryPage.tsx:<anonymous>",{"id":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/GitHistoryPage.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":121,"column":26,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/GitHistoryPage.tsx:handleCommitClick",{"id":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:handleCommitClick","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/GitHistoryPage.tsx","symbolName":"handleCommitClick","symbolKind":"function","exported":false,"metadata":{"line":38,"column":29,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/GitHistoryPage.tsx:handleCloseDetail",{"id":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:handleCloseDetail","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/GitHistoryPage.tsx","symbolName":"handleCloseDetail","symbolKind":"function","exported":false,"metadata":{"line":51,"column":29,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/GitHistoryPage.tsx:formatDate",{"id":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:formatDate","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/GitHistoryPage.tsx","symbolName":"formatDate","symbolKind":"function","exported":false,"metadata":{"line":57,"column":22,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/pages/GitRepositoriesPage.tsx",{"id":"file:/workspace/apps/web/src/pages/GitRepositoriesPage.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/pages/GitRepositoriesPage.tsx","metadata":{"lineCount":153,"featureKind":"library","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/pages/GitRepositoriesPage.tsx:GitRepositoriesPage",{"id":"/workspace/apps/web/src/pages/GitRepositoriesPage.tsx:GitRepositoriesPage","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/GitRepositoriesPage.tsx","symbolName":"GitRepositoriesPage","symbolKind":"function","exported":true,"metadata":{"line":11,"column":36,"cyclomaticComplexity":15,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/pages/GitRepositoriesPage.tsx:<anonymous>",{"id":"/workspace/apps/web/src/pages/GitRepositoriesPage.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/GitRepositoriesPage.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":32,"column":12,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/pages/GitRepositoriesPage.tsx:handleDelete",{"id":"/workspace/apps/web/src/pages/GitRepositoriesPage.tsx:handleDelete","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/GitRepositoriesPage.tsx","symbolName":"handleDelete","symbolKind":"function","exported":false,"metadata":{"line":36,"column":23,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database"]}}],["file:/workspace/apps/web/src/pages/PlaceholderPage.tsx",{"id":"file:/workspace/apps/web/src/pages/PlaceholderPage.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/pages/PlaceholderPage.tsx","metadata":{"lineCount":38,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/PlaceholderPage.tsx:PlaceholderPage",{"id":"/workspace/apps/web/src/pages/PlaceholderPage.tsx:PlaceholderPage","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/PlaceholderPage.tsx","symbolName":"PlaceholderPage","symbolKind":"function","exported":true,"metadata":{"line":1,"column":32,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/PlaceholderPage.tsx:NotFoundPage",{"id":"/workspace/apps/web/src/pages/PlaceholderPage.tsx:NotFoundPage","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/PlaceholderPage.tsx","symbolName":"NotFoundPage","symbolKind":"function","exported":true,"metadata":{"line":10,"column":29,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/PlaceholderPage.tsx:LoginRedirectPage",{"id":"/workspace/apps/web/src/pages/PlaceholderPage.tsx:LoginRedirectPage","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/PlaceholderPage.tsx","symbolName":"LoginRedirectPage","symbolKind":"function","exported":true,"metadata":{"line":23,"column":34,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["external:new URLSearchParams(window.location.search).get",{"id":"external:new URLSearchParams(window.location.search).get","kind":"external","language":"jsts","metadata":{"unresolvedName":"new URLSearchParams(window.location.search).get"}}],["file:/workspace/apps/web/src/pages/ProfilePage.tsx",{"id":"file:/workspace/apps/web/src/pages/ProfilePage.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/pages/ProfilePage.tsx","metadata":{"lineCount":195,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/ProfilePage.tsx:ProfilePage",{"id":"/workspace/apps/web/src/pages/ProfilePage.tsx:ProfilePage","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/ProfilePage.tsx","symbolName":"ProfilePage","symbolKind":"function","exported":true,"metadata":{"line":10,"column":28,"cyclomaticComplexity":19,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:getProfile",{"id":"symbol-name:getProfile","kind":"symbol","language":"jsts","symbolName":"getProfile","metadata":{"unresolvedName":"getProfile"}}],["symbol-name:setProfile",{"id":"symbol-name:setProfile","kind":"symbol","language":"jsts","symbolName":"setProfile","metadata":{"unresolvedName":"setProfile"}}],["symbol-name:setEmail",{"id":"symbol-name:setEmail","kind":"symbol","language":"jsts","symbolName":"setEmail","metadata":{"unresolvedName":"setEmail"}}],["symbol-name:loadProfile",{"id":"symbol-name:loadProfile","kind":"symbol","language":"jsts","symbolName":"loadProfile","metadata":{"unresolvedName":"loadProfile"}}],["external:email.includes",{"id":"external:email.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"email.includes"}}],["symbol-name:updateProfile",{"id":"symbol-name:updateProfile","kind":"symbol","language":"jsts","symbolName":"updateProfile","metadata":{"unresolvedName":"updateProfile"}}],["external:email.trim",{"id":"external:email.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"email.trim"}}],["symbol-name:refreshSession",{"id":"symbol-name:refreshSession","kind":"symbol","language":"jsts","symbolName":"refreshSession","metadata":{"unresolvedName":"refreshSession"}}],["external:file.type.startsWith",{"id":"external:file.type.startsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"file.type.startsWith"}}],["symbol-name:uploadAvatar",{"id":"symbol-name:uploadAvatar","kind":"symbol","language":"jsts","symbolName":"uploadAvatar","metadata":{"unresolvedName":"uploadAvatar"}}],["external:profile.name.charAt(0).toUpperCase",{"id":"external:profile.name.charAt(0).toUpperCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"profile.name.charAt(0).toUpperCase"}}],["external:profile.name.charAt",{"id":"external:profile.name.charAt","kind":"external","language":"jsts","metadata":{"unresolvedName":"profile.name.charAt"}}],["external:fileInputRef.current?.click",{"id":"external:fileInputRef.current?.click","kind":"external","language":"jsts","metadata":{"unresolvedName":"fileInputRef.current?.click"}}],["/workspace/apps/web/src/pages/ProfilePage.tsx:<anonymous>",{"id":"/workspace/apps/web/src/pages/ProfilePage.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/ProfilePage.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":62,"column":5,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/pages/ProjectSettingsPage.tsx",{"id":"file:/workspace/apps/web/src/pages/ProjectSettingsPage.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx","metadata":{"lineCount":149,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:GeneralSettings",{"id":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:GeneralSettings","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx","symbolName":"GeneralSettings","symbolKind":"function","exported":false,"metadata":{"line":17,"column":6,"cyclomaticComplexity":7,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:setDescription",{"id":"symbol-name:setDescription","kind":"symbol","language":"jsts","symbolName":"setDescription","metadata":{"unresolvedName":"setDescription"}}],["/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:handleSave",{"id":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:handleSave","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx","symbolName":"handleSave","symbolKind":"function","exported":false,"metadata":{"line":24,"column":22,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:handleDelete",{"id":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:handleDelete","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx","symbolName":"handleDelete","symbolKind":"function","exported":false,"metadata":{"line":38,"column":24,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:ProjectSettingsPage",{"id":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:ProjectSettingsPage","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx","symbolName":"ProjectSettingsPage","symbolKind":"function","exported":true,"metadata":{"line":100,"column":46,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:setProject",{"id":"symbol-name:setProject","kind":"symbol","language":"jsts","symbolName":"setProject","metadata":{"unresolvedName":"setProject"}}],["symbol-name:fetchProject",{"id":"symbol-name:fetchProject","kind":"symbol","language":"jsts","symbolName":"fetchProject","metadata":{"unresolvedName":"fetchProject"}}],["/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:<anonymous>",{"id":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":106,"column":13,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:fetchProject",{"id":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:fetchProject","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx","symbolName":"fetchProject","symbolKind":"function","exported":false,"metadata":{"line":107,"column":26,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx",{"id":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx","metadata":{"lineCount":206,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/pages/ProjectsPage.tsx",{"id":"file:/workspace/apps/web/src/pages/ProjectsPage.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/pages/ProjectsPage.tsx","metadata":{"lineCount":207,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>",{"id":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":200,"column":17,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:vi.spyOn(projectsApi, \"listProjects\").mockImplementation",{"id":"external:vi.spyOn(projectsApi, \"listProjects\").mockImplementation","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.spyOn(projectsApi, \"listProjects\").mockImplementation"}}],["symbol-name:renderWithRouter",{"id":"symbol-name:renderWithRouter","kind":"symbol","language":"jsts","symbolName":"renderWithRouter","metadata":{"unresolvedName":"renderWithRouter"}}],["external:expect(screen.getByText(/loading projects/i)).toBeInTheDocument",{"id":"external:expect(screen.getByText(/loading projects/i)).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(/loading projects/i)).toBeInTheDocument"}}],["external:vi.spyOn(projectsApi, \"listProjects\").mockResolvedValue",{"id":"external:vi.spyOn(projectsApi, \"listProjects\").mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.spyOn(projectsApi, \"listProjects\").mockResolvedValue"}}],["external:expect(screen.getByText(\"Alpha Project\")).toBeInTheDocument",{"id":"external:expect(screen.getByText(\"Alpha Project\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(\"Alpha Project\")).toBeInTheDocument"}}],["external:expect(screen.getByText(\"Beta Project\")).toBeInTheDocument",{"id":"external:expect(screen.getByText(\"Beta Project\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(\"Beta Project\")).toBeInTheDocument"}}],["external:expect(screen.getByText(\"First project\")).toBeInTheDocument",{"id":"external:expect(screen.getByText(\"First project\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(\"First project\")).toBeInTheDocument"}}],["external:expect(screen.getByText(/no projects yet/i)).toBeInTheDocument",{"id":"external:expect(screen.getByText(/no projects yet/i)).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(/no projects yet/i)).toBeInTheDocument"}}],["external:vi.spyOn(projectsApi, \"listProjects\").mockRejectedValue",{"id":"external:vi.spyOn(projectsApi, \"listProjects\").mockRejectedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.spyOn(projectsApi, \"listProjects\").mockRejectedValue"}}],["external:expect(screen.getByText(/failed to load projects/i)).toBeInTheDocument",{"id":"external:expect(screen.getByText(/failed to load projects/i)).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(/failed to load projects/i)).toBeInTheDocument"}}],["external:expect(screen.getByRole(\"button\", { name: /retry/i })).toBeInTheDocument",{"id":"external:expect(screen.getByRole(\"button\", { name: /retry/i })).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByRole(\"button\", { name: /retry/i })).toBeInTheDocument"}}],["external:vi\n\t\t\t.spyOn(projectsApi, \"listProjects\")\n\t\t\t.mockResolvedValue",{"id":"external:vi\n\t\t\t.spyOn(projectsApi, \"listProjects\")\n\t\t\t.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi\n\t\t\t.spyOn(projectsApi, \"listProjects\")\n\t\t\t.mockResolvedValue"}}],["external:vi\n\t\t\t.spyOn",{"id":"external:vi\n\t\t\t.spyOn","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi\n\t\t\t.spyOn"}}],["external:vi\n\t\t\t.spyOn(projectsApi, \"createProject\")\n\t\t\t.mockResolvedValue",{"id":"external:vi\n\t\t\t.spyOn(projectsApi, \"createProject\")\n\t\t\t.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi\n\t\t\t.spyOn(projectsApi, \"createProject\")\n\t\t\t.mockResolvedValue"}}],["external:expect(screen.getByText(/project name is required/i)).toBeInTheDocument",{"id":"external:expect(screen.getByText(/project name is required/i)).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(/project name is required/i)).toBeInTheDocument"}}],["external:screen\n\t\t\t.getByText(\"Alpha Project\")\n\t\t\t.closest",{"id":"external:screen\n\t\t\t.getByText(\"Alpha Project\")\n\t\t\t.closest","kind":"external","language":"jsts","metadata":{"unresolvedName":"screen\n\t\t\t.getByText(\"Alpha Project\")\n\t\t\t.closest"}}],["external:screen\n\t\t\t.getByText",{"id":"external:screen\n\t\t\t.getByText","kind":"external","language":"jsts","metadata":{"unresolvedName":"screen\n\t\t\t.getByText"}}],["external:within(alphaCard).getByRole",{"id":"external:within(alphaCard).getByRole","kind":"external","language":"jsts","metadata":{"unresolvedName":"within(alphaCard).getByRole"}}],["symbol-name:within",{"id":"symbol-name:within","kind":"symbol","language":"jsts","symbolName":"within","metadata":{"unresolvedName":"within"}}],["external:expect(settingsLink).toBeInTheDocument",{"id":"external:expect(settingsLink).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(settingsLink).toBeInTheDocument"}}],["external:expect(settingsLink).toHaveAttribute",{"id":"external:expect(settingsLink).toHaveAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(settingsLink).toHaveAttribute"}}],["external:alphaCard.querySelector",{"id":"external:alphaCard.querySelector","kind":"external","language":"jsts","metadata":{"unresolvedName":"alphaCard.querySelector"}}],["external:expect(workspaceLink).toBeInTheDocument",{"id":"external:expect(workspaceLink).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(workspaceLink).toBeInTheDocument"}}],["external:expect(workspaceLink).toHaveAttribute",{"id":"external:expect(workspaceLink).toHaveAttribute","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(workspaceLink).toHaveAttribute"}}],["external:actions.querySelectorAll",{"id":"external:actions.querySelectorAll","kind":"external","language":"jsts","metadata":{"unresolvedName":"actions.querySelectorAll"}}],["external:expect(lastAction).toBe",{"id":"external:expect(lastAction).toBe","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(lastAction).toBe"}}],["external:vi\n\t\t\t.spyOn(projectsApi, \"deleteProject\")\n\t\t\t.mockResolvedValue",{"id":"external:vi\n\t\t\t.spyOn(projectsApi, \"deleteProject\")\n\t\t\t.mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi\n\t\t\t.spyOn(projectsApi, \"deleteProject\")\n\t\t\t.mockResolvedValue"}}],["external:expect(within(alphaCard).getByText(/are you sure/i)).toBeInTheDocument",{"id":"external:expect(within(alphaCard).getByText(/are you sure/i)).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(within(alphaCard).getByText(/are you sure/i)).toBeInTheDocument"}}],["external:within(alphaCard).getByText",{"id":"external:within(alphaCard).getByText","kind":"external","language":"jsts","metadata":{"unresolvedName":"within(alphaCard).getByText"}}],["external:expect(deleteMock).toHaveBeenCalledWith",{"id":"external:expect(deleteMock).toHaveBeenCalledWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(deleteMock).toHaveBeenCalledWith"}}],["/workspace/apps/web/src/pages/ProjectsPage.tsx:ProjectsPage",{"id":"/workspace/apps/web/src/pages/ProjectsPage.tsx:ProjectsPage","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/ProjectsPage.tsx","symbolName":"ProjectsPage","symbolKind":"function","exported":true,"metadata":{"line":16,"column":29,"cyclomaticComplexity":16,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:createProject",{"id":"symbol-name:createProject","kind":"symbol","language":"jsts","symbolName":"createProject","metadata":{"unresolvedName":"createProject"}}],["symbol-name:closeCreate",{"id":"symbol-name:closeCreate","kind":"symbol","language":"jsts","symbolName":"closeCreate","metadata":{"unresolvedName":"closeCreate"}}],["symbol-name:deleteProject",{"id":"symbol-name:deleteProject","kind":"symbol","language":"jsts","symbolName":"deleteProject","metadata":{"unresolvedName":"deleteProject"}}],["/workspace/apps/web/src/pages/ProjectsPage.tsx:<anonymous>",{"id":"/workspace/apps/web/src/pages/ProjectsPage.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/ProjectsPage.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":37,"column":13,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/ProjectsPage.tsx:openCreate",{"id":"/workspace/apps/web/src/pages/ProjectsPage.tsx:openCreate","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/ProjectsPage.tsx","symbolName":"openCreate","symbolKind":"function","exported":false,"metadata":{"line":41,"column":22,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/ProjectsPage.tsx:closeCreate",{"id":"/workspace/apps/web/src/pages/ProjectsPage.tsx:closeCreate","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/ProjectsPage.tsx","symbolName":"closeCreate","symbolKind":"function","exported":false,"metadata":{"line":48,"column":23,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/ProjectsPage.tsx:handleCreate",{"id":"/workspace/apps/web/src/pages/ProjectsPage.tsx:handleCreate","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/ProjectsPage.tsx","symbolName":"handleCreate","symbolKind":"function","exported":false,"metadata":{"line":53,"column":24,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/ProjectsPage.tsx:handleDelete",{"id":"/workspace/apps/web/src/pages/ProjectsPage.tsx:handleDelete","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/ProjectsPage.tsx","symbolName":"handleDelete","symbolKind":"function","exported":false,"metadata":{"line":75,"column":24,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/pages/RepoWorkspacePage.tsx",{"id":"file:/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","metadata":{"lineCount":210,"featureKind":"library","trustBoundaries":["filesystem","database"]}}],["file:/workspace/apps/web/src/components/features/git",{"id":"file:/workspace/apps/web/src/components/features/git","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/git"}],["/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:RepoWorkspace",{"id":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:RepoWorkspace","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","symbolName":"RepoWorkspace","symbolKind":"function","exported":true,"metadata":{"line":27,"column":30,"cyclomaticComplexity":25,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database"]}}],["symbol-name:setSelectedRepoId",{"id":"symbol-name:setSelectedRepoId","kind":"symbol","language":"jsts","symbolName":"setSelectedRepoId","metadata":{"unresolvedName":"setSelectedRepoId"}}],["external:response.data.branches.map",{"id":"external:response.data.branches.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"response.data.branches.map"}}],["symbol-name:setGitStatus",{"id":"symbol-name:setGitStatus","kind":"symbol","language":"jsts","symbolName":"setGitStatus","metadata":{"unresolvedName":"setGitStatus"}}],["symbol-name:loadProject",{"id":"symbol-name:loadProject","kind":"symbol","language":"jsts","symbolName":"loadProject","metadata":{"unresolvedName":"loadProject"}}],["symbol-name:loadGitStatus",{"id":"symbol-name:loadGitStatus","kind":"symbol","language":"jsts","symbolName":"loadGitStatus","metadata":{"unresolvedName":"loadGitStatus"}}],["/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>",{"id":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":193,"column":19,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:handleRepoChange",{"id":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:handleRepoChange","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","symbolName":"handleRepoChange","symbolKind":"function","exported":false,"metadata":{"line":122,"column":27,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database"]}}],["file:/workspace/apps/web/src/pages/SessionsPage.tsx",{"id":"file:/workspace/apps/web/src/pages/SessionsPage.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/pages/SessionsPage.tsx","metadata":{"lineCount":215,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["file:/workspace/apps/web/src/components/features/session",{"id":"file:/workspace/apps/web/src/components/features/session","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/session"}],["/workspace/apps/web/src/pages/SessionsPage.tsx:SessionsPage",{"id":"/workspace/apps/web/src/pages/SessionsPage.tsx:SessionsPage","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/SessionsPage.tsx","symbolName":"SessionsPage","symbolKind":"function","exported":true,"metadata":{"line":17,"column":29,"cyclomaticComplexity":19,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["symbol-name:setLastSessionId",{"id":"symbol-name:setLastSessionId","kind":"symbol","language":"jsts","symbolName":"setLastSessionId","metadata":{"unresolvedName":"setLastSessionId"}}],["external:sessions\n\t\t\t\t.filter((s) => [\"stopped\", \"error\"].includes(s.status))\n\t\t\t\t.slice",{"id":"external:sessions\n\t\t\t\t.filter((s) => [\"stopped\", \"error\"].includes(s.status))\n\t\t\t\t.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessions\n\t\t\t\t.filter((s) => [\"stopped\", \"error\"].includes(s.status))\n\t\t\t\t.slice"}}],["external:sessions\n\t\t\t\t.filter",{"id":"external:sessions\n\t\t\t\t.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessions\n\t\t\t\t.filter"}}],["external:sessions.find",{"id":"external:sessions.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"sessions.find"}}],["/workspace/apps/web/src/pages/SessionsPage.tsx:<anonymous>",{"id":"/workspace/apps/web/src/pages/SessionsPage.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/SessionsPage.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":98,"column":39,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/workspace/apps/web/src/pages/SessionsPage.tsx:loadProjects",{"id":"/workspace/apps/web/src/pages/SessionsPage.tsx:loadProjects","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/SessionsPage.tsx","symbolName":"loadProjects","symbolKind":"function","exported":false,"metadata":{"line":45,"column":24,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/workspace/apps/web/src/pages/SessionsPage.tsx:loadToolTypes",{"id":"/workspace/apps/web/src/pages/SessionsPage.tsx:loadToolTypes","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/SessionsPage.tsx","symbolName":"loadToolTypes","symbolKind":"function","exported":false,"metadata":{"line":56,"column":25,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["file:/workspace/apps/web/src/pages/SettingsPage.tsx",{"id":"file:/workspace/apps/web/src/pages/SettingsPage.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/pages/SettingsPage.tsx","metadata":{"lineCount":167,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/SettingsPage.tsx:SettingsPage",{"id":"/workspace/apps/web/src/pages/SettingsPage.tsx:SettingsPage","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/SettingsPage.tsx","symbolName":"SettingsPage","symbolKind":"function","exported":true,"metadata":{"line":29,"column":29,"cyclomaticComplexity":10,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:loadConfig",{"id":"symbol-name:loadConfig","kind":"symbol","language":"jsts","symbolName":"loadConfig","metadata":{"unresolvedName":"loadConfig"}}],["external:window.setTimeout",{"id":"external:window.setTimeout","kind":"external","language":"jsts","metadata":{"unresolvedName":"window.setTimeout"}}],["external:location.pathname.split(\"/\").filter",{"id":"external:location.pathname.split(\"/\").filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"location.pathname.split(\"/\").filter"}}],["external:location.pathname.split",{"id":"external:location.pathname.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"location.pathname.split"}}],["external:location.pathname.endsWith",{"id":"external:location.pathname.endsWith","kind":"external","language":"jsts","metadata":{"unresolvedName":"location.pathname.endsWith"}}],["external:TABS.map",{"id":"external:TABS.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"TABS.map"}}],["/workspace/apps/web/src/pages/SettingsPage.tsx:<anonymous>",{"id":"/workspace/apps/web/src/pages/SettingsPage.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/SettingsPage.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":51,"column":13,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/SettingsPage.tsx:handleChange",{"id":"/workspace/apps/web/src/pages/SettingsPage.tsx:handleChange","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/SettingsPage.tsx","symbolName":"handleChange","symbolKind":"function","exported":false,"metadata":{"line":55,"column":24,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/SettingsPage.tsx:handleSave",{"id":"/workspace/apps/web/src/pages/SettingsPage.tsx:handleSave","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/SettingsPage.tsx","symbolName":"handleSave","symbolKind":"function","exported":false,"metadata":{"line":60,"column":22,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/SettingsPage.tsx:GeneralSettingsTab",{"id":"/workspace/apps/web/src/pages/SettingsPage.tsx:GeneralSettingsTab","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/SettingsPage.tsx","symbolName":"GeneralSettingsTab","symbolKind":"function","exported":true,"metadata":{"line":131,"column":35,"cyclomaticComplexity":10,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:useOutletContext",{"id":"symbol-name:useOutletContext","kind":"symbol","language":"jsts","symbolName":"useOutletContext","metadata":{"unresolvedName":"useOutletContext"}}],["external:THEME_OPTIONS.map",{"id":"external:THEME_OPTIONS.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"THEME_OPTIONS.map"}}],["file:/workspace/apps/web/src/pages/SshKeysPage.tsx",{"id":"file:/workspace/apps/web/src/pages/SshKeysPage.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/pages/SshKeysPage.tsx","metadata":{"lineCount":143,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/SshKeysPage.tsx:SSHKeysPage",{"id":"/workspace/apps/web/src/pages/SshKeysPage.tsx:SSHKeysPage","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/SshKeysPage.tsx","symbolName":"SSHKeysPage","symbolKind":"function","exported":true,"metadata":{"line":6,"column":28,"cyclomaticComplexity":10,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:setKeys",{"id":"symbol-name:setKeys","kind":"symbol","language":"jsts","symbolName":"setKeys","metadata":{"unresolvedName":"setKeys"}}],["external:newKeyName.trim",{"id":"external:newKeyName.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"newKeyName.trim"}}],["symbol-name:setGenerating",{"id":"symbol-name:setGenerating","kind":"symbol","language":"jsts","symbolName":"setGenerating","metadata":{"unresolvedName":"setGenerating"}}],["symbol-name:createSSHKey",{"id":"symbol-name:createSSHKey","kind":"symbol","language":"jsts","symbolName":"createSSHKey","metadata":{"unresolvedName":"createSSHKey"}}],["symbol-name:setNewKeyName",{"id":"symbol-name:setNewKeyName","kind":"symbol","language":"jsts","symbolName":"setNewKeyName","metadata":{"unresolvedName":"setNewKeyName"}}],["symbol-name:deleteSSHKey",{"id":"symbol-name:deleteSSHKey","kind":"symbol","language":"jsts","symbolName":"deleteSSHKey","metadata":{"unresolvedName":"deleteSSHKey"}}],["external:keys.map",{"id":"external:keys.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"keys.map"}}],["external:new Date(key.created_at).toLocaleDateString",{"id":"external:new Date(key.created_at).toLocaleDateString","kind":"external","language":"jsts","metadata":{"unresolvedName":"new Date(key.created_at).toLocaleDateString"}}],["external:key.public_key.substring",{"id":"external:key.public_key.substring","kind":"external","language":"jsts","metadata":{"unresolvedName":"key.public_key.substring"}}],["symbol-name:copyToClipboard",{"id":"symbol-name:copyToClipboard","kind":"symbol","language":"jsts","symbolName":"copyToClipboard","metadata":{"unresolvedName":"copyToClipboard"}}],["/workspace/apps/web/src/pages/SshKeysPage.tsx:<anonymous>",{"id":"/workspace/apps/web/src/pages/SshKeysPage.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/SshKeysPage.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":14,"column":13,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/SshKeysPage.tsx:loadKeys",{"id":"/workspace/apps/web/src/pages/SshKeysPage.tsx:loadKeys","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/SshKeysPage.tsx","symbolName":"loadKeys","symbolKind":"function","exported":false,"metadata":{"line":18,"column":3,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/SshKeysPage.tsx:handleGenerate",{"id":"/workspace/apps/web/src/pages/SshKeysPage.tsx:handleGenerate","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/SshKeysPage.tsx","symbolName":"handleGenerate","symbolKind":"function","exported":false,"metadata":{"line":31,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/SshKeysPage.tsx:handleDelete",{"id":"/workspace/apps/web/src/pages/SshKeysPage.tsx:handleDelete","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/SshKeysPage.tsx","symbolName":"handleDelete","symbolKind":"function","exported":false,"metadata":{"line":47,"column":3,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/SshKeysPage.tsx:copyToClipboard",{"id":"/workspace/apps/web/src/pages/SshKeysPage.tsx:copyToClipboard","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/SshKeysPage.tsx","symbolName":"copyToClipboard","symbolKind":"function","exported":false,"metadata":{"line":58,"column":3,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/pages/TerminalPage.tsx",{"id":"file:/workspace/apps/web/src/pages/TerminalPage.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/pages/TerminalPage.tsx","metadata":{"lineCount":39,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/TerminalPage.tsx:TerminalPage",{"id":"/workspace/apps/web/src/pages/TerminalPage.tsx:TerminalPage","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/TerminalPage.tsx","symbolName":"TerminalPage","symbolKind":"function","exported":true,"metadata":{"line":6,"column":39,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/pages/ToolConfigsPage.tsx",{"id":"file:/workspace/apps/web/src/pages/ToolConfigsPage.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx","metadata":{"lineCount":206,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["file:/workspace/apps/web/src/components/features/tool-configs",{"id":"file:/workspace/apps/web/src/components/features/tool-configs","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-configs"}],["/workspace/apps/web/src/pages/ToolConfigsPage.tsx:ToolConfigsPage",{"id":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:ToolConfigsPage","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx","symbolName":"ToolConfigsPage","symbolKind":"function","exported":true,"metadata":{"line":21,"column":32,"cyclomaticComplexity":12,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["symbol-name:setShowForm",{"id":"symbol-name:setShowForm","kind":"symbol","language":"jsts","symbolName":"setShowForm","metadata":{"unresolvedName":"setShowForm"}}],["symbol-name:setEditingConfig",{"id":"symbol-name:setEditingConfig","kind":"symbol","language":"jsts","symbolName":"setEditingConfig","metadata":{"unresolvedName":"setEditingConfig"}}],["external:toolTypes.find",{"id":"external:toolTypes.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"toolTypes.find"}}],["external:configs.filter",{"id":"external:configs.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"configs.filter"}}],["external:selectedTool.interfaces?.join",{"id":"external:selectedTool.interfaces?.join","kind":"external","language":"jsts","metadata":{"unresolvedName":"selectedTool.interfaces?.join"}}],["/workspace/apps/web/src/pages/ToolConfigsPage.tsx:<anonymous>",{"id":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":197,"column":16,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/pages/ToolConfigsPage.tsx:handleSubmit",{"id":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:handleSubmit","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx","symbolName":"handleSubmit","symbolKind":"function","exported":false,"metadata":{"line":51,"column":23,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/pages/ToolConfigsPage.tsx:handleEdit",{"id":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:handleEdit","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx","symbolName":"handleEdit","symbolKind":"function","exported":false,"metadata":{"line":75,"column":21,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/pages/ToolConfigsPage.tsx:handleDelete",{"id":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:handleDelete","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx","symbolName":"handleDelete","symbolKind":"function","exported":false,"metadata":{"line":81,"column":23,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["file:/workspace/apps/web/src/pages/ToolTypesPage.tsx",{"id":"file:/workspace/apps/web/src/pages/ToolTypesPage.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/pages/ToolTypesPage.tsx","metadata":{"lineCount":144,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/components/features/tool-types",{"id":"file:/workspace/apps/web/src/components/features/tool-types","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-types"}],["/workspace/apps/web/src/pages/ToolTypesPage.tsx:ToolTypesPage",{"id":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:ToolTypesPage","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/ToolTypesPage.tsx","symbolName":"ToolTypesPage","symbolKind":"function","exported":true,"metadata":{"line":20,"column":30,"cyclomaticComplexity":8,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:setEditingToolType",{"id":"symbol-name:setEditingToolType","kind":"symbol","language":"jsts","symbolName":"setEditingToolType","metadata":{"unresolvedName":"setEditingToolType"}}],["symbol-name:setDialogMode",{"id":"symbol-name:setDialogMode","kind":"symbol","language":"jsts","symbolName":"setDialogMode","metadata":{"unresolvedName":"setDialogMode"}}],["symbol-name:closeDialog",{"id":"symbol-name:closeDialog","kind":"symbol","language":"jsts","symbolName":"closeDialog","metadata":{"unresolvedName":"closeDialog"}}],["/workspace/apps/web/src/pages/ToolTypesPage.tsx:<anonymous>",{"id":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/ToolTypesPage.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":42,"column":12,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/ToolTypesPage.tsx:openCreate",{"id":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:openCreate","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/ToolTypesPage.tsx","symbolName":"openCreate","symbolKind":"function","exported":false,"metadata":{"line":46,"column":21,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/ToolTypesPage.tsx:openEdit",{"id":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:openEdit","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/ToolTypesPage.tsx","symbolName":"openEdit","symbolKind":"function","exported":false,"metadata":{"line":51,"column":19,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/ToolTypesPage.tsx:closeDialog",{"id":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:closeDialog","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/ToolTypesPage.tsx","symbolName":"closeDialog","symbolKind":"function","exported":false,"metadata":{"line":56,"column":22,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/ToolTypesPage.tsx:handleSubmit",{"id":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:handleSubmit","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/ToolTypesPage.tsx","symbolName":"handleSubmit","symbolKind":"function","exported":false,"metadata":{"line":61,"column":23,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/ToolTypesPage.tsx:handleDelete",{"id":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:handleDelete","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/ToolTypesPage.tsx","symbolName":"handleDelete","symbolKind":"function","exported":false,"metadata":{"line":73,"column":23,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx",{"id":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","metadata":{"lineCount":528,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/pages/ToolWorkshopPage.tsx",{"id":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/pages/ToolWorkshopPage.tsx","metadata":{"lineCount":78,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>",{"id":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":520,"column":23,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:vi.spyOn(toolTypesApi, \"listToolTypes\").mockImplementation",{"id":"external:vi.spyOn(toolTypesApi, \"listToolTypes\").mockImplementation","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.spyOn(toolTypesApi, \"listToolTypes\").mockImplementation"}}],["external:vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockImplementation",{"id":"external:vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockImplementation","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockImplementation"}}],["external:vi.spyOn(configFoldersApi, \"listConfigFolders\").mockImplementation",{"id":"external:vi.spyOn(configFoldersApi, \"listConfigFolders\").mockImplementation","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.spyOn(configFoldersApi, \"listConfigFolders\").mockImplementation"}}],["external:expect(screen.getByText(/loading/i)).toBeInTheDocument",{"id":"external:expect(screen.getByText(/loading/i)).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(/loading/i)).toBeInTheDocument"}}],["external:vi.spyOn(toolTypesApi, \"listToolTypes\").mockResolvedValue",{"id":"external:vi.spyOn(toolTypesApi, \"listToolTypes\").mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.spyOn(toolTypesApi, \"listToolTypes\").mockResolvedValue"}}],["external:vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockResolvedValue",{"id":"external:vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockResolvedValue"}}],["external:vi.spyOn(configFoldersApi, \"listConfigFolders\").mockResolvedValue",{"id":"external:vi.spyOn(configFoldersApi, \"listConfigFolders\").mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.spyOn(configFoldersApi, \"listConfigFolders\").mockResolvedValue"}}],["external:expect(screen.getByText(\"Custom Tool\")).toBeInTheDocument",{"id":"external:expect(screen.getByText(\"Custom Tool\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(\"Custom Tool\")).toBeInTheDocument"}}],["external:expect(screen.getByText(\"OPENAI_API_KEY\")).toBeInTheDocument",{"id":"external:expect(screen.getByText(\"OPENAI_API_KEY\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(\"OPENAI_API_KEY\")).toBeInTheDocument"}}],["external:expect(screen.getByText(\"advanced-config\")).toBeInTheDocument",{"id":"external:expect(screen.getByText(\"advanced-config\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(\"advanced-config\")).toBeInTheDocument"}}],["external:expect(screen.getByText(\"my-dotfiles\")).toBeInTheDocument",{"id":"external:expect(screen.getByText(\"my-dotfiles\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(\"my-dotfiles\")).toBeInTheDocument"}}],["external:expect(screen.getByText(\"project-configs\")).toBeInTheDocument",{"id":"external:expect(screen.getByText(\"project-configs\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(\"project-configs\")).toBeInTheDocument"}}],["external:expect(screen.getByLabelText(\"Name *\")).toBeInTheDocument",{"id":"external:expect(screen.getByLabelText(\"Name *\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByLabelText(\"Name *\")).toBeInTheDocument"}}],["external:expect(screen.getByLabelText(\"Display Name *\")).toBeInTheDocument",{"id":"external:expect(screen.getByLabelText(\"Display Name *\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByLabelText(\"Display Name *\")).toBeInTheDocument"}}],["external:vi.spyOn(toolTypesApi, \"createToolType\").mockResolvedValue",{"id":"external:vi.spyOn(toolTypesApi, \"createToolType\").mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.spyOn(toolTypesApi, \"createToolType\").mockResolvedValue"}}],["external:expect(screen.getByText(/readiness probe command/i)).toBeInTheDocument",{"id":"external:expect(screen.getByText(/readiness probe command/i)).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(/readiness probe command/i)).toBeInTheDocument"}}],["external:expect(screen.getByText(/timeout/i)).toBeInTheDocument",{"id":"external:expect(screen.getByText(/timeout/i)).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(/timeout/i)).toBeInTheDocument"}}],["external:expect(screen.getByText(/interval/i)).toBeInTheDocument",{"id":"external:expect(screen.getByText(/interval/i)).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(/interval/i)).toBeInTheDocument"}}],["external:expect(screen.getByLabelText(/key/i)).toBeInTheDocument",{"id":"external:expect(screen.getByLabelText(/key/i)).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByLabelText(/key/i)).toBeInTheDocument"}}],["external:expect(screen.getByLabelText(/value/i)).toBeInTheDocument",{"id":"external:expect(screen.getByLabelText(/value/i)).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByLabelText(/value/i)).toBeInTheDocument"}}],["external:vi.spyOn(toolConfigsApi, \"createToolConfig\").mockResolvedValue",{"id":"external:vi.spyOn(toolConfigsApi, \"createToolConfig\").mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.spyOn(toolConfigsApi, \"createToolConfig\").mockResolvedValue"}}],["external:expect(configsListMock).toHaveBeenCalledTimes",{"id":"external:expect(configsListMock).toHaveBeenCalledTimes","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(configsListMock).toHaveBeenCalledTimes"}}],["external:expect(screen.getByLabelText(\"Mount Path *\")).toBeInTheDocument",{"id":"external:expect(screen.getByLabelText(\"Mount Path *\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByLabelText(\"Mount Path *\")).toBeInTheDocument"}}],["external:vi.spyOn(configFoldersApi, \"createConfigFolder\").mockResolvedValue",{"id":"external:vi.spyOn(configFoldersApi, \"createConfigFolder\").mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.spyOn(configFoldersApi, \"createConfigFolder\").mockResolvedValue"}}],["external:expect(foldersListMock).toHaveBeenCalledTimes",{"id":"external:expect(foldersListMock).toHaveBeenCalledTimes","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(foldersListMock).toHaveBeenCalledTimes"}}],["external:expect(screen.getByText(\"Active\")).toBeInTheDocument",{"id":"external:expect(screen.getByText(\"Active\")).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(\"Active\")).toBeInTheDocument"}}],["external:vi.spyOn(toolTypesApi, \"listToolTypes\").mockRejectedValue",{"id":"external:vi.spyOn(toolTypesApi, \"listToolTypes\").mockRejectedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.spyOn(toolTypesApi, \"listToolTypes\").mockRejectedValue"}}],["external:vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockRejectedValue",{"id":"external:vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockRejectedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockRejectedValue"}}],["external:vi.spyOn(configFoldersApi, \"listConfigFolders\").mockRejectedValue",{"id":"external:vi.spyOn(configFoldersApi, \"listConfigFolders\").mockRejectedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.spyOn(configFoldersApi, \"listConfigFolders\").mockRejectedValue"}}],["external:expect(screen.getByText(/failed to load/i)).toBeInTheDocument",{"id":"external:expect(screen.getByText(/failed to load/i)).toBeInTheDocument","kind":"external","language":"jsts","metadata":{"unresolvedName":"expect(screen.getByText(/failed to load/i)).toBeInTheDocument"}}],["external:vi.spyOn(toolTypesApi, \"listToolTypes\")\n .mockRejectedValueOnce",{"id":"external:vi.spyOn(toolTypesApi, \"listToolTypes\")\n .mockRejectedValueOnce","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.spyOn(toolTypesApi, \"listToolTypes\")\n .mockRejectedValueOnce"}}],["external:vi.spyOn(toolConfigsApi, \"listToolConfigs\")\n .mockRejectedValueOnce",{"id":"external:vi.spyOn(toolConfigsApi, \"listToolConfigs\")\n .mockRejectedValueOnce","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.spyOn(toolConfigsApi, \"listToolConfigs\")\n .mockRejectedValueOnce"}}],["external:vi.spyOn(configFoldersApi, \"listConfigFolders\")\n .mockRejectedValueOnce",{"id":"external:vi.spyOn(configFoldersApi, \"listConfigFolders\")\n .mockRejectedValueOnce","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.spyOn(configFoldersApi, \"listConfigFolders\")\n .mockRejectedValueOnce"}}],["external:vi.spyOn(toolTypesApi, \"deleteToolType\").mockResolvedValue",{"id":"external:vi.spyOn(toolTypesApi, \"deleteToolType\").mockResolvedValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.spyOn(toolTypesApi, \"deleteToolType\").mockResolvedValue"}}],["external:screen.getByText(\"Custom Tool\").closest",{"id":"external:screen.getByText(\"Custom Tool\").closest","kind":"external","language":"jsts","metadata":{"unresolvedName":"screen.getByText(\"Custom Tool\").closest"}}],["external:within(customToolCard as HTMLElement).queryByRole",{"id":"external:within(customToolCard as HTMLElement).queryByRole","kind":"external","language":"jsts","metadata":{"unresolvedName":"within(customToolCard as HTMLElement).queryByRole"}}],["external:vi.spyOn(window, \"confirm\").mockReturnValue",{"id":"external:vi.spyOn(window, \"confirm\").mockReturnValue","kind":"external","language":"jsts","metadata":{"unresolvedName":"vi.spyOn(window, \"confirm\").mockReturnValue"}}],["file:/workspace/apps/web/src/components/features/tool-workshop",{"id":"file:/workspace/apps/web/src/components/features/tool-workshop","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/tool-workshop"}],["/workspace/apps/web/src/pages/ToolWorkshopPage.tsx:ToolWorkshopPage",{"id":"/workspace/apps/web/src/pages/ToolWorkshopPage.tsx:ToolWorkshopPage","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/ToolWorkshopPage.tsx","symbolName":"ToolWorkshopPage","symbolKind":"function","exported":true,"metadata":{"line":11,"column":33,"cyclomaticComplexity":10,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:([\"types\", \"configs\", \"folders\"] as Tab[]).map",{"id":"external:([\"types\", \"configs\", \"folders\"] as Tab[]).map","kind":"external","language":"jsts","metadata":{"unresolvedName":"([\"types\", \"configs\", \"folders\"] as Tab[]).map"}}],["symbol-name:setActiveTab",{"id":"symbol-name:setActiveTab","kind":"symbol","language":"jsts","symbolName":"setActiveTab","metadata":{"unresolvedName":"setActiveTab"}}],["file:/workspace/apps/web/src/pages/config-profiles.tsx",{"id":"file:/workspace/apps/web/src/pages/config-profiles.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/pages/config-profiles.tsx","metadata":{"lineCount":1612,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage",{"id":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/config-profiles.tsx","symbolName":"ConfigProfilesPage","symbolKind":"function","exported":true,"metadata":{"line":29,"column":35,"cyclomaticComplexity":132,"maxNestingDepth":4,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["symbol-name:setIncludedProfileIds",{"id":"symbol-name:setIncludedProfileIds","kind":"symbol","language":"jsts","symbolName":"setIncludedProfileIds","metadata":{"unresolvedName":"setIncludedProfileIds"}}],["symbol-name:setPreviewData",{"id":"symbol-name:setPreviewData","kind":"symbol","language":"jsts","symbolName":"setPreviewData","metadata":{"unresolvedName":"setPreviewData"}}],["external:profile.includes.map",{"id":"external:profile.includes.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"profile.includes.map"}}],["symbol-name:setIsCreating",{"id":"symbol-name:setIsCreating","kind":"symbol","language":"jsts","symbolName":"setIsCreating","metadata":{"unresolvedName":"setIsCreating"}}],["symbol-name:populateForm",{"id":"symbol-name:populateForm","kind":"symbol","language":"jsts","symbolName":"populateForm","metadata":{"unresolvedName":"populateForm"}}],["external:visited.has",{"id":"external:visited.has","kind":"external","language":"jsts","metadata":{"unresolvedName":"visited.has"}}],["symbol-name:getIncludedProfile",{"id":"symbol-name:getIncludedProfile","kind":"symbol","language":"jsts","symbolName":"getIncludedProfile","metadata":{"unresolvedName":"getIncludedProfile"}}],["external:nextVisited.add",{"id":"external:nextVisited.add","kind":"external","language":"jsts","metadata":{"unresolvedName":"nextVisited.add"}}],["symbol-name:wouldCreateCycle",{"id":"symbol-name:wouldCreateCycle","kind":"symbol","language":"jsts","symbolName":"wouldCreateCycle","metadata":{"unresolvedName":"wouldCreateCycle"}}],["external:profiles.filter",{"id":"external:profiles.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"profiles.filter"}}],["external:includedProfileIds.includes",{"id":"external:includedProfileIds.includes","kind":"external","language":"jsts","metadata":{"unresolvedName":"includedProfileIds.includes"}}],["external:e.dataTransfer.setData",{"id":"external:e.dataTransfer.setData","kind":"external","language":"jsts","metadata":{"unresolvedName":"e.dataTransfer.setData"}}],["symbol-name:setDragOverIndex",{"id":"symbol-name:setDragOverIndex","kind":"symbol","language":"jsts","symbolName":"setDragOverIndex","metadata":{"unresolvedName":"setDragOverIndex"}}],["external:e.dataTransfer.getData",{"id":"external:e.dataTransfer.getData","kind":"external","language":"jsts","metadata":{"unresolvedName":"e.dataTransfer.getData"}}],["external:newOrder.splice",{"id":"external:newOrder.splice","kind":"external","language":"jsts","metadata":{"unresolvedName":"newOrder.splice"}}],["external:formData.name?.trim",{"id":"external:formData.name?.trim","kind":"external","language":"jsts","metadata":{"unresolvedName":"formData.name?.trim"}}],["symbol-name:createConfigProfile",{"id":"symbol-name:createConfigProfile","kind":"symbol","language":"jsts","symbolName":"createConfigProfile","metadata":{"unresolvedName":"createConfigProfile"}}],["symbol-name:updateProfileIncludes",{"id":"symbol-name:updateProfileIncludes","kind":"symbol","language":"jsts","symbolName":"updateProfileIncludes","metadata":{"unresolvedName":"updateProfileIncludes"}}],["external:(await listConfigProfiles()).find",{"id":"external:(await listConfigProfiles()).find","kind":"external","language":"jsts","metadata":{"unresolvedName":"(await listConfigProfiles()).find"}}],["symbol-name:updateConfigProfile",{"id":"symbol-name:updateConfigProfile","kind":"symbol","language":"jsts","symbolName":"updateConfigProfile","metadata":{"unresolvedName":"updateConfigProfile"}}],["symbol-name:deleteConfigProfile",{"id":"symbol-name:deleteConfigProfile","kind":"symbol","language":"jsts","symbolName":"deleteConfigProfile","metadata":{"unresolvedName":"deleteConfigProfile"}}],["symbol-name:setPreviewingId",{"id":"symbol-name:setPreviewingId","kind":"symbol","language":"jsts","symbolName":"setPreviewingId","metadata":{"unresolvedName":"setPreviewingId"}}],["symbol-name:previewConfigProfile",{"id":"symbol-name:previewConfigProfile","kind":"symbol","language":"jsts","symbolName":"previewConfigProfile","metadata":{"unresolvedName":"previewConfigProfile"}}],["external:mounts.splice",{"id":"external:mounts.splice","kind":"external","language":"jsts","metadata":{"unresolvedName":"mounts.splice"}}],["symbol-name:getScopeLabel",{"id":"symbol-name:getScopeLabel","kind":"symbol","language":"jsts","symbolName":"getScopeLabel","metadata":{"unresolvedName":"getScopeLabel"}}],["symbol-name:setMobileView",{"id":"symbol-name:setMobileView","kind":"symbol","language":"jsts","symbolName":"setMobileView","metadata":{"unresolvedName":"setMobileView"}}],["external:Object.entries(selectedProfile.env_vars)\n\t\t\t\t\t\t\t\t\t.map",{"id":"external:Object.entries(selectedProfile.env_vars)\n\t\t\t\t\t\t\t\t\t.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"Object.entries(selectedProfile.env_vars)\n\t\t\t\t\t\t\t\t\t.map"}}],["external:selectedProfile.mounts\n\t\t\t\t\t\t\t\t\t.map",{"id":"external:selectedProfile.mounts\n\t\t\t\t\t\t\t\t\t.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"selectedProfile.mounts\n\t\t\t\t\t\t\t\t\t.map"}}],["symbol-name:handleSubmit",{"id":"symbol-name:handleSubmit","kind":"symbol","language":"jsts","symbolName":"handleSubmit","metadata":{"unresolvedName":"handleSubmit"}}],["symbol-name:updateFormField",{"id":"symbol-name:updateFormField","kind":"symbol","language":"jsts","symbolName":"updateFormField","metadata":{"unresolvedName":"updateFormField"}}],["external:Object.entries(formData.env_vars || {}).map",{"id":"external:Object.entries(formData.env_vars || {}).map","kind":"external","language":"jsts","metadata":{"unresolvedName":"Object.entries(formData.env_vars || {}).map"}}],["external:(formData.mounts || []).map",{"id":"external:(formData.mounts || []).map","kind":"external","language":"jsts","metadata":{"unresolvedName":"(formData.mounts || []).map"}}],["external:(formData.mounts || []).filter",{"id":"external:(formData.mounts || []).filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"(formData.mounts || []).filter"}}],["symbol-name:handleSelectProfile",{"id":"symbol-name:handleSelectProfile","kind":"symbol","language":"jsts","symbolName":"handleSelectProfile","metadata":{"unresolvedName":"handleSelectProfile"}}],["symbol-name:handlePreview",{"id":"symbol-name:handlePreview","kind":"symbol","language":"jsts","symbolName":"handlePreview","metadata":{"unresolvedName":"handlePreview"}}],["external:includedProfileIds.map",{"id":"external:includedProfileIds.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"includedProfileIds.map"}}],["symbol-name:handleDragStart",{"id":"symbol-name:handleDragStart","kind":"symbol","language":"jsts","symbolName":"handleDragStart","metadata":{"unresolvedName":"handleDragStart"}}],["symbol-name:handleDragOver",{"id":"symbol-name:handleDragOver","kind":"symbol","language":"jsts","symbolName":"handleDragOver","metadata":{"unresolvedName":"handleDragOver"}}],["symbol-name:handleDrop",{"id":"symbol-name:handleDrop","kind":"symbol","language":"jsts","symbolName":"handleDrop","metadata":{"unresolvedName":"handleDrop"}}],["symbol-name:removeInclude",{"id":"symbol-name:removeInclude","kind":"symbol","language":"jsts","symbolName":"removeInclude","metadata":{"unresolvedName":"removeInclude"}}],["symbol-name:availableProfilesForInclude",{"id":"symbol-name:availableProfilesForInclude","kind":"symbol","language":"jsts","symbolName":"availableProfilesForInclude","metadata":{"unresolvedName":"availableProfilesForInclude"}}],["symbol-name:addInclude",{"id":"symbol-name:addInclude","kind":"symbol","language":"jsts","symbolName":"addInclude","metadata":{"unresolvedName":"addInclude"}}],["external:availableProfilesForInclude().map",{"id":"external:availableProfilesForInclude().map","kind":"external","language":"jsts","metadata":{"unresolvedName":"availableProfilesForInclude().map"}}],["external:Object.entries(formData.files || {}).map",{"id":"external:Object.entries(formData.files || {}).map","kind":"external","language":"jsts","metadata":{"unresolvedName":"Object.entries(formData.files || {}).map"}}],["symbol-name:updateFile",{"id":"symbol-name:updateFile","kind":"symbol","language":"jsts","symbolName":"updateFile","metadata":{"unresolvedName":"updateFile"}}],["symbol-name:removeFile",{"id":"symbol-name:removeFile","kind":"symbol","language":"jsts","symbolName":"removeFile","metadata":{"unresolvedName":"removeFile"}}],["external:Object.entries(mount.files).map",{"id":"external:Object.entries(mount.files).map","kind":"external","language":"jsts","metadata":{"unresolvedName":"Object.entries(mount.files).map"}}],["symbol-name:updateMountFile",{"id":"symbol-name:updateMountFile","kind":"symbol","language":"jsts","symbolName":"updateMountFile","metadata":{"unresolvedName":"updateMountFile"}}],["symbol-name:removeMountFile",{"id":"symbol-name:removeMountFile","kind":"symbol","language":"jsts","symbolName":"removeMountFile","metadata":{"unresolvedName":"removeMountFile"}}],["symbol-name:addMountFile",{"id":"symbol-name:addMountFile","kind":"symbol","language":"jsts","symbolName":"addMountFile","metadata":{"unresolvedName":"addMountFile"}}],["/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>",{"id":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/config-profiles.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":1568,"column":20,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/pages/config-profiles.tsx:resetForm",{"id":"/workspace/apps/web/src/pages/config-profiles.tsx:resetForm","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/config-profiles.tsx","symbolName":"resetForm","symbolKind":"function","exported":false,"metadata":{"line":88,"column":20,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/pages/config-profiles.tsx:populateForm",{"id":"/workspace/apps/web/src/pages/config-profiles.tsx:populateForm","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/config-profiles.tsx","symbolName":"populateForm","symbolKind":"function","exported":false,"metadata":{"line":105,"column":23,"cyclomaticComplexity":5,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/pages/config-profiles.tsx:handleSelectProfile",{"id":"/workspace/apps/web/src/pages/config-profiles.tsx:handleSelectProfile","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/config-profiles.tsx","symbolName":"handleSelectProfile","symbolKind":"function","exported":false,"metadata":{"line":128,"column":30,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/pages/config-profiles.tsx:handleCreateNew",{"id":"/workspace/apps/web/src/pages/config-profiles.tsx:handleCreateNew","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/config-profiles.tsx","symbolName":"handleCreateNew","symbolKind":"function","exported":false,"metadata":{"line":138,"column":26,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/pages/config-profiles.tsx:getScopeLabel",{"id":"/workspace/apps/web/src/pages/config-profiles.tsx:getScopeLabel","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/config-profiles.tsx","symbolName":"getScopeLabel","symbolKind":"function","exported":false,"metadata":{"line":148,"column":24,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/pages/config-profiles.tsx:wouldCreateCycle",{"id":"/workspace/apps/web/src/pages/config-profiles.tsx:wouldCreateCycle","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/config-profiles.tsx","symbolName":"wouldCreateCycle","symbolKind":"function","exported":false,"metadata":{"line":156,"column":27,"cyclomaticComplexity":6,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/pages/config-profiles.tsx:availableProfilesForInclude",{"id":"/workspace/apps/web/src/pages/config-profiles.tsx:availableProfilesForInclude","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/config-profiles.tsx","symbolName":"availableProfilesForInclude","symbolKind":"function","exported":false,"metadata":{"line":177,"column":38,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/pages/config-profiles.tsx:addInclude",{"id":"/workspace/apps/web/src/pages/config-profiles.tsx:addInclude","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/config-profiles.tsx","symbolName":"addInclude","symbolKind":"function","exported":false,"metadata":{"line":188,"column":21,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/pages/config-profiles.tsx:removeInclude",{"id":"/workspace/apps/web/src/pages/config-profiles.tsx:removeInclude","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/config-profiles.tsx","symbolName":"removeInclude","symbolKind":"function","exported":false,"metadata":{"line":192,"column":24,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/pages/config-profiles.tsx:handleDragStart",{"id":"/workspace/apps/web/src/pages/config-profiles.tsx:handleDragStart","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/config-profiles.tsx","symbolName":"handleDragStart","symbolKind":"function","exported":false,"metadata":{"line":197,"column":26,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/pages/config-profiles.tsx:handleDragOver",{"id":"/workspace/apps/web/src/pages/config-profiles.tsx:handleDragOver","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/config-profiles.tsx","symbolName":"handleDragOver","symbolKind":"function","exported":false,"metadata":{"line":202,"column":25,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/pages/config-profiles.tsx:handleDragLeave",{"id":"/workspace/apps/web/src/pages/config-profiles.tsx:handleDragLeave","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/config-profiles.tsx","symbolName":"handleDragLeave","symbolKind":"function","exported":false,"metadata":{"line":208,"column":26,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/pages/config-profiles.tsx:handleDrop",{"id":"/workspace/apps/web/src/pages/config-profiles.tsx:handleDrop","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/config-profiles.tsx","symbolName":"handleDrop","symbolKind":"function","exported":false,"metadata":{"line":212,"column":21,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/pages/config-profiles.tsx:handleSubmit",{"id":"/workspace/apps/web/src/pages/config-profiles.tsx:handleSubmit","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/config-profiles.tsx","symbolName":"handleSubmit","symbolKind":"function","exported":false,"metadata":{"line":228,"column":23,"cyclomaticComplexity":8,"maxNestingDepth":4,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/pages/config-profiles.tsx:handleDelete",{"id":"/workspace/apps/web/src/pages/config-profiles.tsx:handleDelete","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/config-profiles.tsx","symbolName":"handleDelete","symbolKind":"function","exported":false,"metadata":{"line":275,"column":23,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/pages/config-profiles.tsx:handlePreview",{"id":"/workspace/apps/web/src/pages/config-profiles.tsx:handlePreview","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/config-profiles.tsx","symbolName":"handlePreview","symbolKind":"function","exported":false,"metadata":{"line":292,"column":24,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/pages/config-profiles.tsx:updateFormField",{"id":"/workspace/apps/web/src/pages/config-profiles.tsx:updateFormField","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/config-profiles.tsx","symbolName":"updateFormField","symbolKind":"function","exported":false,"metadata":{"line":304,"column":26,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/pages/config-profiles.tsx:addEnvVar",{"id":"/workspace/apps/web/src/pages/config-profiles.tsx:addEnvVar","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/config-profiles.tsx","symbolName":"addEnvVar","symbolKind":"function","exported":false,"metadata":{"line":312,"column":20,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/pages/config-profiles.tsx:updateEnvVar",{"id":"/workspace/apps/web/src/pages/config-profiles.tsx:updateEnvVar","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/config-profiles.tsx","symbolName":"updateEnvVar","symbolKind":"function","exported":false,"metadata":{"line":320,"column":23,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/pages/config-profiles.tsx:removeEnvVar",{"id":"/workspace/apps/web/src/pages/config-profiles.tsx:removeEnvVar","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/config-profiles.tsx","symbolName":"removeEnvVar","symbolKind":"function","exported":false,"metadata":{"line":332,"column":23,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/pages/config-profiles.tsx:addFile",{"id":"/workspace/apps/web/src/pages/config-profiles.tsx:addFile","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/config-profiles.tsx","symbolName":"addFile","symbolKind":"function","exported":false,"metadata":{"line":341,"column":18,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/pages/config-profiles.tsx:updateFile",{"id":"/workspace/apps/web/src/pages/config-profiles.tsx:updateFile","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/config-profiles.tsx","symbolName":"updateFile","symbolKind":"function","exported":false,"metadata":{"line":349,"column":21,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/pages/config-profiles.tsx:removeFile",{"id":"/workspace/apps/web/src/pages/config-profiles.tsx:removeFile","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/config-profiles.tsx","symbolName":"removeFile","symbolKind":"function","exported":false,"metadata":{"line":361,"column":21,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/pages/config-profiles.tsx:addMount",{"id":"/workspace/apps/web/src/pages/config-profiles.tsx:addMount","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/config-profiles.tsx","symbolName":"addMount","symbolKind":"function","exported":false,"metadata":{"line":370,"column":19,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/pages/config-profiles.tsx:updateMount",{"id":"/workspace/apps/web/src/pages/config-profiles.tsx:updateMount","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/config-profiles.tsx","symbolName":"updateMount","symbolKind":"function","exported":false,"metadata":{"line":378,"column":22,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/pages/config-profiles.tsx:removeMount",{"id":"/workspace/apps/web/src/pages/config-profiles.tsx:removeMount","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/config-profiles.tsx","symbolName":"removeMount","symbolKind":"function","exported":false,"metadata":{"line":390,"column":22,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/pages/config-profiles.tsx:addMountFile",{"id":"/workspace/apps/web/src/pages/config-profiles.tsx:addMountFile","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/config-profiles.tsx","symbolName":"addMountFile","symbolKind":"function","exported":false,"metadata":{"line":399,"column":23,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/pages/config-profiles.tsx:updateMountFile",{"id":"/workspace/apps/web/src/pages/config-profiles.tsx:updateMountFile","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/config-profiles.tsx","symbolName":"updateMountFile","symbolKind":"function","exported":false,"metadata":{"line":411,"column":26,"cyclomaticComplexity":3,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/pages/config-profiles.tsx:removeMountFile",{"id":"/workspace/apps/web/src/pages/config-profiles.tsx:removeMountFile","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/config-profiles.tsx","symbolName":"removeMountFile","symbolKind":"function","exported":false,"metadata":{"line":430,"column":26,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["/workspace/apps/web/src/pages/config-profiles.tsx:preventDefault",{"id":"/workspace/apps/web/src/pages/config-profiles.tsx:preventDefault","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/config-profiles.tsx","symbolName":"preventDefault","symbolKind":"function","exported":false,"metadata":{"line":560,"column":38,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["file:/workspace/apps/web/src/pages/workspace-detail.tsx",{"id":"file:/workspace/apps/web/src/pages/workspace-detail.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/pages/workspace-detail.tsx","metadata":{"lineCount":415,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/workspace-detail.tsx:WorkspaceDetailPage",{"id":"/workspace/apps/web/src/pages/workspace-detail.tsx:WorkspaceDetailPage","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/workspace-detail.tsx","symbolName":"WorkspaceDetailPage","symbolKind":"function","exported":true,"metadata":{"line":17,"column":1,"cyclomaticComplexity":9,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:useWorkspaces",{"id":"symbol-name:useWorkspaces","kind":"symbol","language":"jsts","symbolName":"useWorkspaces","metadata":{"unresolvedName":"useWorkspaces"}}],["/workspace/apps/web/src/pages/workspace-detail.tsx:WorkspaceHeader",{"id":"/workspace/apps/web/src/pages/workspace-detail.tsx:WorkspaceHeader","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/workspace-detail.tsx","symbolName":"WorkspaceHeader","symbolKind":"function","exported":false,"metadata":{"line":53,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/workspace-detail.tsx:TabBar",{"id":"/workspace/apps/web/src/pages/workspace-detail.tsx:TabBar","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/workspace-detail.tsx","symbolName":"TabBar","symbolKind":"function","exported":false,"metadata":{"line":81,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/workspace-detail.tsx:MobileTabBar",{"id":"/workspace/apps/web/src/pages/workspace-detail.tsx:MobileTabBar","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/workspace-detail.tsx","symbolName":"MobileTabBar","symbolKind":"function","exported":false,"metadata":{"line":116,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/workspace-detail.tsx:FilesTab",{"id":"/workspace/apps/web/src/pages/workspace-detail.tsx:FilesTab","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/workspace-detail.tsx","symbolName":"FilesTab","symbolKind":"function","exported":false,"metadata":{"line":152,"column":1,"cyclomaticComplexity":20,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:useWorkspaceFiles",{"id":"symbol-name:useWorkspaceFiles","kind":"symbol","language":"jsts","symbolName":"useWorkspaceFiles","metadata":{"unresolvedName":"useWorkspaceFiles"}}],["symbol-name:useWorkspaceGit",{"id":"symbol-name:useWorkspaceGit","kind":"symbol","language":"jsts","symbolName":"useWorkspaceGit","metadata":{"unresolvedName":"useWorkspaceGit"}}],["symbol-name:setSelectedPath",{"id":"symbol-name:setSelectedPath","kind":"symbol","language":"jsts","symbolName":"setSelectedPath","metadata":{"unresolvedName":"setSelectedPath"}}],["symbol-name:setIsEditing",{"id":"symbol-name:setIsEditing","kind":"symbol","language":"jsts","symbolName":"setIsEditing","metadata":{"unresolvedName":"setIsEditing"}}],["symbol-name:setEditContent",{"id":"symbol-name:setEditContent","kind":"symbol","language":"jsts","symbolName":"setEditContent","metadata":{"unresolvedName":"setEditContent"}}],["symbol-name:saveFile",{"id":"symbol-name:saveFile","kind":"symbol","language":"jsts","symbolName":"saveFile","metadata":{"unresolvedName":"saveFile"}}],["symbol-name:commit",{"id":"symbol-name:commit","kind":"symbol","language":"jsts","symbolName":"commit","metadata":{"unresolvedName":"commit"}}],["/workspace/apps/web/src/pages/workspace-detail.tsx:handleSelect",{"id":"/workspace/apps/web/src/pages/workspace-detail.tsx:handleSelect","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/workspace-detail.tsx","symbolName":"handleSelect","symbolKind":"function","exported":false,"metadata":{"line":161,"column":23,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/workspace-detail.tsx:handleEdit",{"id":"/workspace/apps/web/src/pages/workspace-detail.tsx:handleEdit","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/workspace-detail.tsx","symbolName":"handleEdit","symbolKind":"function","exported":false,"metadata":{"line":169,"column":21,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/workspace-detail.tsx:handleSave",{"id":"/workspace/apps/web/src/pages/workspace-detail.tsx:handleSave","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/workspace-detail.tsx","symbolName":"handleSave","symbolKind":"function","exported":false,"metadata":{"line":176,"column":21,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/workspace-detail.tsx:GitTab",{"id":"/workspace/apps/web/src/pages/workspace-detail.tsx:GitTab","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/workspace-detail.tsx","symbolName":"GitTab","symbolKind":"function","exported":false,"metadata":{"line":278,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:checkout",{"id":"symbol-name:checkout","kind":"symbol","language":"jsts","symbolName":"checkout","metadata":{"unresolvedName":"checkout"}}],["external:history.map",{"id":"external:history.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"history.map"}}],["external:commit.hash.slice",{"id":"external:commit.hash.slice","kind":"external","language":"jsts","metadata":{"unresolvedName":"commit.hash.slice"}}],["/workspace/apps/web/src/pages/workspace-detail.tsx:ToolsTab",{"id":"/workspace/apps/web/src/pages/workspace-detail.tsx:ToolsTab","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/workspace-detail.tsx","symbolName":"ToolsTab","symbolKind":"function","exported":false,"metadata":{"line":314,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:useWorkspaceInstances",{"id":"symbol-name:useWorkspaceInstances","kind":"symbol","language":"jsts","symbolName":"useWorkspaceInstances","metadata":{"unresolvedName":"useWorkspaceInstances"}}],["symbol-name:setShowModal",{"id":"symbol-name:setShowModal","kind":"symbol","language":"jsts","symbolName":"setShowModal","metadata":{"unresolvedName":"setShowModal"}}],["/workspace/apps/web/src/pages/workspace-detail.tsx:<anonymous>",{"id":"/workspace/apps/web/src/pages/workspace-detail.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/workspace-detail.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":369,"column":19,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/workspace-detail.tsx:SettingsTab",{"id":"/workspace/apps/web/src/pages/workspace-detail.tsx:SettingsTab","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/workspace-detail.tsx","symbolName":"SettingsTab","symbolKind":"function","exported":false,"metadata":{"line":384,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/pages/workspaces.tsx",{"id":"file:/workspace/apps/web/src/pages/workspaces.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/pages/workspaces.tsx","metadata":{"lineCount":109,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/workspaces.tsx:WorkspacesPage",{"id":"/workspace/apps/web/src/pages/workspaces.tsx:WorkspacesPage","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/workspaces.tsx","symbolName":"WorkspacesPage","symbolKind":"function","exported":true,"metadata":{"line":12,"column":1,"cyclomaticComplexity":7,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:useWorkspaceActions",{"id":"symbol-name:useWorkspaceActions","kind":"symbol","language":"jsts","symbolName":"useWorkspaceActions","metadata":{"unresolvedName":"useWorkspaceActions"}}],["external:actions.delete",{"id":"external:actions.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"actions.delete"}}],["external:actions.sync",{"id":"external:actions.sync","kind":"external","language":"jsts","metadata":{"unresolvedName":"actions.sync"}}],["symbol-name:setStartWorkspace",{"id":"symbol-name:setStartWorkspace","kind":"symbol","language":"jsts","symbolName":"setStartWorkspace","metadata":{"unresolvedName":"setStartWorkspace"}}],["/workspace/apps/web/src/pages/workspaces.tsx:handleDelete",{"id":"/workspace/apps/web/src/pages/workspaces.tsx:handleDelete","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/workspaces.tsx","symbolName":"handleDelete","symbolKind":"function","exported":false,"metadata":{"line":18,"column":23,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/pages/workspaces.tsx:handleSync",{"id":"/workspace/apps/web/src/pages/workspaces.tsx:handleSync","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/workspaces.tsx","symbolName":"handleSync","symbolKind":"function","exported":false,"metadata":{"line":22,"column":21,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"service","trustBoundaries":["network","external-api","serialization"]}}],["/workspace/apps/web/src/pages/workspaces.tsx:<anonymous>",{"id":"/workspace/apps/web/src/pages/workspaces.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/pages/workspaces.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":97,"column":19,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/router.tsx:AppRouter",{"id":"/workspace/apps/web/src/router.tsx:AppRouter","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/router.tsx","symbolName":"AppRouter","symbolKind":"function","exported":true,"metadata":{"line":21,"column":26,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/state/auth.tsx:AuthProvider",{"id":"/workspace/apps/web/src/state/auth.tsx:AuthProvider","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/state/auth.tsx","symbolName":"AuthProvider","symbolKind":"function","exported":true,"metadata":{"line":17,"column":29,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["symbol-name:setUser",{"id":"symbol-name:setUser","kind":"symbol","language":"jsts","symbolName":"setUser","metadata":{"unresolvedName":"setUser"}}],["/workspace/apps/web/src/state/auth.tsx:<anonymous>",{"id":"/workspace/apps/web/src/state/auth.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/state/auth.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":39,"column":13,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/workspace/apps/web/src/state/auth.tsx:useAuth",{"id":"/workspace/apps/web/src/state/auth.tsx:useAuth","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/state/auth.tsx","symbolName":"useAuth","symbolKind":"function","exported":true,"metadata":{"line":56,"column":24,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/workspace/apps/web/src/state/events.tsx:EventProvider",{"id":"/workspace/apps/web/src/state/events.tsx:EventProvider","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/state/events.tsx","symbolName":"EventProvider","symbolKind":"function","exported":true,"metadata":{"line":17,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/state/events.tsx:useEventContext",{"id":"/workspace/apps/web/src/state/events.tsx:useEventContext","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/state/events.tsx","symbolName":"useEventContext","symbolKind":"function","exported":true,"metadata":{"line":28,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/state/notifications.tsx:NotificationProvider",{"id":"/workspace/apps/web/src/state/notifications.tsx:NotificationProvider","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/state/notifications.tsx","symbolName":"NotificationProvider","symbolKind":"function","exported":true,"metadata":{"line":38,"column":1,"cyclomaticComplexity":37,"maxNestingDepth":3,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:getUnreadCount",{"id":"symbol-name:getUnreadCount","kind":"symbol","language":"jsts","symbolName":"getUnreadCount","metadata":{"unresolvedName":"getUnreadCount"}}],["symbol-name:setUnreadCount",{"id":"symbol-name:setUnreadCount","kind":"symbol","language":"jsts","symbolName":"setUnreadCount","metadata":{"unresolvedName":"setUnreadCount"}}],["symbol-name:setIsLoading",{"id":"symbol-name:setIsLoading","kind":"symbol","language":"jsts","symbolName":"setIsLoading","metadata":{"unresolvedName":"setIsLoading"}}],["symbol-name:getNotifications",{"id":"symbol-name:getNotifications","kind":"symbol","language":"jsts","symbolName":"getNotifications","metadata":{"unresolvedName":"getNotifications"}}],["symbol-name:setNotifications",{"id":"symbol-name:setNotifications","kind":"symbol","language":"jsts","symbolName":"setNotifications","metadata":{"unresolvedName":"setNotifications"}}],["symbol-name:fetchUnreadCount",{"id":"symbol-name:fetchUnreadCount","kind":"symbol","language":"jsts","symbolName":"fetchUnreadCount","metadata":{"unresolvedName":"fetchUnreadCount"}}],["symbol-name:fetchList",{"id":"symbol-name:fetchList","kind":"symbol","language":"jsts","symbolName":"fetchList","metadata":{"unresolvedName":"fetchList"}}],["symbol-name:stopPolling",{"id":"symbol-name:stopPolling","kind":"symbol","language":"jsts","symbolName":"stopPolling","metadata":{"unresolvedName":"stopPolling"}}],["symbol-name:startPolling",{"id":"symbol-name:startPolling","kind":"symbol","language":"jsts","symbolName":"startPolling","metadata":{"unresolvedName":"startPolling"}}],["external:currentNotifications.find",{"id":"external:currentNotifications.find","kind":"external","language":"jsts","metadata":{"unresolvedName":"currentNotifications.find"}}],["external:currentNotifications.map",{"id":"external:currentNotifications.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"currentNotifications.map"}}],["external:new Date().toISOString",{"id":"external:new Date().toISOString","kind":"external","language":"jsts","metadata":{"unresolvedName":"new Date().toISOString"}}],["symbol-name:markNotificationRead",{"id":"symbol-name:markNotificationRead","kind":"symbol","language":"jsts","symbolName":"markNotificationRead","metadata":{"unresolvedName":"markNotificationRead"}}],["symbol-name:markAllNotificationsRead",{"id":"symbol-name:markAllNotificationsRead","kind":"symbol","language":"jsts","symbolName":"markAllNotificationsRead","metadata":{"unresolvedName":"markAllNotificationsRead"}}],["external:currentNotifications.filter",{"id":"external:currentNotifications.filter","kind":"external","language":"jsts","metadata":{"unresolvedName":"currentNotifications.filter"}}],["symbol-name:dismissNotification",{"id":"symbol-name:dismissNotification","kind":"symbol","language":"jsts","symbolName":"dismissNotification","metadata":{"unresolvedName":"dismissNotification"}}],["symbol-name:clearAllNotifications",{"id":"symbol-name:clearAllNotifications","kind":"symbol","language":"jsts","symbolName":"clearAllNotifications","metadata":{"unresolvedName":"clearAllNotifications"}}],["/workspace/apps/web/src/state/notifications.tsx:<anonymous>",{"id":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/state/notifications.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":270,"column":31,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/state/notifications.tsx:handleVisibilityChange",{"id":"/workspace/apps/web/src/state/notifications.tsx:handleVisibilityChange","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/state/notifications.tsx","symbolName":"handleVisibilityChange","symbolKind":"function","exported":false,"metadata":{"line":154,"column":34,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/state/sessions.tsx:SessionsProvider",{"id":"/workspace/apps/web/src/state/sessions.tsx:SessionsProvider","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/state/sessions.tsx","symbolName":"SessionsProvider","symbolKind":"function","exported":true,"metadata":{"line":21,"column":33,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/workspace/apps/web/src/state/sessions.tsx:<anonymous>",{"id":"/workspace/apps/web/src/state/sessions.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/state/sessions.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":24,"column":37,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/workspace/apps/web/src/state/sessions.tsx:useSessions",{"id":"/workspace/apps/web/src/state/sessions.tsx:useSessions","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/state/sessions.tsx","symbolName":"useSessions","symbolKind":"function","exported":true,"metadata":{"line":35,"column":28,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["/workspace/apps/web/src/state/toast.tsx:ToastProvider",{"id":"/workspace/apps/web/src/state/toast.tsx:ToastProvider","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/state/toast.tsx","symbolName":"ToastProvider","symbolKind":"function","exported":true,"metadata":{"line":34,"column":1,"cyclomaticComplexity":8,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:setToasts",{"id":"symbol-name:setToasts","kind":"symbol","language":"jsts","symbolName":"setToasts","metadata":{"unresolvedName":"setToasts"}}],["external:timersRef.current.get",{"id":"external:timersRef.current.get","kind":"external","language":"jsts","metadata":{"unresolvedName":"timersRef.current.get"}}],["external:timersRef.current.delete",{"id":"external:timersRef.current.delete","kind":"external","language":"jsts","metadata":{"unresolvedName":"timersRef.current.delete"}}],["symbol-name:removeToast",{"id":"symbol-name:removeToast","kind":"symbol","language":"jsts","symbolName":"removeToast","metadata":{"unresolvedName":"removeToast"}}],["external:timersRef.current.set",{"id":"external:timersRef.current.set","kind":"external","language":"jsts","metadata":{"unresolvedName":"timersRef.current.set"}}],["symbol-name:addToast",{"id":"symbol-name:addToast","kind":"symbol","language":"jsts","symbolName":"addToast","metadata":{"unresolvedName":"addToast"}}],["/workspace/apps/web/src/state/toast.tsx:<anonymous>",{"id":"/workspace/apps/web/src/state/toast.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/state/toast.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":87,"column":18,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/state/toast.tsx:useToast",{"id":"/workspace/apps/web/src/state/toast.tsx:useToast","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/state/toast.tsx","symbolName":"useToast","symbolKind":"function","exported":true,"metadata":{"line":99,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/state/toast.tsx:info",{"id":"/workspace/apps/web/src/state/toast.tsx:info","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/state/toast.tsx","symbolName":"info","symbolKind":"function","exported":false,"metadata":{"line":115,"column":8,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/state/toast.tsx:success",{"id":"/workspace/apps/web/src/state/toast.tsx:success","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/state/toast.tsx","symbolName":"success","symbolKind":"function","exported":false,"metadata":{"line":118,"column":11,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/state/toast.tsx:warning",{"id":"/workspace/apps/web/src/state/toast.tsx:warning","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/state/toast.tsx","symbolName":"warning","symbolKind":"function","exported":false,"metadata":{"line":121,"column":11,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/state/toast.tsx:error",{"id":"/workspace/apps/web/src/state/toast.tsx:error","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/state/toast.tsx","symbolName":"error","symbolKind":"function","exported":false,"metadata":{"line":124,"column":9,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/state/toast.tsx:severityStyles",{"id":"/workspace/apps/web/src/state/toast.tsx:severityStyles","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/state/toast.tsx","symbolName":"severityStyles","symbolKind":"function","exported":false,"metadata":{"line":129,"column":1,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/state/toast.tsx:ToastContainer",{"id":"/workspace/apps/web/src/state/toast.tsx:ToastContainer","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/state/toast.tsx","symbolName":"ToastContainer","symbolKind":"function","exported":false,"metadata":{"line":143,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:toasts.map",{"id":"external:toasts.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"toasts.map"}}],["symbol-name:severityStyles",{"id":"symbol-name:severityStyles","kind":"symbol","language":"jsts","symbolName":"severityStyles","metadata":{"unresolvedName":"severityStyles"}}],["file:/workspace/apps/web/src/test/setup.ts",{"id":"file:/workspace/apps/web/src/test/setup.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/test/setup.ts","metadata":{"lineCount":2,"featureKind":"library","trustBoundaries":[]}}],["external:@testing-library/jest-dom/vitest",{"id":"external:@testing-library/jest-dom/vitest","kind":"external","language":"jsts","metadata":{"source":"@testing-library/jest-dom/vitest"}}],["file:/workspace/apps/web/src/types/api-response.ts",{"id":"file:/workspace/apps/web/src/types/api-response.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/types/api-response.ts","metadata":{"lineCount":11,"featureKind":"library","trustBoundaries":["network","external-api","serialization"]}}],["file:/workspace/apps/web/src/types/user.ts",{"id":"file:/workspace/apps/web/src/types/user.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/types/user.ts","metadata":{"lineCount":11,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/utils/errors.ts:extractErrorMessage",{"id":"/workspace/apps/web/src/utils/errors.ts:extractErrorMessage","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/utils/errors.ts","symbolName":"extractErrorMessage","symbolKind":"function","exported":true,"metadata":{"line":1,"column":36,"cyclomaticComplexity":5,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:detail.map((d) => typeof d === \"string\" ? d : d.msg || JSON.stringify(d)).join",{"id":"external:detail.map((d) => typeof d === \"string\" ? d : d.msg || JSON.stringify(d)).join","kind":"external","language":"jsts","metadata":{"unresolvedName":"detail.map((d) => typeof d === \"string\" ? d : d.msg || JSON.stringify(d)).join"}}],["external:detail.map",{"id":"external:detail.map","kind":"external","language":"jsts","metadata":{"unresolvedName":"detail.map"}}],["external:prismjs",{"id":"external:prismjs","kind":"external","language":"jsts","metadata":{"source":"prismjs"}}],["/workspace/apps/web/src/utils/language.ts:detectLanguage",{"id":"/workspace/apps/web/src/utils/language.ts:detectLanguage","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/utils/language.ts","symbolName":"detectLanguage","symbolKind":"function","exported":true,"metadata":{"line":69,"column":31,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:filename.split(\".\").pop()?.toLowerCase",{"id":"external:filename.split(\".\").pop()?.toLowerCase","kind":"external","language":"jsts","metadata":{"unresolvedName":"filename.split(\".\").pop()?.toLowerCase"}}],["external:filename.split(\".\").pop",{"id":"external:filename.split(\".\").pop","kind":"external","language":"jsts","metadata":{"unresolvedName":"filename.split(\".\").pop"}}],["external:filename.split",{"id":"external:filename.split","kind":"external","language":"jsts","metadata":{"unresolvedName":"filename.split"}}],["/workspace/apps/web/src/utils/language.ts:highlightCode",{"id":"/workspace/apps/web/src/utils/language.ts:highlightCode","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/utils/language.ts","symbolName":"highlightCode","symbolKind":"function","exported":true,"metadata":{"line":74,"column":30,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:Prism.highlight",{"id":"external:Prism.highlight","kind":"external","language":"jsts","metadata":{"unresolvedName":"Prism.highlight"}}],["/workspace/apps/web/src/utils/language.ts:loadLanguage",{"id":"/workspace/apps/web/src/utils/language.ts:loadLanguage","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/utils/language.ts","symbolName":"loadLanguage","symbolKind":"function","exported":true,"metadata":{"line":79,"column":29,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/utils/terminal-protocol.ts:encodeControlMessage",{"id":"/workspace/apps/web/src/utils/terminal-protocol.ts:encodeControlMessage","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/utils/terminal-protocol.ts","symbolName":"encodeControlMessage","symbolKind":"function","exported":true,"metadata":{"line":9,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":true,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/utils/terminal-protocol.ts:decodeControlMessage",{"id":"/workspace/apps/web/src/utils/terminal-protocol.ts:decodeControlMessage","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/utils/terminal-protocol.ts","symbolName":"decodeControlMessage","symbolKind":"function","exported":true,"metadata":{"line":17,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:isServerControlMessage",{"id":"symbol-name:isServerControlMessage","kind":"symbol","language":"jsts","symbolName":"isServerControlMessage","metadata":{"unresolvedName":"isServerControlMessage"}}],["/workspace/apps/web/src/utils/terminal-protocol.ts:isControlMessage",{"id":"/workspace/apps/web/src/utils/terminal-protocol.ts:isControlMessage","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/utils/terminal-protocol.ts","symbolName":"isControlMessage","symbolKind":"function","exported":true,"metadata":{"line":35,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/utils/terminal-protocol.ts:encodeInputData",{"id":"/workspace/apps/web/src/utils/terminal-protocol.ts:encodeInputData","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/utils/terminal-protocol.ts","symbolName":"encodeInputData","symbolKind":"function","exported":true,"metadata":{"line":42,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:btoa",{"id":"symbol-name:btoa","kind":"symbol","language":"jsts","symbolName":"btoa","metadata":{"unresolvedName":"btoa"}}],["symbol-name:unescape",{"id":"symbol-name:unescape","kind":"symbol","language":"jsts","symbolName":"unescape","metadata":{"unresolvedName":"unescape"}}],["/workspace/apps/web/src/utils/terminal-protocol.ts:decodeInputData",{"id":"/workspace/apps/web/src/utils/terminal-protocol.ts:decodeInputData","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/utils/terminal-protocol.ts","symbolName":"decodeInputData","symbolKind":"function","exported":true,"metadata":{"line":49,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["symbol-name:decodeURIComponent",{"id":"symbol-name:decodeURIComponent","kind":"symbol","language":"jsts","symbolName":"decodeURIComponent","metadata":{"unresolvedName":"decodeURIComponent"}}],["symbol-name:escape",{"id":"symbol-name:escape","kind":"symbol","language":"jsts","symbolName":"escape","metadata":{"unresolvedName":"escape"}}],["symbol-name:atob",{"id":"symbol-name:atob","kind":"symbol","language":"jsts","symbolName":"atob","metadata":{"unresolvedName":"atob"}}],["/workspace/apps/web/src/utils/terminal-protocol.ts:isServerControlMessage",{"id":"/workspace/apps/web/src/utils/terminal-protocol.ts:isServerControlMessage","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/utils/terminal-protocol.ts","symbolName":"isServerControlMessage","symbolKind":"function","exported":false,"metadata":{"line":55,"column":1,"cyclomaticComplexity":11,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/utils/time.ts:formatRelativeTime",{"id":"/workspace/apps/web/src/utils/time.ts:formatRelativeTime","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/utils/time.ts","symbolName":"formatRelativeTime","symbolKind":"function","exported":true,"metadata":{"line":11,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["external:Math.floor",{"id":"external:Math.floor","kind":"external","language":"jsts","metadata":{"unresolvedName":"Math.floor"}}],["external:now.getTime",{"id":"external:now.getTime","kind":"external","language":"jsts","metadata":{"unresolvedName":"now.getTime"}}],["external:date.getTime",{"id":"external:date.getTime","kind":"external","language":"jsts","metadata":{"unresolvedName":"date.getTime"}}],["file:/workspace/apps/web/vite.config.ts",{"id":"file:/workspace/apps/web/vite.config.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/vite.config.ts","metadata":{"lineCount":20,"featureKind":"service","trustBoundaries":["filesystem","database"]}}],["external:vite",{"id":"external:vite","kind":"external","language":"jsts","metadata":{"source":"vite"}}],["external:@vitejs/plugin-react",{"id":"external:@vitejs/plugin-react","kind":"external","language":"jsts","metadata":{"source":"@vitejs/plugin-react"}}],["file:/workspace/apps/web/src/api/git-repositories.ts",{"id":"file:/workspace/apps/web/src/api/git-repositories.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/api/git-repositories.ts","metadata":{"lineCount":213,"featureKind":"library","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["/workspace/apps/web/src/api/git-repositories.ts:parseGitUrl",{"id":"/workspace/apps/web/src/api/git-repositories.ts:parseGitUrl","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/git-repositories.ts","symbolName":"parseGitUrl","symbolKind":"function","exported":true,"metadata":{"line":36,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["/workspace/apps/web/src/api/git-repositories.ts:listRepositories",{"id":"/workspace/apps/web/src/api/git-repositories.ts:listRepositories","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/git-repositories.ts","symbolName":"listRepositories","symbolKind":"function","exported":true,"metadata":{"line":43,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["/workspace/apps/web/src/api/git-repositories.ts:listRepositoryBranches",{"id":"/workspace/apps/web/src/api/git-repositories.ts:listRepositoryBranches","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/git-repositories.ts","symbolName":"listRepositoryBranches","symbolKind":"function","exported":true,"metadata":{"line":50,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["/workspace/apps/web/src/api/git-repositories.ts:createRepository",{"id":"/workspace/apps/web/src/api/git-repositories.ts:createRepository","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/git-repositories.ts","symbolName":"createRepository","symbolKind":"function","exported":true,"metadata":{"line":60,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["/workspace/apps/web/src/api/git-repositories.ts:deleteRepository",{"id":"/workspace/apps/web/src/api/git-repositories.ts:deleteRepository","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/git-repositories.ts","symbolName":"deleteRepository","symbolKind":"function","exported":true,"metadata":{"line":71,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["/workspace/apps/web/src/api/git-repositories.ts:getRepositoryHistory",{"id":"/workspace/apps/web/src/api/git-repositories.ts:getRepositoryHistory","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/git-repositories.ts","symbolName":"getRepositoryHistory","symbolKind":"function","exported":true,"metadata":{"line":78,"column":1,"cyclomaticComplexity":4,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["/workspace/apps/web/src/api/git-repositories.ts:getCommitDetail",{"id":"/workspace/apps/web/src/api/git-repositories.ts:getCommitDetail","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/git-repositories.ts","symbolName":"getCommitDetail","symbolKind":"function","exported":true,"metadata":{"line":95,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["/workspace/apps/web/src/api/git-repositories.ts:getRepositoryStatus",{"id":"/workspace/apps/web/src/api/git-repositories.ts:getRepositoryStatus","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/git-repositories.ts","symbolName":"getRepositoryStatus","symbolKind":"function","exported":true,"metadata":{"line":106,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["/workspace/apps/web/src/api/git-repositories.ts:createBranch",{"id":"/workspace/apps/web/src/api/git-repositories.ts:createBranch","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/git-repositories.ts","symbolName":"createBranch","symbolKind":"function","exported":true,"metadata":{"line":116,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["/workspace/apps/web/src/api/git-repositories.ts:deleteBranch",{"id":"/workspace/apps/web/src/api/git-repositories.ts:deleteBranch","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/git-repositories.ts","symbolName":"deleteBranch","symbolKind":"function","exported":true,"metadata":{"line":129,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["/workspace/apps/web/src/api/git-repositories.ts:checkoutBranch",{"id":"/workspace/apps/web/src/api/git-repositories.ts:checkoutBranch","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/git-repositories.ts","symbolName":"checkoutBranch","symbolKind":"function","exported":true,"metadata":{"line":141,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["/workspace/apps/web/src/api/git-repositories.ts:commitChanges",{"id":"/workspace/apps/web/src/api/git-repositories.ts:commitChanges","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/git-repositories.ts","symbolName":"commitChanges","symbolKind":"function","exported":true,"metadata":{"line":153,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["/workspace/apps/web/src/api/git-repositories.ts:fetchRepository",{"id":"/workspace/apps/web/src/api/git-repositories.ts:fetchRepository","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/git-repositories.ts","symbolName":"fetchRepository","symbolKind":"function","exported":true,"metadata":{"line":166,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["/workspace/apps/web/src/api/git-repositories.ts:pullRepository",{"id":"/workspace/apps/web/src/api/git-repositories.ts:pullRepository","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/git-repositories.ts","symbolName":"pullRepository","symbolKind":"function","exported":true,"metadata":{"line":176,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["/workspace/apps/web/src/api/git-repositories.ts:pushRepository",{"id":"/workspace/apps/web/src/api/git-repositories.ts:pushRepository","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/git-repositories.ts","symbolName":"pushRepository","symbolKind":"function","exported":true,"metadata":{"line":188,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["/workspace/apps/web/src/api/git-repositories.ts:mergeBranches",{"id":"/workspace/apps/web/src/api/git-repositories.ts:mergeBranches","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/git-repositories.ts","symbolName":"mergeBranches","symbolKind":"function","exported":true,"metadata":{"line":200,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["filesystem","database","network","external-api","serialization"]}}],["file:/workspace/apps/web/src/types/session.ts",{"id":"file:/workspace/apps/web/src/types/session.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/types/session.ts","metadata":{"lineCount":17,"featureKind":"library","trustBoundaries":["auth","user-input"]}}],["file:/workspace/apps/web/src/types/git-repository.ts",{"id":"file:/workspace/apps/web/src/types/git-repository.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/types/git-repository.ts","metadata":{"lineCount":87,"featureKind":"library","trustBoundaries":["filesystem","database"]}}],["file:/workspace/apps/web/src/types/project.ts",{"id":"file:/workspace/apps/web/src/types/project.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/types/project.ts","metadata":{"lineCount":29,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/types/index.ts",{"id":"file:/workspace/apps/web/src/types/index.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/types/index.ts","metadata":{"lineCount":30,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/types.ts",{"id":"file:/workspace/apps/web/src/types.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/types.ts","metadata":{"lineCount":6,"featureKind":"library","trustBoundaries":[]}}],["file:/workspace/apps/web/src/api/sessions.ts",{"id":"file:/workspace/apps/web/src/api/sessions.ts","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/api/sessions.ts","metadata":{"lineCount":131,"featureKind":"library","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["/workspace/apps/web/src/api/sessions.ts:listInstances",{"id":"/workspace/apps/web/src/api/sessions.ts:listInstances","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/sessions.ts","symbolName":"listInstances","symbolKind":"function","exported":true,"metadata":{"line":20,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["/workspace/apps/web/src/api/sessions.ts:createInstance",{"id":"/workspace/apps/web/src/api/sessions.ts:createInstance","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/sessions.ts","symbolName":"createInstance","symbolKind":"function","exported":true,"metadata":{"line":30,"column":1,"cyclomaticComplexity":3,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["/workspace/apps/web/src/api/sessions.ts:startInstance",{"id":"/workspace/apps/web/src/api/sessions.ts:startInstance","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/sessions.ts","symbolName":"startInstance","symbolKind":"function","exported":true,"metadata":{"line":54,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["/workspace/apps/web/src/api/sessions.ts:stopInstance",{"id":"/workspace/apps/web/src/api/sessions.ts:stopInstance","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/sessions.ts","symbolName":"stopInstance","symbolKind":"function","exported":true,"metadata":{"line":71,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["/workspace/apps/web/src/api/sessions.ts:restartInstance",{"id":"/workspace/apps/web/src/api/sessions.ts:restartInstance","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/sessions.ts","symbolName":"restartInstance","symbolKind":"function","exported":true,"metadata":{"line":82,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["/workspace/apps/web/src/api/sessions.ts:deleteInstance",{"id":"/workspace/apps/web/src/api/sessions.ts:deleteInstance","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/sessions.ts","symbolName":"deleteInstance","symbolKind":"function","exported":true,"metadata":{"line":93,"column":1,"cyclomaticComplexity":2,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["/workspace/apps/web/src/api/sessions.ts:getUserSessions",{"id":"/workspace/apps/web/src/api/sessions.ts:getUserSessions","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/sessions.ts","symbolName":"getUserSessions","symbolKind":"function","exported":true,"metadata":{"line":105,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["/workspace/apps/web/src/api/sessions.ts:checkInstanceHealth",{"id":"/workspace/apps/web/src/api/sessions.ts:checkInstanceHealth","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/sessions.ts","symbolName":"checkInstanceHealth","symbolKind":"function","exported":true,"metadata":{"line":110,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["/workspace/apps/web/src/api/sessions.ts:recreateInstanceTunnel",{"id":"/workspace/apps/web/src/api/sessions.ts:recreateInstanceTunnel","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/api/sessions.ts","symbolName":"recreateInstanceTunnel","symbolKind":"function","exported":true,"metadata":{"line":121,"column":1,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":["network","external-api","serialization","auth","user-input"]}}],["file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx",{"id":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","kind":"file","language":"jsts","filePath":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","metadata":{"lineCount":330,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:getStatusText",{"id":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:getStatusText","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","symbolName":"getStatusText","symbolKind":"function","exported":false,"metadata":{"line":36,"column":1,"cyclomaticComplexity":9,"maxNestingDepth":2,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:TerminalComponent",{"id":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:TerminalComponent","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","symbolName":"TerminalComponent","symbolKind":"function","exported":true,"metadata":{"line":53,"column":59,"cyclomaticComplexity":23,"maxNestingDepth":1,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}],["/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>",{"id":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","kind":"symbol","language":"jsts","filePath":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","symbolName":"<anonymous>","symbolKind":"function","exported":false,"metadata":{"line":297,"column":18,"cyclomaticComplexity":1,"maxNestingDepth":0,"isBoundaryWrapper":false,"isPassThroughWrapper":false,"featureKind":"library","trustBoundaries":[]}}]],"edges":[{"from":"file:/workspace/apps/web/scripts/check-structure.js","to":"external:fs","kind":"imports"},{"from":"file:/workspace/apps/web/scripts/check-structure.js","to":"external:path","kind":"imports"},{"from":"file:/workspace/apps/web/scripts/check-structure.js","to":"external:url","kind":"imports"},{"from":"file:/workspace/apps/web/scripts/check-structure.js","to":"/workspace/apps/web/scripts/check-structure.js:checkFileSize","kind":"contains"},{"from":"file:/workspace/apps/web/scripts/check-structure.js","to":"/workspace/apps/web/scripts/check-structure.js:checkFileSize","kind":"defines"},{"from":"/workspace/apps/web/scripts/check-structure.js:checkFileSize","to":"external:fs.readFileSync","kind":"calls","metadata":{"unresolvedName":"fs.readFileSync"}},{"from":"/workspace/apps/web/scripts/check-structure.js:checkFileSize","to":"external:content.split","kind":"calls","metadata":{"unresolvedName":"content.split"}},{"from":"/workspace/apps/web/scripts/check-structure.js:checkFileSize","to":"external:path.relative","kind":"calls","metadata":{"unresolvedName":"path.relative"}},{"from":"/workspace/apps/web/scripts/check-structure.js:checkFileSize","to":"external:OVERSIZE_ALLOWLIST.includes","kind":"calls","metadata":{"unresolvedName":"OVERSIZE_ALLOWLIST.includes"}},{"from":"/workspace/apps/web/scripts/check-structure.js:checkFileSize","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"/workspace/apps/web/scripts/check-structure.js:checkFileSize","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"file:/workspace/apps/web/scripts/check-structure.js","to":"/workspace/apps/web/scripts/check-structure.js:walk","kind":"contains"},{"from":"file:/workspace/apps/web/scripts/check-structure.js","to":"/workspace/apps/web/scripts/check-structure.js:walk","kind":"defines"},{"from":"/workspace/apps/web/scripts/check-structure.js:walk","to":"external:fs.readdirSync","kind":"calls","metadata":{"unresolvedName":"fs.readdirSync"}},{"from":"/workspace/apps/web/scripts/check-structure.js:walk","to":"external:path.join","kind":"calls","metadata":{"unresolvedName":"path.join"}},{"from":"/workspace/apps/web/scripts/check-structure.js:walk","to":"external:entry.isDirectory","kind":"calls","metadata":{"unresolvedName":"entry.isDirectory"}},{"from":"/workspace/apps/web/scripts/check-structure.js:walk","to":"external:entry.name.startsWith","kind":"calls","metadata":{"unresolvedName":"entry.name.startsWith"}},{"from":"/workspace/apps/web/scripts/check-structure.js:walk","to":"/workspace/apps/web/scripts/check-structure.js:walk","kind":"calls","metadata":{"unresolvedName":"walk"}},{"from":"/workspace/apps/web/scripts/check-structure.js:walk","to":"symbol-name:callback","kind":"calls","metadata":{"unresolvedName":"callback"}},{"from":"file:/workspace/apps/web/scripts/check-structure.js","to":"/workspace/apps/web/scripts/check-structure.js:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/scripts/check-structure.js","to":"/workspace/apps/web/scripts/check-structure.js:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/scripts/check-structure.js:<anonymous>","to":"external:path.extname","kind":"calls","metadata":{"unresolvedName":"path.extname"}},{"from":"/workspace/apps/web/scripts/check-structure.js:<anonymous>","to":"external:[\".ts\", \".tsx\", \".py\", \".css\"].includes","kind":"calls","metadata":{"unresolvedName":"[\".ts\", \".tsx\", \".py\", \".css\"].includes"}},{"from":"/workspace/apps/web/scripts/check-structure.js:<anonymous>","to":"/workspace/apps/web/scripts/check-structure.js:checkFileSize","kind":"calls","metadata":{"unresolvedName":"checkFileSize"}},{"from":"file:/workspace/apps/web/src/api/client.ts","to":"external:axios","kind":"imports"},{"from":"file:/workspace/apps/web/src/api/client.ts","to":"/workspace/apps/web/src/api/client.ts:shouldSkipAuthRedirect","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/client.ts","to":"/workspace/apps/web/src/api/client.ts:shouldSkipAuthRedirect","kind":"defines"},{"from":"/workspace/apps/web/src/api/client.ts:shouldSkipAuthRedirect","to":"external:path.startsWith","kind":"calls","metadata":{"unresolvedName":"path.startsWith"}},{"from":"file:/workspace/apps/web/src/api/client.ts","to":"/workspace/apps/web/src/api/client.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/client.ts","to":"/workspace/apps/web/src/api/client.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/api/client.ts:<anonymous>","to":"/workspace/apps/web/src/api/client.ts:shouldSkipAuthRedirect","kind":"calls","metadata":{"unresolvedName":"shouldSkipAuthRedirect"}},{"from":"/workspace/apps/web/src/api/client.ts:<anonymous>","to":"external:window.location.assign","kind":"calls","metadata":{"unresolvedName":"window.location.assign"}},{"from":"/workspace/apps/web/src/api/client.ts:<anonymous>","to":"external:Promise.reject","kind":"calls","metadata":{"unresolvedName":"Promise.reject"}},{"from":"/workspace/apps/web/src/api/client.ts:<anonymous>","to":"external:error.message?.includes","kind":"calls","metadata":{"unresolvedName":"error.message?.includes"}},{"from":"/workspace/apps/web/src/api/client.ts:<anonymous>","to":"external:retryCount.get","kind":"calls","metadata":{"unresolvedName":"retryCount.get"}},{"from":"/workspace/apps/web/src/api/client.ts:<anonymous>","to":"external:retryCount.set","kind":"calls","metadata":{"unresolvedName":"retryCount.set"}},{"from":"/workspace/apps/web/src/api/client.ts:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/workspace/apps/web/src/api/client.ts:<anonymous>","to":"symbol-name:apiClient","kind":"calls","metadata":{"unresolvedName":"apiClient"}},{"from":"file:/workspace/apps/web/src/api/config-folders.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/workspace/apps/web/src/api/config-folders.test.ts","to":"file:/workspace/apps/web/src/api/config-folders.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/api/config-folders.test.ts","to":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/config-folders.test.ts","to":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"symbol-name:describe","kind":"calls","metadata":{"unresolvedName":"describe"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:mockGet.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGet.mockResolvedValue"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"/workspace/apps/web/src/api/config-folders.ts:listConfigFolders","kind":"calls","metadata":{"unresolvedName":"listConfigFolders"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:expect(result[0].name).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result[0].name).toBe"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:expect(result[0].files).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result[0].files).toEqual"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:expect(mockGet).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockGet).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:mockPost.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockPost.mockResolvedValue"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"/workspace/apps/web/src/api/config-folders.ts:createConfigFolder","kind":"calls","metadata":{"unresolvedName":"createConfigFolder"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:expect(result.name).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.name).toBe"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:expect(mockPost).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockPost).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:mockPut.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockPut.mockResolvedValue"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"/workspace/apps/web/src/api/config-folders.ts:updateConfigFolder","kind":"calls","metadata":{"unresolvedName":"updateConfigFolder"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:expect(result.files).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.files).toEqual"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:expect(mockPut).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockPut).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:mockDelete.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockDelete.mockResolvedValue"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"/workspace/apps/web/src/api/config-folders.ts:deleteConfigFolder","kind":"calls","metadata":{"unresolvedName":"deleteConfigFolder"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:expect(mockDelete).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockDelete).toHaveBeenCalledWith"}},{"from":"file:/workspace/apps/web/src/api/config-folders.test.ts","to":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/config-folders.test.ts","to":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:mockGet.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGet.mockResolvedValue"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"/workspace/apps/web/src/api/config-folders.ts:listConfigFolders","kind":"calls","metadata":{"unresolvedName":"listConfigFolders"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:expect(result[0].name).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result[0].name).toBe"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:expect(result[0].files).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result[0].files).toEqual"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:expect(mockGet).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockGet).toHaveBeenCalledWith"}},{"from":"file:/workspace/apps/web/src/api/config-folders.test.ts","to":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/config-folders.test.ts","to":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:mockGet.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGet.mockResolvedValue"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"/workspace/apps/web/src/api/config-folders.ts:listConfigFolders","kind":"calls","metadata":{"unresolvedName":"listConfigFolders"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:expect(result[0].name).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result[0].name).toBe"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:expect(result[0].files).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result[0].files).toEqual"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:expect(mockGet).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockGet).toHaveBeenCalledWith"}},{"from":"file:/workspace/apps/web/src/api/config-folders.test.ts","to":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/config-folders.test.ts","to":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:mockPost.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockPost.mockResolvedValue"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"/workspace/apps/web/src/api/config-folders.ts:createConfigFolder","kind":"calls","metadata":{"unresolvedName":"createConfigFolder"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:expect(result.name).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.name).toBe"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:expect(mockPost).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockPost).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"file:/workspace/apps/web/src/api/config-folders.test.ts","to":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/config-folders.test.ts","to":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:mockPost.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockPost.mockResolvedValue"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"/workspace/apps/web/src/api/config-folders.ts:createConfigFolder","kind":"calls","metadata":{"unresolvedName":"createConfigFolder"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:expect(result.name).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.name).toBe"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:expect(mockPost).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockPost).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"file:/workspace/apps/web/src/api/config-folders.test.ts","to":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/config-folders.test.ts","to":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:mockPut.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockPut.mockResolvedValue"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"/workspace/apps/web/src/api/config-folders.ts:updateConfigFolder","kind":"calls","metadata":{"unresolvedName":"updateConfigFolder"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:expect(result.files).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.files).toEqual"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:expect(mockPut).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockPut).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"file:/workspace/apps/web/src/api/config-folders.test.ts","to":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/config-folders.test.ts","to":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:mockPut.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockPut.mockResolvedValue"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"/workspace/apps/web/src/api/config-folders.ts:updateConfigFolder","kind":"calls","metadata":{"unresolvedName":"updateConfigFolder"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:expect(result.files).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.files).toEqual"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:expect(mockPut).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockPut).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"file:/workspace/apps/web/src/api/config-folders.test.ts","to":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/config-folders.test.ts","to":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:mockDelete.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockDelete.mockResolvedValue"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"/workspace/apps/web/src/api/config-folders.ts:deleteConfigFolder","kind":"calls","metadata":{"unresolvedName":"deleteConfigFolder"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:expect(mockDelete).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockDelete).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/api/config-folders.test.ts","to":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/config-folders.test.ts","to":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:mockDelete.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockDelete.mockResolvedValue"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"/workspace/apps/web/src/api/config-folders.ts:deleteConfigFolder","kind":"calls","metadata":{"unresolvedName":"deleteConfigFolder"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"external:expect(mockDelete).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockDelete).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/api/config-folders.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/api/config-folders.ts","to":"file:/workspace/apps/web/src/api/client.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/api/config-folders.ts","to":"file:/workspace/apps/web/src/types/config-folder.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/api/config-folders.ts","to":"/workspace/apps/web/src/api/config-folders.ts:listConfigFolders","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/config-folders.ts","to":"/workspace/apps/web/src/api/config-folders.ts:listConfigFolders","kind":"defines"},{"from":"/workspace/apps/web/src/api/config-folders.ts:listConfigFolders","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"file:/workspace/apps/web/src/api/config-folders.ts","to":"/workspace/apps/web/src/api/config-folders.ts:getConfigFolder","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/config-folders.ts","to":"/workspace/apps/web/src/api/config-folders.ts:getConfigFolder","kind":"defines"},{"from":"/workspace/apps/web/src/api/config-folders.ts:getConfigFolder","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"file:/workspace/apps/web/src/api/config-folders.ts","to":"/workspace/apps/web/src/api/config-folders.ts:createConfigFolder","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/config-folders.ts","to":"/workspace/apps/web/src/api/config-folders.ts:createConfigFolder","kind":"defines"},{"from":"/workspace/apps/web/src/api/config-folders.ts:createConfigFolder","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"file:/workspace/apps/web/src/api/config-folders.ts","to":"/workspace/apps/web/src/api/config-folders.ts:updateConfigFolder","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/config-folders.ts","to":"/workspace/apps/web/src/api/config-folders.ts:updateConfigFolder","kind":"defines"},{"from":"/workspace/apps/web/src/api/config-folders.ts:updateConfigFolder","to":"external:apiClient.put","kind":"calls","metadata":{"unresolvedName":"apiClient.put"}},{"from":"file:/workspace/apps/web/src/api/config-folders.ts","to":"/workspace/apps/web/src/api/config-folders.ts:deleteConfigFolder","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/config-folders.ts","to":"/workspace/apps/web/src/api/config-folders.ts:deleteConfigFolder","kind":"defines"},{"from":"/workspace/apps/web/src/api/config-folders.ts:deleteConfigFolder","to":"external:apiClient.delete","kind":"calls","metadata":{"unresolvedName":"apiClient.delete"}},{"from":"file:/workspace/apps/web/src/api/config-folders.ts","to":"/workspace/apps/web/src/api/config-folders.ts:addProjectOverride","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/config-folders.ts","to":"/workspace/apps/web/src/api/config-folders.ts:addProjectOverride","kind":"defines"},{"from":"/workspace/apps/web/src/api/config-folders.ts:addProjectOverride","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"file:/workspace/apps/web/src/api/config-folders.ts","to":"/workspace/apps/web/src/api/config-folders.ts:updateProjectOverride","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/config-folders.ts","to":"/workspace/apps/web/src/api/config-folders.ts:updateProjectOverride","kind":"defines"},{"from":"/workspace/apps/web/src/api/config-folders.ts:updateProjectOverride","to":"external:apiClient.put","kind":"calls","metadata":{"unresolvedName":"apiClient.put"}},{"from":"file:/workspace/apps/web/src/api/config-folders.ts","to":"/workspace/apps/web/src/api/config-folders.ts:deleteProjectOverride","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/config-folders.ts","to":"/workspace/apps/web/src/api/config-folders.ts:deleteProjectOverride","kind":"defines"},{"from":"/workspace/apps/web/src/api/config-folders.ts:deleteProjectOverride","to":"external:apiClient.delete","kind":"calls","metadata":{"unresolvedName":"apiClient.delete"}},{"from":"file:/workspace/apps/web/src/api/config_profiles.ts","to":"file:/workspace/apps/web/src/api/client.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/api/config_profiles.ts","to":"/workspace/apps/web/src/api/config_profiles.ts:listConfigProfiles","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/config_profiles.ts","to":"/workspace/apps/web/src/api/config_profiles.ts:listConfigProfiles","kind":"defines"},{"from":"/workspace/apps/web/src/api/config_profiles.ts:listConfigProfiles","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"file:/workspace/apps/web/src/api/config_profiles.ts","to":"/workspace/apps/web/src/api/config_profiles.ts:getConfigProfile","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/config_profiles.ts","to":"/workspace/apps/web/src/api/config_profiles.ts:getConfigProfile","kind":"defines"},{"from":"/workspace/apps/web/src/api/config_profiles.ts:getConfigProfile","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"file:/workspace/apps/web/src/api/config_profiles.ts","to":"/workspace/apps/web/src/api/config_profiles.ts:createConfigProfile","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/config_profiles.ts","to":"/workspace/apps/web/src/api/config_profiles.ts:createConfigProfile","kind":"defines"},{"from":"/workspace/apps/web/src/api/config_profiles.ts:createConfigProfile","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"file:/workspace/apps/web/src/api/config_profiles.ts","to":"/workspace/apps/web/src/api/config_profiles.ts:updateConfigProfile","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/config_profiles.ts","to":"/workspace/apps/web/src/api/config_profiles.ts:updateConfigProfile","kind":"defines"},{"from":"/workspace/apps/web/src/api/config_profiles.ts:updateConfigProfile","to":"external:apiClient.put","kind":"calls","metadata":{"unresolvedName":"apiClient.put"}},{"from":"file:/workspace/apps/web/src/api/config_profiles.ts","to":"/workspace/apps/web/src/api/config_profiles.ts:deleteConfigProfile","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/config_profiles.ts","to":"/workspace/apps/web/src/api/config_profiles.ts:deleteConfigProfile","kind":"defines"},{"from":"/workspace/apps/web/src/api/config_profiles.ts:deleteConfigProfile","to":"external:apiClient.delete","kind":"calls","metadata":{"unresolvedName":"apiClient.delete"}},{"from":"file:/workspace/apps/web/src/api/config_profiles.ts","to":"/workspace/apps/web/src/api/config_profiles.ts:updateProfileIncludes","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/config_profiles.ts","to":"/workspace/apps/web/src/api/config_profiles.ts:updateProfileIncludes","kind":"defines"},{"from":"/workspace/apps/web/src/api/config_profiles.ts:updateProfileIncludes","to":"external:apiClient.put","kind":"calls","metadata":{"unresolvedName":"apiClient.put"}},{"from":"file:/workspace/apps/web/src/api/config_profiles.ts","to":"/workspace/apps/web/src/api/config_profiles.ts:previewConfigProfile","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/config_profiles.ts","to":"/workspace/apps/web/src/api/config_profiles.ts:previewConfigProfile","kind":"defines"},{"from":"/workspace/apps/web/src/api/config_profiles.ts:previewConfigProfile","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"file:/workspace/apps/web/src/api/config_profiles.ts","to":"/workspace/apps/web/src/api/config_profiles.ts:resolveDefaultProfile","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/config_profiles.ts","to":"/workspace/apps/web/src/api/config_profiles.ts:resolveDefaultProfile","kind":"defines"},{"from":"/workspace/apps/web/src/api/config_profiles.ts:resolveDefaultProfile","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"file:/workspace/apps/web/src/api/config_profiles.ts","to":"/workspace/apps/web/src/api/config_profiles.ts:validateGitUrl","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/config_profiles.ts","to":"/workspace/apps/web/src/api/config_profiles.ts:validateGitUrl","kind":"defines"},{"from":"/workspace/apps/web/src/api/config_profiles.ts:validateGitUrl","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"file:/workspace/apps/web/src/api/dashboard.ts","to":"file:/workspace/apps/web/src/api/client.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/api/dashboard.ts","to":"/workspace/apps/web/src/api/dashboard.ts:getDashboardSummary","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/dashboard.ts","to":"/workspace/apps/web/src/api/dashboard.ts:getDashboardSummary","kind":"defines"},{"from":"/workspace/apps/web/src/api/dashboard.ts:getDashboardSummary","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"file:/workspace/apps/web/src/api/events.ts","to":"/workspace/apps/web/src/api/events.ts:createEventSource","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/events.ts","to":"/workspace/apps/web/src/api/events.ts:createEventSource","kind":"defines"},{"from":"file:/workspace/apps/web/src/api/events.ts","to":"/workspace/apps/web/src/api/events.ts:probeEventStreamStatus","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/events.ts","to":"/workspace/apps/web/src/api/events.ts:probeEventStreamStatus","kind":"defines"},{"from":"/workspace/apps/web/src/api/events.ts:probeEventStreamStatus","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/workspace/apps/web/src/api/events.ts:probeEventStreamStatus","to":"external:controller.abort","kind":"calls","metadata":{"unresolvedName":"controller.abort"}},{"from":"/workspace/apps/web/src/api/events.ts:probeEventStreamStatus","to":"symbol-name:fetch","kind":"calls","metadata":{"unresolvedName":"fetch"}},{"from":"/workspace/apps/web/src/api/events.ts:probeEventStreamStatus","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:/workspace/apps/web/src/api/notifications.ts","to":"file:/workspace/apps/web/src/api/client.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/api/notifications.ts","to":"/workspace/apps/web/src/api/notifications.ts:getNotifications","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/notifications.ts","to":"/workspace/apps/web/src/api/notifications.ts:getNotifications","kind":"defines"},{"from":"/workspace/apps/web/src/api/notifications.ts:getNotifications","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"file:/workspace/apps/web/src/api/notifications.ts","to":"/workspace/apps/web/src/api/notifications.ts:getUnreadCount","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/notifications.ts","to":"/workspace/apps/web/src/api/notifications.ts:getUnreadCount","kind":"defines"},{"from":"/workspace/apps/web/src/api/notifications.ts:getUnreadCount","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"file:/workspace/apps/web/src/api/notifications.ts","to":"/workspace/apps/web/src/api/notifications.ts:markNotificationRead","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/notifications.ts","to":"/workspace/apps/web/src/api/notifications.ts:markNotificationRead","kind":"defines"},{"from":"/workspace/apps/web/src/api/notifications.ts:markNotificationRead","to":"external:apiClient.patch","kind":"calls","metadata":{"unresolvedName":"apiClient.patch"}},{"from":"file:/workspace/apps/web/src/api/notifications.ts","to":"/workspace/apps/web/src/api/notifications.ts:markAllNotificationsRead","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/notifications.ts","to":"/workspace/apps/web/src/api/notifications.ts:markAllNotificationsRead","kind":"defines"},{"from":"/workspace/apps/web/src/api/notifications.ts:markAllNotificationsRead","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"file:/workspace/apps/web/src/api/notifications.ts","to":"/workspace/apps/web/src/api/notifications.ts:dismissNotification","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/notifications.ts","to":"/workspace/apps/web/src/api/notifications.ts:dismissNotification","kind":"defines"},{"from":"/workspace/apps/web/src/api/notifications.ts:dismissNotification","to":"external:apiClient.delete","kind":"calls","metadata":{"unresolvedName":"apiClient.delete"}},{"from":"file:/workspace/apps/web/src/api/notifications.ts","to":"/workspace/apps/web/src/api/notifications.ts:clearAllNotifications","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/notifications.ts","to":"/workspace/apps/web/src/api/notifications.ts:clearAllNotifications","kind":"defines"},{"from":"/workspace/apps/web/src/api/notifications.ts:clearAllNotifications","to":"external:apiClient.delete","kind":"calls","metadata":{"unresolvedName":"apiClient.delete"}},{"from":"file:/workspace/apps/web/src/api/profile.ts","to":"file:/workspace/apps/web/src/api/client.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/api/profile.ts","to":"file:/workspace/apps/web/src/types","kind":"imports"},{"from":"file:/workspace/apps/web/src/api/profile.ts","to":"/workspace/apps/web/src/api/profile.ts:getProfile","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/profile.ts","to":"/workspace/apps/web/src/api/profile.ts:getProfile","kind":"defines"},{"from":"/workspace/apps/web/src/api/profile.ts:getProfile","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"file:/workspace/apps/web/src/api/profile.ts","to":"/workspace/apps/web/src/api/profile.ts:updateProfile","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/profile.ts","to":"/workspace/apps/web/src/api/profile.ts:updateProfile","kind":"defines"},{"from":"/workspace/apps/web/src/api/profile.ts:updateProfile","to":"external:apiClient.put","kind":"calls","metadata":{"unresolvedName":"apiClient.put"}},{"from":"file:/workspace/apps/web/src/api/profile.ts","to":"/workspace/apps/web/src/api/profile.ts:uploadAvatar","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/profile.ts","to":"/workspace/apps/web/src/api/profile.ts:uploadAvatar","kind":"defines"},{"from":"/workspace/apps/web/src/api/profile.ts:uploadAvatar","to":"external:formData.append","kind":"calls","metadata":{"unresolvedName":"formData.append"}},{"from":"/workspace/apps/web/src/api/profile.ts:uploadAvatar","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"file:/workspace/apps/web/src/api/projects.ts","to":"file:/workspace/apps/web/src/api/client.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/api/projects.ts","to":"file:/workspace/apps/web/src/types","kind":"imports"},{"from":"file:/workspace/apps/web/src/api/projects.ts","to":"/workspace/apps/web/src/api/projects.ts:listProjects","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/projects.ts","to":"/workspace/apps/web/src/api/projects.ts:listProjects","kind":"defines"},{"from":"/workspace/apps/web/src/api/projects.ts:listProjects","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"file:/workspace/apps/web/src/api/projects.ts","to":"/workspace/apps/web/src/api/projects.ts:createProject","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/projects.ts","to":"/workspace/apps/web/src/api/projects.ts:createProject","kind":"defines"},{"from":"/workspace/apps/web/src/api/projects.ts:createProject","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"file:/workspace/apps/web/src/api/projects.ts","to":"/workspace/apps/web/src/api/projects.ts:updateProject","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/projects.ts","to":"/workspace/apps/web/src/api/projects.ts:updateProject","kind":"defines"},{"from":"/workspace/apps/web/src/api/projects.ts:updateProject","to":"external:apiClient.patch","kind":"calls","metadata":{"unresolvedName":"apiClient.patch"}},{"from":"file:/workspace/apps/web/src/api/projects.ts","to":"/workspace/apps/web/src/api/projects.ts:deleteProject","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/projects.ts","to":"/workspace/apps/web/src/api/projects.ts:deleteProject","kind":"defines"},{"from":"/workspace/apps/web/src/api/projects.ts:deleteProject","to":"external:apiClient.delete","kind":"calls","metadata":{"unresolvedName":"apiClient.delete"}},{"from":"file:/workspace/apps/web/src/api/projects.ts","to":"/workspace/apps/web/src/api/projects.ts:setDefaultSSHKey","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/projects.ts","to":"/workspace/apps/web/src/api/projects.ts:setDefaultSSHKey","kind":"defines"},{"from":"/workspace/apps/web/src/api/projects.ts:setDefaultSSHKey","to":"external:apiClient.patch","kind":"calls","metadata":{"unresolvedName":"apiClient.patch"}},{"from":"file:/workspace/apps/web/src/api/settings.ts","to":"file:/workspace/apps/web/src/api/client.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/api/settings.ts","to":"/workspace/apps/web/src/api/settings.ts:getUserConfig","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/settings.ts","to":"/workspace/apps/web/src/api/settings.ts:getUserConfig","kind":"defines"},{"from":"/workspace/apps/web/src/api/settings.ts:getUserConfig","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"file:/workspace/apps/web/src/api/settings.ts","to":"/workspace/apps/web/src/api/settings.ts:updateUserConfig","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/settings.ts","to":"/workspace/apps/web/src/api/settings.ts:updateUserConfig","kind":"defines"},{"from":"/workspace/apps/web/src/api/settings.ts:updateUserConfig","to":"external:apiClient.patch","kind":"calls","metadata":{"unresolvedName":"apiClient.patch"}},{"from":"file:/workspace/apps/web/src/api/ssh-keys.ts","to":"file:/workspace/apps/web/src/api/client.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/api/ssh-keys.ts","to":"/workspace/apps/web/src/api/ssh-keys.ts:listSSHKeys","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/ssh-keys.ts","to":"/workspace/apps/web/src/api/ssh-keys.ts:listSSHKeys","kind":"defines"},{"from":"/workspace/apps/web/src/api/ssh-keys.ts:listSSHKeys","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"file:/workspace/apps/web/src/api/ssh-keys.ts","to":"/workspace/apps/web/src/api/ssh-keys.ts:createSSHKey","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/ssh-keys.ts","to":"/workspace/apps/web/src/api/ssh-keys.ts:createSSHKey","kind":"defines"},{"from":"/workspace/apps/web/src/api/ssh-keys.ts:createSSHKey","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"file:/workspace/apps/web/src/api/ssh-keys.ts","to":"/workspace/apps/web/src/api/ssh-keys.ts:deleteSSHKey","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/ssh-keys.ts","to":"/workspace/apps/web/src/api/ssh-keys.ts:deleteSSHKey","kind":"defines"},{"from":"/workspace/apps/web/src/api/ssh-keys.ts:deleteSSHKey","to":"external:apiClient.delete","kind":"calls","metadata":{"unresolvedName":"apiClient.delete"}},{"from":"file:/workspace/apps/web/src/api/ssh-keys.ts","to":"/workspace/apps/web/src/api/ssh-keys.ts:signPayload","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/ssh-keys.ts","to":"/workspace/apps/web/src/api/ssh-keys.ts:signPayload","kind":"defines"},{"from":"/workspace/apps/web/src/api/ssh-keys.ts:signPayload","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"file:/workspace/apps/web/src/api/ssh-keys.ts","to":"/workspace/apps/web/src/api/ssh-keys.ts:verifySignature","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/ssh-keys.ts","to":"/workspace/apps/web/src/api/ssh-keys.ts:verifySignature","kind":"defines"},{"from":"/workspace/apps/web/src/api/ssh-keys.ts:verifySignature","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"file:/workspace/apps/web/src/api/terminal.ts","to":"file:/workspace/apps/web/src/api/client.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/api/terminal.ts","to":"/workspace/apps/web/src/api/terminal.ts:listTerminalSessions","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/terminal.ts","to":"/workspace/apps/web/src/api/terminal.ts:listTerminalSessions","kind":"defines"},{"from":"/workspace/apps/web/src/api/terminal.ts:listTerminalSessions","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"file:/workspace/apps/web/src/api/terminal.ts","to":"/workspace/apps/web/src/api/terminal.ts:createTerminalSession","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/terminal.ts","to":"/workspace/apps/web/src/api/terminal.ts:createTerminalSession","kind":"defines"},{"from":"/workspace/apps/web/src/api/terminal.ts:createTerminalSession","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"file:/workspace/apps/web/src/api/terminal.ts","to":"/workspace/apps/web/src/api/terminal.ts:closeTerminalSession","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/terminal.ts","to":"/workspace/apps/web/src/api/terminal.ts:closeTerminalSession","kind":"defines"},{"from":"/workspace/apps/web/src/api/terminal.ts:closeTerminalSession","to":"external:apiClient.delete","kind":"calls","metadata":{"unresolvedName":"apiClient.delete"}},{"from":"file:/workspace/apps/web/src/api/terminal.ts","to":"/workspace/apps/web/src/api/terminal.ts:resetTerminalSession","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/terminal.ts","to":"/workspace/apps/web/src/api/terminal.ts:resetTerminalSession","kind":"defines"},{"from":"/workspace/apps/web/src/api/terminal.ts:resetTerminalSession","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"file:/workspace/apps/web/src/api/terminal.ts","to":"/workspace/apps/web/src/api/terminal.ts:renameTerminalSession","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/terminal.ts","to":"/workspace/apps/web/src/api/terminal.ts:renameTerminalSession","kind":"defines"},{"from":"/workspace/apps/web/src/api/terminal.ts:renameTerminalSession","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"file:/workspace/apps/web/src/api/tool-configs.ts","to":"file:/workspace/apps/web/src/api/client.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/api/tool-configs.ts","to":"file:/workspace/apps/web/src/types/tool-config.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/api/tool-configs.ts","to":"/workspace/apps/web/src/api/tool-configs.ts:listToolConfigs","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/tool-configs.ts","to":"/workspace/apps/web/src/api/tool-configs.ts:listToolConfigs","kind":"defines"},{"from":"/workspace/apps/web/src/api/tool-configs.ts:listToolConfigs","to":"external:params.append","kind":"calls","metadata":{"unresolvedName":"params.append"}},{"from":"/workspace/apps/web/src/api/tool-configs.ts:listToolConfigs","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"/workspace/apps/web/src/api/tool-configs.ts:listToolConfigs","to":"external:params.toString","kind":"calls","metadata":{"unresolvedName":"params.toString"}},{"from":"file:/workspace/apps/web/src/api/tool-configs.ts","to":"/workspace/apps/web/src/api/tool-configs.ts:createToolConfig","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/tool-configs.ts","to":"/workspace/apps/web/src/api/tool-configs.ts:createToolConfig","kind":"defines"},{"from":"/workspace/apps/web/src/api/tool-configs.ts:createToolConfig","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"file:/workspace/apps/web/src/api/tool-configs.ts","to":"/workspace/apps/web/src/api/tool-configs.ts:updateToolConfig","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/tool-configs.ts","to":"/workspace/apps/web/src/api/tool-configs.ts:updateToolConfig","kind":"defines"},{"from":"/workspace/apps/web/src/api/tool-configs.ts:updateToolConfig","to":"external:apiClient.put","kind":"calls","metadata":{"unresolvedName":"apiClient.put"}},{"from":"file:/workspace/apps/web/src/api/tool-configs.ts","to":"/workspace/apps/web/src/api/tool-configs.ts:deleteToolConfig","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/tool-configs.ts","to":"/workspace/apps/web/src/api/tool-configs.ts:deleteToolConfig","kind":"defines"},{"from":"/workspace/apps/web/src/api/tool-configs.ts:deleteToolConfig","to":"external:apiClient.delete","kind":"calls","metadata":{"unresolvedName":"apiClient.delete"}},{"from":"file:/workspace/apps/web/src/api/tool-configs.ts","to":"/workspace/apps/web/src/api/tool-configs.ts:getToolConfigDefaults","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/tool-configs.ts","to":"/workspace/apps/web/src/api/tool-configs.ts:getToolConfigDefaults","kind":"defines"},{"from":"/workspace/apps/web/src/api/tool-configs.ts:getToolConfigDefaults","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"file:/workspace/apps/web/src/api/tool-types.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/workspace/apps/web/src/api/tool-types.test.ts","to":"file:/workspace/apps/web/src/api/tool-types.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/api/tool-types.test.ts","to":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/tool-types.test.ts","to":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"symbol-name:describe","kind":"calls","metadata":{"unresolvedName":"describe"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:mockGet.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGet.mockResolvedValue"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"/workspace/apps/web/src/api/tool-types.ts:listToolTypes","kind":"calls","metadata":{"unresolvedName":"listToolTypes"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(result[0].definition_type).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result[0].definition_type).toBe"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(result[0].dockerfile_template).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result[0].dockerfile_template).toBe"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(result[0].readiness_probe).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result[0].readiness_probe).toEqual"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(result[0].dockerfile_template).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(result[0].dockerfile_template).toBeNull"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:mockPost.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockPost.mockResolvedValue"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"/workspace/apps/web/src/api/tool-types.ts:createToolType","kind":"calls","metadata":{"unresolvedName":"createToolType"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(result.definition_type).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.definition_type).toBe"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(mockPost).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockPost).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(result.readiness_probe).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.readiness_probe).toEqual"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"/workspace/apps/web/src/api/tool-types.ts:validateToolType","kind":"calls","metadata":{"unresolvedName":"validateToolType"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(result.valid).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.valid).toBe"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(mockGet).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockGet).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(result.errors).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.errors).toContain"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:mockPut.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockPut.mockResolvedValue"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"/workspace/apps/web/src/api/tool-types.ts:updateToolType","kind":"calls","metadata":{"unresolvedName":"updateToolType"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(mockPut).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockPut).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:mockDelete.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockDelete.mockResolvedValue"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"/workspace/apps/web/src/api/tool-types.ts:deleteToolType","kind":"calls","metadata":{"unresolvedName":"deleteToolType"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(mockDelete).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockDelete).toHaveBeenCalledWith"}},{"from":"file:/workspace/apps/web/src/api/tool-types.test.ts","to":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/tool-types.test.ts","to":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:mockGet.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGet.mockResolvedValue"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"/workspace/apps/web/src/api/tool-types.ts:listToolTypes","kind":"calls","metadata":{"unresolvedName":"listToolTypes"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(result[0].definition_type).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result[0].definition_type).toBe"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(result[0].dockerfile_template).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result[0].dockerfile_template).toBe"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(result[0].readiness_probe).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result[0].readiness_probe).toEqual"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(result[0].dockerfile_template).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(result[0].dockerfile_template).toBeNull"}},{"from":"file:/workspace/apps/web/src/api/tool-types.test.ts","to":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/tool-types.test.ts","to":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:mockGet.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGet.mockResolvedValue"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"/workspace/apps/web/src/api/tool-types.ts:listToolTypes","kind":"calls","metadata":{"unresolvedName":"listToolTypes"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(result[0].definition_type).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result[0].definition_type).toBe"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(result[0].dockerfile_template).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result[0].dockerfile_template).toBe"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(result[0].readiness_probe).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result[0].readiness_probe).toEqual"}},{"from":"file:/workspace/apps/web/src/api/tool-types.test.ts","to":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/tool-types.test.ts","to":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:mockGet.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGet.mockResolvedValue"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"/workspace/apps/web/src/api/tool-types.ts:listToolTypes","kind":"calls","metadata":{"unresolvedName":"listToolTypes"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(result[0].definition_type).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result[0].definition_type).toBe"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(result[0].dockerfile_template).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(result[0].dockerfile_template).toBeNull"}},{"from":"file:/workspace/apps/web/src/api/tool-types.test.ts","to":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/tool-types.test.ts","to":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:mockPost.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockPost.mockResolvedValue"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"/workspace/apps/web/src/api/tool-types.ts:createToolType","kind":"calls","metadata":{"unresolvedName":"createToolType"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(result.definition_type).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.definition_type).toBe"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(mockPost).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockPost).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(result.readiness_probe).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.readiness_probe).toEqual"}},{"from":"file:/workspace/apps/web/src/api/tool-types.test.ts","to":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/tool-types.test.ts","to":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:mockPost.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockPost.mockResolvedValue"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"/workspace/apps/web/src/api/tool-types.ts:createToolType","kind":"calls","metadata":{"unresolvedName":"createToolType"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(result.definition_type).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.definition_type).toBe"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(mockPost).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockPost).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"file:/workspace/apps/web/src/api/tool-types.test.ts","to":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/tool-types.test.ts","to":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:mockPost.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockPost.mockResolvedValue"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"/workspace/apps/web/src/api/tool-types.ts:createToolType","kind":"calls","metadata":{"unresolvedName":"createToolType"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(result.readiness_probe).toEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.readiness_probe).toEqual"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/api/tool-types.test.ts","to":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/tool-types.test.ts","to":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:mockGet.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGet.mockResolvedValue"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"/workspace/apps/web/src/api/tool-types.ts:validateToolType","kind":"calls","metadata":{"unresolvedName":"validateToolType"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(result.valid).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.valid).toBe"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(mockGet).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockGet).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(result.errors).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.errors).toContain"}},{"from":"file:/workspace/apps/web/src/api/tool-types.test.ts","to":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/tool-types.test.ts","to":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:mockGet.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGet.mockResolvedValue"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"/workspace/apps/web/src/api/tool-types.ts:validateToolType","kind":"calls","metadata":{"unresolvedName":"validateToolType"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(result.valid).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.valid).toBe"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(mockGet).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockGet).toHaveBeenCalledWith"}},{"from":"file:/workspace/apps/web/src/api/tool-types.test.ts","to":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/tool-types.test.ts","to":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:mockGet.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockGet.mockResolvedValue"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"/workspace/apps/web/src/api/tool-types.ts:validateToolType","kind":"calls","metadata":{"unresolvedName":"validateToolType"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(result.valid).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.valid).toBe"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(result.errors).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.errors).toContain"}},{"from":"file:/workspace/apps/web/src/api/tool-types.test.ts","to":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/tool-types.test.ts","to":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:mockPut.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockPut.mockResolvedValue"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"/workspace/apps/web/src/api/tool-types.ts:updateToolType","kind":"calls","metadata":{"unresolvedName":"updateToolType"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(result.definition_type).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.definition_type).toBe"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(mockPut).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockPut).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"file:/workspace/apps/web/src/api/tool-types.test.ts","to":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/tool-types.test.ts","to":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:mockPut.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockPut.mockResolvedValue"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"/workspace/apps/web/src/api/tool-types.ts:updateToolType","kind":"calls","metadata":{"unresolvedName":"updateToolType"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(result.definition_type).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.definition_type).toBe"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(mockPut).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockPut).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"file:/workspace/apps/web/src/api/tool-types.test.ts","to":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/tool-types.test.ts","to":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:mockDelete.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockDelete.mockResolvedValue"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"/workspace/apps/web/src/api/tool-types.ts:deleteToolType","kind":"calls","metadata":{"unresolvedName":"deleteToolType"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(mockDelete).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockDelete).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/api/tool-types.test.ts","to":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/tool-types.test.ts","to":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:mockDelete.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockDelete.mockResolvedValue"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"/workspace/apps/web/src/api/tool-types.ts:deleteToolType","kind":"calls","metadata":{"unresolvedName":"deleteToolType"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"external:expect(mockDelete).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockDelete).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/api/tool-types.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/api/tool-types.ts","to":"file:/workspace/apps/web/src/api/client.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/api/tool-types.ts","to":"file:/workspace/apps/web/src/types/tool-type.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/api/tool-types.ts","to":"/workspace/apps/web/src/api/tool-types.ts:listToolTypes","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/tool-types.ts","to":"/workspace/apps/web/src/api/tool-types.ts:listToolTypes","kind":"defines"},{"from":"/workspace/apps/web/src/api/tool-types.ts:listToolTypes","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"file:/workspace/apps/web/src/api/tool-types.ts","to":"/workspace/apps/web/src/api/tool-types.ts:getToolType","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/tool-types.ts","to":"/workspace/apps/web/src/api/tool-types.ts:getToolType","kind":"defines"},{"from":"/workspace/apps/web/src/api/tool-types.ts:getToolType","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"file:/workspace/apps/web/src/api/tool-types.ts","to":"/workspace/apps/web/src/api/tool-types.ts:createToolType","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/tool-types.ts","to":"/workspace/apps/web/src/api/tool-types.ts:createToolType","kind":"defines"},{"from":"/workspace/apps/web/src/api/tool-types.ts:createToolType","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"file:/workspace/apps/web/src/api/tool-types.ts","to":"/workspace/apps/web/src/api/tool-types.ts:updateToolType","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/tool-types.ts","to":"/workspace/apps/web/src/api/tool-types.ts:updateToolType","kind":"defines"},{"from":"/workspace/apps/web/src/api/tool-types.ts:updateToolType","to":"external:apiClient.put","kind":"calls","metadata":{"unresolvedName":"apiClient.put"}},{"from":"file:/workspace/apps/web/src/api/tool-types.ts","to":"/workspace/apps/web/src/api/tool-types.ts:deleteToolType","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/tool-types.ts","to":"/workspace/apps/web/src/api/tool-types.ts:deleteToolType","kind":"defines"},{"from":"/workspace/apps/web/src/api/tool-types.ts:deleteToolType","to":"external:apiClient.delete","kind":"calls","metadata":{"unresolvedName":"apiClient.delete"}},{"from":"file:/workspace/apps/web/src/api/tool-types.ts","to":"/workspace/apps/web/src/api/tool-types.ts:validateToolType","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/tool-types.ts","to":"/workspace/apps/web/src/api/tool-types.ts:validateToolType","kind":"defines"},{"from":"/workspace/apps/web/src/api/tool-types.ts:validateToolType","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"file:/workspace/apps/web/src/api/tool_definitions.ts","to":"file:/workspace/apps/web/src/api/client.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/api/tool_definitions.ts","to":"/workspace/apps/web/src/api/tool_definitions.ts:listToolDefinitions","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/tool_definitions.ts","to":"/workspace/apps/web/src/api/tool_definitions.ts:listToolDefinitions","kind":"defines"},{"from":"/workspace/apps/web/src/api/tool_definitions.ts:listToolDefinitions","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"file:/workspace/apps/web/src/api/tool_definitions.ts","to":"/workspace/apps/web/src/api/tool_definitions.ts:getToolDefinition","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/tool_definitions.ts","to":"/workspace/apps/web/src/api/tool_definitions.ts:getToolDefinition","kind":"defines"},{"from":"/workspace/apps/web/src/api/tool_definitions.ts:getToolDefinition","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"file:/workspace/apps/web/src/api/tool_definitions.ts","to":"/workspace/apps/web/src/api/tool_definitions.ts:createToolDefinition","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/tool_definitions.ts","to":"/workspace/apps/web/src/api/tool_definitions.ts:createToolDefinition","kind":"defines"},{"from":"/workspace/apps/web/src/api/tool_definitions.ts:createToolDefinition","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"file:/workspace/apps/web/src/api/tool_definitions.ts","to":"/workspace/apps/web/src/api/tool_definitions.ts:updateToolDefinition","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/tool_definitions.ts","to":"/workspace/apps/web/src/api/tool_definitions.ts:updateToolDefinition","kind":"defines"},{"from":"/workspace/apps/web/src/api/tool_definitions.ts:updateToolDefinition","to":"external:apiClient.put","kind":"calls","metadata":{"unresolvedName":"apiClient.put"}},{"from":"file:/workspace/apps/web/src/api/tool_definitions.ts","to":"/workspace/apps/web/src/api/tool_definitions.ts:deleteToolDefinition","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/tool_definitions.ts","to":"/workspace/apps/web/src/api/tool_definitions.ts:deleteToolDefinition","kind":"defines"},{"from":"/workspace/apps/web/src/api/tool_definitions.ts:deleteToolDefinition","to":"external:apiClient.delete","kind":"calls","metadata":{"unresolvedName":"apiClient.delete"}},{"from":"file:/workspace/apps/web/src/api/tool_definitions.ts","to":"/workspace/apps/web/src/api/tool_definitions.ts:compileToolDefinition","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/tool_definitions.ts","to":"/workspace/apps/web/src/api/tool_definitions.ts:compileToolDefinition","kind":"defines"},{"from":"/workspace/apps/web/src/api/tool_definitions.ts:compileToolDefinition","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"file:/workspace/apps/web/src/api/workspace-files.ts","to":"file:/workspace/apps/web/src/api/client.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/api/workspace-files.ts","to":"/workspace/apps/web/src/api/workspace-files.ts:listWorkspaceFiles","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/workspace-files.ts","to":"/workspace/apps/web/src/api/workspace-files.ts:listWorkspaceFiles","kind":"defines"},{"from":"/workspace/apps/web/src/api/workspace-files.ts:listWorkspaceFiles","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"file:/workspace/apps/web/src/api/workspace-files.ts","to":"/workspace/apps/web/src/api/workspace-files.ts:getWorkspaceFileContent","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/workspace-files.ts","to":"/workspace/apps/web/src/api/workspace-files.ts:getWorkspaceFileContent","kind":"defines"},{"from":"/workspace/apps/web/src/api/workspace-files.ts:getWorkspaceFileContent","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"file:/workspace/apps/web/src/api/workspace-files.ts","to":"/workspace/apps/web/src/api/workspace-files.ts:saveWorkspaceFile","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/workspace-files.ts","to":"/workspace/apps/web/src/api/workspace-files.ts:saveWorkspaceFile","kind":"defines"},{"from":"/workspace/apps/web/src/api/workspace-files.ts:saveWorkspaceFile","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"file:/workspace/apps/web/src/api/workspace-git.ts","to":"file:/workspace/apps/web/src/api/client.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/api/workspace-git.ts","to":"/workspace/apps/web/src/api/workspace-git.ts:getGitStatus","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/workspace-git.ts","to":"/workspace/apps/web/src/api/workspace-git.ts:getGitStatus","kind":"defines"},{"from":"/workspace/apps/web/src/api/workspace-git.ts:getGitStatus","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"file:/workspace/apps/web/src/api/workspace-git.ts","to":"/workspace/apps/web/src/api/workspace-git.ts:getGitBranches","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/workspace-git.ts","to":"/workspace/apps/web/src/api/workspace-git.ts:getGitBranches","kind":"defines"},{"from":"/workspace/apps/web/src/api/workspace-git.ts:getGitBranches","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"file:/workspace/apps/web/src/api/workspace-git.ts","to":"/workspace/apps/web/src/api/workspace-git.ts:gitCommit","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/workspace-git.ts","to":"/workspace/apps/web/src/api/workspace-git.ts:gitCommit","kind":"defines"},{"from":"/workspace/apps/web/src/api/workspace-git.ts:gitCommit","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"file:/workspace/apps/web/src/api/workspace-git.ts","to":"/workspace/apps/web/src/api/workspace-git.ts:gitPush","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/workspace-git.ts","to":"/workspace/apps/web/src/api/workspace-git.ts:gitPush","kind":"defines"},{"from":"/workspace/apps/web/src/api/workspace-git.ts:gitPush","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"file:/workspace/apps/web/src/api/workspace-git.ts","to":"/workspace/apps/web/src/api/workspace-git.ts:gitPull","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/workspace-git.ts","to":"/workspace/apps/web/src/api/workspace-git.ts:gitPull","kind":"defines"},{"from":"/workspace/apps/web/src/api/workspace-git.ts:gitPull","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"file:/workspace/apps/web/src/api/workspace-git.ts","to":"/workspace/apps/web/src/api/workspace-git.ts:gitFetch","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/workspace-git.ts","to":"/workspace/apps/web/src/api/workspace-git.ts:gitFetch","kind":"defines"},{"from":"/workspace/apps/web/src/api/workspace-git.ts:gitFetch","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"file:/workspace/apps/web/src/api/workspace-git.ts","to":"/workspace/apps/web/src/api/workspace-git.ts:gitCheckout","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/workspace-git.ts","to":"/workspace/apps/web/src/api/workspace-git.ts:gitCheckout","kind":"defines"},{"from":"/workspace/apps/web/src/api/workspace-git.ts:gitCheckout","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"file:/workspace/apps/web/src/api/workspace-git.ts","to":"/workspace/apps/web/src/api/workspace-git.ts:getGitHistory","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/workspace-git.ts","to":"/workspace/apps/web/src/api/workspace-git.ts:getGitHistory","kind":"defines"},{"from":"/workspace/apps/web/src/api/workspace-git.ts:getGitHistory","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"file:/workspace/apps/web/src/api/workspace-instances.ts","to":"file:/workspace/apps/web/src/api/client.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/api/workspace-instances.ts","to":"file:/workspace/apps/web/src/api/sessions.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/api/workspace-instances.ts","to":"/workspace/apps/web/src/api/workspace-instances.ts:listWorkspaceInstances","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/workspace-instances.ts","to":"/workspace/apps/web/src/api/workspace-instances.ts:listWorkspaceInstances","kind":"defines"},{"from":"/workspace/apps/web/src/api/workspace-instances.ts:listWorkspaceInstances","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"file:/workspace/apps/web/src/api/workspace-instances.ts","to":"/workspace/apps/web/src/api/workspace-instances.ts:createWorkspaceInstance","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/workspace-instances.ts","to":"/workspace/apps/web/src/api/workspace-instances.ts:createWorkspaceInstance","kind":"defines"},{"from":"/workspace/apps/web/src/api/workspace-instances.ts:createWorkspaceInstance","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"file:/workspace/apps/web/src/api/workspaces.ts","to":"file:/workspace/apps/web/src/api/client.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/api/workspaces.ts","to":"file:/workspace/apps/web/src/types/workspace.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/api/workspaces.ts","to":"/workspace/apps/web/src/api/workspaces.ts:workspaceUrl","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/workspaces.ts","to":"/workspace/apps/web/src/api/workspaces.ts:workspaceUrl","kind":"defines"},{"from":"file:/workspace/apps/web/src/api/workspaces.ts","to":"/workspace/apps/web/src/api/workspaces.ts:listWorkspaces","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/workspaces.ts","to":"/workspace/apps/web/src/api/workspaces.ts:listWorkspaces","kind":"defines"},{"from":"/workspace/apps/web/src/api/workspaces.ts:listWorkspaces","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"/workspace/apps/web/src/api/workspaces.ts:listWorkspaces","to":"/workspace/apps/web/src/api/workspaces.ts:workspaceUrl","kind":"calls","metadata":{"unresolvedName":"workspaceUrl"}},{"from":"file:/workspace/apps/web/src/api/workspaces.ts","to":"/workspace/apps/web/src/api/workspaces.ts:listAllWorkspaces","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/workspaces.ts","to":"/workspace/apps/web/src/api/workspaces.ts:listAllWorkspaces","kind":"defines"},{"from":"/workspace/apps/web/src/api/workspaces.ts:listAllWorkspaces","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"file:/workspace/apps/web/src/api/workspaces.ts","to":"/workspace/apps/web/src/api/workspaces.ts:createWorkspace","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/workspaces.ts","to":"/workspace/apps/web/src/api/workspaces.ts:createWorkspace","kind":"defines"},{"from":"/workspace/apps/web/src/api/workspaces.ts:createWorkspace","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"/workspace/apps/web/src/api/workspaces.ts:createWorkspace","to":"/workspace/apps/web/src/api/workspaces.ts:workspaceUrl","kind":"calls","metadata":{"unresolvedName":"workspaceUrl"}},{"from":"file:/workspace/apps/web/src/api/workspaces.ts","to":"/workspace/apps/web/src/api/workspaces.ts:createWorkspaceTopLevel","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/workspaces.ts","to":"/workspace/apps/web/src/api/workspaces.ts:createWorkspaceTopLevel","kind":"defines"},{"from":"/workspace/apps/web/src/api/workspaces.ts:createWorkspaceTopLevel","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"file:/workspace/apps/web/src/api/workspaces.ts","to":"/workspace/apps/web/src/api/workspaces.ts:getWorkspace","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/workspaces.ts","to":"/workspace/apps/web/src/api/workspaces.ts:getWorkspace","kind":"defines"},{"from":"/workspace/apps/web/src/api/workspaces.ts:getWorkspace","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"/workspace/apps/web/src/api/workspaces.ts:getWorkspace","to":"/workspace/apps/web/src/api/workspaces.ts:workspaceUrl","kind":"calls","metadata":{"unresolvedName":"workspaceUrl"}},{"from":"file:/workspace/apps/web/src/api/workspaces.ts","to":"/workspace/apps/web/src/api/workspaces.ts:updateWorkspace","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/workspaces.ts","to":"/workspace/apps/web/src/api/workspaces.ts:updateWorkspace","kind":"defines"},{"from":"/workspace/apps/web/src/api/workspaces.ts:updateWorkspace","to":"external:apiClient.patch","kind":"calls","metadata":{"unresolvedName":"apiClient.patch"}},{"from":"/workspace/apps/web/src/api/workspaces.ts:updateWorkspace","to":"/workspace/apps/web/src/api/workspaces.ts:workspaceUrl","kind":"calls","metadata":{"unresolvedName":"workspaceUrl"}},{"from":"file:/workspace/apps/web/src/api/workspaces.ts","to":"/workspace/apps/web/src/api/workspaces.ts:deleteWorkspace","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/workspaces.ts","to":"/workspace/apps/web/src/api/workspaces.ts:deleteWorkspace","kind":"defines"},{"from":"/workspace/apps/web/src/api/workspaces.ts:deleteWorkspace","to":"external:apiClient.delete","kind":"calls","metadata":{"unresolvedName":"apiClient.delete"}},{"from":"file:/workspace/apps/web/src/api/workspaces.ts","to":"/workspace/apps/web/src/api/workspaces.ts:syncWorkspace","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/workspaces.ts","to":"/workspace/apps/web/src/api/workspaces.ts:syncWorkspace","kind":"defines"},{"from":"/workspace/apps/web/src/api/workspaces.ts:syncWorkspace","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"/workspace/apps/web/src/api/workspaces.ts:syncWorkspace","to":"/workspace/apps/web/src/api/workspaces.ts:workspaceUrl","kind":"calls","metadata":{"unresolvedName":"workspaceUrl"}},{"from":"file:/workspace/apps/web/src/components/ProtectedRoute.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/ProtectedRoute.test.tsx","to":"external:react-router-dom","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/ProtectedRoute.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/ProtectedRoute.test.tsx","to":"file:/workspace/apps/web/src/components/ProtectedRoute.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/ProtectedRoute.test.tsx","to":"/workspace/apps/web/src/components/ProtectedRoute.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/ProtectedRoute.test.tsx","to":"/workspace/apps/web/src/components/ProtectedRoute.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/ProtectedRoute.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/workspace/apps/web/src/components/ProtectedRoute.test.tsx:<anonymous>","to":"external:mockUseAuth.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"mockUseAuth.mockReturnValue"}},{"from":"/workspace/apps/web/src/components/ProtectedRoute.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/ProtectedRoute.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Checking session...\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Checking session...\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/ProtectedRoute.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/ProtectedRoute.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/components/ProtectedRoute.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"login page\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"login page\")).toBeInTheDocument"}},{"from":"file:/workspace/apps/web/src/components/ProtectedRoute.test.tsx","to":"/workspace/apps/web/src/components/ProtectedRoute.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/ProtectedRoute.test.tsx","to":"/workspace/apps/web/src/components/ProtectedRoute.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/ProtectedRoute.test.tsx:<anonymous>","to":"external:mockUseAuth.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"mockUseAuth.mockReturnValue"}},{"from":"/workspace/apps/web/src/components/ProtectedRoute.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/ProtectedRoute.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Checking session...\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Checking session...\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/ProtectedRoute.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/ProtectedRoute.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/components/ProtectedRoute.test.tsx","to":"/workspace/apps/web/src/components/ProtectedRoute.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/ProtectedRoute.test.tsx","to":"/workspace/apps/web/src/components/ProtectedRoute.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/ProtectedRoute.test.tsx:<anonymous>","to":"external:mockUseAuth.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"mockUseAuth.mockReturnValue"}},{"from":"/workspace/apps/web/src/components/ProtectedRoute.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/ProtectedRoute.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"login page\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"login page\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/ProtectedRoute.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/ProtectedRoute.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/components/ProtectedRoute.tsx","to":"external:react-router-dom","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/ProtectedRoute.tsx","to":"file:/workspace/apps/web/src/state/auth.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/ProtectedRoute.tsx","to":"/workspace/apps/web/src/components/ProtectedRoute.tsx:ProtectedRoute","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/ProtectedRoute.tsx","to":"/workspace/apps/web/src/components/ProtectedRoute.tsx:ProtectedRoute","kind":"defines"},{"from":"/workspace/apps/web/src/components/ProtectedRoute.tsx:ProtectedRoute","to":"/workspace/apps/web/src/state/auth.tsx:useAuth","kind":"calls","metadata":{"unresolvedName":"useAuth"}},{"from":"/workspace/apps/web/src/components/ProtectedRoute.tsx:ProtectedRoute","to":"symbol-name:useLocation","kind":"calls","metadata":{"unresolvedName":"useLocation"}},{"from":"/workspace/apps/web/src/components/ProtectedRoute.tsx:ProtectedRoute","to":"symbol-name:encodeURIComponent","kind":"calls","metadata":{"unresolvedName":"encodeURIComponent"}},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"external:@/components/ui/Icon","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"file:/workspace/apps/web/src/api/sessions.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"file:/workspace/apps/web/src/types","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"external:@/api/git-repositories","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"external:@/api/tool-types","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"external:@/api/ssh-keys","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"file:/workspace/apps/web/src/api/config_profiles.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","kind":"defines"},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"/workspace/apps/web/src/api/ssh-keys.ts:listSSHKeys","kind":"calls","metadata":{"unresolvedName":"listSSHKeys"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"symbol-name:setSshKeys","kind":"calls","metadata":{"unresolvedName":"setSshKeys"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"symbol-name:loadKeys","kind":"calls","metadata":{"unresolvedName":"loadKeys"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"symbol-name:setConfigProfiles","kind":"calls","metadata":{"unresolvedName":"setConfigProfiles"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"symbol-name:setSelectedConfigProfile","kind":"calls","metadata":{"unresolvedName":"setSelectedConfigProfile"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"/workspace/apps/web/src/api/config_profiles.ts:listConfigProfiles","kind":"calls","metadata":{"unresolvedName":"listConfigProfiles"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"external:profiles.find","kind":"calls","metadata":{"unresolvedName":"profiles.find"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"/workspace/apps/web/src/components/create-session-form.tsx:loadProfiles","kind":"calls","metadata":{"unresolvedName":"loadProfiles"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"symbol-name:setBranches","kind":"calls","metadata":{"unresolvedName":"setBranches"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"symbol-name:setIsLoadingBranches","kind":"calls","metadata":{"unresolvedName":"setIsLoadingBranches"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"/workspace/apps/web/src/api/git-repositories.ts:listRepositoryBranches","kind":"calls","metadata":{"unresolvedName":"listRepositoryBranches"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"symbol-name:setBranch","kind":"calls","metadata":{"unresolvedName":"setBranch"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"symbol-name:setBaseBranch","kind":"calls","metadata":{"unresolvedName":"setBaseBranch"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"/workspace/apps/web/src/components/create-session-form.tsx:loadBranches","kind":"calls","metadata":{"unresolvedName":"loadBranches"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"external:repositories.filter","kind":"calls","metadata":{"unresolvedName":"repositories.filter"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"external:event.preventDefault","kind":"calls","metadata":{"unresolvedName":"event.preventDefault"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"external:repositories.find","kind":"calls","metadata":{"unresolvedName":"repositories.find"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"symbol-name:setProgress","kind":"calls","metadata":{"unresolvedName":"setProgress"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"symbol-name:setSelectedProject","kind":"calls","metadata":{"unresolvedName":"setSelectedProject"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"symbol-name:setSelectedRepo","kind":"calls","metadata":{"unresolvedName":"setSelectedRepo"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"symbol-name:setSelectedToolType","kind":"calls","metadata":{"unresolvedName":"setSelectedToolType"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"symbol-name:setDisplayName","kind":"calls","metadata":{"unresolvedName":"setDisplayName"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"symbol-name:setCloneMode","kind":"calls","metadata":{"unresolvedName":"setCloneMode"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"symbol-name:setIsCreatingNewBranch","kind":"calls","metadata":{"unresolvedName":"setIsCreatingNewBranch"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"symbol-name:setNewBranchName","kind":"calls","metadata":{"unresolvedName":"setNewBranchName"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"symbol-name:setSelectedSshKeyIds","kind":"calls","metadata":{"unresolvedName":"setSelectedSshKeyIds"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"symbol-name:onSuccess","kind":"calls","metadata":{"unresolvedName":"onSuccess"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"/workspace/apps/web/src/components/create-session-form.tsx:renderStep","kind":"calls","metadata":{"unresolvedName":"renderStep"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"external:projects.find","kind":"calls","metadata":{"unresolvedName":"projects.find"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"symbol-name:onProjectChange","kind":"calls","metadata":{"unresolvedName":"onProjectChange"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"external:projects.map","kind":"calls","metadata":{"unresolvedName":"projects.map"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"external:availableRepos.map","kind":"calls","metadata":{"unresolvedName":"availableRepos.map"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"external:toolTypes.map","kind":"calls","metadata":{"unresolvedName":"toolTypes.map"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"external:configProfiles.map","kind":"calls","metadata":{"unresolvedName":"configProfiles.map"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"external:sshKeys.map","kind":"calls","metadata":{"unresolvedName":"sshKeys.map"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"external:selectedSshKeyIds.includes","kind":"calls","metadata":{"unresolvedName":"selectedSshKeyIds.includes"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"external:branches.map","kind":"calls","metadata":{"unresolvedName":"branches.map"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"external:sshKeys.find","kind":"calls","metadata":{"unresolvedName":"sshKeys.find"}},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","to":"/workspace/apps/web/src/api/ssh-keys.ts:listSSHKeys","kind":"calls","metadata":{"unresolvedName":"listSSHKeys"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","to":"symbol-name:setSshKeys","kind":"calls","metadata":{"unresolvedName":"setSshKeys"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","to":"symbol-name:loadKeys","kind":"calls","metadata":{"unresolvedName":"loadKeys"}},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"/workspace/apps/web/src/components/create-session-form.tsx:loadKeys","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"/workspace/apps/web/src/components/create-session-form.tsx:loadKeys","kind":"defines"},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:loadKeys","to":"/workspace/apps/web/src/api/ssh-keys.ts:listSSHKeys","kind":"calls","metadata":{"unresolvedName":"listSSHKeys"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:loadKeys","to":"symbol-name:setSshKeys","kind":"calls","metadata":{"unresolvedName":"setSshKeys"}},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","to":"symbol-name:setConfigProfiles","kind":"calls","metadata":{"unresolvedName":"setConfigProfiles"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","to":"symbol-name:setSelectedConfigProfile","kind":"calls","metadata":{"unresolvedName":"setSelectedConfigProfile"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","to":"/workspace/apps/web/src/api/config_profiles.ts:listConfigProfiles","kind":"calls","metadata":{"unresolvedName":"listConfigProfiles"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","to":"external:profiles.find","kind":"calls","metadata":{"unresolvedName":"profiles.find"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","to":"/workspace/apps/web/src/components/create-session-form.tsx:loadProfiles","kind":"calls","metadata":{"unresolvedName":"loadProfiles"}},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"/workspace/apps/web/src/components/create-session-form.tsx:loadProfiles","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"/workspace/apps/web/src/components/create-session-form.tsx:loadProfiles","kind":"defines"},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:loadProfiles","to":"/workspace/apps/web/src/api/config_profiles.ts:listConfigProfiles","kind":"calls","metadata":{"unresolvedName":"listConfigProfiles"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:loadProfiles","to":"symbol-name:setConfigProfiles","kind":"calls","metadata":{"unresolvedName":"setConfigProfiles"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:loadProfiles","to":"external:profiles.find","kind":"calls","metadata":{"unresolvedName":"profiles.find"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:loadProfiles","to":"symbol-name:setSelectedConfigProfile","kind":"calls","metadata":{"unresolvedName":"setSelectedConfigProfile"}},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","to":"symbol-name:setBranches","kind":"calls","metadata":{"unresolvedName":"setBranches"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","to":"symbol-name:setIsLoadingBranches","kind":"calls","metadata":{"unresolvedName":"setIsLoadingBranches"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","to":"/workspace/apps/web/src/api/git-repositories.ts:listRepositoryBranches","kind":"calls","metadata":{"unresolvedName":"listRepositoryBranches"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","to":"symbol-name:setBranch","kind":"calls","metadata":{"unresolvedName":"setBranch"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","to":"symbol-name:setBaseBranch","kind":"calls","metadata":{"unresolvedName":"setBaseBranch"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","to":"/workspace/apps/web/src/components/create-session-form.tsx:loadBranches","kind":"calls","metadata":{"unresolvedName":"loadBranches"}},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"/workspace/apps/web/src/components/create-session-form.tsx:loadBranches","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"/workspace/apps/web/src/components/create-session-form.tsx:loadBranches","kind":"defines"},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:loadBranches","to":"symbol-name:setIsLoadingBranches","kind":"calls","metadata":{"unresolvedName":"setIsLoadingBranches"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:loadBranches","to":"/workspace/apps/web/src/api/git-repositories.ts:listRepositoryBranches","kind":"calls","metadata":{"unresolvedName":"listRepositoryBranches"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:loadBranches","to":"symbol-name:setBranches","kind":"calls","metadata":{"unresolvedName":"setBranches"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:loadBranches","to":"symbol-name:setBranch","kind":"calls","metadata":{"unresolvedName":"setBranch"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:loadBranches","to":"symbol-name:setBaseBranch","kind":"calls","metadata":{"unresolvedName":"setBaseBranch"}},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"/workspace/apps/web/src/components/create-session-form.tsx:handleSubmit","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"/workspace/apps/web/src/components/create-session-form.tsx:handleSubmit","kind":"defines"},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:handleSubmit","to":"external:event.preventDefault","kind":"calls","metadata":{"unresolvedName":"event.preventDefault"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:handleSubmit","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:handleSubmit","to":"external:repositories.find","kind":"calls","metadata":{"unresolvedName":"repositories.find"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:handleSubmit","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:handleSubmit","to":"symbol-name:setProgress","kind":"calls","metadata":{"unresolvedName":"setProgress"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:handleSubmit","to":"symbol-name:setSelectedProject","kind":"calls","metadata":{"unresolvedName":"setSelectedProject"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:handleSubmit","to":"symbol-name:setSelectedRepo","kind":"calls","metadata":{"unresolvedName":"setSelectedRepo"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:handleSubmit","to":"symbol-name:setSelectedToolType","kind":"calls","metadata":{"unresolvedName":"setSelectedToolType"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:handleSubmit","to":"symbol-name:setDisplayName","kind":"calls","metadata":{"unresolvedName":"setDisplayName"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:handleSubmit","to":"symbol-name:setCloneMode","kind":"calls","metadata":{"unresolvedName":"setCloneMode"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:handleSubmit","to":"symbol-name:setBranch","kind":"calls","metadata":{"unresolvedName":"setBranch"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:handleSubmit","to":"symbol-name:setIsCreatingNewBranch","kind":"calls","metadata":{"unresolvedName":"setIsCreatingNewBranch"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:handleSubmit","to":"symbol-name:setNewBranchName","kind":"calls","metadata":{"unresolvedName":"setNewBranchName"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:handleSubmit","to":"symbol-name:setBaseBranch","kind":"calls","metadata":{"unresolvedName":"setBaseBranch"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:handleSubmit","to":"symbol-name:setBranches","kind":"calls","metadata":{"unresolvedName":"setBranches"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:handleSubmit","to":"symbol-name:setSelectedSshKeyIds","kind":"calls","metadata":{"unresolvedName":"setSelectedSshKeyIds"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:handleSubmit","to":"symbol-name:onSuccess","kind":"calls","metadata":{"unresolvedName":"onSuccess"}},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"/workspace/apps/web/src/components/create-session-form.tsx:renderStep","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"/workspace/apps/web/src/components/create-session-form.tsx:renderStep","kind":"defines"},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","to":"symbol-name:setSelectedProject","kind":"calls","metadata":{"unresolvedName":"setSelectedProject"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","to":"symbol-name:setSelectedRepo","kind":"calls","metadata":{"unresolvedName":"setSelectedRepo"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","to":"symbol-name:setSelectedToolType","kind":"calls","metadata":{"unresolvedName":"setSelectedToolType"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","to":"symbol-name:setCloneMode","kind":"calls","metadata":{"unresolvedName":"setCloneMode"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","to":"symbol-name:setIsCreatingNewBranch","kind":"calls","metadata":{"unresolvedName":"setIsCreatingNewBranch"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","to":"symbol-name:onProjectChange","kind":"calls","metadata":{"unresolvedName":"onProjectChange"}},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","to":"symbol-name:setSelectedRepo","kind":"calls","metadata":{"unresolvedName":"setSelectedRepo"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","to":"symbol-name:setSelectedToolType","kind":"calls","metadata":{"unresolvedName":"setSelectedToolType"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","to":"symbol-name:setCloneMode","kind":"calls","metadata":{"unresolvedName":"setCloneMode"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","to":"symbol-name:setIsCreatingNewBranch","kind":"calls","metadata":{"unresolvedName":"setIsCreatingNewBranch"}},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","to":"symbol-name:setSelectedToolType","kind":"calls","metadata":{"unresolvedName":"setSelectedToolType"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","to":"symbol-name:setCloneMode","kind":"calls","metadata":{"unresolvedName":"setCloneMode"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","to":"symbol-name:setIsCreatingNewBranch","kind":"calls","metadata":{"unresolvedName":"setIsCreatingNewBranch"}},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","to":"symbol-name:setSelectedSshKeyIds","kind":"calls","metadata":{"unresolvedName":"setSelectedSshKeyIds"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","to":"symbol-name:setCloneMode","kind":"calls","metadata":{"unresolvedName":"setCloneMode"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","to":"symbol-name:setIsCreatingNewBranch","kind":"calls","metadata":{"unresolvedName":"setIsCreatingNewBranch"}},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","to":"symbol-name:setCloneMode","kind":"calls","metadata":{"unresolvedName":"setCloneMode"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","to":"symbol-name:setIsCreatingNewBranch","kind":"calls","metadata":{"unresolvedName":"setIsCreatingNewBranch"}},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","to":"symbol-name:setIsCreatingNewBranch","kind":"calls","metadata":{"unresolvedName":"setIsCreatingNewBranch"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","to":"symbol-name:setNewBranchName","kind":"calls","metadata":{"unresolvedName":"setNewBranchName"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","to":"symbol-name:setBranch","kind":"calls","metadata":{"unresolvedName":"setBranch"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","to":"symbol-name:setBaseBranch","kind":"calls","metadata":{"unresolvedName":"setBaseBranch"}},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/create-session-form.tsx","to":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","to":"external:repositories.find","kind":"calls","metadata":{"unresolvedName":"repositories.find"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:<anonymous>","to":"external:sshKeys.find","kind":"calls","metadata":{"unresolvedName":"sshKeys.find"}},{"from":"file:/workspace/apps/web/src/components/data-states.tsx","to":"external:@/components/ui/Icon","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"file:/workspace/apps/web/src/components/event-toast-bridge.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"file:/workspace/apps/web/src/state/events.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"file:/workspace/apps/web/src/api/settings.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"file:/workspace/apps/web/src/components/toast-rules.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"file:/workspace/apps/web/src/types/events.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"symbol-name:importOriginal","kind":"calls","metadata":{"unresolvedName":"importOriginal"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:makeEvent","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:makeEvent","kind":"defines"},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:flushPromises","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:flushPromises","kind":"defines"},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:flushPromises","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:flushPromises","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"external:Promise.resolve","kind":"calls","metadata":{"unresolvedName":"Promise.resolve"}},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"external:vi.clearAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.clearAllMocks"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"external:mockedUseEventContext.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"mockedUseEventContext.mockReturnValue"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"external:mockedGetUserConfig.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedGetUserConfig.mockResolvedValue"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"symbol-name:afterEach","kind":"calls","metadata":{"unresolvedName":"afterEach"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"symbol-name:makeEvent","kind":"calls","metadata":{"unresolvedName":"makeEvent"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:flushPromises","kind":"calls","metadata":{"unresolvedName":"flushPromises"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"external:expect(mockedHandleEventToast).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockedHandleEventToast).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"external:expect(mockedHandleEventToast).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(mockedHandleEventToast).not.toHaveBeenCalled"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"external:expect(mockedHandleEventToast).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(mockedHandleEventToast).toHaveBeenCalledTimes"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"external:window.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"window.dispatchEvent"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"symbol-name:rerender","kind":"calls","metadata":{"unresolvedName":"rerender"}},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"external:vi.clearAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.clearAllMocks"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"external:mockedUseEventContext.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"mockedUseEventContext.mockReturnValue"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"external:mockedGetUserConfig.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedGetUserConfig.mockResolvedValue"}},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"symbol-name:makeEvent","kind":"calls","metadata":{"unresolvedName":"makeEvent"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"external:mockedUseEventContext.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"mockedUseEventContext.mockReturnValue"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:flushPromises","kind":"calls","metadata":{"unresolvedName":"flushPromises"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"external:expect(mockedHandleEventToast).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockedHandleEventToast).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"external:mockedGetUserConfig.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedGetUserConfig.mockResolvedValue"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"symbol-name:makeEvent","kind":"calls","metadata":{"unresolvedName":"makeEvent"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"external:mockedUseEventContext.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"mockedUseEventContext.mockReturnValue"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:flushPromises","kind":"calls","metadata":{"unresolvedName":"flushPromises"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"external:expect(mockedHandleEventToast).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(mockedHandleEventToast).not.toHaveBeenCalled"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"external:mockedGetUserConfig.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedGetUserConfig.mockResolvedValue"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"symbol-name:makeEvent","kind":"calls","metadata":{"unresolvedName":"makeEvent"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"external:mockedUseEventContext.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"mockedUseEventContext.mockReturnValue"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:flushPromises","kind":"calls","metadata":{"unresolvedName":"flushPromises"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"external:expect(mockedHandleEventToast).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(mockedHandleEventToast).not.toHaveBeenCalled"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"external:mockedGetUserConfig.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedGetUserConfig.mockResolvedValue"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"symbol-name:makeEvent","kind":"calls","metadata":{"unresolvedName":"makeEvent"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"external:mockedUseEventContext.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"mockedUseEventContext.mockReturnValue"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:flushPromises","kind":"calls","metadata":{"unresolvedName":"flushPromises"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"external:expect(mockedHandleEventToast).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockedHandleEventToast).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"external:mockedGetUserConfig.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedGetUserConfig.mockResolvedValue"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"symbol-name:makeEvent","kind":"calls","metadata":{"unresolvedName":"makeEvent"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"external:mockedUseEventContext.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"mockedUseEventContext.mockReturnValue"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:flushPromises","kind":"calls","metadata":{"unresolvedName":"flushPromises"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"external:expect(mockedHandleEventToast).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(mockedHandleEventToast).not.toHaveBeenCalled"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"symbol-name:makeEvent","kind":"calls","metadata":{"unresolvedName":"makeEvent"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"external:mockedUseEventContext.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"mockedUseEventContext.mockReturnValue"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:flushPromises","kind":"calls","metadata":{"unresolvedName":"flushPromises"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"external:expect(mockedHandleEventToast).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(mockedHandleEventToast).toHaveBeenCalledTimes"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"external:window.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"window.dispatchEvent"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"symbol-name:rerender","kind":"calls","metadata":{"unresolvedName":"rerender"}},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"external:window.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"window.dispatchEvent"}},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"external:mockedGetUserConfig.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedGetUserConfig.mockResolvedValue"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"symbol-name:makeEvent","kind":"calls","metadata":{"unresolvedName":"makeEvent"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"external:mockedUseEventContext.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"mockedUseEventContext.mockReturnValue"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:flushPromises","kind":"calls","metadata":{"unresolvedName":"flushPromises"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"external:expect(mockedHandleEventToast).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(mockedHandleEventToast).not.toHaveBeenCalled"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"symbol-name:makeEvent","kind":"calls","metadata":{"unresolvedName":"makeEvent"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"external:mockedUseEventContext.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"mockedUseEventContext.mockReturnValue"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:flushPromises","kind":"calls","metadata":{"unresolvedName":"flushPromises"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"external:expect(mockedHandleEventToast).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(mockedHandleEventToast).toHaveBeenCalledTimes"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.test.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"symbol-name:makeEvent","kind":"calls","metadata":{"unresolvedName":"makeEvent"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"external:mockedUseEventContext.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"mockedUseEventContext.mockReturnValue"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:flushPromises","kind":"calls","metadata":{"unresolvedName":"flushPromises"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"external:expect(mockedHandleEventToast).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(mockedHandleEventToast).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.tsx","to":"file:/workspace/apps/web/src/state/events.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.tsx","to":"file:/workspace/apps/web/src/components/toast-rules.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.tsx","to":"file:/workspace/apps/web/src/api/settings.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.tsx","to":"file:/workspace/apps/web/src/api/settings.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.tsx:EventToastBridge","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.tsx:EventToastBridge","kind":"defines"},{"from":"/workspace/apps/web/src/components/event-toast-bridge.tsx:EventToastBridge","to":"/workspace/apps/web/src/state/events.tsx:useEventContext","kind":"calls","metadata":{"unresolvedName":"useEventContext"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.tsx:EventToastBridge","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.tsx:EventToastBridge","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.tsx:EventToastBridge","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.tsx:EventToastBridge","to":"external:getUserConfig()\n\t\t\t.then","kind":"calls","metadata":{"unresolvedName":"getUserConfig()\n\t\t\t.then"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.tsx:EventToastBridge","to":"/workspace/apps/web/src/api/settings.ts:getUserConfig","kind":"calls","metadata":{"unresolvedName":"getUserConfig"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.tsx:EventToastBridge","to":"symbol-name:setConfig","kind":"calls","metadata":{"unresolvedName":"setConfig"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.tsx:EventToastBridge","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.tsx:EventToastBridge","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.tsx:EventToastBridge","to":"external:processedRef.current.has","kind":"calls","metadata":{"unresolvedName":"processedRef.current.has"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.tsx:EventToastBridge","to":"external:processedRef.current.add","kind":"calls","metadata":{"unresolvedName":"processedRef.current.add"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.tsx:EventToastBridge","to":"/workspace/apps/web/src/components/toast-rules.ts:mapEventToCategory","kind":"calls","metadata":{"unresolvedName":"mapEventToCategory"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.tsx:EventToastBridge","to":"/workspace/apps/web/src/components/toast-rules.ts:mapEventToSeverity","kind":"calls","metadata":{"unresolvedName":"mapEventToSeverity"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.tsx:EventToastBridge","to":"external:config.notification_mute_categories.includes","kind":"calls","metadata":{"unresolvedName":"config.notification_mute_categories.includes"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.tsx:EventToastBridge","to":"/workspace/apps/web/src/components/toast-rules.ts:handleEventToast","kind":"calls","metadata":{"unresolvedName":"handleEventToast"}},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/event-toast-bridge.tsx:<anonymous>","to":"external:getUserConfig()\n\t\t\t.then","kind":"calls","metadata":{"unresolvedName":"getUserConfig()\n\t\t\t.then"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.tsx:<anonymous>","to":"/workspace/apps/web/src/api/settings.ts:getUserConfig","kind":"calls","metadata":{"unresolvedName":"getUserConfig"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.tsx:<anonymous>","to":"symbol-name:setConfig","kind":"calls","metadata":{"unresolvedName":"setConfig"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.tsx:<anonymous>","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.tsx:<anonymous>","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/event-toast-bridge.tsx:<anonymous>","to":"symbol-name:setConfig","kind":"calls","metadata":{"unresolvedName":"setConfig"}},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/event-toast-bridge.tsx:<anonymous>","to":"symbol-name:setConfig","kind":"calls","metadata":{"unresolvedName":"setConfig"}},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.tsx:handler","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.tsx:handler","kind":"defines"},{"from":"/workspace/apps/web/src/components/event-toast-bridge.tsx:handler","to":"symbol-name:setConfig","kind":"calls","metadata":{"unresolvedName":"setConfig"}},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/event-toast-bridge.tsx","to":"/workspace/apps/web/src/components/event-toast-bridge.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/event-toast-bridge.tsx:<anonymous>","to":"external:processedRef.current.has","kind":"calls","metadata":{"unresolvedName":"processedRef.current.has"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.tsx:<anonymous>","to":"external:processedRef.current.add","kind":"calls","metadata":{"unresolvedName":"processedRef.current.add"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.tsx:<anonymous>","to":"/workspace/apps/web/src/components/toast-rules.ts:mapEventToCategory","kind":"calls","metadata":{"unresolvedName":"mapEventToCategory"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.tsx:<anonymous>","to":"/workspace/apps/web/src/components/toast-rules.ts:mapEventToSeverity","kind":"calls","metadata":{"unresolvedName":"mapEventToSeverity"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.tsx:<anonymous>","to":"external:config.notification_mute_categories.includes","kind":"calls","metadata":{"unresolvedName":"config.notification_mute_categories.includes"}},{"from":"/workspace/apps/web/src/components/event-toast-bridge.tsx:<anonymous>","to":"/workspace/apps/web/src/components/toast-rules.ts:handleEventToast","kind":"calls","metadata":{"unresolvedName":"handleEventToast"}},{"from":"file:/workspace/apps/web/src/components/features/dashboard/ActiveSessionsList.tsx","to":"file:/workspace/apps/web/src/types/session.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/dashboard/ActiveSessionsList.tsx","to":"file:/workspace/apps/web/src/components/ui/Icon.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/dashboard/ActiveSessionsList.tsx","to":"/workspace/apps/web/src/components/features/dashboard/ActiveSessionsList.tsx:ActiveSessionsList","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/dashboard/ActiveSessionsList.tsx","to":"/workspace/apps/web/src/components/features/dashboard/ActiveSessionsList.tsx:ActiveSessionsList","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/dashboard/ActiveSessionsList.tsx:ActiveSessionsList","to":"external:sessions.map","kind":"calls","metadata":{"unresolvedName":"sessions.map"}},{"from":"/workspace/apps/web/src/components/features/dashboard/ActiveSessionsList.tsx:ActiveSessionsList","to":"symbol-name:onOpen","kind":"calls","metadata":{"unresolvedName":"onOpen"}},{"from":"/workspace/apps/web/src/components/features/dashboard/ActiveSessionsList.tsx:ActiveSessionsList","to":"symbol-name:onRecreateTunnel","kind":"calls","metadata":{"unresolvedName":"onRecreateTunnel"}},{"from":"/workspace/apps/web/src/components/features/dashboard/ActiveSessionsList.tsx:ActiveSessionsList","to":"symbol-name:onStop","kind":"calls","metadata":{"unresolvedName":"onStop"}},{"from":"/workspace/apps/web/src/components/features/dashboard/ActiveSessionsList.tsx:ActiveSessionsList","to":"symbol-name:onDelete","kind":"calls","metadata":{"unresolvedName":"onDelete"}},{"from":"file:/workspace/apps/web/src/components/features/dashboard/DashboardSummary.tsx","to":"file:/workspace/apps/web/src/api/dashboard.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/dashboard/DashboardSummary.tsx","to":"/workspace/apps/web/src/components/features/dashboard/DashboardSummary.tsx:DashboardSummary","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/dashboard/DashboardSummary.tsx","to":"/workspace/apps/web/src/components/features/dashboard/DashboardSummary.tsx:DashboardSummary","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/dashboard/DashboardSummary.tsx:DashboardSummary","to":"external:summaryCards.map","kind":"calls","metadata":{"unresolvedName":"summaryCards.map"}},{"from":"file:/workspace/apps/web/src/components/features/dashboard/ProjectsSection.tsx","to":"file:/workspace/apps/web/src/types/project.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/dashboard/ProjectsSection.tsx","to":"/workspace/apps/web/src/components/features/dashboard/ProjectsSection.tsx:ProjectsSection","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/dashboard/ProjectsSection.tsx","to":"/workspace/apps/web/src/components/features/dashboard/ProjectsSection.tsx:ProjectsSection","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/dashboard/ProjectsSection.tsx:ProjectsSection","to":"external:projects.map","kind":"calls","metadata":{"unresolvedName":"projects.map"}},{"from":"/workspace/apps/web/src/components/features/dashboard/ProjectsSection.tsx:ProjectsSection","to":"symbol-name:onOpenProject","kind":"calls","metadata":{"unresolvedName":"onOpenProject"}},{"from":"file:/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx","to":"file:/workspace/apps/web/src/types/project.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx","to":"file:/workspace/apps/web/src/types/git-repository.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx","to":"file:/workspace/apps/web/src/types/tool-type.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx","to":"file:/workspace/apps/web/src/components/ui/Icon.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx","to":"/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx:QuickCreateForm","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx","to":"/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx:QuickCreateForm","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx:QuickCreateForm","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx:QuickCreateForm","to":"symbol-name:setSelectedProject","kind":"calls","metadata":{"unresolvedName":"setSelectedProject"}},{"from":"/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx:QuickCreateForm","to":"symbol-name:setSelectedRepo","kind":"calls","metadata":{"unresolvedName":"setSelectedRepo"}},{"from":"/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx:QuickCreateForm","to":"symbol-name:onProjectChange","kind":"calls","metadata":{"unresolvedName":"onProjectChange"}},{"from":"/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx:QuickCreateForm","to":"external:event.preventDefault","kind":"calls","metadata":{"unresolvedName":"event.preventDefault"}},{"from":"/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx:QuickCreateForm","to":"symbol-name:onSubmit","kind":"calls","metadata":{"unresolvedName":"onSubmit"}},{"from":"/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx:QuickCreateForm","to":"/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx:handleProjectChange","kind":"calls","metadata":{"unresolvedName":"handleProjectChange"}},{"from":"/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx:QuickCreateForm","to":"external:projects.map","kind":"calls","metadata":{"unresolvedName":"projects.map"}},{"from":"/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx:QuickCreateForm","to":"external:repositories.map","kind":"calls","metadata":{"unresolvedName":"repositories.map"}},{"from":"/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx:QuickCreateForm","to":"symbol-name:setSelectedToolType","kind":"calls","metadata":{"unresolvedName":"setSelectedToolType"}},{"from":"/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx:QuickCreateForm","to":"external:toolTypes.map","kind":"calls","metadata":{"unresolvedName":"toolTypes.map"}},{"from":"/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx:QuickCreateForm","to":"symbol-name:setDisplayName","kind":"calls","metadata":{"unresolvedName":"setDisplayName"}},{"from":"file:/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx","to":"/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx:handleProjectChange","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx","to":"/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx:handleProjectChange","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx:handleProjectChange","to":"symbol-name:setSelectedProject","kind":"calls","metadata":{"unresolvedName":"setSelectedProject"}},{"from":"/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx:handleProjectChange","to":"symbol-name:setSelectedRepo","kind":"calls","metadata":{"unresolvedName":"setSelectedRepo"}},{"from":"/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx:handleProjectChange","to":"symbol-name:onProjectChange","kind":"calls","metadata":{"unresolvedName":"onProjectChange"}},{"from":"file:/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx","to":"/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx:handleSubmit","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx","to":"/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx:handleSubmit","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx:handleSubmit","to":"external:event.preventDefault","kind":"calls","metadata":{"unresolvedName":"event.preventDefault"}},{"from":"/workspace/apps/web/src/components/features/dashboard/QuickCreateForm.tsx:handleSubmit","to":"symbol-name:onSubmit","kind":"calls","metadata":{"unresolvedName":"onSubmit"}},{"from":"file:/workspace/apps/web/src/components/features/dashboard/RecentSessionsSection.tsx","to":"file:/workspace/apps/web/src/types/session.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/dashboard/RecentSessionsSection.tsx","to":"/workspace/apps/web/src/components/features/dashboard/RecentSessionsSection.tsx:RecentSessionsSection","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/dashboard/RecentSessionsSection.tsx","to":"/workspace/apps/web/src/components/features/dashboard/RecentSessionsSection.tsx:RecentSessionsSection","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/dashboard/RecentSessionsSection.tsx:RecentSessionsSection","to":"external:sessions.map","kind":"calls","metadata":{"unresolvedName":"sessions.map"}},{"from":"/workspace/apps/web/src/components/features/dashboard/RecentSessionsSection.tsx:RecentSessionsSection","to":"symbol-name:onOpen","kind":"calls","metadata":{"unresolvedName":"onOpen"}},{"from":"file:/workspace/apps/web/src/components/features/git/CommitDialog.tsx","to":"file:/workspace/apps/web/src/components/features/git/CommitDialog.module.css","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/CommitDialog.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/CommitDialog.tsx","to":"file:/workspace/apps/web/src/components/ui/Icon.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/CommitDialog.tsx","to":"/workspace/apps/web/src/components/features/git/CommitDialog.tsx:CommitDialog","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/CommitDialog.tsx","to":"/workspace/apps/web/src/components/features/git/CommitDialog.tsx:CommitDialog","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/CommitDialog.tsx:CommitDialog","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/components/features/git/CommitDialog.tsx:CommitDialog","to":"external:originalContent.split","kind":"calls","metadata":{"unresolvedName":"originalContent.split"}},{"from":"/workspace/apps/web/src/components/features/git/CommitDialog.tsx:CommitDialog","to":"external:newContent.split","kind":"calls","metadata":{"unresolvedName":"newContent.split"}},{"from":"/workspace/apps/web/src/components/features/git/CommitDialog.tsx:CommitDialog","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"/workspace/apps/web/src/components/features/git/CommitDialog.tsx:CommitDialog","to":"external:diff.push","kind":"calls","metadata":{"unresolvedName":"diff.push"}},{"from":"/workspace/apps/web/src/components/features/git/CommitDialog.tsx:CommitDialog","to":"external:message.trim","kind":"calls","metadata":{"unresolvedName":"message.trim"}},{"from":"/workspace/apps/web/src/components/features/git/CommitDialog.tsx:CommitDialog","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/components/features/git/CommitDialog.tsx:CommitDialog","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/workspace/apps/web/src/components/features/git/CommitDialog.tsx:CommitDialog","to":"symbol-name:onCommit","kind":"calls","metadata":{"unresolvedName":"onCommit"}},{"from":"/workspace/apps/web/src/components/features/git/CommitDialog.tsx:CommitDialog","to":"/workspace/apps/web/src/components/features/git/CommitDialog.tsx:generateDiff","kind":"calls","metadata":{"unresolvedName":"generateDiff"}},{"from":"/workspace/apps/web/src/components/features/git/CommitDialog.tsx:CommitDialog","to":"external:diff.some","kind":"calls","metadata":{"unresolvedName":"diff.some"}},{"from":"/workspace/apps/web/src/components/features/git/CommitDialog.tsx:CommitDialog","to":"external:diff.map","kind":"calls","metadata":{"unresolvedName":"diff.map"}},{"from":"/workspace/apps/web/src/components/features/git/CommitDialog.tsx:CommitDialog","to":"symbol-name:setMessage","kind":"calls","metadata":{"unresolvedName":"setMessage"}},{"from":"file:/workspace/apps/web/src/components/features/git/CommitDialog.tsx","to":"/workspace/apps/web/src/components/features/git/CommitDialog.tsx:generateDiff","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/CommitDialog.tsx","to":"/workspace/apps/web/src/components/features/git/CommitDialog.tsx:generateDiff","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/CommitDialog.tsx:generateDiff","to":"external:originalContent.split","kind":"calls","metadata":{"unresolvedName":"originalContent.split"}},{"from":"/workspace/apps/web/src/components/features/git/CommitDialog.tsx:generateDiff","to":"external:newContent.split","kind":"calls","metadata":{"unresolvedName":"newContent.split"}},{"from":"/workspace/apps/web/src/components/features/git/CommitDialog.tsx:generateDiff","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"/workspace/apps/web/src/components/features/git/CommitDialog.tsx:generateDiff","to":"external:diff.push","kind":"calls","metadata":{"unresolvedName":"diff.push"}},{"from":"file:/workspace/apps/web/src/components/features/git/CommitDialog.tsx","to":"/workspace/apps/web/src/components/features/git/CommitDialog.tsx:handleCommit","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/CommitDialog.tsx","to":"/workspace/apps/web/src/components/features/git/CommitDialog.tsx:handleCommit","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/CommitDialog.tsx:handleCommit","to":"external:message.trim","kind":"calls","metadata":{"unresolvedName":"message.trim"}},{"from":"/workspace/apps/web/src/components/features/git/CommitDialog.tsx:handleCommit","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/components/features/git/CommitDialog.tsx:handleCommit","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/workspace/apps/web/src/components/features/git/CommitDialog.tsx:handleCommit","to":"symbol-name:onCommit","kind":"calls","metadata":{"unresolvedName":"onCommit"}},{"from":"file:/workspace/apps/web/src/components/features/git/CommitPanel.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/CommitPanel.tsx","to":"file:/workspace/apps/web/src/api/git-repositories.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/CommitPanel.tsx","to":"file:/workspace/apps/web/src/components/features/git/CommitPanel.module.css","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/CommitPanel.tsx","to":"/workspace/apps/web/src/components/features/git/CommitPanel.tsx:CommitPanel","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/CommitPanel.tsx","to":"/workspace/apps/web/src/components/features/git/CommitPanel.tsx:CommitPanel","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/CommitPanel.tsx:CommitPanel","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/components/features/git/CommitPanel.tsx:CommitPanel","to":"external:message.trim","kind":"calls","metadata":{"unresolvedName":"message.trim"}},{"from":"/workspace/apps/web/src/components/features/git/CommitPanel.tsx:CommitPanel","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/components/features/git/CommitPanel.tsx:CommitPanel","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/workspace/apps/web/src/components/features/git/CommitPanel.tsx:CommitPanel","to":"symbol-name:setMessage","kind":"calls","metadata":{"unresolvedName":"setMessage"}},{"from":"/workspace/apps/web/src/components/features/git/CommitPanel.tsx:CommitPanel","to":"symbol-name:onCommit","kind":"calls","metadata":{"unresolvedName":"onCommit"}},{"from":"/workspace/apps/web/src/components/features/git/CommitPanel.tsx:CommitPanel","to":"external:modified.map","kind":"calls","metadata":{"unresolvedName":"modified.map"}},{"from":"/workspace/apps/web/src/components/features/git/CommitPanel.tsx:CommitPanel","to":"external:added.map","kind":"calls","metadata":{"unresolvedName":"added.map"}},{"from":"/workspace/apps/web/src/components/features/git/CommitPanel.tsx:CommitPanel","to":"external:deleted.map","kind":"calls","metadata":{"unresolvedName":"deleted.map"}},{"from":"/workspace/apps/web/src/components/features/git/CommitPanel.tsx:CommitPanel","to":"external:untracked.map","kind":"calls","metadata":{"unresolvedName":"untracked.map"}},{"from":"file:/workspace/apps/web/src/components/features/git/CommitPanel.tsx","to":"/workspace/apps/web/src/components/features/git/CommitPanel.tsx:handleCommit","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/CommitPanel.tsx","to":"/workspace/apps/web/src/components/features/git/CommitPanel.tsx:handleCommit","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/CommitPanel.tsx:handleCommit","to":"external:message.trim","kind":"calls","metadata":{"unresolvedName":"message.trim"}},{"from":"/workspace/apps/web/src/components/features/git/CommitPanel.tsx:handleCommit","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/components/features/git/CommitPanel.tsx:handleCommit","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/workspace/apps/web/src/components/features/git/CommitPanel.tsx:handleCommit","to":"symbol-name:setMessage","kind":"calls","metadata":{"unresolvedName":"setMessage"}},{"from":"/workspace/apps/web/src/components/features/git/CommitPanel.tsx:handleCommit","to":"symbol-name:onCommit","kind":"calls","metadata":{"unresolvedName":"onCommit"}},{"from":"file:/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx","to":"external:react-router-dom","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx","to":"file:/workspace/apps/web/src/components/features/git/FileBrowser.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx","to":"file:/workspace/apps/web/src/api/client.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx","to":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx","to":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","to":"external:expect(screen.getByText(/loading files/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(/loading files/i)).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","to":"external:mockedGet.mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockedGet.mockResolvedValueOnce"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"src\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"src\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"README.md\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"README.md\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","to":"external:mockedGet.mockRejectedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockedGet.mockRejectedValueOnce"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","to":"external:expect(screen.getByText(/failed to load files/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(/failed to load files/i)).toBeInTheDocument"}},{"from":"file:/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx","to":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx","to":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","to":"external:expect(screen.getByText(/loading files/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(/loading files/i)).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx","to":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx","to":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","to":"external:mockedGet.mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockedGet.mockResolvedValueOnce"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"src\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"src\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"README.md\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"README.md\")).toBeInTheDocument"}},{"from":"file:/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx","to":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx","to":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"src\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"src\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx","to":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx","to":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","to":"external:mockedGet.mockRejectedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockedGet.mockRejectedValueOnce"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","to":"external:expect(screen.getByText(/failed to load files/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(/failed to load files/i)).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx","to":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx","to":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","to":"external:expect(screen.getByText(/failed to load files/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(/failed to load files/i)).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/components/features/git/FileBrowser.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/FileBrowser.tsx","to":"external:react-router-dom","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/FileBrowser.tsx","to":"file:/workspace/apps/web/src/components/ui/Icon.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/FileBrowser.tsx","to":"file:/workspace/apps/web/src/api/client.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/FileBrowser.tsx","to":"file:/workspace/apps/web/src/types/git-repository.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/FileBrowser.tsx","to":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:FileBrowser","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/FileBrowser.tsx","to":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:FileBrowser","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:FileBrowser","to":"symbol-name:useSearchParams","kind":"calls","metadata":{"unresolvedName":"useSearchParams"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:FileBrowser","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:FileBrowser","to":"external:searchParams.get","kind":"calls","metadata":{"unresolvedName":"searchParams.get"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:FileBrowser","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:FileBrowser","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:FileBrowser","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:FileBrowser","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:FileBrowser","to":"symbol-name:setEntries","kind":"calls","metadata":{"unresolvedName":"setEntries"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:FileBrowser","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:FileBrowser","to":"symbol-name:loadFiles","kind":"calls","metadata":{"unresolvedName":"loadFiles"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:FileBrowser","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:FileBrowser","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:FileBrowser","to":"external:newParams.set","kind":"calls","metadata":{"unresolvedName":"newParams.set"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:FileBrowser","to":"symbol-name:setSearchParams","kind":"calls","metadata":{"unresolvedName":"setSearchParams"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:FileBrowser","to":"external:path.split(\"/\").slice(0, -1).join","kind":"calls","metadata":{"unresolvedName":"path.split(\"/\").slice(0, -1).join"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:FileBrowser","to":"external:path.split(\"/\").slice","kind":"calls","metadata":{"unresolvedName":"path.split(\"/\").slice"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:FileBrowser","to":"external:path.split","kind":"calls","metadata":{"unresolvedName":"path.split"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:FileBrowser","to":"external:newParams.delete","kind":"calls","metadata":{"unresolvedName":"newParams.delete"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:FileBrowser","to":"external:gitStatus.modified.includes","kind":"calls","metadata":{"unresolvedName":"gitStatus.modified.includes"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:FileBrowser","to":"external:gitStatus.added.includes","kind":"calls","metadata":{"unresolvedName":"gitStatus.added.includes"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:FileBrowser","to":"external:gitStatus.deleted.includes","kind":"calls","metadata":{"unresolvedName":"gitStatus.deleted.includes"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:FileBrowser","to":"external:gitStatus.untracked.includes","kind":"calls","metadata":{"unresolvedName":"gitStatus.untracked.includes"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:FileBrowser","to":"external:entries.map","kind":"calls","metadata":{"unresolvedName":"entries.map"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:FileBrowser","to":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:getFileStatus","kind":"calls","metadata":{"unresolvedName":"getFileStatus"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:FileBrowser","to":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:handleEntryClick","kind":"calls","metadata":{"unresolvedName":"handleEntryClick"}},{"from":"file:/workspace/apps/web/src/components/features/git/FileBrowser.tsx","to":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/FileBrowser.tsx","to":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:<anonymous>","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:<anonymous>","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:<anonymous>","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:<anonymous>","to":"symbol-name:setEntries","kind":"calls","metadata":{"unresolvedName":"setEntries"}},{"from":"file:/workspace/apps/web/src/components/features/git/FileBrowser.tsx","to":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/FileBrowser.tsx","to":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:<anonymous>","to":"symbol-name:loadFiles","kind":"calls","metadata":{"unresolvedName":"loadFiles"}},{"from":"file:/workspace/apps/web/src/components/features/git/FileBrowser.tsx","to":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/FileBrowser.tsx","to":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:<anonymous>","to":"symbol-name:loadFiles","kind":"calls","metadata":{"unresolvedName":"loadFiles"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:<anonymous>","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:<anonymous>","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"file:/workspace/apps/web/src/components/features/git/FileBrowser.tsx","to":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:handleEntryClick","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/FileBrowser.tsx","to":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:handleEntryClick","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:handleEntryClick","to":"external:newParams.set","kind":"calls","metadata":{"unresolvedName":"newParams.set"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:handleEntryClick","to":"symbol-name:setSearchParams","kind":"calls","metadata":{"unresolvedName":"setSearchParams"}},{"from":"file:/workspace/apps/web/src/components/features/git/FileBrowser.tsx","to":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:navigateUp","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/FileBrowser.tsx","to":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:navigateUp","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:navigateUp","to":"external:path.split(\"/\").slice(0, -1).join","kind":"calls","metadata":{"unresolvedName":"path.split(\"/\").slice(0, -1).join"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:navigateUp","to":"external:path.split(\"/\").slice","kind":"calls","metadata":{"unresolvedName":"path.split(\"/\").slice"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:navigateUp","to":"external:path.split","kind":"calls","metadata":{"unresolvedName":"path.split"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:navigateUp","to":"external:newParams.set","kind":"calls","metadata":{"unresolvedName":"newParams.set"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:navigateUp","to":"external:newParams.delete","kind":"calls","metadata":{"unresolvedName":"newParams.delete"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:navigateUp","to":"symbol-name:setSearchParams","kind":"calls","metadata":{"unresolvedName":"setSearchParams"}},{"from":"file:/workspace/apps/web/src/components/features/git/FileBrowser.tsx","to":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:getFileStatus","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/FileBrowser.tsx","to":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:getFileStatus","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:getFileStatus","to":"external:gitStatus.modified.includes","kind":"calls","metadata":{"unresolvedName":"gitStatus.modified.includes"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:getFileStatus","to":"external:gitStatus.added.includes","kind":"calls","metadata":{"unresolvedName":"gitStatus.added.includes"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:getFileStatus","to":"external:gitStatus.deleted.includes","kind":"calls","metadata":{"unresolvedName":"gitStatus.deleted.includes"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:getFileStatus","to":"external:gitStatus.untracked.includes","kind":"calls","metadata":{"unresolvedName":"gitStatus.untracked.includes"}},{"from":"file:/workspace/apps/web/src/components/features/git/FileBrowser.tsx","to":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/FileBrowser.tsx","to":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:<anonymous>","to":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:getFileStatus","kind":"calls","metadata":{"unresolvedName":"getFileStatus"}},{"from":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:<anonymous>","to":"/workspace/apps/web/src/components/features/git/FileBrowser.tsx:handleEntryClick","kind":"calls","metadata":{"unresolvedName":"handleEntryClick"}},{"from":"file:/workspace/apps/web/src/components/features/git/FileEditor.tsx","to":"file:/workspace/apps/web/src/components/features/git/FileEditor.module.css","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/FileEditor.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/FileEditor.tsx","to":"external:react-router-dom","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/FileEditor.tsx","to":"file:/workspace/apps/web/src/api/client.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/FileEditor.tsx","to":"file:/workspace/apps/web/src/state/auth.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/FileEditor.tsx","to":"file:/workspace/apps/web/src/components/ui/CodeEditor.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/FileEditor.tsx","to":"file:/workspace/apps/web/src/components/features/git/CommitDialog.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/FileEditor.tsx","to":"file:/workspace/apps/web/src/components/ui/Icon.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/FileEditor.tsx","to":"file:/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/FileEditor.tsx","to":"file:/workspace/apps/web/src/utils/language.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/FileEditor.tsx","to":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:FileEditor","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/FileEditor.tsx","to":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:FileEditor","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:FileEditor","to":"symbol-name:useSearchParams","kind":"calls","metadata":{"unresolvedName":"useSearchParams"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:FileEditor","to":"/workspace/apps/web/src/state/auth.tsx:useAuth","kind":"calls","metadata":{"unresolvedName":"useAuth"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:FileEditor","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:FileEditor","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:FileEditor","to":"symbol-name:setIsBinary","kind":"calls","metadata":{"unresolvedName":"setIsBinary"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:FileEditor","to":"symbol-name:setContent","kind":"calls","metadata":{"unresolvedName":"setContent"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:FileEditor","to":"symbol-name:setOriginalContent","kind":"calls","metadata":{"unresolvedName":"setOriginalContent"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:FileEditor","to":"symbol-name:setMode","kind":"calls","metadata":{"unresolvedName":"setMode"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:FileEditor","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:FileEditor","to":"external:searchParams.get","kind":"calls","metadata":{"unresolvedName":"searchParams.get"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:FileEditor","to":"external:gitStatus.modified.includes","kind":"calls","metadata":{"unresolvedName":"gitStatus.modified.includes"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:FileEditor","to":"external:gitStatus.added.includes","kind":"calls","metadata":{"unresolvedName":"gitStatus.added.includes"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:FileEditor","to":"external:gitStatus.deleted.includes","kind":"calls","metadata":{"unresolvedName":"gitStatus.deleted.includes"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:FileEditor","to":"external:gitStatus.untracked.includes","kind":"calls","metadata":{"unresolvedName":"gitStatus.untracked.includes"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:FileEditor","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:FileEditor","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:FileEditor","to":"symbol-name:setLanguage","kind":"calls","metadata":{"unresolvedName":"setLanguage"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:FileEditor","to":"/workspace/apps/web/src/utils/language.ts:detectLanguage","kind":"calls","metadata":{"unresolvedName":"detectLanguage"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:FileEditor","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:FileEditor","to":"symbol-name:loadFile","kind":"calls","metadata":{"unresolvedName":"loadFile"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:FileEditor","to":"symbol-name:setShowCommitDialog","kind":"calls","metadata":{"unresolvedName":"setShowCommitDialog"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:FileEditor","to":"symbol-name:setSaving","kind":"calls","metadata":{"unresolvedName":"setSaving"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:FileEditor","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:FileEditor","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:FileEditor","to":"symbol-name:handleEdit","kind":"calls","metadata":{"unresolvedName":"handleEdit"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:FileEditor","to":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleCancel","kind":"calls","metadata":{"unresolvedName":"handleCancel"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:FileEditor","to":"symbol-name:handleSave","kind":"calls","metadata":{"unresolvedName":"handleSave"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:FileEditor","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:FileEditor","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:FileEditor","to":"external:filePath?.split(\"/\").map","kind":"calls","metadata":{"unresolvedName":"filePath?.split(\"/\").map"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:FileEditor","to":"external:filePath?.split","kind":"calls","metadata":{"unresolvedName":"filePath?.split"}},{"from":"file:/workspace/apps/web/src/components/features/git/FileEditor.tsx","to":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleDiscard","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/FileEditor.tsx","to":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleDiscard","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleDiscard","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleDiscard","to":"symbol-name:setIsBinary","kind":"calls","metadata":{"unresolvedName":"setIsBinary"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleDiscard","to":"symbol-name:setContent","kind":"calls","metadata":{"unresolvedName":"setContent"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleDiscard","to":"symbol-name:setOriginalContent","kind":"calls","metadata":{"unresolvedName":"setOriginalContent"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleDiscard","to":"symbol-name:setMode","kind":"calls","metadata":{"unresolvedName":"setMode"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleDiscard","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:/workspace/apps/web/src/components/features/git/FileEditor.tsx","to":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/FileEditor.tsx","to":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:<anonymous>","to":"symbol-name:setContent","kind":"calls","metadata":{"unresolvedName":"setContent"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:<anonymous>","to":"symbol-name:setOriginalContent","kind":"calls","metadata":{"unresolvedName":"setOriginalContent"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:<anonymous>","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:<anonymous>","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:<anonymous>","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:<anonymous>","to":"symbol-name:setIsBinary","kind":"calls","metadata":{"unresolvedName":"setIsBinary"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:<anonymous>","to":"symbol-name:setLanguage","kind":"calls","metadata":{"unresolvedName":"setLanguage"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:<anonymous>","to":"/workspace/apps/web/src/utils/language.ts:detectLanguage","kind":"calls","metadata":{"unresolvedName":"detectLanguage"}},{"from":"file:/workspace/apps/web/src/components/features/git/FileEditor.tsx","to":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/FileEditor.tsx","to":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:<anonymous>","to":"symbol-name:loadFile","kind":"calls","metadata":{"unresolvedName":"loadFile"}},{"from":"file:/workspace/apps/web/src/components/features/git/FileEditor.tsx","to":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleEdit","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/FileEditor.tsx","to":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleEdit","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleEdit","to":"symbol-name:setMode","kind":"calls","metadata":{"unresolvedName":"setMode"}},{"from":"file:/workspace/apps/web/src/components/features/git/FileEditor.tsx","to":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleCancel","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/FileEditor.tsx","to":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleCancel","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleCancel","to":"symbol-name:setContent","kind":"calls","metadata":{"unresolvedName":"setContent"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleCancel","to":"symbol-name:setMode","kind":"calls","metadata":{"unresolvedName":"setMode"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleCancel","to":"symbol-name:setShowCommitDialog","kind":"calls","metadata":{"unresolvedName":"setShowCommitDialog"}},{"from":"file:/workspace/apps/web/src/components/features/git/FileEditor.tsx","to":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleSave","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/FileEditor.tsx","to":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleSave","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleSave","to":"symbol-name:setMode","kind":"calls","metadata":{"unresolvedName":"setMode"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleSave","to":"symbol-name:setShowCommitDialog","kind":"calls","metadata":{"unresolvedName":"setShowCommitDialog"}},{"from":"file:/workspace/apps/web/src/components/features/git/FileEditor.tsx","to":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleCommit","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/FileEditor.tsx","to":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleCommit","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleCommit","to":"symbol-name:setSaving","kind":"calls","metadata":{"unresolvedName":"setSaving"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleCommit","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleCommit","to":"symbol-name:setOriginalContent","kind":"calls","metadata":{"unresolvedName":"setOriginalContent"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleCommit","to":"symbol-name:setMode","kind":"calls","metadata":{"unresolvedName":"setMode"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleCommit","to":"symbol-name:setShowCommitDialog","kind":"calls","metadata":{"unresolvedName":"setShowCommitDialog"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleCommit","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:/workspace/apps/web/src/components/features/git/FileEditor.tsx","to":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/FileEditor.tsx","to":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:<anonymous>","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:<anonymous>","to":"symbol-name:handleEdit","kind":"calls","metadata":{"unresolvedName":"handleEdit"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:<anonymous>","to":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleCancel","kind":"calls","metadata":{"unresolvedName":"handleCancel"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:<anonymous>","to":"symbol-name:handleSave","kind":"calls","metadata":{"unresolvedName":"handleSave"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:<anonymous>","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:<anonymous>","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"file:/workspace/apps/web/src/components/features/git/FileEditor.tsx","to":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleKeyDown","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/FileEditor.tsx","to":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleKeyDown","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleKeyDown","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleKeyDown","to":"symbol-name:handleEdit","kind":"calls","metadata":{"unresolvedName":"handleEdit"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleKeyDown","to":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleCancel","kind":"calls","metadata":{"unresolvedName":"handleCancel"}},{"from":"/workspace/apps/web/src/components/features/git/FileEditor.tsx:handleKeyDown","to":"symbol-name:handleSave","kind":"calls","metadata":{"unresolvedName":"handleSave"}},{"from":"file:/workspace/apps/web/src/components/features/git/GitToolbar.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/GitToolbar.tsx","to":"file:/workspace/apps/web/src/api/git-repositories.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/GitToolbar.tsx","to":"file:/workspace/apps/web/src/components/ui/Icon.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/GitToolbar.tsx","to":"file:/workspace/apps/web/src/components/features/git/MergeDialog.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/GitToolbar.tsx","to":"file:/workspace/apps/web/src/components/features/git/GitToolbar.module.css","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/GitToolbar.tsx","to":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:GitToolbar","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/GitToolbar.tsx","to":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:GitToolbar","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:GitToolbar","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:GitToolbar","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:GitToolbar","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:GitToolbar","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:GitToolbar","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:GitToolbar","to":"symbol-name:loadStatus","kind":"calls","metadata":{"unresolvedName":"loadStatus"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:GitToolbar","to":"symbol-name:setInterval","kind":"calls","metadata":{"unresolvedName":"setInterval"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:GitToolbar","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:GitToolbar","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:GitToolbar","to":"symbol-name:onRefresh","kind":"calls","metadata":{"unresolvedName":"onRefresh"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:GitToolbar","to":"symbol-name:onBranchChange","kind":"calls","metadata":{"unresolvedName":"onBranchChange"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:GitToolbar","to":"external:newBranchName.trim","kind":"calls","metadata":{"unresolvedName":"newBranchName.trim"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:GitToolbar","to":"symbol-name:setShowNewBranch","kind":"calls","metadata":{"unresolvedName":"setShowNewBranch"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:GitToolbar","to":"symbol-name:setNewBranchName","kind":"calls","metadata":{"unresolvedName":"setNewBranchName"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:GitToolbar","to":"symbol-name:setNewBranchBase","kind":"calls","metadata":{"unresolvedName":"setNewBranchBase"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:GitToolbar","to":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handleCheckout","kind":"calls","metadata":{"unresolvedName":"handleCheckout"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:GitToolbar","to":"external:branches.map","kind":"calls","metadata":{"unresolvedName":"branches.map"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:GitToolbar","to":"symbol-name:setShowMergeDialog","kind":"calls","metadata":{"unresolvedName":"setShowMergeDialog"}},{"from":"file:/workspace/apps/web/src/components/features/git/GitToolbar.tsx","to":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/GitToolbar.tsx","to":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:<anonymous>","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:<anonymous>","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:/workspace/apps/web/src/components/features/git/GitToolbar.tsx","to":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/GitToolbar.tsx","to":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:<anonymous>","to":"symbol-name:loadStatus","kind":"calls","metadata":{"unresolvedName":"loadStatus"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:<anonymous>","to":"symbol-name:setInterval","kind":"calls","metadata":{"unresolvedName":"setInterval"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:<anonymous>","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"file:/workspace/apps/web/src/components/features/git/GitToolbar.tsx","to":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handleFetch","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/GitToolbar.tsx","to":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handleFetch","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handleFetch","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handleFetch","to":"symbol-name:loadStatus","kind":"calls","metadata":{"unresolvedName":"loadStatus"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handleFetch","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:/workspace/apps/web/src/components/features/git/GitToolbar.tsx","to":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handlePull","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/GitToolbar.tsx","to":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handlePull","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handlePull","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handlePull","to":"symbol-name:loadStatus","kind":"calls","metadata":{"unresolvedName":"loadStatus"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handlePull","to":"symbol-name:onRefresh","kind":"calls","metadata":{"unresolvedName":"onRefresh"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handlePull","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:/workspace/apps/web/src/components/features/git/GitToolbar.tsx","to":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handlePush","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/GitToolbar.tsx","to":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handlePush","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handlePush","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handlePush","to":"symbol-name:loadStatus","kind":"calls","metadata":{"unresolvedName":"loadStatus"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handlePush","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:/workspace/apps/web/src/components/features/git/GitToolbar.tsx","to":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handleCheckout","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/GitToolbar.tsx","to":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handleCheckout","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handleCheckout","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handleCheckout","to":"symbol-name:onBranchChange","kind":"calls","metadata":{"unresolvedName":"onBranchChange"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handleCheckout","to":"symbol-name:onRefresh","kind":"calls","metadata":{"unresolvedName":"onRefresh"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handleCheckout","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:/workspace/apps/web/src/components/features/git/GitToolbar.tsx","to":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handleCreateBranch","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/GitToolbar.tsx","to":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handleCreateBranch","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handleCreateBranch","to":"external:newBranchName.trim","kind":"calls","metadata":{"unresolvedName":"newBranchName.trim"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handleCreateBranch","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handleCreateBranch","to":"symbol-name:setShowNewBranch","kind":"calls","metadata":{"unresolvedName":"setShowNewBranch"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handleCreateBranch","to":"symbol-name:setNewBranchName","kind":"calls","metadata":{"unresolvedName":"setNewBranchName"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handleCreateBranch","to":"symbol-name:setNewBranchBase","kind":"calls","metadata":{"unresolvedName":"setNewBranchBase"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handleCreateBranch","to":"symbol-name:onRefresh","kind":"calls","metadata":{"unresolvedName":"onRefresh"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handleCreateBranch","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:/workspace/apps/web/src/components/features/git/GitToolbar.tsx","to":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/GitToolbar.tsx","to":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:<anonymous>","to":"symbol-name:loadStatus","kind":"calls","metadata":{"unresolvedName":"loadStatus"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:<anonymous>","to":"symbol-name:onRefresh","kind":"calls","metadata":{"unresolvedName":"onRefresh"}},{"from":"file:/workspace/apps/web/src/components/features/git/MergeDialog.tsx","to":"file:/workspace/apps/web/src/components/features/git/MergeDialog.module.css","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/MergeDialog.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/MergeDialog.tsx","to":"file:/workspace/apps/web/src/api/git-repositories.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/MergeDialog.tsx","to":"file:/workspace/apps/web/src/components/ui/Icon.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/MergeDialog.tsx","to":"/workspace/apps/web/src/components/features/git/MergeDialog.tsx:MergeDialog","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/MergeDialog.tsx","to":"/workspace/apps/web/src/components/features/git/MergeDialog.tsx:MergeDialog","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/MergeDialog.tsx:MergeDialog","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/components/features/git/MergeDialog.tsx:MergeDialog","to":"external:branches.filter","kind":"calls","metadata":{"unresolvedName":"branches.filter"}},{"from":"/workspace/apps/web/src/components/features/git/MergeDialog.tsx:MergeDialog","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/components/features/git/MergeDialog.tsx:MergeDialog","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/workspace/apps/web/src/components/features/git/MergeDialog.tsx:MergeDialog","to":"symbol-name:setSuccess","kind":"calls","metadata":{"unresolvedName":"setSuccess"}},{"from":"/workspace/apps/web/src/components/features/git/MergeDialog.tsx:MergeDialog","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/workspace/apps/web/src/components/features/git/MergeDialog.tsx:MergeDialog","to":"symbol-name:onMerge","kind":"calls","metadata":{"unresolvedName":"onMerge"}},{"from":"/workspace/apps/web/src/components/features/git/MergeDialog.tsx:MergeDialog","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"/workspace/apps/web/src/components/features/git/MergeDialog.tsx:MergeDialog","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"/workspace/apps/web/src/components/features/git/MergeDialog.tsx:MergeDialog","to":"symbol-name:setSourceBranch","kind":"calls","metadata":{"unresolvedName":"setSourceBranch"}},{"from":"/workspace/apps/web/src/components/features/git/MergeDialog.tsx:MergeDialog","to":"external:availableBranches.map","kind":"calls","metadata":{"unresolvedName":"availableBranches.map"}},{"from":"/workspace/apps/web/src/components/features/git/MergeDialog.tsx:MergeDialog","to":"symbol-name:setCommitMessage","kind":"calls","metadata":{"unresolvedName":"setCommitMessage"}},{"from":"file:/workspace/apps/web/src/components/features/git/MergeDialog.tsx","to":"/workspace/apps/web/src/components/features/git/MergeDialog.tsx:handleMerge","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/MergeDialog.tsx","to":"/workspace/apps/web/src/components/features/git/MergeDialog.tsx:handleMerge","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/MergeDialog.tsx:handleMerge","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/components/features/git/MergeDialog.tsx:handleMerge","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/workspace/apps/web/src/components/features/git/MergeDialog.tsx:handleMerge","to":"symbol-name:setSuccess","kind":"calls","metadata":{"unresolvedName":"setSuccess"}},{"from":"/workspace/apps/web/src/components/features/git/MergeDialog.tsx:handleMerge","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/workspace/apps/web/src/components/features/git/MergeDialog.tsx:handleMerge","to":"symbol-name:onMerge","kind":"calls","metadata":{"unresolvedName":"onMerge"}},{"from":"/workspace/apps/web/src/components/features/git/MergeDialog.tsx:handleMerge","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"file:/workspace/apps/web/src/components/features/git/MergeDialog.tsx","to":"/workspace/apps/web/src/components/features/git/MergeDialog.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/MergeDialog.tsx","to":"/workspace/apps/web/src/components/features/git/MergeDialog.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/MergeDialog.tsx:<anonymous>","to":"symbol-name:onMerge","kind":"calls","metadata":{"unresolvedName":"onMerge"}},{"from":"/workspace/apps/web/src/components/features/git/MergeDialog.tsx:<anonymous>","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"file:/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx","to":"file:/workspace/apps/web/src/components/ui/Icon.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx","to":"file:/workspace/apps/web/src/utils/language.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx","to":"/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx:SyntaxHighlighter","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx","to":"/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx:SyntaxHighlighter","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx:SyntaxHighlighter","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx:SyntaxHighlighter","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx:SyntaxHighlighter","to":"/workspace/apps/web/src/utils/language.ts:loadLanguage","kind":"calls","metadata":{"unresolvedName":"loadLanguage"}},{"from":"/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx:SyntaxHighlighter","to":"symbol-name:setHighlighted","kind":"calls","metadata":{"unresolvedName":"setHighlighted"}},{"from":"/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx:SyntaxHighlighter","to":"/workspace/apps/web/src/utils/language.ts:highlightCode","kind":"calls","metadata":{"unresolvedName":"highlightCode"}},{"from":"/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx:SyntaxHighlighter","to":"symbol-name:highlight","kind":"calls","metadata":{"unresolvedName":"highlight"}},{"from":"/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx:SyntaxHighlighter","to":"external:navigator.clipboard.writeText","kind":"calls","metadata":{"unresolvedName":"navigator.clipboard.writeText"}},{"from":"/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx:SyntaxHighlighter","to":"symbol-name:setCopied","kind":"calls","metadata":{"unresolvedName":"setCopied"}},{"from":"/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx:SyntaxHighlighter","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx:SyntaxHighlighter","to":"external:code.split","kind":"calls","metadata":{"unresolvedName":"code.split"}},{"from":"/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx:SyntaxHighlighter","to":"external:lines.map","kind":"calls","metadata":{"unresolvedName":"lines.map"}},{"from":"file:/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx","to":"/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx","to":"/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx:<anonymous>","to":"/workspace/apps/web/src/utils/language.ts:loadLanguage","kind":"calls","metadata":{"unresolvedName":"loadLanguage"}},{"from":"/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx:<anonymous>","to":"symbol-name:setHighlighted","kind":"calls","metadata":{"unresolvedName":"setHighlighted"}},{"from":"/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx:<anonymous>","to":"/workspace/apps/web/src/utils/language.ts:highlightCode","kind":"calls","metadata":{"unresolvedName":"highlightCode"}},{"from":"/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx:<anonymous>","to":"symbol-name:highlight","kind":"calls","metadata":{"unresolvedName":"highlight"}},{"from":"file:/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx","to":"/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx:highlight","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx","to":"/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx:highlight","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx:highlight","to":"/workspace/apps/web/src/utils/language.ts:loadLanguage","kind":"calls","metadata":{"unresolvedName":"loadLanguage"}},{"from":"/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx:highlight","to":"symbol-name:setHighlighted","kind":"calls","metadata":{"unresolvedName":"setHighlighted"}},{"from":"/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx:highlight","to":"/workspace/apps/web/src/utils/language.ts:highlightCode","kind":"calls","metadata":{"unresolvedName":"highlightCode"}},{"from":"file:/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx","to":"/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx:handleCopy","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx","to":"/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx:handleCopy","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx:handleCopy","to":"external:navigator.clipboard.writeText","kind":"calls","metadata":{"unresolvedName":"navigator.clipboard.writeText"}},{"from":"/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx:handleCopy","to":"symbol-name:setCopied","kind":"calls","metadata":{"unresolvedName":"setCopied"}},{"from":"/workspace/apps/web/src/components/features/git/SyntaxHighlighter.tsx:handleCopy","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"file:/workspace/apps/web/src/components/features/git/WorkspaceSidebar.tsx","to":"file:/workspace/apps/web/src/types/git-repository.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/WorkspaceSidebar.tsx","to":"file:/workspace/apps/web/src/api/git-repositories.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/WorkspaceSidebar.tsx","to":"file:/workspace/apps/web/src/types/tool-type.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/WorkspaceSidebar.tsx","to":"file:/workspace/apps/web/src/components/features/git/FileBrowser.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/WorkspaceSidebar.tsx","to":"file:/workspace/apps/web/src/components/features/git/CommitPanel.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/WorkspaceSidebar.tsx","to":"file:/workspace/apps/web/src/components/features/session/InstanceList.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/git/WorkspaceSidebar.tsx","to":"/workspace/apps/web/src/components/features/git/WorkspaceSidebar.tsx:WorkspaceSidebar","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/git/WorkspaceSidebar.tsx","to":"/workspace/apps/web/src/components/features/git/WorkspaceSidebar.tsx:WorkspaceSidebar","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/git/WorkspaceSidebar.tsx:WorkspaceSidebar","to":"symbol-name:onRepoChange","kind":"calls","metadata":{"unresolvedName":"onRepoChange"}},{"from":"/workspace/apps/web/src/components/features/git/WorkspaceSidebar.tsx:WorkspaceSidebar","to":"external:repositories.map","kind":"calls","metadata":{"unresolvedName":"repositories.map"}},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx","to":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx","to":"file:/workspace/apps/web/src/api/git-repositories.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:vi.importActual","kind":"calls","metadata":{"unresolvedName":"vi.importActual"}},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"symbol-name:cleanup","kind":"calls","metadata":{"unresolvedName":"cleanup"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:vi.spyOn(gitRepositoriesApi, \"listRepositories\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(gitRepositoriesApi, \"listRepositories\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:vi.spyOn(gitRepositoriesApi, \"createRepository\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(gitRepositoriesApi, \"createRepository\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Main Repo\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Main Repo\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:fireEvent.change","kind":"calls","metadata":{"unresolvedName":"fireEvent.change"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:screen.getByPlaceholderText","kind":"calls","metadata":{"unresolvedName":"screen.getByPlaceholderText"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:expect(createMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(createMock).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:expect(listMock).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(listMock).toHaveBeenCalledTimes"}},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:vi.spyOn(gitRepositoriesApi, \"listRepositories\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(gitRepositoriesApi, \"listRepositories\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:vi.spyOn(gitRepositoriesApi, \"createRepository\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(gitRepositoriesApi, \"createRepository\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Main Repo\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Main Repo\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:fireEvent.change","kind":"calls","metadata":{"unresolvedName":"fireEvent.change"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:screen.getByPlaceholderText","kind":"calls","metadata":{"unresolvedName":"screen.getByPlaceholderText"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:expect(createMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(createMock).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:expect(listMock).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(listMock).toHaveBeenCalledTimes"}},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Main Repo\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Main Repo\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:expect(createMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(createMock).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:vi.spyOn(gitRepositoriesApi, \"listRepositories\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(gitRepositoriesApi, \"listRepositories\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:vi.spyOn(gitRepositoriesApi, \"createRepository\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(gitRepositoriesApi, \"createRepository\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Main Repo\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Main Repo\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:fireEvent.change","kind":"calls","metadata":{"unresolvedName":"fireEvent.change"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:screen.getByPlaceholderText","kind":"calls","metadata":{"unresolvedName":"screen.getByPlaceholderText"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:expect(createMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(createMock).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:expect(listMock).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(listMock).toHaveBeenCalledTimes"}},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Main Repo\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Main Repo\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:expect(createMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(createMock).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:vi.spyOn(gitRepositoriesApi, \"listRepositories\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(gitRepositoriesApi, \"listRepositories\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Main Repo\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Main Repo\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:fireEvent.change","kind":"calls","metadata":{"unresolvedName":"fireEvent.change"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:screen.getByPlaceholderText","kind":"calls","metadata":{"unresolvedName":"screen.getByPlaceholderText"}},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Main Repo\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Main Repo\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx","to":"external:react-router-dom","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx","to":"file:/workspace/apps/web/src/types/git-repository.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx","to":"file:/workspace/apps/web/src/api/git-repositories.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx","to":"file:/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx","to":"file:/workspace/apps/web/src/components/ui/Icon.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:RepositoriesSettingsTab","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:RepositoriesSettingsTab","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:RepositoriesSettingsTab","to":"symbol-name:useParams","kind":"calls","metadata":{"unresolvedName":"useParams"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:RepositoriesSettingsTab","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:RepositoriesSettingsTab","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:RepositoriesSettingsTab","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:RepositoriesSettingsTab","to":"symbol-name:setRepositories","kind":"calls","metadata":{"unresolvedName":"setRepositories"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:RepositoriesSettingsTab","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:RepositoriesSettingsTab","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:RepositoriesSettingsTab","to":"symbol-name:loadRepositories","kind":"calls","metadata":{"unresolvedName":"loadRepositories"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:RepositoriesSettingsTab","to":"external:window.confirm","kind":"calls","metadata":{"unresolvedName":"window.confirm"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:RepositoriesSettingsTab","to":"external:current.filter","kind":"calls","metadata":{"unresolvedName":"current.filter"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:RepositoriesSettingsTab","to":"symbol-name:setShowCreate","kind":"calls","metadata":{"unresolvedName":"setShowCreate"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:RepositoriesSettingsTab","to":"external:repositories.map","kind":"calls","metadata":{"unresolvedName":"repositories.map"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:RepositoriesSettingsTab","to":"symbol-name:handleDelete","kind":"calls","metadata":{"unresolvedName":"handleDelete"}},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:<anonymous>","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:<anonymous>","to":"symbol-name:setRepositories","kind":"calls","metadata":{"unresolvedName":"setRepositories"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:<anonymous>","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:<anonymous>","to":"symbol-name:loadRepositories","kind":"calls","metadata":{"unresolvedName":"loadRepositories"}},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:handleDelete","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:handleDelete","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:handleDelete","to":"external:window.confirm","kind":"calls","metadata":{"unresolvedName":"window.confirm"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:handleDelete","to":"symbol-name:setRepositories","kind":"calls","metadata":{"unresolvedName":"setRepositories"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:handleDelete","to":"external:current.filter","kind":"calls","metadata":{"unresolvedName":"current.filter"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:handleDelete","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx","to":"file:/workspace/apps/web/src/types/git-repository.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx","to":"file:/workspace/apps/web/src/api/git-repositories.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx","to":"file:/workspace/apps/web/src/components/ui/Icon.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:RepositoryCreateDialog","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:RepositoryCreateDialog","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:RepositoryCreateDialog","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:RepositoryCreateDialog","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:RepositoryCreateDialog","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:RepositoryCreateDialog","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:RepositoryCreateDialog","to":"symbol-name:setUrlValidation","kind":"calls","metadata":{"unresolvedName":"setUrlValidation"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:RepositoryCreateDialog","to":"external:advancedUrl.trim","kind":"calls","metadata":{"unresolvedName":"advancedUrl.trim"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:RepositoryCreateDialog","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:RepositoryCreateDialog","to":"symbol-name:setCreateMode","kind":"calls","metadata":{"unresolvedName":"setCreateMode"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:RepositoryCreateDialog","to":"symbol-name:setFormName","kind":"calls","metadata":{"unresolvedName":"setFormName"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:RepositoryCreateDialog","to":"symbol-name:setOwner","kind":"calls","metadata":{"unresolvedName":"setOwner"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:RepositoryCreateDialog","to":"symbol-name:setRepoName","kind":"calls","metadata":{"unresolvedName":"setRepoName"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:RepositoryCreateDialog","to":"symbol-name:setAdvancedUrl","kind":"calls","metadata":{"unresolvedName":"setAdvancedUrl"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:RepositoryCreateDialog","to":"symbol-name:setUseAdvancedUrl","kind":"calls","metadata":{"unresolvedName":"setUseAdvancedUrl"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:RepositoryCreateDialog","to":"symbol-name:setFormError","kind":"calls","metadata":{"unresolvedName":"setFormError"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:RepositoryCreateDialog","to":"symbol-name:resetForm","kind":"calls","metadata":{"unresolvedName":"resetForm"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:RepositoryCreateDialog","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:RepositoryCreateDialog","to":"external:event.preventDefault","kind":"calls","metadata":{"unresolvedName":"event.preventDefault"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:RepositoryCreateDialog","to":"external:formName.trim","kind":"calls","metadata":{"unresolvedName":"formName.trim"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:RepositoryCreateDialog","to":"external:owner.trim","kind":"calls","metadata":{"unresolvedName":"owner.trim"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:RepositoryCreateDialog","to":"external:repoName.trim","kind":"calls","metadata":{"unresolvedName":"repoName.trim"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:RepositoryCreateDialog","to":"symbol-name:handleClose","kind":"calls","metadata":{"unresolvedName":"handleClose"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:RepositoryCreateDialog","to":"symbol-name:onCreated","kind":"calls","metadata":{"unresolvedName":"onCreated"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:RepositoryCreateDialog","to":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:getUrlInputClass","kind":"calls","metadata":{"unresolvedName":"getUrlInputClass"}},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:<anonymous>","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:<anonymous>","to":"symbol-name:setUrlValidation","kind":"calls","metadata":{"unresolvedName":"setUrlValidation"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:<anonymous>","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:<anonymous>","to":"external:advancedUrl.trim","kind":"calls","metadata":{"unresolvedName":"advancedUrl.trim"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:<anonymous>","to":"external:advancedUrl.trim","kind":"calls","metadata":{"unresolvedName":"advancedUrl.trim"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:<anonymous>","to":"symbol-name:setUrlValidation","kind":"calls","metadata":{"unresolvedName":"setUrlValidation"}},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:<anonymous>","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:resetForm","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:resetForm","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:resetForm","to":"symbol-name:setCreateMode","kind":"calls","metadata":{"unresolvedName":"setCreateMode"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:resetForm","to":"symbol-name:setFormName","kind":"calls","metadata":{"unresolvedName":"setFormName"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:resetForm","to":"symbol-name:setOwner","kind":"calls","metadata":{"unresolvedName":"setOwner"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:resetForm","to":"symbol-name:setRepoName","kind":"calls","metadata":{"unresolvedName":"setRepoName"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:resetForm","to":"symbol-name:setAdvancedUrl","kind":"calls","metadata":{"unresolvedName":"setAdvancedUrl"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:resetForm","to":"symbol-name:setUseAdvancedUrl","kind":"calls","metadata":{"unresolvedName":"setUseAdvancedUrl"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:resetForm","to":"symbol-name:setFormError","kind":"calls","metadata":{"unresolvedName":"setFormError"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:resetForm","to":"symbol-name:setUrlValidation","kind":"calls","metadata":{"unresolvedName":"setUrlValidation"}},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:handleClose","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:handleClose","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:handleClose","to":"symbol-name:resetForm","kind":"calls","metadata":{"unresolvedName":"resetForm"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:handleClose","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:handleSubmit","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:handleSubmit","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:handleSubmit","to":"external:event.preventDefault","kind":"calls","metadata":{"unresolvedName":"event.preventDefault"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:handleSubmit","to":"symbol-name:setFormError","kind":"calls","metadata":{"unresolvedName":"setFormError"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:handleSubmit","to":"external:formName.trim","kind":"calls","metadata":{"unresolvedName":"formName.trim"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:handleSubmit","to":"external:advancedUrl.trim","kind":"calls","metadata":{"unresolvedName":"advancedUrl.trim"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:handleSubmit","to":"external:owner.trim","kind":"calls","metadata":{"unresolvedName":"owner.trim"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:handleSubmit","to":"external:repoName.trim","kind":"calls","metadata":{"unresolvedName":"repoName.trim"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:handleSubmit","to":"symbol-name:handleClose","kind":"calls","metadata":{"unresolvedName":"handleClose"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:handleSubmit","to":"symbol-name:onCreated","kind":"calls","metadata":{"unresolvedName":"onCreated"}},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:handleUseSuggestedUrl","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:handleUseSuggestedUrl","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:handleUseSuggestedUrl","to":"symbol-name:setAdvancedUrl","kind":"calls","metadata":{"unresolvedName":"setAdvancedUrl"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:handleUseSuggestedUrl","to":"symbol-name:setUrlValidation","kind":"calls","metadata":{"unresolvedName":"setUrlValidation"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:handleUseSuggestedUrl","to":"symbol-name:setFormError","kind":"calls","metadata":{"unresolvedName":"setFormError"}},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:getUrlInputClass","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx","to":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:getUrlInputClass","kind":"defines"},{"from":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx","to":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx","to":"external:@/types/project","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx","to":"external:@/types/tool-type","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx","to":"external:@/api/git-repositories","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx","to":"external:@/api/sessions","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx","to":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx","to":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Create New Session\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Create New Session\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Create Session\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Create Session\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"external:container.querySelector","kind":"calls","metadata":{"unresolvedName":"container.querySelector"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"external:expect(createInstance).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(createInstance).not.toHaveBeenCalled"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"external:mockedList.mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockedList.mockResolvedValueOnce"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"external:fireEvent.change","kind":"calls","metadata":{"unresolvedName":"fireEvent.change"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"external:expect(listRepositories).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(listRepositories).toHaveBeenCalledWith"}},{"from":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx","to":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx","to":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Create New Session\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Create New Session\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Create Session\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Create Session\")).toBeInTheDocument"}},{"from":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx","to":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx","to":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"external:container.querySelector","kind":"calls","metadata":{"unresolvedName":"container.querySelector"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"external:expect(createInstance).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(createInstance).not.toHaveBeenCalled"}},{"from":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx","to":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx","to":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx","to":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx","to":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"external:mockedList.mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockedList.mockResolvedValueOnce"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"external:container.querySelector","kind":"calls","metadata":{"unresolvedName":"container.querySelector"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"external:fireEvent.change","kind":"calls","metadata":{"unresolvedName":"fireEvent.change"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"external:expect(listRepositories).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(listRepositories).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx","to":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx","to":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"external:expect(listRepositories).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(listRepositories).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx","to":"external:@/api/git-repositories","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx","to":"external:@/api/sessions","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx","to":"external:@/api/settings","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx","to":"external:@/components/ui/Icon","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx","to":"external:@/types/project","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx","to":"external:@/types/git-repository","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx","to":"external:@/types/tool-type","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx","to":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:CreateSessionForm","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx","to":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:CreateSessionForm","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:CreateSessionForm","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:CreateSessionForm","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:CreateSessionForm","to":"symbol-name:setRepositories","kind":"calls","metadata":{"unresolvedName":"setRepositories"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:CreateSessionForm","to":"symbol-name:loadRepos","kind":"calls","metadata":{"unresolvedName":"loadRepos"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:CreateSessionForm","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:CreateSessionForm","to":"symbol-name:setCreateError","kind":"calls","metadata":{"unresolvedName":"setCreateError"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:CreateSessionForm","to":"symbol-name:setCreateStatus","kind":"calls","metadata":{"unresolvedName":"setCreateStatus"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:CreateSessionForm","to":"/workspace/apps/web/src/api/settings.ts:updateUserConfig","kind":"calls","metadata":{"unresolvedName":"updateUserConfig"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:CreateSessionForm","to":"symbol-name:setSelectedProject","kind":"calls","metadata":{"unresolvedName":"setSelectedProject"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:CreateSessionForm","to":"symbol-name:setSelectedRepo","kind":"calls","metadata":{"unresolvedName":"setSelectedRepo"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:CreateSessionForm","to":"symbol-name:setSelectedToolType","kind":"calls","metadata":{"unresolvedName":"setSelectedToolType"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:CreateSessionForm","to":"symbol-name:setDisplayName","kind":"calls","metadata":{"unresolvedName":"setDisplayName"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:CreateSessionForm","to":"symbol-name:onCreated","kind":"calls","metadata":{"unresolvedName":"onCreated"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:CreateSessionForm","to":"external:projects.map","kind":"calls","metadata":{"unresolvedName":"projects.map"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:CreateSessionForm","to":"external:repositories.map","kind":"calls","metadata":{"unresolvedName":"repositories.map"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:CreateSessionForm","to":"external:toolTypes.map","kind":"calls","metadata":{"unresolvedName":"toolTypes.map"}},{"from":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx","to":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx","to":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:<anonymous>","to":"symbol-name:setRepositories","kind":"calls","metadata":{"unresolvedName":"setRepositories"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:<anonymous>","to":"symbol-name:loadRepos","kind":"calls","metadata":{"unresolvedName":"loadRepos"}},{"from":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx","to":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:loadRepos","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx","to":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:loadRepos","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:loadRepos","to":"symbol-name:setRepositories","kind":"calls","metadata":{"unresolvedName":"setRepositories"}},{"from":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx","to":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:handleCreate","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx","to":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:handleCreate","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:handleCreate","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:handleCreate","to":"symbol-name:setCreateError","kind":"calls","metadata":{"unresolvedName":"setCreateError"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:handleCreate","to":"symbol-name:setCreateStatus","kind":"calls","metadata":{"unresolvedName":"setCreateStatus"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:handleCreate","to":"/workspace/apps/web/src/api/settings.ts:updateUserConfig","kind":"calls","metadata":{"unresolvedName":"updateUserConfig"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:handleCreate","to":"symbol-name:setSelectedProject","kind":"calls","metadata":{"unresolvedName":"setSelectedProject"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:handleCreate","to":"symbol-name:setSelectedRepo","kind":"calls","metadata":{"unresolvedName":"setSelectedRepo"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:handleCreate","to":"symbol-name:setSelectedToolType","kind":"calls","metadata":{"unresolvedName":"setSelectedToolType"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:handleCreate","to":"symbol-name:setDisplayName","kind":"calls","metadata":{"unresolvedName":"setDisplayName"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:handleCreate","to":"symbol-name:onCreated","kind":"calls","metadata":{"unresolvedName":"onCreated"}},{"from":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx","to":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx","to":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:<anonymous>","to":"symbol-name:setSelectedProject","kind":"calls","metadata":{"unresolvedName":"setSelectedProject"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:<anonymous>","to":"symbol-name:setSelectedRepo","kind":"calls","metadata":{"unresolvedName":"setSelectedRepo"}},{"from":"file:/workspace/apps/web/src/components/features/session/InstanceList.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/session/InstanceList.tsx","to":"external:react-router-dom","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/session/InstanceList.tsx","to":"file:/workspace/apps/web/src/components/ui/Icon.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/session/InstanceList.tsx","to":"file:/workspace/apps/web/src/types/tool-instance.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/session/InstanceList.tsx","to":"file:/workspace/apps/web/src/types/tool-type.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/session/InstanceList.tsx","to":"file:/workspace/apps/web/src/api/sessions.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/session/InstanceList.tsx","to":"file:/workspace/apps/web/src/components/features/session/InstanceList.module.css","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/session/InstanceList.tsx","to":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/session/InstanceList.tsx","to":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"symbol-name:useNavigate","kind":"calls","metadata":{"unresolvedName":"useNavigate"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"symbol-name:setInstances","kind":"calls","metadata":{"unresolvedName":"setInstances"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"symbol-name:loadInstances","kind":"calls","metadata":{"unresolvedName":"loadInstances"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"external:instances.filter","kind":"calls","metadata":{"unresolvedName":"instances.filter"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"external:i.url?.startsWith","kind":"calls","metadata":{"unresolvedName":"i.url?.startsWith"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"symbol-name:setHealthStatus","kind":"calls","metadata":{"unresolvedName":"setHealthStatus"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"symbol-name:checkHealth","kind":"calls","metadata":{"unresolvedName":"checkHealth"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"symbol-name:setInterval","kind":"calls","metadata":{"unresolvedName":"setInterval"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"symbol-name:setShowCreate","kind":"calls","metadata":{"unresolvedName":"setShowCreate"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"symbol-name:setSelectedToolType","kind":"calls","metadata":{"unresolvedName":"setSelectedToolType"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"symbol-name:setDisplayName","kind":"calls","metadata":{"unresolvedName":"setDisplayName"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"symbol-name:setStopConfirmId","kind":"calls","metadata":{"unresolvedName":"setStopConfirmId"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"symbol-name:confirm","kind":"calls","metadata":{"unresolvedName":"confirm"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"external:instance.url?.startsWith","kind":"calls","metadata":{"unresolvedName":"instance.url?.startsWith"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"external:instances.map","kind":"calls","metadata":{"unresolvedName":"instances.map"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:getStatusColor","kind":"calls","metadata":{"unresolvedName":"getStatusColor"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:isTunnelUnhealthy","kind":"calls","metadata":{"unresolvedName":"isTunnelUnhealthy"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"external:instance.tool_type_interfaces.includes","kind":"calls","metadata":{"unresolvedName":"instance.tool_type_interfaces.includes"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"external:instance.url.startsWith","kind":"calls","metadata":{"unresolvedName":"instance.url.startsWith"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleRecreateTunnel","kind":"calls","metadata":{"unresolvedName":"handleRecreateTunnel"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"symbol-name:navigate","kind":"calls","metadata":{"unresolvedName":"navigate"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleStart","kind":"calls","metadata":{"unresolvedName":"handleStart"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"symbol-name:handleStop","kind":"calls","metadata":{"unresolvedName":"handleStop"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleRestart","kind":"calls","metadata":{"unresolvedName":"handleRestart"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"symbol-name:handleDelete","kind":"calls","metadata":{"unresolvedName":"handleDelete"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"external:toolTypes.map","kind":"calls","metadata":{"unresolvedName":"toolTypes.map"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"symbol-name:handleCreate","kind":"calls","metadata":{"unresolvedName":"handleCreate"}},{"from":"file:/workspace/apps/web/src/components/features/session/InstanceList.tsx","to":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/session/InstanceList.tsx","to":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:<anonymous>","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:<anonymous>","to":"symbol-name:setInstances","kind":"calls","metadata":{"unresolvedName":"setInstances"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:<anonymous>","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:/workspace/apps/web/src/components/features/session/InstanceList.tsx","to":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/session/InstanceList.tsx","to":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:<anonymous>","to":"symbol-name:loadInstances","kind":"calls","metadata":{"unresolvedName":"loadInstances"}},{"from":"file:/workspace/apps/web/src/components/features/session/InstanceList.tsx","to":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/session/InstanceList.tsx","to":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:<anonymous>","to":"external:instances.filter","kind":"calls","metadata":{"unresolvedName":"instances.filter"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:<anonymous>","to":"external:i.url?.startsWith","kind":"calls","metadata":{"unresolvedName":"i.url?.startsWith"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:<anonymous>","to":"symbol-name:setHealthStatus","kind":"calls","metadata":{"unresolvedName":"setHealthStatus"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:<anonymous>","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:<anonymous>","to":"symbol-name:checkHealth","kind":"calls","metadata":{"unresolvedName":"checkHealth"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:<anonymous>","to":"symbol-name:setInterval","kind":"calls","metadata":{"unresolvedName":"setInterval"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:<anonymous>","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"file:/workspace/apps/web/src/components/features/session/InstanceList.tsx","to":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:checkHealth","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/session/InstanceList.tsx","to":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:checkHealth","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:checkHealth","to":"symbol-name:setHealthStatus","kind":"calls","metadata":{"unresolvedName":"setHealthStatus"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:checkHealth","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"file:/workspace/apps/web/src/components/features/session/InstanceList.tsx","to":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleCreate","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/session/InstanceList.tsx","to":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleCreate","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleCreate","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleCreate","to":"symbol-name:setShowCreate","kind":"calls","metadata":{"unresolvedName":"setShowCreate"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleCreate","to":"symbol-name:setSelectedToolType","kind":"calls","metadata":{"unresolvedName":"setSelectedToolType"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleCreate","to":"symbol-name:setDisplayName","kind":"calls","metadata":{"unresolvedName":"setDisplayName"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleCreate","to":"symbol-name:loadInstances","kind":"calls","metadata":{"unresolvedName":"loadInstances"}},{"from":"file:/workspace/apps/web/src/components/features/session/InstanceList.tsx","to":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleStart","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/session/InstanceList.tsx","to":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleStart","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleStart","to":"symbol-name:loadInstances","kind":"calls","metadata":{"unresolvedName":"loadInstances"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleStart","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:/workspace/apps/web/src/components/features/session/InstanceList.tsx","to":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleStop","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/session/InstanceList.tsx","to":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleStop","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleStop","to":"symbol-name:setStopConfirmId","kind":"calls","metadata":{"unresolvedName":"setStopConfirmId"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleStop","to":"symbol-name:loadInstances","kind":"calls","metadata":{"unresolvedName":"loadInstances"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleStop","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:/workspace/apps/web/src/components/features/session/InstanceList.tsx","to":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleRestart","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/session/InstanceList.tsx","to":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleRestart","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleRestart","to":"symbol-name:loadInstances","kind":"calls","metadata":{"unresolvedName":"loadInstances"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleRestart","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:/workspace/apps/web/src/components/features/session/InstanceList.tsx","to":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleDelete","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/session/InstanceList.tsx","to":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleDelete","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleDelete","to":"symbol-name:confirm","kind":"calls","metadata":{"unresolvedName":"confirm"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleDelete","to":"symbol-name:setInstances","kind":"calls","metadata":{"unresolvedName":"setInstances"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleDelete","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleDelete","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:/workspace/apps/web/src/components/features/session/InstanceList.tsx","to":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleRecreateTunnel","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/session/InstanceList.tsx","to":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleRecreateTunnel","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleRecreateTunnel","to":"symbol-name:loadInstances","kind":"calls","metadata":{"unresolvedName":"loadInstances"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleRecreateTunnel","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:/workspace/apps/web/src/components/features/session/InstanceList.tsx","to":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:getStatusColor","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/session/InstanceList.tsx","to":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:getStatusColor","kind":"defines"},{"from":"file:/workspace/apps/web/src/components/features/session/InstanceList.tsx","to":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:isTunnelUnhealthy","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/session/InstanceList.tsx","to":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:isTunnelUnhealthy","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:isTunnelUnhealthy","to":"external:instance.url?.startsWith","kind":"calls","metadata":{"unresolvedName":"instance.url?.startsWith"}},{"from":"file:/workspace/apps/web/src/components/features/session/SessionCard.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/session/SessionCard.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/session/SessionCard.test.tsx","to":"file:/workspace/apps/web/src/components/features/session/SessionCard.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/session/SessionCard.test.tsx","to":"external:@/types/session","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/session/SessionCard.test.tsx","to":"/workspace/apps/web/src/components/features/session/SessionCard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/session/SessionCard.test.tsx","to":"/workspace/apps/web/src/components/features/session/SessionCard.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/session/SessionCard.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/workspace/apps/web/src/components/features/session/SessionCard.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/features/session/SessionCard.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/workspace/apps/web/src/components/features/session/SessionCard.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"running\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"running\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/features/session/SessionCard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/features/session/SessionCard.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/components/features/session/SessionCard.test.tsx:<anonymous>","to":"external:screen.getAllByText","kind":"calls","metadata":{"unresolvedName":"screen.getAllByText"}},{"from":"/workspace/apps/web/src/components/features/session/SessionCard.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"VS Code\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"VS Code\")).toBeInTheDocument"}},{"from":"file:/workspace/apps/web/src/components/features/session/SessionCard.test.tsx","to":"/workspace/apps/web/src/components/features/session/SessionCard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/session/SessionCard.test.tsx","to":"/workspace/apps/web/src/components/features/session/SessionCard.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/session/SessionCard.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/features/session/SessionCard.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/workspace/apps/web/src/components/features/session/SessionCard.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"running\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"running\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/features/session/SessionCard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/features/session/SessionCard.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/components/features/session/SessionCard.test.tsx:<anonymous>","to":"external:screen.getAllByText","kind":"calls","metadata":{"unresolvedName":"screen.getAllByText"}},{"from":"file:/workspace/apps/web/src/components/features/session/SessionCard.test.tsx","to":"/workspace/apps/web/src/components/features/session/SessionCard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/session/SessionCard.test.tsx","to":"/workspace/apps/web/src/components/features/session/SessionCard.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/session/SessionCard.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/features/session/SessionCard.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/workspace/apps/web/src/components/features/session/SessionCard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/features/session/SessionCard.test.tsx:<anonymous>","to":"external:screen.getAllByText","kind":"calls","metadata":{"unresolvedName":"screen.getAllByText"}},{"from":"file:/workspace/apps/web/src/components/features/session/SessionCard.test.tsx","to":"/workspace/apps/web/src/components/features/session/SessionCard.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/session/SessionCard.test.tsx","to":"/workspace/apps/web/src/components/features/session/SessionCard.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/session/SessionCard.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/features/session/SessionCard.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/workspace/apps/web/src/components/features/session/SessionCard.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"VS Code\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"VS Code\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/features/session/SessionCard.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/features/session/SessionCard.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/components/features/session/SessionCard.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/session/SessionCard.tsx","to":"external:@/components/ui/Icon","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/session/SessionCard.tsx","to":"external:@/types/session","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/session/SessionCard.tsx","to":"/workspace/apps/web/src/components/features/session/SessionCard.tsx:SessionCard","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/session/SessionCard.tsx","to":"/workspace/apps/web/src/components/features/session/SessionCard.tsx:SessionCard","kind":"defines"},{"from":"file:/workspace/apps/web/src/components/features/session/SessionList.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/session/SessionList.tsx","to":"external:@/api/sessions","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/session/SessionList.tsx","to":"external:@/types/session","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/session/SessionList.tsx","to":"file:/workspace/apps/web/src/components/features/session/SessionCard.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/session/SessionList.tsx","to":"/workspace/apps/web/src/components/features/session/SessionList.tsx:SessionList","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/session/SessionList.tsx","to":"/workspace/apps/web/src/components/features/session/SessionList.tsx:SessionList","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:SessionList","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:SessionList","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:SessionList","to":"external:sessions.filter","kind":"calls","metadata":{"unresolvedName":"sessions.filter"}},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:SessionList","to":"symbol-name:setTunnelHealth","kind":"calls","metadata":{"unresolvedName":"setTunnelHealth"}},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:SessionList","to":"symbol-name:checkHealth","kind":"calls","metadata":{"unresolvedName":"checkHealth"}},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:SessionList","to":"symbol-name:setInterval","kind":"calls","metadata":{"unresolvedName":"setInterval"}},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:SessionList","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:SessionList","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:SessionList","to":"symbol-name:setStopConfirmId","kind":"calls","metadata":{"unresolvedName":"setStopConfirmId"}},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:SessionList","to":"symbol-name:onSessionChange","kind":"calls","metadata":{"unresolvedName":"onSessionChange"}},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:SessionList","to":"symbol-name:setDeleteConfirmId","kind":"calls","metadata":{"unresolvedName":"setDeleteConfirmId"}},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:SessionList","to":"symbol-name:setRecreatingId","kind":"calls","metadata":{"unresolvedName":"setRecreatingId"}},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:SessionList","to":"external:window.open","kind":"calls","metadata":{"unresolvedName":"window.open"}},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:SessionList","to":"symbol-name:onOpen","kind":"calls","metadata":{"unresolvedName":"onOpen"}},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:SessionList","to":"external:sessions.map","kind":"calls","metadata":{"unresolvedName":"sessions.map"}},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:SessionList","to":"/workspace/apps/web/src/components/start-tool-fab.tsx:handleOpen","kind":"calls","metadata":{"unresolvedName":"handleOpen"}},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:SessionList","to":"symbol-name:handleStop","kind":"calls","metadata":{"unresolvedName":"handleStop"}},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:SessionList","to":"symbol-name:handleDelete","kind":"calls","metadata":{"unresolvedName":"handleDelete"}},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:SessionList","to":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleRecreateTunnel","kind":"calls","metadata":{"unresolvedName":"handleRecreateTunnel"}},{"from":"file:/workspace/apps/web/src/components/features/session/SessionList.tsx","to":"/workspace/apps/web/src/components/features/session/SessionList.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/session/SessionList.tsx","to":"/workspace/apps/web/src/components/features/session/SessionList.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:<anonymous>","to":"external:sessions.filter","kind":"calls","metadata":{"unresolvedName":"sessions.filter"}},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:<anonymous>","to":"symbol-name:setTunnelHealth","kind":"calls","metadata":{"unresolvedName":"setTunnelHealth"}},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:<anonymous>","to":"symbol-name:checkHealth","kind":"calls","metadata":{"unresolvedName":"checkHealth"}},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:<anonymous>","to":"symbol-name:setInterval","kind":"calls","metadata":{"unresolvedName":"setInterval"}},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:<anonymous>","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"file:/workspace/apps/web/src/components/features/session/SessionList.tsx","to":"/workspace/apps/web/src/components/features/session/SessionList.tsx:checkHealth","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/session/SessionList.tsx","to":"/workspace/apps/web/src/components/features/session/SessionList.tsx:checkHealth","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:checkHealth","to":"external:sessions.filter","kind":"calls","metadata":{"unresolvedName":"sessions.filter"}},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:checkHealth","to":"symbol-name:setTunnelHealth","kind":"calls","metadata":{"unresolvedName":"setTunnelHealth"}},{"from":"file:/workspace/apps/web/src/components/features/session/SessionList.tsx","to":"/workspace/apps/web/src/components/features/session/SessionList.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/session/SessionList.tsx","to":"/workspace/apps/web/src/components/features/session/SessionList.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:<anonymous>","to":"symbol-name:setStopConfirmId","kind":"calls","metadata":{"unresolvedName":"setStopConfirmId"}},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:<anonymous>","to":"symbol-name:onSessionChange","kind":"calls","metadata":{"unresolvedName":"onSessionChange"}},{"from":"file:/workspace/apps/web/src/components/features/session/SessionList.tsx","to":"/workspace/apps/web/src/components/features/session/SessionList.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/session/SessionList.tsx","to":"/workspace/apps/web/src/components/features/session/SessionList.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:<anonymous>","to":"symbol-name:setDeleteConfirmId","kind":"calls","metadata":{"unresolvedName":"setDeleteConfirmId"}},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:<anonymous>","to":"symbol-name:onSessionChange","kind":"calls","metadata":{"unresolvedName":"onSessionChange"}},{"from":"file:/workspace/apps/web/src/components/features/session/SessionList.tsx","to":"/workspace/apps/web/src/components/features/session/SessionList.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/session/SessionList.tsx","to":"/workspace/apps/web/src/components/features/session/SessionList.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:<anonymous>","to":"symbol-name:setRecreatingId","kind":"calls","metadata":{"unresolvedName":"setRecreatingId"}},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:<anonymous>","to":"symbol-name:onSessionChange","kind":"calls","metadata":{"unresolvedName":"onSessionChange"}},{"from":"file:/workspace/apps/web/src/components/features/session/SessionList.tsx","to":"/workspace/apps/web/src/components/features/session/SessionList.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/session/SessionList.tsx","to":"/workspace/apps/web/src/components/features/session/SessionList.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:<anonymous>","to":"external:window.open","kind":"calls","metadata":{"unresolvedName":"window.open"}},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:<anonymous>","to":"symbol-name:onOpen","kind":"calls","metadata":{"unresolvedName":"onOpen"}},{"from":"file:/workspace/apps/web/src/components/features/session/SessionList.tsx","to":"/workspace/apps/web/src/components/features/session/SessionList.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/session/SessionList.tsx","to":"/workspace/apps/web/src/components/features/session/SessionList.tsx:<anonymous>","kind":"defines"},{"from":"file:/workspace/apps/web/src/components/features/session/SessionList.tsx","to":"/workspace/apps/web/src/components/features/session/SessionList.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/session/SessionList.tsx","to":"/workspace/apps/web/src/components/features/session/SessionList.tsx:<anonymous>","kind":"defines"},{"from":"file:/workspace/apps/web/src/components/features/session/SessionList.tsx","to":"/workspace/apps/web/src/components/features/session/SessionList.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/session/SessionList.tsx","to":"/workspace/apps/web/src/components/features/session/SessionList.tsx:<anonymous>","kind":"defines"},{"from":"file:/workspace/apps/web/src/components/features/settings/SettingsTabLayout.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/settings/SettingsTabLayout.tsx","to":"external:react-router-dom","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/settings/SettingsTabLayout.tsx","to":"file:/workspace/apps/web/src/components/features/settings/SettingsTabLayout.module.css","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/settings/SettingsTabLayout.tsx","to":"/workspace/apps/web/src/components/features/settings/SettingsTabLayout.tsx:SettingsTabLayout","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/settings/SettingsTabLayout.tsx","to":"/workspace/apps/web/src/components/features/settings/SettingsTabLayout.tsx:SettingsTabLayout","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/settings/SettingsTabLayout.tsx:SettingsTabLayout","to":"symbol-name:useLocation","kind":"calls","metadata":{"unresolvedName":"useLocation"}},{"from":"/workspace/apps/web/src/components/features/settings/SettingsTabLayout.tsx:SettingsTabLayout","to":"external:tabs.map","kind":"calls","metadata":{"unresolvedName":"tabs.map"}},{"from":"/workspace/apps/web/src/components/features/settings/SettingsTabLayout.tsx:SettingsTabLayout","to":"external:location.pathname.includes","kind":"calls","metadata":{"unresolvedName":"location.pathname.includes"}},{"from":"file:/workspace/apps/web/src/components/features/tool-configs/ToolConfigForm.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/tool-configs/ToolConfigForm.tsx","to":"file:/workspace/apps/web/src/types/tool-config.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/tool-configs/ToolConfigForm.tsx","to":"/workspace/apps/web/src/components/features/tool-configs/ToolConfigForm.tsx:ToolConfigForm","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/tool-configs/ToolConfigForm.tsx","to":"/workspace/apps/web/src/components/features/tool-configs/ToolConfigForm.tsx:ToolConfigForm","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/tool-configs/ToolConfigForm.tsx:ToolConfigForm","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/components/features/tool-configs/ToolConfigForm.tsx:ToolConfigForm","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/workspace/apps/web/src/components/features/tool-configs/ToolConfigForm.tsx:ToolConfigForm","to":"symbol-name:setSaveStatus","kind":"calls","metadata":{"unresolvedName":"setSaveStatus"}},{"from":"/workspace/apps/web/src/components/features/tool-configs/ToolConfigForm.tsx:ToolConfigForm","to":"symbol-name:onSubmit","kind":"calls","metadata":{"unresolvedName":"onSubmit"}},{"from":"/workspace/apps/web/src/components/features/tool-configs/ToolConfigForm.tsx:ToolConfigForm","to":"symbol-name:setFormData","kind":"calls","metadata":{"unresolvedName":"setFormData"}},{"from":"file:/workspace/apps/web/src/components/features/tool-configs/ToolConfigForm.tsx","to":"/workspace/apps/web/src/components/features/tool-configs/ToolConfigForm.tsx:handleSubmit","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/tool-configs/ToolConfigForm.tsx","to":"/workspace/apps/web/src/components/features/tool-configs/ToolConfigForm.tsx:handleSubmit","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/tool-configs/ToolConfigForm.tsx:handleSubmit","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/workspace/apps/web/src/components/features/tool-configs/ToolConfigForm.tsx:handleSubmit","to":"symbol-name:setSaveStatus","kind":"calls","metadata":{"unresolvedName":"setSaveStatus"}},{"from":"/workspace/apps/web/src/components/features/tool-configs/ToolConfigForm.tsx:handleSubmit","to":"symbol-name:onSubmit","kind":"calls","metadata":{"unresolvedName":"onSubmit"}},{"from":"file:/workspace/apps/web/src/components/features/tool-configs/ToolConfigList.tsx","to":"file:/workspace/apps/web/src/components/ui/Icon.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/tool-configs/ToolConfigList.tsx","to":"file:/workspace/apps/web/src/types/tool-config.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/tool-configs/ToolConfigList.tsx","to":"/workspace/apps/web/src/components/features/tool-configs/ToolConfigList.tsx:ToolConfigList","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/tool-configs/ToolConfigList.tsx","to":"/workspace/apps/web/src/components/features/tool-configs/ToolConfigList.tsx:ToolConfigList","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/tool-configs/ToolConfigList.tsx:ToolConfigList","to":"external:configs.map","kind":"calls","metadata":{"unresolvedName":"configs.map"}},{"from":"/workspace/apps/web/src/components/features/tool-configs/ToolConfigList.tsx:ToolConfigList","to":"symbol-name:onEdit","kind":"calls","metadata":{"unresolvedName":"onEdit"}},{"from":"/workspace/apps/web/src/components/features/tool-configs/ToolConfigList.tsx:ToolConfigList","to":"symbol-name:onDelete","kind":"calls","metadata":{"unresolvedName":"onDelete"}},{"from":"file:/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx","to":"file:/workspace/apps/web/src/components/ui/Icon.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx","to":"file:/workspace/apps/web/src/types/tool-type.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx","to":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:ToolTypeForm","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx","to":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:ToolTypeForm","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:ToolTypeForm","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:ToolTypeForm","to":"external:toolType?.default_port?.toString","kind":"calls","metadata":{"unresolvedName":"toolType?.default_port?.toString"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:ToolTypeForm","to":"external:toolType?.required_variables?.join","kind":"calls","metadata":{"unresolvedName":"toolType?.required_variables?.join"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:ToolTypeForm","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:ToolTypeForm","to":"symbol-name:setFormError","kind":"calls","metadata":{"unresolvedName":"setFormError"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:ToolTypeForm","to":"external:formName.trim","kind":"calls","metadata":{"unresolvedName":"formName.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:ToolTypeForm","to":"external:formDisplayName.trim","kind":"calls","metadata":{"unresolvedName":"formDisplayName.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:ToolTypeForm","to":"external:formTemplate.trim","kind":"calls","metadata":{"unresolvedName":"formTemplate.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:ToolTypeForm","to":"external:formPort.trim","kind":"calls","metadata":{"unresolvedName":"formPort.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:ToolTypeForm","to":"symbol-name:isNaN","kind":"calls","metadata":{"unresolvedName":"isNaN"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:ToolTypeForm","to":"symbol-name:Number","kind":"calls","metadata":{"unresolvedName":"Number"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:ToolTypeForm","to":"external:formVariables\n\t\t\t.split(\",\")\n\t\t\t.map((v) => v.trim())\n\t\t\t.filter","kind":"calls","metadata":{"unresolvedName":"formVariables\n\t\t\t.split(\",\")\n\t\t\t.map((v) => v.trim())\n\t\t\t.filter"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:ToolTypeForm","to":"external:formVariables\n\t\t\t.split(\",\")\n\t\t\t.map","kind":"calls","metadata":{"unresolvedName":"formVariables\n\t\t\t.split(\",\")\n\t\t\t.map"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:ToolTypeForm","to":"external:formVariables\n\t\t\t.split","kind":"calls","metadata":{"unresolvedName":"formVariables\n\t\t\t.split"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:ToolTypeForm","to":"external:v.trim","kind":"calls","metadata":{"unresolvedName":"v.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:ToolTypeForm","to":"external:formDescription.trim","kind":"calls","metadata":{"unresolvedName":"formDescription.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:ToolTypeForm","to":"external:formCategory.trim","kind":"calls","metadata":{"unresolvedName":"formCategory.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:ToolTypeForm","to":"symbol-name:onSubmit","kind":"calls","metadata":{"unresolvedName":"onSubmit"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:ToolTypeForm","to":"symbol-name:setFormInterfaces","kind":"calls","metadata":{"unresolvedName":"setFormInterfaces"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:ToolTypeForm","to":"external:prev.includes","kind":"calls","metadata":{"unresolvedName":"prev.includes"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:ToolTypeForm","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:ToolTypeForm","to":"symbol-name:setFormName","kind":"calls","metadata":{"unresolvedName":"setFormName"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:ToolTypeForm","to":"symbol-name:setFormDisplayName","kind":"calls","metadata":{"unresolvedName":"setFormDisplayName"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:ToolTypeForm","to":"symbol-name:setFormDescription","kind":"calls","metadata":{"unresolvedName":"setFormDescription"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:ToolTypeForm","to":"symbol-name:setFormCategory","kind":"calls","metadata":{"unresolvedName":"setFormCategory"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:ToolTypeForm","to":"external:formInterfaces.includes","kind":"calls","metadata":{"unresolvedName":"formInterfaces.includes"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:ToolTypeForm","to":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:toggleInterface","kind":"calls","metadata":{"unresolvedName":"toggleInterface"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:ToolTypeForm","to":"symbol-name:setFormPort","kind":"calls","metadata":{"unresolvedName":"setFormPort"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:ToolTypeForm","to":"symbol-name:setFormTemplate","kind":"calls","metadata":{"unresolvedName":"setFormTemplate"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:ToolTypeForm","to":"symbol-name:setFormVariables","kind":"calls","metadata":{"unresolvedName":"setFormVariables"}},{"from":"file:/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx","to":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:handleSubmit","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx","to":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:handleSubmit","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:handleSubmit","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:handleSubmit","to":"symbol-name:setFormError","kind":"calls","metadata":{"unresolvedName":"setFormError"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:handleSubmit","to":"external:formName.trim","kind":"calls","metadata":{"unresolvedName":"formName.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:handleSubmit","to":"external:formDisplayName.trim","kind":"calls","metadata":{"unresolvedName":"formDisplayName.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:handleSubmit","to":"external:formTemplate.trim","kind":"calls","metadata":{"unresolvedName":"formTemplate.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:handleSubmit","to":"external:formPort.trim","kind":"calls","metadata":{"unresolvedName":"formPort.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:handleSubmit","to":"symbol-name:isNaN","kind":"calls","metadata":{"unresolvedName":"isNaN"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:handleSubmit","to":"symbol-name:Number","kind":"calls","metadata":{"unresolvedName":"Number"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:handleSubmit","to":"external:formVariables\n\t\t\t.split(\",\")\n\t\t\t.map((v) => v.trim())\n\t\t\t.filter","kind":"calls","metadata":{"unresolvedName":"formVariables\n\t\t\t.split(\",\")\n\t\t\t.map((v) => v.trim())\n\t\t\t.filter"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:handleSubmit","to":"external:formVariables\n\t\t\t.split(\",\")\n\t\t\t.map","kind":"calls","metadata":{"unresolvedName":"formVariables\n\t\t\t.split(\",\")\n\t\t\t.map"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:handleSubmit","to":"external:formVariables\n\t\t\t.split","kind":"calls","metadata":{"unresolvedName":"formVariables\n\t\t\t.split"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:handleSubmit","to":"external:v.trim","kind":"calls","metadata":{"unresolvedName":"v.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:handleSubmit","to":"external:formDescription.trim","kind":"calls","metadata":{"unresolvedName":"formDescription.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:handleSubmit","to":"external:formCategory.trim","kind":"calls","metadata":{"unresolvedName":"formCategory.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:handleSubmit","to":"symbol-name:onSubmit","kind":"calls","metadata":{"unresolvedName":"onSubmit"}},{"from":"file:/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx","to":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:toggleInterface","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx","to":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:toggleInterface","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:toggleInterface","to":"symbol-name:setFormInterfaces","kind":"calls","metadata":{"unresolvedName":"setFormInterfaces"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:toggleInterface","to":"external:prev.includes","kind":"calls","metadata":{"unresolvedName":"prev.includes"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeForm.tsx:toggleInterface","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"file:/workspace/apps/web/src/components/features/tool-types/ToolTypeList.tsx","to":"file:/workspace/apps/web/src/components/ui/Icon.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/tool-types/ToolTypeList.tsx","to":"file:/workspace/apps/web/src/types/tool-type.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/tool-types/ToolTypeList.tsx","to":"/workspace/apps/web/src/components/features/tool-types/ToolTypeList.tsx:ToolTypeList","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/tool-types/ToolTypeList.tsx","to":"/workspace/apps/web/src/components/features/tool-types/ToolTypeList.tsx:ToolTypeList","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeList.tsx:ToolTypeList","to":"external:toolTypes.map","kind":"calls","metadata":{"unresolvedName":"toolTypes.map"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeList.tsx:ToolTypeList","to":"external:toolType.interfaces.join","kind":"calls","metadata":{"unresolvedName":"toolType.interfaces.join"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeList.tsx:ToolTypeList","to":"symbol-name:onEdit","kind":"calls","metadata":{"unresolvedName":"onEdit"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeList.tsx:ToolTypeList","to":"symbol-name:setDeleteConfirmId","kind":"calls","metadata":{"unresolvedName":"setDeleteConfirmId"}},{"from":"/workspace/apps/web/src/components/features/tool-types/ToolTypeList.tsx:ToolTypeList","to":"symbol-name:onDelete","kind":"calls","metadata":{"unresolvedName":"onDelete"}},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx","to":"file:/workspace/apps/web/src/components/ui/Icon.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx","to":"file:/workspace/apps/web/src/api/config-folders.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:ConfigFoldersTab","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:ConfigFoldersTab","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:ConfigFoldersTab","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:ConfigFoldersTab","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:ConfigFoldersTab","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:ConfigFoldersTab","to":"/workspace/apps/web/src/api/config-folders.ts:listConfigFolders","kind":"calls","metadata":{"unresolvedName":"listConfigFolders"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:ConfigFoldersTab","to":"symbol-name:setFolders","kind":"calls","metadata":{"unresolvedName":"setFolders"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:ConfigFoldersTab","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:ConfigFoldersTab","to":"symbol-name:loadFolders","kind":"calls","metadata":{"unresolvedName":"loadFolders"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:ConfigFoldersTab","to":"symbol-name:setFolderForm","kind":"calls","metadata":{"unresolvedName":"setFolderForm"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:ConfigFoldersTab","to":"symbol-name:setFolderError","kind":"calls","metadata":{"unresolvedName":"setFolderError"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:ConfigFoldersTab","to":"symbol-name:setShowFolderForm","kind":"calls","metadata":{"unresolvedName":"setShowFolderForm"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:ConfigFoldersTab","to":"symbol-name:setSelectedFolder","kind":"calls","metadata":{"unresolvedName":"setSelectedFolder"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:ConfigFoldersTab","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:ConfigFoldersTab","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:ConfigFoldersTab","to":"external:folderForm.name.trim","kind":"calls","metadata":{"unresolvedName":"folderForm.name.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:ConfigFoldersTab","to":"external:folderForm.mount_path.trim","kind":"calls","metadata":{"unresolvedName":"folderForm.mount_path.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:ConfigFoldersTab","to":"external:folderForm.files_json.trim","kind":"calls","metadata":{"unresolvedName":"folderForm.files_json.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:ConfigFoldersTab","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:ConfigFoldersTab","to":"external:folderForm.description.trim","kind":"calls","metadata":{"unresolvedName":"folderForm.description.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:ConfigFoldersTab","to":"/workspace/apps/web/src/api/config-folders.ts:updateConfigFolder","kind":"calls","metadata":{"unresolvedName":"updateConfigFolder"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:ConfigFoldersTab","to":"/workspace/apps/web/src/api/config-folders.ts:createConfigFolder","kind":"calls","metadata":{"unresolvedName":"createConfigFolder"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:ConfigFoldersTab","to":"external:window.confirm","kind":"calls","metadata":{"unresolvedName":"window.confirm"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:ConfigFoldersTab","to":"/workspace/apps/web/src/api/config-folders.ts:deleteConfigFolder","kind":"calls","metadata":{"unresolvedName":"deleteConfigFolder"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:ConfigFoldersTab","to":"symbol-name:alert","kind":"calls","metadata":{"unresolvedName":"alert"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:ConfigFoldersTab","to":"external:folders.map","kind":"calls","metadata":{"unresolvedName":"folders.map"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:ConfigFoldersTab","to":"external:Object.keys","kind":"calls","metadata":{"unresolvedName":"Object.keys"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:ConfigFoldersTab","to":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:openEditFolder","kind":"calls","metadata":{"unresolvedName":"openEditFolder"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:ConfigFoldersTab","to":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:handleDeleteFolder","kind":"calls","metadata":{"unresolvedName":"handleDeleteFolder"}},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:<anonymous>","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:<anonymous>","to":"/workspace/apps/web/src/api/config-folders.ts:listConfigFolders","kind":"calls","metadata":{"unresolvedName":"listConfigFolders"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:<anonymous>","to":"symbol-name:setFolders","kind":"calls","metadata":{"unresolvedName":"setFolders"}},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:<anonymous>","to":"symbol-name:loadFolders","kind":"calls","metadata":{"unresolvedName":"loadFolders"}},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:openCreateFolder","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:openCreateFolder","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:openCreateFolder","to":"symbol-name:setFolderForm","kind":"calls","metadata":{"unresolvedName":"setFolderForm"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:openCreateFolder","to":"symbol-name:setFolderError","kind":"calls","metadata":{"unresolvedName":"setFolderError"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:openCreateFolder","to":"symbol-name:setShowFolderForm","kind":"calls","metadata":{"unresolvedName":"setShowFolderForm"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:openCreateFolder","to":"symbol-name:setSelectedFolder","kind":"calls","metadata":{"unresolvedName":"setSelectedFolder"}},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:openEditFolder","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:openEditFolder","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:openEditFolder","to":"symbol-name:setFolderForm","kind":"calls","metadata":{"unresolvedName":"setFolderForm"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:openEditFolder","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:openEditFolder","to":"symbol-name:setFolderError","kind":"calls","metadata":{"unresolvedName":"setFolderError"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:openEditFolder","to":"symbol-name:setShowFolderForm","kind":"calls","metadata":{"unresolvedName":"setShowFolderForm"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:openEditFolder","to":"symbol-name:setSelectedFolder","kind":"calls","metadata":{"unresolvedName":"setSelectedFolder"}},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:handleFolderSubmit","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:handleFolderSubmit","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:handleFolderSubmit","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:handleFolderSubmit","to":"symbol-name:setFolderError","kind":"calls","metadata":{"unresolvedName":"setFolderError"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:handleFolderSubmit","to":"external:folderForm.name.trim","kind":"calls","metadata":{"unresolvedName":"folderForm.name.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:handleFolderSubmit","to":"external:folderForm.mount_path.trim","kind":"calls","metadata":{"unresolvedName":"folderForm.mount_path.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:handleFolderSubmit","to":"external:folderForm.files_json.trim","kind":"calls","metadata":{"unresolvedName":"folderForm.files_json.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:handleFolderSubmit","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:handleFolderSubmit","to":"external:folderForm.description.trim","kind":"calls","metadata":{"unresolvedName":"folderForm.description.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:handleFolderSubmit","to":"/workspace/apps/web/src/api/config-folders.ts:updateConfigFolder","kind":"calls","metadata":{"unresolvedName":"updateConfigFolder"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:handleFolderSubmit","to":"/workspace/apps/web/src/api/config-folders.ts:createConfigFolder","kind":"calls","metadata":{"unresolvedName":"createConfigFolder"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:handleFolderSubmit","to":"symbol-name:setShowFolderForm","kind":"calls","metadata":{"unresolvedName":"setShowFolderForm"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:handleFolderSubmit","to":"symbol-name:setSelectedFolder","kind":"calls","metadata":{"unresolvedName":"setSelectedFolder"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:handleFolderSubmit","to":"symbol-name:loadFolders","kind":"calls","metadata":{"unresolvedName":"loadFolders"}},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:handleDeleteFolder","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:handleDeleteFolder","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:handleDeleteFolder","to":"external:window.confirm","kind":"calls","metadata":{"unresolvedName":"window.confirm"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:handleDeleteFolder","to":"/workspace/apps/web/src/api/config-folders.ts:deleteConfigFolder","kind":"calls","metadata":{"unresolvedName":"deleteConfigFolder"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:handleDeleteFolder","to":"symbol-name:loadFolders","kind":"calls","metadata":{"unresolvedName":"loadFolders"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ConfigFoldersTab.tsx:handleDeleteFolder","to":"symbol-name:alert","kind":"calls","metadata":{"unresolvedName":"alert"}},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx","to":"file:/workspace/apps/web/src/components/ui/Icon.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx","to":"file:/workspace/apps/web/src/api/tool-configs.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx","to":"file:/workspace/apps/web/src/api/tool-types.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:ToolConfigsTab","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:ToolConfigsTab","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:ToolConfigsTab","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:ToolConfigsTab","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:ToolConfigsTab","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:ToolConfigsTab","to":"external:Promise.all","kind":"calls","metadata":{"unresolvedName":"Promise.all"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:ToolConfigsTab","to":"/workspace/apps/web/src/api/tool-configs.ts:listToolConfigs","kind":"calls","metadata":{"unresolvedName":"listToolConfigs"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:ToolConfigsTab","to":"/workspace/apps/web/src/api/tool-types.ts:listToolTypes","kind":"calls","metadata":{"unresolvedName":"listToolTypes"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:ToolConfigsTab","to":"symbol-name:setConfigs","kind":"calls","metadata":{"unresolvedName":"setConfigs"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:ToolConfigsTab","to":"symbol-name:setToolTypes","kind":"calls","metadata":{"unresolvedName":"setToolTypes"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:ToolConfigsTab","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:ToolConfigsTab","to":"symbol-name:loadData","kind":"calls","metadata":{"unresolvedName":"loadData"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:ToolConfigsTab","to":"symbol-name:setConfigForm","kind":"calls","metadata":{"unresolvedName":"setConfigForm"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:ToolConfigsTab","to":"symbol-name:setConfigError","kind":"calls","metadata":{"unresolvedName":"setConfigError"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:ToolConfigsTab","to":"symbol-name:setShowConfigForm","kind":"calls","metadata":{"unresolvedName":"setShowConfigForm"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:ToolConfigsTab","to":"symbol-name:setSelectedConfig","kind":"calls","metadata":{"unresolvedName":"setSelectedConfig"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:ToolConfigsTab","to":"external:config.port_override?.toString","kind":"calls","metadata":{"unresolvedName":"config.port_override?.toString"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:ToolConfigsTab","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:ToolConfigsTab","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:ToolConfigsTab","to":"external:configForm.key.trim","kind":"calls","metadata":{"unresolvedName":"configForm.key.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:ToolConfigsTab","to":"external:configForm.env_vars_json.trim","kind":"calls","metadata":{"unresolvedName":"configForm.env_vars_json.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:ToolConfigsTab","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:ToolConfigsTab","to":"external:configForm.volumes_json.trim","kind":"calls","metadata":{"unresolvedName":"configForm.volumes_json.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:ToolConfigsTab","to":"symbol-name:Number","kind":"calls","metadata":{"unresolvedName":"Number"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:ToolConfigsTab","to":"external:configForm.start_command.trim","kind":"calls","metadata":{"unresolvedName":"configForm.start_command.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:ToolConfigsTab","to":"external:configForm.working_directory.trim","kind":"calls","metadata":{"unresolvedName":"configForm.working_directory.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:ToolConfigsTab","to":"/workspace/apps/web/src/api/tool-configs.ts:updateToolConfig","kind":"calls","metadata":{"unresolvedName":"updateToolConfig"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:ToolConfigsTab","to":"/workspace/apps/web/src/api/tool-configs.ts:createToolConfig","kind":"calls","metadata":{"unresolvedName":"createToolConfig"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:ToolConfigsTab","to":"external:window.confirm","kind":"calls","metadata":{"unresolvedName":"window.confirm"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:ToolConfigsTab","to":"/workspace/apps/web/src/api/tool-configs.ts:deleteToolConfig","kind":"calls","metadata":{"unresolvedName":"deleteToolConfig"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:ToolConfigsTab","to":"symbol-name:alert","kind":"calls","metadata":{"unresolvedName":"alert"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:ToolConfigsTab","to":"external:toolTypes.map","kind":"calls","metadata":{"unresolvedName":"toolTypes.map"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:ToolConfigsTab","to":"external:configs.map","kind":"calls","metadata":{"unresolvedName":"configs.map"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:ToolConfigsTab","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:openEditConfig","kind":"calls","metadata":{"unresolvedName":"openEditConfig"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:ToolConfigsTab","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:handleDeleteConfig","kind":"calls","metadata":{"unresolvedName":"handleDeleteConfig"}},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:<anonymous>","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:<anonymous>","to":"external:Promise.all","kind":"calls","metadata":{"unresolvedName":"Promise.all"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:<anonymous>","to":"/workspace/apps/web/src/api/tool-configs.ts:listToolConfigs","kind":"calls","metadata":{"unresolvedName":"listToolConfigs"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:<anonymous>","to":"/workspace/apps/web/src/api/tool-types.ts:listToolTypes","kind":"calls","metadata":{"unresolvedName":"listToolTypes"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:<anonymous>","to":"symbol-name:setConfigs","kind":"calls","metadata":{"unresolvedName":"setConfigs"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:<anonymous>","to":"symbol-name:setToolTypes","kind":"calls","metadata":{"unresolvedName":"setToolTypes"}},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:<anonymous>","to":"symbol-name:loadData","kind":"calls","metadata":{"unresolvedName":"loadData"}},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:openCreateConfig","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:openCreateConfig","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:openCreateConfig","to":"symbol-name:setConfigForm","kind":"calls","metadata":{"unresolvedName":"setConfigForm"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:openCreateConfig","to":"symbol-name:setConfigError","kind":"calls","metadata":{"unresolvedName":"setConfigError"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:openCreateConfig","to":"symbol-name:setShowConfigForm","kind":"calls","metadata":{"unresolvedName":"setShowConfigForm"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:openCreateConfig","to":"symbol-name:setSelectedConfig","kind":"calls","metadata":{"unresolvedName":"setSelectedConfig"}},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:openEditConfig","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:openEditConfig","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:openEditConfig","to":"symbol-name:setConfigForm","kind":"calls","metadata":{"unresolvedName":"setConfigForm"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:openEditConfig","to":"external:config.port_override?.toString","kind":"calls","metadata":{"unresolvedName":"config.port_override?.toString"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:openEditConfig","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:openEditConfig","to":"symbol-name:setConfigError","kind":"calls","metadata":{"unresolvedName":"setConfigError"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:openEditConfig","to":"symbol-name:setShowConfigForm","kind":"calls","metadata":{"unresolvedName":"setShowConfigForm"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:openEditConfig","to":"symbol-name:setSelectedConfig","kind":"calls","metadata":{"unresolvedName":"setSelectedConfig"}},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:handleConfigSubmit","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:handleConfigSubmit","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:handleConfigSubmit","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:handleConfigSubmit","to":"symbol-name:setConfigError","kind":"calls","metadata":{"unresolvedName":"setConfigError"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:handleConfigSubmit","to":"external:configForm.key.trim","kind":"calls","metadata":{"unresolvedName":"configForm.key.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:handleConfigSubmit","to":"external:configForm.env_vars_json.trim","kind":"calls","metadata":{"unresolvedName":"configForm.env_vars_json.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:handleConfigSubmit","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:handleConfigSubmit","to":"external:configForm.volumes_json.trim","kind":"calls","metadata":{"unresolvedName":"configForm.volumes_json.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:handleConfigSubmit","to":"symbol-name:Number","kind":"calls","metadata":{"unresolvedName":"Number"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:handleConfigSubmit","to":"external:configForm.start_command.trim","kind":"calls","metadata":{"unresolvedName":"configForm.start_command.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:handleConfigSubmit","to":"external:configForm.working_directory.trim","kind":"calls","metadata":{"unresolvedName":"configForm.working_directory.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:handleConfigSubmit","to":"/workspace/apps/web/src/api/tool-configs.ts:updateToolConfig","kind":"calls","metadata":{"unresolvedName":"updateToolConfig"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:handleConfigSubmit","to":"/workspace/apps/web/src/api/tool-configs.ts:createToolConfig","kind":"calls","metadata":{"unresolvedName":"createToolConfig"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:handleConfigSubmit","to":"symbol-name:setShowConfigForm","kind":"calls","metadata":{"unresolvedName":"setShowConfigForm"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:handleConfigSubmit","to":"symbol-name:setSelectedConfig","kind":"calls","metadata":{"unresolvedName":"setSelectedConfig"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:handleConfigSubmit","to":"symbol-name:loadData","kind":"calls","metadata":{"unresolvedName":"loadData"}},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:handleDeleteConfig","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:handleDeleteConfig","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:handleDeleteConfig","to":"external:window.confirm","kind":"calls","metadata":{"unresolvedName":"window.confirm"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:handleDeleteConfig","to":"/workspace/apps/web/src/api/tool-configs.ts:deleteToolConfig","kind":"calls","metadata":{"unresolvedName":"deleteToolConfig"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:handleDeleteConfig","to":"symbol-name:loadData","kind":"calls","metadata":{"unresolvedName":"loadData"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolConfigsTab.tsx:handleDeleteConfig","to":"symbol-name:alert","kind":"calls","metadata":{"unresolvedName":"alert"}},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx","to":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx","to":"file:/workspace/apps/web/src/api/tool-types.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","to":"external:expect(screen.getByText(/loading tool types/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(/loading tool types/i)).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","to":"external:mockedList.mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockedList.mockResolvedValueOnce"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Tool Types\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Tool Types\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","to":"external:mockedList.mockRejectedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockedList.mockRejectedValueOnce"}},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","to":"external:expect(screen.getByText(/loading tool types/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(/loading tool types/i)).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","to":"external:mockedList.mockResolvedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockedList.mockResolvedValueOnce"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Tool Types\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Tool Types\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument"}},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Tool Types\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Tool Types\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","to":"external:mockedList.mockRejectedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockedList.mockRejectedValueOnce"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx","to":"file:/workspace/apps/web/src/components/ui/Icon.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx","to":"file:/workspace/apps/web/src/api/tool-types.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"/workspace/apps/web/src/api/tool-types.ts:listToolTypes","kind":"calls","metadata":{"unresolvedName":"listToolTypes"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"symbol-name:setToolTypes","kind":"calls","metadata":{"unresolvedName":"setToolTypes"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"/workspace/apps/web/src/pages/SessionsPage.tsx:loadToolTypes","kind":"calls","metadata":{"unresolvedName":"loadToolTypes"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"symbol-name:setToolTypeForm","kind":"calls","metadata":{"unresolvedName":"setToolTypeForm"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"symbol-name:setToolTypeError","kind":"calls","metadata":{"unresolvedName":"setToolTypeError"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"symbol-name:setShowToolTypeForm","kind":"calls","metadata":{"unresolvedName":"setShowToolTypeForm"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"symbol-name:setSelectedToolType","kind":"calls","metadata":{"unresolvedName":"setSelectedToolType"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"external:toolType.default_port?.toString","kind":"calls","metadata":{"unresolvedName":"toolType.default_port?.toString"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"external:toolType.readiness_probe?.timeout?.toString","kind":"calls","metadata":{"unresolvedName":"toolType.readiness_probe?.timeout?.toString"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"external:toolType.readiness_probe?.interval?.toString","kind":"calls","metadata":{"unresolvedName":"toolType.readiness_probe?.interval?.toString"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"external:toolType.required_variables?.join","kind":"calls","metadata":{"unresolvedName":"toolType.required_variables?.join"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"external:toolTypeForm.name.trim","kind":"calls","metadata":{"unresolvedName":"toolTypeForm.name.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"external:toolTypeForm.display_name.trim","kind":"calls","metadata":{"unresolvedName":"toolTypeForm.display_name.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"external:toolTypeForm.default_port.trim","kind":"calls","metadata":{"unresolvedName":"toolTypeForm.default_port.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"symbol-name:isNaN","kind":"calls","metadata":{"unresolvedName":"isNaN"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"symbol-name:Number","kind":"calls","metadata":{"unresolvedName":"Number"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"external:template.trim","kind":"calls","metadata":{"unresolvedName":"template.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"external:toolTypeForm.required_variables\n\t\t\t.split(\",\")\n\t\t\t.map","kind":"calls","metadata":{"unresolvedName":"toolTypeForm.required_variables\n\t\t\t.split(\",\")\n\t\t\t.map"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"external:toolTypeForm.required_variables\n\t\t\t.split","kind":"calls","metadata":{"unresolvedName":"toolTypeForm.required_variables\n\t\t\t.split"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"external:v.trim","kind":"calls","metadata":{"unresolvedName":"v.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"external:toolTypeForm.readiness_command.trim","kind":"calls","metadata":{"unresolvedName":"toolTypeForm.readiness_command.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"symbol-name:parseInt","kind":"calls","metadata":{"unresolvedName":"parseInt"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"external:toolTypeForm.description.trim","kind":"calls","metadata":{"unresolvedName":"toolTypeForm.description.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"external:toolTypeForm.category.trim","kind":"calls","metadata":{"unresolvedName":"toolTypeForm.category.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"/workspace/apps/web/src/api/tool-types.ts:updateToolType","kind":"calls","metadata":{"unresolvedName":"updateToolType"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"/workspace/apps/web/src/api/tool-types.ts:createToolType","kind":"calls","metadata":{"unresolvedName":"createToolType"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"external:window.confirm","kind":"calls","metadata":{"unresolvedName":"window.confirm"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"/workspace/apps/web/src/api/tool-types.ts:deleteToolType","kind":"calls","metadata":{"unresolvedName":"deleteToolType"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"symbol-name:alert","kind":"calls","metadata":{"unresolvedName":"alert"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"external:[\"web\", \"terminal\"].map","kind":"calls","metadata":{"unresolvedName":"[\"web\", \"terminal\"].map"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"external:toolTypeForm.interfaces.includes","kind":"calls","metadata":{"unresolvedName":"toolTypeForm.interfaces.includes"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"external:toolTypeForm.interfaces.filter","kind":"calls","metadata":{"unresolvedName":"toolTypeForm.interfaces.filter"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"external:toolTypes.map","kind":"calls","metadata":{"unresolvedName":"toolTypes.map"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"external:toolType.interfaces.join","kind":"calls","metadata":{"unresolvedName":"toolType.interfaces.join"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:openEditToolType","kind":"calls","metadata":{"unresolvedName":"openEditToolType"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:ToolTypesTab","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:handleDeleteToolType","kind":"calls","metadata":{"unresolvedName":"handleDeleteToolType"}},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:<anonymous>","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:<anonymous>","to":"/workspace/apps/web/src/api/tool-types.ts:listToolTypes","kind":"calls","metadata":{"unresolvedName":"listToolTypes"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:<anonymous>","to":"symbol-name:setToolTypes","kind":"calls","metadata":{"unresolvedName":"setToolTypes"}},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:<anonymous>","to":"/workspace/apps/web/src/pages/SessionsPage.tsx:loadToolTypes","kind":"calls","metadata":{"unresolvedName":"loadToolTypes"}},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:openCreateToolType","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:openCreateToolType","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:openCreateToolType","to":"symbol-name:setToolTypeForm","kind":"calls","metadata":{"unresolvedName":"setToolTypeForm"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:openCreateToolType","to":"symbol-name:setToolTypeError","kind":"calls","metadata":{"unresolvedName":"setToolTypeError"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:openCreateToolType","to":"symbol-name:setShowToolTypeForm","kind":"calls","metadata":{"unresolvedName":"setShowToolTypeForm"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:openCreateToolType","to":"symbol-name:setSelectedToolType","kind":"calls","metadata":{"unresolvedName":"setSelectedToolType"}},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:openEditToolType","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:openEditToolType","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:openEditToolType","to":"symbol-name:setToolTypeForm","kind":"calls","metadata":{"unresolvedName":"setToolTypeForm"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:openEditToolType","to":"external:toolType.default_port?.toString","kind":"calls","metadata":{"unresolvedName":"toolType.default_port?.toString"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:openEditToolType","to":"external:toolType.readiness_probe?.timeout?.toString","kind":"calls","metadata":{"unresolvedName":"toolType.readiness_probe?.timeout?.toString"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:openEditToolType","to":"external:toolType.readiness_probe?.interval?.toString","kind":"calls","metadata":{"unresolvedName":"toolType.readiness_probe?.interval?.toString"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:openEditToolType","to":"external:toolType.required_variables?.join","kind":"calls","metadata":{"unresolvedName":"toolType.required_variables?.join"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:openEditToolType","to":"symbol-name:setToolTypeError","kind":"calls","metadata":{"unresolvedName":"setToolTypeError"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:openEditToolType","to":"symbol-name:setShowToolTypeForm","kind":"calls","metadata":{"unresolvedName":"setShowToolTypeForm"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:openEditToolType","to":"symbol-name:setSelectedToolType","kind":"calls","metadata":{"unresolvedName":"setSelectedToolType"}},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:handleToolTypeSubmit","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:handleToolTypeSubmit","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:handleToolTypeSubmit","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:handleToolTypeSubmit","to":"symbol-name:setToolTypeError","kind":"calls","metadata":{"unresolvedName":"setToolTypeError"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:handleToolTypeSubmit","to":"external:toolTypeForm.name.trim","kind":"calls","metadata":{"unresolvedName":"toolTypeForm.name.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:handleToolTypeSubmit","to":"external:toolTypeForm.display_name.trim","kind":"calls","metadata":{"unresolvedName":"toolTypeForm.display_name.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:handleToolTypeSubmit","to":"external:toolTypeForm.default_port.trim","kind":"calls","metadata":{"unresolvedName":"toolTypeForm.default_port.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:handleToolTypeSubmit","to":"symbol-name:isNaN","kind":"calls","metadata":{"unresolvedName":"isNaN"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:handleToolTypeSubmit","to":"symbol-name:Number","kind":"calls","metadata":{"unresolvedName":"Number"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:handleToolTypeSubmit","to":"external:template.trim","kind":"calls","metadata":{"unresolvedName":"template.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:handleToolTypeSubmit","to":"external:toolTypeForm.required_variables\n\t\t\t.split(\",\")\n\t\t\t.map","kind":"calls","metadata":{"unresolvedName":"toolTypeForm.required_variables\n\t\t\t.split(\",\")\n\t\t\t.map"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:handleToolTypeSubmit","to":"external:toolTypeForm.required_variables\n\t\t\t.split","kind":"calls","metadata":{"unresolvedName":"toolTypeForm.required_variables\n\t\t\t.split"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:handleToolTypeSubmit","to":"external:v.trim","kind":"calls","metadata":{"unresolvedName":"v.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:handleToolTypeSubmit","to":"external:toolTypeForm.readiness_command.trim","kind":"calls","metadata":{"unresolvedName":"toolTypeForm.readiness_command.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:handleToolTypeSubmit","to":"symbol-name:parseInt","kind":"calls","metadata":{"unresolvedName":"parseInt"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:handleToolTypeSubmit","to":"external:toolTypeForm.description.trim","kind":"calls","metadata":{"unresolvedName":"toolTypeForm.description.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:handleToolTypeSubmit","to":"external:toolTypeForm.category.trim","kind":"calls","metadata":{"unresolvedName":"toolTypeForm.category.trim"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:handleToolTypeSubmit","to":"/workspace/apps/web/src/api/tool-types.ts:updateToolType","kind":"calls","metadata":{"unresolvedName":"updateToolType"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:handleToolTypeSubmit","to":"/workspace/apps/web/src/api/tool-types.ts:createToolType","kind":"calls","metadata":{"unresolvedName":"createToolType"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:handleToolTypeSubmit","to":"symbol-name:setShowToolTypeForm","kind":"calls","metadata":{"unresolvedName":"setShowToolTypeForm"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:handleToolTypeSubmit","to":"symbol-name:setSelectedToolType","kind":"calls","metadata":{"unresolvedName":"setSelectedToolType"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:handleToolTypeSubmit","to":"/workspace/apps/web/src/pages/SessionsPage.tsx:loadToolTypes","kind":"calls","metadata":{"unresolvedName":"loadToolTypes"}},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:handleDeleteToolType","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:handleDeleteToolType","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:handleDeleteToolType","to":"external:window.confirm","kind":"calls","metadata":{"unresolvedName":"window.confirm"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:handleDeleteToolType","to":"/workspace/apps/web/src/api/tool-types.ts:deleteToolType","kind":"calls","metadata":{"unresolvedName":"deleteToolType"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:handleDeleteToolType","to":"/workspace/apps/web/src/pages/SessionsPage.tsx:loadToolTypes","kind":"calls","metadata":{"unresolvedName":"loadToolTypes"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:handleDeleteToolType","to":"symbol-name:alert","kind":"calls","metadata":{"unresolvedName":"alert"}},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:<anonymous>","to":"symbol-name:setToolTypeForm","kind":"calls","metadata":{"unresolvedName":"setToolTypeForm"}},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:<anonymous>","to":"external:toolTypeForm.interfaces.filter","kind":"calls","metadata":{"unresolvedName":"toolTypeForm.interfaces.filter"}},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx","to":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/tool-workshop/ToolTypesTab.tsx:<anonymous>","to":"symbol-name:setToolTypeForm","kind":"calls","metadata":{"unresolvedName":"setToolTypeForm"}},{"from":"file:/workspace/apps/web/src/components/features/workspace/WorkspaceHeader.tsx","to":"external:react-router-dom","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/workspace/WorkspaceHeader.tsx","to":"file:/workspace/apps/web/src/components/ui/Icon.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/workspace/WorkspaceHeader.tsx","to":"/workspace/apps/web/src/components/features/workspace/WorkspaceHeader.tsx:WorkspaceHeader","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/workspace/WorkspaceHeader.tsx","to":"/workspace/apps/web/src/components/features/workspace/WorkspaceHeader.tsx:WorkspaceHeader","kind":"defines"},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"external:@/components/ui/Icon","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"file:/workspace/apps/web/src/api/config_profiles.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"file:/workspace/apps/web/src/api/config_profiles.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:normalizeMount","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:normalizeMount","kind":"defines"},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:normalizeMounts","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:normalizeMounts","kind":"defines"},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:normalizeMounts","to":"external:mounts.map","kind":"calls","metadata":{"unresolvedName":"mounts.map"}},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountEditor","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountEditor","kind":"defines"},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountEditor","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountEditor","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:normalizeMounts","kind":"calls","metadata":{"unresolvedName":"normalizeMounts"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountEditor","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountEditor","to":"symbol-name:setNormalizedMounts","kind":"calls","metadata":{"unresolvedName":"setNormalizedMounts"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountEditor","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:normalizeMount","kind":"calls","metadata":{"unresolvedName":"normalizeMount"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountEditor","to":"symbol-name:onChange","kind":"calls","metadata":{"unresolvedName":"onChange"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountEditor","to":"symbol-name:setIsAdding","kind":"calls","metadata":{"unresolvedName":"setIsAdding"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountEditor","to":"symbol-name:setEditingIndex","kind":"calls","metadata":{"unresolvedName":"setEditingIndex"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountEditor","to":"external:normalizedMounts.filter","kind":"calls","metadata":{"unresolvedName":"normalizedMounts.filter"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountEditor","to":"external:normalizedMounts.map","kind":"calls","metadata":{"unresolvedName":"normalizedMounts.map"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountEditor","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleUpdate","kind":"calls","metadata":{"unresolvedName":"handleUpdate"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountEditor","to":"external:mount.mappings?.map","kind":"calls","metadata":{"unresolvedName":"mount.mappings?.map"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountEditor","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleRemove","kind":"calls","metadata":{"unresolvedName":"handleRemove"}},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:<anonymous>","to":"symbol-name:setNormalizedMounts","kind":"calls","metadata":{"unresolvedName":"setNormalizedMounts"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:<anonymous>","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:normalizeMounts","kind":"calls","metadata":{"unresolvedName":"normalizeMounts"}},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleAdd","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleAdd","kind":"defines"},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleAdd","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:normalizeMount","kind":"calls","metadata":{"unresolvedName":"normalizeMount"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleAdd","to":"symbol-name:setNormalizedMounts","kind":"calls","metadata":{"unresolvedName":"setNormalizedMounts"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleAdd","to":"symbol-name:onChange","kind":"calls","metadata":{"unresolvedName":"onChange"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleAdd","to":"symbol-name:setIsAdding","kind":"calls","metadata":{"unresolvedName":"setIsAdding"}},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleUpdate","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleUpdate","kind":"defines"},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleUpdate","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:normalizeMount","kind":"calls","metadata":{"unresolvedName":"normalizeMount"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleUpdate","to":"symbol-name:setNormalizedMounts","kind":"calls","metadata":{"unresolvedName":"setNormalizedMounts"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleUpdate","to":"symbol-name:onChange","kind":"calls","metadata":{"unresolvedName":"onChange"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleUpdate","to":"symbol-name:setEditingIndex","kind":"calls","metadata":{"unresolvedName":"setEditingIndex"}},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleRemove","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleRemove","kind":"defines"},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleRemove","to":"external:normalizedMounts.filter","kind":"calls","metadata":{"unresolvedName":"normalizedMounts.filter"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleRemove","to":"symbol-name:setNormalizedMounts","kind":"calls","metadata":{"unresolvedName":"setNormalizedMounts"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleRemove","to":"symbol-name:onChange","kind":"calls","metadata":{"unresolvedName":"onChange"}},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountForm","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountForm","kind":"defines"},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountForm","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountForm","to":"external:remoteUrl.trim","kind":"calls","metadata":{"unresolvedName":"remoteUrl.trim"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountForm","to":"symbol-name:setErrors","kind":"calls","metadata":{"unresolvedName":"setErrors"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountForm","to":"symbol-name:setValidation","kind":"calls","metadata":{"unresolvedName":"setValidation"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountForm","to":"/workspace/apps/web/src/api/config_profiles.ts:validateGitUrl","kind":"calls","metadata":{"unresolvedName":"validateGitUrl"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountForm","to":"symbol-name:setBranch","kind":"calls","metadata":{"unresolvedName":"setBranch"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountForm","to":"symbol-name:setRemoteUrl","kind":"calls","metadata":{"unresolvedName":"setRemoteUrl"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountForm","to":"external:remoteUrl.startsWith","kind":"calls","metadata":{"unresolvedName":"remoteUrl.startsWith"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountForm","to":"external:mappings.forEach","kind":"calls","metadata":{"unresolvedName":"mappings.forEach"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountForm","to":"external:m.target_path.trim","kind":"calls","metadata":{"unresolvedName":"m.target_path.trim"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountForm","to":"external:m.source_path.includes","kind":"calls","metadata":{"unresolvedName":"m.source_path.includes"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountForm","to":"external:m.target_path.includes","kind":"calls","metadata":{"unresolvedName":"m.target_path.includes"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountForm","to":"external:Object.keys","kind":"calls","metadata":{"unresolvedName":"Object.keys"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountForm","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:validate","kind":"calls","metadata":{"unresolvedName":"validate"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountForm","to":"symbol-name:onSave","kind":"calls","metadata":{"unresolvedName":"onSave"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountForm","to":"external:branch.trim","kind":"calls","metadata":{"unresolvedName":"branch.trim"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountForm","to":"external:mappings.map","kind":"calls","metadata":{"unresolvedName":"mappings.map"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountForm","to":"external:m.source_path.trim","kind":"calls","metadata":{"unresolvedName":"m.source_path.trim"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountForm","to":"symbol-name:setMappings","kind":"calls","metadata":{"unresolvedName":"setMappings"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountForm","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountForm","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:updateMapping","kind":"calls","metadata":{"unresolvedName":"updateMapping"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:GitMountForm","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:removeMapping","kind":"calls","metadata":{"unresolvedName":"removeMapping"}},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleCheckUrl","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleCheckUrl","kind":"defines"},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleCheckUrl","to":"external:remoteUrl.trim","kind":"calls","metadata":{"unresolvedName":"remoteUrl.trim"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleCheckUrl","to":"symbol-name:setErrors","kind":"calls","metadata":{"unresolvedName":"setErrors"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleCheckUrl","to":"symbol-name:setValidation","kind":"calls","metadata":{"unresolvedName":"setValidation"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleCheckUrl","to":"/workspace/apps/web/src/api/config_profiles.ts:validateGitUrl","kind":"calls","metadata":{"unresolvedName":"validateGitUrl"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleCheckUrl","to":"symbol-name:setBranch","kind":"calls","metadata":{"unresolvedName":"setBranch"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleCheckUrl","to":"symbol-name:setRemoteUrl","kind":"calls","metadata":{"unresolvedName":"setRemoteUrl"}},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:<anonymous>","kind":"defines"},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:applySuggestion","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:applySuggestion","kind":"defines"},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:applySuggestion","to":"symbol-name:setRemoteUrl","kind":"calls","metadata":{"unresolvedName":"setRemoteUrl"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:applySuggestion","to":"symbol-name:setValidation","kind":"calls","metadata":{"unresolvedName":"setValidation"}},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:validate","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:validate","kind":"defines"},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:validate","to":"external:remoteUrl.trim","kind":"calls","metadata":{"unresolvedName":"remoteUrl.trim"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:validate","to":"external:remoteUrl.startsWith","kind":"calls","metadata":{"unresolvedName":"remoteUrl.startsWith"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:validate","to":"external:mappings.forEach","kind":"calls","metadata":{"unresolvedName":"mappings.forEach"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:validate","to":"external:m.target_path.trim","kind":"calls","metadata":{"unresolvedName":"m.target_path.trim"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:validate","to":"external:m.source_path.includes","kind":"calls","metadata":{"unresolvedName":"m.source_path.includes"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:validate","to":"external:m.target_path.includes","kind":"calls","metadata":{"unresolvedName":"m.target_path.includes"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:validate","to":"symbol-name:setErrors","kind":"calls","metadata":{"unresolvedName":"setErrors"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:validate","to":"external:Object.keys","kind":"calls","metadata":{"unresolvedName":"Object.keys"}},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:<anonymous>","to":"external:m.target_path.trim","kind":"calls","metadata":{"unresolvedName":"m.target_path.trim"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:<anonymous>","to":"external:m.source_path.includes","kind":"calls","metadata":{"unresolvedName":"m.source_path.includes"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:<anonymous>","to":"external:m.target_path.includes","kind":"calls","metadata":{"unresolvedName":"m.target_path.includes"}},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleSubmit","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleSubmit","kind":"defines"},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleSubmit","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:validate","kind":"calls","metadata":{"unresolvedName":"validate"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleSubmit","to":"symbol-name:onSave","kind":"calls","metadata":{"unresolvedName":"onSave"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleSubmit","to":"external:remoteUrl.trim","kind":"calls","metadata":{"unresolvedName":"remoteUrl.trim"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleSubmit","to":"external:branch.trim","kind":"calls","metadata":{"unresolvedName":"branch.trim"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleSubmit","to":"external:mappings.map","kind":"calls","metadata":{"unresolvedName":"mappings.map"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleSubmit","to":"external:m.source_path.trim","kind":"calls","metadata":{"unresolvedName":"m.source_path.trim"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:handleSubmit","to":"external:m.target_path.trim","kind":"calls","metadata":{"unresolvedName":"m.target_path.trim"}},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:addMapping","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:addMapping","kind":"defines"},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:addMapping","to":"symbol-name:setMappings","kind":"calls","metadata":{"unresolvedName":"setMappings"}},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:updateMapping","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:updateMapping","kind":"defines"},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:updateMapping","to":"symbol-name:setMappings","kind":"calls","metadata":{"unresolvedName":"setMappings"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:updateMapping","to":"symbol-name:setErrors","kind":"calls","metadata":{"unresolvedName":"setErrors"}},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:<anonymous>","kind":"defines"},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:<anonymous>","kind":"defines"},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:removeMapping","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:removeMapping","kind":"defines"},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:removeMapping","to":"symbol-name:setMappings","kind":"calls","metadata":{"unresolvedName":"setMappings"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:removeMapping","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:<anonymous>","to":"symbol-name:setRemoteUrl","kind":"calls","metadata":{"unresolvedName":"setRemoteUrl"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:<anonymous>","to":"symbol-name:setValidation","kind":"calls","metadata":{"unresolvedName":"setValidation"}},{"from":"/workspace/apps/web/src/components/git-mount-editor.tsx:<anonymous>","to":"symbol-name:setErrors","kind":"calls","metadata":{"unresolvedName":"setErrors"}},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","to":"/workspace/apps/web/src/components/git-mount-editor.tsx:<anonymous>","kind":"defines"},{"from":"file:/workspace/apps/web/src/components/layout/AppShell.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/layout/AppShell.tsx","to":"external:react-router-dom","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/layout/AppShell.tsx","to":"file:/workspace/apps/web/src/api/sessions.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/layout/AppShell.tsx","to":"file:/workspace/apps/web/src/types/session.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/layout/AppShell.tsx","to":"file:/workspace/apps/web/src/hooks/use-theme.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/layout/AppShell.tsx","to":"file:/workspace/apps/web/src/state/auth.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/layout/AppShell.tsx","to":"file:/workspace/apps/web/src/state/sessions.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/layout/AppShell.tsx","to":"file:/workspace/apps/web/src/components/ui/Icon.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/layout/AppShell.tsx","to":"file:/workspace/apps/web/src/utils/icons.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/layout/AppShell.tsx","to":"file:/workspace/apps/web/src/components/layout/AppShell.module.css","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/layout/AppShell.tsx","to":"/workspace/apps/web/src/components/layout/AppShell.tsx:SessionItem","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/layout/AppShell.tsx","to":"/workspace/apps/web/src/components/layout/AppShell.tsx:SessionItem","kind":"defines"},{"from":"file:/workspace/apps/web/src/components/layout/AppShell.tsx","to":"/workspace/apps/web/src/components/layout/AppShell.tsx:AppShell","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/layout/AppShell.tsx","to":"/workspace/apps/web/src/components/layout/AppShell.tsx:AppShell","kind":"defines"},{"from":"/workspace/apps/web/src/components/layout/AppShell.tsx:AppShell","to":"/workspace/apps/web/src/hooks/use-theme.ts:useTheme","kind":"calls","metadata":{"unresolvedName":"useTheme"}},{"from":"/workspace/apps/web/src/components/layout/AppShell.tsx:AppShell","to":"/workspace/apps/web/src/state/auth.tsx:useAuth","kind":"calls","metadata":{"unresolvedName":"useAuth"}},{"from":"/workspace/apps/web/src/components/layout/AppShell.tsx:AppShell","to":"/workspace/apps/web/src/state/sessions.tsx:useSessions","kind":"calls","metadata":{"unresolvedName":"useSessions"}},{"from":"/workspace/apps/web/src/components/layout/AppShell.tsx:AppShell","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/components/layout/AppShell.tsx:AppShell","to":"symbol-name:setAllSessions","kind":"calls","metadata":{"unresolvedName":"setAllSessions"}},{"from":"/workspace/apps/web/src/components/layout/AppShell.tsx:AppShell","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/components/layout/AppShell.tsx:AppShell","to":"symbol-name:loadSessions","kind":"calls","metadata":{"unresolvedName":"loadSessions"}},{"from":"/workspace/apps/web/src/components/layout/AppShell.tsx:AppShell","to":"symbol-name:setInterval","kind":"calls","metadata":{"unresolvedName":"setInterval"}},{"from":"/workspace/apps/web/src/components/layout/AppShell.tsx:AppShell","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"/workspace/apps/web/src/components/layout/AppShell.tsx:AppShell","to":"symbol-name:logout","kind":"calls","metadata":{"unresolvedName":"logout"}},{"from":"/workspace/apps/web/src/components/layout/AppShell.tsx:AppShell","to":"external:NAV_ITEMS.map","kind":"calls","metadata":{"unresolvedName":"NAV_ITEMS.map"}},{"from":"/workspace/apps/web/src/components/layout/AppShell.tsx:AppShell","to":"external:sessions.filter","kind":"calls","metadata":{"unresolvedName":"sessions.filter"}},{"from":"/workspace/apps/web/src/components/layout/AppShell.tsx:AppShell","to":"external:ACTIVE_STATUSES.includes","kind":"calls","metadata":{"unresolvedName":"ACTIVE_STATUSES.includes"}},{"from":"/workspace/apps/web/src/components/layout/AppShell.tsx:AppShell","to":"external:sessions\n\t\t\t\t\t\t\t\t.filter","kind":"calls","metadata":{"unresolvedName":"sessions\n\t\t\t\t\t\t\t\t.filter"}},{"from":"file:/workspace/apps/web/src/components/layout/AppShell.tsx","to":"/workspace/apps/web/src/components/layout/AppShell.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/layout/AppShell.tsx","to":"/workspace/apps/web/src/components/layout/AppShell.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/layout/AppShell.tsx:<anonymous>","to":"symbol-name:setAllSessions","kind":"calls","metadata":{"unresolvedName":"setAllSessions"}},{"from":"file:/workspace/apps/web/src/components/layout/AppShell.tsx","to":"/workspace/apps/web/src/components/layout/AppShell.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/layout/AppShell.tsx","to":"/workspace/apps/web/src/components/layout/AppShell.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/layout/AppShell.tsx:<anonymous>","to":"symbol-name:loadSessions","kind":"calls","metadata":{"unresolvedName":"loadSessions"}},{"from":"/workspace/apps/web/src/components/layout/AppShell.tsx:<anonymous>","to":"symbol-name:setInterval","kind":"calls","metadata":{"unresolvedName":"setInterval"}},{"from":"/workspace/apps/web/src/components/layout/AppShell.tsx:<anonymous>","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"file:/workspace/apps/web/src/components/layout/AppShell.tsx","to":"/workspace/apps/web/src/components/layout/AppShell.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/layout/AppShell.tsx","to":"/workspace/apps/web/src/components/layout/AppShell.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/layout/AppShell.tsx:<anonymous>","to":"symbol-name:loadSessions","kind":"calls","metadata":{"unresolvedName":"loadSessions"}},{"from":"file:/workspace/apps/web/src/components/layout/AppShell.tsx","to":"/workspace/apps/web/src/components/layout/AppShell.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/layout/AppShell.tsx","to":"/workspace/apps/web/src/components/layout/AppShell.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/layout/AppShell.tsx:<anonymous>","to":"symbol-name:logout","kind":"calls","metadata":{"unresolvedName":"logout"}},{"from":"file:/workspace/apps/web/src/components/layout/AppShell.tsx","to":"/workspace/apps/web/src/components/layout/AppShell.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/layout/AppShell.tsx","to":"/workspace/apps/web/src/components/layout/AppShell.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/layout/AppShell.tsx:<anonymous>","to":"external:sessions.filter","kind":"calls","metadata":{"unresolvedName":"sessions.filter"}},{"from":"file:/workspace/apps/web/src/components/manifest-editor.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/manifest-editor.tsx","to":"external:@/components/ui/Icon","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/manifest-editor.tsx","to":"file:/workspace/apps/web/src/utils/errors.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/manifest-editor.tsx","to":"file:/workspace/apps/web/src/api/tool_definitions.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/manifest-editor.tsx","to":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/manifest-editor.tsx","to":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","kind":"defines"},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"symbol-name:setBaseImage","kind":"calls","metadata":{"unresolvedName":"setBaseImage"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"symbol-name:setBaseDefinitionId","kind":"calls","metadata":{"unresolvedName":"setBaseDefinitionId"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"symbol-name:setAptPackages","kind":"calls","metadata":{"unresolvedName":"setAptPackages"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"external:((pkgs.apt as string[]) || []).map","kind":"calls","metadata":{"unresolvedName":"((pkgs.apt as string[]) || []).map"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"symbol-name:setNpmPackages","kind":"calls","metadata":{"unresolvedName":"setNpmPackages"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"external:((pkgs.npm_global as string[]) || []).map","kind":"calls","metadata":{"unresolvedName":"((pkgs.npm_global as string[]) || []).map"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"symbol-name:setPipPackages","kind":"calls","metadata":{"unresolvedName":"setPipPackages"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"external:((pkgs.pip as string[]) || []).map","kind":"calls","metadata":{"unresolvedName":"((pkgs.pip as string[]) || []).map"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"symbol-name:setNodeVersion","kind":"calls","metadata":{"unresolvedName":"setNodeVersion"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"symbol-name:setUserName","kind":"calls","metadata":{"unresolvedName":"setUserName"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"symbol-name:setUserUid","kind":"calls","metadata":{"unresolvedName":"setUserUid"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"symbol-name:setUserGid","kind":"calls","metadata":{"unresolvedName":"setUserGid"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"symbol-name:setEnvVars","kind":"calls","metadata":{"unresolvedName":"setEnvVars"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"external:Object.entries(env).map","kind":"calls","metadata":{"unresolvedName":"Object.entries(env).map"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"external:Object.entries","kind":"calls","metadata":{"unresolvedName":"Object.entries"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"symbol-name:setBuildScripts","kind":"calls","metadata":{"unresolvedName":"setBuildScripts"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"symbol-name:setStartupScripts","kind":"calls","metadata":{"unresolvedName":"setStartupScripts"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"symbol-name:setMounts","kind":"calls","metadata":{"unresolvedName":"setMounts"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"symbol-name:setCommand","kind":"calls","metadata":{"unresolvedName":"setCommand"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"symbol-name:setWorkingDir","kind":"calls","metadata":{"unresolvedName":"setWorkingDir"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"symbol-name:setStdinOpen","kind":"calls","metadata":{"unresolvedName":"setStdinOpen"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"symbol-name:setTty","kind":"calls","metadata":{"unresolvedName":"setTty"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"external:aptPackages.map((p) => p.name).filter","kind":"calls","metadata":{"unresolvedName":"aptPackages.map((p) => p.name).filter"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"external:aptPackages.map","kind":"calls","metadata":{"unresolvedName":"aptPackages.map"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"external:npmPackages.map((p) => p.name).filter","kind":"calls","metadata":{"unresolvedName":"npmPackages.map((p) => p.name).filter"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"external:npmPackages.map","kind":"calls","metadata":{"unresolvedName":"npmPackages.map"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"external:pipPackages.map((p) => p.name).filter","kind":"calls","metadata":{"unresolvedName":"pipPackages.map((p) => p.name).filter"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"external:pipPackages.map","kind":"calls","metadata":{"unresolvedName":"pipPackages.map"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"external:envVars.forEach","kind":"calls","metadata":{"unresolvedName":"envVars.forEach"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"external:buildScripts.filter","kind":"calls","metadata":{"unresolvedName":"buildScripts.filter"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"external:startupScripts.filter","kind":"calls","metadata":{"unresolvedName":"startupScripts.filter"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"external:mounts.filter","kind":"calls","metadata":{"unresolvedName":"mounts.filter"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"symbol-name:parseInt","kind":"calls","metadata":{"unresolvedName":"parseInt"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"external:command.filter","kind":"calls","metadata":{"unresolvedName":"command.filter"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"symbol-name:buildManifest","kind":"calls","metadata":{"unresolvedName":"buildManifest"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"external:onChangeRef.current","kind":"calls","metadata":{"unresolvedName":"onChangeRef.current"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"symbol-name:setPreviewError","kind":"calls","metadata":{"unresolvedName":"setPreviewError"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"symbol-name:setPreviewLoading","kind":"calls","metadata":{"unresolvedName":"setPreviewLoading"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"/workspace/apps/web/src/api/tool_definitions.ts:compileToolDefinition","kind":"calls","metadata":{"unresolvedName":"compileToolDefinition"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"symbol-name:setPreview","kind":"calls","metadata":{"unresolvedName":"setPreview"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"/workspace/apps/web/src/utils/errors.ts:extractErrorMessage","kind":"calls","metadata":{"unresolvedName":"extractErrorMessage"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"external:aptPackages.filter","kind":"calls","metadata":{"unresolvedName":"aptPackages.filter"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"external:npmPackages.filter","kind":"calls","metadata":{"unresolvedName":"npmPackages.filter"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"external:pipPackages.filter","kind":"calls","metadata":{"unresolvedName":"pipPackages.filter"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"external:envVars.filter","kind":"calls","metadata":{"unresolvedName":"envVars.filter"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"external:baseDefinitions.map","kind":"calls","metadata":{"unresolvedName":"baseDefinitions.map"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"/workspace/apps/web/src/components/manifest-editor.tsx:updateAptPackage","kind":"calls","metadata":{"unresolvedName":"updateAptPackage"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"symbol-name:removeAptPackage","kind":"calls","metadata":{"unresolvedName":"removeAptPackage"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"/workspace/apps/web/src/components/manifest-editor.tsx:updateNpmPackage","kind":"calls","metadata":{"unresolvedName":"updateNpmPackage"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"symbol-name:removeNpmPackage","kind":"calls","metadata":{"unresolvedName":"removeNpmPackage"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"/workspace/apps/web/src/components/manifest-editor.tsx:updatePipPackage","kind":"calls","metadata":{"unresolvedName":"updatePipPackage"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"symbol-name:removePipPackage","kind":"calls","metadata":{"unresolvedName":"removePipPackage"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"external:envVars.map","kind":"calls","metadata":{"unresolvedName":"envVars.map"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"symbol-name:updateEnvVar","kind":"calls","metadata":{"unresolvedName":"updateEnvVar"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"/workspace/apps/web/src/pages/config-profiles.tsx:removeEnvVar","kind":"calls","metadata":{"unresolvedName":"removeEnvVar"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"external:buildScripts.map","kind":"calls","metadata":{"unresolvedName":"buildScripts.map"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"/workspace/apps/web/src/components/manifest-editor.tsx:updateBuildScript","kind":"calls","metadata":{"unresolvedName":"updateBuildScript"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"symbol-name:removeBuildScript","kind":"calls","metadata":{"unresolvedName":"removeBuildScript"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"external:startupScripts.map","kind":"calls","metadata":{"unresolvedName":"startupScripts.map"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"/workspace/apps/web/src/components/manifest-editor.tsx:updateStartupScript","kind":"calls","metadata":{"unresolvedName":"updateStartupScript"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"symbol-name:removeStartupScript","kind":"calls","metadata":{"unresolvedName":"removeStartupScript"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"external:mounts.map","kind":"calls","metadata":{"unresolvedName":"mounts.map"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"symbol-name:updateMount","kind":"calls","metadata":{"unresolvedName":"updateMount"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"/workspace/apps/web/src/pages/config-profiles.tsx:removeMount","kind":"calls","metadata":{"unresolvedName":"removeMount"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"external:command.join","kind":"calls","metadata":{"unresolvedName":"command.join"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:ManifestEditor","to":"external:e.target.value.split","kind":"calls","metadata":{"unresolvedName":"e.target.value.split"}},{"from":"file:/workspace/apps/web/src/components/manifest-editor.tsx","to":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/manifest-editor.tsx","to":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"symbol-name:setBaseImage","kind":"calls","metadata":{"unresolvedName":"setBaseImage"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"symbol-name:setBaseDefinitionId","kind":"calls","metadata":{"unresolvedName":"setBaseDefinitionId"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"symbol-name:setAptPackages","kind":"calls","metadata":{"unresolvedName":"setAptPackages"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"external:((pkgs.apt as string[]) || []).map","kind":"calls","metadata":{"unresolvedName":"((pkgs.apt as string[]) || []).map"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"symbol-name:setNpmPackages","kind":"calls","metadata":{"unresolvedName":"setNpmPackages"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"external:((pkgs.npm_global as string[]) || []).map","kind":"calls","metadata":{"unresolvedName":"((pkgs.npm_global as string[]) || []).map"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"symbol-name:setPipPackages","kind":"calls","metadata":{"unresolvedName":"setPipPackages"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"external:((pkgs.pip as string[]) || []).map","kind":"calls","metadata":{"unresolvedName":"((pkgs.pip as string[]) || []).map"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"symbol-name:setNodeVersion","kind":"calls","metadata":{"unresolvedName":"setNodeVersion"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"symbol-name:setUserName","kind":"calls","metadata":{"unresolvedName":"setUserName"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"symbol-name:setUserUid","kind":"calls","metadata":{"unresolvedName":"setUserUid"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"symbol-name:setUserGid","kind":"calls","metadata":{"unresolvedName":"setUserGid"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"symbol-name:setEnvVars","kind":"calls","metadata":{"unresolvedName":"setEnvVars"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"external:Object.entries(env).map","kind":"calls","metadata":{"unresolvedName":"Object.entries(env).map"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"external:Object.entries","kind":"calls","metadata":{"unresolvedName":"Object.entries"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"symbol-name:setBuildScripts","kind":"calls","metadata":{"unresolvedName":"setBuildScripts"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"symbol-name:setStartupScripts","kind":"calls","metadata":{"unresolvedName":"setStartupScripts"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"symbol-name:setMounts","kind":"calls","metadata":{"unresolvedName":"setMounts"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"symbol-name:setCommand","kind":"calls","metadata":{"unresolvedName":"setCommand"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"symbol-name:setWorkingDir","kind":"calls","metadata":{"unresolvedName":"setWorkingDir"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"symbol-name:setStdinOpen","kind":"calls","metadata":{"unresolvedName":"setStdinOpen"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"symbol-name:setTty","kind":"calls","metadata":{"unresolvedName":"setTty"}},{"from":"file:/workspace/apps/web/src/components/manifest-editor.tsx","to":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/manifest-editor.tsx","to":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"external:aptPackages.map((p) => p.name).filter","kind":"calls","metadata":{"unresolvedName":"aptPackages.map((p) => p.name).filter"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"external:aptPackages.map","kind":"calls","metadata":{"unresolvedName":"aptPackages.map"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"external:npmPackages.map((p) => p.name).filter","kind":"calls","metadata":{"unresolvedName":"npmPackages.map((p) => p.name).filter"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"external:npmPackages.map","kind":"calls","metadata":{"unresolvedName":"npmPackages.map"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"external:pipPackages.map((p) => p.name).filter","kind":"calls","metadata":{"unresolvedName":"pipPackages.map((p) => p.name).filter"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"external:pipPackages.map","kind":"calls","metadata":{"unresolvedName":"pipPackages.map"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"external:envVars.forEach","kind":"calls","metadata":{"unresolvedName":"envVars.forEach"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"external:buildScripts.filter","kind":"calls","metadata":{"unresolvedName":"buildScripts.filter"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"external:startupScripts.filter","kind":"calls","metadata":{"unresolvedName":"startupScripts.filter"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"external:mounts.filter","kind":"calls","metadata":{"unresolvedName":"mounts.filter"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"symbol-name:parseInt","kind":"calls","metadata":{"unresolvedName":"parseInt"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"external:command.filter","kind":"calls","metadata":{"unresolvedName":"command.filter"}},{"from":"file:/workspace/apps/web/src/components/manifest-editor.tsx","to":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/manifest-editor.tsx","to":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","kind":"defines"},{"from":"file:/workspace/apps/web/src/components/manifest-editor.tsx","to":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/manifest-editor.tsx","to":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"symbol-name:buildManifest","kind":"calls","metadata":{"unresolvedName":"buildManifest"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"external:onChangeRef.current","kind":"calls","metadata":{"unresolvedName":"onChangeRef.current"}},{"from":"file:/workspace/apps/web/src/components/manifest-editor.tsx","to":"/workspace/apps/web/src/components/manifest-editor.tsx:handlePreview","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/manifest-editor.tsx","to":"/workspace/apps/web/src/components/manifest-editor.tsx:handlePreview","kind":"defines"},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:handlePreview","to":"symbol-name:setPreviewError","kind":"calls","metadata":{"unresolvedName":"setPreviewError"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:handlePreview","to":"symbol-name:setPreviewLoading","kind":"calls","metadata":{"unresolvedName":"setPreviewLoading"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:handlePreview","to":"/workspace/apps/web/src/api/tool_definitions.ts:compileToolDefinition","kind":"calls","metadata":{"unresolvedName":"compileToolDefinition"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:handlePreview","to":"symbol-name:setPreview","kind":"calls","metadata":{"unresolvedName":"setPreview"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:handlePreview","to":"/workspace/apps/web/src/utils/errors.ts:extractErrorMessage","kind":"calls","metadata":{"unresolvedName":"extractErrorMessage"}},{"from":"file:/workspace/apps/web/src/components/manifest-editor.tsx","to":"/workspace/apps/web/src/components/manifest-editor.tsx:updateAptPackage","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/manifest-editor.tsx","to":"/workspace/apps/web/src/components/manifest-editor.tsx:updateAptPackage","kind":"defines"},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:updateAptPackage","to":"symbol-name:setAptPackages","kind":"calls","metadata":{"unresolvedName":"setAptPackages"}},{"from":"file:/workspace/apps/web/src/components/manifest-editor.tsx","to":"/workspace/apps/web/src/components/manifest-editor.tsx:updateNpmPackage","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/manifest-editor.tsx","to":"/workspace/apps/web/src/components/manifest-editor.tsx:updateNpmPackage","kind":"defines"},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:updateNpmPackage","to":"symbol-name:setNpmPackages","kind":"calls","metadata":{"unresolvedName":"setNpmPackages"}},{"from":"file:/workspace/apps/web/src/components/manifest-editor.tsx","to":"/workspace/apps/web/src/components/manifest-editor.tsx:updatePipPackage","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/manifest-editor.tsx","to":"/workspace/apps/web/src/components/manifest-editor.tsx:updatePipPackage","kind":"defines"},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:updatePipPackage","to":"symbol-name:setPipPackages","kind":"calls","metadata":{"unresolvedName":"setPipPackages"}},{"from":"file:/workspace/apps/web/src/components/manifest-editor.tsx","to":"/workspace/apps/web/src/components/manifest-editor.tsx:updateEnvVar","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/manifest-editor.tsx","to":"/workspace/apps/web/src/components/manifest-editor.tsx:updateEnvVar","kind":"defines"},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:updateEnvVar","to":"symbol-name:setEnvVars","kind":"calls","metadata":{"unresolvedName":"setEnvVars"}},{"from":"file:/workspace/apps/web/src/components/manifest-editor.tsx","to":"/workspace/apps/web/src/components/manifest-editor.tsx:updateBuildScript","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/manifest-editor.tsx","to":"/workspace/apps/web/src/components/manifest-editor.tsx:updateBuildScript","kind":"defines"},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:updateBuildScript","to":"symbol-name:setBuildScripts","kind":"calls","metadata":{"unresolvedName":"setBuildScripts"}},{"from":"file:/workspace/apps/web/src/components/manifest-editor.tsx","to":"/workspace/apps/web/src/components/manifest-editor.tsx:updateStartupScript","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/manifest-editor.tsx","to":"/workspace/apps/web/src/components/manifest-editor.tsx:updateStartupScript","kind":"defines"},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:updateStartupScript","to":"symbol-name:setStartupScripts","kind":"calls","metadata":{"unresolvedName":"setStartupScripts"}},{"from":"file:/workspace/apps/web/src/components/manifest-editor.tsx","to":"/workspace/apps/web/src/components/manifest-editor.tsx:updateMount","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/manifest-editor.tsx","to":"/workspace/apps/web/src/components/manifest-editor.tsx:updateMount","kind":"defines"},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:updateMount","to":"symbol-name:setMounts","kind":"calls","metadata":{"unresolvedName":"setMounts"}},{"from":"file:/workspace/apps/web/src/components/manifest-editor.tsx","to":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/manifest-editor.tsx","to":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"symbol-name:setBaseDefinitionId","kind":"calls","metadata":{"unresolvedName":"setBaseDefinitionId"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"symbol-name:setBaseImage","kind":"calls","metadata":{"unresolvedName":"setBaseImage"}},{"from":"file:/workspace/apps/web/src/components/manifest-editor.tsx","to":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/manifest-editor.tsx","to":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"symbol-name:setBaseImage","kind":"calls","metadata":{"unresolvedName":"setBaseImage"}},{"from":"/workspace/apps/web/src/components/manifest-editor.tsx:<anonymous>","to":"symbol-name:setBaseDefinitionId","kind":"calls","metadata":{"unresolvedName":"setBaseDefinitionId"}},{"from":"file:/workspace/apps/web/src/components/mobile-action-sheet.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/mobile-action-sheet.tsx","to":"external:@/components/ui/Icon","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/mobile-action-sheet.tsx","to":"external:@/components/ui/Icon","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/mobile-action-sheet.tsx","to":"/workspace/apps/web/src/components/mobile-action-sheet.tsx:MobileActionSheet","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/mobile-action-sheet.tsx","to":"/workspace/apps/web/src/components/mobile-action-sheet.tsx:MobileActionSheet","kind":"defines"},{"from":"/workspace/apps/web/src/components/mobile-action-sheet.tsx:MobileActionSheet","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"/workspace/apps/web/src/components/mobile-action-sheet.tsx:MobileActionSheet","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/components/mobile-action-sheet.tsx:MobileActionSheet","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"/workspace/apps/web/src/components/mobile-action-sheet.tsx:MobileActionSheet","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"/workspace/apps/web/src/components/mobile-action-sheet.tsx:MobileActionSheet","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"/workspace/apps/web/src/components/mobile-action-sheet.tsx:MobileActionSheet","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"/workspace/apps/web/src/components/mobile-action-sheet.tsx:MobileActionSheet","to":"external:actions.map","kind":"calls","metadata":{"unresolvedName":"actions.map"}},{"from":"/workspace/apps/web/src/components/mobile-action-sheet.tsx:MobileActionSheet","to":"external:action.onClick","kind":"calls","metadata":{"unresolvedName":"action.onClick"}},{"from":"file:/workspace/apps/web/src/components/mobile-action-sheet.tsx","to":"/workspace/apps/web/src/components/mobile-action-sheet.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/mobile-action-sheet.tsx","to":"/workspace/apps/web/src/components/mobile-action-sheet.tsx:<anonymous>","kind":"defines"},{"from":"file:/workspace/apps/web/src/components/mobile-action-sheet.tsx","to":"/workspace/apps/web/src/components/mobile-action-sheet.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/mobile-action-sheet.tsx","to":"/workspace/apps/web/src/components/mobile-action-sheet.tsx:<anonymous>","kind":"defines"},{"from":"file:/workspace/apps/web/src/components/mobile-action-sheet.tsx","to":"/workspace/apps/web/src/components/mobile-action-sheet.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/mobile-action-sheet.tsx","to":"/workspace/apps/web/src/components/mobile-action-sheet.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/mobile-action-sheet.tsx:<anonymous>","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"/workspace/apps/web/src/components/mobile-action-sheet.tsx:<anonymous>","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"/workspace/apps/web/src/components/mobile-action-sheet.tsx:<anonymous>","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:/workspace/apps/web/src/components/mobile-action-sheet.tsx","to":"/workspace/apps/web/src/components/mobile-action-sheet.tsx:handleEscape","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/mobile-action-sheet.tsx","to":"/workspace/apps/web/src/components/mobile-action-sheet.tsx:handleEscape","kind":"defines"},{"from":"/workspace/apps/web/src/components/mobile-action-sheet.tsx:handleEscape","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"file:/workspace/apps/web/src/components/mobile-action-sheet.tsx","to":"/workspace/apps/web/src/components/mobile-action-sheet.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/mobile-action-sheet.tsx","to":"/workspace/apps/web/src/components/mobile-action-sheet.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/mobile-action-sheet.tsx:<anonymous>","to":"external:action.onClick","kind":"calls","metadata":{"unresolvedName":"action.onClick"}},{"from":"/workspace/apps/web/src/components/mobile-action-sheet.tsx:<anonymous>","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"file:/workspace/apps/web/src/components/mobile-detail-view.tsx","to":"external:@/components/ui/Icon","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/mobile-detail-view.tsx","to":"/workspace/apps/web/src/components/mobile-detail-view.tsx:MobileDetailView","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/mobile-detail-view.tsx","to":"/workspace/apps/web/src/components/mobile-detail-view.tsx:MobileDetailView","kind":"defines"},{"from":"/workspace/apps/web/src/components/mobile-detail-view.tsx:MobileDetailView","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"/workspace/apps/web/src/components/mobile-detail-view.tsx:MobileDetailView","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"/workspace/apps/web/src/components/mobile-detail-view.tsx:MobileDetailView","to":"external:fields.map","kind":"calls","metadata":{"unresolvedName":"fields.map"}},{"from":"/workspace/apps/web/src/components/mobile-detail-view.tsx:MobileDetailView","to":"/workspace/apps/web/src/components/mobile-detail-view.tsx:renderValue","kind":"calls","metadata":{"unresolvedName":"renderValue"}},{"from":"file:/workspace/apps/web/src/components/mobile-detail-view.tsx","to":"/workspace/apps/web/src/components/mobile-detail-view.tsx:renderValue","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/mobile-detail-view.tsx","to":"/workspace/apps/web/src/components/mobile-detail-view.tsx:renderValue","kind":"defines"},{"from":"/workspace/apps/web/src/components/mobile-detail-view.tsx:renderValue","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"/workspace/apps/web/src/components/mobile-detail-view.tsx:renderValue","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"file:/workspace/apps/web/src/components/mobile-edit-view.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/mobile-edit-view.tsx","to":"/workspace/apps/web/src/components/mobile-edit-view.tsx:MobileEditView","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/mobile-edit-view.tsx","to":"/workspace/apps/web/src/components/mobile-edit-view.tsx:MobileEditView","kind":"defines"},{"from":"/workspace/apps/web/src/components/mobile-edit-view.tsx:MobileEditView","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/components/mobile-edit-view.tsx:MobileEditView","to":"external:fields?.forEach","kind":"calls","metadata":{"unresolvedName":"fields?.forEach"}},{"from":"/workspace/apps/web/src/components/mobile-edit-view.tsx:MobileEditView","to":"symbol-name:setFormData","kind":"calls","metadata":{"unresolvedName":"setFormData"}},{"from":"/workspace/apps/web/src/components/mobile-edit-view.tsx:MobileEditView","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/workspace/apps/web/src/components/mobile-edit-view.tsx:MobileEditView","to":"symbol-name:onSave","kind":"calls","metadata":{"unresolvedName":"onSave"}},{"from":"/workspace/apps/web/src/components/mobile-edit-view.tsx:MobileEditView","to":"external:fields?.map","kind":"calls","metadata":{"unresolvedName":"fields?.map"}},{"from":"/workspace/apps/web/src/components/mobile-edit-view.tsx:MobileEditView","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"/workspace/apps/web/src/components/mobile-edit-view.tsx:MobileEditView","to":"symbol-name:handleChange","kind":"calls","metadata":{"unresolvedName":"handleChange"}},{"from":"/workspace/apps/web/src/components/mobile-edit-view.tsx:MobileEditView","to":"external:field.options?.map","kind":"calls","metadata":{"unresolvedName":"field.options?.map"}},{"from":"/workspace/apps/web/src/components/mobile-edit-view.tsx:MobileEditView","to":"symbol-name:Boolean","kind":"calls","metadata":{"unresolvedName":"Boolean"}},{"from":"/workspace/apps/web/src/components/mobile-edit-view.tsx:MobileEditView","to":"symbol-name:Number","kind":"calls","metadata":{"unresolvedName":"Number"}},{"from":"file:/workspace/apps/web/src/components/mobile-edit-view.tsx","to":"/workspace/apps/web/src/components/mobile-edit-view.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/mobile-edit-view.tsx","to":"/workspace/apps/web/src/components/mobile-edit-view.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/mobile-edit-view.tsx:<anonymous>","to":"external:fields?.forEach","kind":"calls","metadata":{"unresolvedName":"fields?.forEach"}},{"from":"file:/workspace/apps/web/src/components/mobile-edit-view.tsx","to":"/workspace/apps/web/src/components/mobile-edit-view.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/mobile-edit-view.tsx","to":"/workspace/apps/web/src/components/mobile-edit-view.tsx:<anonymous>","kind":"defines"},{"from":"file:/workspace/apps/web/src/components/mobile-edit-view.tsx","to":"/workspace/apps/web/src/components/mobile-edit-view.tsx:handleChange","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/mobile-edit-view.tsx","to":"/workspace/apps/web/src/components/mobile-edit-view.tsx:handleChange","kind":"defines"},{"from":"/workspace/apps/web/src/components/mobile-edit-view.tsx:handleChange","to":"symbol-name:setFormData","kind":"calls","metadata":{"unresolvedName":"setFormData"}},{"from":"file:/workspace/apps/web/src/components/mobile-edit-view.tsx","to":"/workspace/apps/web/src/components/mobile-edit-view.tsx:handleSubmit","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/mobile-edit-view.tsx","to":"/workspace/apps/web/src/components/mobile-edit-view.tsx:handleSubmit","kind":"defines"},{"from":"/workspace/apps/web/src/components/mobile-edit-view.tsx:handleSubmit","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/workspace/apps/web/src/components/mobile-edit-view.tsx:handleSubmit","to":"symbol-name:onSave","kind":"calls","metadata":{"unresolvedName":"onSave"}},{"from":"file:/workspace/apps/web/src/components/mobile-fab.tsx","to":"external:@/components/ui/Icon","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/mobile-fab.tsx","to":"/workspace/apps/web/src/components/mobile-fab.tsx:MobileFAB","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/mobile-fab.tsx","to":"/workspace/apps/web/src/components/mobile-fab.tsx:MobileFAB","kind":"defines"},{"from":"file:/workspace/apps/web/src/components/mobile-list-view.tsx","to":"external:@/components/ui/Icon","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/mobile-list-view.tsx","to":"file:/workspace/apps/web/src/utils/icons.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/mobile-list-view.tsx","to":"/workspace/apps/web/src/components/mobile-list-view.tsx:MobileListView","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/mobile-list-view.tsx","to":"/workspace/apps/web/src/components/mobile-list-view.tsx:MobileListView","kind":"defines"},{"from":"/workspace/apps/web/src/components/mobile-list-view.tsx:MobileListView","to":"symbol-name:onSearch","kind":"calls","metadata":{"unresolvedName":"onSearch"}},{"from":"/workspace/apps/web/src/components/mobile-list-view.tsx:MobileListView","to":"external:items.map","kind":"calls","metadata":{"unresolvedName":"items.map"}},{"from":"/workspace/apps/web/src/components/mobile-list-view.tsx:MobileListView","to":"symbol-name:onItemClick","kind":"calls","metadata":{"unresolvedName":"onItemClick"}},{"from":"file:/workspace/apps/web/src/components/mobile-nav.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/mobile-nav.tsx","to":"external:react-router-dom","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/mobile-nav.tsx","to":"external:@/components/ui/Icon","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/mobile-nav.tsx","to":"file:/workspace/apps/web/src/components/tools-bottom-sheet.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/mobile-nav.tsx","to":"file:/workspace/apps/web/src/utils/icons.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/mobile-nav.tsx","to":"/workspace/apps/web/src/components/mobile-nav.tsx:MobileNav","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/mobile-nav.tsx","to":"/workspace/apps/web/src/components/mobile-nav.tsx:MobileNav","kind":"defines"},{"from":"/workspace/apps/web/src/components/mobile-nav.tsx:MobileNav","to":"symbol-name:useLocation","kind":"calls","metadata":{"unresolvedName":"useLocation"}},{"from":"/workspace/apps/web/src/components/mobile-nav.tsx:MobileNav","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/components/mobile-nav.tsx:MobileNav","to":"symbol-name:setToolsSheetOpen","kind":"calls","metadata":{"unresolvedName":"setToolsSheetOpen"}},{"from":"/workspace/apps/web/src/components/mobile-nav.tsx:MobileNav","to":"external:MOBILE_NAV_ITEMS.map","kind":"calls","metadata":{"unresolvedName":"MOBILE_NAV_ITEMS.map"}},{"from":"/workspace/apps/web/src/components/mobile-nav.tsx:MobileNav","to":"/workspace/apps/web/src/components/mobile-nav.tsx:handleNavClick","kind":"calls","metadata":{"unresolvedName":"handleNavClick"}},{"from":"file:/workspace/apps/web/src/components/mobile-nav.tsx","to":"/workspace/apps/web/src/components/mobile-nav.tsx:handleNavClick","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/mobile-nav.tsx","to":"/workspace/apps/web/src/components/mobile-nav.tsx:handleNavClick","kind":"defines"},{"from":"/workspace/apps/web/src/components/mobile-nav.tsx:handleNavClick","to":"symbol-name:setToolsSheetOpen","kind":"calls","metadata":{"unresolvedName":"setToolsSheetOpen"}},{"from":"file:/workspace/apps/web/src/components/mobile-nav.tsx","to":"/workspace/apps/web/src/components/mobile-nav.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/mobile-nav.tsx","to":"/workspace/apps/web/src/components/mobile-nav.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/mobile-nav.tsx:<anonymous>","to":"/workspace/apps/web/src/components/mobile-nav.tsx:handleNavClick","kind":"calls","metadata":{"unresolvedName":"handleNavClick"}},{"from":"file:/workspace/apps/web/src/components/mobile-page-header.tsx","to":"external:react-router-dom","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/mobile-page-header.tsx","to":"file:/workspace/apps/web/src/hooks/use-mobile-viewport.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/mobile-page-header.tsx","to":"external:@/components/ui/Icon","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/mobile-page-header.tsx","to":"/workspace/apps/web/src/components/mobile-page-header.tsx:MobilePageHeader","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/mobile-page-header.tsx","to":"/workspace/apps/web/src/components/mobile-page-header.tsx:MobilePageHeader","kind":"defines"},{"from":"/workspace/apps/web/src/components/mobile-page-header.tsx:MobilePageHeader","to":"symbol-name:useNavigate","kind":"calls","metadata":{"unresolvedName":"useNavigate"}},{"from":"/workspace/apps/web/src/components/mobile-page-header.tsx:MobilePageHeader","to":"/workspace/apps/web/src/hooks/use-mobile-viewport.ts:useMobileViewport","kind":"calls","metadata":{"unresolvedName":"useMobileViewport"}},{"from":"/workspace/apps/web/src/components/mobile-page-header.tsx:MobilePageHeader","to":"symbol-name:navigate","kind":"calls","metadata":{"unresolvedName":"navigate"}},{"from":"file:/workspace/apps/web/src/components/mobile-terminal-header.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/mobile-terminal-header.tsx","to":"external:@/components/ui/Icon","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/mobile-terminal-header.tsx","to":"/workspace/apps/web/src/components/mobile-terminal-header.tsx:MobileTerminalHeader","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/mobile-terminal-header.tsx","to":"/workspace/apps/web/src/components/mobile-terminal-header.tsx:MobileTerminalHeader","kind":"defines"},{"from":"/workspace/apps/web/src/components/mobile-terminal-header.tsx:MobileTerminalHeader","to":"symbol-name:onFontSizeChange","kind":"calls","metadata":{"unresolvedName":"onFontSizeChange"}},{"from":"file:/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx","to":"external:@/components/features/terminal/TerminalComponent","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx","to":"file:/workspace/apps/web/src/components/mobile-terminal-header.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx","to":"file:/workspace/apps/web/src/components/special-keys-strip.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx","to":"file:/workspace/apps/web/src/components/special-keys-panel.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx","to":"file:/workspace/apps/web/src/hooks/use-mobile-viewport.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx","to":"file:/workspace/apps/web/src/hooks/use-virtual-keyboard.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx","to":"file:/workspace/apps/web/src/hooks/use-auto-hide.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx","to":"file:/workspace/apps/web/src/hooks/use-special-keys.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx","to":"/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx:MobileTerminalWrapper","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx","to":"/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx:MobileTerminalWrapper","kind":"defines"},{"from":"/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx:MobileTerminalWrapper","to":"/workspace/apps/web/src/hooks/use-mobile-viewport.ts:useMobileViewport","kind":"calls","metadata":{"unresolvedName":"useMobileViewport"}},{"from":"/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx:MobileTerminalWrapper","to":"/workspace/apps/web/src/hooks/use-virtual-keyboard.ts:useVirtualKeyboard","kind":"calls","metadata":{"unresolvedName":"useVirtualKeyboard"}},{"from":"/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx:MobileTerminalWrapper","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx:MobileTerminalWrapper","to":"/workspace/apps/web/src/hooks/use-auto-hide.ts:useAutoHide","kind":"calls","metadata":{"unresolvedName":"useAutoHide"}},{"from":"/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx:MobileTerminalWrapper","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx:MobileTerminalWrapper","to":"external:headerAutoHide.toggle","kind":"calls","metadata":{"unresolvedName":"headerAutoHide.toggle"}},{"from":"/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx:MobileTerminalWrapper","to":"symbol-name:setTerminalRef","kind":"calls","metadata":{"unresolvedName":"setTerminalRef"}},{"from":"/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx:MobileTerminalWrapper","to":"external:terminalRef?.sendData","kind":"calls","metadata":{"unresolvedName":"terminalRef?.sendData"}},{"from":"/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx:MobileTerminalWrapper","to":"external:terminalRef?.changeFontSize","kind":"calls","metadata":{"unresolvedName":"terminalRef?.changeFontSize"}},{"from":"/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx:MobileTerminalWrapper","to":"symbol-name:setShowPanel","kind":"calls","metadata":{"unresolvedName":"setShowPanel"}},{"from":"/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx:MobileTerminalWrapper","to":"external:terminalRef?.focusInput","kind":"calls","metadata":{"unresolvedName":"terminalRef?.focusInput"}},{"from":"file:/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx","to":"/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx","to":"/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx:<anonymous>","to":"external:headerAutoHide.toggle","kind":"calls","metadata":{"unresolvedName":"headerAutoHide.toggle"}},{"from":"file:/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx","to":"/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx","to":"/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx:<anonymous>","to":"symbol-name:setTerminalRef","kind":"calls","metadata":{"unresolvedName":"setTerminalRef"}},{"from":"file:/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx","to":"/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx","to":"/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/mobile-terminal-wrapper.tsx:<anonymous>","to":"external:terminalRef?.sendData","kind":"calls","metadata":{"unresolvedName":"terminalRef?.sendData"}},{"from":"file:/workspace/apps/web/src/components/notification-center.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/notification-center.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/notification-center.test.tsx","to":"file:/workspace/apps/web/src/components/notification-center.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/notification-center.test.tsx","to":"file:/workspace/apps/web/src/state/notifications.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/notification-center.test.tsx","to":"file:/workspace/apps/web/src/api/notifications.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/notification-center.test.tsx","to":"/workspace/apps/web/src/components/notification-center.test.tsx:wrapper","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/notification-center.test.tsx","to":"/workspace/apps/web/src/components/notification-center.test.tsx:wrapper","kind":"defines"},{"from":"file:/workspace/apps/web/src/components/notification-center.test.tsx","to":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/notification-center.test.tsx","to":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:mockedGetNotifications.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedGetNotifications.mockResolvedValue"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:mockedGetUnreadCount.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedGetUnreadCount.mockResolvedValue"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"symbol-name:afterEach","kind":"calls","metadata":{"unresolvedName":"afterEach"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:vi.clearAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.clearAllMocks"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"symbol-name:cleanup","kind":"calls","metadata":{"unresolvedName":"cleanup"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTimeAsync","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTimeAsync"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"3\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"3\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:expect(screen.queryByText(\"0\")).not.toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.queryByText(\"0\")).not.toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:screen.queryByText","kind":"calls","metadata":{"unresolvedName":"screen.queryByText"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:expect(screen.getByRole(\"dialog\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole(\"dialog\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:fireEvent.mouseDown","kind":"calls","metadata":{"unresolvedName":"fireEvent.mouseDown"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:screen.getByTestId","kind":"calls","metadata":{"unresolvedName":"screen.getByTestId"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:expect(screen.queryByRole(\"dialog\")).not.toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.queryByRole(\"dialog\")).not.toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:screen.queryByRole","kind":"calls","metadata":{"unresolvedName":"screen.queryByRole"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:fireEvent.keyDown","kind":"calls","metadata":{"unresolvedName":"fireEvent.keyDown"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"No notifications\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"No notifications\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"symbol-name:makeNotification","kind":"calls","metadata":{"unresolvedName":"makeNotification"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Notification 1\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Notification 1\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Notification 2\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Notification 2\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:expect(vi.mocked(mockMarkAll)).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(vi.mocked(mockMarkAll)).toHaveBeenCalled"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:expect(vi.mocked(mockClearAll)).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(vi.mocked(mockClearAll)).toHaveBeenCalled"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:expect(mockedGetNotifications).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(mockedGetNotifications).toHaveBeenCalled"}},{"from":"file:/workspace/apps/web/src/components/notification-center.test.tsx","to":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/notification-center.test.tsx","to":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:mockedGetNotifications.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedGetNotifications.mockResolvedValue"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:mockedGetUnreadCount.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedGetUnreadCount.mockResolvedValue"}},{"from":"file:/workspace/apps/web/src/components/notification-center.test.tsx","to":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/notification-center.test.tsx","to":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:vi.clearAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.clearAllMocks"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"symbol-name:cleanup","kind":"calls","metadata":{"unresolvedName":"cleanup"}},{"from":"file:/workspace/apps/web/src/components/notification-center.test.tsx","to":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/notification-center.test.tsx","to":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"file:/workspace/apps/web/src/components/notification-center.test.tsx","to":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/notification-center.test.tsx","to":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:mockedGetUnreadCount.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedGetUnreadCount.mockResolvedValue"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTimeAsync","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTimeAsync"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"3\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"3\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/components/notification-center.test.tsx","to":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/notification-center.test.tsx","to":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:expect(screen.queryByText(\"0\")).not.toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.queryByText(\"0\")).not.toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:screen.queryByText","kind":"calls","metadata":{"unresolvedName":"screen.queryByText"}},{"from":"file:/workspace/apps/web/src/components/notification-center.test.tsx","to":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/notification-center.test.tsx","to":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:expect(screen.getByRole(\"dialog\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole(\"dialog\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/components/notification-center.test.tsx","to":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/notification-center.test.tsx","to":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:expect(screen.getByRole(\"dialog\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole(\"dialog\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:fireEvent.mouseDown","kind":"calls","metadata":{"unresolvedName":"fireEvent.mouseDown"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:screen.getByTestId","kind":"calls","metadata":{"unresolvedName":"screen.getByTestId"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:expect(screen.queryByRole(\"dialog\")).not.toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.queryByRole(\"dialog\")).not.toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:screen.queryByRole","kind":"calls","metadata":{"unresolvedName":"screen.queryByRole"}},{"from":"file:/workspace/apps/web/src/components/notification-center.test.tsx","to":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/notification-center.test.tsx","to":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:expect(screen.getByRole(\"dialog\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole(\"dialog\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:fireEvent.keyDown","kind":"calls","metadata":{"unresolvedName":"fireEvent.keyDown"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:expect(screen.queryByRole(\"dialog\")).not.toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.queryByRole(\"dialog\")).not.toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:screen.queryByRole","kind":"calls","metadata":{"unresolvedName":"screen.queryByRole"}},{"from":"file:/workspace/apps/web/src/components/notification-center.test.tsx","to":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/notification-center.test.tsx","to":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"No notifications\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"No notifications\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/components/notification-center.test.tsx","to":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/notification-center.test.tsx","to":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:mockedGetNotifications.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedGetNotifications.mockResolvedValue"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"symbol-name:makeNotification","kind":"calls","metadata":{"unresolvedName":"makeNotification"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTimeAsync","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTimeAsync"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Notification 1\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Notification 1\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Notification 2\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Notification 2\")).toBeInTheDocument"}},{"from":"file:/workspace/apps/web/src/components/notification-center.test.tsx","to":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/notification-center.test.tsx","to":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:mockedGetNotifications.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedGetNotifications.mockResolvedValue"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"symbol-name:makeNotification","kind":"calls","metadata":{"unresolvedName":"makeNotification"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTimeAsync","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTimeAsync"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:expect(vi.mocked(mockMarkAll)).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(vi.mocked(mockMarkAll)).toHaveBeenCalled"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"file:/workspace/apps/web/src/components/notification-center.test.tsx","to":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/notification-center.test.tsx","to":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:mockedGetNotifications.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedGetNotifications.mockResolvedValue"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"symbol-name:makeNotification","kind":"calls","metadata":{"unresolvedName":"makeNotification"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTimeAsync","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTimeAsync"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:expect(vi.mocked(mockClearAll)).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(vi.mocked(mockClearAll)).toHaveBeenCalled"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:vi.mocked","kind":"calls","metadata":{"unresolvedName":"vi.mocked"}},{"from":"file:/workspace/apps/web/src/components/notification-center.test.tsx","to":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/notification-center.test.tsx","to":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTimeAsync","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTimeAsync"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"external:expect(mockedGetNotifications).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(mockedGetNotifications).toHaveBeenCalled"}},{"from":"/workspace/apps/web/src/components/notification-center.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/components/notification-center.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/notification-center.tsx","to":"file:/workspace/apps/web/src/hooks/use-notifications.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/notification-center.tsx","to":"file:/workspace/apps/web/src/components/notification-item.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/notification-center.tsx","to":"external:@/components/ui/Icon","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/notification-center.tsx","to":"/workspace/apps/web/src/components/notification-center.tsx:NotificationCenter","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/notification-center.tsx","to":"/workspace/apps/web/src/components/notification-center.tsx:NotificationCenter","kind":"defines"},{"from":"/workspace/apps/web/src/components/notification-center.tsx:NotificationCenter","to":"/workspace/apps/web/src/hooks/use-notifications.ts:useNotifications","kind":"calls","metadata":{"unresolvedName":"useNotifications"}},{"from":"/workspace/apps/web/src/components/notification-center.tsx:NotificationCenter","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"/workspace/apps/web/src/components/notification-center.tsx:NotificationCenter","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/components/notification-center.tsx:NotificationCenter","to":"external:dropdownRef.current.contains","kind":"calls","metadata":{"unresolvedName":"dropdownRef.current.contains"}},{"from":"/workspace/apps/web/src/components/notification-center.tsx:NotificationCenter","to":"symbol-name:setIsDropdownOpen","kind":"calls","metadata":{"unresolvedName":"setIsDropdownOpen"}},{"from":"/workspace/apps/web/src/components/notification-center.tsx:NotificationCenter","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"/workspace/apps/web/src/components/notification-center.tsx:NotificationCenter","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"/workspace/apps/web/src/components/notification-center.tsx:NotificationCenter","to":"symbol-name:refreshList","kind":"calls","metadata":{"unresolvedName":"refreshList"}},{"from":"/workspace/apps/web/src/components/notification-center.tsx:NotificationCenter","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"/workspace/apps/web/src/components/notification-center.tsx:NotificationCenter","to":"external:notifications.map","kind":"calls","metadata":{"unresolvedName":"notifications.map"}},{"from":"/workspace/apps/web/src/components/notification-center.tsx:NotificationCenter","to":"symbol-name:markAllRead","kind":"calls","metadata":{"unresolvedName":"markAllRead"}},{"from":"/workspace/apps/web/src/components/notification-center.tsx:NotificationCenter","to":"symbol-name:clearAll","kind":"calls","metadata":{"unresolvedName":"clearAll"}},{"from":"file:/workspace/apps/web/src/components/notification-center.tsx","to":"/workspace/apps/web/src/components/notification-center.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/notification-center.tsx","to":"/workspace/apps/web/src/components/notification-center.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/notification-center.tsx:<anonymous>","to":"external:dropdownRef.current.contains","kind":"calls","metadata":{"unresolvedName":"dropdownRef.current.contains"}},{"from":"/workspace/apps/web/src/components/notification-center.tsx:<anonymous>","to":"symbol-name:setIsDropdownOpen","kind":"calls","metadata":{"unresolvedName":"setIsDropdownOpen"}},{"from":"/workspace/apps/web/src/components/notification-center.tsx:<anonymous>","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"/workspace/apps/web/src/components/notification-center.tsx:<anonymous>","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:/workspace/apps/web/src/components/notification-center.tsx","to":"/workspace/apps/web/src/components/notification-center.tsx:handleMouseDown","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/notification-center.tsx","to":"/workspace/apps/web/src/components/notification-center.tsx:handleMouseDown","kind":"defines"},{"from":"/workspace/apps/web/src/components/notification-center.tsx:handleMouseDown","to":"external:dropdownRef.current.contains","kind":"calls","metadata":{"unresolvedName":"dropdownRef.current.contains"}},{"from":"/workspace/apps/web/src/components/notification-center.tsx:handleMouseDown","to":"symbol-name:setIsDropdownOpen","kind":"calls","metadata":{"unresolvedName":"setIsDropdownOpen"}},{"from":"file:/workspace/apps/web/src/components/notification-center.tsx","to":"/workspace/apps/web/src/components/notification-center.tsx:handleKeyDown","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/notification-center.tsx","to":"/workspace/apps/web/src/components/notification-center.tsx:handleKeyDown","kind":"defines"},{"from":"/workspace/apps/web/src/components/notification-center.tsx:handleKeyDown","to":"symbol-name:setIsDropdownOpen","kind":"calls","metadata":{"unresolvedName":"setIsDropdownOpen"}},{"from":"file:/workspace/apps/web/src/components/notification-center.tsx","to":"/workspace/apps/web/src/components/notification-center.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/notification-center.tsx","to":"/workspace/apps/web/src/components/notification-center.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/notification-center.tsx:<anonymous>","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:/workspace/apps/web/src/components/notification-center.tsx","to":"/workspace/apps/web/src/components/notification-center.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/notification-center.tsx","to":"/workspace/apps/web/src/components/notification-center.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/notification-center.tsx:<anonymous>","to":"symbol-name:refreshList","kind":"calls","metadata":{"unresolvedName":"refreshList"}},{"from":"file:/workspace/apps/web/src/components/notification-center.tsx","to":"/workspace/apps/web/src/components/notification-center.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/notification-center.tsx","to":"/workspace/apps/web/src/components/notification-center.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/notification-center.tsx:<anonymous>","to":"symbol-name:markAllRead","kind":"calls","metadata":{"unresolvedName":"markAllRead"}},{"from":"file:/workspace/apps/web/src/components/notification-center.tsx","to":"/workspace/apps/web/src/components/notification-center.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/notification-center.tsx","to":"/workspace/apps/web/src/components/notification-center.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/notification-center.tsx:<anonymous>","to":"symbol-name:clearAll","kind":"calls","metadata":{"unresolvedName":"clearAll"}},{"from":"file:/workspace/apps/web/src/components/notification-item.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/notification-item.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/notification-item.test.tsx","to":"file:/workspace/apps/web/src/components/notification-item.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/notification-item.test.tsx","to":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/notification-item.test.tsx","to":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"symbol-name:cleanup","kind":"calls","metadata":{"unresolvedName":"cleanup"}},{"from":"file:/workspace/apps/web/src/components/notification-item.test.tsx","to":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/notification-item.test.tsx","to":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"symbol-name:makeNotification","kind":"calls","metadata":{"unresolvedName":"makeNotification"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Container started\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Container started\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"external:expect(screen.getByText(/ago|just now/)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(/ago|just now/)).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"external:expect(row.className).toContain","kind":"calls","metadata":{"unresolvedName":"expect(row.className).toContain"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"external:expect(onMarkRead).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onMarkRead).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"external:expect(onDismiss).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onDismiss).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"external:expect(screen.getByRole(\"img\", { hidden: true })).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole(\"img\", { hidden: true })).toBeInTheDocument"}},{"from":"file:/workspace/apps/web/src/components/notification-item.test.tsx","to":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/notification-item.test.tsx","to":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"symbol-name:makeNotification","kind":"calls","metadata":{"unresolvedName":"makeNotification"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Container started\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Container started\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"external:expect(screen.getByText(/ago|just now/)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(/ago|just now/)).toBeInTheDocument"}},{"from":"file:/workspace/apps/web/src/components/notification-item.test.tsx","to":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/notification-item.test.tsx","to":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"symbol-name:makeNotification","kind":"calls","metadata":{"unresolvedName":"makeNotification"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"external:expect(row.className).toContain","kind":"calls","metadata":{"unresolvedName":"expect(row.className).toContain"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/components/notification-item.test.tsx","to":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/notification-item.test.tsx","to":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"symbol-name:makeNotification","kind":"calls","metadata":{"unresolvedName":"makeNotification"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"external:expect(row.className).toContain","kind":"calls","metadata":{"unresolvedName":"expect(row.className).toContain"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/components/notification-item.test.tsx","to":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/notification-item.test.tsx","to":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"symbol-name:makeNotification","kind":"calls","metadata":{"unresolvedName":"makeNotification"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"external:expect(onMarkRead).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onMarkRead).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/components/notification-item.test.tsx","to":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/notification-item.test.tsx","to":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"symbol-name:makeNotification","kind":"calls","metadata":{"unresolvedName":"makeNotification"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"external:expect(onDismiss).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onDismiss).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/components/notification-item.test.tsx","to":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/notification-item.test.tsx","to":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"symbol-name:makeNotification","kind":"calls","metadata":{"unresolvedName":"makeNotification"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"external:expect(screen.getByRole(\"img\", { hidden: true })).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole(\"img\", { hidden: true })).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/notification-item.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"file:/workspace/apps/web/src/components/notification-item.tsx","to":"external:@/components/ui/Icon","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/notification-item.tsx","to":"file:/workspace/apps/web/src/utils/time.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/notification-item.tsx","to":"file:/workspace/apps/web/src/api/notifications.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/notification-item.tsx","to":"file:/workspace/apps/web/src/utils/icons.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/notification-item.tsx","to":"/workspace/apps/web/src/components/notification-item.tsx:NotificationItem","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/notification-item.tsx","to":"/workspace/apps/web/src/components/notification-item.tsx:NotificationItem","kind":"defines"},{"from":"/workspace/apps/web/src/components/notification-item.tsx:NotificationItem","to":"/workspace/apps/web/src/utils/time.ts:formatRelativeTime","kind":"calls","metadata":{"unresolvedName":"formatRelativeTime"}},{"from":"/workspace/apps/web/src/components/notification-item.tsx:NotificationItem","to":"symbol-name:onMarkRead","kind":"calls","metadata":{"unresolvedName":"onMarkRead"}},{"from":"/workspace/apps/web/src/components/notification-item.tsx:NotificationItem","to":"symbol-name:onDismiss","kind":"calls","metadata":{"unresolvedName":"onDismiss"}},{"from":"file:/workspace/apps/web/src/components/session-card.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/session-card.tsx","to":"file:/workspace/apps/web/src/api/sessions.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/session-card.tsx","to":"external:@/components/ui/Icon","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/session-card.tsx","to":"file:/workspace/apps/web/src/hooks/use-mobile-viewport.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/session-card.tsx","to":"file:/workspace/apps/web/src/components/mobile-action-sheet.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/session-card.tsx","to":"external:@/components/ui/Icon","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/session-card.tsx","to":"/workspace/apps/web/src/components/session-card.tsx:SessionCard","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/session-card.tsx","to":"/workspace/apps/web/src/components/session-card.tsx:SessionCard","kind":"defines"},{"from":"/workspace/apps/web/src/components/session-card.tsx:SessionCard","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/components/session-card.tsx:SessionCard","to":"/workspace/apps/web/src/hooks/use-mobile-viewport.ts:useMobileViewport","kind":"calls","metadata":{"unresolvedName":"useMobileViewport"}},{"from":"/workspace/apps/web/src/components/session-card.tsx:SessionCard","to":"external:session.tool_type_interfaces?.includes","kind":"calls","metadata":{"unresolvedName":"session.tool_type_interfaces?.includes"}},{"from":"/workspace/apps/web/src/components/session-card.tsx:SessionCard","to":"symbol-name:setShowStopConfirm","kind":"calls","metadata":{"unresolvedName":"setShowStopConfirm"}},{"from":"/workspace/apps/web/src/components/session-card.tsx:SessionCard","to":"symbol-name:onStop","kind":"calls","metadata":{"unresolvedName":"onStop"}},{"from":"/workspace/apps/web/src/components/session-card.tsx:SessionCard","to":"symbol-name:setShowDeleteConfirm","kind":"calls","metadata":{"unresolvedName":"setShowDeleteConfirm"}},{"from":"/workspace/apps/web/src/components/session-card.tsx:SessionCard","to":"symbol-name:onDelete","kind":"calls","metadata":{"unresolvedName":"onDelete"}},{"from":"/workspace/apps/web/src/components/session-card.tsx:SessionCard","to":"external:new Date(session.created_at).toLocaleString","kind":"calls","metadata":{"unresolvedName":"new Date(session.created_at).toLocaleString"}},{"from":"/workspace/apps/web/src/components/session-card.tsx:SessionCard","to":"symbol-name:onOpen","kind":"calls","metadata":{"unresolvedName":"onOpen"}},{"from":"/workspace/apps/web/src/components/session-card.tsx:SessionCard","to":"symbol-name:setShowActionSheet","kind":"calls","metadata":{"unresolvedName":"setShowActionSheet"}},{"from":"/workspace/apps/web/src/components/session-card.tsx:SessionCard","to":"symbol-name:onStart","kind":"calls","metadata":{"unresolvedName":"onStart"}},{"from":"/workspace/apps/web/src/components/session-card.tsx:SessionCard","to":"symbol-name:onRecreateTunnel","kind":"calls","metadata":{"unresolvedName":"onRecreateTunnel"}},{"from":"file:/workspace/apps/web/src/components/session-card.tsx","to":"/workspace/apps/web/src/components/session-card.tsx:handleStop","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/session-card.tsx","to":"/workspace/apps/web/src/components/session-card.tsx:handleStop","kind":"defines"},{"from":"/workspace/apps/web/src/components/session-card.tsx:handleStop","to":"symbol-name:setShowStopConfirm","kind":"calls","metadata":{"unresolvedName":"setShowStopConfirm"}},{"from":"/workspace/apps/web/src/components/session-card.tsx:handleStop","to":"symbol-name:onStop","kind":"calls","metadata":{"unresolvedName":"onStop"}},{"from":"file:/workspace/apps/web/src/components/session-card.tsx","to":"/workspace/apps/web/src/components/session-card.tsx:handleDelete","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/session-card.tsx","to":"/workspace/apps/web/src/components/session-card.tsx:handleDelete","kind":"defines"},{"from":"/workspace/apps/web/src/components/session-card.tsx:handleDelete","to":"symbol-name:setShowDeleteConfirm","kind":"calls","metadata":{"unresolvedName":"setShowDeleteConfirm"}},{"from":"/workspace/apps/web/src/components/session-card.tsx:handleDelete","to":"symbol-name:onDelete","kind":"calls","metadata":{"unresolvedName":"onDelete"}},{"from":"file:/workspace/apps/web/src/components/session-list.tsx","to":"file:/workspace/apps/web/src/api/sessions.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/session-list.tsx","to":"file:/workspace/apps/web/src/components/session-card.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/session-list.tsx","to":"file:/workspace/apps/web/src/api/sessions.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/session-list.tsx","to":"/workspace/apps/web/src/components/session-list.tsx:SessionList","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/session-list.tsx","to":"/workspace/apps/web/src/components/session-list.tsx:SessionList","kind":"defines"},{"from":"/workspace/apps/web/src/components/session-list.tsx:SessionList","to":"external:sessions.filter","kind":"calls","metadata":{"unresolvedName":"sessions.filter"}},{"from":"/workspace/apps/web/src/components/session-list.tsx:SessionList","to":"external:activeStatuses.includes","kind":"calls","metadata":{"unresolvedName":"activeStatuses.includes"}},{"from":"/workspace/apps/web/src/components/session-list.tsx:SessionList","to":"external:sessions\n .filter((s) => recentStatuses.includes(s.status))\n .slice","kind":"calls","metadata":{"unresolvedName":"sessions\n .filter((s) => recentStatuses.includes(s.status))\n .slice"}},{"from":"/workspace/apps/web/src/components/session-list.tsx:SessionList","to":"external:sessions\n .filter","kind":"calls","metadata":{"unresolvedName":"sessions\n .filter"}},{"from":"/workspace/apps/web/src/components/session-list.tsx:SessionList","to":"external:recentStatuses.includes","kind":"calls","metadata":{"unresolvedName":"recentStatuses.includes"}},{"from":"/workspace/apps/web/src/components/session-list.tsx:SessionList","to":"external:sessions.map","kind":"calls","metadata":{"unresolvedName":"sessions.map"}},{"from":"/workspace/apps/web/src/components/session-list.tsx:SessionList","to":"external:activeSessions.map","kind":"calls","metadata":{"unresolvedName":"activeSessions.map"}},{"from":"/workspace/apps/web/src/components/session-list.tsx:SessionList","to":"external:recentSessions.map","kind":"calls","metadata":{"unresolvedName":"recentSessions.map"}},{"from":"file:/workspace/apps/web/src/components/special-keys-panel.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/special-keys-panel.tsx","to":"file:/workspace/apps/web/src/hooks/use-special-keys.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/special-keys-panel.tsx","to":"/workspace/apps/web/src/components/special-keys-panel.tsx:SpecialKeysPanel","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/special-keys-panel.tsx","to":"/workspace/apps/web/src/components/special-keys-panel.tsx:SpecialKeysPanel","kind":"defines"},{"from":"/workspace/apps/web/src/components/special-keys-panel.tsx:SpecialKeysPanel","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/workspace/apps/web/src/components/special-keys-panel.tsx:SpecialKeysPanel","to":"/workspace/apps/web/src/hooks/use-special-keys.ts:getSequenceWithModifier","kind":"calls","metadata":{"unresolvedName":"getSequenceWithModifier"}},{"from":"/workspace/apps/web/src/components/special-keys-panel.tsx:SpecialKeysPanel","to":"symbol-name:onSend","kind":"calls","metadata":{"unresolvedName":"onSend"}},{"from":"/workspace/apps/web/src/components/special-keys-panel.tsx:SpecialKeysPanel","to":"symbol-name:onModifierChange","kind":"calls","metadata":{"unresolvedName":"onModifierChange"}},{"from":"/workspace/apps/web/src/components/special-keys-panel.tsx:SpecialKeysPanel","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"/workspace/apps/web/src/components/special-keys-panel.tsx:SpecialKeysPanel","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"/workspace/apps/web/src/components/special-keys-panel.tsx:SpecialKeysPanel","to":"symbol-name:onKeepFocus","kind":"calls","metadata":{"unresolvedName":"onKeepFocus"}},{"from":"/workspace/apps/web/src/components/special-keys-panel.tsx:SpecialKeysPanel","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"/workspace/apps/web/src/components/special-keys-panel.tsx:SpecialKeysPanel","to":"external:EXPANDED_KEYS.map","kind":"calls","metadata":{"unresolvedName":"EXPANDED_KEYS.map"}},{"from":"/workspace/apps/web/src/components/special-keys-panel.tsx:SpecialKeysPanel","to":"symbol-name:handlePointerDown","kind":"calls","metadata":{"unresolvedName":"handlePointerDown"}},{"from":"/workspace/apps/web/src/components/special-keys-panel.tsx:SpecialKeysPanel","to":"external:F_KEYS.map","kind":"calls","metadata":{"unresolvedName":"F_KEYS.map"}},{"from":"file:/workspace/apps/web/src/components/special-keys-panel.tsx","to":"/workspace/apps/web/src/components/special-keys-panel.tsx:handlePointerDown","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/special-keys-panel.tsx","to":"/workspace/apps/web/src/components/special-keys-panel.tsx:handlePointerDown","kind":"defines"},{"from":"/workspace/apps/web/src/components/special-keys-panel.tsx:handlePointerDown","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/workspace/apps/web/src/components/special-keys-panel.tsx:handlePointerDown","to":"/workspace/apps/web/src/hooks/use-special-keys.ts:getSequenceWithModifier","kind":"calls","metadata":{"unresolvedName":"getSequenceWithModifier"}},{"from":"/workspace/apps/web/src/components/special-keys-panel.tsx:handlePointerDown","to":"symbol-name:onSend","kind":"calls","metadata":{"unresolvedName":"onSend"}},{"from":"/workspace/apps/web/src/components/special-keys-panel.tsx:handlePointerDown","to":"symbol-name:onModifierChange","kind":"calls","metadata":{"unresolvedName":"onModifierChange"}},{"from":"/workspace/apps/web/src/components/special-keys-panel.tsx:handlePointerDown","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"/workspace/apps/web/src/components/special-keys-panel.tsx:handlePointerDown","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"/workspace/apps/web/src/components/special-keys-panel.tsx:handlePointerDown","to":"symbol-name:onKeepFocus","kind":"calls","metadata":{"unresolvedName":"onKeepFocus"}},{"from":"file:/workspace/apps/web/src/components/special-keys-panel.tsx","to":"/workspace/apps/web/src/components/special-keys-panel.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/special-keys-panel.tsx","to":"/workspace/apps/web/src/components/special-keys-panel.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/special-keys-panel.tsx:<anonymous>","to":"symbol-name:onKeepFocus","kind":"calls","metadata":{"unresolvedName":"onKeepFocus"}},{"from":"file:/workspace/apps/web/src/components/special-keys-panel.tsx","to":"/workspace/apps/web/src/components/special-keys-panel.tsx:handleOverlayPointerDown","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/special-keys-panel.tsx","to":"/workspace/apps/web/src/components/special-keys-panel.tsx:handleOverlayPointerDown","kind":"defines"},{"from":"/workspace/apps/web/src/components/special-keys-panel.tsx:handleOverlayPointerDown","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/workspace/apps/web/src/components/special-keys-panel.tsx:handleOverlayPointerDown","to":"symbol-name:onModifierChange","kind":"calls","metadata":{"unresolvedName":"onModifierChange"}},{"from":"/workspace/apps/web/src/components/special-keys-panel.tsx:handleOverlayPointerDown","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"/workspace/apps/web/src/components/special-keys-panel.tsx:handleOverlayPointerDown","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"/workspace/apps/web/src/components/special-keys-panel.tsx:handleOverlayPointerDown","to":"symbol-name:onKeepFocus","kind":"calls","metadata":{"unresolvedName":"onKeepFocus"}},{"from":"file:/workspace/apps/web/src/components/special-keys-panel.tsx","to":"/workspace/apps/web/src/components/special-keys-panel.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/special-keys-panel.tsx","to":"/workspace/apps/web/src/components/special-keys-panel.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/special-keys-panel.tsx:<anonymous>","to":"symbol-name:onKeepFocus","kind":"calls","metadata":{"unresolvedName":"onKeepFocus"}},{"from":"file:/workspace/apps/web/src/components/special-keys-strip.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/special-keys-strip.tsx","to":"file:/workspace/apps/web/src/hooks/use-special-keys.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/special-keys-strip.tsx","to":"/workspace/apps/web/src/components/special-keys-strip.tsx:SpecialKeysStrip","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/special-keys-strip.tsx","to":"/workspace/apps/web/src/components/special-keys-strip.tsx:SpecialKeysStrip","kind":"defines"},{"from":"/workspace/apps/web/src/components/special-keys-strip.tsx:SpecialKeysStrip","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/workspace/apps/web/src/components/special-keys-strip.tsx:SpecialKeysStrip","to":"symbol-name:onModifierChange","kind":"calls","metadata":{"unresolvedName":"onModifierChange"}},{"from":"/workspace/apps/web/src/components/special-keys-strip.tsx:SpecialKeysStrip","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"/workspace/apps/web/src/components/special-keys-strip.tsx:SpecialKeysStrip","to":"symbol-name:onKeepFocus","kind":"calls","metadata":{"unresolvedName":"onKeepFocus"}},{"from":"/workspace/apps/web/src/components/special-keys-strip.tsx:SpecialKeysStrip","to":"/workspace/apps/web/src/hooks/use-special-keys.ts:getSequenceWithModifier","kind":"calls","metadata":{"unresolvedName":"getSequenceWithModifier"}},{"from":"/workspace/apps/web/src/components/special-keys-strip.tsx:SpecialKeysStrip","to":"symbol-name:onSend","kind":"calls","metadata":{"unresolvedName":"onSend"}},{"from":"/workspace/apps/web/src/components/special-keys-strip.tsx:SpecialKeysStrip","to":"symbol-name:onMoreClick","kind":"calls","metadata":{"unresolvedName":"onMoreClick"}},{"from":"/workspace/apps/web/src/components/special-keys-strip.tsx:SpecialKeysStrip","to":"external:PRIMARY_KEYS.map","kind":"calls","metadata":{"unresolvedName":"PRIMARY_KEYS.map"}},{"from":"/workspace/apps/web/src/components/special-keys-strip.tsx:SpecialKeysStrip","to":"symbol-name:handlePointerDown","kind":"calls","metadata":{"unresolvedName":"handlePointerDown"}},{"from":"file:/workspace/apps/web/src/components/special-keys-strip.tsx","to":"/workspace/apps/web/src/components/special-keys-strip.tsx:handlePointerDown","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/special-keys-strip.tsx","to":"/workspace/apps/web/src/components/special-keys-strip.tsx:handlePointerDown","kind":"defines"},{"from":"/workspace/apps/web/src/components/special-keys-strip.tsx:handlePointerDown","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/workspace/apps/web/src/components/special-keys-strip.tsx:handlePointerDown","to":"symbol-name:onModifierChange","kind":"calls","metadata":{"unresolvedName":"onModifierChange"}},{"from":"/workspace/apps/web/src/components/special-keys-strip.tsx:handlePointerDown","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"/workspace/apps/web/src/components/special-keys-strip.tsx:handlePointerDown","to":"symbol-name:onKeepFocus","kind":"calls","metadata":{"unresolvedName":"onKeepFocus"}},{"from":"/workspace/apps/web/src/components/special-keys-strip.tsx:handlePointerDown","to":"/workspace/apps/web/src/hooks/use-special-keys.ts:getSequenceWithModifier","kind":"calls","metadata":{"unresolvedName":"getSequenceWithModifier"}},{"from":"/workspace/apps/web/src/components/special-keys-strip.tsx:handlePointerDown","to":"symbol-name:onSend","kind":"calls","metadata":{"unresolvedName":"onSend"}},{"from":"file:/workspace/apps/web/src/components/special-keys-strip.tsx","to":"/workspace/apps/web/src/components/special-keys-strip.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/special-keys-strip.tsx","to":"/workspace/apps/web/src/components/special-keys-strip.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/special-keys-strip.tsx:<anonymous>","to":"symbol-name:onKeepFocus","kind":"calls","metadata":{"unresolvedName":"onKeepFocus"}},{"from":"file:/workspace/apps/web/src/components/special-keys-strip.tsx","to":"/workspace/apps/web/src/components/special-keys-strip.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/special-keys-strip.tsx","to":"/workspace/apps/web/src/components/special-keys-strip.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/special-keys-strip.tsx:<anonymous>","to":"symbol-name:onKeepFocus","kind":"calls","metadata":{"unresolvedName":"onKeepFocus"}},{"from":"file:/workspace/apps/web/src/components/special-keys-strip.tsx","to":"/workspace/apps/web/src/components/special-keys-strip.tsx:handleMorePointerDown","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/special-keys-strip.tsx","to":"/workspace/apps/web/src/components/special-keys-strip.tsx:handleMorePointerDown","kind":"defines"},{"from":"/workspace/apps/web/src/components/special-keys-strip.tsx:handleMorePointerDown","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/workspace/apps/web/src/components/special-keys-strip.tsx:handleMorePointerDown","to":"symbol-name:onMoreClick","kind":"calls","metadata":{"unresolvedName":"onMoreClick"}},{"from":"/workspace/apps/web/src/components/special-keys-strip.tsx:handleMorePointerDown","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"/workspace/apps/web/src/components/special-keys-strip.tsx:handleMorePointerDown","to":"symbol-name:onKeepFocus","kind":"calls","metadata":{"unresolvedName":"onKeepFocus"}},{"from":"file:/workspace/apps/web/src/components/special-keys-strip.tsx","to":"/workspace/apps/web/src/components/special-keys-strip.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/special-keys-strip.tsx","to":"/workspace/apps/web/src/components/special-keys-strip.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/special-keys-strip.tsx:<anonymous>","to":"symbol-name:onKeepFocus","kind":"calls","metadata":{"unresolvedName":"onKeepFocus"}},{"from":"file:/workspace/apps/web/src/components/start-tool-fab.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/start-tool-fab.tsx","to":"external:@/components/ui/Icon","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/start-tool-fab.tsx","to":"file:/workspace/apps/web/src/components/tool-starter.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/start-tool-fab.tsx","to":"file:/workspace/apps/web/src/types/workspace.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/start-tool-fab.tsx","to":"file:/workspace/apps/web/src/api/workspaces.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/start-tool-fab.tsx","to":"/workspace/apps/web/src/components/start-tool-fab.tsx:StartToolFAB","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/start-tool-fab.tsx","to":"/workspace/apps/web/src/components/start-tool-fab.tsx:StartToolFAB","kind":"defines"},{"from":"/workspace/apps/web/src/components/start-tool-fab.tsx:StartToolFAB","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/components/start-tool-fab.tsx:StartToolFAB","to":"symbol-name:setOpen","kind":"calls","metadata":{"unresolvedName":"setOpen"}},{"from":"/workspace/apps/web/src/components/start-tool-fab.tsx:StartToolFAB","to":"symbol-name:setWorkspacesLoading","kind":"calls","metadata":{"unresolvedName":"setWorkspacesLoading"}},{"from":"/workspace/apps/web/src/components/start-tool-fab.tsx:StartToolFAB","to":"/workspace/apps/web/src/api/workspaces.ts:listAllWorkspaces","kind":"calls","metadata":{"unresolvedName":"listAllWorkspaces"}},{"from":"/workspace/apps/web/src/components/start-tool-fab.tsx:StartToolFAB","to":"symbol-name:setWorkspaces","kind":"calls","metadata":{"unresolvedName":"setWorkspaces"}},{"from":"/workspace/apps/web/src/components/start-tool-fab.tsx:StartToolFAB","to":"symbol-name:setSelectedWorkspace","kind":"calls","metadata":{"unresolvedName":"setSelectedWorkspace"}},{"from":"/workspace/apps/web/src/components/start-tool-fab.tsx:StartToolFAB","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"/workspace/apps/web/src/components/start-tool-fab.tsx:StartToolFAB","to":"external:workspaces.find","kind":"calls","metadata":{"unresolvedName":"workspaces.find"}},{"from":"/workspace/apps/web/src/components/start-tool-fab.tsx:StartToolFAB","to":"external:workspaces.map","kind":"calls","metadata":{"unresolvedName":"workspaces.map"}},{"from":"file:/workspace/apps/web/src/components/start-tool-fab.tsx","to":"/workspace/apps/web/src/components/start-tool-fab.tsx:handleOpen","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/start-tool-fab.tsx","to":"/workspace/apps/web/src/components/start-tool-fab.tsx:handleOpen","kind":"defines"},{"from":"/workspace/apps/web/src/components/start-tool-fab.tsx:handleOpen","to":"symbol-name:setOpen","kind":"calls","metadata":{"unresolvedName":"setOpen"}},{"from":"/workspace/apps/web/src/components/start-tool-fab.tsx:handleOpen","to":"symbol-name:setWorkspacesLoading","kind":"calls","metadata":{"unresolvedName":"setWorkspacesLoading"}},{"from":"/workspace/apps/web/src/components/start-tool-fab.tsx:handleOpen","to":"/workspace/apps/web/src/api/workspaces.ts:listAllWorkspaces","kind":"calls","metadata":{"unresolvedName":"listAllWorkspaces"}},{"from":"/workspace/apps/web/src/components/start-tool-fab.tsx:handleOpen","to":"symbol-name:setWorkspaces","kind":"calls","metadata":{"unresolvedName":"setWorkspaces"}},{"from":"file:/workspace/apps/web/src/components/start-tool-fab.tsx","to":"/workspace/apps/web/src/components/start-tool-fab.tsx:handleClose","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/start-tool-fab.tsx","to":"/workspace/apps/web/src/components/start-tool-fab.tsx:handleClose","kind":"defines"},{"from":"/workspace/apps/web/src/components/start-tool-fab.tsx:handleClose","to":"symbol-name:setOpen","kind":"calls","metadata":{"unresolvedName":"setOpen"}},{"from":"/workspace/apps/web/src/components/start-tool-fab.tsx:handleClose","to":"symbol-name:setSelectedWorkspace","kind":"calls","metadata":{"unresolvedName":"setSelectedWorkspace"}},{"from":"file:/workspace/apps/web/src/components/start-tool-fab.tsx","to":"/workspace/apps/web/src/components/start-tool-fab.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/start-tool-fab.tsx","to":"/workspace/apps/web/src/components/start-tool-fab.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/start-tool-fab.tsx:<anonymous>","to":"external:workspaces.find","kind":"calls","metadata":{"unresolvedName":"workspaces.find"}},{"from":"/workspace/apps/web/src/components/start-tool-fab.tsx:<anonymous>","to":"symbol-name:setSelectedWorkspace","kind":"calls","metadata":{"unresolvedName":"setSelectedWorkspace"}},{"from":"file:/workspace/apps/web/src/components/start-tool-modal.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/start-tool-modal.tsx","to":"external:@/components/ui/Icon","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/start-tool-modal.tsx","to":"external:@/api/tool-types","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/start-tool-modal.tsx","to":"file:/workspace/apps/web/src/hooks/use-async-data.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/start-tool-modal.tsx","to":"file:/workspace/apps/web/src/types/workspace.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/start-tool-modal.tsx","to":"/workspace/apps/web/src/components/start-tool-modal.tsx:StartToolModal","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/start-tool-modal.tsx","to":"/workspace/apps/web/src/components/start-tool-modal.tsx:StartToolModal","kind":"defines"},{"from":"/workspace/apps/web/src/components/start-tool-modal.tsx:StartToolModal","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/components/start-tool-modal.tsx:StartToolModal","to":"/workspace/apps/web/src/hooks/use-async-data.ts:useAsyncData","kind":"calls","metadata":{"unresolvedName":"useAsyncData"}},{"from":"/workspace/apps/web/src/components/start-tool-modal.tsx:StartToolModal","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/workspace/apps/web/src/components/start-tool-modal.tsx:StartToolModal","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/components/start-tool-modal.tsx:StartToolModal","to":"symbol-name:setSubmitting","kind":"calls","metadata":{"unresolvedName":"setSubmitting"}},{"from":"/workspace/apps/web/src/components/start-tool-modal.tsx:StartToolModal","to":"symbol-name:onStart","kind":"calls","metadata":{"unresolvedName":"onStart"}},{"from":"/workspace/apps/web/src/components/start-tool-modal.tsx:StartToolModal","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"/workspace/apps/web/src/components/start-tool-modal.tsx:StartToolModal","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"/workspace/apps/web/src/components/start-tool-modal.tsx:StartToolModal","to":"symbol-name:setToolTypeId","kind":"calls","metadata":{"unresolvedName":"setToolTypeId"}},{"from":"/workspace/apps/web/src/components/start-tool-modal.tsx:StartToolModal","to":"external:toolTypes?.map","kind":"calls","metadata":{"unresolvedName":"toolTypes?.map"}},{"from":"/workspace/apps/web/src/components/start-tool-modal.tsx:StartToolModal","to":"symbol-name:setConfigProfileId","kind":"calls","metadata":{"unresolvedName":"setConfigProfileId"}},{"from":"file:/workspace/apps/web/src/components/start-tool-modal.tsx","to":"/workspace/apps/web/src/components/start-tool-modal.tsx:handleSubmit","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/start-tool-modal.tsx","to":"/workspace/apps/web/src/components/start-tool-modal.tsx:handleSubmit","kind":"defines"},{"from":"/workspace/apps/web/src/components/start-tool-modal.tsx:handleSubmit","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/workspace/apps/web/src/components/start-tool-modal.tsx:handleSubmit","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/components/start-tool-modal.tsx:handleSubmit","to":"symbol-name:setSubmitting","kind":"calls","metadata":{"unresolvedName":"setSubmitting"}},{"from":"/workspace/apps/web/src/components/start-tool-modal.tsx:handleSubmit","to":"symbol-name:onStart","kind":"calls","metadata":{"unresolvedName":"onStart"}},{"from":"/workspace/apps/web/src/components/start-tool-modal.tsx:handleSubmit","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.test.tsx","to":"file:/workspace/apps/web/src/components/terminal-session-tabs.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.test.tsx","to":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.test.tsx","to":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"symbol-name:cleanup","kind":"calls","metadata":{"unresolvedName":"cleanup"}},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.test.tsx","to":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.test.tsx","to":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Session 1\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Session 1\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Session 2\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Session 2\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Session 3\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Session 3\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:expect(screen.getByRole(\"button\", { name: /new session/i })).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole(\"button\", { name: /new session/i })).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:screen.getAllByText","kind":"calls","metadata":{"unresolvedName":"screen.getAllByText"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:expect(onSelect).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onSelect).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:screen.getByLabelText","kind":"calls","metadata":{"unresolvedName":"screen.getByLabelText"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Close?\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Close?\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:expect(onClose).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onClose).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:fireEvent.doubleClick","kind":"calls","metadata":{"unresolvedName":"fireEvent.doubleClick"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:expect(input).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(input).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:fireEvent.change","kind":"calls","metadata":{"unresolvedName":"fireEvent.change"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:fireEvent.keyDown","kind":"calls","metadata":{"unresolvedName":"fireEvent.keyDown"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:expect(onRename).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onRename).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:expect(onRename).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(onRename).not.toHaveBeenCalled"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:expect(newButton).toBeDisabled","kind":"calls","metadata":{"unresolvedName":"expect(newButton).toBeDisabled"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:screen.getAllByRole","kind":"calls","metadata":{"unresolvedName":"screen.getAllByRole"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:expect(tabs).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(tabs).toHaveLength"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:expect(tabs[0].querySelector(\".connected\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(tabs[0].querySelector(\".connected\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:tabs[0].querySelector","kind":"calls","metadata":{"unresolvedName":"tabs[0].querySelector"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:expect(tabs[1].querySelector(\".connecting\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(tabs[1].querySelector(\".connecting\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:tabs[1].querySelector","kind":"calls","metadata":{"unresolvedName":"tabs[1].querySelector"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:expect(tabs[2].querySelector(\".disconnected\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(tabs[2].querySelector(\".disconnected\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:tabs[2].querySelector","kind":"calls","metadata":{"unresolvedName":"tabs[2].querySelector"}},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.test.tsx","to":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.test.tsx","to":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Session 1\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Session 1\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Session 2\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Session 2\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Session 3\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Session 3\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:expect(screen.getByRole(\"button\", { name: /new session/i })).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole(\"button\", { name: /new session/i })).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.test.tsx","to":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.test.tsx","to":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:screen.getAllByText","kind":"calls","metadata":{"unresolvedName":"screen.getAllByText"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:expect(onSelect).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onSelect).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.test.tsx","to":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.test.tsx","to":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:screen.getByLabelText","kind":"calls","metadata":{"unresolvedName":"screen.getByLabelText"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Close?\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Close?\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:expect(onClose).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onClose).toHaveBeenCalledWith"}},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.test.tsx","to":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.test.tsx","to":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:fireEvent.doubleClick","kind":"calls","metadata":{"unresolvedName":"fireEvent.doubleClick"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:screen.getAllByText","kind":"calls","metadata":{"unresolvedName":"screen.getAllByText"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:screen.getByLabelText","kind":"calls","metadata":{"unresolvedName":"screen.getByLabelText"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:expect(input).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(input).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:fireEvent.change","kind":"calls","metadata":{"unresolvedName":"fireEvent.change"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:fireEvent.keyDown","kind":"calls","metadata":{"unresolvedName":"fireEvent.keyDown"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:expect(onRename).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onRename).toHaveBeenCalledWith"}},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.test.tsx","to":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.test.tsx","to":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:fireEvent.doubleClick","kind":"calls","metadata":{"unresolvedName":"fireEvent.doubleClick"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:screen.getAllByText","kind":"calls","metadata":{"unresolvedName":"screen.getAllByText"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:screen.getByLabelText","kind":"calls","metadata":{"unresolvedName":"screen.getByLabelText"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:fireEvent.change","kind":"calls","metadata":{"unresolvedName":"fireEvent.change"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:fireEvent.keyDown","kind":"calls","metadata":{"unresolvedName":"fireEvent.keyDown"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:expect(onRename).not.toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(onRename).not.toHaveBeenCalled"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Session 1\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Session 1\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.test.tsx","to":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.test.tsx","to":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:Array.from","kind":"calls","metadata":{"unresolvedName":"Array.from"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:expect(newButton).toBeDisabled","kind":"calls","metadata":{"unresolvedName":"expect(newButton).toBeDisabled"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.test.tsx","to":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.test.tsx","to":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:screen.getAllByRole","kind":"calls","metadata":{"unresolvedName":"screen.getAllByRole"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:expect(tabs).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(tabs).toHaveLength"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:expect(tabs[0].querySelector(\".connected\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(tabs[0].querySelector(\".connected\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:tabs[0].querySelector","kind":"calls","metadata":{"unresolvedName":"tabs[0].querySelector"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:expect(tabs[1].querySelector(\".connecting\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(tabs[1].querySelector(\".connecting\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:tabs[1].querySelector","kind":"calls","metadata":{"unresolvedName":"tabs[1].querySelector"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:expect(tabs[2].querySelector(\".disconnected\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(tabs[2].querySelector(\".disconnected\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.test.tsx:<anonymous>","to":"external:tabs[2].querySelector","kind":"calls","metadata":{"unresolvedName":"tabs[2].querySelector"}},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.tsx","to":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:TerminalSessionTabs","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.tsx","to":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:TerminalSessionTabs","kind":"defines"},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:TerminalSessionTabs","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:TerminalSessionTabs","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:TerminalSessionTabs","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:TerminalSessionTabs","to":"symbol-name:setRenamingId","kind":"calls","metadata":{"unresolvedName":"setRenamingId"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:TerminalSessionTabs","to":"symbol-name:setRenameValue","kind":"calls","metadata":{"unresolvedName":"setRenameValue"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:TerminalSessionTabs","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:TerminalSessionTabs","to":"external:renameInputRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"renameInputRef.current?.focus"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:TerminalSessionTabs","to":"external:renameInputRef.current?.select","kind":"calls","metadata":{"unresolvedName":"renameInputRef.current?.select"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:TerminalSessionTabs","to":"external:renameValue.trim","kind":"calls","metadata":{"unresolvedName":"renameValue.trim"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:TerminalSessionTabs","to":"symbol-name:onRename","kind":"calls","metadata":{"unresolvedName":"onRename"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:TerminalSessionTabs","to":"symbol-name:commitRename","kind":"calls","metadata":{"unresolvedName":"commitRename"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:TerminalSessionTabs","to":"symbol-name:cancelRename","kind":"calls","metadata":{"unresolvedName":"cancelRename"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:TerminalSessionTabs","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:TerminalSessionTabs","to":"symbol-name:setConfirmCloseId","kind":"calls","metadata":{"unresolvedName":"setConfirmCloseId"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:TerminalSessionTabs","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:TerminalSessionTabs","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:TerminalSessionTabs","to":"external:sessions.map","kind":"calls","metadata":{"unresolvedName":"sessions.map"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:TerminalSessionTabs","to":"symbol-name:onSelect","kind":"calls","metadata":{"unresolvedName":"onSelect"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:TerminalSessionTabs","to":"symbol-name:handleDoubleClick","kind":"calls","metadata":{"unresolvedName":"handleDoubleClick"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:TerminalSessionTabs","to":"symbol-name:handleCloseClick","kind":"calls","metadata":{"unresolvedName":"handleCloseClick"}},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.tsx","to":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.tsx","to":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","to":"symbol-name:setRenamingId","kind":"calls","metadata":{"unresolvedName":"setRenamingId"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","to":"symbol-name:setRenameValue","kind":"calls","metadata":{"unresolvedName":"setRenameValue"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","to":"symbol-name:requestAnimationFrame","kind":"calls","metadata":{"unresolvedName":"requestAnimationFrame"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","to":"external:renameInputRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"renameInputRef.current?.focus"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","to":"external:renameInputRef.current?.select","kind":"calls","metadata":{"unresolvedName":"renameInputRef.current?.select"}},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.tsx","to":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.tsx","to":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","to":"external:renameInputRef.current?.focus","kind":"calls","metadata":{"unresolvedName":"renameInputRef.current?.focus"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","to":"external:renameInputRef.current?.select","kind":"calls","metadata":{"unresolvedName":"renameInputRef.current?.select"}},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.tsx","to":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.tsx","to":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","to":"external:renameValue.trim","kind":"calls","metadata":{"unresolvedName":"renameValue.trim"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","to":"symbol-name:onRename","kind":"calls","metadata":{"unresolvedName":"onRename"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","to":"symbol-name:setRenamingId","kind":"calls","metadata":{"unresolvedName":"setRenamingId"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","to":"symbol-name:setRenameValue","kind":"calls","metadata":{"unresolvedName":"setRenameValue"}},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.tsx","to":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.tsx","to":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","to":"symbol-name:setRenamingId","kind":"calls","metadata":{"unresolvedName":"setRenamingId"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","to":"symbol-name:setRenameValue","kind":"calls","metadata":{"unresolvedName":"setRenameValue"}},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.tsx","to":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.tsx","to":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","to":"symbol-name:commitRename","kind":"calls","metadata":{"unresolvedName":"commitRename"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","to":"symbol-name:cancelRename","kind":"calls","metadata":{"unresolvedName":"cancelRename"}},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.tsx","to":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.tsx","to":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","to":"symbol-name:setConfirmCloseId","kind":"calls","metadata":{"unresolvedName":"setConfirmCloseId"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.tsx","to":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.tsx","to":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","to":"symbol-name:setConfirmCloseId","kind":"calls","metadata":{"unresolvedName":"setConfirmCloseId"}},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.tsx","to":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.tsx","to":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","to":"symbol-name:onSelect","kind":"calls","metadata":{"unresolvedName":"onSelect"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","to":"symbol-name:handleDoubleClick","kind":"calls","metadata":{"unresolvedName":"handleDoubleClick"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","to":"symbol-name:setRenameValue","kind":"calls","metadata":{"unresolvedName":"setRenameValue"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","to":"symbol-name:setConfirmCloseId","kind":"calls","metadata":{"unresolvedName":"setConfirmCloseId"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","to":"symbol-name:handleCloseClick","kind":"calls","metadata":{"unresolvedName":"handleCloseClick"}},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.tsx","to":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/terminal-session-tabs.tsx","to":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","to":"symbol-name:setConfirmCloseId","kind":"calls","metadata":{"unresolvedName":"setConfirmCloseId"}},{"from":"/workspace/apps/web/src/components/terminal-session-tabs.tsx:<anonymous>","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"file:/workspace/apps/web/src/components/toast-rules.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/toast-rules.test.ts","to":"file:/workspace/apps/web/src/components/toast-rules.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/toast-rules.test.ts","to":"file:/workspace/apps/web/src/types/events.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/toast-rules.test.ts","to":"/workspace/apps/web/src/components/toast-rules.test.ts:makeEvent","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/toast-rules.test.ts","to":"/workspace/apps/web/src/components/toast-rules.test.ts:makeEvent","kind":"defines"},{"from":"file:/workspace/apps/web/src/components/toast-rules.test.ts","to":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/toast-rules.test.ts","to":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"external:expect(mapEventToCategory(makeEvent(\"instance.started\"))).toBe","kind":"calls","metadata":{"unresolvedName":"expect(mapEventToCategory(makeEvent(\"instance.started\"))).toBe"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"/workspace/apps/web/src/components/toast-rules.ts:mapEventToCategory","kind":"calls","metadata":{"unresolvedName":"mapEventToCategory"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"symbol-name:makeEvent","kind":"calls","metadata":{"unresolvedName":"makeEvent"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"external:expect(mapEventToCategory(makeEvent(\"instance.error\"))).toBe","kind":"calls","metadata":{"unresolvedName":"expect(mapEventToCategory(makeEvent(\"instance.error\"))).toBe"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"external:expect(mapEventToCategory(makeEvent(\"health.error\"))).toBe","kind":"calls","metadata":{"unresolvedName":"expect(mapEventToCategory(makeEvent(\"health.error\"))).toBe"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"external:expect(mapEventToCategory(makeEvent(\"system.announcement\"))).toBe","kind":"calls","metadata":{"unresolvedName":"expect(mapEventToCategory(makeEvent(\"system.announcement\"))).toBe"}},{"from":"file:/workspace/apps/web/src/components/toast-rules.test.ts","to":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/toast-rules.test.ts","to":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"external:expect(mapEventToCategory(makeEvent(\"instance.started\"))).toBe","kind":"calls","metadata":{"unresolvedName":"expect(mapEventToCategory(makeEvent(\"instance.started\"))).toBe"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"/workspace/apps/web/src/components/toast-rules.ts:mapEventToCategory","kind":"calls","metadata":{"unresolvedName":"mapEventToCategory"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"symbol-name:makeEvent","kind":"calls","metadata":{"unresolvedName":"makeEvent"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"external:expect(mapEventToCategory(makeEvent(\"instance.error\"))).toBe","kind":"calls","metadata":{"unresolvedName":"expect(mapEventToCategory(makeEvent(\"instance.error\"))).toBe"}},{"from":"file:/workspace/apps/web/src/components/toast-rules.test.ts","to":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/toast-rules.test.ts","to":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"external:expect(mapEventToCategory(makeEvent(\"health.error\"))).toBe","kind":"calls","metadata":{"unresolvedName":"expect(mapEventToCategory(makeEvent(\"health.error\"))).toBe"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"/workspace/apps/web/src/components/toast-rules.ts:mapEventToCategory","kind":"calls","metadata":{"unresolvedName":"mapEventToCategory"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"symbol-name:makeEvent","kind":"calls","metadata":{"unresolvedName":"makeEvent"}},{"from":"file:/workspace/apps/web/src/components/toast-rules.test.ts","to":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/toast-rules.test.ts","to":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"external:expect(mapEventToCategory(makeEvent(\"system.announcement\"))).toBe","kind":"calls","metadata":{"unresolvedName":"expect(mapEventToCategory(makeEvent(\"system.announcement\"))).toBe"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"/workspace/apps/web/src/components/toast-rules.ts:mapEventToCategory","kind":"calls","metadata":{"unresolvedName":"mapEventToCategory"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"symbol-name:makeEvent","kind":"calls","metadata":{"unresolvedName":"makeEvent"}},{"from":"file:/workspace/apps/web/src/components/toast-rules.test.ts","to":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/toast-rules.test.ts","to":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"external:expect(mapEventToSeverity(makeEvent(\"instance.error\"))).toBe","kind":"calls","metadata":{"unresolvedName":"expect(mapEventToSeverity(makeEvent(\"instance.error\"))).toBe"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"/workspace/apps/web/src/components/toast-rules.ts:mapEventToSeverity","kind":"calls","metadata":{"unresolvedName":"mapEventToSeverity"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"symbol-name:makeEvent","kind":"calls","metadata":{"unresolvedName":"makeEvent"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"external:expect(mapEventToSeverity(makeEvent(\"health.error\"))).toBe","kind":"calls","metadata":{"unresolvedName":"expect(mapEventToSeverity(makeEvent(\"health.error\"))).toBe"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"external:expect(mapEventToSeverity(makeEvent(\"instance.created\"))).toBe","kind":"calls","metadata":{"unresolvedName":"expect(mapEventToSeverity(makeEvent(\"instance.created\"))).toBe"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"external:expect(mapEventToSeverity(makeEvent(\"instance.started\"))).toBe","kind":"calls","metadata":{"unresolvedName":"expect(mapEventToSeverity(makeEvent(\"instance.started\"))).toBe"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"external:expect(mapEventToSeverity(makeEvent(\"instance.stopped\"))).toBe","kind":"calls","metadata":{"unresolvedName":"expect(mapEventToSeverity(makeEvent(\"instance.stopped\"))).toBe"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"external:expect(mapEventToSeverity(makeEvent(\"instance.restarted\"))).toBe","kind":"calls","metadata":{"unresolvedName":"expect(mapEventToSeverity(makeEvent(\"instance.restarted\"))).toBe"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"external:expect(mapEventToSeverity(makeEvent(\"instance.deleted\"))).toBe","kind":"calls","metadata":{"unresolvedName":"expect(mapEventToSeverity(makeEvent(\"instance.deleted\"))).toBe"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"external:expect(mapEventToSeverity(makeEvent(\"unknown.event\"))).toBe","kind":"calls","metadata":{"unresolvedName":"expect(mapEventToSeverity(makeEvent(\"unknown.event\"))).toBe"}},{"from":"file:/workspace/apps/web/src/components/toast-rules.test.ts","to":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/toast-rules.test.ts","to":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"external:expect(mapEventToSeverity(makeEvent(\"instance.error\"))).toBe","kind":"calls","metadata":{"unresolvedName":"expect(mapEventToSeverity(makeEvent(\"instance.error\"))).toBe"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"/workspace/apps/web/src/components/toast-rules.ts:mapEventToSeverity","kind":"calls","metadata":{"unresolvedName":"mapEventToSeverity"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"symbol-name:makeEvent","kind":"calls","metadata":{"unresolvedName":"makeEvent"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"external:expect(mapEventToSeverity(makeEvent(\"health.error\"))).toBe","kind":"calls","metadata":{"unresolvedName":"expect(mapEventToSeverity(makeEvent(\"health.error\"))).toBe"}},{"from":"file:/workspace/apps/web/src/components/toast-rules.test.ts","to":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/toast-rules.test.ts","to":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"/workspace/apps/web/src/components/toast-rules.ts:mapEventToSeverity","kind":"calls","metadata":{"unresolvedName":"mapEventToSeverity"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"symbol-name:makeEvent","kind":"calls","metadata":{"unresolvedName":"makeEvent"}},{"from":"file:/workspace/apps/web/src/components/toast-rules.test.ts","to":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/toast-rules.test.ts","to":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"/workspace/apps/web/src/components/toast-rules.ts:mapEventToSeverity","kind":"calls","metadata":{"unresolvedName":"mapEventToSeverity"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"symbol-name:makeEvent","kind":"calls","metadata":{"unresolvedName":"makeEvent"}},{"from":"file:/workspace/apps/web/src/components/toast-rules.test.ts","to":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/toast-rules.test.ts","to":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"external:expect(mapEventToSeverity(makeEvent(\"instance.created\"))).toBe","kind":"calls","metadata":{"unresolvedName":"expect(mapEventToSeverity(makeEvent(\"instance.created\"))).toBe"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"/workspace/apps/web/src/components/toast-rules.ts:mapEventToSeverity","kind":"calls","metadata":{"unresolvedName":"mapEventToSeverity"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"symbol-name:makeEvent","kind":"calls","metadata":{"unresolvedName":"makeEvent"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"external:expect(mapEventToSeverity(makeEvent(\"instance.started\"))).toBe","kind":"calls","metadata":{"unresolvedName":"expect(mapEventToSeverity(makeEvent(\"instance.started\"))).toBe"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"external:expect(mapEventToSeverity(makeEvent(\"instance.stopped\"))).toBe","kind":"calls","metadata":{"unresolvedName":"expect(mapEventToSeverity(makeEvent(\"instance.stopped\"))).toBe"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"external:expect(mapEventToSeverity(makeEvent(\"instance.restarted\"))).toBe","kind":"calls","metadata":{"unresolvedName":"expect(mapEventToSeverity(makeEvent(\"instance.restarted\"))).toBe"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"external:expect(mapEventToSeverity(makeEvent(\"instance.deleted\"))).toBe","kind":"calls","metadata":{"unresolvedName":"expect(mapEventToSeverity(makeEvent(\"instance.deleted\"))).toBe"}},{"from":"file:/workspace/apps/web/src/components/toast-rules.test.ts","to":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/toast-rules.test.ts","to":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"external:expect(mapEventToSeverity(makeEvent(\"unknown.event\"))).toBe","kind":"calls","metadata":{"unresolvedName":"expect(mapEventToSeverity(makeEvent(\"unknown.event\"))).toBe"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"/workspace/apps/web/src/components/toast-rules.ts:mapEventToSeverity","kind":"calls","metadata":{"unresolvedName":"mapEventToSeverity"}},{"from":"/workspace/apps/web/src/components/toast-rules.test.ts:<anonymous>","to":"symbol-name:makeEvent","kind":"calls","metadata":{"unresolvedName":"makeEvent"}},{"from":"file:/workspace/apps/web/src/components/toast-rules.ts","to":"file:/workspace/apps/web/src/state/toast.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/toast-rules.ts","to":"file:/workspace/apps/web/src/types/events.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/toast-rules.ts","to":"/workspace/apps/web/src/components/toast-rules.ts:makeDedupKey","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/toast-rules.ts","to":"/workspace/apps/web/src/components/toast-rules.ts:makeDedupKey","kind":"defines"},{"from":"file:/workspace/apps/web/src/components/toast-rules.ts","to":"/workspace/apps/web/src/components/toast-rules.ts:shouldShowToast","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/toast-rules.ts","to":"/workspace/apps/web/src/components/toast-rules.ts:shouldShowToast","kind":"defines"},{"from":"/workspace/apps/web/src/components/toast-rules.ts:shouldShowToast","to":"/workspace/apps/web/src/components/toast-rules.ts:makeDedupKey","kind":"calls","metadata":{"unresolvedName":"makeDedupKey"}},{"from":"/workspace/apps/web/src/components/toast-rules.ts:shouldShowToast","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"/workspace/apps/web/src/components/toast-rules.ts:shouldShowToast","to":"external:lastToastTime.get","kind":"calls","metadata":{"unresolvedName":"lastToastTime.get"}},{"from":"/workspace/apps/web/src/components/toast-rules.ts:shouldShowToast","to":"external:lastToastTime.set","kind":"calls","metadata":{"unresolvedName":"lastToastTime.set"}},{"from":"file:/workspace/apps/web/src/components/toast-rules.ts","to":"/workspace/apps/web/src/components/toast-rules.ts:mapEventToCategory","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/toast-rules.ts","to":"/workspace/apps/web/src/components/toast-rules.ts:mapEventToCategory","kind":"defines"},{"from":"/workspace/apps/web/src/components/toast-rules.ts:mapEventToCategory","to":"external:event.event.startsWith","kind":"calls","metadata":{"unresolvedName":"event.event.startsWith"}},{"from":"file:/workspace/apps/web/src/components/toast-rules.ts","to":"/workspace/apps/web/src/components/toast-rules.ts:mapEventToSeverity","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/toast-rules.ts","to":"/workspace/apps/web/src/components/toast-rules.ts:mapEventToSeverity","kind":"defines"},{"from":"file:/workspace/apps/web/src/components/toast-rules.ts","to":"/workspace/apps/web/src/components/toast-rules.ts:handleEventToast","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/toast-rules.ts","to":"/workspace/apps/web/src/components/toast-rules.ts:handleEventToast","kind":"defines"},{"from":"/workspace/apps/web/src/components/toast-rules.ts:handleEventToast","to":"/workspace/apps/web/src/components/toast-rules.ts:shouldShowToast","kind":"calls","metadata":{"unresolvedName":"shouldShowToast"}},{"from":"/workspace/apps/web/src/components/toast-rules.ts:handleEventToast","to":"external:toast.info","kind":"calls","metadata":{"unresolvedName":"toast.info"}},{"from":"/workspace/apps/web/src/components/toast-rules.ts:handleEventToast","to":"external:toast.success","kind":"calls","metadata":{"unresolvedName":"toast.success"}},{"from":"/workspace/apps/web/src/components/toast-rules.ts:handleEventToast","to":"external:toast.warning","kind":"calls","metadata":{"unresolvedName":"toast.warning"}},{"from":"/workspace/apps/web/src/components/toast-rules.ts:handleEventToast","to":"external:toast.error","kind":"calls","metadata":{"unresolvedName":"toast.error"}},{"from":"file:/workspace/apps/web/src/components/toast-rules.ts","to":"/workspace/apps/web/src/components/toast-rules.ts:clearToastDedup","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/toast-rules.ts","to":"/workspace/apps/web/src/components/toast-rules.ts:clearToastDedup","kind":"defines"},{"from":"/workspace/apps/web/src/components/toast-rules.ts:clearToastDedup","to":"external:lastToastTime.clear","kind":"calls","metadata":{"unresolvedName":"lastToastTime.clear"}},{"from":"file:/workspace/apps/web/src/components/tool-starter.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/tool-starter.tsx","to":"external:@/components/ui/Icon","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/tool-starter.tsx","to":"external:@/api/tool-types","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/tool-starter.tsx","to":"file:/workspace/apps/web/src/api/config_profiles.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/tool-starter.tsx","to":"external:@/api/ssh-keys","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/tool-starter.tsx","to":"file:/workspace/apps/web/src/types/workspace.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/tool-starter.tsx","to":"file:/workspace/apps/web/src/api/sessions.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/tool-starter.tsx","to":"/workspace/apps/web/src/components/tool-starter.tsx:ToolStarter","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/tool-starter.tsx","to":"/workspace/apps/web/src/components/tool-starter.tsx:ToolStarter","kind":"defines"},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:ToolStarter","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:ToolStarter","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:ToolStarter","to":"/workspace/apps/web/src/api/tool-types.ts:listToolTypes","kind":"calls","metadata":{"unresolvedName":"listToolTypes"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:ToolStarter","to":"symbol-name:setToolTypes","kind":"calls","metadata":{"unresolvedName":"setToolTypes"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:ToolStarter","to":"symbol-name:setToolTypesError","kind":"calls","metadata":{"unresolvedName":"setToolTypesError"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:ToolStarter","to":"symbol-name:setToolTypesLoading","kind":"calls","metadata":{"unresolvedName":"setToolTypesLoading"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:ToolStarter","to":"symbol-name:load","kind":"calls","metadata":{"unresolvedName":"load"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:ToolStarter","to":"symbol-name:setProfiles","kind":"calls","metadata":{"unresolvedName":"setProfiles"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:ToolStarter","to":"symbol-name:setSelectedProfileId","kind":"calls","metadata":{"unresolvedName":"setSelectedProfileId"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:ToolStarter","to":"symbol-name:setProfilesLoading","kind":"calls","metadata":{"unresolvedName":"setProfilesLoading"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:ToolStarter","to":"/workspace/apps/web/src/api/config_profiles.ts:listConfigProfiles","kind":"calls","metadata":{"unresolvedName":"listConfigProfiles"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:ToolStarter","to":"external:data.find","kind":"calls","metadata":{"unresolvedName":"data.find"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:ToolStarter","to":"/workspace/apps/web/src/api/ssh-keys.ts:listSSHKeys","kind":"calls","metadata":{"unresolvedName":"listSSHKeys"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:ToolStarter","to":"symbol-name:setSshKeys","kind":"calls","metadata":{"unresolvedName":"setSshKeys"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:ToolStarter","to":"symbol-name:setSelectedSshKeyIds","kind":"calls","metadata":{"unresolvedName":"setSelectedSshKeyIds"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:ToolStarter","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:ToolStarter","to":"symbol-name:setSshKeysLoading","kind":"calls","metadata":{"unresolvedName":"setSshKeysLoading"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:ToolStarter","to":"external:sshKeys.find","kind":"calls","metadata":{"unresolvedName":"sshKeys.find"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:ToolStarter","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:ToolStarter","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:ToolStarter","to":"symbol-name:setStarting","kind":"calls","metadata":{"unresolvedName":"setStarting"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:ToolStarter","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:ToolStarter","to":"symbol-name:onStarted","kind":"calls","metadata":{"unresolvedName":"onStarted"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:ToolStarter","to":"symbol-name:setSelectedToolTypeId","kind":"calls","metadata":{"unresolvedName":"setSelectedToolTypeId"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:ToolStarter","to":"external:toolTypes.map","kind":"calls","metadata":{"unresolvedName":"toolTypes.map"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:ToolStarter","to":"external:profiles.map","kind":"calls","metadata":{"unresolvedName":"profiles.map"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:ToolStarter","to":"external:sshKeys.map","kind":"calls","metadata":{"unresolvedName":"sshKeys.map"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:ToolStarter","to":"external:selectedSshKeyIds.includes","kind":"calls","metadata":{"unresolvedName":"selectedSshKeyIds.includes"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:ToolStarter","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"file:/workspace/apps/web/src/components/tool-starter.tsx","to":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/tool-starter.tsx","to":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","to":"/workspace/apps/web/src/api/tool-types.ts:listToolTypes","kind":"calls","metadata":{"unresolvedName":"listToolTypes"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","to":"symbol-name:setToolTypes","kind":"calls","metadata":{"unresolvedName":"setToolTypes"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","to":"symbol-name:setToolTypesError","kind":"calls","metadata":{"unresolvedName":"setToolTypesError"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","to":"symbol-name:setToolTypesLoading","kind":"calls","metadata":{"unresolvedName":"setToolTypesLoading"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","to":"symbol-name:load","kind":"calls","metadata":{"unresolvedName":"load"}},{"from":"file:/workspace/apps/web/src/components/tool-starter.tsx","to":"/workspace/apps/web/src/components/tool-starter.tsx:load","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/tool-starter.tsx","to":"/workspace/apps/web/src/components/tool-starter.tsx:load","kind":"defines"},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:load","to":"/workspace/apps/web/src/api/tool-types.ts:listToolTypes","kind":"calls","metadata":{"unresolvedName":"listToolTypes"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:load","to":"symbol-name:setToolTypes","kind":"calls","metadata":{"unresolvedName":"setToolTypes"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:load","to":"symbol-name:setToolTypesError","kind":"calls","metadata":{"unresolvedName":"setToolTypesError"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:load","to":"symbol-name:setToolTypesLoading","kind":"calls","metadata":{"unresolvedName":"setToolTypesLoading"}},{"from":"file:/workspace/apps/web/src/components/tool-starter.tsx","to":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/tool-starter.tsx","to":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","to":"symbol-name:setProfiles","kind":"calls","metadata":{"unresolvedName":"setProfiles"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","to":"symbol-name:setSelectedProfileId","kind":"calls","metadata":{"unresolvedName":"setSelectedProfileId"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","to":"symbol-name:setProfilesLoading","kind":"calls","metadata":{"unresolvedName":"setProfilesLoading"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","to":"/workspace/apps/web/src/api/config_profiles.ts:listConfigProfiles","kind":"calls","metadata":{"unresolvedName":"listConfigProfiles"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","to":"external:data.find","kind":"calls","metadata":{"unresolvedName":"data.find"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","to":"symbol-name:load","kind":"calls","metadata":{"unresolvedName":"load"}},{"from":"file:/workspace/apps/web/src/components/tool-starter.tsx","to":"/workspace/apps/web/src/components/tool-starter.tsx:load","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/tool-starter.tsx","to":"/workspace/apps/web/src/components/tool-starter.tsx:load","kind":"defines"},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:load","to":"symbol-name:setProfilesLoading","kind":"calls","metadata":{"unresolvedName":"setProfilesLoading"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:load","to":"/workspace/apps/web/src/api/config_profiles.ts:listConfigProfiles","kind":"calls","metadata":{"unresolvedName":"listConfigProfiles"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:load","to":"symbol-name:setProfiles","kind":"calls","metadata":{"unresolvedName":"setProfiles"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:load","to":"external:data.find","kind":"calls","metadata":{"unresolvedName":"data.find"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:load","to":"symbol-name:setSelectedProfileId","kind":"calls","metadata":{"unresolvedName":"setSelectedProfileId"}},{"from":"file:/workspace/apps/web/src/components/tool-starter.tsx","to":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/tool-starter.tsx","to":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","to":"/workspace/apps/web/src/api/ssh-keys.ts:listSSHKeys","kind":"calls","metadata":{"unresolvedName":"listSSHKeys"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","to":"symbol-name:setSshKeys","kind":"calls","metadata":{"unresolvedName":"setSshKeys"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","to":"symbol-name:setSelectedSshKeyIds","kind":"calls","metadata":{"unresolvedName":"setSelectedSshKeyIds"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","to":"symbol-name:setSshKeysLoading","kind":"calls","metadata":{"unresolvedName":"setSshKeysLoading"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","to":"symbol-name:load","kind":"calls","metadata":{"unresolvedName":"load"}},{"from":"file:/workspace/apps/web/src/components/tool-starter.tsx","to":"/workspace/apps/web/src/components/tool-starter.tsx:load","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/tool-starter.tsx","to":"/workspace/apps/web/src/components/tool-starter.tsx:load","kind":"defines"},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:load","to":"/workspace/apps/web/src/api/ssh-keys.ts:listSSHKeys","kind":"calls","metadata":{"unresolvedName":"listSSHKeys"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:load","to":"symbol-name:setSshKeys","kind":"calls","metadata":{"unresolvedName":"setSshKeys"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:load","to":"symbol-name:setSelectedSshKeyIds","kind":"calls","metadata":{"unresolvedName":"setSelectedSshKeyIds"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:load","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:load","to":"symbol-name:setSshKeysLoading","kind":"calls","metadata":{"unresolvedName":"setSshKeysLoading"}},{"from":"file:/workspace/apps/web/src/components/tool-starter.tsx","to":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/tool-starter.tsx","to":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","to":"symbol-name:setStarting","kind":"calls","metadata":{"unresolvedName":"setStarting"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","to":"symbol-name:onStarted","kind":"calls","metadata":{"unresolvedName":"onStarted"}},{"from":"file:/workspace/apps/web/src/components/tool-starter.tsx","to":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/tool-starter.tsx","to":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","to":"symbol-name:setSelectedToolTypeId","kind":"calls","metadata":{"unresolvedName":"setSelectedToolTypeId"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:/workspace/apps/web/src/components/tool-starter.tsx","to":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/tool-starter.tsx","to":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","to":"symbol-name:setSelectedSshKeyIds","kind":"calls","metadata":{"unresolvedName":"setSelectedSshKeyIds"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"file:/workspace/apps/web/src/components/tools-bottom-sheet.tsx","to":"external:react-router-dom","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/tools-bottom-sheet.tsx","to":"external:@/components/ui/Icon","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/tools-bottom-sheet.tsx","to":"/workspace/apps/web/src/components/tools-bottom-sheet.tsx:ToolsBottomSheet","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/tools-bottom-sheet.tsx","to":"/workspace/apps/web/src/components/tools-bottom-sheet.tsx:ToolsBottomSheet","kind":"defines"},{"from":"/workspace/apps/web/src/components/tools-bottom-sheet.tsx:ToolsBottomSheet","to":"symbol-name:useLocation","kind":"calls","metadata":{"unresolvedName":"useLocation"}},{"from":"/workspace/apps/web/src/components/tools-bottom-sheet.tsx:ToolsBottomSheet","to":"symbol-name:useNavigate","kind":"calls","metadata":{"unresolvedName":"useNavigate"}},{"from":"/workspace/apps/web/src/components/tools-bottom-sheet.tsx:ToolsBottomSheet","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"/workspace/apps/web/src/components/tools-bottom-sheet.tsx:ToolsBottomSheet","to":"symbol-name:navigate","kind":"calls","metadata":{"unresolvedName":"navigate"}},{"from":"/workspace/apps/web/src/components/tools-bottom-sheet.tsx:ToolsBottomSheet","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"/workspace/apps/web/src/components/tools-bottom-sheet.tsx:ToolsBottomSheet","to":"external:TOOLS_ITEMS.map","kind":"calls","metadata":{"unresolvedName":"TOOLS_ITEMS.map"}},{"from":"/workspace/apps/web/src/components/tools-bottom-sheet.tsx:ToolsBottomSheet","to":"symbol-name:handleSelect","kind":"calls","metadata":{"unresolvedName":"handleSelect"}},{"from":"file:/workspace/apps/web/src/components/tools-bottom-sheet.tsx","to":"/workspace/apps/web/src/components/tools-bottom-sheet.tsx:handleSelect","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/tools-bottom-sheet.tsx","to":"/workspace/apps/web/src/components/tools-bottom-sheet.tsx:handleSelect","kind":"defines"},{"from":"/workspace/apps/web/src/components/tools-bottom-sheet.tsx:handleSelect","to":"symbol-name:onClose","kind":"calls","metadata":{"unresolvedName":"onClose"}},{"from":"/workspace/apps/web/src/components/tools-bottom-sheet.tsx:handleSelect","to":"symbol-name:navigate","kind":"calls","metadata":{"unresolvedName":"navigate"}},{"from":"file:/workspace/apps/web/src/components/ui/CodeEditor.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/ui/CodeEditor.tsx","to":"external:react-simple-code-editor","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/ui/CodeEditor.tsx","to":"file:/workspace/apps/web/src/utils/language.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/ui/CodeEditor.tsx","to":"/workspace/apps/web/src/components/ui/CodeEditor.tsx:CodeEditor","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/ui/CodeEditor.tsx","to":"/workspace/apps/web/src/components/ui/CodeEditor.tsx:CodeEditor","kind":"defines"},{"from":"/workspace/apps/web/src/components/ui/CodeEditor.tsx:CodeEditor","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/components/ui/CodeEditor.tsx:CodeEditor","to":"/workspace/apps/web/src/utils/language.ts:loadLanguage","kind":"calls","metadata":{"unresolvedName":"loadLanguage"}},{"from":"/workspace/apps/web/src/components/ui/CodeEditor.tsx:CodeEditor","to":"symbol-name:highlight","kind":"calls","metadata":{"unresolvedName":"highlight"}},{"from":"/workspace/apps/web/src/components/ui/CodeEditor.tsx:CodeEditor","to":"external:input\n .split(\"\\n\")\n .map","kind":"calls","metadata":{"unresolvedName":"input\n .split(\"\\n\")\n .map"}},{"from":"/workspace/apps/web/src/components/ui/CodeEditor.tsx:CodeEditor","to":"external:input\n .split","kind":"calls","metadata":{"unresolvedName":"input\n .split"}},{"from":"/workspace/apps/web/src/components/ui/CodeEditor.tsx:CodeEditor","to":"/workspace/apps/web/src/utils/language.ts:highlightCode","kind":"calls","metadata":{"unresolvedName":"highlightCode"}},{"from":"file:/workspace/apps/web/src/components/ui/CodeEditor.tsx","to":"/workspace/apps/web/src/components/ui/CodeEditor.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/ui/CodeEditor.tsx","to":"/workspace/apps/web/src/components/ui/CodeEditor.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/ui/CodeEditor.tsx:<anonymous>","to":"/workspace/apps/web/src/utils/language.ts:loadLanguage","kind":"calls","metadata":{"unresolvedName":"loadLanguage"}},{"from":"/workspace/apps/web/src/components/ui/CodeEditor.tsx:<anonymous>","to":"symbol-name:highlight","kind":"calls","metadata":{"unresolvedName":"highlight"}},{"from":"file:/workspace/apps/web/src/components/ui/CodeEditor.tsx","to":"/workspace/apps/web/src/components/ui/CodeEditor.tsx:highlight","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/ui/CodeEditor.tsx","to":"/workspace/apps/web/src/components/ui/CodeEditor.tsx:highlight","kind":"defines"},{"from":"/workspace/apps/web/src/components/ui/CodeEditor.tsx:highlight","to":"/workspace/apps/web/src/utils/language.ts:loadLanguage","kind":"calls","metadata":{"unresolvedName":"loadLanguage"}},{"from":"file:/workspace/apps/web/src/components/ui/ConfirmDialog.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/ui/ConfirmDialog.tsx","to":"/workspace/apps/web/src/components/ui/ConfirmDialog.tsx:ConfirmDialog","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/ui/ConfirmDialog.tsx","to":"/workspace/apps/web/src/components/ui/ConfirmDialog.tsx:ConfirmDialog","kind":"defines"},{"from":"file:/workspace/apps/web/src/components/ui/ErrorState.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/ui/ErrorState.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/ui/ErrorState.test.tsx","to":"file:/workspace/apps/web/src/components/ui/ErrorState.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/ui/ErrorState.test.tsx","to":"/workspace/apps/web/src/components/ui/ErrorState.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/ui/ErrorState.test.tsx","to":"/workspace/apps/web/src/components/ui/ErrorState.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/ui/ErrorState.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/workspace/apps/web/src/components/ui/ErrorState.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/ui/ErrorState.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Failed to load\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Failed to load\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/ui/ErrorState.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/ui/ErrorState.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/components/ui/ErrorState.test.tsx:<anonymous>","to":"external:expect(screen.queryByText(\"Retry\")).not.toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.queryByText(\"Retry\")).not.toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/ui/ErrorState.test.tsx:<anonymous>","to":"external:screen.queryByText","kind":"calls","metadata":{"unresolvedName":"screen.queryByText"}},{"from":"/workspace/apps/web/src/components/ui/ErrorState.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/workspace/apps/web/src/components/ui/ErrorState.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/components/ui/ErrorState.test.tsx:<anonymous>","to":"external:expect(onRetry).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(onRetry).toHaveBeenCalledTimes"}},{"from":"file:/workspace/apps/web/src/components/ui/ErrorState.test.tsx","to":"/workspace/apps/web/src/components/ui/ErrorState.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/ui/ErrorState.test.tsx","to":"/workspace/apps/web/src/components/ui/ErrorState.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/ui/ErrorState.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/ui/ErrorState.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Failed to load\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Failed to load\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/ui/ErrorState.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/ui/ErrorState.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/components/ui/ErrorState.test.tsx","to":"/workspace/apps/web/src/components/ui/ErrorState.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/ui/ErrorState.test.tsx","to":"/workspace/apps/web/src/components/ui/ErrorState.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/ui/ErrorState.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/ui/ErrorState.test.tsx:<anonymous>","to":"external:expect(screen.queryByText(\"Retry\")).not.toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.queryByText(\"Retry\")).not.toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/ui/ErrorState.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/ui/ErrorState.test.tsx:<anonymous>","to":"external:screen.queryByText","kind":"calls","metadata":{"unresolvedName":"screen.queryByText"}},{"from":"file:/workspace/apps/web/src/components/ui/ErrorState.test.tsx","to":"/workspace/apps/web/src/components/ui/ErrorState.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/ui/ErrorState.test.tsx","to":"/workspace/apps/web/src/components/ui/ErrorState.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/ui/ErrorState.test.tsx:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/workspace/apps/web/src/components/ui/ErrorState.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/ui/ErrorState.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/components/ui/ErrorState.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/components/ui/ErrorState.test.tsx:<anonymous>","to":"external:expect(onRetry).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(onRetry).toHaveBeenCalledTimes"}},{"from":"/workspace/apps/web/src/components/ui/ErrorState.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/components/ui/ErrorState.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/ui/Icon.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/ui/Icon.tsx","to":"external:@phosphor-icons/react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/ui/Icon.tsx","to":"/workspace/apps/web/src/components/ui/Icon.tsx:Icon","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/ui/Icon.tsx","to":"/workspace/apps/web/src/components/ui/Icon.tsx:Icon","kind":"defines"},{"from":"/workspace/apps/web/src/components/ui/Icon.tsx:Icon","to":"external:console.warn","kind":"calls","metadata":{"unresolvedName":"console.warn"}},{"from":"file:/workspace/apps/web/src/components/ui/LoadingState.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/ui/LoadingState.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/ui/LoadingState.test.tsx","to":"file:/workspace/apps/web/src/components/ui/LoadingState.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/ui/LoadingState.test.tsx","to":"/workspace/apps/web/src/components/ui/LoadingState.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/ui/LoadingState.test.tsx","to":"/workspace/apps/web/src/components/ui/LoadingState.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/ui/LoadingState.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/workspace/apps/web/src/components/ui/LoadingState.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/ui/LoadingState.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Loading...\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Loading...\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/ui/LoadingState.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/ui/LoadingState.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/components/ui/LoadingState.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Loading sessions...\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Loading sessions...\")).toBeInTheDocument"}},{"from":"file:/workspace/apps/web/src/components/ui/LoadingState.test.tsx","to":"/workspace/apps/web/src/components/ui/LoadingState.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/ui/LoadingState.test.tsx","to":"/workspace/apps/web/src/components/ui/LoadingState.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/ui/LoadingState.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/ui/LoadingState.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Loading...\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Loading...\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/ui/LoadingState.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/ui/LoadingState.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/components/ui/LoadingState.test.tsx","to":"/workspace/apps/web/src/components/ui/LoadingState.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/ui/LoadingState.test.tsx","to":"/workspace/apps/web/src/components/ui/LoadingState.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/ui/LoadingState.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/components/ui/LoadingState.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Loading sessions...\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Loading sessions...\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/components/ui/LoadingState.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/components/ui/LoadingState.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/components/ui/LoadingState.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/ui/StatusBadge.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/workspace-card.tsx","to":"external:react-router-dom","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/workspace-card.tsx","to":"external:@/components/ui/Icon","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/workspace-card.tsx","to":"file:/workspace/apps/web/src/components/workspace-instance-chips.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/workspace-card.tsx","to":"file:/workspace/apps/web/src/types/workspace.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/workspace-card.tsx","to":"/workspace/apps/web/src/components/workspace-card.tsx:WorkspaceCard","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/workspace-card.tsx","to":"/workspace/apps/web/src/components/workspace-card.tsx:WorkspaceCard","kind":"defines"},{"from":"/workspace/apps/web/src/components/workspace-card.tsx:WorkspaceCard","to":"symbol-name:onStartTool","kind":"calls","metadata":{"unresolvedName":"onStartTool"}},{"from":"/workspace/apps/web/src/components/workspace-card.tsx:WorkspaceCard","to":"symbol-name:onSync","kind":"calls","metadata":{"unresolvedName":"onSync"}},{"from":"/workspace/apps/web/src/components/workspace-card.tsx:WorkspaceCard","to":"symbol-name:onDelete","kind":"calls","metadata":{"unresolvedName":"onDelete"}},{"from":"file:/workspace/apps/web/src/components/workspace-create-form.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/workspace-create-form.tsx","to":"external:@/components/ui/Icon","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/workspace-create-form.tsx","to":"file:/workspace/apps/web/src/api/projects.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/workspace-create-form.tsx","to":"external:@/api/git-repositories","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/workspace-create-form.tsx","to":"file:/workspace/apps/web/src/api/workspaces.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/workspace-create-form.tsx","to":"file:/workspace/apps/web/src/hooks/use-git-repo.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/workspace-create-form.tsx","to":"file:/workspace/apps/web/src/types","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/workspace-create-form.tsx","to":"external:@/api/git-repositories","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/workspace-create-form.tsx","to":"/workspace/apps/web/src/components/workspace-create-form.tsx:WorkspaceCreateForm","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/workspace-create-form.tsx","to":"/workspace/apps/web/src/components/workspace-create-form.tsx:WorkspaceCreateForm","kind":"defines"},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:WorkspaceCreateForm","to":"symbol-name:Boolean","kind":"calls","metadata":{"unresolvedName":"Boolean"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:WorkspaceCreateForm","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:WorkspaceCreateForm","to":"/workspace/apps/web/src/hooks/use-git-repo.ts:useGitRepo","kind":"calls","metadata":{"unresolvedName":"useGitRepo"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:WorkspaceCreateForm","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:WorkspaceCreateForm","to":"external:git.branches.includes","kind":"calls","metadata":{"unresolvedName":"git.branches.includes"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:WorkspaceCreateForm","to":"symbol-name:setSelectedBranch","kind":"calls","metadata":{"unresolvedName":"setSelectedBranch"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:WorkspaceCreateForm","to":"symbol-name:setIsNewBranch","kind":"calls","metadata":{"unresolvedName":"setIsNewBranch"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:WorkspaceCreateForm","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:WorkspaceCreateForm","to":"/workspace/apps/web/src/api/projects.ts:listProjects","kind":"calls","metadata":{"unresolvedName":"listProjects"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:WorkspaceCreateForm","to":"symbol-name:setProjects","kind":"calls","metadata":{"unresolvedName":"setProjects"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:WorkspaceCreateForm","to":"symbol-name:setSelectedProject","kind":"calls","metadata":{"unresolvedName":"setSelectedProject"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:WorkspaceCreateForm","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:WorkspaceCreateForm","to":"symbol-name:setFetchingProjects","kind":"calls","metadata":{"unresolvedName":"setFetchingProjects"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:WorkspaceCreateForm","to":"/workspace/apps/web/src/pages/SessionsPage.tsx:loadProjects","kind":"calls","metadata":{"unresolvedName":"loadProjects"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:WorkspaceCreateForm","to":"symbol-name:setRepos","kind":"calls","metadata":{"unresolvedName":"setRepos"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:WorkspaceCreateForm","to":"symbol-name:setSelectedRepo","kind":"calls","metadata":{"unresolvedName":"setSelectedRepo"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:WorkspaceCreateForm","to":"symbol-name:loadRepos","kind":"calls","metadata":{"unresolvedName":"loadRepos"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:WorkspaceCreateForm","to":"symbol-name:setNewBranchName","kind":"calls","metadata":{"unresolvedName":"setNewBranchName"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:WorkspaceCreateForm","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:WorkspaceCreateForm","to":"external:name.trim","kind":"calls","metadata":{"unresolvedName":"name.trim"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:WorkspaceCreateForm","to":"external:newBranchName.trim","kind":"calls","metadata":{"unresolvedName":"newBranchName.trim"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:WorkspaceCreateForm","to":"symbol-name:setSubmitting","kind":"calls","metadata":{"unresolvedName":"setSubmitting"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:WorkspaceCreateForm","to":"/workspace/apps/web/src/api/workspaces.ts:createWorkspaceTopLevel","kind":"calls","metadata":{"unresolvedName":"createWorkspaceTopLevel"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:WorkspaceCreateForm","to":"symbol-name:onSubmit","kind":"calls","metadata":{"unresolvedName":"onSubmit"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:WorkspaceCreateForm","to":"external:projects.map","kind":"calls","metadata":{"unresolvedName":"projects.map"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:WorkspaceCreateForm","to":"external:repos.map","kind":"calls","metadata":{"unresolvedName":"repos.map"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:WorkspaceCreateForm","to":"symbol-name:setName","kind":"calls","metadata":{"unresolvedName":"setName"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:WorkspaceCreateForm","to":"/workspace/apps/web/src/components/workspace-create-form.tsx:handleBranchChange","kind":"calls","metadata":{"unresolvedName":"handleBranchChange"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:WorkspaceCreateForm","to":"external:git.branches.map","kind":"calls","metadata":{"unresolvedName":"git.branches.map"}},{"from":"file:/workspace/apps/web/src/components/workspace-create-form.tsx","to":"/workspace/apps/web/src/components/workspace-create-form.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/workspace-create-form.tsx","to":"/workspace/apps/web/src/components/workspace-create-form.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:<anonymous>","to":"external:git.branches.includes","kind":"calls","metadata":{"unresolvedName":"git.branches.includes"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:<anonymous>","to":"symbol-name:setSelectedBranch","kind":"calls","metadata":{"unresolvedName":"setSelectedBranch"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:<anonymous>","to":"symbol-name:setIsNewBranch","kind":"calls","metadata":{"unresolvedName":"setIsNewBranch"}},{"from":"file:/workspace/apps/web/src/components/workspace-create-form.tsx","to":"/workspace/apps/web/src/components/workspace-create-form.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/workspace-create-form.tsx","to":"/workspace/apps/web/src/components/workspace-create-form.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:<anonymous>","to":"/workspace/apps/web/src/api/projects.ts:listProjects","kind":"calls","metadata":{"unresolvedName":"listProjects"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:<anonymous>","to":"symbol-name:setProjects","kind":"calls","metadata":{"unresolvedName":"setProjects"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:<anonymous>","to":"symbol-name:setSelectedProject","kind":"calls","metadata":{"unresolvedName":"setSelectedProject"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:<anonymous>","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:<anonymous>","to":"symbol-name:setFetchingProjects","kind":"calls","metadata":{"unresolvedName":"setFetchingProjects"}},{"from":"file:/workspace/apps/web/src/components/workspace-create-form.tsx","to":"/workspace/apps/web/src/components/workspace-create-form.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/workspace-create-form.tsx","to":"/workspace/apps/web/src/components/workspace-create-form.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:<anonymous>","to":"/workspace/apps/web/src/pages/SessionsPage.tsx:loadProjects","kind":"calls","metadata":{"unresolvedName":"loadProjects"}},{"from":"file:/workspace/apps/web/src/components/workspace-create-form.tsx","to":"/workspace/apps/web/src/components/workspace-create-form.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/workspace-create-form.tsx","to":"/workspace/apps/web/src/components/workspace-create-form.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:<anonymous>","to":"symbol-name:setRepos","kind":"calls","metadata":{"unresolvedName":"setRepos"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:<anonymous>","to":"symbol-name:setSelectedRepo","kind":"calls","metadata":{"unresolvedName":"setSelectedRepo"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:<anonymous>","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:<anonymous>","to":"symbol-name:loadRepos","kind":"calls","metadata":{"unresolvedName":"loadRepos"}},{"from":"file:/workspace/apps/web/src/components/workspace-create-form.tsx","to":"/workspace/apps/web/src/components/workspace-create-form.tsx:loadRepos","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/workspace-create-form.tsx","to":"/workspace/apps/web/src/components/workspace-create-form.tsx:loadRepos","kind":"defines"},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:loadRepos","to":"symbol-name:setRepos","kind":"calls","metadata":{"unresolvedName":"setRepos"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:loadRepos","to":"symbol-name:setSelectedRepo","kind":"calls","metadata":{"unresolvedName":"setSelectedRepo"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:loadRepos","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:/workspace/apps/web/src/components/workspace-create-form.tsx","to":"/workspace/apps/web/src/components/workspace-create-form.tsx:handleBranchChange","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/workspace-create-form.tsx","to":"/workspace/apps/web/src/components/workspace-create-form.tsx:handleBranchChange","kind":"defines"},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:handleBranchChange","to":"symbol-name:setIsNewBranch","kind":"calls","metadata":{"unresolvedName":"setIsNewBranch"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:handleBranchChange","to":"symbol-name:setSelectedBranch","kind":"calls","metadata":{"unresolvedName":"setSelectedBranch"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:handleBranchChange","to":"symbol-name:setNewBranchName","kind":"calls","metadata":{"unresolvedName":"setNewBranchName"}},{"from":"file:/workspace/apps/web/src/components/workspace-create-form.tsx","to":"/workspace/apps/web/src/components/workspace-create-form.tsx:handleSubmit","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/workspace-create-form.tsx","to":"/workspace/apps/web/src/components/workspace-create-form.tsx:handleSubmit","kind":"defines"},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:handleSubmit","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:handleSubmit","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:handleSubmit","to":"external:name.trim","kind":"calls","metadata":{"unresolvedName":"name.trim"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:handleSubmit","to":"external:newBranchName.trim","kind":"calls","metadata":{"unresolvedName":"newBranchName.trim"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:handleSubmit","to":"symbol-name:setSubmitting","kind":"calls","metadata":{"unresolvedName":"setSubmitting"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:handleSubmit","to":"/workspace/apps/web/src/api/workspaces.ts:createWorkspaceTopLevel","kind":"calls","metadata":{"unresolvedName":"createWorkspaceTopLevel"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:handleSubmit","to":"symbol-name:onSubmit","kind":"calls","metadata":{"unresolvedName":"onSubmit"}},{"from":"file:/workspace/apps/web/src/components/workspace-create-form.tsx","to":"/workspace/apps/web/src/components/workspace-create-form.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/workspace-create-form.tsx","to":"/workspace/apps/web/src/components/workspace-create-form.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:<anonymous>","to":"symbol-name:setSelectedProject","kind":"calls","metadata":{"unresolvedName":"setSelectedProject"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:<anonymous>","to":"symbol-name:setSelectedBranch","kind":"calls","metadata":{"unresolvedName":"setSelectedBranch"}},{"from":"file:/workspace/apps/web/src/components/workspace-create-form.tsx","to":"/workspace/apps/web/src/components/workspace-create-form.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/workspace-create-form.tsx","to":"/workspace/apps/web/src/components/workspace-create-form.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:<anonymous>","to":"symbol-name:setSelectedRepo","kind":"calls","metadata":{"unresolvedName":"setSelectedRepo"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:<anonymous>","to":"symbol-name:setSelectedBranch","kind":"calls","metadata":{"unresolvedName":"setSelectedBranch"}},{"from":"file:/workspace/apps/web/src/components/workspace-instance-chips.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/workspace-instance-chips.tsx","to":"file:/workspace/apps/web/src/api/workspace-instances.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/workspace-instance-chips.tsx","to":"file:/workspace/apps/web/src/api/sessions.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/workspace-instance-chips.tsx","to":"/workspace/apps/web/src/components/workspace-instance-chips.tsx:WorkspaceInstanceChips","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/workspace-instance-chips.tsx","to":"/workspace/apps/web/src/components/workspace-instance-chips.tsx:WorkspaceInstanceChips","kind":"defines"},{"from":"/workspace/apps/web/src/components/workspace-instance-chips.tsx:WorkspaceInstanceChips","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/components/workspace-instance-chips.tsx:WorkspaceInstanceChips","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/components/workspace-instance-chips.tsx:WorkspaceInstanceChips","to":"/workspace/apps/web/src/api/workspace-instances.ts:listWorkspaceInstances","kind":"calls","metadata":{"unresolvedName":"listWorkspaceInstances"}},{"from":"/workspace/apps/web/src/components/workspace-instance-chips.tsx:WorkspaceInstanceChips","to":"symbol-name:setInstances","kind":"calls","metadata":{"unresolvedName":"setInstances"}},{"from":"/workspace/apps/web/src/components/workspace-instance-chips.tsx:WorkspaceInstanceChips","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/workspace/apps/web/src/components/workspace-instance-chips.tsx:WorkspaceInstanceChips","to":"symbol-name:load","kind":"calls","metadata":{"unresolvedName":"load"}},{"from":"/workspace/apps/web/src/components/workspace-instance-chips.tsx:WorkspaceInstanceChips","to":"external:instances.map","kind":"calls","metadata":{"unresolvedName":"instances.map"}},{"from":"/workspace/apps/web/src/components/workspace-instance-chips.tsx:WorkspaceInstanceChips","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"file:/workspace/apps/web/src/components/workspace-instance-chips.tsx","to":"/workspace/apps/web/src/components/workspace-instance-chips.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/workspace-instance-chips.tsx","to":"/workspace/apps/web/src/components/workspace-instance-chips.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/workspace-instance-chips.tsx:<anonymous>","to":"/workspace/apps/web/src/api/workspace-instances.ts:listWorkspaceInstances","kind":"calls","metadata":{"unresolvedName":"listWorkspaceInstances"}},{"from":"/workspace/apps/web/src/components/workspace-instance-chips.tsx:<anonymous>","to":"symbol-name:setInstances","kind":"calls","metadata":{"unresolvedName":"setInstances"}},{"from":"/workspace/apps/web/src/components/workspace-instance-chips.tsx:<anonymous>","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/workspace/apps/web/src/components/workspace-instance-chips.tsx:<anonymous>","to":"symbol-name:load","kind":"calls","metadata":{"unresolvedName":"load"}},{"from":"file:/workspace/apps/web/src/components/workspace-instance-chips.tsx","to":"/workspace/apps/web/src/components/workspace-instance-chips.tsx:load","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/workspace-instance-chips.tsx","to":"/workspace/apps/web/src/components/workspace-instance-chips.tsx:load","kind":"defines"},{"from":"/workspace/apps/web/src/components/workspace-instance-chips.tsx:load","to":"/workspace/apps/web/src/api/workspace-instances.ts:listWorkspaceInstances","kind":"calls","metadata":{"unresolvedName":"listWorkspaceInstances"}},{"from":"/workspace/apps/web/src/components/workspace-instance-chips.tsx:load","to":"symbol-name:setInstances","kind":"calls","metadata":{"unresolvedName":"setInstances"}},{"from":"/workspace/apps/web/src/components/workspace-instance-chips.tsx:load","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"file:/workspace/apps/web/src/hooks/use-async-data.ts","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-async-data.ts","to":"/workspace/apps/web/src/hooks/use-async-data.ts:useAsyncData","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-async-data.ts","to":"/workspace/apps/web/src/hooks/use-async-data.ts:useAsyncData","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-async-data.ts:useAsyncData","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/hooks/use-async-data.ts:useAsyncData","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/hooks/use-async-data.ts:useAsyncData","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"/workspace/apps/web/src/hooks/use-async-data.ts:useAsyncData","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/hooks/use-async-data.ts:useAsyncData","to":"symbol-name:fetcher","kind":"calls","metadata":{"unresolvedName":"fetcher"}},{"from":"/workspace/apps/web/src/hooks/use-async-data.ts:useAsyncData","to":"symbol-name:setData","kind":"calls","metadata":{"unresolvedName":"setData"}},{"from":"/workspace/apps/web/src/hooks/use-async-data.ts:useAsyncData","to":"symbol-name:load","kind":"calls","metadata":{"unresolvedName":"load"}},{"from":"/workspace/apps/web/src/hooks/use-async-data.ts:useAsyncData","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"file:/workspace/apps/web/src/hooks/use-async-data.ts","to":"/workspace/apps/web/src/hooks/use-async-data.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-async-data.ts","to":"/workspace/apps/web/src/hooks/use-async-data.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-async-data.ts:<anonymous>","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"/workspace/apps/web/src/hooks/use-async-data.ts:<anonymous>","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/hooks/use-async-data.ts:<anonymous>","to":"symbol-name:fetcher","kind":"calls","metadata":{"unresolvedName":"fetcher"}},{"from":"/workspace/apps/web/src/hooks/use-async-data.ts:<anonymous>","to":"symbol-name:setData","kind":"calls","metadata":{"unresolvedName":"setData"}},{"from":"file:/workspace/apps/web/src/hooks/use-async-data.ts","to":"/workspace/apps/web/src/hooks/use-async-data.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-async-data.ts","to":"/workspace/apps/web/src/hooks/use-async-data.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-async-data.ts:<anonymous>","to":"symbol-name:load","kind":"calls","metadata":{"unresolvedName":"load"}},{"from":"file:/workspace/apps/web/src/hooks/use-async-data.ts","to":"/workspace/apps/web/src/hooks/use-async-data.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-async-data.ts","to":"/workspace/apps/web/src/hooks/use-async-data.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-async-data.ts:<anonymous>","to":"symbol-name:load","kind":"calls","metadata":{"unresolvedName":"load"}},{"from":"file:/workspace/apps/web/src/hooks/use-auto-hide.ts","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-auto-hide.ts","to":"/workspace/apps/web/src/hooks/use-auto-hide.ts:useAutoHide","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-auto-hide.ts","to":"/workspace/apps/web/src/hooks/use-auto-hide.ts:useAutoHide","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-auto-hide.ts:useAutoHide","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/hooks/use-auto-hide.ts:useAutoHide","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"/workspace/apps/web/src/hooks/use-auto-hide.ts:useAutoHide","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"/workspace/apps/web/src/hooks/use-auto-hide.ts:useAutoHide","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/hooks/use-auto-hide.ts:useAutoHide","to":"symbol-name:setIsVisible","kind":"calls","metadata":{"unresolvedName":"setIsVisible"}},{"from":"/workspace/apps/web/src/hooks/use-auto-hide.ts:useAutoHide","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"/workspace/apps/web/src/hooks/use-auto-hide.ts:useAutoHide","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/workspace/apps/web/src/hooks/use-auto-hide.ts:useAutoHide","to":"symbol-name:hide","kind":"calls","metadata":{"unresolvedName":"hide"}},{"from":"/workspace/apps/web/src/hooks/use-auto-hide.ts:useAutoHide","to":"symbol-name:show","kind":"calls","metadata":{"unresolvedName":"show"}},{"from":"/workspace/apps/web/src/hooks/use-auto-hide.ts:useAutoHide","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"file:/workspace/apps/web/src/hooks/use-auto-hide.ts","to":"/workspace/apps/web/src/hooks/use-auto-hide.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-auto-hide.ts","to":"/workspace/apps/web/src/hooks/use-auto-hide.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-auto-hide.ts:<anonymous>","to":"symbol-name:setIsVisible","kind":"calls","metadata":{"unresolvedName":"setIsVisible"}},{"from":"/workspace/apps/web/src/hooks/use-auto-hide.ts:<anonymous>","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"/workspace/apps/web/src/hooks/use-auto-hide.ts:<anonymous>","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"/workspace/apps/web/src/hooks/use-auto-hide.ts:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"file:/workspace/apps/web/src/hooks/use-auto-hide.ts","to":"/workspace/apps/web/src/hooks/use-auto-hide.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-auto-hide.ts","to":"/workspace/apps/web/src/hooks/use-auto-hide.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-auto-hide.ts:<anonymous>","to":"symbol-name:setIsVisible","kind":"calls","metadata":{"unresolvedName":"setIsVisible"}},{"from":"file:/workspace/apps/web/src/hooks/use-auto-hide.ts","to":"/workspace/apps/web/src/hooks/use-auto-hide.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-auto-hide.ts","to":"/workspace/apps/web/src/hooks/use-auto-hide.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-auto-hide.ts:<anonymous>","to":"symbol-name:setIsVisible","kind":"calls","metadata":{"unresolvedName":"setIsVisible"}},{"from":"/workspace/apps/web/src/hooks/use-auto-hide.ts:<anonymous>","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:/workspace/apps/web/src/hooks/use-auto-hide.ts","to":"/workspace/apps/web/src/hooks/use-auto-hide.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-auto-hide.ts","to":"/workspace/apps/web/src/hooks/use-auto-hide.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-auto-hide.ts:<anonymous>","to":"symbol-name:hide","kind":"calls","metadata":{"unresolvedName":"hide"}},{"from":"/workspace/apps/web/src/hooks/use-auto-hide.ts:<anonymous>","to":"symbol-name:show","kind":"calls","metadata":{"unresolvedName":"show"}},{"from":"file:/workspace/apps/web/src/hooks/use-auto-hide.ts","to":"/workspace/apps/web/src/hooks/use-auto-hide.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-auto-hide.ts","to":"/workspace/apps/web/src/hooks/use-auto-hide.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-auto-hide.ts:<anonymous>","to":"symbol-name:setIsVisible","kind":"calls","metadata":{"unresolvedName":"setIsVisible"}},{"from":"/workspace/apps/web/src/hooks/use-auto-hide.ts:<anonymous>","to":"symbol-name:show","kind":"calls","metadata":{"unresolvedName":"show"}},{"from":"/workspace/apps/web/src/hooks/use-auto-hide.ts:<anonymous>","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:/workspace/apps/web/src/hooks/use-auto-hide.ts","to":"/workspace/apps/web/src/hooks/use-auto-hide.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-auto-hide.ts","to":"/workspace/apps/web/src/hooks/use-auto-hide.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-auto-hide.ts:<anonymous>","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:/workspace/apps/web/src/hooks/use-dashboard-actions.ts","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-dashboard-actions.ts","to":"external:react-router-dom","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-dashboard-actions.ts","to":"file:/workspace/apps/web/src/api/sessions.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-dashboard-actions.ts","to":"file:/workspace/apps/web/src/api/settings.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-dashboard-actions.ts","to":"file:/workspace/apps/web/src/types/session.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-dashboard-actions.ts","to":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:useDashboardActions","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-dashboard-actions.ts","to":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:useDashboardActions","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:useDashboardActions","to":"symbol-name:useNavigate","kind":"calls","metadata":{"unresolvedName":"useNavigate"}},{"from":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:useDashboardActions","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:useDashboardActions","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:useDashboardActions","to":"symbol-name:setSaveState","kind":"calls","metadata":{"unresolvedName":"setSaveState"}},{"from":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:useDashboardActions","to":"/workspace/apps/web/src/api/settings.ts:updateUserConfig","kind":"calls","metadata":{"unresolvedName":"updateUserConfig"}},{"from":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:useDashboardActions","to":"symbol-name:onRefresh","kind":"calls","metadata":{"unresolvedName":"onRefresh"}},{"from":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:useDashboardActions","to":"external:window.open","kind":"calls","metadata":{"unresolvedName":"window.open"}},{"from":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:useDashboardActions","to":"external:session.tool_type_interfaces.includes","kind":"calls","metadata":{"unresolvedName":"session.tool_type_interfaces.includes"}},{"from":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:useDashboardActions","to":"symbol-name:navigate","kind":"calls","metadata":{"unresolvedName":"navigate"}},{"from":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:useDashboardActions","to":"symbol-name:setActionBusy","kind":"calls","metadata":{"unresolvedName":"setActionBusy"}},{"from":"file:/workspace/apps/web/src/hooks/use-dashboard-actions.ts","to":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-dashboard-actions.ts","to":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:<anonymous>","to":"symbol-name:setSaveState","kind":"calls","metadata":{"unresolvedName":"setSaveState"}},{"from":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:<anonymous>","to":"/workspace/apps/web/src/api/settings.ts:updateUserConfig","kind":"calls","metadata":{"unresolvedName":"updateUserConfig"}},{"from":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:<anonymous>","to":"symbol-name:onRefresh","kind":"calls","metadata":{"unresolvedName":"onRefresh"}},{"from":"file:/workspace/apps/web/src/hooks/use-dashboard-actions.ts","to":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-dashboard-actions.ts","to":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:<anonymous>","to":"external:window.open","kind":"calls","metadata":{"unresolvedName":"window.open"}},{"from":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:<anonymous>","to":"external:session.tool_type_interfaces.includes","kind":"calls","metadata":{"unresolvedName":"session.tool_type_interfaces.includes"}},{"from":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:<anonymous>","to":"symbol-name:navigate","kind":"calls","metadata":{"unresolvedName":"navigate"}},{"from":"file:/workspace/apps/web/src/hooks/use-dashboard-actions.ts","to":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-dashboard-actions.ts","to":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:<anonymous>","to":"symbol-name:setActionBusy","kind":"calls","metadata":{"unresolvedName":"setActionBusy"}},{"from":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:<anonymous>","to":"symbol-name:onRefresh","kind":"calls","metadata":{"unresolvedName":"onRefresh"}},{"from":"file:/workspace/apps/web/src/hooks/use-dashboard-actions.ts","to":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-dashboard-actions.ts","to":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:<anonymous>","to":"symbol-name:setActionBusy","kind":"calls","metadata":{"unresolvedName":"setActionBusy"}},{"from":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:<anonymous>","to":"symbol-name:onRefresh","kind":"calls","metadata":{"unresolvedName":"onRefresh"}},{"from":"file:/workspace/apps/web/src/hooks/use-dashboard-actions.ts","to":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-dashboard-actions.ts","to":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:<anonymous>","to":"symbol-name:setActionBusy","kind":"calls","metadata":{"unresolvedName":"setActionBusy"}},{"from":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:<anonymous>","to":"symbol-name:onRefresh","kind":"calls","metadata":{"unresolvedName":"onRefresh"}},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"external:@testing-library/react","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"file:/workspace/apps/web/src/hooks/use-events.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"file:/workspace/apps/web/src/api/events.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:mockedCreateEventSource.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"mockedCreateEventSource.mockReturnValue"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:mockedProbeEventStreamStatus.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedProbeEventStreamStatus.mockResolvedValue"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"symbol-name:afterEach","kind":"calls","metadata":{"unresolvedName":"afterEach"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:vi.clearAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.clearAllMocks"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"/workspace/apps/web/src/hooks/use-events.ts:useEvents","kind":"calls","metadata":{"unresolvedName":"useEvents"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:mockEs.onopen","kind":"calls","metadata":{"unresolvedName":"mockEs.onopen"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:mockEs.onmessage","kind":"calls","metadata":{"unresolvedName":"mockEs.onmessage"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:expect(result.current.events).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result.current.events).toHaveLength"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:expect(result.current.events[0].instance_id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.events[0].instance_id).toBe"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:expect(result.current.connected).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.connected).toBe"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:mockEs.onerror","kind":"calls","metadata":{"unresolvedName":"mockEs.onerror"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:expect(mockEs.close).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(mockEs.close).toHaveBeenCalled"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:expect(mockedCreateEventSource).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(mockedCreateEventSource).toHaveBeenCalledTimes"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:secondEs.onerror","kind":"calls","metadata":{"unresolvedName":"secondEs.onerror"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:currentEs.onerror","kind":"calls","metadata":{"unresolvedName":"currentEs.onerror"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:expect(mockedCreateEventSource.mock.calls.length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(mockedCreateEventSource.mock.calls.length).toBeGreaterThan"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:expect(window.location.assign).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(window.location.assign).toHaveBeenCalled"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"symbol-name:unmount","kind":"calls","metadata":{"unresolvedName":"unmount"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:expect(result.current.reconnectCount).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(result.current.reconnectCount).toBeGreaterThan"}},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:mockedCreateEventSource.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"mockedCreateEventSource.mockReturnValue"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:mockedProbeEventStreamStatus.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedProbeEventStreamStatus.mockResolvedValue"}},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:vi.clearAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.clearAllMocks"}},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"/workspace/apps/web/src/hooks/use-events.ts:useEvents","kind":"calls","metadata":{"unresolvedName":"useEvents"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:mockEs.onopen","kind":"calls","metadata":{"unresolvedName":"mockEs.onopen"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:mockEs.onmessage","kind":"calls","metadata":{"unresolvedName":"mockEs.onmessage"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:expect(result.current.events).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result.current.events).toHaveLength"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:expect(result.current.events[0].instance_id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.events[0].instance_id).toBe"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:expect(result.current.connected).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.connected).toBe"}},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:mockEs.onopen","kind":"calls","metadata":{"unresolvedName":"mockEs.onopen"}},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:mockEs.onmessage","kind":"calls","metadata":{"unresolvedName":"mockEs.onmessage"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:expect(result.current.events).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result.current.events).toHaveLength"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:expect(result.current.events[0].instance_id).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.events[0].instance_id).toBe"}},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"/workspace/apps/web/src/hooks/use-events.ts:useEvents","kind":"calls","metadata":{"unresolvedName":"useEvents"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:mockEs.onerror","kind":"calls","metadata":{"unresolvedName":"mockEs.onerror"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:expect(mockEs.close).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(mockEs.close).toHaveBeenCalled"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:expect(mockedCreateEventSource).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(mockedCreateEventSource).toHaveBeenCalledTimes"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:secondEs.onerror","kind":"calls","metadata":{"unresolvedName":"secondEs.onerror"}},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:mockEs.onerror","kind":"calls","metadata":{"unresolvedName":"mockEs.onerror"}},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:secondEs.onerror","kind":"calls","metadata":{"unresolvedName":"secondEs.onerror"}},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"/workspace/apps/web/src/hooks/use-events.ts:useEvents","kind":"calls","metadata":{"unresolvedName":"useEvents"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:currentEs.onerror","kind":"calls","metadata":{"unresolvedName":"currentEs.onerror"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:expect(mockedCreateEventSource.mock.calls.length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(mockedCreateEventSource.mock.calls.length).toBeGreaterThan"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:currentEs.onerror","kind":"calls","metadata":{"unresolvedName":"currentEs.onerror"}},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:mockedProbeEventStreamStatus.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedProbeEventStreamStatus.mockResolvedValue"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"/workspace/apps/web/src/hooks/use-events.ts:useEvents","kind":"calls","metadata":{"unresolvedName":"useEvents"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:mockEs.onerror","kind":"calls","metadata":{"unresolvedName":"mockEs.onerror"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:expect(window.location.assign).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(window.location.assign).toHaveBeenCalled"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:mockEs.onerror","kind":"calls","metadata":{"unresolvedName":"mockEs.onerror"}},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:mockedProbeEventStreamStatus.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedProbeEventStreamStatus.mockResolvedValue"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"/workspace/apps/web/src/hooks/use-events.ts:useEvents","kind":"calls","metadata":{"unresolvedName":"useEvents"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:mockEs.onerror","kind":"calls","metadata":{"unresolvedName":"mockEs.onerror"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:expect(mockedCreateEventSource).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(mockedCreateEventSource).toHaveBeenCalledTimes"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:mockEs.onerror","kind":"calls","metadata":{"unresolvedName":"mockEs.onerror"}},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"/workspace/apps/web/src/hooks/use-events.ts:useEvents","kind":"calls","metadata":{"unresolvedName":"useEvents"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"symbol-name:unmount","kind":"calls","metadata":{"unresolvedName":"unmount"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:expect(mockEs.close).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(mockEs.close).toHaveBeenCalled"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"/workspace/apps/web/src/hooks/use-events.ts:useEvents","kind":"calls","metadata":{"unresolvedName":"useEvents"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:mockEs.onerror","kind":"calls","metadata":{"unresolvedName":"mockEs.onerror"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:expect(result.current.reconnectCount).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(result.current.reconnectCount).toBeGreaterThan"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:mockEs.onerror","kind":"calls","metadata":{"unresolvedName":"mockEs.onerror"}},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-events.test.ts","to":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"external:expect(result.current.reconnectCount).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(result.current.reconnectCount).toBeGreaterThan"}},{"from":"/workspace/apps/web/src/hooks/use-events.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/hooks/use-events.ts","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-events.ts","to":"file:/workspace/apps/web/src/api/events.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-events.ts","to":"file:/workspace/apps/web/src/types/events.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-events.ts","to":"/workspace/apps/web/src/hooks/use-events.ts:useEvents","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-events.ts","to":"/workspace/apps/web/src/hooks/use-events.ts:useEvents","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-events.ts:useEvents","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:useEvents","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:useEvents","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:useEvents","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:useEvents","to":"/workspace/apps/web/src/api/events.ts:createEventSource","kind":"calls","metadata":{"unresolvedName":"createEventSource"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:useEvents","to":"symbol-name:setConnected","kind":"calls","metadata":{"unresolvedName":"setConnected"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:useEvents","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:useEvents","to":"symbol-name:setReconnectCount","kind":"calls","metadata":{"unresolvedName":"setReconnectCount"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:useEvents","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:useEvents","to":"symbol-name:setEvents","kind":"calls","metadata":{"unresolvedName":"setEvents"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:useEvents","to":"external:es.close","kind":"calls","metadata":{"unresolvedName":"es.close"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:useEvents","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:useEvents","to":"external:Math.pow","kind":"calls","metadata":{"unresolvedName":"Math.pow"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:useEvents","to":"external:Math.random","kind":"calls","metadata":{"unresolvedName":"Math.random"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:useEvents","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:useEvents","to":"/workspace/apps/web/src/api/events.ts:probeEventStreamStatus","kind":"calls","metadata":{"unresolvedName":"probeEventStreamStatus"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:useEvents","to":"external:window.location.assign","kind":"calls","metadata":{"unresolvedName":"window.location.assign"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:useEvents","to":"symbol-name:connect","kind":"calls","metadata":{"unresolvedName":"connect"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:useEvents","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:useEvents","to":"external:esRef.current.close","kind":"calls","metadata":{"unresolvedName":"esRef.current.close"}},{"from":"file:/workspace/apps/web/src/hooks/use-events.ts","to":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-events.ts","to":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"/workspace/apps/web/src/api/events.ts:createEventSource","kind":"calls","metadata":{"unresolvedName":"createEventSource"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"symbol-name:setConnected","kind":"calls","metadata":{"unresolvedName":"setConnected"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"symbol-name:setReconnectCount","kind":"calls","metadata":{"unresolvedName":"setReconnectCount"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"symbol-name:setEvents","kind":"calls","metadata":{"unresolvedName":"setEvents"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"external:es.close","kind":"calls","metadata":{"unresolvedName":"es.close"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"external:Math.pow","kind":"calls","metadata":{"unresolvedName":"Math.pow"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"external:Math.random","kind":"calls","metadata":{"unresolvedName":"Math.random"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"/workspace/apps/web/src/api/events.ts:probeEventStreamStatus","kind":"calls","metadata":{"unresolvedName":"probeEventStreamStatus"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"external:window.location.assign","kind":"calls","metadata":{"unresolvedName":"window.location.assign"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"symbol-name:connect","kind":"calls","metadata":{"unresolvedName":"connect"}},{"from":"file:/workspace/apps/web/src/hooks/use-events.ts","to":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-events.ts","to":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"symbol-name:setConnected","kind":"calls","metadata":{"unresolvedName":"setConnected"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"symbol-name:setReconnectCount","kind":"calls","metadata":{"unresolvedName":"setReconnectCount"}},{"from":"file:/workspace/apps/web/src/hooks/use-events.ts","to":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-events.ts","to":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"symbol-name:setEvents","kind":"calls","metadata":{"unresolvedName":"setEvents"}},{"from":"file:/workspace/apps/web/src/hooks/use-events.ts","to":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-events.ts","to":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"symbol-name:setConnected","kind":"calls","metadata":{"unresolvedName":"setConnected"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"external:es.close","kind":"calls","metadata":{"unresolvedName":"es.close"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"external:Math.pow","kind":"calls","metadata":{"unresolvedName":"Math.pow"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"external:Math.random","kind":"calls","metadata":{"unresolvedName":"Math.random"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"symbol-name:setReconnectCount","kind":"calls","metadata":{"unresolvedName":"setReconnectCount"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"/workspace/apps/web/src/api/events.ts:probeEventStreamStatus","kind":"calls","metadata":{"unresolvedName":"probeEventStreamStatus"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"external:window.location.assign","kind":"calls","metadata":{"unresolvedName":"window.location.assign"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"symbol-name:connect","kind":"calls","metadata":{"unresolvedName":"connect"}},{"from":"file:/workspace/apps/web/src/hooks/use-events.ts","to":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-events.ts","to":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"/workspace/apps/web/src/api/events.ts:probeEventStreamStatus","kind":"calls","metadata":{"unresolvedName":"probeEventStreamStatus"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"external:window.location.assign","kind":"calls","metadata":{"unresolvedName":"window.location.assign"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"symbol-name:connect","kind":"calls","metadata":{"unresolvedName":"connect"}},{"from":"file:/workspace/apps/web/src/hooks/use-events.ts","to":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-events.ts","to":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"symbol-name:connect","kind":"calls","metadata":{"unresolvedName":"connect"}},{"from":"file:/workspace/apps/web/src/hooks/use-events.ts","to":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-events.ts","to":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"symbol-name:connect","kind":"calls","metadata":{"unresolvedName":"connect"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"external:esRef.current.close","kind":"calls","metadata":{"unresolvedName":"esRef.current.close"}},{"from":"file:/workspace/apps/web/src/hooks/use-events.ts","to":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-events.ts","to":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"/workspace/apps/web/src/hooks/use-events.ts:<anonymous>","to":"external:esRef.current.close","kind":"calls","metadata":{"unresolvedName":"esRef.current.close"}},{"from":"file:/workspace/apps/web/src/hooks/use-git-repo.ts","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-git-repo.ts","to":"external:@/api/git-repositories","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-git-repo.ts","to":"/workspace/apps/web/src/hooks/use-git-repo.ts:useGitRepo","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-git-repo.ts","to":"/workspace/apps/web/src/hooks/use-git-repo.ts:useGitRepo","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:useGitRepo","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:useGitRepo","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:useGitRepo","to":"symbol-name:async","kind":"calls","metadata":{"unresolvedName":"async"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:useGitRepo","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:useGitRepo","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:useGitRepo","to":"symbol-name:fn","kind":"calls","metadata":{"unresolvedName":"fn"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:useGitRepo","to":"/workspace/apps/web/src/hooks/use-git-repo.ts:extractError","kind":"calls","metadata":{"unresolvedName":"extractError"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:useGitRepo","to":"symbol-name:withLoading","kind":"calls","metadata":{"unresolvedName":"withLoading"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:useGitRepo","to":"/workspace/apps/web/src/api/git-repositories.ts:listRepositoryBranches","kind":"calls","metadata":{"unresolvedName":"listRepositoryBranches"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:useGitRepo","to":"symbol-name:setBranches","kind":"calls","metadata":{"unresolvedName":"setBranches"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:useGitRepo","to":"external:data.branches.map","kind":"calls","metadata":{"unresolvedName":"data.branches.map"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:useGitRepo","to":"symbol-name:setDefaultBranch","kind":"calls","metadata":{"unresolvedName":"setDefaultBranch"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:useGitRepo","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:useGitRepo","to":"symbol-name:setHistory","kind":"calls","metadata":{"unresolvedName":"setHistory"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:useGitRepo","to":"symbol-name:setCommitDetail","kind":"calls","metadata":{"unresolvedName":"setCommitDetail"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:useGitRepo","to":"symbol-name:refreshStatus","kind":"calls","metadata":{"unresolvedName":"refreshStatus"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:useGitRepo","to":"symbol-name:refreshBranches","kind":"calls","metadata":{"unresolvedName":"refreshBranches"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:useGitRepo","to":"symbol-name:refreshHistory","kind":"calls","metadata":{"unresolvedName":"refreshHistory"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:useGitRepo","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"file:/workspace/apps/web/src/hooks/use-git-repo.ts","to":"/workspace/apps/web/src/hooks/use-git-repo.ts:extractError","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-git-repo.ts","to":"/workspace/apps/web/src/hooks/use-git-repo.ts:extractError","kind":"defines"},{"from":"file:/workspace/apps/web/src/hooks/use-git-repo.ts","to":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-git-repo.ts","to":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"symbol-name:withLoading","kind":"calls","metadata":{"unresolvedName":"withLoading"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"/workspace/apps/web/src/api/git-repositories.ts:listRepositoryBranches","kind":"calls","metadata":{"unresolvedName":"listRepositoryBranches"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"symbol-name:setBranches","kind":"calls","metadata":{"unresolvedName":"setBranches"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"external:data.branches.map","kind":"calls","metadata":{"unresolvedName":"data.branches.map"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"symbol-name:setDefaultBranch","kind":"calls","metadata":{"unresolvedName":"setDefaultBranch"}},{"from":"file:/workspace/apps/web/src/hooks/use-git-repo.ts","to":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-git-repo.ts","to":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"symbol-name:withLoading","kind":"calls","metadata":{"unresolvedName":"withLoading"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"file:/workspace/apps/web/src/hooks/use-git-repo.ts","to":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-git-repo.ts","to":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"symbol-name:withLoading","kind":"calls","metadata":{"unresolvedName":"withLoading"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"symbol-name:setHistory","kind":"calls","metadata":{"unresolvedName":"setHistory"}},{"from":"file:/workspace/apps/web/src/hooks/use-git-repo.ts","to":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-git-repo.ts","to":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"symbol-name:withLoading","kind":"calls","metadata":{"unresolvedName":"withLoading"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"symbol-name:setCommitDetail","kind":"calls","metadata":{"unresolvedName":"setCommitDetail"}},{"from":"file:/workspace/apps/web/src/hooks/use-git-repo.ts","to":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-git-repo.ts","to":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"symbol-name:withLoading","kind":"calls","metadata":{"unresolvedName":"withLoading"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"symbol-name:refreshStatus","kind":"calls","metadata":{"unresolvedName":"refreshStatus"}},{"from":"file:/workspace/apps/web/src/hooks/use-git-repo.ts","to":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-git-repo.ts","to":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"symbol-name:withLoading","kind":"calls","metadata":{"unresolvedName":"withLoading"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"symbol-name:refreshStatus","kind":"calls","metadata":{"unresolvedName":"refreshStatus"}},{"from":"file:/workspace/apps/web/src/hooks/use-git-repo.ts","to":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-git-repo.ts","to":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"symbol-name:withLoading","kind":"calls","metadata":{"unresolvedName":"withLoading"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"symbol-name:refreshStatus","kind":"calls","metadata":{"unresolvedName":"refreshStatus"}},{"from":"file:/workspace/apps/web/src/hooks/use-git-repo.ts","to":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-git-repo.ts","to":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"symbol-name:withLoading","kind":"calls","metadata":{"unresolvedName":"withLoading"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"symbol-name:refreshStatus","kind":"calls","metadata":{"unresolvedName":"refreshStatus"}},{"from":"file:/workspace/apps/web/src/hooks/use-git-repo.ts","to":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-git-repo.ts","to":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"symbol-name:withLoading","kind":"calls","metadata":{"unresolvedName":"withLoading"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"symbol-name:refreshStatus","kind":"calls","metadata":{"unresolvedName":"refreshStatus"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"symbol-name:refreshBranches","kind":"calls","metadata":{"unresolvedName":"refreshBranches"}},{"from":"file:/workspace/apps/web/src/hooks/use-git-repo.ts","to":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-git-repo.ts","to":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"symbol-name:withLoading","kind":"calls","metadata":{"unresolvedName":"withLoading"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"symbol-name:refreshBranches","kind":"calls","metadata":{"unresolvedName":"refreshBranches"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"symbol-name:refreshStatus","kind":"calls","metadata":{"unresolvedName":"refreshStatus"}},{"from":"file:/workspace/apps/web/src/hooks/use-git-repo.ts","to":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-git-repo.ts","to":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"symbol-name:withLoading","kind":"calls","metadata":{"unresolvedName":"withLoading"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"symbol-name:refreshBranches","kind":"calls","metadata":{"unresolvedName":"refreshBranches"}},{"from":"file:/workspace/apps/web/src/hooks/use-git-repo.ts","to":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-git-repo.ts","to":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"symbol-name:withLoading","kind":"calls","metadata":{"unresolvedName":"withLoading"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"symbol-name:refreshStatus","kind":"calls","metadata":{"unresolvedName":"refreshStatus"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"symbol-name:refreshHistory","kind":"calls","metadata":{"unresolvedName":"refreshHistory"}},{"from":"file:/workspace/apps/web/src/hooks/use-git-repo.ts","to":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-git-repo.ts","to":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"symbol-name:refreshBranches","kind":"calls","metadata":{"unresolvedName":"refreshBranches"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"symbol-name:setBranches","kind":"calls","metadata":{"unresolvedName":"setBranches"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"symbol-name:setDefaultBranch","kind":"calls","metadata":{"unresolvedName":"setDefaultBranch"}},{"from":"file:/workspace/apps/web/src/hooks/use-instance-actions.ts","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-instance-actions.ts","to":"file:/workspace/apps/web/src/api/sessions.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-instance-actions.ts","to":"file:/workspace/apps/web/src/api/sessions.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-instance-actions.ts","to":"/workspace/apps/web/src/hooks/use-instance-actions.ts:useInstanceActions","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-instance-actions.ts","to":"/workspace/apps/web/src/hooks/use-instance-actions.ts:useInstanceActions","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-instance-actions.ts:useInstanceActions","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/hooks/use-instance-actions.ts:useInstanceActions","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/hooks/use-instance-actions.ts:useInstanceActions","to":"external:window.open","kind":"calls","metadata":{"unresolvedName":"window.open"}},{"from":"/workspace/apps/web/src/hooks/use-instance-actions.ts:useInstanceActions","to":"external:session.tool_type_interfaces?.includes","kind":"calls","metadata":{"unresolvedName":"session.tool_type_interfaces?.includes"}},{"from":"/workspace/apps/web/src/hooks/use-instance-actions.ts:useInstanceActions","to":"symbol-name:setLoadingSessionId","kind":"calls","metadata":{"unresolvedName":"setLoadingSessionId"}},{"from":"/workspace/apps/web/src/hooks/use-instance-actions.ts:useInstanceActions","to":"symbol-name:onRefresh","kind":"calls","metadata":{"unresolvedName":"onRefresh"}},{"from":"/workspace/apps/web/src/hooks/use-instance-actions.ts:useInstanceActions","to":"symbol-name:setDirtyDeleteSession","kind":"calls","metadata":{"unresolvedName":"setDirtyDeleteSession"}},{"from":"/workspace/apps/web/src/hooks/use-instance-actions.ts:useInstanceActions","to":"symbol-name:setDirtyDeleteFiles","kind":"calls","metadata":{"unresolvedName":"setDirtyDeleteFiles"}},{"from":"/workspace/apps/web/src/hooks/use-instance-actions.ts:useInstanceActions","to":"symbol-name:alert","kind":"calls","metadata":{"unresolvedName":"alert"}},{"from":"file:/workspace/apps/web/src/hooks/use-instance-actions.ts","to":"/workspace/apps/web/src/hooks/use-instance-actions.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-instance-actions.ts","to":"/workspace/apps/web/src/hooks/use-instance-actions.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-instance-actions.ts:<anonymous>","to":"external:window.open","kind":"calls","metadata":{"unresolvedName":"window.open"}},{"from":"/workspace/apps/web/src/hooks/use-instance-actions.ts:<anonymous>","to":"external:session.tool_type_interfaces?.includes","kind":"calls","metadata":{"unresolvedName":"session.tool_type_interfaces?.includes"}},{"from":"file:/workspace/apps/web/src/hooks/use-instance-actions.ts","to":"/workspace/apps/web/src/hooks/use-instance-actions.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-instance-actions.ts","to":"/workspace/apps/web/src/hooks/use-instance-actions.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-instance-actions.ts:<anonymous>","to":"symbol-name:setLoadingSessionId","kind":"calls","metadata":{"unresolvedName":"setLoadingSessionId"}},{"from":"/workspace/apps/web/src/hooks/use-instance-actions.ts:<anonymous>","to":"symbol-name:onRefresh","kind":"calls","metadata":{"unresolvedName":"onRefresh"}},{"from":"file:/workspace/apps/web/src/hooks/use-instance-actions.ts","to":"/workspace/apps/web/src/hooks/use-instance-actions.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-instance-actions.ts","to":"/workspace/apps/web/src/hooks/use-instance-actions.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-instance-actions.ts:<anonymous>","to":"symbol-name:setLoadingSessionId","kind":"calls","metadata":{"unresolvedName":"setLoadingSessionId"}},{"from":"/workspace/apps/web/src/hooks/use-instance-actions.ts:<anonymous>","to":"symbol-name:onRefresh","kind":"calls","metadata":{"unresolvedName":"onRefresh"}},{"from":"file:/workspace/apps/web/src/hooks/use-instance-actions.ts","to":"/workspace/apps/web/src/hooks/use-instance-actions.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-instance-actions.ts","to":"/workspace/apps/web/src/hooks/use-instance-actions.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-instance-actions.ts:<anonymous>","to":"symbol-name:setLoadingSessionId","kind":"calls","metadata":{"unresolvedName":"setLoadingSessionId"}},{"from":"/workspace/apps/web/src/hooks/use-instance-actions.ts:<anonymous>","to":"symbol-name:setDirtyDeleteSession","kind":"calls","metadata":{"unresolvedName":"setDirtyDeleteSession"}},{"from":"/workspace/apps/web/src/hooks/use-instance-actions.ts:<anonymous>","to":"symbol-name:setDirtyDeleteFiles","kind":"calls","metadata":{"unresolvedName":"setDirtyDeleteFiles"}},{"from":"/workspace/apps/web/src/hooks/use-instance-actions.ts:<anonymous>","to":"symbol-name:onRefresh","kind":"calls","metadata":{"unresolvedName":"onRefresh"}},{"from":"file:/workspace/apps/web/src/hooks/use-instance-actions.ts","to":"/workspace/apps/web/src/hooks/use-instance-actions.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-instance-actions.ts","to":"/workspace/apps/web/src/hooks/use-instance-actions.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-instance-actions.ts:<anonymous>","to":"symbol-name:setLoadingSessionId","kind":"calls","metadata":{"unresolvedName":"setLoadingSessionId"}},{"from":"/workspace/apps/web/src/hooks/use-instance-actions.ts:<anonymous>","to":"symbol-name:setDirtyDeleteSession","kind":"calls","metadata":{"unresolvedName":"setDirtyDeleteSession"}},{"from":"/workspace/apps/web/src/hooks/use-instance-actions.ts:<anonymous>","to":"symbol-name:setDirtyDeleteFiles","kind":"calls","metadata":{"unresolvedName":"setDirtyDeleteFiles"}},{"from":"/workspace/apps/web/src/hooks/use-instance-actions.ts:<anonymous>","to":"symbol-name:onRefresh","kind":"calls","metadata":{"unresolvedName":"onRefresh"}},{"from":"file:/workspace/apps/web/src/hooks/use-instance-actions.ts","to":"/workspace/apps/web/src/hooks/use-instance-actions.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-instance-actions.ts","to":"/workspace/apps/web/src/hooks/use-instance-actions.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-instance-actions.ts:<anonymous>","to":"symbol-name:setLoadingSessionId","kind":"calls","metadata":{"unresolvedName":"setLoadingSessionId"}},{"from":"/workspace/apps/web/src/hooks/use-instance-actions.ts:<anonymous>","to":"symbol-name:onRefresh","kind":"calls","metadata":{"unresolvedName":"onRefresh"}},{"from":"/workspace/apps/web/src/hooks/use-instance-actions.ts:<anonymous>","to":"symbol-name:alert","kind":"calls","metadata":{"unresolvedName":"alert"}},{"from":"file:/workspace/apps/web/src/hooks/use-instance-actions.ts","to":"/workspace/apps/web/src/hooks/use-instance-actions.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-instance-actions.ts","to":"/workspace/apps/web/src/hooks/use-instance-actions.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-instance-actions.ts:<anonymous>","to":"symbol-name:setDirtyDeleteSession","kind":"calls","metadata":{"unresolvedName":"setDirtyDeleteSession"}},{"from":"/workspace/apps/web/src/hooks/use-instance-actions.ts:<anonymous>","to":"symbol-name:setDirtyDeleteFiles","kind":"calls","metadata":{"unresolvedName":"setDirtyDeleteFiles"}},{"from":"file:/workspace/apps/web/src/hooks/use-mobile-viewport.ts","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-mobile-viewport.ts","to":"/workspace/apps/web/src/hooks/use-mobile-viewport.ts:useMobileViewport","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-mobile-viewport.ts","to":"/workspace/apps/web/src/hooks/use-mobile-viewport.ts:useMobileViewport","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-mobile-viewport.ts:useMobileViewport","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/hooks/use-mobile-viewport.ts:useMobileViewport","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/hooks/use-mobile-viewport.ts:useMobileViewport","to":"symbol-name:setIsMobile","kind":"calls","metadata":{"unresolvedName":"setIsMobile"}},{"from":"/workspace/apps/web/src/hooks/use-mobile-viewport.ts:useMobileViewport","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"/workspace/apps/web/src/hooks/use-mobile-viewport.ts:useMobileViewport","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"file:/workspace/apps/web/src/hooks/use-mobile-viewport.ts","to":"/workspace/apps/web/src/hooks/use-mobile-viewport.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-mobile-viewport.ts","to":"/workspace/apps/web/src/hooks/use-mobile-viewport.ts:<anonymous>","kind":"defines"},{"from":"file:/workspace/apps/web/src/hooks/use-mobile-viewport.ts","to":"/workspace/apps/web/src/hooks/use-mobile-viewport.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-mobile-viewport.ts","to":"/workspace/apps/web/src/hooks/use-mobile-viewport.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-mobile-viewport.ts:<anonymous>","to":"symbol-name:setIsMobile","kind":"calls","metadata":{"unresolvedName":"setIsMobile"}},{"from":"/workspace/apps/web/src/hooks/use-mobile-viewport.ts:<anonymous>","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"/workspace/apps/web/src/hooks/use-mobile-viewport.ts:<anonymous>","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"file:/workspace/apps/web/src/hooks/use-mobile-viewport.ts","to":"/workspace/apps/web/src/hooks/use-mobile-viewport.ts:handleResize","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-mobile-viewport.ts","to":"/workspace/apps/web/src/hooks/use-mobile-viewport.ts:handleResize","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-mobile-viewport.ts:handleResize","to":"symbol-name:setIsMobile","kind":"calls","metadata":{"unresolvedName":"setIsMobile"}},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"file:/workspace/apps/web/src/hooks/use-notifications.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"file:/workspace/apps/web/src/state/notifications.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"file:/workspace/apps/web/src/api/notifications.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"file:/workspace/apps/web/src/api/notifications.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:wrapper","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:wrapper","kind":"defines"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:mockedGetNotifications.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedGetNotifications.mockResolvedValue"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:mockedGetUnreadCount.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedGetUnreadCount.mockResolvedValue"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:mockedMarkNotificationRead.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedMarkNotificationRead.mockResolvedValue"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:makeNotification","kind":"calls","metadata":{"unresolvedName":"makeNotification"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:mockedMarkAllNotificationsRead.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedMarkAllNotificationsRead.mockResolvedValue"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:mockedDismissNotification.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedDismissNotification.mockResolvedValue"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:afterEach","kind":"calls","metadata":{"unresolvedName":"afterEach"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:vi.clearAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.clearAllMocks"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"/workspace/apps/web/src/hooks/use-notifications.ts:useNotifications","kind":"calls","metadata":{"unresolvedName":"useNotifications"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:expect(result.current.notifications).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result.current.notifications).toHaveLength"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:expect(result.current.unreadCount).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.unreadCount).toBe"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:mockedMarkNotificationRead.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"mockedMarkNotificationRead.mockReturnValue"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:result.current.markRead","kind":"calls","metadata":{"unresolvedName":"result.current.markRead"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:result.current.notifications.find","kind":"calls","metadata":{"unresolvedName":"result.current.notifications.find"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:expect(n?.read_at).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(n?.read_at).not.toBeNull"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:resolveApi","kind":"calls","metadata":{"unresolvedName":"resolveApi"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:mockedMarkNotificationRead.mockRejectedValue","kind":"calls","metadata":{"unresolvedName":"mockedMarkNotificationRead.mockRejectedValue"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:expect(n?.read_at).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(n?.read_at).toBeNull"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:expect(result.current.error).toBeInstanceOf","kind":"calls","metadata":{"unresolvedName":"expect(result.current.error).toBeInstanceOf"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:mockedDismissNotification.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"mockedDismissNotification.mockReturnValue"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:result.current.dismiss","kind":"calls","metadata":{"unresolvedName":"result.current.dismiss"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:mockedDismissNotification.mockRejectedValue","kind":"calls","metadata":{"unresolvedName":"mockedDismissNotification.mockRejectedValue"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:result.current.refreshList","kind":"calls","metadata":{"unresolvedName":"result.current.refreshList"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:expect(mockedGetNotifications).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(mockedGetNotifications).toHaveBeenCalledTimes"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:mockedGetUnreadCount.mockRejectedValue","kind":"calls","metadata":{"unresolvedName":"mockedGetUnreadCount.mockRejectedValue"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:expect(mockedGetUnreadCount.mock.calls.length).toBe","kind":"calls","metadata":{"unresolvedName":"expect(mockedGetUnreadCount.mock.calls.length).toBe"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:Object.defineProperty","kind":"calls","metadata":{"unresolvedName":"Object.defineProperty"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:document.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"document.dispatchEvent"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:expect(mockedGetUnreadCount.mock.calls.length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(mockedGetUnreadCount.mock.calls.length).toBeGreaterThan"}},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:mockedGetNotifications.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedGetNotifications.mockResolvedValue"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:mockedGetUnreadCount.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedGetUnreadCount.mockResolvedValue"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:mockedMarkNotificationRead.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedMarkNotificationRead.mockResolvedValue"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:makeNotification","kind":"calls","metadata":{"unresolvedName":"makeNotification"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:mockedMarkAllNotificationsRead.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedMarkAllNotificationsRead.mockResolvedValue"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:mockedDismissNotification.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedDismissNotification.mockResolvedValue"}},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:vi.clearAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.clearAllMocks"}},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:mockedGetNotifications.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedGetNotifications.mockResolvedValue"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:makeNotification","kind":"calls","metadata":{"unresolvedName":"makeNotification"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:mockedGetUnreadCount.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedGetUnreadCount.mockResolvedValue"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"/workspace/apps/web/src/hooks/use-notifications.ts:useNotifications","kind":"calls","metadata":{"unresolvedName":"useNotifications"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:expect(result.current.notifications).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result.current.notifications).toHaveLength"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:expect(result.current.unreadCount).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.unreadCount).toBe"}},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:expect(result.current.notifications).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result.current.notifications).toHaveLength"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:expect(result.current.unreadCount).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.unreadCount).toBe"}},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:mockedGetNotifications.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedGetNotifications.mockResolvedValue"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:makeNotification","kind":"calls","metadata":{"unresolvedName":"makeNotification"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:mockedGetUnreadCount.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedGetUnreadCount.mockResolvedValue"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"/workspace/apps/web/src/hooks/use-notifications.ts:useNotifications","kind":"calls","metadata":{"unresolvedName":"useNotifications"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:expect(result.current.unreadCount).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.unreadCount).toBe"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:mockedMarkNotificationRead.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"mockedMarkNotificationRead.mockReturnValue"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:result.current.markRead","kind":"calls","metadata":{"unresolvedName":"result.current.markRead"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:result.current.notifications.find","kind":"calls","metadata":{"unresolvedName":"result.current.notifications.find"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:expect(n?.read_at).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(n?.read_at).not.toBeNull"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:resolveApi","kind":"calls","metadata":{"unresolvedName":"resolveApi"}},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"defines"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:result.current.markRead","kind":"calls","metadata":{"unresolvedName":"result.current.markRead"}},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:result.current.notifications.find","kind":"calls","metadata":{"unresolvedName":"result.current.notifications.find"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:expect(n?.read_at).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(n?.read_at).not.toBeNull"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:resolveApi","kind":"calls","metadata":{"unresolvedName":"resolveApi"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:makeNotification","kind":"calls","metadata":{"unresolvedName":"makeNotification"}},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:mockedGetNotifications.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedGetNotifications.mockResolvedValue"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:makeNotification","kind":"calls","metadata":{"unresolvedName":"makeNotification"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:mockedGetUnreadCount.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedGetUnreadCount.mockResolvedValue"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"/workspace/apps/web/src/hooks/use-notifications.ts:useNotifications","kind":"calls","metadata":{"unresolvedName":"useNotifications"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:expect(result.current.unreadCount).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.unreadCount).toBe"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:mockedMarkNotificationRead.mockRejectedValue","kind":"calls","metadata":{"unresolvedName":"mockedMarkNotificationRead.mockRejectedValue"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:result.current.markRead","kind":"calls","metadata":{"unresolvedName":"result.current.markRead"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:result.current.notifications.find","kind":"calls","metadata":{"unresolvedName":"result.current.notifications.find"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:expect(n?.read_at).toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(n?.read_at).toBeNull"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:expect(result.current.error).toBeInstanceOf","kind":"calls","metadata":{"unresolvedName":"expect(result.current.error).toBeInstanceOf"}},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:result.current.markRead","kind":"calls","metadata":{"unresolvedName":"result.current.markRead"}},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:mockedGetNotifications.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedGetNotifications.mockResolvedValue"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:makeNotification","kind":"calls","metadata":{"unresolvedName":"makeNotification"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:mockedGetUnreadCount.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedGetUnreadCount.mockResolvedValue"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"/workspace/apps/web/src/hooks/use-notifications.ts:useNotifications","kind":"calls","metadata":{"unresolvedName":"useNotifications"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:expect(result.current.notifications).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result.current.notifications).toHaveLength"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:mockedDismissNotification.mockReturnValue","kind":"calls","metadata":{"unresolvedName":"mockedDismissNotification.mockReturnValue"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:result.current.dismiss","kind":"calls","metadata":{"unresolvedName":"result.current.dismiss"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:expect(result.current.unreadCount).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.unreadCount).toBe"}},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"defines"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:result.current.dismiss","kind":"calls","metadata":{"unresolvedName":"result.current.dismiss"}},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:expect(result.current.notifications).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result.current.notifications).toHaveLength"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:mockedGetNotifications.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedGetNotifications.mockResolvedValue"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:makeNotification","kind":"calls","metadata":{"unresolvedName":"makeNotification"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:mockedGetUnreadCount.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedGetUnreadCount.mockResolvedValue"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"/workspace/apps/web/src/hooks/use-notifications.ts:useNotifications","kind":"calls","metadata":{"unresolvedName":"useNotifications"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:expect(result.current.notifications).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result.current.notifications).toHaveLength"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:mockedDismissNotification.mockRejectedValue","kind":"calls","metadata":{"unresolvedName":"mockedDismissNotification.mockRejectedValue"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:result.current.dismiss","kind":"calls","metadata":{"unresolvedName":"result.current.dismiss"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:expect(result.current.unreadCount).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.unreadCount).toBe"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:expect(result.current.error).toBeInstanceOf","kind":"calls","metadata":{"unresolvedName":"expect(result.current.error).toBeInstanceOf"}},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:result.current.dismiss","kind":"calls","metadata":{"unresolvedName":"result.current.dismiss"}},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:mockedGetNotifications.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedGetNotifications.mockResolvedValue"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:makeNotification","kind":"calls","metadata":{"unresolvedName":"makeNotification"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"/workspace/apps/web/src/hooks/use-notifications.ts:useNotifications","kind":"calls","metadata":{"unresolvedName":"useNotifications"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:result.current.refreshList","kind":"calls","metadata":{"unresolvedName":"result.current.refreshList"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:expect(mockedGetNotifications).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(mockedGetNotifications).toHaveBeenCalledTimes"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:expect(result.current.notifications).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(result.current.notifications).toHaveLength"}},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:result.current.refreshList","kind":"calls","metadata":{"unresolvedName":"result.current.refreshList"}},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:mockedGetUnreadCount.mockRejectedValue","kind":"calls","metadata":{"unresolvedName":"mockedGetUnreadCount.mockRejectedValue"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"/workspace/apps/web/src/hooks/use-notifications.ts:useNotifications","kind":"calls","metadata":{"unresolvedName":"useNotifications"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:expect(mockedGetUnreadCount.mock.calls.length).toBe","kind":"calls","metadata":{"unresolvedName":"expect(mockedGetUnreadCount.mock.calls.length).toBe"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"/workspace/apps/web/src/hooks/use-notifications.ts:useNotifications","kind":"calls","metadata":{"unresolvedName":"useNotifications"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:Object.defineProperty","kind":"calls","metadata":{"unresolvedName":"Object.defineProperty"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:document.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"document.dispatchEvent"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:expect(mockedGetUnreadCount.mock.calls.length).toBe","kind":"calls","metadata":{"unresolvedName":"expect(mockedGetUnreadCount.mock.calls.length).toBe"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:expect(mockedGetUnreadCount.mock.calls.length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(mockedGetUnreadCount.mock.calls.length).toBeGreaterThan"}},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:Object.defineProperty","kind":"calls","metadata":{"unresolvedName":"Object.defineProperty"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:document.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"document.dispatchEvent"}},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:Object.defineProperty","kind":"calls","metadata":{"unresolvedName":"Object.defineProperty"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:document.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"document.dispatchEvent"}},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:mockedGetNotifications.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedGetNotifications.mockResolvedValue"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:makeNotification","kind":"calls","metadata":{"unresolvedName":"makeNotification"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:mockedGetUnreadCount.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedGetUnreadCount.mockResolvedValue"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"/workspace/apps/web/src/hooks/use-notifications.ts:useNotifications","kind":"calls","metadata":{"unresolvedName":"useNotifications"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:expect(result.current.unreadCount).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.unreadCount).toBe"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:mockedMarkNotificationRead.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockedMarkNotificationRead.mockResolvedValue"}},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:result.current.markRead","kind":"calls","metadata":{"unresolvedName":"result.current.markRead"}},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.test.tsx","to":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-notifications.test.tsx:<anonymous>","to":"external:result.current.markRead","kind":"calls","metadata":{"unresolvedName":"result.current.markRead"}},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.ts","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.ts","to":"file:/workspace/apps/web/src/state/notifications.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.ts","to":"/workspace/apps/web/src/hooks/use-notifications.ts:useNotifications","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-notifications.ts","to":"/workspace/apps/web/src/hooks/use-notifications.ts:useNotifications","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-notifications.ts:useNotifications","to":"symbol-name:useContext","kind":"calls","metadata":{"unresolvedName":"useContext"}},{"from":"file:/workspace/apps/web/src/hooks/use-special-keys.ts","to":"/workspace/apps/web/src/hooks/use-special-keys.ts:getSequenceWithModifier","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-special-keys.ts","to":"/workspace/apps/web/src/hooks/use-special-keys.ts:getSequenceWithModifier","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-special-keys.ts:getSequenceWithModifier","to":"external:char.toLowerCase","kind":"calls","metadata":{"unresolvedName":"char.toLowerCase"}},{"from":"file:/workspace/apps/web/src/hooks/use-special-keys.ts","to":"/workspace/apps/web/src/hooks/use-special-keys.ts:applyModifierToChar","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-special-keys.ts","to":"/workspace/apps/web/src/hooks/use-special-keys.ts:applyModifierToChar","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-special-keys.ts:applyModifierToChar","to":"external:char.toLowerCase","kind":"calls","metadata":{"unresolvedName":"char.toLowerCase"}},{"from":"file:/workspace/apps/web/src/hooks/use-start-tool.ts","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-start-tool.ts","to":"file:/workspace/apps/web/src/api/sessions.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-start-tool.ts","to":"file:/workspace/apps/web/src/types/workspace.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-start-tool.ts","to":"file:/workspace/apps/web/src/api/sessions.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-start-tool.ts","to":"/workspace/apps/web/src/hooks/use-start-tool.ts:useStartTool","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-start-tool.ts","to":"/workspace/apps/web/src/hooks/use-start-tool.ts:useStartTool","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-start-tool.ts:useStartTool","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/hooks/use-start-tool.ts:useStartTool","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/hooks/use-start-tool.ts:useStartTool","to":"symbol-name:setStarting","kind":"calls","metadata":{"unresolvedName":"setStarting"}},{"from":"/workspace/apps/web/src/hooks/use-start-tool.ts:useStartTool","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:/workspace/apps/web/src/hooks/use-start-tool.ts","to":"/workspace/apps/web/src/hooks/use-start-tool.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-start-tool.ts","to":"/workspace/apps/web/src/hooks/use-start-tool.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-start-tool.ts:<anonymous>","to":"symbol-name:setStarting","kind":"calls","metadata":{"unresolvedName":"setStarting"}},{"from":"/workspace/apps/web/src/hooks/use-start-tool.ts:<anonymous>","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"external:vitest","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"external:@testing-library/react","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:send","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:send","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:send","to":"external:this.sent.push","kind":"calls","metadata":{"unresolvedName":"this.sent.push"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:close","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:close","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:close","to":"external:this.onclose","kind":"calls","metadata":{"unresolvedName":"this.onclose"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:simulateOpen","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:simulateOpen","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:simulateOpen","to":"external:this.onopen","kind":"calls","metadata":{"unresolvedName":"this.onopen"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:simulateMessage","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:simulateMessage","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:simulateMessage","to":"external:this.onmessage","kind":"calls","metadata":{"unresolvedName":"this.onmessage"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:simulateError","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:simulateError","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:simulateError","to":"external:this.onerror","kind":"calls","metadata":{"unresolvedName":"this.onerror"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:afterEach","kind":"calls","metadata":{"unresolvedName":"afterEach"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:vi.unstubAllGlobals","kind":"calls","metadata":{"unresolvedName":"vi.unstubAllGlobals"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","kind":"calls","metadata":{"unresolvedName":"useTerminalConnection"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:expect(result.current.state.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.state.status).toBe"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:expect(MockWebSocket.instances).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(MockWebSocket.instances).toHaveLength"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].simulateOpen","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].simulateOpen"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].sent.filter","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].sent.filter"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:s.includes","kind":"calls","metadata":{"unresolvedName":"s.includes"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:expect(pings.length).toBeGreaterThanOrEqual","kind":"calls","metadata":{"unresolvedName":"expect(pings.length).toBeGreaterThanOrEqual"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].simulateMessage","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].simulateMessage"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:expect(result.current.state.latency).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(result.current.state.latency).not.toBeNull"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:expect(result.current.state.latency).toBeGreaterThanOrEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.current.state.latency).toBeGreaterThanOrEqual"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].close","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].close"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:expect(result.current.state.attempt).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.state.attempt).toBe"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:ws.close","kind":"calls","metadata":{"unresolvedName":"ws.close"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:expect(result.current.state.error).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.current.state.error).toContain"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:result.current.sendResize","kind":"calls","metadata":{"unresolvedName":"result.current.sendResize"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:expect(resizes.length).toBeGreaterThanOrEqual","kind":"calls","metadata":{"unresolvedName":"expect(resizes.length).toBeGreaterThanOrEqual"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:expect(resizes.length).toBe","kind":"calls","metadata":{"unresolvedName":"expect(resizes.length).toBe"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:result.current.sendInput","kind":"calls","metadata":{"unresolvedName":"result.current.sendInput"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:expect(MockWebSocket.instances[0].sent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(MockWebSocket.instances[0].sent).toContain"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:result.current.reconnect","kind":"calls","metadata":{"unresolvedName":"result.current.reconnect"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:expect(onData).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onData).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:expect.any","kind":"calls","metadata":{"unresolvedName":"expect.any"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:expect(onControl).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onControl).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:expect(serializeFn).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(serializeFn).toHaveBeenCalled"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:expect(onRestoreScrollback).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onRestoreScrollback).toHaveBeenCalledWith"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:vi.useFakeTimers","kind":"calls","metadata":{"unresolvedName":"vi.useFakeTimers"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:vi.stubGlobal","kind":"calls","metadata":{"unresolvedName":"vi.stubGlobal"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:vi.useRealTimers","kind":"calls","metadata":{"unresolvedName":"vi.useRealTimers"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:vi.unstubAllGlobals","kind":"calls","metadata":{"unresolvedName":"vi.unstubAllGlobals"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","kind":"calls","metadata":{"unresolvedName":"useTerminalConnection"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:expect(result.current.state.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.state.status).toBe"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:expect(MockWebSocket.instances).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(MockWebSocket.instances).toHaveLength"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","kind":"calls","metadata":{"unresolvedName":"useTerminalConnection"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].simulateOpen","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].simulateOpen"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:expect(result.current.state.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.state.status).toBe"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].simulateOpen","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].simulateOpen"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","kind":"calls","metadata":{"unresolvedName":"useTerminalConnection"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].simulateOpen","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].simulateOpen"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].sent.filter","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].sent.filter"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:s.includes","kind":"calls","metadata":{"unresolvedName":"s.includes"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:expect(pings.length).toBeGreaterThanOrEqual","kind":"calls","metadata":{"unresolvedName":"expect(pings.length).toBeGreaterThanOrEqual"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].simulateOpen","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].simulateOpen"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","kind":"calls","metadata":{"unresolvedName":"useTerminalConnection"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].simulateOpen","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].simulateOpen"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].simulateMessage","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].simulateMessage"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:expect(result.current.state.latency).not.toBeNull","kind":"calls","metadata":{"unresolvedName":"expect(result.current.state.latency).not.toBeNull"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:expect(result.current.state.latency).toBeGreaterThanOrEqual","kind":"calls","metadata":{"unresolvedName":"expect(result.current.state.latency).toBeGreaterThanOrEqual"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].simulateOpen","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].simulateOpen"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].simulateMessage","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].simulateMessage"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","kind":"calls","metadata":{"unresolvedName":"useTerminalConnection"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].simulateOpen","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].simulateOpen"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].close","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].close"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:expect(result.current.state.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.state.status).toBe"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:expect(result.current.state.attempt).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.state.attempt).toBe"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:expect(MockWebSocket.instances).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(MockWebSocket.instances).toHaveLength"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].simulateOpen","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].simulateOpen"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].close","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].close"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","kind":"calls","metadata":{"unresolvedName":"useTerminalConnection"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].simulateOpen","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].simulateOpen"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:ws.close","kind":"calls","metadata":{"unresolvedName":"ws.close"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:expect(result.current.state.status).toBe","kind":"calls","metadata":{"unresolvedName":"expect(result.current.state.status).toBe"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:expect(result.current.state.error).toContain","kind":"calls","metadata":{"unresolvedName":"expect(result.current.state.error).toContain"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].simulateOpen","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].simulateOpen"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:ws.close","kind":"calls","metadata":{"unresolvedName":"ws.close"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","kind":"calls","metadata":{"unresolvedName":"useTerminalConnection"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].simulateOpen","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].simulateOpen"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:result.current.sendResize","kind":"calls","metadata":{"unresolvedName":"result.current.sendResize"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].sent.filter","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].sent.filter"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:s.includes","kind":"calls","metadata":{"unresolvedName":"s.includes"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:expect(resizes.length).toBeGreaterThanOrEqual","kind":"calls","metadata":{"unresolvedName":"expect(resizes.length).toBeGreaterThanOrEqual"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].simulateOpen","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].simulateOpen"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:result.current.sendResize","kind":"calls","metadata":{"unresolvedName":"result.current.sendResize"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","kind":"calls","metadata":{"unresolvedName":"useTerminalConnection"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].simulateOpen","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].simulateOpen"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:result.current.sendResize","kind":"calls","metadata":{"unresolvedName":"result.current.sendResize"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].sent.filter","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].sent.filter"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:s.includes","kind":"calls","metadata":{"unresolvedName":"s.includes"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:expect(resizes.length).toBe","kind":"calls","metadata":{"unresolvedName":"expect(resizes.length).toBe"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].simulateOpen","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].simulateOpen"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:result.current.sendResize","kind":"calls","metadata":{"unresolvedName":"result.current.sendResize"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:result.current.sendResize","kind":"calls","metadata":{"unresolvedName":"result.current.sendResize"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","kind":"calls","metadata":{"unresolvedName":"useTerminalConnection"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].simulateOpen","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].simulateOpen"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:result.current.sendInput","kind":"calls","metadata":{"unresolvedName":"result.current.sendInput"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:expect(MockWebSocket.instances[0].sent).toContain","kind":"calls","metadata":{"unresolvedName":"expect(MockWebSocket.instances[0].sent).toContain"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].simulateOpen","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].simulateOpen"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:result.current.sendInput","kind":"calls","metadata":{"unresolvedName":"result.current.sendInput"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","kind":"calls","metadata":{"unresolvedName":"useTerminalConnection"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].simulateOpen","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].simulateOpen"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:result.current.reconnect","kind":"calls","metadata":{"unresolvedName":"result.current.reconnect"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:expect(MockWebSocket.instances).toHaveLength","kind":"calls","metadata":{"unresolvedName":"expect(MockWebSocket.instances).toHaveLength"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].simulateOpen","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].simulateOpen"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:result.current.reconnect","kind":"calls","metadata":{"unresolvedName":"result.current.reconnect"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","kind":"calls","metadata":{"unresolvedName":"useTerminalConnection"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].simulateOpen","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].simulateOpen"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].simulateMessage","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].simulateMessage"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:expect(onData).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onData).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:expect.any","kind":"calls","metadata":{"unresolvedName":"expect.any"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].simulateOpen","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].simulateOpen"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].simulateMessage","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].simulateMessage"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","kind":"calls","metadata":{"unresolvedName":"useTerminalConnection"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].simulateOpen","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].simulateOpen"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].simulateMessage","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].simulateMessage"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:expect(onControl).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onControl).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].simulateOpen","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].simulateOpen"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].simulateMessage","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].simulateMessage"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:vi.fn","kind":"calls","metadata":{"unresolvedName":"vi.fn"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:renderHook","kind":"calls","metadata":{"unresolvedName":"renderHook"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","kind":"calls","metadata":{"unresolvedName":"useTerminalConnection"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:act","kind":"calls","metadata":{"unresolvedName":"act"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].simulateOpen","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].simulateOpen"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].close","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].close"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:expect(serializeFn).toHaveBeenCalled","kind":"calls","metadata":{"unresolvedName":"expect(serializeFn).toHaveBeenCalled"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:expect(onRestoreScrollback).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(onRestoreScrollback).toHaveBeenCalledWith"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].simulateOpen","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].simulateOpen"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:MockWebSocket.instances[0].close","kind":"calls","metadata":{"unresolvedName":"MockWebSocket.instances[0].close"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","to":"external:vi.advanceTimersByTime","kind":"calls","metadata":{"unresolvedName":"vi.advanceTimersByTime"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.test.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.test.ts:<anonymous>","kind":"defines"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"file:/workspace/apps/web/src/types/terminal.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"file:/workspace/apps/web/src/utils/terminal-protocol.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"symbol-name:setState","kind":"calls","metadata":{"unresolvedName":"setState"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"symbol-name:updater","kind":"calls","metadata":{"unresolvedName":"updater"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"symbol-name:onLocalEcho","kind":"calls","metadata":{"unresolvedName":"onLocalEcho"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"external:pendingEchoRef.current.slice","kind":"calls","metadata":{"unresolvedName":"pendingEchoRef.current.slice"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"external:data.slice","kind":"calls","metadata":{"unresolvedName":"data.slice"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"external:new TextDecoder().decode","kind":"calls","metadata":{"unresolvedName":"new TextDecoder().decode"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"symbol-name:onData","kind":"calls","metadata":{"unresolvedName":"onData"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"symbol-name:deduplicateServerData","kind":"calls","metadata":{"unresolvedName":"deduplicateServerData"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"symbol-name:flushPendingEcho","kind":"calls","metadata":{"unresolvedName":"flushPendingEcho"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"symbol-name:onControl","kind":"calls","metadata":{"unresolvedName":"onControl"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"symbol-name:setStableState","kind":"calls","metadata":{"unresolvedName":"setStableState"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"symbol-name:clearTimers","kind":"calls","metadata":{"unresolvedName":"clearTimers"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"external:wsRef.current?.close","kind":"calls","metadata":{"unresolvedName":"wsRef.current?.close"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"external:ws.send","kind":"calls","metadata":{"unresolvedName":"ws.send"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"/workspace/apps/web/src/utils/terminal-protocol.ts:encodeControlMessage","kind":"calls","metadata":{"unresolvedName":"encodeControlMessage"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"external:ws.close","kind":"calls","metadata":{"unresolvedName":"ws.close"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"symbol-name:serializeFn","kind":"calls","metadata":{"unresolvedName":"serializeFn"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"external:sessionStorage.setItem","kind":"calls","metadata":{"unresolvedName":"sessionStorage.setItem"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"external:sessionStorage.getItem","kind":"calls","metadata":{"unresolvedName":"sessionStorage.getItem"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"symbol-name:onRestoreScrollback","kind":"calls","metadata":{"unresolvedName":"onRestoreScrollback"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"external:sessionStorage.removeItem","kind":"calls","metadata":{"unresolvedName":"sessionStorage.removeItem"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"external:apiUrl.replace(/^https?:\\/\\//, \"\").replace","kind":"calls","metadata":{"unresolvedName":"apiUrl.replace(/^https?:\\/\\//, \"\").replace"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"external:apiUrl.replace","kind":"calls","metadata":{"unresolvedName":"apiUrl.replace"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"symbol-name:restoreScrollback","kind":"calls","metadata":{"unresolvedName":"restoreScrollback"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"symbol-name:schedulePing","kind":"calls","metadata":{"unresolvedName":"schedulePing"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"/workspace/apps/web/src/utils/terminal-protocol.ts:isControlMessage","kind":"calls","metadata":{"unresolvedName":"isControlMessage"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"/workspace/apps/web/src/utils/terminal-protocol.ts:decodeControlMessage","kind":"calls","metadata":{"unresolvedName":"decodeControlMessage"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"symbol-name:handleControlMessage","kind":"calls","metadata":{"unresolvedName":"handleControlMessage"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"symbol-name:handleBinaryMessage","kind":"calls","metadata":{"unresolvedName":"handleBinaryMessage"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"external:event.data.arrayBuffer().then","kind":"calls","metadata":{"unresolvedName":"event.data.arrayBuffer().then"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"external:event.data.arrayBuffer","kind":"calls","metadata":{"unresolvedName":"event.data.arrayBuffer"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"symbol-name:serializeScrollback","kind":"calls","metadata":{"unresolvedName":"serializeScrollback"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"external:Math.round","kind":"calls","metadata":{"unresolvedName":"Math.round"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"symbol-name:connect","kind":"calls","metadata":{"unresolvedName":"connect"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"external:data.charCodeAt","kind":"calls","metadata":{"unresolvedName":"data.charCodeAt"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"external:wsRef.current.close","kind":"calls","metadata":{"unresolvedName":"wsRef.current.close"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"symbol-name:reconnect","kind":"calls","metadata":{"unresolvedName":"reconnect"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:setState","kind":"calls","metadata":{"unresolvedName":"setState"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:updater","kind":"calls","metadata":{"unresolvedName":"updater"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:updater","kind":"calls","metadata":{"unresolvedName":"updater"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:onLocalEcho","kind":"calls","metadata":{"unresolvedName":"onLocalEcho"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"external:pendingEchoRef.current.slice","kind":"calls","metadata":{"unresolvedName":"pendingEchoRef.current.slice"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"external:data.slice","kind":"calls","metadata":{"unresolvedName":"data.slice"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"external:new TextDecoder().decode","kind":"calls","metadata":{"unresolvedName":"new TextDecoder().decode"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:onData","kind":"calls","metadata":{"unresolvedName":"onData"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:deduplicateServerData","kind":"calls","metadata":{"unresolvedName":"deduplicateServerData"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:onLocalEcho","kind":"calls","metadata":{"unresolvedName":"onLocalEcho"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:flushPendingEcho","kind":"calls","metadata":{"unresolvedName":"flushPendingEcho"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:onControl","kind":"calls","metadata":{"unresolvedName":"onControl"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:setStableState","kind":"calls","metadata":{"unresolvedName":"setStableState"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:flushPendingEcho","kind":"calls","metadata":{"unresolvedName":"flushPendingEcho"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:clearTimers","kind":"calls","metadata":{"unresolvedName":"clearTimers"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"external:wsRef.current?.close","kind":"calls","metadata":{"unresolvedName":"wsRef.current?.close"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"external:ws.send","kind":"calls","metadata":{"unresolvedName":"ws.send"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"/workspace/apps/web/src/utils/terminal-protocol.ts:encodeControlMessage","kind":"calls","metadata":{"unresolvedName":"encodeControlMessage"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"external:ws.close","kind":"calls","metadata":{"unresolvedName":"ws.close"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"external:ws.send","kind":"calls","metadata":{"unresolvedName":"ws.send"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"/workspace/apps/web/src/utils/terminal-protocol.ts:encodeControlMessage","kind":"calls","metadata":{"unresolvedName":"encodeControlMessage"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"external:ws.close","kind":"calls","metadata":{"unresolvedName":"ws.close"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"external:ws.close","kind":"calls","metadata":{"unresolvedName":"ws.close"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:serializeFn","kind":"calls","metadata":{"unresolvedName":"serializeFn"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"external:sessionStorage.setItem","kind":"calls","metadata":{"unresolvedName":"sessionStorage.setItem"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"external:sessionStorage.getItem","kind":"calls","metadata":{"unresolvedName":"sessionStorage.getItem"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:onRestoreScrollback","kind":"calls","metadata":{"unresolvedName":"onRestoreScrollback"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"external:sessionStorage.removeItem","kind":"calls","metadata":{"unresolvedName":"sessionStorage.removeItem"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"external:apiUrl.replace(/^https?:\\/\\//, \"\").replace","kind":"calls","metadata":{"unresolvedName":"apiUrl.replace(/^https?:\\/\\//, \"\").replace"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"external:apiUrl.replace","kind":"calls","metadata":{"unresolvedName":"apiUrl.replace"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:setStableState","kind":"calls","metadata":{"unresolvedName":"setStableState"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:restoreScrollback","kind":"calls","metadata":{"unresolvedName":"restoreScrollback"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:schedulePing","kind":"calls","metadata":{"unresolvedName":"schedulePing"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"/workspace/apps/web/src/utils/terminal-protocol.ts:isControlMessage","kind":"calls","metadata":{"unresolvedName":"isControlMessage"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"/workspace/apps/web/src/utils/terminal-protocol.ts:decodeControlMessage","kind":"calls","metadata":{"unresolvedName":"decodeControlMessage"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:handleControlMessage","kind":"calls","metadata":{"unresolvedName":"handleControlMessage"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:handleBinaryMessage","kind":"calls","metadata":{"unresolvedName":"handleBinaryMessage"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"external:event.data.arrayBuffer().then","kind":"calls","metadata":{"unresolvedName":"event.data.arrayBuffer().then"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"external:event.data.arrayBuffer","kind":"calls","metadata":{"unresolvedName":"event.data.arrayBuffer"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:clearTimers","kind":"calls","metadata":{"unresolvedName":"clearTimers"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:serializeScrollback","kind":"calls","metadata":{"unresolvedName":"serializeScrollback"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"external:Math.round","kind":"calls","metadata":{"unresolvedName":"Math.round"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:connect","kind":"calls","metadata":{"unresolvedName":"connect"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:setStableState","kind":"calls","metadata":{"unresolvedName":"setStableState"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:restoreScrollback","kind":"calls","metadata":{"unresolvedName":"restoreScrollback"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:schedulePing","kind":"calls","metadata":{"unresolvedName":"schedulePing"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"/workspace/apps/web/src/utils/terminal-protocol.ts:isControlMessage","kind":"calls","metadata":{"unresolvedName":"isControlMessage"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"/workspace/apps/web/src/utils/terminal-protocol.ts:decodeControlMessage","kind":"calls","metadata":{"unresolvedName":"decodeControlMessage"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:handleControlMessage","kind":"calls","metadata":{"unresolvedName":"handleControlMessage"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:handleBinaryMessage","kind":"calls","metadata":{"unresolvedName":"handleBinaryMessage"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"external:event.data.arrayBuffer().then","kind":"calls","metadata":{"unresolvedName":"event.data.arrayBuffer().then"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"external:event.data.arrayBuffer","kind":"calls","metadata":{"unresolvedName":"event.data.arrayBuffer"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:handleBinaryMessage","kind":"calls","metadata":{"unresolvedName":"handleBinaryMessage"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:clearTimers","kind":"calls","metadata":{"unresolvedName":"clearTimers"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:setStableState","kind":"calls","metadata":{"unresolvedName":"setStableState"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:serializeScrollback","kind":"calls","metadata":{"unresolvedName":"serializeScrollback"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"external:Math.min","kind":"calls","metadata":{"unresolvedName":"Math.min"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"external:Math.round","kind":"calls","metadata":{"unresolvedName":"Math.round"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:connect","kind":"calls","metadata":{"unresolvedName":"connect"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:connect","kind":"calls","metadata":{"unresolvedName":"connect"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"defines"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"external:data.charCodeAt","kind":"calls","metadata":{"unresolvedName":"data.charCodeAt"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:onLocalEcho","kind":"calls","metadata":{"unresolvedName":"onLocalEcho"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"external:ws.send","kind":"calls","metadata":{"unresolvedName":"ws.send"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"external:ws.send","kind":"calls","metadata":{"unresolvedName":"ws.send"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"/workspace/apps/web/src/utils/terminal-protocol.ts:encodeControlMessage","kind":"calls","metadata":{"unresolvedName":"encodeControlMessage"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"external:ws.send","kind":"calls","metadata":{"unresolvedName":"ws.send"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"/workspace/apps/web/src/utils/terminal-protocol.ts:encodeControlMessage","kind":"calls","metadata":{"unresolvedName":"encodeControlMessage"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:clearTimers","kind":"calls","metadata":{"unresolvedName":"clearTimers"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"external:wsRef.current.close","kind":"calls","metadata":{"unresolvedName":"wsRef.current.close"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:setStableState","kind":"calls","metadata":{"unresolvedName":"setStableState"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:connect","kind":"calls","metadata":{"unresolvedName":"connect"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:connect","kind":"calls","metadata":{"unresolvedName":"connect"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:clearTimers","kind":"calls","metadata":{"unresolvedName":"clearTimers"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"external:wsRef.current.close","kind":"calls","metadata":{"unresolvedName":"wsRef.current.close"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:clearTimers","kind":"calls","metadata":{"unresolvedName":"clearTimers"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"external:wsRef.current.close","kind":"calls","metadata":{"unresolvedName":"wsRef.current.close"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"symbol-name:reconnect","kind":"calls","metadata":{"unresolvedName":"reconnect"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:<anonymous>","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:handler","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:handler","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:handler","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:handler","to":"symbol-name:reconnect","kind":"calls","metadata":{"unresolvedName":"reconnect"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-sessions.ts","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-sessions.ts","to":"file:/workspace/apps/web/src/api/terminal.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-sessions.ts","to":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:useTerminalSessions","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-sessions.ts","to":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:useTerminalSessions","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:useTerminalSessions","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:useTerminalSessions","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:useTerminalSessions","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:useTerminalSessions","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:useTerminalSessions","to":"/workspace/apps/web/src/api/terminal.ts:listTerminalSessions","kind":"calls","metadata":{"unresolvedName":"listTerminalSessions"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:useTerminalSessions","to":"symbol-name:setSessions","kind":"calls","metadata":{"unresolvedName":"setSessions"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:useTerminalSessions","to":"symbol-name:setActiveSessionId","kind":"calls","metadata":{"unresolvedName":"setActiveSessionId"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:useTerminalSessions","to":"/workspace/apps/web/src/api/terminal.ts:createTerminalSession","kind":"calls","metadata":{"unresolvedName":"createTerminalSession"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:useTerminalSessions","to":"/workspace/apps/web/src/api/terminal.ts:closeTerminalSession","kind":"calls","metadata":{"unresolvedName":"closeTerminalSession"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:useTerminalSessions","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:useTerminalSessions","to":"/workspace/apps/web/src/api/terminal.ts:renameTerminalSession","kind":"calls","metadata":{"unresolvedName":"renameTerminalSession"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:useTerminalSessions","to":"external:prev.map","kind":"calls","metadata":{"unresolvedName":"prev.map"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:useTerminalSessions","to":"/workspace/apps/web/src/api/terminal.ts:resetTerminalSession","kind":"calls","metadata":{"unresolvedName":"resetTerminalSession"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:useTerminalSessions","to":"symbol-name:loadSessions","kind":"calls","metadata":{"unresolvedName":"loadSessions"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:useTerminalSessions","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-sessions.ts","to":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-sessions.ts","to":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>","to":"/workspace/apps/web/src/api/terminal.ts:listTerminalSessions","kind":"calls","metadata":{"unresolvedName":"listTerminalSessions"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>","to":"symbol-name:setSessions","kind":"calls","metadata":{"unresolvedName":"setSessions"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>","to":"symbol-name:setActiveSessionId","kind":"calls","metadata":{"unresolvedName":"setActiveSessionId"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-sessions.ts","to":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-sessions.ts","to":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>","to":"/workspace/apps/web/src/api/terminal.ts:createTerminalSession","kind":"calls","metadata":{"unresolvedName":"createTerminalSession"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>","to":"symbol-name:setSessions","kind":"calls","metadata":{"unresolvedName":"setSessions"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>","to":"symbol-name:setActiveSessionId","kind":"calls","metadata":{"unresolvedName":"setActiveSessionId"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-sessions.ts","to":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-sessions.ts","to":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>","to":"/workspace/apps/web/src/api/terminal.ts:closeTerminalSession","kind":"calls","metadata":{"unresolvedName":"closeTerminalSession"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>","to":"symbol-name:setSessions","kind":"calls","metadata":{"unresolvedName":"setSessions"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>","to":"symbol-name:setActiveSessionId","kind":"calls","metadata":{"unresolvedName":"setActiveSessionId"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-sessions.ts","to":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-sessions.ts","to":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>","to":"symbol-name:setActiveSessionId","kind":"calls","metadata":{"unresolvedName":"setActiveSessionId"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-sessions.ts","to":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-sessions.ts","to":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>","to":"/workspace/apps/web/src/api/terminal.ts:renameTerminalSession","kind":"calls","metadata":{"unresolvedName":"renameTerminalSession"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>","to":"symbol-name:setSessions","kind":"calls","metadata":{"unresolvedName":"setSessions"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>","to":"external:prev.map","kind":"calls","metadata":{"unresolvedName":"prev.map"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-sessions.ts","to":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-sessions.ts","to":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>","to":"/workspace/apps/web/src/api/terminal.ts:resetTerminalSession","kind":"calls","metadata":{"unresolvedName":"resetTerminalSession"}},{"from":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>","to":"symbol-name:loadSessions","kind":"calls","metadata":{"unresolvedName":"loadSessions"}},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-sessions.ts","to":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-terminal-sessions.ts","to":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-terminal-sessions.ts:<anonymous>","to":"symbol-name:loadSessions","kind":"calls","metadata":{"unresolvedName":"loadSessions"}},{"from":"file:/workspace/apps/web/src/hooks/use-theme.ts","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-theme.ts","to":"file:/workspace/apps/web/src/api/settings.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-theme.ts","to":"/workspace/apps/web/src/hooks/use-theme.ts:useTheme","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-theme.ts","to":"/workspace/apps/web/src/hooks/use-theme.ts:useTheme","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-theme.ts:useTheme","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/hooks/use-theme.ts:useTheme","to":"/workspace/apps/web/src/api/settings.ts:getUserConfig","kind":"calls","metadata":{"unresolvedName":"getUserConfig"}},{"from":"/workspace/apps/web/src/hooks/use-theme.ts:useTheme","to":"external:document.documentElement.removeAttribute","kind":"calls","metadata":{"unresolvedName":"document.documentElement.removeAttribute"}},{"from":"/workspace/apps/web/src/hooks/use-theme.ts:useTheme","to":"external:document.documentElement.setAttribute","kind":"calls","metadata":{"unresolvedName":"document.documentElement.setAttribute"}},{"from":"file:/workspace/apps/web/src/hooks/use-theme.ts","to":"/workspace/apps/web/src/hooks/use-theme.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-theme.ts","to":"/workspace/apps/web/src/hooks/use-theme.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-theme.ts:<anonymous>","to":"/workspace/apps/web/src/api/settings.ts:getUserConfig","kind":"calls","metadata":{"unresolvedName":"getUserConfig"}},{"from":"/workspace/apps/web/src/hooks/use-theme.ts:<anonymous>","to":"external:document.documentElement.removeAttribute","kind":"calls","metadata":{"unresolvedName":"document.documentElement.removeAttribute"}},{"from":"/workspace/apps/web/src/hooks/use-theme.ts:<anonymous>","to":"external:document.documentElement.setAttribute","kind":"calls","metadata":{"unresolvedName":"document.documentElement.setAttribute"}},{"from":"file:/workspace/apps/web/src/hooks/use-theme.ts","to":"/workspace/apps/web/src/hooks/use-theme.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-theme.ts","to":"/workspace/apps/web/src/hooks/use-theme.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-theme.ts:<anonymous>","to":"/workspace/apps/web/src/api/settings.ts:getUserConfig","kind":"calls","metadata":{"unresolvedName":"getUserConfig"}},{"from":"/workspace/apps/web/src/hooks/use-theme.ts:<anonymous>","to":"external:document.documentElement.removeAttribute","kind":"calls","metadata":{"unresolvedName":"document.documentElement.removeAttribute"}},{"from":"/workspace/apps/web/src/hooks/use-theme.ts:<anonymous>","to":"external:document.documentElement.setAttribute","kind":"calls","metadata":{"unresolvedName":"document.documentElement.setAttribute"}},{"from":"file:/workspace/apps/web/src/hooks/use-virtual-keyboard.ts","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-virtual-keyboard.ts","to":"/workspace/apps/web/src/hooks/use-virtual-keyboard.ts:useVirtualKeyboard","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-virtual-keyboard.ts","to":"/workspace/apps/web/src/hooks/use-virtual-keyboard.ts:useVirtualKeyboard","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-virtual-keyboard.ts:useVirtualKeyboard","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/hooks/use-virtual-keyboard.ts:useVirtualKeyboard","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/hooks/use-virtual-keyboard.ts:useVirtualKeyboard","to":"symbol-name:setState","kind":"calls","metadata":{"unresolvedName":"setState"}},{"from":"/workspace/apps/web/src/hooks/use-virtual-keyboard.ts:useVirtualKeyboard","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/hooks/use-virtual-keyboard.ts:useVirtualKeyboard","to":"external:visualViewport.addEventListener","kind":"calls","metadata":{"unresolvedName":"visualViewport.addEventListener"}},{"from":"/workspace/apps/web/src/hooks/use-virtual-keyboard.ts:useVirtualKeyboard","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"/workspace/apps/web/src/hooks/use-virtual-keyboard.ts:useVirtualKeyboard","to":"symbol-name:updateKeyboardState","kind":"calls","metadata":{"unresolvedName":"updateKeyboardState"}},{"from":"/workspace/apps/web/src/hooks/use-virtual-keyboard.ts:useVirtualKeyboard","to":"external:visualViewport.removeEventListener","kind":"calls","metadata":{"unresolvedName":"visualViewport.removeEventListener"}},{"from":"/workspace/apps/web/src/hooks/use-virtual-keyboard.ts:useVirtualKeyboard","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"file:/workspace/apps/web/src/hooks/use-virtual-keyboard.ts","to":"/workspace/apps/web/src/hooks/use-virtual-keyboard.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-virtual-keyboard.ts","to":"/workspace/apps/web/src/hooks/use-virtual-keyboard.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-virtual-keyboard.ts:<anonymous>","to":"symbol-name:setState","kind":"calls","metadata":{"unresolvedName":"setState"}},{"from":"file:/workspace/apps/web/src/hooks/use-virtual-keyboard.ts","to":"/workspace/apps/web/src/hooks/use-virtual-keyboard.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-virtual-keyboard.ts","to":"/workspace/apps/web/src/hooks/use-virtual-keyboard.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-virtual-keyboard.ts:<anonymous>","to":"external:visualViewport.addEventListener","kind":"calls","metadata":{"unresolvedName":"visualViewport.addEventListener"}},{"from":"/workspace/apps/web/src/hooks/use-virtual-keyboard.ts:<anonymous>","to":"external:window.addEventListener","kind":"calls","metadata":{"unresolvedName":"window.addEventListener"}},{"from":"/workspace/apps/web/src/hooks/use-virtual-keyboard.ts:<anonymous>","to":"symbol-name:updateKeyboardState","kind":"calls","metadata":{"unresolvedName":"updateKeyboardState"}},{"from":"/workspace/apps/web/src/hooks/use-virtual-keyboard.ts:<anonymous>","to":"external:visualViewport.removeEventListener","kind":"calls","metadata":{"unresolvedName":"visualViewport.removeEventListener"}},{"from":"/workspace/apps/web/src/hooks/use-virtual-keyboard.ts:<anonymous>","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"file:/workspace/apps/web/src/hooks/use-virtual-keyboard.ts","to":"/workspace/apps/web/src/hooks/use-virtual-keyboard.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-virtual-keyboard.ts","to":"/workspace/apps/web/src/hooks/use-virtual-keyboard.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-virtual-keyboard.ts:<anonymous>","to":"external:visualViewport.removeEventListener","kind":"calls","metadata":{"unresolvedName":"visualViewport.removeEventListener"}},{"from":"/workspace/apps/web/src/hooks/use-virtual-keyboard.ts:<anonymous>","to":"external:window.removeEventListener","kind":"calls","metadata":{"unresolvedName":"window.removeEventListener"}},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-actions.ts","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-actions.ts","to":"file:/workspace/apps/web/src/api/workspaces.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-actions.ts","to":"file:/workspace/apps/web/src/types/workspace.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-actions.ts","to":"/workspace/apps/web/src/hooks/use-workspace-actions.ts:useWorkspaceActions","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-actions.ts","to":"/workspace/apps/web/src/hooks/use-workspace-actions.ts:useWorkspaceActions","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-workspace-actions.ts:useWorkspaceActions","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-actions.ts:useWorkspaceActions","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-actions.ts:useWorkspaceActions","to":"/workspace/apps/web/src/api/workspaces.ts:createWorkspace","kind":"calls","metadata":{"unresolvedName":"createWorkspace"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-actions.ts:useWorkspaceActions","to":"symbol-name:setLoadingId","kind":"calls","metadata":{"unresolvedName":"setLoadingId"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-actions.ts:useWorkspaceActions","to":"/workspace/apps/web/src/api/workspaces.ts:deleteWorkspace","kind":"calls","metadata":{"unresolvedName":"deleteWorkspace"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-actions.ts:useWorkspaceActions","to":"symbol-name:onRefresh","kind":"calls","metadata":{"unresolvedName":"onRefresh"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-actions.ts:useWorkspaceActions","to":"external:window.confirm","kind":"calls","metadata":{"unresolvedName":"window.confirm"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-actions.ts:useWorkspaceActions","to":"external:instances.map((i) => `- ${i.name}`).join","kind":"calls","metadata":{"unresolvedName":"instances.map((i) => `- ${i.name}`).join"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-actions.ts:useWorkspaceActions","to":"external:instances.map","kind":"calls","metadata":{"unresolvedName":"instances.map"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-actions.ts:useWorkspaceActions","to":"/workspace/apps/web/src/api/workspaces.ts:syncWorkspace","kind":"calls","metadata":{"unresolvedName":"syncWorkspace"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-actions.ts:useWorkspaceActions","to":"/workspace/apps/web/src/api/workspaces.ts:updateWorkspace","kind":"calls","metadata":{"unresolvedName":"updateWorkspace"}},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-actions.ts","to":"/workspace/apps/web/src/hooks/use-workspace-actions.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-actions.ts","to":"/workspace/apps/web/src/hooks/use-workspace-actions.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-workspace-actions.ts:<anonymous>","to":"/workspace/apps/web/src/api/workspaces.ts:createWorkspace","kind":"calls","metadata":{"unresolvedName":"createWorkspace"}},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-actions.ts","to":"/workspace/apps/web/src/hooks/use-workspace-actions.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-actions.ts","to":"/workspace/apps/web/src/hooks/use-workspace-actions.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-workspace-actions.ts:<anonymous>","to":"symbol-name:setLoadingId","kind":"calls","metadata":{"unresolvedName":"setLoadingId"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-actions.ts:<anonymous>","to":"/workspace/apps/web/src/api/workspaces.ts:deleteWorkspace","kind":"calls","metadata":{"unresolvedName":"deleteWorkspace"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-actions.ts:<anonymous>","to":"symbol-name:onRefresh","kind":"calls","metadata":{"unresolvedName":"onRefresh"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-actions.ts:<anonymous>","to":"external:window.confirm","kind":"calls","metadata":{"unresolvedName":"window.confirm"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-actions.ts:<anonymous>","to":"external:instances.map((i) => `- ${i.name}`).join","kind":"calls","metadata":{"unresolvedName":"instances.map((i) => `- ${i.name}`).join"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-actions.ts:<anonymous>","to":"external:instances.map","kind":"calls","metadata":{"unresolvedName":"instances.map"}},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-actions.ts","to":"/workspace/apps/web/src/hooks/use-workspace-actions.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-actions.ts","to":"/workspace/apps/web/src/hooks/use-workspace-actions.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-workspace-actions.ts:<anonymous>","to":"symbol-name:setLoadingId","kind":"calls","metadata":{"unresolvedName":"setLoadingId"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-actions.ts:<anonymous>","to":"/workspace/apps/web/src/api/workspaces.ts:syncWorkspace","kind":"calls","metadata":{"unresolvedName":"syncWorkspace"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-actions.ts:<anonymous>","to":"symbol-name:onRefresh","kind":"calls","metadata":{"unresolvedName":"onRefresh"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-actions.ts:<anonymous>","to":"external:window.confirm","kind":"calls","metadata":{"unresolvedName":"window.confirm"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-actions.ts:<anonymous>","to":"/workspace/apps/web/src/api/workspaces.ts:deleteWorkspace","kind":"calls","metadata":{"unresolvedName":"deleteWorkspace"}},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-actions.ts","to":"/workspace/apps/web/src/hooks/use-workspace-actions.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-actions.ts","to":"/workspace/apps/web/src/hooks/use-workspace-actions.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-workspace-actions.ts:<anonymous>","to":"/workspace/apps/web/src/api/workspaces.ts:updateWorkspace","kind":"calls","metadata":{"unresolvedName":"updateWorkspace"}},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-files.ts","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-files.ts","to":"file:/workspace/apps/web/src/api/workspace-files.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-files.ts","to":"/workspace/apps/web/src/hooks/use-workspace-files.ts:useWorkspaceFiles","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-files.ts","to":"/workspace/apps/web/src/hooks/use-workspace-files.ts:useWorkspaceFiles","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-workspace-files.ts:useWorkspaceFiles","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-files.ts:useWorkspaceFiles","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-files.ts:useWorkspaceFiles","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-files.ts:useWorkspaceFiles","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-files.ts:useWorkspaceFiles","to":"/workspace/apps/web/src/api/workspace-files.ts:listWorkspaceFiles","kind":"calls","metadata":{"unresolvedName":"listWorkspaceFiles"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-files.ts:useWorkspaceFiles","to":"symbol-name:setEntries","kind":"calls","metadata":{"unresolvedName":"setEntries"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-files.ts:useWorkspaceFiles","to":"/workspace/apps/web/src/api/workspace-files.ts:getWorkspaceFileContent","kind":"calls","metadata":{"unresolvedName":"getWorkspaceFileContent"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-files.ts:useWorkspaceFiles","to":"symbol-name:setContent","kind":"calls","metadata":{"unresolvedName":"setContent"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-files.ts:useWorkspaceFiles","to":"/workspace/apps/web/src/api/workspace-files.ts:saveWorkspaceFile","kind":"calls","metadata":{"unresolvedName":"saveWorkspaceFile"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-files.ts:useWorkspaceFiles","to":"symbol-name:refresh","kind":"calls","metadata":{"unresolvedName":"refresh"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-files.ts:useWorkspaceFiles","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-files.ts","to":"/workspace/apps/web/src/hooks/use-workspace-files.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-files.ts","to":"/workspace/apps/web/src/hooks/use-workspace-files.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-workspace-files.ts:<anonymous>","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-files.ts:<anonymous>","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-files.ts:<anonymous>","to":"/workspace/apps/web/src/api/workspace-files.ts:listWorkspaceFiles","kind":"calls","metadata":{"unresolvedName":"listWorkspaceFiles"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-files.ts:<anonymous>","to":"symbol-name:setEntries","kind":"calls","metadata":{"unresolvedName":"setEntries"}},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-files.ts","to":"/workspace/apps/web/src/hooks/use-workspace-files.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-files.ts","to":"/workspace/apps/web/src/hooks/use-workspace-files.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-workspace-files.ts:<anonymous>","to":"/workspace/apps/web/src/api/workspace-files.ts:getWorkspaceFileContent","kind":"calls","metadata":{"unresolvedName":"getWorkspaceFileContent"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-files.ts:<anonymous>","to":"symbol-name:setContent","kind":"calls","metadata":{"unresolvedName":"setContent"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-files.ts:<anonymous>","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-files.ts","to":"/workspace/apps/web/src/hooks/use-workspace-files.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-files.ts","to":"/workspace/apps/web/src/hooks/use-workspace-files.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-workspace-files.ts:<anonymous>","to":"/workspace/apps/web/src/api/workspace-files.ts:saveWorkspaceFile","kind":"calls","metadata":{"unresolvedName":"saveWorkspaceFile"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-files.ts:<anonymous>","to":"symbol-name:refresh","kind":"calls","metadata":{"unresolvedName":"refresh"}},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-files.ts","to":"/workspace/apps/web/src/hooks/use-workspace-files.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-files.ts","to":"/workspace/apps/web/src/hooks/use-workspace-files.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-workspace-files.ts:<anonymous>","to":"symbol-name:refresh","kind":"calls","metadata":{"unresolvedName":"refresh"}},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-git.ts","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-git.ts","to":"file:/workspace/apps/web/src/api/workspace-git.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-git.ts","to":"/workspace/apps/web/src/hooks/use-workspace-git.ts:useWorkspaceGit","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-git.ts","to":"/workspace/apps/web/src/hooks/use-workspace-git.ts:useWorkspaceGit","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:useWorkspaceGit","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:useWorkspaceGit","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:useWorkspaceGit","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:useWorkspaceGit","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:useWorkspaceGit","to":"external:Promise.all","kind":"calls","metadata":{"unresolvedName":"Promise.all"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:useWorkspaceGit","to":"/workspace/apps/web/src/api/workspace-git.ts:getGitStatus","kind":"calls","metadata":{"unresolvedName":"getGitStatus"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:useWorkspaceGit","to":"/workspace/apps/web/src/api/workspace-git.ts:getGitBranches","kind":"calls","metadata":{"unresolvedName":"getGitBranches"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:useWorkspaceGit","to":"/workspace/apps/web/src/api/workspace-git.ts:getGitHistory","kind":"calls","metadata":{"unresolvedName":"getGitHistory"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:useWorkspaceGit","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:useWorkspaceGit","to":"symbol-name:setBranches","kind":"calls","metadata":{"unresolvedName":"setBranches"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:useWorkspaceGit","to":"symbol-name:setCurrentBranch","kind":"calls","metadata":{"unresolvedName":"setCurrentBranch"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:useWorkspaceGit","to":"symbol-name:setHistory","kind":"calls","metadata":{"unresolvedName":"setHistory"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:useWorkspaceGit","to":"/workspace/apps/web/src/api/workspace-git.ts:gitCommit","kind":"calls","metadata":{"unresolvedName":"gitCommit"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:useWorkspaceGit","to":"symbol-name:refresh","kind":"calls","metadata":{"unresolvedName":"refresh"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:useWorkspaceGit","to":"/workspace/apps/web/src/api/workspace-git.ts:gitPush","kind":"calls","metadata":{"unresolvedName":"gitPush"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:useWorkspaceGit","to":"/workspace/apps/web/src/api/workspace-git.ts:gitPull","kind":"calls","metadata":{"unresolvedName":"gitPull"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:useWorkspaceGit","to":"/workspace/apps/web/src/api/workspace-git.ts:gitFetch","kind":"calls","metadata":{"unresolvedName":"gitFetch"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:useWorkspaceGit","to":"/workspace/apps/web/src/api/workspace-git.ts:gitCheckout","kind":"calls","metadata":{"unresolvedName":"gitCheckout"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:useWorkspaceGit","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-git.ts","to":"/workspace/apps/web/src/hooks/use-workspace-git.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-git.ts","to":"/workspace/apps/web/src/hooks/use-workspace-git.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:<anonymous>","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:<anonymous>","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:<anonymous>","to":"external:Promise.all","kind":"calls","metadata":{"unresolvedName":"Promise.all"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:<anonymous>","to":"/workspace/apps/web/src/api/workspace-git.ts:getGitStatus","kind":"calls","metadata":{"unresolvedName":"getGitStatus"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:<anonymous>","to":"/workspace/apps/web/src/api/workspace-git.ts:getGitBranches","kind":"calls","metadata":{"unresolvedName":"getGitBranches"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:<anonymous>","to":"/workspace/apps/web/src/api/workspace-git.ts:getGitHistory","kind":"calls","metadata":{"unresolvedName":"getGitHistory"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:<anonymous>","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:<anonymous>","to":"symbol-name:setBranches","kind":"calls","metadata":{"unresolvedName":"setBranches"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:<anonymous>","to":"symbol-name:setCurrentBranch","kind":"calls","metadata":{"unresolvedName":"setCurrentBranch"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:<anonymous>","to":"symbol-name:setHistory","kind":"calls","metadata":{"unresolvedName":"setHistory"}},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-git.ts","to":"/workspace/apps/web/src/hooks/use-workspace-git.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-git.ts","to":"/workspace/apps/web/src/hooks/use-workspace-git.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:<anonymous>","to":"/workspace/apps/web/src/api/workspace-git.ts:gitCommit","kind":"calls","metadata":{"unresolvedName":"gitCommit"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:<anonymous>","to":"symbol-name:refresh","kind":"calls","metadata":{"unresolvedName":"refresh"}},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-git.ts","to":"/workspace/apps/web/src/hooks/use-workspace-git.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-git.ts","to":"/workspace/apps/web/src/hooks/use-workspace-git.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:<anonymous>","to":"/workspace/apps/web/src/api/workspace-git.ts:gitPush","kind":"calls","metadata":{"unresolvedName":"gitPush"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:<anonymous>","to":"symbol-name:refresh","kind":"calls","metadata":{"unresolvedName":"refresh"}},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-git.ts","to":"/workspace/apps/web/src/hooks/use-workspace-git.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-git.ts","to":"/workspace/apps/web/src/hooks/use-workspace-git.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:<anonymous>","to":"/workspace/apps/web/src/api/workspace-git.ts:gitPull","kind":"calls","metadata":{"unresolvedName":"gitPull"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:<anonymous>","to":"symbol-name:refresh","kind":"calls","metadata":{"unresolvedName":"refresh"}},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-git.ts","to":"/workspace/apps/web/src/hooks/use-workspace-git.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-git.ts","to":"/workspace/apps/web/src/hooks/use-workspace-git.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:<anonymous>","to":"/workspace/apps/web/src/api/workspace-git.ts:gitFetch","kind":"calls","metadata":{"unresolvedName":"gitFetch"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:<anonymous>","to":"symbol-name:refresh","kind":"calls","metadata":{"unresolvedName":"refresh"}},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-git.ts","to":"/workspace/apps/web/src/hooks/use-workspace-git.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-git.ts","to":"/workspace/apps/web/src/hooks/use-workspace-git.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:<anonymous>","to":"/workspace/apps/web/src/api/workspace-git.ts:gitCheckout","kind":"calls","metadata":{"unresolvedName":"gitCheckout"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:<anonymous>","to":"symbol-name:refresh","kind":"calls","metadata":{"unresolvedName":"refresh"}},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-git.ts","to":"/workspace/apps/web/src/hooks/use-workspace-git.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-git.ts","to":"/workspace/apps/web/src/hooks/use-workspace-git.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-workspace-git.ts:<anonymous>","to":"symbol-name:refresh","kind":"calls","metadata":{"unresolvedName":"refresh"}},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-instances.ts","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-instances.ts","to":"file:/workspace/apps/web/src/api/workspace-instances.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-instances.ts","to":"file:/workspace/apps/web/src/api/sessions.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-instances.ts","to":"/workspace/apps/web/src/hooks/use-workspace-instances.ts:useWorkspaceInstances","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-instances.ts","to":"/workspace/apps/web/src/hooks/use-workspace-instances.ts:useWorkspaceInstances","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-workspace-instances.ts:useWorkspaceInstances","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-instances.ts:useWorkspaceInstances","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-instances.ts:useWorkspaceInstances","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-instances.ts:useWorkspaceInstances","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-instances.ts:useWorkspaceInstances","to":"/workspace/apps/web/src/api/workspace-instances.ts:listWorkspaceInstances","kind":"calls","metadata":{"unresolvedName":"listWorkspaceInstances"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-instances.ts:useWorkspaceInstances","to":"symbol-name:setInstances","kind":"calls","metadata":{"unresolvedName":"setInstances"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-instances.ts:useWorkspaceInstances","to":"/workspace/apps/web/src/api/workspace-instances.ts:createWorkspaceInstance","kind":"calls","metadata":{"unresolvedName":"createWorkspaceInstance"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-instances.ts:useWorkspaceInstances","to":"symbol-name:refresh","kind":"calls","metadata":{"unresolvedName":"refresh"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-instances.ts:useWorkspaceInstances","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-instances.ts","to":"/workspace/apps/web/src/hooks/use-workspace-instances.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-instances.ts","to":"/workspace/apps/web/src/hooks/use-workspace-instances.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-workspace-instances.ts:<anonymous>","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-instances.ts:<anonymous>","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-instances.ts:<anonymous>","to":"/workspace/apps/web/src/api/workspace-instances.ts:listWorkspaceInstances","kind":"calls","metadata":{"unresolvedName":"listWorkspaceInstances"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-instances.ts:<anonymous>","to":"symbol-name:setInstances","kind":"calls","metadata":{"unresolvedName":"setInstances"}},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-instances.ts","to":"/workspace/apps/web/src/hooks/use-workspace-instances.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-instances.ts","to":"/workspace/apps/web/src/hooks/use-workspace-instances.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-workspace-instances.ts:<anonymous>","to":"/workspace/apps/web/src/api/workspace-instances.ts:createWorkspaceInstance","kind":"calls","metadata":{"unresolvedName":"createWorkspaceInstance"}},{"from":"/workspace/apps/web/src/hooks/use-workspace-instances.ts:<anonymous>","to":"symbol-name:refresh","kind":"calls","metadata":{"unresolvedName":"refresh"}},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-instances.ts","to":"/workspace/apps/web/src/hooks/use-workspace-instances.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-workspace-instances.ts","to":"/workspace/apps/web/src/hooks/use-workspace-instances.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-workspace-instances.ts:<anonymous>","to":"symbol-name:refresh","kind":"calls","metadata":{"unresolvedName":"refresh"}},{"from":"file:/workspace/apps/web/src/hooks/use-workspaces.ts","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-workspaces.ts","to":"file:/workspace/apps/web/src/api/workspaces.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-workspaces.ts","to":"file:/workspace/apps/web/src/types/workspace.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/hooks/use-workspaces.ts","to":"/workspace/apps/web/src/hooks/use-workspaces.ts:useWorkspaces","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-workspaces.ts","to":"/workspace/apps/web/src/hooks/use-workspaces.ts:useWorkspaces","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-workspaces.ts:useWorkspaces","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/hooks/use-workspaces.ts:useWorkspaces","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/hooks/use-workspaces.ts:useWorkspaces","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/workspace/apps/web/src/hooks/use-workspaces.ts:useWorkspaces","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/hooks/use-workspaces.ts:useWorkspaces","to":"/workspace/apps/web/src/api/workspaces.ts:listWorkspaces","kind":"calls","metadata":{"unresolvedName":"listWorkspaces"}},{"from":"/workspace/apps/web/src/hooks/use-workspaces.ts:useWorkspaces","to":"/workspace/apps/web/src/api/workspaces.ts:listAllWorkspaces","kind":"calls","metadata":{"unresolvedName":"listAllWorkspaces"}},{"from":"/workspace/apps/web/src/hooks/use-workspaces.ts:useWorkspaces","to":"symbol-name:setWorkspaces","kind":"calls","metadata":{"unresolvedName":"setWorkspaces"}},{"from":"/workspace/apps/web/src/hooks/use-workspaces.ts:useWorkspaces","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/hooks/use-workspaces.ts:useWorkspaces","to":"symbol-name:refresh","kind":"calls","metadata":{"unresolvedName":"refresh"}},{"from":"file:/workspace/apps/web/src/hooks/use-workspaces.ts","to":"/workspace/apps/web/src/hooks/use-workspaces.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-workspaces.ts","to":"/workspace/apps/web/src/hooks/use-workspaces.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-workspaces.ts:<anonymous>","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/workspace/apps/web/src/hooks/use-workspaces.ts:<anonymous>","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/hooks/use-workspaces.ts:<anonymous>","to":"/workspace/apps/web/src/api/workspaces.ts:listWorkspaces","kind":"calls","metadata":{"unresolvedName":"listWorkspaces"}},{"from":"/workspace/apps/web/src/hooks/use-workspaces.ts:<anonymous>","to":"/workspace/apps/web/src/api/workspaces.ts:listAllWorkspaces","kind":"calls","metadata":{"unresolvedName":"listAllWorkspaces"}},{"from":"/workspace/apps/web/src/hooks/use-workspaces.ts:<anonymous>","to":"symbol-name:setWorkspaces","kind":"calls","metadata":{"unresolvedName":"setWorkspaces"}},{"from":"file:/workspace/apps/web/src/hooks/use-workspaces.ts","to":"/workspace/apps/web/src/hooks/use-workspaces.ts:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/hooks/use-workspaces.ts","to":"/workspace/apps/web/src/hooks/use-workspaces.ts:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/hooks/use-workspaces.ts:<anonymous>","to":"symbol-name:refresh","kind":"calls","metadata":{"unresolvedName":"refresh"}},{"from":"file:/workspace/apps/web/src/main.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/main.tsx","to":"external:react-dom/client","kind":"imports"},{"from":"file:/workspace/apps/web/src/main.tsx","to":"external:react-router-dom","kind":"imports"},{"from":"file:/workspace/apps/web/src/main.tsx","to":"file:/workspace/apps/web/src/router.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/main.tsx","to":"file:/workspace/apps/web/src/state/auth.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/main.tsx","to":"file:/workspace/apps/web/src/state/sessions.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/main.tsx","to":"file:/workspace/apps/web/src/styles/tokens.css","kind":"imports"},{"from":"file:/workspace/apps/web/src/main.tsx","to":"file:/workspace/apps/web/src/styles/global.css","kind":"imports"},{"from":"file:/workspace/apps/web/src/main.tsx","to":"file:/workspace/apps/web/src/styles/utilities.css","kind":"imports"},{"from":"file:/workspace/apps/web/src/main.tsx","to":"file:/workspace/apps/web/src/styles/syntax-highlight.css","kind":"imports"},{"from":"file:/workspace/apps/web/src/main.tsx","to":"file:/workspace/apps/web/src/styles/pages/sessions.css","kind":"imports"},{"from":"file:/workspace/apps/web/src/main.tsx","to":"file:/workspace/apps/web/src/styles/pages/repo-workspace.css","kind":"imports"},{"from":"file:/workspace/apps/web/src/main.tsx","to":"file:/workspace/apps/web/src/styles/pages/dashboard.css","kind":"imports"},{"from":"file:/workspace/apps/web/src/main.tsx","to":"file:/workspace/apps/web/src/styles/pages/projects.css","kind":"imports"},{"from":"file:/workspace/apps/web/src/main.tsx","to":"file:/workspace/apps/web/src/styles/pages/git-history.css","kind":"imports"},{"from":"file:/workspace/apps/web/src/main.tsx","to":"file:/workspace/apps/web/src/styles/pages/ssh-keys.css","kind":"imports"},{"from":"file:/workspace/apps/web/src/main.tsx","to":"file:/workspace/apps/web/src/styles/pages/settings.css","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/DashboardPage.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/DashboardPage.test.tsx","to":"external:react-router-dom","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/DashboardPage.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/DashboardPage.test.tsx","to":"file:/workspace/apps/web/src/pages/DashboardPage.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/DashboardPage.test.tsx","to":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/DashboardPage.test.tsx","to":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"symbol-name:beforeEach","kind":"calls","metadata":{"unresolvedName":"beforeEach"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:mockDashboard.mockReset","kind":"calls","metadata":{"unresolvedName":"mockDashboard.mockReset"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:mockSessions.mockReset","kind":"calls","metadata":{"unresolvedName":"mockSessions.mockReset"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:mockProjects.mockReset","kind":"calls","metadata":{"unresolvedName":"mockProjects.mockReset"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:mockRepos.mockReset","kind":"calls","metadata":{"unresolvedName":"mockRepos.mockReset"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:mockDashboard.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockDashboard.mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:mockSessions.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSessions.mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:mockProjects.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockProjects.mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:mockRepos.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockRepos.mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Loading overview...\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Loading overview...\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:expect(screen.getAllByText(\"Open sessions\").length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(screen.getAllByText(\"Open sessions\").length).toBeGreaterThan"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:screen.getAllByText","kind":"calls","metadata":{"unresolvedName":"screen.getAllByText"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Available projects\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Available projects\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:mockDashboard.mockRejectedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockDashboard.mockRejectedValueOnce"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:mockSessions.mockRejectedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockSessions.mockRejectedValueOnce"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:mockProjects.mockRejectedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockProjects.mockRejectedValueOnce"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:screen.getAllByRole","kind":"calls","metadata":{"unresolvedName":"screen.getAllByRole"}},{"from":"file:/workspace/apps/web/src/pages/DashboardPage.test.tsx","to":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/DashboardPage.test.tsx","to":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:mockDashboard.mockReset","kind":"calls","metadata":{"unresolvedName":"mockDashboard.mockReset"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:mockSessions.mockReset","kind":"calls","metadata":{"unresolvedName":"mockSessions.mockReset"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:mockProjects.mockReset","kind":"calls","metadata":{"unresolvedName":"mockProjects.mockReset"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:mockRepos.mockReset","kind":"calls","metadata":{"unresolvedName":"mockRepos.mockReset"}},{"from":"file:/workspace/apps/web/src/pages/DashboardPage.test.tsx","to":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/DashboardPage.test.tsx","to":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:mockDashboard.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockDashboard.mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:mockSessions.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockSessions.mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:mockProjects.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockProjects.mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:mockRepos.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"mockRepos.mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Loading overview...\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Loading overview...\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:expect(screen.getAllByText(\"Open sessions\").length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(screen.getAllByText(\"Open sessions\").length).toBeGreaterThan"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:screen.getAllByText","kind":"calls","metadata":{"unresolvedName":"screen.getAllByText"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Available projects\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Available projects\")).toBeInTheDocument"}},{"from":"file:/workspace/apps/web/src/pages/DashboardPage.test.tsx","to":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/DashboardPage.test.tsx","to":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:expect(screen.getAllByText(\"Open sessions\").length).toBeGreaterThan","kind":"calls","metadata":{"unresolvedName":"expect(screen.getAllByText(\"Open sessions\").length).toBeGreaterThan"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:screen.getAllByText","kind":"calls","metadata":{"unresolvedName":"screen.getAllByText"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Available projects\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Available projects\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/pages/DashboardPage.test.tsx","to":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/DashboardPage.test.tsx","to":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:mockDashboard.mockRejectedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockDashboard.mockRejectedValueOnce"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:mockSessions.mockRejectedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockSessions.mockRejectedValueOnce"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:mockProjects.mockRejectedValueOnce","kind":"calls","metadata":{"unresolvedName":"mockProjects.mockRejectedValueOnce"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:screen.getAllByRole","kind":"calls","metadata":{"unresolvedName":"screen.getAllByRole"}},{"from":"file:/workspace/apps/web/src/pages/DashboardPage.test.tsx","to":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/DashboardPage.test.tsx","to":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/pages/DashboardPage.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/DashboardPage.tsx","to":"external:react-router-dom","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/DashboardPage.tsx","to":"file:/workspace/apps/web/src/api/dashboard.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/DashboardPage.tsx","to":"file:/workspace/apps/web/src/api/sessions.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/DashboardPage.tsx","to":"file:/workspace/apps/web/src/api/projects.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/DashboardPage.tsx","to":"file:/workspace/apps/web/src/api/tool-types.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/DashboardPage.tsx","to":"file:/workspace/apps/web/src/types/session.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/DashboardPage.tsx","to":"file:/workspace/apps/web/src/types/project.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/DashboardPage.tsx","to":"file:/workspace/apps/web/src/types/tool-type.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/DashboardPage.tsx","to":"file:/workspace/apps/web/src/components/features/dashboard","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/DashboardPage.tsx","to":"file:/workspace/apps/web/src/components/ui","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/DashboardPage.tsx","to":"file:/workspace/apps/web/src/hooks/use-dashboard-actions.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/DashboardPage.tsx","to":"file:/workspace/apps/web/src/api/git-repositories.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/DashboardPage.tsx","to":"file:/workspace/apps/web/src/types/git-repository.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/DashboardPage.tsx","to":"/workspace/apps/web/src/pages/DashboardPage.tsx:HomePage","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/DashboardPage.tsx","to":"/workspace/apps/web/src/pages/DashboardPage.tsx:HomePage","kind":"defines"},{"from":"/workspace/apps/web/src/pages/DashboardPage.tsx:HomePage","to":"symbol-name:useNavigate","kind":"calls","metadata":{"unresolvedName":"useNavigate"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.tsx:HomePage","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.tsx:HomePage","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.tsx:HomePage","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.tsx:HomePage","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.tsx:HomePage","to":"external:Promise.all","kind":"calls","metadata":{"unresolvedName":"Promise.all"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.tsx:HomePage","to":"/workspace/apps/web/src/api/dashboard.ts:getDashboardSummary","kind":"calls","metadata":{"unresolvedName":"getDashboardSummary"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.tsx:HomePage","to":"/workspace/apps/web/src/api/projects.ts:listProjects","kind":"calls","metadata":{"unresolvedName":"listProjects"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.tsx:HomePage","to":"/workspace/apps/web/src/api/tool-types.ts:listToolTypes","kind":"calls","metadata":{"unresolvedName":"listToolTypes"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.tsx:HomePage","to":"symbol-name:setSummary","kind":"calls","metadata":{"unresolvedName":"setSummary"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.tsx:HomePage","to":"symbol-name:setSessions","kind":"calls","metadata":{"unresolvedName":"setSessions"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.tsx:HomePage","to":"symbol-name:setProjects","kind":"calls","metadata":{"unresolvedName":"setProjects"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.tsx:HomePage","to":"symbol-name:setToolTypes","kind":"calls","metadata":{"unresolvedName":"setToolTypes"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.tsx:HomePage","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.tsx:HomePage","to":"symbol-name:loadHome","kind":"calls","metadata":{"unresolvedName":"loadHome"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.tsx:HomePage","to":"symbol-name:setRepositories","kind":"calls","metadata":{"unresolvedName":"setRepositories"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.tsx:HomePage","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.tsx:HomePage","to":"external:safeSessions.filter","kind":"calls","metadata":{"unresolvedName":"safeSessions.filter"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.tsx:HomePage","to":"external:[\"running\", \"building\", \"pending\"].includes","kind":"calls","metadata":{"unresolvedName":"[\"running\", \"building\", \"pending\"].includes"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.tsx:HomePage","to":"external:safeSessions\n\t\t\t\t.filter","kind":"calls","metadata":{"unresolvedName":"safeSessions\n\t\t\t\t.filter"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.tsx:HomePage","to":"external:[\"stopped\", \"error\"].includes","kind":"calls","metadata":{"unresolvedName":"[\"stopped\", \"error\"].includes"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.tsx:HomePage","to":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:useDashboardActions","kind":"calls","metadata":{"unresolvedName":"useDashboardActions"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.tsx:HomePage","to":"symbol-name:navigate","kind":"calls","metadata":{"unresolvedName":"navigate"}},{"from":"file:/workspace/apps/web/src/pages/DashboardPage.tsx","to":"/workspace/apps/web/src/pages/DashboardPage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/DashboardPage.tsx","to":"/workspace/apps/web/src/pages/DashboardPage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/DashboardPage.tsx:<anonymous>","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.tsx:<anonymous>","to":"external:Promise.all","kind":"calls","metadata":{"unresolvedName":"Promise.all"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.tsx:<anonymous>","to":"/workspace/apps/web/src/api/dashboard.ts:getDashboardSummary","kind":"calls","metadata":{"unresolvedName":"getDashboardSummary"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.tsx:<anonymous>","to":"/workspace/apps/web/src/api/projects.ts:listProjects","kind":"calls","metadata":{"unresolvedName":"listProjects"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.tsx:<anonymous>","to":"/workspace/apps/web/src/api/tool-types.ts:listToolTypes","kind":"calls","metadata":{"unresolvedName":"listToolTypes"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.tsx:<anonymous>","to":"symbol-name:setSummary","kind":"calls","metadata":{"unresolvedName":"setSummary"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.tsx:<anonymous>","to":"symbol-name:setSessions","kind":"calls","metadata":{"unresolvedName":"setSessions"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.tsx:<anonymous>","to":"symbol-name:setProjects","kind":"calls","metadata":{"unresolvedName":"setProjects"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.tsx:<anonymous>","to":"symbol-name:setToolTypes","kind":"calls","metadata":{"unresolvedName":"setToolTypes"}},{"from":"file:/workspace/apps/web/src/pages/DashboardPage.tsx","to":"/workspace/apps/web/src/pages/DashboardPage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/DashboardPage.tsx","to":"/workspace/apps/web/src/pages/DashboardPage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/DashboardPage.tsx:<anonymous>","to":"symbol-name:loadHome","kind":"calls","metadata":{"unresolvedName":"loadHome"}},{"from":"file:/workspace/apps/web/src/pages/DashboardPage.tsx","to":"/workspace/apps/web/src/pages/DashboardPage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/DashboardPage.tsx","to":"/workspace/apps/web/src/pages/DashboardPage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/DashboardPage.tsx:<anonymous>","to":"symbol-name:setRepositories","kind":"calls","metadata":{"unresolvedName":"setRepositories"}},{"from":"file:/workspace/apps/web/src/pages/GitHistoryPage.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/GitHistoryPage.tsx","to":"external:react-router-dom","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/GitHistoryPage.tsx","to":"file:/workspace/apps/web/src/api/git-repositories.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/GitHistoryPage.tsx","to":"file:/workspace/apps/web/src/components/ui/Icon.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/GitHistoryPage.tsx","to":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:GitHistoryPage","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/GitHistoryPage.tsx","to":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:GitHistoryPage","kind":"defines"},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:GitHistoryPage","to":"symbol-name:useParams","kind":"calls","metadata":{"unresolvedName":"useParams"}},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:GitHistoryPage","to":"symbol-name:useNavigate","kind":"calls","metadata":{"unresolvedName":"useNavigate"}},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:GitHistoryPage","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:GitHistoryPage","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:GitHistoryPage","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:GitHistoryPage","to":"symbol-name:setCommits","kind":"calls","metadata":{"unresolvedName":"setCommits"}},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:GitHistoryPage","to":"symbol-name:setBranches","kind":"calls","metadata":{"unresolvedName":"setBranches"}},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:GitHistoryPage","to":"symbol-name:setSelectedBranch","kind":"calls","metadata":{"unresolvedName":"setSelectedBranch"}},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:GitHistoryPage","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:GitHistoryPage","to":"symbol-name:loadHistory","kind":"calls","metadata":{"unresolvedName":"loadHistory"}},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:GitHistoryPage","to":"symbol-name:setSelectedCommit","kind":"calls","metadata":{"unresolvedName":"setSelectedCommit"}},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:GitHistoryPage","to":"symbol-name:setDetailStatus","kind":"calls","metadata":{"unresolvedName":"setDetailStatus"}},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:GitHistoryPage","to":"symbol-name:setCommitDetail","kind":"calls","metadata":{"unresolvedName":"setCommitDetail"}},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:GitHistoryPage","to":"external:new Date(dateStr).toLocaleString","kind":"calls","metadata":{"unresolvedName":"new Date(dateStr).toLocaleString"}},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:GitHistoryPage","to":"external:branches.map","kind":"calls","metadata":{"unresolvedName":"branches.map"}},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:GitHistoryPage","to":"symbol-name:navigate","kind":"calls","metadata":{"unresolvedName":"navigate"}},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:GitHistoryPage","to":"external:commits.map","kind":"calls","metadata":{"unresolvedName":"commits.map"}},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:GitHistoryPage","to":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:handleCommitClick","kind":"calls","metadata":{"unresolvedName":"handleCommitClick"}},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:GitHistoryPage","to":"external:commit.refs.map","kind":"calls","metadata":{"unresolvedName":"commit.refs.map"}},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:GitHistoryPage","to":"external:commit.message.split","kind":"calls","metadata":{"unresolvedName":"commit.message.split"}},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:GitHistoryPage","to":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:formatDate","kind":"calls","metadata":{"unresolvedName":"formatDate"}},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:GitHistoryPage","to":"external:commitDetail.parents.map","kind":"calls","metadata":{"unresolvedName":"commitDetail.parents.map"}},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:GitHistoryPage","to":"external:parent.substring","kind":"calls","metadata":{"unresolvedName":"parent.substring"}},{"from":"file:/workspace/apps/web/src/pages/GitHistoryPage.tsx","to":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/GitHistoryPage.tsx","to":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:<anonymous>","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:<anonymous>","to":"symbol-name:setCommits","kind":"calls","metadata":{"unresolvedName":"setCommits"}},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:<anonymous>","to":"symbol-name:setBranches","kind":"calls","metadata":{"unresolvedName":"setBranches"}},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:<anonymous>","to":"symbol-name:setSelectedBranch","kind":"calls","metadata":{"unresolvedName":"setSelectedBranch"}},{"from":"file:/workspace/apps/web/src/pages/GitHistoryPage.tsx","to":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/GitHistoryPage.tsx","to":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:<anonymous>","to":"symbol-name:loadHistory","kind":"calls","metadata":{"unresolvedName":"loadHistory"}},{"from":"file:/workspace/apps/web/src/pages/GitHistoryPage.tsx","to":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:handleCommitClick","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/GitHistoryPage.tsx","to":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:handleCommitClick","kind":"defines"},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:handleCommitClick","to":"symbol-name:setSelectedCommit","kind":"calls","metadata":{"unresolvedName":"setSelectedCommit"}},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:handleCommitClick","to":"symbol-name:setDetailStatus","kind":"calls","metadata":{"unresolvedName":"setDetailStatus"}},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:handleCommitClick","to":"symbol-name:setCommitDetail","kind":"calls","metadata":{"unresolvedName":"setCommitDetail"}},{"from":"file:/workspace/apps/web/src/pages/GitHistoryPage.tsx","to":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:handleCloseDetail","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/GitHistoryPage.tsx","to":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:handleCloseDetail","kind":"defines"},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:handleCloseDetail","to":"symbol-name:setSelectedCommit","kind":"calls","metadata":{"unresolvedName":"setSelectedCommit"}},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:handleCloseDetail","to":"symbol-name:setCommitDetail","kind":"calls","metadata":{"unresolvedName":"setCommitDetail"}},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:handleCloseDetail","to":"symbol-name:setDetailStatus","kind":"calls","metadata":{"unresolvedName":"setDetailStatus"}},{"from":"file:/workspace/apps/web/src/pages/GitHistoryPage.tsx","to":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:formatDate","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/GitHistoryPage.tsx","to":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:formatDate","kind":"defines"},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:formatDate","to":"external:new Date(dateStr).toLocaleString","kind":"calls","metadata":{"unresolvedName":"new Date(dateStr).toLocaleString"}},{"from":"file:/workspace/apps/web/src/pages/GitHistoryPage.tsx","to":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/GitHistoryPage.tsx","to":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:<anonymous>","to":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:handleCommitClick","kind":"calls","metadata":{"unresolvedName":"handleCommitClick"}},{"from":"file:/workspace/apps/web/src/pages/GitRepositoriesPage.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/GitRepositoriesPage.tsx","to":"external:react-router-dom","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/GitRepositoriesPage.tsx","to":"file:/workspace/apps/web/src/types/git-repository.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/GitRepositoriesPage.tsx","to":"file:/workspace/apps/web/src/api/git-repositories.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/GitRepositoriesPage.tsx","to":"file:/workspace/apps/web/src/components/ui/Icon.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/GitRepositoriesPage.tsx","to":"file:/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/GitRepositoriesPage.tsx","to":"/workspace/apps/web/src/pages/GitRepositoriesPage.tsx:GitRepositoriesPage","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/GitRepositoriesPage.tsx","to":"/workspace/apps/web/src/pages/GitRepositoriesPage.tsx:GitRepositoriesPage","kind":"defines"},{"from":"/workspace/apps/web/src/pages/GitRepositoriesPage.tsx:GitRepositoriesPage","to":"symbol-name:useParams","kind":"calls","metadata":{"unresolvedName":"useParams"}},{"from":"/workspace/apps/web/src/pages/GitRepositoriesPage.tsx:GitRepositoriesPage","to":"symbol-name:useNavigate","kind":"calls","metadata":{"unresolvedName":"useNavigate"}},{"from":"/workspace/apps/web/src/pages/GitRepositoriesPage.tsx:GitRepositoriesPage","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/pages/GitRepositoriesPage.tsx:GitRepositoriesPage","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/pages/GitRepositoriesPage.tsx:GitRepositoriesPage","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"/workspace/apps/web/src/pages/GitRepositoriesPage.tsx:GitRepositoriesPage","to":"symbol-name:setRepositories","kind":"calls","metadata":{"unresolvedName":"setRepositories"}},{"from":"/workspace/apps/web/src/pages/GitRepositoriesPage.tsx:GitRepositoriesPage","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/pages/GitRepositoriesPage.tsx:GitRepositoriesPage","to":"symbol-name:loadRepositories","kind":"calls","metadata":{"unresolvedName":"loadRepositories"}},{"from":"/workspace/apps/web/src/pages/GitRepositoriesPage.tsx:GitRepositoriesPage","to":"symbol-name:setDeleteConfirmId","kind":"calls","metadata":{"unresolvedName":"setDeleteConfirmId"}},{"from":"/workspace/apps/web/src/pages/GitRepositoriesPage.tsx:GitRepositoriesPage","to":"symbol-name:setShowCreate","kind":"calls","metadata":{"unresolvedName":"setShowCreate"}},{"from":"/workspace/apps/web/src/pages/GitRepositoriesPage.tsx:GitRepositoriesPage","to":"external:repositories.map","kind":"calls","metadata":{"unresolvedName":"repositories.map"}},{"from":"/workspace/apps/web/src/pages/GitRepositoriesPage.tsx:GitRepositoriesPage","to":"symbol-name:navigate","kind":"calls","metadata":{"unresolvedName":"navigate"}},{"from":"/workspace/apps/web/src/pages/GitRepositoriesPage.tsx:GitRepositoriesPage","to":"symbol-name:handleDelete","kind":"calls","metadata":{"unresolvedName":"handleDelete"}},{"from":"file:/workspace/apps/web/src/pages/GitRepositoriesPage.tsx","to":"/workspace/apps/web/src/pages/GitRepositoriesPage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/GitRepositoriesPage.tsx","to":"/workspace/apps/web/src/pages/GitRepositoriesPage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/GitRepositoriesPage.tsx:<anonymous>","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"/workspace/apps/web/src/pages/GitRepositoriesPage.tsx:<anonymous>","to":"symbol-name:setRepositories","kind":"calls","metadata":{"unresolvedName":"setRepositories"}},{"from":"file:/workspace/apps/web/src/pages/GitRepositoriesPage.tsx","to":"/workspace/apps/web/src/pages/GitRepositoriesPage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/GitRepositoriesPage.tsx","to":"/workspace/apps/web/src/pages/GitRepositoriesPage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/GitRepositoriesPage.tsx:<anonymous>","to":"symbol-name:loadRepositories","kind":"calls","metadata":{"unresolvedName":"loadRepositories"}},{"from":"file:/workspace/apps/web/src/pages/GitRepositoriesPage.tsx","to":"/workspace/apps/web/src/pages/GitRepositoriesPage.tsx:handleDelete","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/GitRepositoriesPage.tsx","to":"/workspace/apps/web/src/pages/GitRepositoriesPage.tsx:handleDelete","kind":"defines"},{"from":"/workspace/apps/web/src/pages/GitRepositoriesPage.tsx:handleDelete","to":"symbol-name:setDeleteConfirmId","kind":"calls","metadata":{"unresolvedName":"setDeleteConfirmId"}},{"from":"/workspace/apps/web/src/pages/GitRepositoriesPage.tsx:handleDelete","to":"symbol-name:loadRepositories","kind":"calls","metadata":{"unresolvedName":"loadRepositories"}},{"from":"file:/workspace/apps/web/src/pages/PlaceholderPage.tsx","to":"file:/workspace/apps/web/src/components/ui/Icon.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/PlaceholderPage.tsx","to":"/workspace/apps/web/src/pages/PlaceholderPage.tsx:PlaceholderPage","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/PlaceholderPage.tsx","to":"/workspace/apps/web/src/pages/PlaceholderPage.tsx:PlaceholderPage","kind":"defines"},{"from":"file:/workspace/apps/web/src/pages/PlaceholderPage.tsx","to":"/workspace/apps/web/src/pages/PlaceholderPage.tsx:NotFoundPage","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/PlaceholderPage.tsx","to":"/workspace/apps/web/src/pages/PlaceholderPage.tsx:NotFoundPage","kind":"defines"},{"from":"file:/workspace/apps/web/src/pages/PlaceholderPage.tsx","to":"/workspace/apps/web/src/pages/PlaceholderPage.tsx:LoginRedirectPage","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/PlaceholderPage.tsx","to":"/workspace/apps/web/src/pages/PlaceholderPage.tsx:LoginRedirectPage","kind":"defines"},{"from":"/workspace/apps/web/src/pages/PlaceholderPage.tsx:LoginRedirectPage","to":"external:new URLSearchParams(window.location.search).get","kind":"calls","metadata":{"unresolvedName":"new URLSearchParams(window.location.search).get"}},{"from":"/workspace/apps/web/src/pages/PlaceholderPage.tsx:LoginRedirectPage","to":"symbol-name:encodeURIComponent","kind":"calls","metadata":{"unresolvedName":"encodeURIComponent"}},{"from":"file:/workspace/apps/web/src/pages/ProfilePage.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ProfilePage.tsx","to":"file:/workspace/apps/web/src/api/profile.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ProfilePage.tsx","to":"file:/workspace/apps/web/src/components/ui/Icon.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ProfilePage.tsx","to":"file:/workspace/apps/web/src/state/auth.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ProfilePage.tsx","to":"file:/workspace/apps/web/src/api/profile.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ProfilePage.tsx","to":"/workspace/apps/web/src/pages/ProfilePage.tsx:ProfilePage","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProfilePage.tsx","to":"/workspace/apps/web/src/pages/ProfilePage.tsx:ProfilePage","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:ProfilePage","to":"/workspace/apps/web/src/state/auth.tsx:useAuth","kind":"calls","metadata":{"unresolvedName":"useAuth"}},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:ProfilePage","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:ProfilePage","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:ProfilePage","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:ProfilePage","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:ProfilePage","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:ProfilePage","to":"/workspace/apps/web/src/api/profile.ts:getProfile","kind":"calls","metadata":{"unresolvedName":"getProfile"}},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:ProfilePage","to":"symbol-name:setProfile","kind":"calls","metadata":{"unresolvedName":"setProfile"}},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:ProfilePage","to":"symbol-name:setName","kind":"calls","metadata":{"unresolvedName":"setName"}},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:ProfilePage","to":"symbol-name:setEmail","kind":"calls","metadata":{"unresolvedName":"setEmail"}},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:ProfilePage","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:ProfilePage","to":"symbol-name:loadProfile","kind":"calls","metadata":{"unresolvedName":"loadProfile"}},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:ProfilePage","to":"external:name.trim","kind":"calls","metadata":{"unresolvedName":"name.trim"}},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:ProfilePage","to":"external:email.includes","kind":"calls","metadata":{"unresolvedName":"email.includes"}},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:ProfilePage","to":"/workspace/apps/web/src/api/profile.ts:updateProfile","kind":"calls","metadata":{"unresolvedName":"updateProfile"}},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:ProfilePage","to":"external:email.trim","kind":"calls","metadata":{"unresolvedName":"email.trim"}},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:ProfilePage","to":"symbol-name:refreshSession","kind":"calls","metadata":{"unresolvedName":"refreshSession"}},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:ProfilePage","to":"external:file.type.startsWith","kind":"calls","metadata":{"unresolvedName":"file.type.startsWith"}},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:ProfilePage","to":"/workspace/apps/web/src/api/profile.ts:uploadAvatar","kind":"calls","metadata":{"unresolvedName":"uploadAvatar"}},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:ProfilePage","to":"external:profile.name.charAt(0).toUpperCase","kind":"calls","metadata":{"unresolvedName":"profile.name.charAt(0).toUpperCase"}},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:ProfilePage","to":"external:profile.name.charAt","kind":"calls","metadata":{"unresolvedName":"profile.name.charAt"}},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:ProfilePage","to":"external:fileInputRef.current?.click","kind":"calls","metadata":{"unresolvedName":"fileInputRef.current?.click"}},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:ProfilePage","to":"symbol-name:handleSave","kind":"calls","metadata":{"unresolvedName":"handleSave"}},{"from":"file:/workspace/apps/web/src/pages/ProfilePage.tsx","to":"/workspace/apps/web/src/pages/ProfilePage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProfilePage.tsx","to":"/workspace/apps/web/src/pages/ProfilePage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:<anonymous>","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:<anonymous>","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:<anonymous>","to":"/workspace/apps/web/src/api/profile.ts:getProfile","kind":"calls","metadata":{"unresolvedName":"getProfile"}},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:<anonymous>","to":"symbol-name:setProfile","kind":"calls","metadata":{"unresolvedName":"setProfile"}},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:<anonymous>","to":"symbol-name:setName","kind":"calls","metadata":{"unresolvedName":"setName"}},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:<anonymous>","to":"symbol-name:setEmail","kind":"calls","metadata":{"unresolvedName":"setEmail"}},{"from":"file:/workspace/apps/web/src/pages/ProfilePage.tsx","to":"/workspace/apps/web/src/pages/ProfilePage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProfilePage.tsx","to":"/workspace/apps/web/src/pages/ProfilePage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:<anonymous>","to":"symbol-name:loadProfile","kind":"calls","metadata":{"unresolvedName":"loadProfile"}},{"from":"file:/workspace/apps/web/src/pages/ProfilePage.tsx","to":"/workspace/apps/web/src/pages/ProfilePage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProfilePage.tsx","to":"/workspace/apps/web/src/pages/ProfilePage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:<anonymous>","to":"external:name.trim","kind":"calls","metadata":{"unresolvedName":"name.trim"}},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:<anonymous>","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:<anonymous>","to":"external:email.includes","kind":"calls","metadata":{"unresolvedName":"email.includes"}},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:<anonymous>","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:<anonymous>","to":"/workspace/apps/web/src/api/profile.ts:updateProfile","kind":"calls","metadata":{"unresolvedName":"updateProfile"}},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:<anonymous>","to":"external:email.trim","kind":"calls","metadata":{"unresolvedName":"email.trim"}},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:<anonymous>","to":"symbol-name:setProfile","kind":"calls","metadata":{"unresolvedName":"setProfile"}},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:<anonymous>","to":"symbol-name:refreshSession","kind":"calls","metadata":{"unresolvedName":"refreshSession"}},{"from":"file:/workspace/apps/web/src/pages/ProfilePage.tsx","to":"/workspace/apps/web/src/pages/ProfilePage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProfilePage.tsx","to":"/workspace/apps/web/src/pages/ProfilePage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:<anonymous>","to":"external:file.type.startsWith","kind":"calls","metadata":{"unresolvedName":"file.type.startsWith"}},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:<anonymous>","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:<anonymous>","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:<anonymous>","to":"/workspace/apps/web/src/api/profile.ts:uploadAvatar","kind":"calls","metadata":{"unresolvedName":"uploadAvatar"}},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:<anonymous>","to":"symbol-name:setProfile","kind":"calls","metadata":{"unresolvedName":"setProfile"}},{"from":"/workspace/apps/web/src/pages/ProfilePage.tsx:<anonymous>","to":"symbol-name:refreshSession","kind":"calls","metadata":{"unresolvedName":"refreshSession"}},{"from":"file:/workspace/apps/web/src/pages/ProjectSettingsPage.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ProjectSettingsPage.tsx","to":"external:react-router-dom","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ProjectSettingsPage.tsx","to":"file:/workspace/apps/web/src/components/features/settings/SettingsTabLayout.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ProjectSettingsPage.tsx","to":"file:/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ProjectSettingsPage.tsx","to":"file:/workspace/apps/web/src/api/client.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ProjectSettingsPage.tsx","to":"file:/workspace/apps/web/src/types","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ProjectSettingsPage.tsx","to":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:GeneralSettings","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProjectSettingsPage.tsx","to":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:GeneralSettings","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:GeneralSettings","to":"symbol-name:useNavigate","kind":"calls","metadata":{"unresolvedName":"useNavigate"}},{"from":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:GeneralSettings","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:GeneralSettings","to":"symbol-name:setSaving","kind":"calls","metadata":{"unresolvedName":"setSaving"}},{"from":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:GeneralSettings","to":"external:apiClient.patch","kind":"calls","metadata":{"unresolvedName":"apiClient.patch"}},{"from":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:GeneralSettings","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:GeneralSettings","to":"external:window.confirm","kind":"calls","metadata":{"unresolvedName":"window.confirm"}},{"from":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:GeneralSettings","to":"external:apiClient.delete","kind":"calls","metadata":{"unresolvedName":"apiClient.delete"}},{"from":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:GeneralSettings","to":"symbol-name:navigate","kind":"calls","metadata":{"unresolvedName":"navigate"}},{"from":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:GeneralSettings","to":"symbol-name:setName","kind":"calls","metadata":{"unresolvedName":"setName"}},{"from":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:GeneralSettings","to":"symbol-name:setDescription","kind":"calls","metadata":{"unresolvedName":"setDescription"}},{"from":"file:/workspace/apps/web/src/pages/ProjectSettingsPage.tsx","to":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:handleSave","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProjectSettingsPage.tsx","to":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:handleSave","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:handleSave","to":"symbol-name:setSaving","kind":"calls","metadata":{"unresolvedName":"setSaving"}},{"from":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:handleSave","to":"external:apiClient.patch","kind":"calls","metadata":{"unresolvedName":"apiClient.patch"}},{"from":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:handleSave","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:/workspace/apps/web/src/pages/ProjectSettingsPage.tsx","to":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:handleDelete","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProjectSettingsPage.tsx","to":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:handleDelete","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:handleDelete","to":"external:window.confirm","kind":"calls","metadata":{"unresolvedName":"window.confirm"}},{"from":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:handleDelete","to":"external:apiClient.delete","kind":"calls","metadata":{"unresolvedName":"apiClient.delete"}},{"from":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:handleDelete","to":"symbol-name:navigate","kind":"calls","metadata":{"unresolvedName":"navigate"}},{"from":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:handleDelete","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:/workspace/apps/web/src/pages/ProjectSettingsPage.tsx","to":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:ProjectSettingsPage","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProjectSettingsPage.tsx","to":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:ProjectSettingsPage","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:ProjectSettingsPage","to":"symbol-name:useParams","kind":"calls","metadata":{"unresolvedName":"useParams"}},{"from":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:ProjectSettingsPage","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:ProjectSettingsPage","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:ProjectSettingsPage","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:ProjectSettingsPage","to":"symbol-name:setProject","kind":"calls","metadata":{"unresolvedName":"setProject"}},{"from":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:ProjectSettingsPage","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:ProjectSettingsPage","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:ProjectSettingsPage","to":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:fetchProject","kind":"calls","metadata":{"unresolvedName":"fetchProject"}},{"from":"file:/workspace/apps/web/src/pages/ProjectSettingsPage.tsx","to":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProjectSettingsPage.tsx","to":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:<anonymous>","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:<anonymous>","to":"symbol-name:setProject","kind":"calls","metadata":{"unresolvedName":"setProject"}},{"from":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:<anonymous>","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:<anonymous>","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:<anonymous>","to":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:fetchProject","kind":"calls","metadata":{"unresolvedName":"fetchProject"}},{"from":"file:/workspace/apps/web/src/pages/ProjectSettingsPage.tsx","to":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:fetchProject","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProjectSettingsPage.tsx","to":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:fetchProject","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:fetchProject","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:fetchProject","to":"symbol-name:setProject","kind":"calls","metadata":{"unresolvedName":"setProject"}},{"from":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:fetchProject","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/pages/ProjectSettingsPage.tsx:fetchProject","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"external:react-router-dom","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"file:/workspace/apps/web/src/pages/ProjectsPage.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"file:/workspace/apps/web/src/api/projects.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:cleanup","kind":"calls","metadata":{"unresolvedName":"cleanup"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:vi.spyOn(projectsApi, \"listProjects\").mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(projectsApi, \"listProjects\").mockImplementation"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:renderWithRouter","kind":"calls","metadata":{"unresolvedName":"renderWithRouter"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(/loading projects/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(/loading projects/i)).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:vi.spyOn(projectsApi, \"listProjects\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(projectsApi, \"listProjects\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Alpha Project\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Alpha Project\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Beta Project\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Beta Project\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"First project\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"First project\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(/no projects yet/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(/no projects yet/i)).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:vi.spyOn(projectsApi, \"listProjects\").mockRejectedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(projectsApi, \"listProjects\").mockRejectedValue"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(/failed to load projects/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(/failed to load projects/i)).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(screen.getByRole(\"button\", { name: /retry/i })).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole(\"button\", { name: /retry/i })).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:vi\n\t\t\t.spyOn(projectsApi, \"listProjects\")\n\t\t\t.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi\n\t\t\t.spyOn(projectsApi, \"listProjects\")\n\t\t\t.mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:vi\n\t\t\t.spyOn","kind":"calls","metadata":{"unresolvedName":"vi\n\t\t\t.spyOn"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:vi\n\t\t\t.spyOn(projectsApi, \"createProject\")\n\t\t\t.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi\n\t\t\t.spyOn(projectsApi, \"createProject\")\n\t\t\t.mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(screen.getByRole(\"dialog\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole(\"dialog\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:fireEvent.change","kind":"calls","metadata":{"unresolvedName":"fireEvent.change"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:screen.getByPlaceholderText","kind":"calls","metadata":{"unresolvedName":"screen.getByPlaceholderText"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(createMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(createMock).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(listMock).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(listMock).toHaveBeenCalledTimes"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(/project name is required/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(/project name is required/i)).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:screen\n\t\t\t.getByText(\"Alpha Project\")\n\t\t\t.closest","kind":"calls","metadata":{"unresolvedName":"screen\n\t\t\t.getByText(\"Alpha Project\")\n\t\t\t.closest"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:screen\n\t\t\t.getByText","kind":"calls","metadata":{"unresolvedName":"screen\n\t\t\t.getByText"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:within(alphaCard).getByRole","kind":"calls","metadata":{"unresolvedName":"within(alphaCard).getByRole"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:within","kind":"calls","metadata":{"unresolvedName":"within"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(settingsLink).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(settingsLink).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(settingsLink).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(settingsLink).toHaveAttribute"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:alphaCard.querySelector","kind":"calls","metadata":{"unresolvedName":"alphaCard.querySelector"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(workspaceLink).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(workspaceLink).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(workspaceLink).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(workspaceLink).toHaveAttribute"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:actions.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"actions.querySelectorAll"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(lastAction).toBe","kind":"calls","metadata":{"unresolvedName":"expect(lastAction).toBe"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:vi\n\t\t\t.spyOn(projectsApi, \"deleteProject\")\n\t\t\t.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi\n\t\t\t.spyOn(projectsApi, \"deleteProject\")\n\t\t\t.mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(within(alphaCard).getByText(/are you sure/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(within(alphaCard).getByText(/are you sure/i)).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:within(alphaCard).getByText","kind":"calls","metadata":{"unresolvedName":"within(alphaCard).getByText"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(deleteMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(deleteMock).toHaveBeenCalledWith"}},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:vi.spyOn(projectsApi, \"listProjects\").mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(projectsApi, \"listProjects\").mockImplementation"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:renderWithRouter","kind":"calls","metadata":{"unresolvedName":"renderWithRouter"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(/loading projects/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(/loading projects/i)).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"defines"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:vi.spyOn(projectsApi, \"listProjects\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(projectsApi, \"listProjects\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:renderWithRouter","kind":"calls","metadata":{"unresolvedName":"renderWithRouter"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Alpha Project\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Alpha Project\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Beta Project\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Beta Project\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"First project\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"First project\")).toBeInTheDocument"}},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Alpha Project\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Alpha Project\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:vi.spyOn(projectsApi, \"listProjects\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(projectsApi, \"listProjects\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:renderWithRouter","kind":"calls","metadata":{"unresolvedName":"renderWithRouter"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(/no projects yet/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(/no projects yet/i)).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(/no projects yet/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(/no projects yet/i)).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:vi.spyOn(projectsApi, \"listProjects\").mockRejectedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(projectsApi, \"listProjects\").mockRejectedValue"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:renderWithRouter","kind":"calls","metadata":{"unresolvedName":"renderWithRouter"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(/failed to load projects/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(/failed to load projects/i)).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(screen.getByRole(\"button\", { name: /retry/i })).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole(\"button\", { name: /retry/i })).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(/failed to load projects/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(/failed to load projects/i)).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:vi\n\t\t\t.spyOn(projectsApi, \"listProjects\")\n\t\t\t.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi\n\t\t\t.spyOn(projectsApi, \"listProjects\")\n\t\t\t.mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:vi\n\t\t\t.spyOn","kind":"calls","metadata":{"unresolvedName":"vi\n\t\t\t.spyOn"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:vi\n\t\t\t.spyOn(projectsApi, \"createProject\")\n\t\t\t.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi\n\t\t\t.spyOn(projectsApi, \"createProject\")\n\t\t\t.mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:renderWithRouter","kind":"calls","metadata":{"unresolvedName":"renderWithRouter"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(/no projects yet/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(/no projects yet/i)).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(screen.getByRole(\"dialog\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole(\"dialog\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:fireEvent.change","kind":"calls","metadata":{"unresolvedName":"fireEvent.change"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:screen.getByPlaceholderText","kind":"calls","metadata":{"unresolvedName":"screen.getByPlaceholderText"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(createMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(createMock).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(listMock).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(listMock).toHaveBeenCalledTimes"}},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(/no projects yet/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(/no projects yet/i)).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(createMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(createMock).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:vi.spyOn(projectsApi, \"listProjects\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(projectsApi, \"listProjects\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:renderWithRouter","kind":"calls","metadata":{"unresolvedName":"renderWithRouter"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(/no projects yet/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(/no projects yet/i)).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(/project name is required/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(/project name is required/i)).toBeInTheDocument"}},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(/no projects yet/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(/no projects yet/i)).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:vi.spyOn(projectsApi, \"listProjects\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(projectsApi, \"listProjects\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:renderWithRouter","kind":"calls","metadata":{"unresolvedName":"renderWithRouter"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Alpha Project\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Alpha Project\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:screen\n\t\t\t.getByText(\"Alpha Project\")\n\t\t\t.closest","kind":"calls","metadata":{"unresolvedName":"screen\n\t\t\t.getByText(\"Alpha Project\")\n\t\t\t.closest"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:screen\n\t\t\t.getByText","kind":"calls","metadata":{"unresolvedName":"screen\n\t\t\t.getByText"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:within(alphaCard).getByRole","kind":"calls","metadata":{"unresolvedName":"within(alphaCard).getByRole"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:within","kind":"calls","metadata":{"unresolvedName":"within"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(settingsLink).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(settingsLink).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(settingsLink).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(settingsLink).toHaveAttribute"}},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Alpha Project\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Alpha Project\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:vi.spyOn(projectsApi, \"listProjects\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(projectsApi, \"listProjects\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:renderWithRouter","kind":"calls","metadata":{"unresolvedName":"renderWithRouter"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Alpha Project\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Alpha Project\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:screen\n\t\t\t.getByText(\"Alpha Project\")\n\t\t\t.closest","kind":"calls","metadata":{"unresolvedName":"screen\n\t\t\t.getByText(\"Alpha Project\")\n\t\t\t.closest"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:screen\n\t\t\t.getByText","kind":"calls","metadata":{"unresolvedName":"screen\n\t\t\t.getByText"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:alphaCard.querySelector","kind":"calls","metadata":{"unresolvedName":"alphaCard.querySelector"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:within(alphaCard).getByRole","kind":"calls","metadata":{"unresolvedName":"within(alphaCard).getByRole"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:within","kind":"calls","metadata":{"unresolvedName":"within"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(workspaceLink).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(workspaceLink).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(workspaceLink).toHaveAttribute","kind":"calls","metadata":{"unresolvedName":"expect(workspaceLink).toHaveAttribute"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:actions.querySelectorAll","kind":"calls","metadata":{"unresolvedName":"actions.querySelectorAll"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(lastAction).toBe","kind":"calls","metadata":{"unresolvedName":"expect(lastAction).toBe"}},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Alpha Project\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Alpha Project\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:vi\n\t\t\t.spyOn(projectsApi, \"listProjects\")\n\t\t\t.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi\n\t\t\t.spyOn(projectsApi, \"listProjects\")\n\t\t\t.mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:vi\n\t\t\t.spyOn","kind":"calls","metadata":{"unresolvedName":"vi\n\t\t\t.spyOn"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:vi\n\t\t\t.spyOn(projectsApi, \"deleteProject\")\n\t\t\t.mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi\n\t\t\t.spyOn(projectsApi, \"deleteProject\")\n\t\t\t.mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:renderWithRouter","kind":"calls","metadata":{"unresolvedName":"renderWithRouter"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Alpha Project\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Alpha Project\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:screen\n\t\t\t.getByText(\"Alpha Project\")\n\t\t\t.closest","kind":"calls","metadata":{"unresolvedName":"screen\n\t\t\t.getByText(\"Alpha Project\")\n\t\t\t.closest"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:screen\n\t\t\t.getByText","kind":"calls","metadata":{"unresolvedName":"screen\n\t\t\t.getByText"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:within(alphaCard).getByRole","kind":"calls","metadata":{"unresolvedName":"within(alphaCard).getByRole"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:within","kind":"calls","metadata":{"unresolvedName":"within"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(within(alphaCard).getByText(/are you sure/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(within(alphaCard).getByText(/are you sure/i)).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:within(alphaCard).getByText","kind":"calls","metadata":{"unresolvedName":"within(alphaCard).getByText"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(deleteMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(deleteMock).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(listMock).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(listMock).toHaveBeenCalledTimes"}},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Alpha Project\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Alpha Project\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.test.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"external:expect(deleteMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(deleteMock).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.tsx","to":"external:react-router-dom","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.tsx","to":"file:/workspace/apps/web/src/api/projects.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.tsx","to":"file:/workspace/apps/web/src/components/ui/Icon.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.tsx","to":"file:/workspace/apps/web/src/types","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.tsx:ProjectsPage","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.tsx:ProjectsPage","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:ProjectsPage","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:ProjectsPage","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:ProjectsPage","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:ProjectsPage","to":"/workspace/apps/web/src/api/projects.ts:listProjects","kind":"calls","metadata":{"unresolvedName":"listProjects"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:ProjectsPage","to":"symbol-name:setProjects","kind":"calls","metadata":{"unresolvedName":"setProjects"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:ProjectsPage","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:ProjectsPage","to":"/workspace/apps/web/src/pages/SessionsPage.tsx:loadProjects","kind":"calls","metadata":{"unresolvedName":"loadProjects"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:ProjectsPage","to":"symbol-name:setFormName","kind":"calls","metadata":{"unresolvedName":"setFormName"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:ProjectsPage","to":"symbol-name:setFormDescription","kind":"calls","metadata":{"unresolvedName":"setFormDescription"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:ProjectsPage","to":"symbol-name:setFormError","kind":"calls","metadata":{"unresolvedName":"setFormError"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:ProjectsPage","to":"symbol-name:setShowCreate","kind":"calls","metadata":{"unresolvedName":"setShowCreate"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:ProjectsPage","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:ProjectsPage","to":"external:formName.trim","kind":"calls","metadata":{"unresolvedName":"formName.trim"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:ProjectsPage","to":"external:formDescription.trim","kind":"calls","metadata":{"unresolvedName":"formDescription.trim"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:ProjectsPage","to":"/workspace/apps/web/src/api/projects.ts:createProject","kind":"calls","metadata":{"unresolvedName":"createProject"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:ProjectsPage","to":"/workspace/apps/web/src/pages/ProjectsPage.tsx:closeCreate","kind":"calls","metadata":{"unresolvedName":"closeCreate"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:ProjectsPage","to":"/workspace/apps/web/src/api/projects.ts:deleteProject","kind":"calls","metadata":{"unresolvedName":"deleteProject"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:ProjectsPage","to":"symbol-name:setDeleteConfirmId","kind":"calls","metadata":{"unresolvedName":"setDeleteConfirmId"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:ProjectsPage","to":"external:projects.map","kind":"calls","metadata":{"unresolvedName":"projects.map"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:ProjectsPage","to":"symbol-name:handleDelete","kind":"calls","metadata":{"unresolvedName":"handleDelete"}},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:<anonymous>","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:<anonymous>","to":"/workspace/apps/web/src/api/projects.ts:listProjects","kind":"calls","metadata":{"unresolvedName":"listProjects"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:<anonymous>","to":"symbol-name:setProjects","kind":"calls","metadata":{"unresolvedName":"setProjects"}},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:<anonymous>","to":"/workspace/apps/web/src/pages/SessionsPage.tsx:loadProjects","kind":"calls","metadata":{"unresolvedName":"loadProjects"}},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.tsx:openCreate","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.tsx:openCreate","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:openCreate","to":"symbol-name:setFormName","kind":"calls","metadata":{"unresolvedName":"setFormName"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:openCreate","to":"symbol-name:setFormDescription","kind":"calls","metadata":{"unresolvedName":"setFormDescription"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:openCreate","to":"symbol-name:setFormError","kind":"calls","metadata":{"unresolvedName":"setFormError"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:openCreate","to":"symbol-name:setShowCreate","kind":"calls","metadata":{"unresolvedName":"setShowCreate"}},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.tsx:closeCreate","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.tsx:closeCreate","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:closeCreate","to":"symbol-name:setShowCreate","kind":"calls","metadata":{"unresolvedName":"setShowCreate"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:closeCreate","to":"symbol-name:setFormError","kind":"calls","metadata":{"unresolvedName":"setFormError"}},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.tsx:handleCreate","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.tsx:handleCreate","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:handleCreate","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:handleCreate","to":"symbol-name:setFormError","kind":"calls","metadata":{"unresolvedName":"setFormError"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:handleCreate","to":"external:formName.trim","kind":"calls","metadata":{"unresolvedName":"formName.trim"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:handleCreate","to":"external:formDescription.trim","kind":"calls","metadata":{"unresolvedName":"formDescription.trim"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:handleCreate","to":"/workspace/apps/web/src/api/projects.ts:createProject","kind":"calls","metadata":{"unresolvedName":"createProject"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:handleCreate","to":"/workspace/apps/web/src/pages/ProjectsPage.tsx:closeCreate","kind":"calls","metadata":{"unresolvedName":"closeCreate"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:handleCreate","to":"/workspace/apps/web/src/pages/SessionsPage.tsx:loadProjects","kind":"calls","metadata":{"unresolvedName":"loadProjects"}},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.tsx:handleDelete","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ProjectsPage.tsx","to":"/workspace/apps/web/src/pages/ProjectsPage.tsx:handleDelete","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:handleDelete","to":"/workspace/apps/web/src/api/projects.ts:deleteProject","kind":"calls","metadata":{"unresolvedName":"deleteProject"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:handleDelete","to":"symbol-name:setDeleteConfirmId","kind":"calls","metadata":{"unresolvedName":"setDeleteConfirmId"}},{"from":"/workspace/apps/web/src/pages/ProjectsPage.tsx:handleDelete","to":"/workspace/apps/web/src/pages/SessionsPage.tsx:loadProjects","kind":"calls","metadata":{"unresolvedName":"loadProjects"}},{"from":"file:/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","to":"external:react-router-dom","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","to":"file:/workspace/apps/web/src/api/client.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","to":"file:/workspace/apps/web/src/types/git-repository.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","to":"file:/workspace/apps/web/src/types/tool-type.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","to":"file:/workspace/apps/web/src/api/git-repositories.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","to":"file:/workspace/apps/web/src/components/features/git","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","to":"file:/workspace/apps/web/src/components/features/git/FileEditor.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","to":"file:/workspace/apps/web/src/components/features/workspace/WorkspaceHeader.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","to":"file:/workspace/apps/web/src/components/features/git/GitToolbar.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","to":"file:/workspace/apps/web/src/components/ui","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","to":"file:/workspace/apps/web/src/api/tool-types.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","to":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:RepoWorkspace","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","to":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:RepoWorkspace","kind":"defines"},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:RepoWorkspace","to":"symbol-name:useParams","kind":"calls","metadata":{"unresolvedName":"useParams"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:RepoWorkspace","to":"symbol-name:useSearchParams","kind":"calls","metadata":{"unresolvedName":"useSearchParams"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:RepoWorkspace","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:RepoWorkspace","to":"external:searchParams.get","kind":"calls","metadata":{"unresolvedName":"searchParams.get"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:RepoWorkspace","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:RepoWorkspace","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:RepoWorkspace","to":"symbol-name:setProject","kind":"calls","metadata":{"unresolvedName":"setProject"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:RepoWorkspace","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:RepoWorkspace","to":"symbol-name:setRepositories","kind":"calls","metadata":{"unresolvedName":"setRepositories"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:RepoWorkspace","to":"symbol-name:setSelectedRepoId","kind":"calls","metadata":{"unresolvedName":"setSelectedRepoId"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:RepoWorkspace","to":"external:newParams.set","kind":"calls","metadata":{"unresolvedName":"newParams.set"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:RepoWorkspace","to":"symbol-name:setSearchParams","kind":"calls","metadata":{"unresolvedName":"setSearchParams"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:RepoWorkspace","to":"external:response.data.branches.map","kind":"calls","metadata":{"unresolvedName":"response.data.branches.map"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:RepoWorkspace","to":"symbol-name:setBranches","kind":"calls","metadata":{"unresolvedName":"setBranches"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:RepoWorkspace","to":"symbol-name:setCurrentBranch","kind":"calls","metadata":{"unresolvedName":"setCurrentBranch"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:RepoWorkspace","to":"symbol-name:setGitStatus","kind":"calls","metadata":{"unresolvedName":"setGitStatus"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:RepoWorkspace","to":"/workspace/apps/web/src/api/tool-types.ts:listToolTypes","kind":"calls","metadata":{"unresolvedName":"listToolTypes"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:RepoWorkspace","to":"symbol-name:setToolTypes","kind":"calls","metadata":{"unresolvedName":"setToolTypes"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:RepoWorkspace","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:RepoWorkspace","to":"symbol-name:loadProject","kind":"calls","metadata":{"unresolvedName":"loadProject"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:RepoWorkspace","to":"symbol-name:loadRepositories","kind":"calls","metadata":{"unresolvedName":"loadRepositories"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:RepoWorkspace","to":"/workspace/apps/web/src/pages/SessionsPage.tsx:loadToolTypes","kind":"calls","metadata":{"unresolvedName":"loadToolTypes"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:RepoWorkspace","to":"/workspace/apps/web/src/components/create-session-form.tsx:loadBranches","kind":"calls","metadata":{"unresolvedName":"loadBranches"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:RepoWorkspace","to":"symbol-name:loadGitStatus","kind":"calls","metadata":{"unresolvedName":"loadGitStatus"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:RepoWorkspace","to":"external:newParams.delete","kind":"calls","metadata":{"unresolvedName":"newParams.delete"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:RepoWorkspace","to":"external:repositories.find","kind":"calls","metadata":{"unresolvedName":"repositories.find"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:RepoWorkspace","to":"symbol-name:Boolean","kind":"calls","metadata":{"unresolvedName":"Boolean"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:RepoWorkspace","to":"external:window.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"window.dispatchEvent"}},{"from":"file:/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","to":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","to":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","to":"symbol-name:setProject","kind":"calls","metadata":{"unresolvedName":"setProject"}},{"from":"file:/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","to":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","to":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","to":"symbol-name:setRepositories","kind":"calls","metadata":{"unresolvedName":"setRepositories"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","to":"symbol-name:setSelectedRepoId","kind":"calls","metadata":{"unresolvedName":"setSelectedRepoId"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","to":"external:newParams.set","kind":"calls","metadata":{"unresolvedName":"newParams.set"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","to":"symbol-name:setSearchParams","kind":"calls","metadata":{"unresolvedName":"setSearchParams"}},{"from":"file:/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","to":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","to":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","to":"external:response.data.branches.map","kind":"calls","metadata":{"unresolvedName":"response.data.branches.map"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","to":"symbol-name:setBranches","kind":"calls","metadata":{"unresolvedName":"setBranches"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","to":"symbol-name:setCurrentBranch","kind":"calls","metadata":{"unresolvedName":"setCurrentBranch"}},{"from":"file:/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","to":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","to":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","to":"symbol-name:setGitStatus","kind":"calls","metadata":{"unresolvedName":"setGitStatus"}},{"from":"file:/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","to":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","to":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","to":"/workspace/apps/web/src/api/tool-types.ts:listToolTypes","kind":"calls","metadata":{"unresolvedName":"listToolTypes"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","to":"symbol-name:setToolTypes","kind":"calls","metadata":{"unresolvedName":"setToolTypes"}},{"from":"file:/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","to":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","to":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","to":"symbol-name:loadProject","kind":"calls","metadata":{"unresolvedName":"loadProject"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","to":"symbol-name:loadRepositories","kind":"calls","metadata":{"unresolvedName":"loadRepositories"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","to":"/workspace/apps/web/src/pages/SessionsPage.tsx:loadToolTypes","kind":"calls","metadata":{"unresolvedName":"loadToolTypes"}},{"from":"file:/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","to":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","to":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","to":"/workspace/apps/web/src/components/create-session-form.tsx:loadBranches","kind":"calls","metadata":{"unresolvedName":"loadBranches"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","to":"symbol-name:loadGitStatus","kind":"calls","metadata":{"unresolvedName":"loadGitStatus"}},{"from":"file:/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","to":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:handleRepoChange","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","to":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:handleRepoChange","kind":"defines"},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:handleRepoChange","to":"symbol-name:setSelectedRepoId","kind":"calls","metadata":{"unresolvedName":"setSelectedRepoId"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:handleRepoChange","to":"external:newParams.set","kind":"calls","metadata":{"unresolvedName":"newParams.set"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:handleRepoChange","to":"external:newParams.delete","kind":"calls","metadata":{"unresolvedName":"newParams.delete"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:handleRepoChange","to":"symbol-name:setSearchParams","kind":"calls","metadata":{"unresolvedName":"setSearchParams"}},{"from":"file:/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","to":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","to":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","to":"symbol-name:setCurrentBranch","kind":"calls","metadata":{"unresolvedName":"setCurrentBranch"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","to":"external:newParams.set","kind":"calls","metadata":{"unresolvedName":"newParams.set"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","to":"symbol-name:setSearchParams","kind":"calls","metadata":{"unresolvedName":"setSearchParams"}},{"from":"file:/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","to":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","to":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","to":"/workspace/apps/web/src/components/create-session-form.tsx:loadBranches","kind":"calls","metadata":{"unresolvedName":"loadBranches"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","to":"symbol-name:loadGitStatus","kind":"calls","metadata":{"unresolvedName":"loadGitStatus"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","to":"external:window.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"window.dispatchEvent"}},{"from":"file:/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","to":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","to":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","to":"symbol-name:loadGitStatus","kind":"calls","metadata":{"unresolvedName":"loadGitStatus"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","to":"external:window.dispatchEvent","kind":"calls","metadata":{"unresolvedName":"window.dispatchEvent"}},{"from":"file:/workspace/apps/web/src/pages/SessionsPage.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/SessionsPage.tsx","to":"external:react-router-dom","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/SessionsPage.tsx","to":"file:/workspace/apps/web/src/api/projects.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/SessionsPage.tsx","to":"file:/workspace/apps/web/src/api/sessions.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/SessionsPage.tsx","to":"file:/workspace/apps/web/src/api/tool-types.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/SessionsPage.tsx","to":"file:/workspace/apps/web/src/api/settings.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/SessionsPage.tsx","to":"file:/workspace/apps/web/src/components/ui/Icon.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/SessionsPage.tsx","to":"file:/workspace/apps/web/src/components/ui","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/SessionsPage.tsx","to":"file:/workspace/apps/web/src/components/features/session","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/SessionsPage.tsx","to":"file:/workspace/apps/web/src/types/project.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/SessionsPage.tsx","to":"file:/workspace/apps/web/src/types/session.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/SessionsPage.tsx","to":"file:/workspace/apps/web/src/types/tool-type.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/SessionsPage.tsx","to":"/workspace/apps/web/src/pages/SessionsPage.tsx:SessionsPage","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/SessionsPage.tsx","to":"/workspace/apps/web/src/pages/SessionsPage.tsx:SessionsPage","kind":"defines"},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:SessionsPage","to":"symbol-name:useNavigate","kind":"calls","metadata":{"unresolvedName":"useNavigate"}},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:SessionsPage","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:SessionsPage","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:SessionsPage","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:SessionsPage","to":"external:Promise.all","kind":"calls","metadata":{"unresolvedName":"Promise.all"}},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:SessionsPage","to":"/workspace/apps/web/src/api/settings.ts:getUserConfig","kind":"calls","metadata":{"unresolvedName":"getUserConfig"}},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:SessionsPage","to":"symbol-name:setSessions","kind":"calls","metadata":{"unresolvedName":"setSessions"}},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:SessionsPage","to":"symbol-name:setLastSessionId","kind":"calls","metadata":{"unresolvedName":"setLastSessionId"}},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:SessionsPage","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:SessionsPage","to":"symbol-name:loadSessions","kind":"calls","metadata":{"unresolvedName":"loadSessions"}},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:SessionsPage","to":"symbol-name:setProjects","kind":"calls","metadata":{"unresolvedName":"setProjects"}},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:SessionsPage","to":"/workspace/apps/web/src/api/projects.ts:listProjects","kind":"calls","metadata":{"unresolvedName":"listProjects"}},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:SessionsPage","to":"/workspace/apps/web/src/pages/SessionsPage.tsx:loadProjects","kind":"calls","metadata":{"unresolvedName":"loadProjects"}},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:SessionsPage","to":"symbol-name:setToolTypes","kind":"calls","metadata":{"unresolvedName":"setToolTypes"}},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:SessionsPage","to":"/workspace/apps/web/src/api/tool-types.ts:listToolTypes","kind":"calls","metadata":{"unresolvedName":"listToolTypes"}},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:SessionsPage","to":"/workspace/apps/web/src/pages/SessionsPage.tsx:loadToolTypes","kind":"calls","metadata":{"unresolvedName":"loadToolTypes"}},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:SessionsPage","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:SessionsPage","to":"external:sessions.filter","kind":"calls","metadata":{"unresolvedName":"sessions.filter"}},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:SessionsPage","to":"external:[\"running\", \"building\", \"pending\"].includes","kind":"calls","metadata":{"unresolvedName":"[\"running\", \"building\", \"pending\"].includes"}},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:SessionsPage","to":"external:sessions\n\t\t\t\t.filter((s) => [\"stopped\", \"error\"].includes(s.status))\n\t\t\t\t.slice","kind":"calls","metadata":{"unresolvedName":"sessions\n\t\t\t\t.filter((s) => [\"stopped\", \"error\"].includes(s.status))\n\t\t\t\t.slice"}},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:SessionsPage","to":"external:sessions\n\t\t\t\t.filter","kind":"calls","metadata":{"unresolvedName":"sessions\n\t\t\t\t.filter"}},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:SessionsPage","to":"external:[\"stopped\", \"error\"].includes","kind":"calls","metadata":{"unresolvedName":"[\"stopped\", \"error\"].includes"}},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:SessionsPage","to":"external:sessions.find","kind":"calls","metadata":{"unresolvedName":"sessions.find"}},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:SessionsPage","to":"external:session.tool_type_interfaces?.includes","kind":"calls","metadata":{"unresolvedName":"session.tool_type_interfaces?.includes"}},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:SessionsPage","to":"symbol-name:navigate","kind":"calls","metadata":{"unresolvedName":"navigate"}},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:SessionsPage","to":"external:projects.find","kind":"calls","metadata":{"unresolvedName":"projects.find"}},{"from":"file:/workspace/apps/web/src/pages/SessionsPage.tsx","to":"/workspace/apps/web/src/pages/SessionsPage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/SessionsPage.tsx","to":"/workspace/apps/web/src/pages/SessionsPage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:<anonymous>","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:<anonymous>","to":"external:Promise.all","kind":"calls","metadata":{"unresolvedName":"Promise.all"}},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:<anonymous>","to":"/workspace/apps/web/src/api/settings.ts:getUserConfig","kind":"calls","metadata":{"unresolvedName":"getUserConfig"}},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:<anonymous>","to":"symbol-name:setSessions","kind":"calls","metadata":{"unresolvedName":"setSessions"}},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:<anonymous>","to":"symbol-name:setLastSessionId","kind":"calls","metadata":{"unresolvedName":"setLastSessionId"}},{"from":"file:/workspace/apps/web/src/pages/SessionsPage.tsx","to":"/workspace/apps/web/src/pages/SessionsPage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/SessionsPage.tsx","to":"/workspace/apps/web/src/pages/SessionsPage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:<anonymous>","to":"symbol-name:loadSessions","kind":"calls","metadata":{"unresolvedName":"loadSessions"}},{"from":"file:/workspace/apps/web/src/pages/SessionsPage.tsx","to":"/workspace/apps/web/src/pages/SessionsPage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/SessionsPage.tsx","to":"/workspace/apps/web/src/pages/SessionsPage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:<anonymous>","to":"symbol-name:setProjects","kind":"calls","metadata":{"unresolvedName":"setProjects"}},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:<anonymous>","to":"/workspace/apps/web/src/api/projects.ts:listProjects","kind":"calls","metadata":{"unresolvedName":"listProjects"}},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:<anonymous>","to":"/workspace/apps/web/src/pages/SessionsPage.tsx:loadProjects","kind":"calls","metadata":{"unresolvedName":"loadProjects"}},{"from":"file:/workspace/apps/web/src/pages/SessionsPage.tsx","to":"/workspace/apps/web/src/pages/SessionsPage.tsx:loadProjects","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/SessionsPage.tsx","to":"/workspace/apps/web/src/pages/SessionsPage.tsx:loadProjects","kind":"defines"},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:loadProjects","to":"symbol-name:setProjects","kind":"calls","metadata":{"unresolvedName":"setProjects"}},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:loadProjects","to":"/workspace/apps/web/src/api/projects.ts:listProjects","kind":"calls","metadata":{"unresolvedName":"listProjects"}},{"from":"file:/workspace/apps/web/src/pages/SessionsPage.tsx","to":"/workspace/apps/web/src/pages/SessionsPage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/SessionsPage.tsx","to":"/workspace/apps/web/src/pages/SessionsPage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:<anonymous>","to":"symbol-name:setToolTypes","kind":"calls","metadata":{"unresolvedName":"setToolTypes"}},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:<anonymous>","to":"/workspace/apps/web/src/api/tool-types.ts:listToolTypes","kind":"calls","metadata":{"unresolvedName":"listToolTypes"}},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:<anonymous>","to":"/workspace/apps/web/src/pages/SessionsPage.tsx:loadToolTypes","kind":"calls","metadata":{"unresolvedName":"loadToolTypes"}},{"from":"file:/workspace/apps/web/src/pages/SessionsPage.tsx","to":"/workspace/apps/web/src/pages/SessionsPage.tsx:loadToolTypes","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/SessionsPage.tsx","to":"/workspace/apps/web/src/pages/SessionsPage.tsx:loadToolTypes","kind":"defines"},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:loadToolTypes","to":"symbol-name:setToolTypes","kind":"calls","metadata":{"unresolvedName":"setToolTypes"}},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:loadToolTypes","to":"/workspace/apps/web/src/api/tool-types.ts:listToolTypes","kind":"calls","metadata":{"unresolvedName":"listToolTypes"}},{"from":"file:/workspace/apps/web/src/pages/SessionsPage.tsx","to":"/workspace/apps/web/src/pages/SessionsPage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/SessionsPage.tsx","to":"/workspace/apps/web/src/pages/SessionsPage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:<anonymous>","to":"external:session.tool_type_interfaces?.includes","kind":"calls","metadata":{"unresolvedName":"session.tool_type_interfaces?.includes"}},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:<anonymous>","to":"symbol-name:navigate","kind":"calls","metadata":{"unresolvedName":"navigate"}},{"from":"file:/workspace/apps/web/src/pages/SessionsPage.tsx","to":"/workspace/apps/web/src/pages/SessionsPage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/SessionsPage.tsx","to":"/workspace/apps/web/src/pages/SessionsPage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:<anonymous>","to":"external:projects.find","kind":"calls","metadata":{"unresolvedName":"projects.find"}},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:<anonymous>","to":"symbol-name:navigate","kind":"calls","metadata":{"unresolvedName":"navigate"}},{"from":"file:/workspace/apps/web/src/pages/SettingsPage.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/SettingsPage.tsx","to":"external:react-router-dom","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/SettingsPage.tsx","to":"file:/workspace/apps/web/src/api/settings.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/SettingsPage.tsx","to":"file:/workspace/apps/web/src/components/ui/Icon.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/SettingsPage.tsx","to":"/workspace/apps/web/src/pages/SettingsPage.tsx:SettingsPage","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/SettingsPage.tsx","to":"/workspace/apps/web/src/pages/SettingsPage.tsx:SettingsPage","kind":"defines"},{"from":"/workspace/apps/web/src/pages/SettingsPage.tsx:SettingsPage","to":"symbol-name:useLocation","kind":"calls","metadata":{"unresolvedName":"useLocation"}},{"from":"/workspace/apps/web/src/pages/SettingsPage.tsx:SettingsPage","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/pages/SettingsPage.tsx:SettingsPage","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/pages/SettingsPage.tsx:SettingsPage","to":"/workspace/apps/web/src/api/settings.ts:getUserConfig","kind":"calls","metadata":{"unresolvedName":"getUserConfig"}},{"from":"/workspace/apps/web/src/pages/SettingsPage.tsx:SettingsPage","to":"symbol-name:setConfig","kind":"calls","metadata":{"unresolvedName":"setConfig"}},{"from":"/workspace/apps/web/src/pages/SettingsPage.tsx:SettingsPage","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"/workspace/apps/web/src/pages/SettingsPage.tsx:SettingsPage","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/pages/SettingsPage.tsx:SettingsPage","to":"symbol-name:loadConfig","kind":"calls","metadata":{"unresolvedName":"loadConfig"}},{"from":"/workspace/apps/web/src/pages/SettingsPage.tsx:SettingsPage","to":"symbol-name:setSaveStatus","kind":"calls","metadata":{"unresolvedName":"setSaveStatus"}},{"from":"/workspace/apps/web/src/pages/SettingsPage.tsx:SettingsPage","to":"/workspace/apps/web/src/api/settings.ts:updateUserConfig","kind":"calls","metadata":{"unresolvedName":"updateUserConfig"}},{"from":"/workspace/apps/web/src/pages/SettingsPage.tsx:SettingsPage","to":"external:document.documentElement.removeAttribute","kind":"calls","metadata":{"unresolvedName":"document.documentElement.removeAttribute"}},{"from":"/workspace/apps/web/src/pages/SettingsPage.tsx:SettingsPage","to":"external:document.documentElement.setAttribute","kind":"calls","metadata":{"unresolvedName":"document.documentElement.setAttribute"}},{"from":"/workspace/apps/web/src/pages/SettingsPage.tsx:SettingsPage","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"/workspace/apps/web/src/pages/SettingsPage.tsx:SettingsPage","to":"external:location.pathname.split(\"/\").filter","kind":"calls","metadata":{"unresolvedName":"location.pathname.split(\"/\").filter"}},{"from":"/workspace/apps/web/src/pages/SettingsPage.tsx:SettingsPage","to":"external:location.pathname.split","kind":"calls","metadata":{"unresolvedName":"location.pathname.split"}},{"from":"/workspace/apps/web/src/pages/SettingsPage.tsx:SettingsPage","to":"external:location.pathname.endsWith","kind":"calls","metadata":{"unresolvedName":"location.pathname.endsWith"}},{"from":"/workspace/apps/web/src/pages/SettingsPage.tsx:SettingsPage","to":"external:TABS.map","kind":"calls","metadata":{"unresolvedName":"TABS.map"}},{"from":"file:/workspace/apps/web/src/pages/SettingsPage.tsx","to":"/workspace/apps/web/src/pages/SettingsPage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/SettingsPage.tsx","to":"/workspace/apps/web/src/pages/SettingsPage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/SettingsPage.tsx:<anonymous>","to":"/workspace/apps/web/src/api/settings.ts:getUserConfig","kind":"calls","metadata":{"unresolvedName":"getUserConfig"}},{"from":"/workspace/apps/web/src/pages/SettingsPage.tsx:<anonymous>","to":"symbol-name:setConfig","kind":"calls","metadata":{"unresolvedName":"setConfig"}},{"from":"/workspace/apps/web/src/pages/SettingsPage.tsx:<anonymous>","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"file:/workspace/apps/web/src/pages/SettingsPage.tsx","to":"/workspace/apps/web/src/pages/SettingsPage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/SettingsPage.tsx","to":"/workspace/apps/web/src/pages/SettingsPage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/SettingsPage.tsx:<anonymous>","to":"symbol-name:loadConfig","kind":"calls","metadata":{"unresolvedName":"loadConfig"}},{"from":"file:/workspace/apps/web/src/pages/SettingsPage.tsx","to":"/workspace/apps/web/src/pages/SettingsPage.tsx:handleChange","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/SettingsPage.tsx","to":"/workspace/apps/web/src/pages/SettingsPage.tsx:handleChange","kind":"defines"},{"from":"/workspace/apps/web/src/pages/SettingsPage.tsx:handleChange","to":"symbol-name:setConfig","kind":"calls","metadata":{"unresolvedName":"setConfig"}},{"from":"/workspace/apps/web/src/pages/SettingsPage.tsx:handleChange","to":"symbol-name:setSaveStatus","kind":"calls","metadata":{"unresolvedName":"setSaveStatus"}},{"from":"file:/workspace/apps/web/src/pages/SettingsPage.tsx","to":"/workspace/apps/web/src/pages/SettingsPage.tsx:handleSave","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/SettingsPage.tsx","to":"/workspace/apps/web/src/pages/SettingsPage.tsx:handleSave","kind":"defines"},{"from":"/workspace/apps/web/src/pages/SettingsPage.tsx:handleSave","to":"symbol-name:setSaveStatus","kind":"calls","metadata":{"unresolvedName":"setSaveStatus"}},{"from":"/workspace/apps/web/src/pages/SettingsPage.tsx:handleSave","to":"/workspace/apps/web/src/api/settings.ts:updateUserConfig","kind":"calls","metadata":{"unresolvedName":"updateUserConfig"}},{"from":"/workspace/apps/web/src/pages/SettingsPage.tsx:handleSave","to":"symbol-name:setConfig","kind":"calls","metadata":{"unresolvedName":"setConfig"}},{"from":"/workspace/apps/web/src/pages/SettingsPage.tsx:handleSave","to":"external:document.documentElement.removeAttribute","kind":"calls","metadata":{"unresolvedName":"document.documentElement.removeAttribute"}},{"from":"/workspace/apps/web/src/pages/SettingsPage.tsx:handleSave","to":"external:document.documentElement.setAttribute","kind":"calls","metadata":{"unresolvedName":"document.documentElement.setAttribute"}},{"from":"/workspace/apps/web/src/pages/SettingsPage.tsx:handleSave","to":"external:window.setTimeout","kind":"calls","metadata":{"unresolvedName":"window.setTimeout"}},{"from":"file:/workspace/apps/web/src/pages/SettingsPage.tsx","to":"/workspace/apps/web/src/pages/SettingsPage.tsx:GeneralSettingsTab","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/SettingsPage.tsx","to":"/workspace/apps/web/src/pages/SettingsPage.tsx:GeneralSettingsTab","kind":"defines"},{"from":"/workspace/apps/web/src/pages/SettingsPage.tsx:GeneralSettingsTab","to":"symbol-name:useOutletContext","kind":"calls","metadata":{"unresolvedName":"useOutletContext"}},{"from":"/workspace/apps/web/src/pages/SettingsPage.tsx:GeneralSettingsTab","to":"symbol-name:handleChange","kind":"calls","metadata":{"unresolvedName":"handleChange"}},{"from":"/workspace/apps/web/src/pages/SettingsPage.tsx:GeneralSettingsTab","to":"external:THEME_OPTIONS.map","kind":"calls","metadata":{"unresolvedName":"THEME_OPTIONS.map"}},{"from":"/workspace/apps/web/src/pages/SettingsPage.tsx:GeneralSettingsTab","to":"symbol-name:handleSave","kind":"calls","metadata":{"unresolvedName":"handleSave"}},{"from":"file:/workspace/apps/web/src/pages/SshKeysPage.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/SshKeysPage.tsx","to":"external:react-router-dom","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/SshKeysPage.tsx","to":"file:/workspace/apps/web/src/api/ssh-keys.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/SshKeysPage.tsx","to":"file:/workspace/apps/web/src/components/ui/Icon.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/SshKeysPage.tsx","to":"/workspace/apps/web/src/pages/SshKeysPage.tsx:SSHKeysPage","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/SshKeysPage.tsx","to":"/workspace/apps/web/src/pages/SshKeysPage.tsx:SSHKeysPage","kind":"defines"},{"from":"/workspace/apps/web/src/pages/SshKeysPage.tsx:SSHKeysPage","to":"symbol-name:useNavigate","kind":"calls","metadata":{"unresolvedName":"useNavigate"}},{"from":"/workspace/apps/web/src/pages/SshKeysPage.tsx:SSHKeysPage","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/pages/SshKeysPage.tsx:SSHKeysPage","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/pages/SshKeysPage.tsx:SSHKeysPage","to":"symbol-name:loadKeys","kind":"calls","metadata":{"unresolvedName":"loadKeys"}},{"from":"/workspace/apps/web/src/pages/SshKeysPage.tsx:SSHKeysPage","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/workspace/apps/web/src/pages/SshKeysPage.tsx:SSHKeysPage","to":"/workspace/apps/web/src/api/ssh-keys.ts:listSSHKeys","kind":"calls","metadata":{"unresolvedName":"listSSHKeys"}},{"from":"/workspace/apps/web/src/pages/SshKeysPage.tsx:SSHKeysPage","to":"symbol-name:setKeys","kind":"calls","metadata":{"unresolvedName":"setKeys"}},{"from":"/workspace/apps/web/src/pages/SshKeysPage.tsx:SSHKeysPage","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/pages/SshKeysPage.tsx:SSHKeysPage","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/workspace/apps/web/src/pages/SshKeysPage.tsx:SSHKeysPage","to":"external:newKeyName.trim","kind":"calls","metadata":{"unresolvedName":"newKeyName.trim"}},{"from":"/workspace/apps/web/src/pages/SshKeysPage.tsx:SSHKeysPage","to":"symbol-name:setGenerating","kind":"calls","metadata":{"unresolvedName":"setGenerating"}},{"from":"/workspace/apps/web/src/pages/SshKeysPage.tsx:SSHKeysPage","to":"/workspace/apps/web/src/api/ssh-keys.ts:createSSHKey","kind":"calls","metadata":{"unresolvedName":"createSSHKey"}},{"from":"/workspace/apps/web/src/pages/SshKeysPage.tsx:SSHKeysPage","to":"symbol-name:setNewKeyName","kind":"calls","metadata":{"unresolvedName":"setNewKeyName"}},{"from":"/workspace/apps/web/src/pages/SshKeysPage.tsx:SSHKeysPage","to":"symbol-name:confirm","kind":"calls","metadata":{"unresolvedName":"confirm"}},{"from":"/workspace/apps/web/src/pages/SshKeysPage.tsx:SSHKeysPage","to":"/workspace/apps/web/src/api/ssh-keys.ts:deleteSSHKey","kind":"calls","metadata":{"unresolvedName":"deleteSSHKey"}},{"from":"/workspace/apps/web/src/pages/SshKeysPage.tsx:SSHKeysPage","to":"external:navigator.clipboard.writeText","kind":"calls","metadata":{"unresolvedName":"navigator.clipboard.writeText"}},{"from":"/workspace/apps/web/src/pages/SshKeysPage.tsx:SSHKeysPage","to":"symbol-name:navigate","kind":"calls","metadata":{"unresolvedName":"navigate"}},{"from":"/workspace/apps/web/src/pages/SshKeysPage.tsx:SSHKeysPage","to":"external:keys.map","kind":"calls","metadata":{"unresolvedName":"keys.map"}},{"from":"/workspace/apps/web/src/pages/SshKeysPage.tsx:SSHKeysPage","to":"symbol-name:handleDelete","kind":"calls","metadata":{"unresolvedName":"handleDelete"}},{"from":"/workspace/apps/web/src/pages/SshKeysPage.tsx:SSHKeysPage","to":"external:new Date(key.created_at).toLocaleDateString","kind":"calls","metadata":{"unresolvedName":"new Date(key.created_at).toLocaleDateString"}},{"from":"/workspace/apps/web/src/pages/SshKeysPage.tsx:SSHKeysPage","to":"external:key.public_key.substring","kind":"calls","metadata":{"unresolvedName":"key.public_key.substring"}},{"from":"/workspace/apps/web/src/pages/SshKeysPage.tsx:SSHKeysPage","to":"/workspace/apps/web/src/pages/SshKeysPage.tsx:copyToClipboard","kind":"calls","metadata":{"unresolvedName":"copyToClipboard"}},{"from":"file:/workspace/apps/web/src/pages/SshKeysPage.tsx","to":"/workspace/apps/web/src/pages/SshKeysPage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/SshKeysPage.tsx","to":"/workspace/apps/web/src/pages/SshKeysPage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/SshKeysPage.tsx:<anonymous>","to":"symbol-name:loadKeys","kind":"calls","metadata":{"unresolvedName":"loadKeys"}},{"from":"file:/workspace/apps/web/src/pages/SshKeysPage.tsx","to":"/workspace/apps/web/src/pages/SshKeysPage.tsx:loadKeys","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/SshKeysPage.tsx","to":"/workspace/apps/web/src/pages/SshKeysPage.tsx:loadKeys","kind":"defines"},{"from":"/workspace/apps/web/src/pages/SshKeysPage.tsx:loadKeys","to":"symbol-name:setLoading","kind":"calls","metadata":{"unresolvedName":"setLoading"}},{"from":"/workspace/apps/web/src/pages/SshKeysPage.tsx:loadKeys","to":"/workspace/apps/web/src/api/ssh-keys.ts:listSSHKeys","kind":"calls","metadata":{"unresolvedName":"listSSHKeys"}},{"from":"/workspace/apps/web/src/pages/SshKeysPage.tsx:loadKeys","to":"symbol-name:setKeys","kind":"calls","metadata":{"unresolvedName":"setKeys"}},{"from":"/workspace/apps/web/src/pages/SshKeysPage.tsx:loadKeys","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:/workspace/apps/web/src/pages/SshKeysPage.tsx","to":"/workspace/apps/web/src/pages/SshKeysPage.tsx:handleGenerate","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/SshKeysPage.tsx","to":"/workspace/apps/web/src/pages/SshKeysPage.tsx:handleGenerate","kind":"defines"},{"from":"/workspace/apps/web/src/pages/SshKeysPage.tsx:handleGenerate","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/workspace/apps/web/src/pages/SshKeysPage.tsx:handleGenerate","to":"external:newKeyName.trim","kind":"calls","metadata":{"unresolvedName":"newKeyName.trim"}},{"from":"/workspace/apps/web/src/pages/SshKeysPage.tsx:handleGenerate","to":"symbol-name:setGenerating","kind":"calls","metadata":{"unresolvedName":"setGenerating"}},{"from":"/workspace/apps/web/src/pages/SshKeysPage.tsx:handleGenerate","to":"/workspace/apps/web/src/api/ssh-keys.ts:createSSHKey","kind":"calls","metadata":{"unresolvedName":"createSSHKey"}},{"from":"/workspace/apps/web/src/pages/SshKeysPage.tsx:handleGenerate","to":"symbol-name:setNewKeyName","kind":"calls","metadata":{"unresolvedName":"setNewKeyName"}},{"from":"/workspace/apps/web/src/pages/SshKeysPage.tsx:handleGenerate","to":"symbol-name:loadKeys","kind":"calls","metadata":{"unresolvedName":"loadKeys"}},{"from":"/workspace/apps/web/src/pages/SshKeysPage.tsx:handleGenerate","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:/workspace/apps/web/src/pages/SshKeysPage.tsx","to":"/workspace/apps/web/src/pages/SshKeysPage.tsx:handleDelete","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/SshKeysPage.tsx","to":"/workspace/apps/web/src/pages/SshKeysPage.tsx:handleDelete","kind":"defines"},{"from":"/workspace/apps/web/src/pages/SshKeysPage.tsx:handleDelete","to":"symbol-name:confirm","kind":"calls","metadata":{"unresolvedName":"confirm"}},{"from":"/workspace/apps/web/src/pages/SshKeysPage.tsx:handleDelete","to":"/workspace/apps/web/src/api/ssh-keys.ts:deleteSSHKey","kind":"calls","metadata":{"unresolvedName":"deleteSSHKey"}},{"from":"/workspace/apps/web/src/pages/SshKeysPage.tsx:handleDelete","to":"symbol-name:loadKeys","kind":"calls","metadata":{"unresolvedName":"loadKeys"}},{"from":"/workspace/apps/web/src/pages/SshKeysPage.tsx:handleDelete","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:/workspace/apps/web/src/pages/SshKeysPage.tsx","to":"/workspace/apps/web/src/pages/SshKeysPage.tsx:copyToClipboard","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/SshKeysPage.tsx","to":"/workspace/apps/web/src/pages/SshKeysPage.tsx:copyToClipboard","kind":"defines"},{"from":"/workspace/apps/web/src/pages/SshKeysPage.tsx:copyToClipboard","to":"external:navigator.clipboard.writeText","kind":"calls","metadata":{"unresolvedName":"navigator.clipboard.writeText"}},{"from":"file:/workspace/apps/web/src/pages/TerminalPage.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/TerminalPage.tsx","to":"external:react-router-dom","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/TerminalPage.tsx","to":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/TerminalPage.tsx","to":"file:/workspace/apps/web/src/components/ui/Icon.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/TerminalPage.tsx","to":"/workspace/apps/web/src/pages/TerminalPage.tsx:TerminalPage","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/TerminalPage.tsx","to":"/workspace/apps/web/src/pages/TerminalPage.tsx:TerminalPage","kind":"defines"},{"from":"/workspace/apps/web/src/pages/TerminalPage.tsx:TerminalPage","to":"symbol-name:useParams","kind":"calls","metadata":{"unresolvedName":"useParams"}},{"from":"/workspace/apps/web/src/pages/TerminalPage.tsx:TerminalPage","to":"symbol-name:useNavigate","kind":"calls","metadata":{"unresolvedName":"useNavigate"}},{"from":"/workspace/apps/web/src/pages/TerminalPage.tsx:TerminalPage","to":"symbol-name:navigate","kind":"calls","metadata":{"unresolvedName":"navigate"}},{"from":"file:/workspace/apps/web/src/pages/ToolConfigsPage.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ToolConfigsPage.tsx","to":"external:react-router-dom","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ToolConfigsPage.tsx","to":"file:/workspace/apps/web/src/components/ui/Icon.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ToolConfigsPage.tsx","to":"file:/workspace/apps/web/src/types/tool-type.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ToolConfigsPage.tsx","to":"file:/workspace/apps/web/src/types/tool-config.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ToolConfigsPage.tsx","to":"file:/workspace/apps/web/src/api/tool-types.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ToolConfigsPage.tsx","to":"file:/workspace/apps/web/src/api/tool-configs.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ToolConfigsPage.tsx","to":"file:/workspace/apps/web/src/components/features/tool-configs","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ToolConfigsPage.tsx","to":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:ToolConfigsPage","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolConfigsPage.tsx","to":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:ToolConfigsPage","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:ToolConfigsPage","to":"symbol-name:useNavigate","kind":"calls","metadata":{"unresolvedName":"useNavigate"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:ToolConfigsPage","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:ToolConfigsPage","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:ToolConfigsPage","to":"external:Promise.all","kind":"calls","metadata":{"unresolvedName":"Promise.all"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:ToolConfigsPage","to":"/workspace/apps/web/src/api/tool-types.ts:listToolTypes","kind":"calls","metadata":{"unresolvedName":"listToolTypes"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:ToolConfigsPage","to":"/workspace/apps/web/src/api/tool-configs.ts:listToolConfigs","kind":"calls","metadata":{"unresolvedName":"listToolConfigs"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:ToolConfigsPage","to":"symbol-name:setToolTypes","kind":"calls","metadata":{"unresolvedName":"setToolTypes"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:ToolConfigsPage","to":"symbol-name:setConfigs","kind":"calls","metadata":{"unresolvedName":"setConfigs"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:ToolConfigsPage","to":"symbol-name:setSelectedToolType","kind":"calls","metadata":{"unresolvedName":"setSelectedToolType"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:ToolConfigsPage","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:ToolConfigsPage","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:ToolConfigsPage","to":"symbol-name:loadData","kind":"calls","metadata":{"unresolvedName":"loadData"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:ToolConfigsPage","to":"/workspace/apps/web/src/api/tool-configs.ts:updateToolConfig","kind":"calls","metadata":{"unresolvedName":"updateToolConfig"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:ToolConfigsPage","to":"/workspace/apps/web/src/api/tool-configs.ts:createToolConfig","kind":"calls","metadata":{"unresolvedName":"createToolConfig"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:ToolConfigsPage","to":"symbol-name:setShowForm","kind":"calls","metadata":{"unresolvedName":"setShowForm"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:ToolConfigsPage","to":"symbol-name:setEditingConfig","kind":"calls","metadata":{"unresolvedName":"setEditingConfig"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:ToolConfigsPage","to":"external:window.confirm","kind":"calls","metadata":{"unresolvedName":"window.confirm"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:ToolConfigsPage","to":"/workspace/apps/web/src/api/tool-configs.ts:deleteToolConfig","kind":"calls","metadata":{"unresolvedName":"deleteToolConfig"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:ToolConfigsPage","to":"external:toolTypes.find","kind":"calls","metadata":{"unresolvedName":"toolTypes.find"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:ToolConfigsPage","to":"external:configs.filter","kind":"calls","metadata":{"unresolvedName":"configs.filter"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:ToolConfigsPage","to":"symbol-name:navigate","kind":"calls","metadata":{"unresolvedName":"navigate"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:ToolConfigsPage","to":"external:toolTypes.map","kind":"calls","metadata":{"unresolvedName":"toolTypes.map"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:ToolConfigsPage","to":"external:selectedTool.interfaces?.join","kind":"calls","metadata":{"unresolvedName":"selectedTool.interfaces?.join"}},{"from":"file:/workspace/apps/web/src/pages/ToolConfigsPage.tsx","to":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolConfigsPage.tsx","to":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:<anonymous>","to":"external:Promise.all","kind":"calls","metadata":{"unresolvedName":"Promise.all"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:<anonymous>","to":"/workspace/apps/web/src/api/tool-types.ts:listToolTypes","kind":"calls","metadata":{"unresolvedName":"listToolTypes"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:<anonymous>","to":"/workspace/apps/web/src/api/tool-configs.ts:listToolConfigs","kind":"calls","metadata":{"unresolvedName":"listToolConfigs"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:<anonymous>","to":"symbol-name:setToolTypes","kind":"calls","metadata":{"unresolvedName":"setToolTypes"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:<anonymous>","to":"symbol-name:setConfigs","kind":"calls","metadata":{"unresolvedName":"setConfigs"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:<anonymous>","to":"symbol-name:setSelectedToolType","kind":"calls","metadata":{"unresolvedName":"setSelectedToolType"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:<anonymous>","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"file:/workspace/apps/web/src/pages/ToolConfigsPage.tsx","to":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolConfigsPage.tsx","to":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:<anonymous>","to":"symbol-name:loadData","kind":"calls","metadata":{"unresolvedName":"loadData"}},{"from":"file:/workspace/apps/web/src/pages/ToolConfigsPage.tsx","to":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:handleSubmit","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolConfigsPage.tsx","to":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:handleSubmit","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:handleSubmit","to":"/workspace/apps/web/src/api/tool-configs.ts:updateToolConfig","kind":"calls","metadata":{"unresolvedName":"updateToolConfig"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:handleSubmit","to":"/workspace/apps/web/src/api/tool-configs.ts:createToolConfig","kind":"calls","metadata":{"unresolvedName":"createToolConfig"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:handleSubmit","to":"symbol-name:setShowForm","kind":"calls","metadata":{"unresolvedName":"setShowForm"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:handleSubmit","to":"symbol-name:setEditingConfig","kind":"calls","metadata":{"unresolvedName":"setEditingConfig"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:handleSubmit","to":"symbol-name:loadData","kind":"calls","metadata":{"unresolvedName":"loadData"}},{"from":"file:/workspace/apps/web/src/pages/ToolConfigsPage.tsx","to":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:handleEdit","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolConfigsPage.tsx","to":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:handleEdit","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:handleEdit","to":"symbol-name:setEditingConfig","kind":"calls","metadata":{"unresolvedName":"setEditingConfig"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:handleEdit","to":"symbol-name:setSelectedToolType","kind":"calls","metadata":{"unresolvedName":"setSelectedToolType"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:handleEdit","to":"symbol-name:setShowForm","kind":"calls","metadata":{"unresolvedName":"setShowForm"}},{"from":"file:/workspace/apps/web/src/pages/ToolConfigsPage.tsx","to":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:handleDelete","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolConfigsPage.tsx","to":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:handleDelete","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:handleDelete","to":"external:window.confirm","kind":"calls","metadata":{"unresolvedName":"window.confirm"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:handleDelete","to":"/workspace/apps/web/src/api/tool-configs.ts:deleteToolConfig","kind":"calls","metadata":{"unresolvedName":"deleteToolConfig"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:handleDelete","to":"symbol-name:loadData","kind":"calls","metadata":{"unresolvedName":"loadData"}},{"from":"file:/workspace/apps/web/src/pages/ToolConfigsPage.tsx","to":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolConfigsPage.tsx","to":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:<anonymous>","to":"symbol-name:setSelectedToolType","kind":"calls","metadata":{"unresolvedName":"setSelectedToolType"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:<anonymous>","to":"symbol-name:setShowForm","kind":"calls","metadata":{"unresolvedName":"setShowForm"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:<anonymous>","to":"symbol-name:setEditingConfig","kind":"calls","metadata":{"unresolvedName":"setEditingConfig"}},{"from":"file:/workspace/apps/web/src/pages/ToolConfigsPage.tsx","to":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolConfigsPage.tsx","to":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:<anonymous>","to":"symbol-name:setShowForm","kind":"calls","metadata":{"unresolvedName":"setShowForm"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:<anonymous>","to":"symbol-name:setEditingConfig","kind":"calls","metadata":{"unresolvedName":"setEditingConfig"}},{"from":"file:/workspace/apps/web/src/pages/ToolConfigsPage.tsx","to":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolConfigsPage.tsx","to":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:<anonymous>","to":"symbol-name:setShowForm","kind":"calls","metadata":{"unresolvedName":"setShowForm"}},{"from":"/workspace/apps/web/src/pages/ToolConfigsPage.tsx:<anonymous>","to":"symbol-name:setEditingConfig","kind":"calls","metadata":{"unresolvedName":"setEditingConfig"}},{"from":"file:/workspace/apps/web/src/pages/ToolTypesPage.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ToolTypesPage.tsx","to":"external:react-router-dom","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ToolTypesPage.tsx","to":"file:/workspace/apps/web/src/types/tool-type.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ToolTypesPage.tsx","to":"file:/workspace/apps/web/src/api/tool-types.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ToolTypesPage.tsx","to":"file:/workspace/apps/web/src/components/ui/Icon.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ToolTypesPage.tsx","to":"file:/workspace/apps/web/src/components/features/tool-types","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ToolTypesPage.tsx","to":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:ToolTypesPage","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolTypesPage.tsx","to":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:ToolTypesPage","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:ToolTypesPage","to":"symbol-name:useNavigate","kind":"calls","metadata":{"unresolvedName":"useNavigate"}},{"from":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:ToolTypesPage","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:ToolTypesPage","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:ToolTypesPage","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:ToolTypesPage","to":"/workspace/apps/web/src/api/tool-types.ts:listToolTypes","kind":"calls","metadata":{"unresolvedName":"listToolTypes"}},{"from":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:ToolTypesPage","to":"symbol-name:setToolTypes","kind":"calls","metadata":{"unresolvedName":"setToolTypes"}},{"from":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:ToolTypesPage","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:ToolTypesPage","to":"/workspace/apps/web/src/pages/SessionsPage.tsx:loadToolTypes","kind":"calls","metadata":{"unresolvedName":"loadToolTypes"}},{"from":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:ToolTypesPage","to":"symbol-name:setEditingToolType","kind":"calls","metadata":{"unresolvedName":"setEditingToolType"}},{"from":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:ToolTypesPage","to":"symbol-name:setDialogMode","kind":"calls","metadata":{"unresolvedName":"setDialogMode"}},{"from":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:ToolTypesPage","to":"/workspace/apps/web/src/api/tool-types.ts:createToolType","kind":"calls","metadata":{"unresolvedName":"createToolType"}},{"from":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:ToolTypesPage","to":"/workspace/apps/web/src/api/tool-types.ts:updateToolType","kind":"calls","metadata":{"unresolvedName":"updateToolType"}},{"from":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:ToolTypesPage","to":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:closeDialog","kind":"calls","metadata":{"unresolvedName":"closeDialog"}},{"from":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:ToolTypesPage","to":"/workspace/apps/web/src/api/tool-types.ts:deleteToolType","kind":"calls","metadata":{"unresolvedName":"deleteToolType"}},{"from":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:ToolTypesPage","to":"symbol-name:setDeleteConfirmId","kind":"calls","metadata":{"unresolvedName":"setDeleteConfirmId"}},{"from":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:ToolTypesPage","to":"symbol-name:alert","kind":"calls","metadata":{"unresolvedName":"alert"}},{"from":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:ToolTypesPage","to":"symbol-name:navigate","kind":"calls","metadata":{"unresolvedName":"navigate"}},{"from":"file:/workspace/apps/web/src/pages/ToolTypesPage.tsx","to":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolTypesPage.tsx","to":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:<anonymous>","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:<anonymous>","to":"/workspace/apps/web/src/api/tool-types.ts:listToolTypes","kind":"calls","metadata":{"unresolvedName":"listToolTypes"}},{"from":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:<anonymous>","to":"symbol-name:setToolTypes","kind":"calls","metadata":{"unresolvedName":"setToolTypes"}},{"from":"file:/workspace/apps/web/src/pages/ToolTypesPage.tsx","to":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolTypesPage.tsx","to":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:<anonymous>","to":"/workspace/apps/web/src/pages/SessionsPage.tsx:loadToolTypes","kind":"calls","metadata":{"unresolvedName":"loadToolTypes"}},{"from":"file:/workspace/apps/web/src/pages/ToolTypesPage.tsx","to":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:openCreate","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolTypesPage.tsx","to":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:openCreate","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:openCreate","to":"symbol-name:setEditingToolType","kind":"calls","metadata":{"unresolvedName":"setEditingToolType"}},{"from":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:openCreate","to":"symbol-name:setDialogMode","kind":"calls","metadata":{"unresolvedName":"setDialogMode"}},{"from":"file:/workspace/apps/web/src/pages/ToolTypesPage.tsx","to":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:openEdit","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolTypesPage.tsx","to":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:openEdit","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:openEdit","to":"symbol-name:setEditingToolType","kind":"calls","metadata":{"unresolvedName":"setEditingToolType"}},{"from":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:openEdit","to":"symbol-name:setDialogMode","kind":"calls","metadata":{"unresolvedName":"setDialogMode"}},{"from":"file:/workspace/apps/web/src/pages/ToolTypesPage.tsx","to":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:closeDialog","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolTypesPage.tsx","to":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:closeDialog","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:closeDialog","to":"symbol-name:setDialogMode","kind":"calls","metadata":{"unresolvedName":"setDialogMode"}},{"from":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:closeDialog","to":"symbol-name:setEditingToolType","kind":"calls","metadata":{"unresolvedName":"setEditingToolType"}},{"from":"file:/workspace/apps/web/src/pages/ToolTypesPage.tsx","to":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:handleSubmit","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolTypesPage.tsx","to":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:handleSubmit","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:handleSubmit","to":"/workspace/apps/web/src/api/tool-types.ts:createToolType","kind":"calls","metadata":{"unresolvedName":"createToolType"}},{"from":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:handleSubmit","to":"/workspace/apps/web/src/api/tool-types.ts:updateToolType","kind":"calls","metadata":{"unresolvedName":"updateToolType"}},{"from":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:handleSubmit","to":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:closeDialog","kind":"calls","metadata":{"unresolvedName":"closeDialog"}},{"from":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:handleSubmit","to":"/workspace/apps/web/src/pages/SessionsPage.tsx:loadToolTypes","kind":"calls","metadata":{"unresolvedName":"loadToolTypes"}},{"from":"file:/workspace/apps/web/src/pages/ToolTypesPage.tsx","to":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:handleDelete","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolTypesPage.tsx","to":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:handleDelete","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:handleDelete","to":"/workspace/apps/web/src/api/tool-types.ts:deleteToolType","kind":"calls","metadata":{"unresolvedName":"deleteToolType"}},{"from":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:handleDelete","to":"symbol-name:setDeleteConfirmId","kind":"calls","metadata":{"unresolvedName":"setDeleteConfirmId"}},{"from":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:handleDelete","to":"/workspace/apps/web/src/pages/SessionsPage.tsx:loadToolTypes","kind":"calls","metadata":{"unresolvedName":"loadToolTypes"}},{"from":"/workspace/apps/web/src/pages/ToolTypesPage.tsx:handleDelete","to":"symbol-name:alert","kind":"calls","metadata":{"unresolvedName":"alert"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"external:@testing-library/react","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"external:vitest","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"file:/workspace/apps/web/src/api/tool-types.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"file:/workspace/apps/web/src/api/tool-configs.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"file:/workspace/apps/web/src/api/config-folders.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:cleanup","kind":"calls","metadata":{"unresolvedName":"cleanup"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.restoreAllMocks","kind":"calls","metadata":{"unresolvedName":"vi.restoreAllMocks"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:it","kind":"calls","metadata":{"unresolvedName":"it"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolTypesApi, \"listToolTypes\").mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolTypesApi, \"listToolTypes\").mockImplementation"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockImplementation"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(configFoldersApi, \"listConfigFolders\").mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(configFoldersApi, \"listConfigFolders\").mockImplementation"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(/loading/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(/loading/i)).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolTypesApi, \"listToolTypes\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolTypesApi, \"listToolTypes\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(configFoldersApi, \"listConfigFolders\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(configFoldersApi, \"listConfigFolders\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Custom Tool\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Custom Tool\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"OPENAI_API_KEY\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"OPENAI_API_KEY\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"advanced-config\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"advanced-config\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"my-dotfiles\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"my-dotfiles\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"project-configs\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"project-configs\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByLabelText(\"Name *\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByLabelText(\"Name *\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByLabelText","kind":"calls","metadata":{"unresolvedName":"screen.getByLabelText"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByLabelText(\"Display Name *\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByLabelText(\"Display Name *\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolTypesApi, \"createToolType\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolTypesApi, \"createToolType\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:fireEvent.change","kind":"calls","metadata":{"unresolvedName":"fireEvent.change"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(createMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(createMock).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(/readiness probe command/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(/readiness probe command/i)).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(/timeout/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(/timeout/i)).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(/interval/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(/interval/i)).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByLabelText(/key/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByLabelText(/key/i)).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByLabelText(/value/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByLabelText(/value/i)).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolConfigsApi, \"createToolConfig\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolConfigsApi, \"createToolConfig\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(configsListMock).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(configsListMock).toHaveBeenCalledTimes"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByLabelText(\"Mount Path *\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByLabelText(\"Mount Path *\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(configFoldersApi, \"createConfigFolder\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(configFoldersApi, \"createConfigFolder\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(foldersListMock).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(foldersListMock).toHaveBeenCalledTimes"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Active\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Active\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolTypesApi, \"listToolTypes\").mockRejectedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolTypesApi, \"listToolTypes\").mockRejectedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockRejectedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockRejectedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(configFoldersApi, \"listConfigFolders\").mockRejectedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(configFoldersApi, \"listConfigFolders\").mockRejectedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(/failed to load/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(/failed to load/i)).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByRole(\"button\", { name: /retry/i })).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole(\"button\", { name: /retry/i })).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolTypesApi, \"listToolTypes\")\n .mockRejectedValueOnce","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolTypesApi, \"listToolTypes\")\n .mockRejectedValueOnce"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolConfigsApi, \"listToolConfigs\")\n .mockRejectedValueOnce","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolConfigsApi, \"listToolConfigs\")\n .mockRejectedValueOnce"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(configFoldersApi, \"listConfigFolders\")\n .mockRejectedValueOnce","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(configFoldersApi, \"listConfigFolders\")\n .mockRejectedValueOnce"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(listMock).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(listMock).toHaveBeenCalledTimes"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolTypesApi, \"deleteToolType\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolTypesApi, \"deleteToolType\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText(\"Custom Tool\").closest","kind":"calls","metadata":{"unresolvedName":"screen.getByText(\"Custom Tool\").closest"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:within(customToolCard as HTMLElement).queryByRole","kind":"calls","metadata":{"unresolvedName":"within(customToolCard as HTMLElement).queryByRole"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:within","kind":"calls","metadata":{"unresolvedName":"within"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(window, \"confirm\").mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, \"confirm\").mockReturnValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(deleteMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(deleteMock).toHaveBeenCalledWith"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolTypesApi, \"listToolTypes\").mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolTypesApi, \"listToolTypes\").mockImplementation"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockImplementation"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(configFoldersApi, \"listConfigFolders\").mockImplementation","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(configFoldersApi, \"listConfigFolders\").mockImplementation"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(/loading/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(/loading/i)).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolTypesApi, \"listToolTypes\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolTypesApi, \"listToolTypes\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(configFoldersApi, \"listConfigFolders\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(configFoldersApi, \"listConfigFolders\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Custom Tool\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Custom Tool\")).toBeInTheDocument"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolTypesApi, \"listToolTypes\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolTypesApi, \"listToolTypes\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(configFoldersApi, \"listConfigFolders\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(configFoldersApi, \"listConfigFolders\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"OPENAI_API_KEY\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"OPENAI_API_KEY\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"advanced-config\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"advanced-config\")).toBeInTheDocument"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"OPENAI_API_KEY\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"OPENAI_API_KEY\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolTypesApi, \"listToolTypes\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolTypesApi, \"listToolTypes\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(configFoldersApi, \"listConfigFolders\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(configFoldersApi, \"listConfigFolders\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"my-dotfiles\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"my-dotfiles\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"project-configs\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"project-configs\")).toBeInTheDocument"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"my-dotfiles\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"my-dotfiles\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolTypesApi, \"listToolTypes\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolTypesApi, \"listToolTypes\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(configFoldersApi, \"listConfigFolders\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(configFoldersApi, \"listConfigFolders\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByLabelText(\"Name *\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByLabelText(\"Name *\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByLabelText","kind":"calls","metadata":{"unresolvedName":"screen.getByLabelText"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByLabelText(\"Display Name *\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByLabelText(\"Display Name *\")).toBeInTheDocument"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolTypesApi, \"listToolTypes\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolTypesApi, \"listToolTypes\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolTypesApi, \"createToolType\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolTypesApi, \"createToolType\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(configFoldersApi, \"listConfigFolders\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(configFoldersApi, \"listConfigFolders\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:fireEvent.change","kind":"calls","metadata":{"unresolvedName":"fireEvent.change"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByLabelText","kind":"calls","metadata":{"unresolvedName":"screen.getByLabelText"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(createMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(createMock).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(createMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(createMock).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolTypesApi, \"listToolTypes\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolTypesApi, \"listToolTypes\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolTypesApi, \"createToolType\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolTypesApi, \"createToolType\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(configFoldersApi, \"listConfigFolders\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(configFoldersApi, \"listConfigFolders\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:fireEvent.change","kind":"calls","metadata":{"unresolvedName":"fireEvent.change"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByLabelText","kind":"calls","metadata":{"unresolvedName":"screen.getByLabelText"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(createMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(createMock).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(createMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(createMock).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolTypesApi, \"listToolTypes\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolTypesApi, \"listToolTypes\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(configFoldersApi, \"listConfigFolders\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(configFoldersApi, \"listConfigFolders\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(/readiness probe command/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(/readiness probe command/i)).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(/timeout/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(/timeout/i)).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(/interval/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(/interval/i)).toBeInTheDocument"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolTypesApi, \"listToolTypes\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolTypesApi, \"listToolTypes\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(configFoldersApi, \"listConfigFolders\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(configFoldersApi, \"listConfigFolders\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"OPENAI_API_KEY\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"OPENAI_API_KEY\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByLabelText(/key/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByLabelText(/key/i)).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByLabelText","kind":"calls","metadata":{"unresolvedName":"screen.getByLabelText"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByLabelText(/value/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByLabelText(/value/i)).toBeInTheDocument"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"OPENAI_API_KEY\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"OPENAI_API_KEY\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolTypesApi, \"listToolTypes\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolTypesApi, \"listToolTypes\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolConfigsApi, \"createToolConfig\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolConfigsApi, \"createToolConfig\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(configFoldersApi, \"listConfigFolders\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(configFoldersApi, \"listConfigFolders\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"OPENAI_API_KEY\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"OPENAI_API_KEY\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:fireEvent.change","kind":"calls","metadata":{"unresolvedName":"fireEvent.change"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByLabelText","kind":"calls","metadata":{"unresolvedName":"screen.getByLabelText"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(createMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(createMock).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(configsListMock).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(configsListMock).toHaveBeenCalledTimes"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"OPENAI_API_KEY\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"OPENAI_API_KEY\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(createMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(createMock).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolTypesApi, \"listToolTypes\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolTypesApi, \"listToolTypes\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(configFoldersApi, \"listConfigFolders\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(configFoldersApi, \"listConfigFolders\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"my-dotfiles\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"my-dotfiles\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByLabelText(\"Name *\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByLabelText(\"Name *\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByLabelText","kind":"calls","metadata":{"unresolvedName":"screen.getByLabelText"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByLabelText(\"Mount Path *\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByLabelText(\"Mount Path *\")).toBeInTheDocument"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"my-dotfiles\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"my-dotfiles\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(configFoldersApi, \"listConfigFolders\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(configFoldersApi, \"listConfigFolders\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(configFoldersApi, \"createConfigFolder\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(configFoldersApi, \"createConfigFolder\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolTypesApi, \"listToolTypes\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolTypesApi, \"listToolTypes\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"my-dotfiles\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"my-dotfiles\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:fireEvent.change","kind":"calls","metadata":{"unresolvedName":"fireEvent.change"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByLabelText","kind":"calls","metadata":{"unresolvedName":"screen.getByLabelText"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(createMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(createMock).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(foldersListMock).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(foldersListMock).toHaveBeenCalledTimes"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"my-dotfiles\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"my-dotfiles\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(createMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(createMock).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect.objectContaining","kind":"calls","metadata":{"unresolvedName":"expect.objectContaining"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolTypesApi, \"listToolTypes\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolTypesApi, \"listToolTypes\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(configFoldersApi, \"listConfigFolders\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(configFoldersApi, \"listConfigFolders\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"my-dotfiles\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"my-dotfiles\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Active\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Active\")).toBeInTheDocument"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"my-dotfiles\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"my-dotfiles\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolTypesApi, \"listToolTypes\").mockRejectedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolTypesApi, \"listToolTypes\").mockRejectedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockRejectedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockRejectedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(configFoldersApi, \"listConfigFolders\").mockRejectedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(configFoldersApi, \"listConfigFolders\").mockRejectedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(/failed to load/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(/failed to load/i)).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByRole(\"button\", { name: /retry/i })).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByRole(\"button\", { name: /retry/i })).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(/failed to load/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(/failed to load/i)).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolTypesApi, \"listToolTypes\")\n .mockRejectedValueOnce","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolTypesApi, \"listToolTypes\")\n .mockRejectedValueOnce"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolConfigsApi, \"listToolConfigs\")\n .mockRejectedValueOnce","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolConfigsApi, \"listToolConfigs\")\n .mockRejectedValueOnce"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(configFoldersApi, \"listConfigFolders\")\n .mockRejectedValueOnce","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(configFoldersApi, \"listConfigFolders\")\n .mockRejectedValueOnce"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(/failed to load/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(/failed to load/i)).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByRole","kind":"calls","metadata":{"unresolvedName":"screen.getByRole"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(listMock).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(listMock).toHaveBeenCalledTimes"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(/failed to load/i)).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(/failed to load/i)).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"VS Code Server\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolTypesApi, \"listToolTypes\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolTypesApi, \"listToolTypes\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn","kind":"calls","metadata":{"unresolvedName":"vi.spyOn"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolTypesApi, \"deleteToolType\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolTypesApi, \"deleteToolType\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(toolConfigsApi, \"listToolConfigs\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(configFoldersApi, \"listConfigFolders\").mockResolvedValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(configFoldersApi, \"listConfigFolders\").mockResolvedValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:render","kind":"calls","metadata":{"unresolvedName":"render"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:waitFor","kind":"calls","metadata":{"unresolvedName":"waitFor"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Custom Tool\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Custom Tool\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText(\"Custom Tool\").closest","kind":"calls","metadata":{"unresolvedName":"screen.getByText(\"Custom Tool\").closest"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:within(customToolCard as HTMLElement).queryByRole","kind":"calls","metadata":{"unresolvedName":"within(customToolCard as HTMLElement).queryByRole"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:within","kind":"calls","metadata":{"unresolvedName":"within"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:vi.spyOn(window, \"confirm\").mockReturnValue","kind":"calls","metadata":{"unresolvedName":"vi.spyOn(window, \"confirm\").mockReturnValue"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:fireEvent.click","kind":"calls","metadata":{"unresolvedName":"fireEvent.click"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(deleteMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(deleteMock).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(listMock).toHaveBeenCalledTimes","kind":"calls","metadata":{"unresolvedName":"expect(listMock).toHaveBeenCalledTimes"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(screen.getByText(\"Custom Tool\")).toBeInTheDocument","kind":"calls","metadata":{"unresolvedName":"expect(screen.getByText(\"Custom Tool\")).toBeInTheDocument"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:screen.getByText","kind":"calls","metadata":{"unresolvedName":"screen.getByText"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"external:expect(deleteMock).toHaveBeenCalledWith","kind":"calls","metadata":{"unresolvedName":"expect(deleteMock).toHaveBeenCalledWith"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.test.tsx:<anonymous>","to":"symbol-name:expect","kind":"calls","metadata":{"unresolvedName":"expect"}},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.tsx","to":"file:/workspace/apps/web/src/components/ui","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.tsx","to":"file:/workspace/apps/web/src/components/features/tool-workshop","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.tsx:ToolWorkshopPage","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.tsx","to":"/workspace/apps/web/src/pages/ToolWorkshopPage.tsx:ToolWorkshopPage","kind":"defines"},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.tsx:ToolWorkshopPage","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.tsx:ToolWorkshopPage","to":"external:([\"types\", \"configs\", \"folders\"] as Tab[]).map","kind":"calls","metadata":{"unresolvedName":"([\"types\", \"configs\", \"folders\"] as Tab[]).map"}},{"from":"/workspace/apps/web/src/pages/ToolWorkshopPage.tsx:ToolWorkshopPage","to":"symbol-name:setActiveTab","kind":"calls","metadata":{"unresolvedName":"setActiveTab"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"file:/workspace/apps/web/src/components/data-states.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"external:@/components/ui/Icon","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"file:/workspace/apps/web/src/hooks/use-mobile-viewport.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"file:/workspace/apps/web/src/utils/errors.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"file:/workspace/apps/web/src/components/mobile-list-view.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"file:/workspace/apps/web/src/components/mobile-detail-view.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"file:/workspace/apps/web/src/components/mobile-edit-view.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"file:/workspace/apps/web/src/components/mobile-fab.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"file:/workspace/apps/web/src/api/config_profiles.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"file:/workspace/apps/web/src/api/projects.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"file:/workspace/apps/web/src/types","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"external:@/api/tool-types","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"file:/workspace/apps/web/src/components/git-mount-editor.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"/workspace/apps/web/src/hooks/use-mobile-viewport.ts:useMobileViewport","kind":"calls","metadata":{"unresolvedName":"useMobileViewport"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"external:profiles.find","kind":"calls","metadata":{"unresolvedName":"profiles.find"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"external:Promise.all","kind":"calls","metadata":{"unresolvedName":"Promise.all"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"/workspace/apps/web/src/api/config_profiles.ts:listConfigProfiles","kind":"calls","metadata":{"unresolvedName":"listConfigProfiles"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"/workspace/apps/web/src/api/projects.ts:listProjects","kind":"calls","metadata":{"unresolvedName":"listProjects"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"/workspace/apps/web/src/api/tool-types.ts:listToolTypes","kind":"calls","metadata":{"unresolvedName":"listToolTypes"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"symbol-name:setProfiles","kind":"calls","metadata":{"unresolvedName":"setProfiles"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"symbol-name:setProjects","kind":"calls","metadata":{"unresolvedName":"setProjects"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"symbol-name:setToolTypes","kind":"calls","metadata":{"unresolvedName":"setToolTypes"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"symbol-name:loadData","kind":"calls","metadata":{"unresolvedName":"loadData"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"symbol-name:setFormData","kind":"calls","metadata":{"unresolvedName":"setFormData"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"symbol-name:setIncludedProfileIds","kind":"calls","metadata":{"unresolvedName":"setIncludedProfileIds"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"symbol-name:setSaveStatus","kind":"calls","metadata":{"unresolvedName":"setSaveStatus"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"symbol-name:setPreviewData","kind":"calls","metadata":{"unresolvedName":"setPreviewData"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"external:profile.includes.map","kind":"calls","metadata":{"unresolvedName":"profile.includes.map"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"symbol-name:setSelectedProfileId","kind":"calls","metadata":{"unresolvedName":"setSelectedProfileId"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"symbol-name:setIsCreating","kind":"calls","metadata":{"unresolvedName":"setIsCreating"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"/workspace/apps/web/src/pages/config-profiles.tsx:populateForm","kind":"calls","metadata":{"unresolvedName":"populateForm"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"symbol-name:resetForm","kind":"calls","metadata":{"unresolvedName":"resetForm"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"external:visited.has","kind":"calls","metadata":{"unresolvedName":"visited.has"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"symbol-name:getIncludedProfile","kind":"calls","metadata":{"unresolvedName":"getIncludedProfile"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"external:nextVisited.add","kind":"calls","metadata":{"unresolvedName":"nextVisited.add"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"/workspace/apps/web/src/pages/config-profiles.tsx:wouldCreateCycle","kind":"calls","metadata":{"unresolvedName":"wouldCreateCycle"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"external:profiles.filter","kind":"calls","metadata":{"unresolvedName":"profiles.filter"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"external:includedProfileIds.includes","kind":"calls","metadata":{"unresolvedName":"includedProfileIds.includes"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"external:e.dataTransfer.setData","kind":"calls","metadata":{"unresolvedName":"e.dataTransfer.setData"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"symbol-name:setDragOverIndex","kind":"calls","metadata":{"unresolvedName":"setDragOverIndex"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"symbol-name:Number","kind":"calls","metadata":{"unresolvedName":"Number"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"external:e.dataTransfer.getData","kind":"calls","metadata":{"unresolvedName":"e.dataTransfer.getData"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"external:newOrder.splice","kind":"calls","metadata":{"unresolvedName":"newOrder.splice"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"external:formData.name?.trim","kind":"calls","metadata":{"unresolvedName":"formData.name?.trim"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"/workspace/apps/web/src/api/config_profiles.ts:createConfigProfile","kind":"calls","metadata":{"unresolvedName":"createConfigProfile"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"/workspace/apps/web/src/api/config_profiles.ts:updateProfileIncludes","kind":"calls","metadata":{"unresolvedName":"updateProfileIncludes"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"external:(await listConfigProfiles()).find","kind":"calls","metadata":{"unresolvedName":"(await listConfigProfiles()).find"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"/workspace/apps/web/src/api/config_profiles.ts:updateConfigProfile","kind":"calls","metadata":{"unresolvedName":"updateConfigProfile"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"/workspace/apps/web/src/utils/errors.ts:extractErrorMessage","kind":"calls","metadata":{"unresolvedName":"extractErrorMessage"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"external:window.confirm","kind":"calls","metadata":{"unresolvedName":"window.confirm"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"/workspace/apps/web/src/api/config_profiles.ts:deleteConfigProfile","kind":"calls","metadata":{"unresolvedName":"deleteConfigProfile"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"symbol-name:alert","kind":"calls","metadata":{"unresolvedName":"alert"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"symbol-name:setPreviewingId","kind":"calls","metadata":{"unresolvedName":"setPreviewingId"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"/workspace/apps/web/src/api/config_profiles.ts:previewConfigProfile","kind":"calls","metadata":{"unresolvedName":"previewConfigProfile"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"external:mounts.splice","kind":"calls","metadata":{"unresolvedName":"mounts.splice"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"external:profiles.map","kind":"calls","metadata":{"unresolvedName":"profiles.map"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"/workspace/apps/web/src/pages/config-profiles.tsx:getScopeLabel","kind":"calls","metadata":{"unresolvedName":"getScopeLabel"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"symbol-name:setMobileView","kind":"calls","metadata":{"unresolvedName":"setMobileView"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"symbol-name:handleDelete","kind":"calls","metadata":{"unresolvedName":"handleDelete"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"external:Object.keys","kind":"calls","metadata":{"unresolvedName":"Object.keys"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"external:Object.entries(selectedProfile.env_vars)\n\t\t\t\t\t\t\t\t\t.map","kind":"calls","metadata":{"unresolvedName":"Object.entries(selectedProfile.env_vars)\n\t\t\t\t\t\t\t\t\t.map"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"external:Object.entries","kind":"calls","metadata":{"unresolvedName":"Object.entries"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"external:selectedProfile.mounts\n\t\t\t\t\t\t\t\t\t.map","kind":"calls","metadata":{"unresolvedName":"selectedProfile.mounts\n\t\t\t\t\t\t\t\t\t.map"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"symbol-name:handleSubmit","kind":"calls","metadata":{"unresolvedName":"handleSubmit"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"/workspace/apps/web/src/pages/config-profiles.tsx:updateFormField","kind":"calls","metadata":{"unresolvedName":"updateFormField"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"external:projects.map","kind":"calls","metadata":{"unresolvedName":"projects.map"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"external:toolTypes.map","kind":"calls","metadata":{"unresolvedName":"toolTypes.map"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"external:Object.entries(formData.env_vars || {}).map","kind":"calls","metadata":{"unresolvedName":"Object.entries(formData.env_vars || {}).map"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"external:(formData.mounts || []).map","kind":"calls","metadata":{"unresolvedName":"(formData.mounts || []).map"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"external:(formData.mounts || []).filter","kind":"calls","metadata":{"unresolvedName":"(formData.mounts || []).filter"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"/workspace/apps/web/src/pages/config-profiles.tsx:handleSelectProfile","kind":"calls","metadata":{"unresolvedName":"handleSelectProfile"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"external:projects.find","kind":"calls","metadata":{"unresolvedName":"projects.find"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"external:toolTypes.find","kind":"calls","metadata":{"unresolvedName":"toolTypes.find"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"symbol-name:handlePreview","kind":"calls","metadata":{"unresolvedName":"handlePreview"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"external:includedProfileIds.map","kind":"calls","metadata":{"unresolvedName":"includedProfileIds.map"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"/workspace/apps/web/src/pages/config-profiles.tsx:handleDragStart","kind":"calls","metadata":{"unresolvedName":"handleDragStart"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"/workspace/apps/web/src/pages/config-profiles.tsx:handleDragOver","kind":"calls","metadata":{"unresolvedName":"handleDragOver"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"/workspace/apps/web/src/pages/config-profiles.tsx:handleDrop","kind":"calls","metadata":{"unresolvedName":"handleDrop"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"/workspace/apps/web/src/pages/config-profiles.tsx:removeInclude","kind":"calls","metadata":{"unresolvedName":"removeInclude"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"/workspace/apps/web/src/pages/config-profiles.tsx:availableProfilesForInclude","kind":"calls","metadata":{"unresolvedName":"availableProfilesForInclude"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"/workspace/apps/web/src/pages/config-profiles.tsx:addInclude","kind":"calls","metadata":{"unresolvedName":"addInclude"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"external:availableProfilesForInclude().map","kind":"calls","metadata":{"unresolvedName":"availableProfilesForInclude().map"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"symbol-name:updateEnvVar","kind":"calls","metadata":{"unresolvedName":"updateEnvVar"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"/workspace/apps/web/src/pages/config-profiles.tsx:removeEnvVar","kind":"calls","metadata":{"unresolvedName":"removeEnvVar"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"external:Object.entries(formData.files || {}).map","kind":"calls","metadata":{"unresolvedName":"Object.entries(formData.files || {}).map"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"/workspace/apps/web/src/pages/config-profiles.tsx:updateFile","kind":"calls","metadata":{"unresolvedName":"updateFile"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"/workspace/apps/web/src/pages/config-profiles.tsx:removeFile","kind":"calls","metadata":{"unresolvedName":"removeFile"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"symbol-name:updateMount","kind":"calls","metadata":{"unresolvedName":"updateMount"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"/workspace/apps/web/src/pages/config-profiles.tsx:removeMount","kind":"calls","metadata":{"unresolvedName":"removeMount"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"external:Object.entries(mount.files).map","kind":"calls","metadata":{"unresolvedName":"Object.entries(mount.files).map"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"/workspace/apps/web/src/pages/config-profiles.tsx:updateMountFile","kind":"calls","metadata":{"unresolvedName":"updateMountFile"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"/workspace/apps/web/src/pages/config-profiles.tsx:removeMountFile","kind":"calls","metadata":{"unresolvedName":"removeMountFile"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:ConfigProfilesPage","to":"/workspace/apps/web/src/pages/config-profiles.tsx:addMountFile","kind":"calls","metadata":{"unresolvedName":"addMountFile"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"symbol-name:setStatus","kind":"calls","metadata":{"unresolvedName":"setStatus"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"external:Promise.all","kind":"calls","metadata":{"unresolvedName":"Promise.all"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"/workspace/apps/web/src/api/config_profiles.ts:listConfigProfiles","kind":"calls","metadata":{"unresolvedName":"listConfigProfiles"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"/workspace/apps/web/src/api/projects.ts:listProjects","kind":"calls","metadata":{"unresolvedName":"listProjects"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"/workspace/apps/web/src/api/tool-types.ts:listToolTypes","kind":"calls","metadata":{"unresolvedName":"listToolTypes"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"symbol-name:setProfiles","kind":"calls","metadata":{"unresolvedName":"setProfiles"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"symbol-name:setProjects","kind":"calls","metadata":{"unresolvedName":"setProjects"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"symbol-name:setToolTypes","kind":"calls","metadata":{"unresolvedName":"setToolTypes"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"symbol-name:loadData","kind":"calls","metadata":{"unresolvedName":"loadData"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:resetForm","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:resetForm","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:resetForm","to":"symbol-name:setFormData","kind":"calls","metadata":{"unresolvedName":"setFormData"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:resetForm","to":"symbol-name:setIncludedProfileIds","kind":"calls","metadata":{"unresolvedName":"setIncludedProfileIds"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:resetForm","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:resetForm","to":"symbol-name:setSaveStatus","kind":"calls","metadata":{"unresolvedName":"setSaveStatus"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:resetForm","to":"symbol-name:setPreviewData","kind":"calls","metadata":{"unresolvedName":"setPreviewData"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:populateForm","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:populateForm","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:populateForm","to":"symbol-name:setFormData","kind":"calls","metadata":{"unresolvedName":"setFormData"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:populateForm","to":"symbol-name:setIncludedProfileIds","kind":"calls","metadata":{"unresolvedName":"setIncludedProfileIds"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:populateForm","to":"external:profile.includes.map","kind":"calls","metadata":{"unresolvedName":"profile.includes.map"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:populateForm","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:populateForm","to":"symbol-name:setSaveStatus","kind":"calls","metadata":{"unresolvedName":"setSaveStatus"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:populateForm","to":"symbol-name:setPreviewData","kind":"calls","metadata":{"unresolvedName":"setPreviewData"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:handleSelectProfile","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:handleSelectProfile","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handleSelectProfile","to":"symbol-name:setSelectedProfileId","kind":"calls","metadata":{"unresolvedName":"setSelectedProfileId"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handleSelectProfile","to":"symbol-name:setIsCreating","kind":"calls","metadata":{"unresolvedName":"setIsCreating"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handleSelectProfile","to":"/workspace/apps/web/src/pages/config-profiles.tsx:populateForm","kind":"calls","metadata":{"unresolvedName":"populateForm"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:handleCreateNew","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:handleCreateNew","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handleCreateNew","to":"symbol-name:setSelectedProfileId","kind":"calls","metadata":{"unresolvedName":"setSelectedProfileId"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handleCreateNew","to":"symbol-name:setIsCreating","kind":"calls","metadata":{"unresolvedName":"setIsCreating"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handleCreateNew","to":"symbol-name:resetForm","kind":"calls","metadata":{"unresolvedName":"resetForm"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:getScopeLabel","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:getScopeLabel","kind":"defines"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:wouldCreateCycle","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:wouldCreateCycle","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:wouldCreateCycle","to":"external:visited.has","kind":"calls","metadata":{"unresolvedName":"visited.has"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:wouldCreateCycle","to":"symbol-name:getIncludedProfile","kind":"calls","metadata":{"unresolvedName":"getIncludedProfile"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:wouldCreateCycle","to":"external:nextVisited.add","kind":"calls","metadata":{"unresolvedName":"nextVisited.add"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:wouldCreateCycle","to":"/workspace/apps/web/src/pages/config-profiles.tsx:wouldCreateCycle","kind":"calls","metadata":{"unresolvedName":"wouldCreateCycle"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:availableProfilesForInclude","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:availableProfilesForInclude","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:availableProfilesForInclude","to":"external:profiles.filter","kind":"calls","metadata":{"unresolvedName":"profiles.filter"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:availableProfilesForInclude","to":"external:includedProfileIds.includes","kind":"calls","metadata":{"unresolvedName":"includedProfileIds.includes"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:availableProfilesForInclude","to":"/workspace/apps/web/src/pages/config-profiles.tsx:wouldCreateCycle","kind":"calls","metadata":{"unresolvedName":"wouldCreateCycle"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"external:includedProfileIds.includes","kind":"calls","metadata":{"unresolvedName":"includedProfileIds.includes"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"/workspace/apps/web/src/pages/config-profiles.tsx:wouldCreateCycle","kind":"calls","metadata":{"unresolvedName":"wouldCreateCycle"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:addInclude","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:addInclude","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:addInclude","to":"symbol-name:setIncludedProfileIds","kind":"calls","metadata":{"unresolvedName":"setIncludedProfileIds"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:removeInclude","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:removeInclude","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:removeInclude","to":"symbol-name:setIncludedProfileIds","kind":"calls","metadata":{"unresolvedName":"setIncludedProfileIds"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:removeInclude","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:handleDragStart","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:handleDragStart","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handleDragStart","to":"external:e.dataTransfer.setData","kind":"calls","metadata":{"unresolvedName":"e.dataTransfer.setData"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handleDragStart","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:handleDragOver","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:handleDragOver","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handleDragOver","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handleDragOver","to":"symbol-name:setDragOverIndex","kind":"calls","metadata":{"unresolvedName":"setDragOverIndex"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:handleDragLeave","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:handleDragLeave","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handleDragLeave","to":"symbol-name:setDragOverIndex","kind":"calls","metadata":{"unresolvedName":"setDragOverIndex"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:handleDrop","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:handleDrop","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handleDrop","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handleDrop","to":"symbol-name:Number","kind":"calls","metadata":{"unresolvedName":"Number"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handleDrop","to":"external:e.dataTransfer.getData","kind":"calls","metadata":{"unresolvedName":"e.dataTransfer.getData"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handleDrop","to":"symbol-name:setDragOverIndex","kind":"calls","metadata":{"unresolvedName":"setDragOverIndex"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handleDrop","to":"symbol-name:setIncludedProfileIds","kind":"calls","metadata":{"unresolvedName":"setIncludedProfileIds"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handleDrop","to":"external:newOrder.splice","kind":"calls","metadata":{"unresolvedName":"newOrder.splice"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"external:newOrder.splice","kind":"calls","metadata":{"unresolvedName":"newOrder.splice"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:handleSubmit","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:handleSubmit","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handleSubmit","to":"external:e.preventDefault","kind":"calls","metadata":{"unresolvedName":"e.preventDefault"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handleSubmit","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handleSubmit","to":"symbol-name:setSaveStatus","kind":"calls","metadata":{"unresolvedName":"setSaveStatus"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handleSubmit","to":"external:formData.name?.trim","kind":"calls","metadata":{"unresolvedName":"formData.name?.trim"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handleSubmit","to":"/workspace/apps/web/src/api/config_profiles.ts:createConfigProfile","kind":"calls","metadata":{"unresolvedName":"createConfigProfile"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handleSubmit","to":"/workspace/apps/web/src/api/config_profiles.ts:updateProfileIncludes","kind":"calls","metadata":{"unresolvedName":"updateProfileIncludes"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handleSubmit","to":"symbol-name:setIsCreating","kind":"calls","metadata":{"unresolvedName":"setIsCreating"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handleSubmit","to":"symbol-name:setSelectedProfileId","kind":"calls","metadata":{"unresolvedName":"setSelectedProfileId"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handleSubmit","to":"symbol-name:loadData","kind":"calls","metadata":{"unresolvedName":"loadData"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handleSubmit","to":"external:(await listConfigProfiles()).find","kind":"calls","metadata":{"unresolvedName":"(await listConfigProfiles()).find"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handleSubmit","to":"/workspace/apps/web/src/api/config_profiles.ts:listConfigProfiles","kind":"calls","metadata":{"unresolvedName":"listConfigProfiles"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handleSubmit","to":"/workspace/apps/web/src/pages/config-profiles.tsx:populateForm","kind":"calls","metadata":{"unresolvedName":"populateForm"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handleSubmit","to":"/workspace/apps/web/src/api/config_profiles.ts:updateConfigProfile","kind":"calls","metadata":{"unresolvedName":"updateConfigProfile"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handleSubmit","to":"/workspace/apps/web/src/utils/errors.ts:extractErrorMessage","kind":"calls","metadata":{"unresolvedName":"extractErrorMessage"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:handleDelete","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:handleDelete","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handleDelete","to":"external:window.confirm","kind":"calls","metadata":{"unresolvedName":"window.confirm"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handleDelete","to":"/workspace/apps/web/src/api/config_profiles.ts:deleteConfigProfile","kind":"calls","metadata":{"unresolvedName":"deleteConfigProfile"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handleDelete","to":"symbol-name:setSelectedProfileId","kind":"calls","metadata":{"unresolvedName":"setSelectedProfileId"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handleDelete","to":"symbol-name:setIsCreating","kind":"calls","metadata":{"unresolvedName":"setIsCreating"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handleDelete","to":"symbol-name:resetForm","kind":"calls","metadata":{"unresolvedName":"resetForm"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handleDelete","to":"symbol-name:loadData","kind":"calls","metadata":{"unresolvedName":"loadData"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handleDelete","to":"symbol-name:alert","kind":"calls","metadata":{"unresolvedName":"alert"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:handlePreview","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:handlePreview","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handlePreview","to":"symbol-name:setPreviewingId","kind":"calls","metadata":{"unresolvedName":"setPreviewingId"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handlePreview","to":"/workspace/apps/web/src/api/config_profiles.ts:previewConfigProfile","kind":"calls","metadata":{"unresolvedName":"previewConfigProfile"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handlePreview","to":"symbol-name:setPreviewData","kind":"calls","metadata":{"unresolvedName":"setPreviewData"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:handlePreview","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:updateFormField","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:updateFormField","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:updateFormField","to":"symbol-name:setFormData","kind":"calls","metadata":{"unresolvedName":"setFormData"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:updateFormField","to":"symbol-name:setSaveStatus","kind":"calls","metadata":{"unresolvedName":"setSaveStatus"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:addEnvVar","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:addEnvVar","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:addEnvVar","to":"symbol-name:setFormData","kind":"calls","metadata":{"unresolvedName":"setFormData"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:addEnvVar","to":"symbol-name:setSaveStatus","kind":"calls","metadata":{"unresolvedName":"setSaveStatus"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:updateEnvVar","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:updateEnvVar","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:updateEnvVar","to":"symbol-name:setFormData","kind":"calls","metadata":{"unresolvedName":"setFormData"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:updateEnvVar","to":"symbol-name:setSaveStatus","kind":"calls","metadata":{"unresolvedName":"setSaveStatus"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"defines"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:removeEnvVar","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:removeEnvVar","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:removeEnvVar","to":"symbol-name:setFormData","kind":"calls","metadata":{"unresolvedName":"setFormData"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:removeEnvVar","to":"symbol-name:setSaveStatus","kind":"calls","metadata":{"unresolvedName":"setSaveStatus"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"defines"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:addFile","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:addFile","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:addFile","to":"symbol-name:setFormData","kind":"calls","metadata":{"unresolvedName":"setFormData"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:addFile","to":"symbol-name:setSaveStatus","kind":"calls","metadata":{"unresolvedName":"setSaveStatus"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:updateFile","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:updateFile","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:updateFile","to":"symbol-name:setFormData","kind":"calls","metadata":{"unresolvedName":"setFormData"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:updateFile","to":"symbol-name:setSaveStatus","kind":"calls","metadata":{"unresolvedName":"setSaveStatus"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"defines"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:removeFile","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:removeFile","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:removeFile","to":"symbol-name:setFormData","kind":"calls","metadata":{"unresolvedName":"setFormData"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:removeFile","to":"symbol-name:setSaveStatus","kind":"calls","metadata":{"unresolvedName":"setSaveStatus"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"defines"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:addMount","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:addMount","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:addMount","to":"symbol-name:setFormData","kind":"calls","metadata":{"unresolvedName":"setFormData"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:addMount","to":"symbol-name:setSaveStatus","kind":"calls","metadata":{"unresolvedName":"setSaveStatus"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:updateMount","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:updateMount","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:updateMount","to":"symbol-name:setFormData","kind":"calls","metadata":{"unresolvedName":"setFormData"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:updateMount","to":"symbol-name:setSaveStatus","kind":"calls","metadata":{"unresolvedName":"setSaveStatus"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"defines"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:removeMount","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:removeMount","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:removeMount","to":"symbol-name:setFormData","kind":"calls","metadata":{"unresolvedName":"setFormData"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:removeMount","to":"external:mounts.splice","kind":"calls","metadata":{"unresolvedName":"mounts.splice"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:removeMount","to":"symbol-name:setSaveStatus","kind":"calls","metadata":{"unresolvedName":"setSaveStatus"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"external:mounts.splice","kind":"calls","metadata":{"unresolvedName":"mounts.splice"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:addMountFile","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:addMountFile","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:addMountFile","to":"symbol-name:setFormData","kind":"calls","metadata":{"unresolvedName":"setFormData"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:addMountFile","to":"symbol-name:setSaveStatus","kind":"calls","metadata":{"unresolvedName":"setSaveStatus"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"defines"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:updateMountFile","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:updateMountFile","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:updateMountFile","to":"symbol-name:setFormData","kind":"calls","metadata":{"unresolvedName":"setFormData"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:updateMountFile","to":"symbol-name:setSaveStatus","kind":"calls","metadata":{"unresolvedName":"setSaveStatus"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"defines"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:removeMountFile","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:removeMountFile","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:removeMountFile","to":"symbol-name:setFormData","kind":"calls","metadata":{"unresolvedName":"setFormData"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:removeMountFile","to":"symbol-name:setSaveStatus","kind":"calls","metadata":{"unresolvedName":"setSaveStatus"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"defines"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"symbol-name:setSelectedProfileId","kind":"calls","metadata":{"unresolvedName":"setSelectedProfileId"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"symbol-name:setIsCreating","kind":"calls","metadata":{"unresolvedName":"setIsCreating"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"external:profiles.find","kind":"calls","metadata":{"unresolvedName":"profiles.find"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"/workspace/apps/web/src/pages/config-profiles.tsx:populateForm","kind":"calls","metadata":{"unresolvedName":"populateForm"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"symbol-name:setMobileView","kind":"calls","metadata":{"unresolvedName":"setMobileView"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"symbol-name:setIsCreating","kind":"calls","metadata":{"unresolvedName":"setIsCreating"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"symbol-name:setSelectedProfileId","kind":"calls","metadata":{"unresolvedName":"setSelectedProfileId"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"symbol-name:resetForm","kind":"calls","metadata":{"unresolvedName":"resetForm"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"symbol-name:setMobileView","kind":"calls","metadata":{"unresolvedName":"setMobileView"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"/workspace/apps/web/src/pages/config-profiles.tsx:populateForm","kind":"calls","metadata":{"unresolvedName":"populateForm"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"symbol-name:setIsCreating","kind":"calls","metadata":{"unresolvedName":"setIsCreating"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"symbol-name:setMobileView","kind":"calls","metadata":{"unresolvedName":"setMobileView"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"symbol-name:setMobileView","kind":"calls","metadata":{"unresolvedName":"setMobileView"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:preventDefault","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:preventDefault","kind":"defines"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"/workspace/apps/web/src/pages/config-profiles.tsx:updateFormField","kind":"calls","metadata":{"unresolvedName":"updateFormField"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"/workspace/apps/web/src/pages/config-profiles.tsx:updateFormField","kind":"calls","metadata":{"unresolvedName":"updateFormField"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"/workspace/apps/web/src/pages/config-profiles.tsx:updateFormField","kind":"calls","metadata":{"unresolvedName":"updateFormField"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"/workspace/apps/web/src/pages/config-profiles.tsx:updateFormField","kind":"calls","metadata":{"unresolvedName":"updateFormField"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"/workspace/apps/web/src/pages/config-profiles.tsx:updateFormField","kind":"calls","metadata":{"unresolvedName":"updateFormField"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"external:(formData.mounts || []).filter","kind":"calls","metadata":{"unresolvedName":"(formData.mounts || []).filter"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"/workspace/apps/web/src/pages/config-profiles.tsx:updateFormField","kind":"calls","metadata":{"unresolvedName":"updateFormField"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"symbol-name:setSelectedProfileId","kind":"calls","metadata":{"unresolvedName":"setSelectedProfileId"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"symbol-name:setIsCreating","kind":"calls","metadata":{"unresolvedName":"setIsCreating"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"external:profiles.find","kind":"calls","metadata":{"unresolvedName":"profiles.find"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"/workspace/apps/web/src/pages/config-profiles.tsx:populateForm","kind":"calls","metadata":{"unresolvedName":"populateForm"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"symbol-name:setMobileView","kind":"calls","metadata":{"unresolvedName":"setMobileView"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"symbol-name:setIsCreating","kind":"calls","metadata":{"unresolvedName":"setIsCreating"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"symbol-name:setSelectedProfileId","kind":"calls","metadata":{"unresolvedName":"setSelectedProfileId"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"symbol-name:resetForm","kind":"calls","metadata":{"unresolvedName":"resetForm"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"symbol-name:setMobileView","kind":"calls","metadata":{"unresolvedName":"setMobileView"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"defines"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"defines"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"symbol-name:handleDelete","kind":"calls","metadata":{"unresolvedName":"handleDelete"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"defines"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"defines"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"symbol-name:getIncludedProfile","kind":"calls","metadata":{"unresolvedName":"getIncludedProfile"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"/workspace/apps/web/src/pages/config-profiles.tsx:handleDragStart","kind":"calls","metadata":{"unresolvedName":"handleDragStart"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"/workspace/apps/web/src/pages/config-profiles.tsx:handleDragOver","kind":"calls","metadata":{"unresolvedName":"handleDragOver"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"/workspace/apps/web/src/pages/config-profiles.tsx:handleDrop","kind":"calls","metadata":{"unresolvedName":"handleDrop"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"/workspace/apps/web/src/pages/config-profiles.tsx:getScopeLabel","kind":"calls","metadata":{"unresolvedName":"getScopeLabel"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"/workspace/apps/web/src/pages/config-profiles.tsx:removeInclude","kind":"calls","metadata":{"unresolvedName":"removeInclude"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"/workspace/apps/web/src/pages/config-profiles.tsx:addInclude","kind":"calls","metadata":{"unresolvedName":"addInclude"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"/workspace/apps/web/src/pages/config-profiles.tsx:updateFormField","kind":"calls","metadata":{"unresolvedName":"updateFormField"}},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/config-profiles.tsx","to":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"symbol-name:resetForm","kind":"calls","metadata":{"unresolvedName":"resetForm"}},{"from":"/workspace/apps/web/src/pages/config-profiles.tsx:<anonymous>","to":"/workspace/apps/web/src/pages/config-profiles.tsx:populateForm","kind":"calls","metadata":{"unresolvedName":"populateForm"}},{"from":"file:/workspace/apps/web/src/pages/workspace-detail.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/workspace-detail.tsx","to":"external:react-router-dom","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/workspace-detail.tsx","to":"external:@/components/ui/Icon","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/workspace-detail.tsx","to":"file:/workspace/apps/web/src/hooks/use-workspaces.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/workspace-detail.tsx","to":"file:/workspace/apps/web/src/hooks/use-workspace-files.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/workspace-detail.tsx","to":"file:/workspace/apps/web/src/hooks/use-workspace-git.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/workspace-detail.tsx","to":"file:/workspace/apps/web/src/hooks/use-workspace-instances.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/workspace-detail.tsx","to":"file:/workspace/apps/web/src/hooks/use-mobile-viewport.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/workspace-detail.tsx","to":"file:/workspace/apps/web/src/components/tool-starter.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/workspace-detail.tsx","to":"file:/workspace/apps/web/src/api/workspace-files.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/workspace-detail.tsx","to":"file:/workspace/apps/web/src/types/workspace.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/workspace-detail.tsx","to":"/workspace/apps/web/src/pages/workspace-detail.tsx:WorkspaceDetailPage","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/workspace-detail.tsx","to":"/workspace/apps/web/src/pages/workspace-detail.tsx:WorkspaceDetailPage","kind":"defines"},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:WorkspaceDetailPage","to":"symbol-name:useParams","kind":"calls","metadata":{"unresolvedName":"useParams"}},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:WorkspaceDetailPage","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:WorkspaceDetailPage","to":"/workspace/apps/web/src/hooks/use-mobile-viewport.ts:useMobileViewport","kind":"calls","metadata":{"unresolvedName":"useMobileViewport"}},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:WorkspaceDetailPage","to":"/workspace/apps/web/src/hooks/use-workspaces.ts:useWorkspaces","kind":"calls","metadata":{"unresolvedName":"useWorkspaces"}},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:WorkspaceDetailPage","to":"external:workspaces.find","kind":"calls","metadata":{"unresolvedName":"workspaces.find"}},{"from":"file:/workspace/apps/web/src/pages/workspace-detail.tsx","to":"/workspace/apps/web/src/pages/workspace-detail.tsx:WorkspaceHeader","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/workspace-detail.tsx","to":"/workspace/apps/web/src/pages/workspace-detail.tsx:WorkspaceHeader","kind":"defines"},{"from":"file:/workspace/apps/web/src/pages/workspace-detail.tsx","to":"/workspace/apps/web/src/pages/workspace-detail.tsx:TabBar","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/workspace-detail.tsx","to":"/workspace/apps/web/src/pages/workspace-detail.tsx:TabBar","kind":"defines"},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:TabBar","to":"external:tabs.map","kind":"calls","metadata":{"unresolvedName":"tabs.map"}},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:TabBar","to":"symbol-name:onChange","kind":"calls","metadata":{"unresolvedName":"onChange"}},{"from":"file:/workspace/apps/web/src/pages/workspace-detail.tsx","to":"/workspace/apps/web/src/pages/workspace-detail.tsx:MobileTabBar","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/workspace-detail.tsx","to":"/workspace/apps/web/src/pages/workspace-detail.tsx:MobileTabBar","kind":"defines"},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:MobileTabBar","to":"external:tabs.map","kind":"calls","metadata":{"unresolvedName":"tabs.map"}},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:MobileTabBar","to":"symbol-name:onChange","kind":"calls","metadata":{"unresolvedName":"onChange"}},{"from":"file:/workspace/apps/web/src/pages/workspace-detail.tsx","to":"/workspace/apps/web/src/pages/workspace-detail.tsx:FilesTab","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/workspace-detail.tsx","to":"/workspace/apps/web/src/pages/workspace-detail.tsx:FilesTab","kind":"defines"},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:FilesTab","to":"/workspace/apps/web/src/hooks/use-workspace-files.ts:useWorkspaceFiles","kind":"calls","metadata":{"unresolvedName":"useWorkspaceFiles"}},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:FilesTab","to":"/workspace/apps/web/src/hooks/use-workspace-git.ts:useWorkspaceGit","kind":"calls","metadata":{"unresolvedName":"useWorkspaceGit"}},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:FilesTab","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:FilesTab","to":"symbol-name:setSelectedPath","kind":"calls","metadata":{"unresolvedName":"setSelectedPath"}},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:FilesTab","to":"symbol-name:setIsEditing","kind":"calls","metadata":{"unresolvedName":"setIsEditing"}},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:FilesTab","to":"symbol-name:setEditContent","kind":"calls","metadata":{"unresolvedName":"setEditContent"}},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:FilesTab","to":"symbol-name:loadFile","kind":"calls","metadata":{"unresolvedName":"loadFile"}},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:FilesTab","to":"symbol-name:saveFile","kind":"calls","metadata":{"unresolvedName":"saveFile"}},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:FilesTab","to":"symbol-name:setCommitMessage","kind":"calls","metadata":{"unresolvedName":"setCommitMessage"}},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:FilesTab","to":"symbol-name:commit","kind":"calls","metadata":{"unresolvedName":"commit"}},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:FilesTab","to":"external:entries.map","kind":"calls","metadata":{"unresolvedName":"entries.map"}},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:FilesTab","to":"symbol-name:handleSelect","kind":"calls","metadata":{"unresolvedName":"handleSelect"}},{"from":"file:/workspace/apps/web/src/pages/workspace-detail.tsx","to":"/workspace/apps/web/src/pages/workspace-detail.tsx:handleSelect","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/workspace-detail.tsx","to":"/workspace/apps/web/src/pages/workspace-detail.tsx:handleSelect","kind":"defines"},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:handleSelect","to":"symbol-name:setSelectedPath","kind":"calls","metadata":{"unresolvedName":"setSelectedPath"}},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:handleSelect","to":"symbol-name:setIsEditing","kind":"calls","metadata":{"unresolvedName":"setIsEditing"}},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:handleSelect","to":"symbol-name:setEditContent","kind":"calls","metadata":{"unresolvedName":"setEditContent"}},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:handleSelect","to":"symbol-name:loadFile","kind":"calls","metadata":{"unresolvedName":"loadFile"}},{"from":"file:/workspace/apps/web/src/pages/workspace-detail.tsx","to":"/workspace/apps/web/src/pages/workspace-detail.tsx:handleEdit","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/workspace-detail.tsx","to":"/workspace/apps/web/src/pages/workspace-detail.tsx:handleEdit","kind":"defines"},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:handleEdit","to":"symbol-name:setEditContent","kind":"calls","metadata":{"unresolvedName":"setEditContent"}},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:handleEdit","to":"symbol-name:setIsEditing","kind":"calls","metadata":{"unresolvedName":"setIsEditing"}},{"from":"file:/workspace/apps/web/src/pages/workspace-detail.tsx","to":"/workspace/apps/web/src/pages/workspace-detail.tsx:handleSave","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/workspace-detail.tsx","to":"/workspace/apps/web/src/pages/workspace-detail.tsx:handleSave","kind":"defines"},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:handleSave","to":"symbol-name:saveFile","kind":"calls","metadata":{"unresolvedName":"saveFile"}},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:handleSave","to":"symbol-name:setIsEditing","kind":"calls","metadata":{"unresolvedName":"setIsEditing"}},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:handleSave","to":"symbol-name:setCommitMessage","kind":"calls","metadata":{"unresolvedName":"setCommitMessage"}},{"from":"file:/workspace/apps/web/src/pages/workspace-detail.tsx","to":"/workspace/apps/web/src/pages/workspace-detail.tsx:GitTab","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/workspace-detail.tsx","to":"/workspace/apps/web/src/pages/workspace-detail.tsx:GitTab","kind":"defines"},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:GitTab","to":"/workspace/apps/web/src/hooks/use-workspace-git.ts:useWorkspaceGit","kind":"calls","metadata":{"unresolvedName":"useWorkspaceGit"}},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:GitTab","to":"symbol-name:checkout","kind":"calls","metadata":{"unresolvedName":"checkout"}},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:GitTab","to":"external:branches.map","kind":"calls","metadata":{"unresolvedName":"branches.map"}},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:GitTab","to":"external:history.map","kind":"calls","metadata":{"unresolvedName":"history.map"}},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:GitTab","to":"external:commit.hash.slice","kind":"calls","metadata":{"unresolvedName":"commit.hash.slice"}},{"from":"file:/workspace/apps/web/src/pages/workspace-detail.tsx","to":"/workspace/apps/web/src/pages/workspace-detail.tsx:ToolsTab","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/workspace-detail.tsx","to":"/workspace/apps/web/src/pages/workspace-detail.tsx:ToolsTab","kind":"defines"},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:ToolsTab","to":"/workspace/apps/web/src/hooks/use-workspace-instances.ts:useWorkspaceInstances","kind":"calls","metadata":{"unresolvedName":"useWorkspaceInstances"}},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:ToolsTab","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:ToolsTab","to":"symbol-name:setShowModal","kind":"calls","metadata":{"unresolvedName":"setShowModal"}},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:ToolsTab","to":"external:instances.map","kind":"calls","metadata":{"unresolvedName":"instances.map"}},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:ToolsTab","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:ToolsTab","to":"symbol-name:refresh","kind":"calls","metadata":{"unresolvedName":"refresh"}},{"from":"file:/workspace/apps/web/src/pages/workspace-detail.tsx","to":"/workspace/apps/web/src/pages/workspace-detail.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/workspace-detail.tsx","to":"/workspace/apps/web/src/pages/workspace-detail.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:<anonymous>","to":"symbol-name:setShowModal","kind":"calls","metadata":{"unresolvedName":"setShowModal"}},{"from":"/workspace/apps/web/src/pages/workspace-detail.tsx:<anonymous>","to":"symbol-name:refresh","kind":"calls","metadata":{"unresolvedName":"refresh"}},{"from":"file:/workspace/apps/web/src/pages/workspace-detail.tsx","to":"/workspace/apps/web/src/pages/workspace-detail.tsx:SettingsTab","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/workspace-detail.tsx","to":"/workspace/apps/web/src/pages/workspace-detail.tsx:SettingsTab","kind":"defines"},{"from":"file:/workspace/apps/web/src/pages/workspaces.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/workspaces.tsx","to":"external:@/components/ui/Icon","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/workspaces.tsx","to":"file:/workspace/apps/web/src/hooks/use-workspaces.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/workspaces.tsx","to":"file:/workspace/apps/web/src/hooks/use-workspace-actions.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/workspaces.tsx","to":"file:/workspace/apps/web/src/components/workspace-card.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/workspaces.tsx","to":"file:/workspace/apps/web/src/components/workspace-create-form.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/workspaces.tsx","to":"file:/workspace/apps/web/src/components/tool-starter.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/workspaces.tsx","to":"file:/workspace/apps/web/src/types/workspace.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/pages/workspaces.tsx","to":"/workspace/apps/web/src/pages/workspaces.tsx:WorkspacesPage","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/workspaces.tsx","to":"/workspace/apps/web/src/pages/workspaces.tsx:WorkspacesPage","kind":"defines"},{"from":"/workspace/apps/web/src/pages/workspaces.tsx:WorkspacesPage","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/pages/workspaces.tsx:WorkspacesPage","to":"/workspace/apps/web/src/hooks/use-workspaces.ts:useWorkspaces","kind":"calls","metadata":{"unresolvedName":"useWorkspaces"}},{"from":"/workspace/apps/web/src/pages/workspaces.tsx:WorkspacesPage","to":"/workspace/apps/web/src/hooks/use-workspace-actions.ts:useWorkspaceActions","kind":"calls","metadata":{"unresolvedName":"useWorkspaceActions"}},{"from":"/workspace/apps/web/src/pages/workspaces.tsx:WorkspacesPage","to":"external:actions.delete","kind":"calls","metadata":{"unresolvedName":"actions.delete"}},{"from":"/workspace/apps/web/src/pages/workspaces.tsx:WorkspacesPage","to":"external:actions.sync","kind":"calls","metadata":{"unresolvedName":"actions.sync"}},{"from":"/workspace/apps/web/src/pages/workspaces.tsx:WorkspacesPage","to":"symbol-name:setShowCreate","kind":"calls","metadata":{"unresolvedName":"setShowCreate"}},{"from":"/workspace/apps/web/src/pages/workspaces.tsx:WorkspacesPage","to":"symbol-name:refresh","kind":"calls","metadata":{"unresolvedName":"refresh"}},{"from":"/workspace/apps/web/src/pages/workspaces.tsx:WorkspacesPage","to":"external:workspaces.map","kind":"calls","metadata":{"unresolvedName":"workspaces.map"}},{"from":"/workspace/apps/web/src/pages/workspaces.tsx:WorkspacesPage","to":"symbol-name:setStartWorkspace","kind":"calls","metadata":{"unresolvedName":"setStartWorkspace"}},{"from":"/workspace/apps/web/src/pages/workspaces.tsx:WorkspacesPage","to":"external:e.stopPropagation","kind":"calls","metadata":{"unresolvedName":"e.stopPropagation"}},{"from":"file:/workspace/apps/web/src/pages/workspaces.tsx","to":"/workspace/apps/web/src/pages/workspaces.tsx:handleDelete","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/workspaces.tsx","to":"/workspace/apps/web/src/pages/workspaces.tsx:handleDelete","kind":"defines"},{"from":"/workspace/apps/web/src/pages/workspaces.tsx:handleDelete","to":"external:actions.delete","kind":"calls","metadata":{"unresolvedName":"actions.delete"}},{"from":"file:/workspace/apps/web/src/pages/workspaces.tsx","to":"/workspace/apps/web/src/pages/workspaces.tsx:handleSync","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/workspaces.tsx","to":"/workspace/apps/web/src/pages/workspaces.tsx:handleSync","kind":"defines"},{"from":"/workspace/apps/web/src/pages/workspaces.tsx:handleSync","to":"external:actions.sync","kind":"calls","metadata":{"unresolvedName":"actions.sync"}},{"from":"file:/workspace/apps/web/src/pages/workspaces.tsx","to":"/workspace/apps/web/src/pages/workspaces.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/workspaces.tsx","to":"/workspace/apps/web/src/pages/workspaces.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/workspaces.tsx:<anonymous>","to":"symbol-name:setShowCreate","kind":"calls","metadata":{"unresolvedName":"setShowCreate"}},{"from":"/workspace/apps/web/src/pages/workspaces.tsx:<anonymous>","to":"symbol-name:refresh","kind":"calls","metadata":{"unresolvedName":"refresh"}},{"from":"file:/workspace/apps/web/src/pages/workspaces.tsx","to":"/workspace/apps/web/src/pages/workspaces.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/pages/workspaces.tsx","to":"/workspace/apps/web/src/pages/workspaces.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/pages/workspaces.tsx:<anonymous>","to":"symbol-name:setStartWorkspace","kind":"calls","metadata":{"unresolvedName":"setStartWorkspace"}},{"from":"/workspace/apps/web/src/pages/workspaces.tsx:<anonymous>","to":"symbol-name:refresh","kind":"calls","metadata":{"unresolvedName":"refresh"}},{"from":"file:/workspace/apps/web/src/router.tsx","to":"external:react-router-dom","kind":"imports"},{"from":"file:/workspace/apps/web/src/router.tsx","to":"file:/workspace/apps/web/src/components/layout/AppShell.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/router.tsx","to":"file:/workspace/apps/web/src/components/ProtectedRoute.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/router.tsx","to":"file:/workspace/apps/web/src/pages/DashboardPage.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/router.tsx","to":"file:/workspace/apps/web/src/pages/PlaceholderPage.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/router.tsx","to":"file:/workspace/apps/web/src/pages/ProfilePage.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/router.tsx","to":"file:/workspace/apps/web/src/pages/ProjectsPage.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/router.tsx","to":"file:/workspace/apps/web/src/pages/GitRepositoriesPage.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/router.tsx","to":"file:/workspace/apps/web/src/pages/GitHistoryPage.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/router.tsx","to":"file:/workspace/apps/web/src/pages/ProjectSettingsPage.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/router.tsx","to":"file:/workspace/apps/web/src/pages/RepoWorkspacePage.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/router.tsx","to":"file:/workspace/apps/web/src/pages/SettingsPage.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/router.tsx","to":"file:/workspace/apps/web/src/pages/TerminalPage.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/router.tsx","to":"file:/workspace/apps/web/src/pages/ToolWorkshopPage.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/router.tsx","to":"file:/workspace/apps/web/src/pages/SshKeysPage.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/router.tsx","to":"file:/workspace/apps/web/src/pages/ToolConfigsPage.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/router.tsx","to":"file:/workspace/apps/web/src/pages/ToolTypesPage.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/router.tsx","to":"file:/workspace/apps/web/src/pages/SessionsPage.tsx","kind":"imports"},{"from":"file:/workspace/apps/web/src/router.tsx","to":"/workspace/apps/web/src/router.tsx:AppRouter","kind":"contains"},{"from":"file:/workspace/apps/web/src/router.tsx","to":"/workspace/apps/web/src/router.tsx:AppRouter","kind":"defines"},{"from":"file:/workspace/apps/web/src/state/auth.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/state/auth.tsx","to":"file:/workspace/apps/web/src/api/client.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/state/auth.tsx","to":"file:/workspace/apps/web/src/types","kind":"imports"},{"from":"file:/workspace/apps/web/src/state/auth.tsx","to":"/workspace/apps/web/src/state/auth.tsx:AuthProvider","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/auth.tsx","to":"/workspace/apps/web/src/state/auth.tsx:AuthProvider","kind":"defines"},{"from":"/workspace/apps/web/src/state/auth.tsx:AuthProvider","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/state/auth.tsx:AuthProvider","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/state/auth.tsx:AuthProvider","to":"symbol-name:setState","kind":"calls","metadata":{"unresolvedName":"setState"}},{"from":"/workspace/apps/web/src/state/auth.tsx:AuthProvider","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"/workspace/apps/web/src/state/auth.tsx:AuthProvider","to":"symbol-name:setUser","kind":"calls","metadata":{"unresolvedName":"setUser"}},{"from":"/workspace/apps/web/src/state/auth.tsx:AuthProvider","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"/workspace/apps/web/src/state/auth.tsx:AuthProvider","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/state/auth.tsx:AuthProvider","to":"symbol-name:refreshSession","kind":"calls","metadata":{"unresolvedName":"refreshSession"}},{"from":"/workspace/apps/web/src/state/auth.tsx:AuthProvider","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"file:/workspace/apps/web/src/state/auth.tsx","to":"/workspace/apps/web/src/state/auth.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/auth.tsx","to":"/workspace/apps/web/src/state/auth.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/state/auth.tsx:<anonymous>","to":"symbol-name:setState","kind":"calls","metadata":{"unresolvedName":"setState"}},{"from":"/workspace/apps/web/src/state/auth.tsx:<anonymous>","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"/workspace/apps/web/src/state/auth.tsx:<anonymous>","to":"symbol-name:setUser","kind":"calls","metadata":{"unresolvedName":"setUser"}},{"from":"file:/workspace/apps/web/src/state/auth.tsx","to":"/workspace/apps/web/src/state/auth.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/auth.tsx","to":"/workspace/apps/web/src/state/auth.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/state/auth.tsx:<anonymous>","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"/workspace/apps/web/src/state/auth.tsx:<anonymous>","to":"symbol-name:setUser","kind":"calls","metadata":{"unresolvedName":"setUser"}},{"from":"/workspace/apps/web/src/state/auth.tsx:<anonymous>","to":"symbol-name:setState","kind":"calls","metadata":{"unresolvedName":"setState"}},{"from":"file:/workspace/apps/web/src/state/auth.tsx","to":"/workspace/apps/web/src/state/auth.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/auth.tsx","to":"/workspace/apps/web/src/state/auth.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/state/auth.tsx:<anonymous>","to":"symbol-name:refreshSession","kind":"calls","metadata":{"unresolvedName":"refreshSession"}},{"from":"file:/workspace/apps/web/src/state/auth.tsx","to":"/workspace/apps/web/src/state/auth.tsx:useAuth","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/auth.tsx","to":"/workspace/apps/web/src/state/auth.tsx:useAuth","kind":"defines"},{"from":"/workspace/apps/web/src/state/auth.tsx:useAuth","to":"symbol-name:useContext","kind":"calls","metadata":{"unresolvedName":"useContext"}},{"from":"file:/workspace/apps/web/src/state/events.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/state/events.tsx","to":"file:/workspace/apps/web/src/hooks/use-events.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/state/events.tsx","to":"file:/workspace/apps/web/src/types/events.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/state/events.tsx","to":"/workspace/apps/web/src/state/events.tsx:EventProvider","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/events.tsx","to":"/workspace/apps/web/src/state/events.tsx:EventProvider","kind":"defines"},{"from":"/workspace/apps/web/src/state/events.tsx:EventProvider","to":"/workspace/apps/web/src/hooks/use-events.ts:useEvents","kind":"calls","metadata":{"unresolvedName":"useEvents"}},{"from":"/workspace/apps/web/src/state/events.tsx:EventProvider","to":"symbol-name:useMemo","kind":"calls","metadata":{"unresolvedName":"useMemo"}},{"from":"file:/workspace/apps/web/src/state/events.tsx","to":"/workspace/apps/web/src/state/events.tsx:useEventContext","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/events.tsx","to":"/workspace/apps/web/src/state/events.tsx:useEventContext","kind":"defines"},{"from":"/workspace/apps/web/src/state/events.tsx:useEventContext","to":"symbol-name:useContext","kind":"calls","metadata":{"unresolvedName":"useContext"}},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"file:/workspace/apps/web/src/api/notifications.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"file:/workspace/apps/web/src/api/notifications.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"/workspace/apps/web/src/state/notifications.tsx:NotificationProvider","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"/workspace/apps/web/src/state/notifications.tsx:NotificationProvider","kind":"defines"},{"from":"/workspace/apps/web/src/state/notifications.tsx:NotificationProvider","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:NotificationProvider","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:NotificationProvider","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:NotificationProvider","to":"/workspace/apps/web/src/api/notifications.ts:getUnreadCount","kind":"calls","metadata":{"unresolvedName":"getUnreadCount"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:NotificationProvider","to":"symbol-name:setUnreadCount","kind":"calls","metadata":{"unresolvedName":"setUnreadCount"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:NotificationProvider","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:NotificationProvider","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:NotificationProvider","to":"symbol-name:setIsLoading","kind":"calls","metadata":{"unresolvedName":"setIsLoading"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:NotificationProvider","to":"/workspace/apps/web/src/api/notifications.ts:getNotifications","kind":"calls","metadata":{"unresolvedName":"getNotifications"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:NotificationProvider","to":"symbol-name:setNotifications","kind":"calls","metadata":{"unresolvedName":"setNotifications"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:NotificationProvider","to":"symbol-name:fetchUnreadCount","kind":"calls","metadata":{"unresolvedName":"fetchUnreadCount"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:NotificationProvider","to":"symbol-name:setInterval","kind":"calls","metadata":{"unresolvedName":"setInterval"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:NotificationProvider","to":"symbol-name:fetchList","kind":"calls","metadata":{"unresolvedName":"fetchList"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:NotificationProvider","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:NotificationProvider","to":"symbol-name:stopPolling","kind":"calls","metadata":{"unresolvedName":"stopPolling"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:NotificationProvider","to":"symbol-name:startPolling","kind":"calls","metadata":{"unresolvedName":"startPolling"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:NotificationProvider","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:NotificationProvider","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:NotificationProvider","to":"external:currentNotifications.find","kind":"calls","metadata":{"unresolvedName":"currentNotifications.find"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:NotificationProvider","to":"external:currentNotifications.map","kind":"calls","metadata":{"unresolvedName":"currentNotifications.map"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:NotificationProvider","to":"external:new Date().toISOString","kind":"calls","metadata":{"unresolvedName":"new Date().toISOString"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:NotificationProvider","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:NotificationProvider","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:NotificationProvider","to":"/workspace/apps/web/src/api/notifications.ts:markNotificationRead","kind":"calls","metadata":{"unresolvedName":"markNotificationRead"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:NotificationProvider","to":"/workspace/apps/web/src/api/notifications.ts:markAllNotificationsRead","kind":"calls","metadata":{"unresolvedName":"markAllNotificationsRead"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:NotificationProvider","to":"external:currentNotifications.filter","kind":"calls","metadata":{"unresolvedName":"currentNotifications.filter"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:NotificationProvider","to":"/workspace/apps/web/src/api/notifications.ts:dismissNotification","kind":"calls","metadata":{"unresolvedName":"dismissNotification"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:NotificationProvider","to":"/workspace/apps/web/src/api/notifications.ts:clearAllNotifications","kind":"calls","metadata":{"unresolvedName":"clearAllNotifications"}},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"/workspace/apps/web/src/api/notifications.ts:getUnreadCount","kind":"calls","metadata":{"unresolvedName":"getUnreadCount"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"symbol-name:setUnreadCount","kind":"calls","metadata":{"unresolvedName":"setUnreadCount"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"symbol-name:setIsLoading","kind":"calls","metadata":{"unresolvedName":"setIsLoading"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"/workspace/apps/web/src/api/notifications.ts:getNotifications","kind":"calls","metadata":{"unresolvedName":"getNotifications"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"symbol-name:setNotifications","kind":"calls","metadata":{"unresolvedName":"setNotifications"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"external:console.error","kind":"calls","metadata":{"unresolvedName":"console.error"}},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"symbol-name:fetchUnreadCount","kind":"calls","metadata":{"unresolvedName":"fetchUnreadCount"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"symbol-name:setInterval","kind":"calls","metadata":{"unresolvedName":"setInterval"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"symbol-name:fetchList","kind":"calls","metadata":{"unresolvedName":"fetchList"}},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"symbol-name:fetchUnreadCount","kind":"calls","metadata":{"unresolvedName":"fetchUnreadCount"}},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"symbol-name:fetchList","kind":"calls","metadata":{"unresolvedName":"fetchList"}},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"symbol-name:stopPolling","kind":"calls","metadata":{"unresolvedName":"stopPolling"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"symbol-name:startPolling","kind":"calls","metadata":{"unresolvedName":"startPolling"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"external:document.addEventListener","kind":"calls","metadata":{"unresolvedName":"document.addEventListener"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"/workspace/apps/web/src/state/notifications.tsx:handleVisibilityChange","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"/workspace/apps/web/src/state/notifications.tsx:handleVisibilityChange","kind":"defines"},{"from":"/workspace/apps/web/src/state/notifications.tsx:handleVisibilityChange","to":"symbol-name:stopPolling","kind":"calls","metadata":{"unresolvedName":"stopPolling"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:handleVisibilityChange","to":"symbol-name:startPolling","kind":"calls","metadata":{"unresolvedName":"startPolling"}},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"external:document.removeEventListener","kind":"calls","metadata":{"unresolvedName":"document.removeEventListener"}},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"symbol-name:clearInterval","kind":"calls","metadata":{"unresolvedName":"clearInterval"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"symbol-name:fetchList","kind":"calls","metadata":{"unresolvedName":"fetchList"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"symbol-name:setInterval","kind":"calls","metadata":{"unresolvedName":"setInterval"}},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"symbol-name:fetchList","kind":"calls","metadata":{"unresolvedName":"fetchList"}},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"symbol-name:startPolling","kind":"calls","metadata":{"unresolvedName":"startPolling"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"symbol-name:stopPolling","kind":"calls","metadata":{"unresolvedName":"stopPolling"}},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"symbol-name:stopPolling","kind":"calls","metadata":{"unresolvedName":"stopPolling"}},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"external:currentNotifications.find","kind":"calls","metadata":{"unresolvedName":"currentNotifications.find"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"symbol-name:setNotifications","kind":"calls","metadata":{"unresolvedName":"setNotifications"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"external:currentNotifications.map","kind":"calls","metadata":{"unresolvedName":"currentNotifications.map"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"external:new Date().toISOString","kind":"calls","metadata":{"unresolvedName":"new Date().toISOString"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"symbol-name:setUnreadCount","kind":"calls","metadata":{"unresolvedName":"setUnreadCount"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"/workspace/apps/web/src/api/notifications.ts:markNotificationRead","kind":"calls","metadata":{"unresolvedName":"markNotificationRead"}},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"symbol-name:setNotifications","kind":"calls","metadata":{"unresolvedName":"setNotifications"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"external:currentNotifications.map","kind":"calls","metadata":{"unresolvedName":"currentNotifications.map"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"external:new Date().toISOString","kind":"calls","metadata":{"unresolvedName":"new Date().toISOString"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"symbol-name:setUnreadCount","kind":"calls","metadata":{"unresolvedName":"setUnreadCount"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"/workspace/apps/web/src/api/notifications.ts:markAllNotificationsRead","kind":"calls","metadata":{"unresolvedName":"markAllNotificationsRead"}},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"external:currentNotifications.find","kind":"calls","metadata":{"unresolvedName":"currentNotifications.find"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"symbol-name:setNotifications","kind":"calls","metadata":{"unresolvedName":"setNotifications"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"external:currentNotifications.filter","kind":"calls","metadata":{"unresolvedName":"currentNotifications.filter"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"symbol-name:setUnreadCount","kind":"calls","metadata":{"unresolvedName":"setUnreadCount"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"/workspace/apps/web/src/api/notifications.ts:dismissNotification","kind":"calls","metadata":{"unresolvedName":"dismissNotification"}},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"symbol-name:fetchList","kind":"calls","metadata":{"unresolvedName":"fetchList"}},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/notifications.tsx","to":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"external:currentNotifications.filter","kind":"calls","metadata":{"unresolvedName":"currentNotifications.filter"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"symbol-name:setNotifications","kind":"calls","metadata":{"unresolvedName":"setNotifications"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"symbol-name:setUnreadCount","kind":"calls","metadata":{"unresolvedName":"setUnreadCount"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"symbol-name:setError","kind":"calls","metadata":{"unresolvedName":"setError"}},{"from":"/workspace/apps/web/src/state/notifications.tsx:<anonymous>","to":"/workspace/apps/web/src/api/notifications.ts:clearAllNotifications","kind":"calls","metadata":{"unresolvedName":"clearAllNotifications"}},{"from":"file:/workspace/apps/web/src/state/sessions.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/state/sessions.tsx","to":"file:/workspace/apps/web/src/types/session.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/state/sessions.tsx","to":"/workspace/apps/web/src/state/sessions.tsx:SessionsProvider","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/sessions.tsx","to":"/workspace/apps/web/src/state/sessions.tsx:SessionsProvider","kind":"defines"},{"from":"/workspace/apps/web/src/state/sessions.tsx:SessionsProvider","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/state/sessions.tsx:SessionsProvider","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/state/sessions.tsx:SessionsProvider","to":"symbol-name:setSessions","kind":"calls","metadata":{"unresolvedName":"setSessions"}},{"from":"file:/workspace/apps/web/src/state/sessions.tsx","to":"/workspace/apps/web/src/state/sessions.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/sessions.tsx","to":"/workspace/apps/web/src/state/sessions.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/state/sessions.tsx:<anonymous>","to":"symbol-name:setSessions","kind":"calls","metadata":{"unresolvedName":"setSessions"}},{"from":"file:/workspace/apps/web/src/state/sessions.tsx","to":"/workspace/apps/web/src/state/sessions.tsx:useSessions","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/sessions.tsx","to":"/workspace/apps/web/src/state/sessions.tsx:useSessions","kind":"defines"},{"from":"/workspace/apps/web/src/state/sessions.tsx:useSessions","to":"symbol-name:useContext","kind":"calls","metadata":{"unresolvedName":"useContext"}},{"from":"file:/workspace/apps/web/src/state/toast.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/state/toast.tsx","to":"/workspace/apps/web/src/state/toast.tsx:ToastProvider","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/toast.tsx","to":"/workspace/apps/web/src/state/toast.tsx:ToastProvider","kind":"defines"},{"from":"/workspace/apps/web/src/state/toast.tsx:ToastProvider","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/state/toast.tsx:ToastProvider","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"/workspace/apps/web/src/state/toast.tsx:ToastProvider","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/state/toast.tsx:ToastProvider","to":"symbol-name:setToasts","kind":"calls","metadata":{"unresolvedName":"setToasts"}},{"from":"/workspace/apps/web/src/state/toast.tsx:ToastProvider","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"/workspace/apps/web/src/state/toast.tsx:ToastProvider","to":"external:timersRef.current.get","kind":"calls","metadata":{"unresolvedName":"timersRef.current.get"}},{"from":"/workspace/apps/web/src/state/toast.tsx:ToastProvider","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"/workspace/apps/web/src/state/toast.tsx:ToastProvider","to":"external:timersRef.current.delete","kind":"calls","metadata":{"unresolvedName":"timersRef.current.delete"}},{"from":"/workspace/apps/web/src/state/toast.tsx:ToastProvider","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"/workspace/apps/web/src/state/toast.tsx:ToastProvider","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/workspace/apps/web/src/state/toast.tsx:ToastProvider","to":"symbol-name:removeToast","kind":"calls","metadata":{"unresolvedName":"removeToast"}},{"from":"/workspace/apps/web/src/state/toast.tsx:ToastProvider","to":"external:timersRef.current.set","kind":"calls","metadata":{"unresolvedName":"timersRef.current.set"}},{"from":"/workspace/apps/web/src/state/toast.tsx:ToastProvider","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/state/toast.tsx:ToastProvider","to":"symbol-name:addToast","kind":"calls","metadata":{"unresolvedName":"addToast"}},{"from":"file:/workspace/apps/web/src/state/toast.tsx","to":"/workspace/apps/web/src/state/toast.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/toast.tsx","to":"/workspace/apps/web/src/state/toast.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/state/toast.tsx:<anonymous>","to":"symbol-name:setToasts","kind":"calls","metadata":{"unresolvedName":"setToasts"}},{"from":"/workspace/apps/web/src/state/toast.tsx:<anonymous>","to":"external:prev.filter","kind":"calls","metadata":{"unresolvedName":"prev.filter"}},{"from":"/workspace/apps/web/src/state/toast.tsx:<anonymous>","to":"external:timersRef.current.get","kind":"calls","metadata":{"unresolvedName":"timersRef.current.get"}},{"from":"/workspace/apps/web/src/state/toast.tsx:<anonymous>","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"/workspace/apps/web/src/state/toast.tsx:<anonymous>","to":"external:timersRef.current.delete","kind":"calls","metadata":{"unresolvedName":"timersRef.current.delete"}},{"from":"file:/workspace/apps/web/src/state/toast.tsx","to":"/workspace/apps/web/src/state/toast.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/toast.tsx","to":"/workspace/apps/web/src/state/toast.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/state/toast.tsx:<anonymous>","to":"external:Date.now","kind":"calls","metadata":{"unresolvedName":"Date.now"}},{"from":"/workspace/apps/web/src/state/toast.tsx:<anonymous>","to":"symbol-name:setToasts","kind":"calls","metadata":{"unresolvedName":"setToasts"}},{"from":"/workspace/apps/web/src/state/toast.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/workspace/apps/web/src/state/toast.tsx:<anonymous>","to":"symbol-name:removeToast","kind":"calls","metadata":{"unresolvedName":"removeToast"}},{"from":"/workspace/apps/web/src/state/toast.tsx:<anonymous>","to":"external:timersRef.current.set","kind":"calls","metadata":{"unresolvedName":"timersRef.current.set"}},{"from":"file:/workspace/apps/web/src/state/toast.tsx","to":"/workspace/apps/web/src/state/toast.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/toast.tsx","to":"/workspace/apps/web/src/state/toast.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/state/toast.tsx:<anonymous>","to":"symbol-name:removeToast","kind":"calls","metadata":{"unresolvedName":"removeToast"}},{"from":"file:/workspace/apps/web/src/state/toast.tsx","to":"/workspace/apps/web/src/state/toast.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/toast.tsx","to":"/workspace/apps/web/src/state/toast.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/state/toast.tsx:<anonymous>","to":"symbol-name:addToast","kind":"calls","metadata":{"unresolvedName":"addToast"}},{"from":"file:/workspace/apps/web/src/state/toast.tsx","to":"/workspace/apps/web/src/state/toast.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/toast.tsx","to":"/workspace/apps/web/src/state/toast.tsx:<anonymous>","kind":"defines"},{"from":"file:/workspace/apps/web/src/state/toast.tsx","to":"/workspace/apps/web/src/state/toast.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/toast.tsx","to":"/workspace/apps/web/src/state/toast.tsx:<anonymous>","kind":"defines"},{"from":"file:/workspace/apps/web/src/state/toast.tsx","to":"/workspace/apps/web/src/state/toast.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/toast.tsx","to":"/workspace/apps/web/src/state/toast.tsx:<anonymous>","kind":"defines"},{"from":"file:/workspace/apps/web/src/state/toast.tsx","to":"/workspace/apps/web/src/state/toast.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/toast.tsx","to":"/workspace/apps/web/src/state/toast.tsx:<anonymous>","kind":"defines"},{"from":"file:/workspace/apps/web/src/state/toast.tsx","to":"/workspace/apps/web/src/state/toast.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/toast.tsx","to":"/workspace/apps/web/src/state/toast.tsx:<anonymous>","kind":"defines"},{"from":"file:/workspace/apps/web/src/state/toast.tsx","to":"/workspace/apps/web/src/state/toast.tsx:useToast","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/toast.tsx","to":"/workspace/apps/web/src/state/toast.tsx:useToast","kind":"defines"},{"from":"/workspace/apps/web/src/state/toast.tsx:useToast","to":"symbol-name:useContext","kind":"calls","metadata":{"unresolvedName":"useContext"}},{"from":"file:/workspace/apps/web/src/state/toast.tsx","to":"/workspace/apps/web/src/state/toast.tsx:info","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/toast.tsx","to":"/workspace/apps/web/src/state/toast.tsx:info","kind":"defines"},{"from":"file:/workspace/apps/web/src/state/toast.tsx","to":"/workspace/apps/web/src/state/toast.tsx:success","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/toast.tsx","to":"/workspace/apps/web/src/state/toast.tsx:success","kind":"defines"},{"from":"file:/workspace/apps/web/src/state/toast.tsx","to":"/workspace/apps/web/src/state/toast.tsx:warning","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/toast.tsx","to":"/workspace/apps/web/src/state/toast.tsx:warning","kind":"defines"},{"from":"file:/workspace/apps/web/src/state/toast.tsx","to":"/workspace/apps/web/src/state/toast.tsx:error","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/toast.tsx","to":"/workspace/apps/web/src/state/toast.tsx:error","kind":"defines"},{"from":"file:/workspace/apps/web/src/state/toast.tsx","to":"/workspace/apps/web/src/state/toast.tsx:severityStyles","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/toast.tsx","to":"/workspace/apps/web/src/state/toast.tsx:severityStyles","kind":"defines"},{"from":"file:/workspace/apps/web/src/state/toast.tsx","to":"/workspace/apps/web/src/state/toast.tsx:ToastContainer","kind":"contains"},{"from":"file:/workspace/apps/web/src/state/toast.tsx","to":"/workspace/apps/web/src/state/toast.tsx:ToastContainer","kind":"defines"},{"from":"/workspace/apps/web/src/state/toast.tsx:ToastContainer","to":"external:toasts.map","kind":"calls","metadata":{"unresolvedName":"toasts.map"}},{"from":"/workspace/apps/web/src/state/toast.tsx:ToastContainer","to":"/workspace/apps/web/src/state/toast.tsx:severityStyles","kind":"calls","metadata":{"unresolvedName":"severityStyles"}},{"from":"/workspace/apps/web/src/state/toast.tsx:ToastContainer","to":"symbol-name:onDismiss","kind":"calls","metadata":{"unresolvedName":"onDismiss"}},{"from":"file:/workspace/apps/web/src/test/setup.ts","to":"external:@testing-library/jest-dom/vitest","kind":"imports"},{"from":"file:/workspace/apps/web/src/utils/errors.ts","to":"/workspace/apps/web/src/utils/errors.ts:extractErrorMessage","kind":"contains"},{"from":"file:/workspace/apps/web/src/utils/errors.ts","to":"/workspace/apps/web/src/utils/errors.ts:extractErrorMessage","kind":"defines"},{"from":"/workspace/apps/web/src/utils/errors.ts:extractErrorMessage","to":"external:Array.isArray","kind":"calls","metadata":{"unresolvedName":"Array.isArray"}},{"from":"/workspace/apps/web/src/utils/errors.ts:extractErrorMessage","to":"external:detail.map((d) => typeof d === \"string\" ? d : d.msg || JSON.stringify(d)).join","kind":"calls","metadata":{"unresolvedName":"detail.map((d) => typeof d === \"string\" ? d : d.msg || JSON.stringify(d)).join"}},{"from":"/workspace/apps/web/src/utils/errors.ts:extractErrorMessage","to":"external:detail.map","kind":"calls","metadata":{"unresolvedName":"detail.map"}},{"from":"/workspace/apps/web/src/utils/errors.ts:extractErrorMessage","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"file:/workspace/apps/web/src/utils/language.ts","to":"external:prismjs","kind":"imports"},{"from":"file:/workspace/apps/web/src/utils/language.ts","to":"/workspace/apps/web/src/utils/language.ts:detectLanguage","kind":"contains"},{"from":"file:/workspace/apps/web/src/utils/language.ts","to":"/workspace/apps/web/src/utils/language.ts:detectLanguage","kind":"defines"},{"from":"/workspace/apps/web/src/utils/language.ts:detectLanguage","to":"external:filename.split(\".\").pop()?.toLowerCase","kind":"calls","metadata":{"unresolvedName":"filename.split(\".\").pop()?.toLowerCase"}},{"from":"/workspace/apps/web/src/utils/language.ts:detectLanguage","to":"external:filename.split(\".\").pop","kind":"calls","metadata":{"unresolvedName":"filename.split(\".\").pop"}},{"from":"/workspace/apps/web/src/utils/language.ts:detectLanguage","to":"external:filename.split","kind":"calls","metadata":{"unresolvedName":"filename.split"}},{"from":"file:/workspace/apps/web/src/utils/language.ts","to":"/workspace/apps/web/src/utils/language.ts:highlightCode","kind":"contains"},{"from":"file:/workspace/apps/web/src/utils/language.ts","to":"/workspace/apps/web/src/utils/language.ts:highlightCode","kind":"defines"},{"from":"/workspace/apps/web/src/utils/language.ts:highlightCode","to":"external:Prism.highlight","kind":"calls","metadata":{"unresolvedName":"Prism.highlight"}},{"from":"file:/workspace/apps/web/src/utils/language.ts","to":"/workspace/apps/web/src/utils/language.ts:loadLanguage","kind":"contains"},{"from":"file:/workspace/apps/web/src/utils/language.ts","to":"/workspace/apps/web/src/utils/language.ts:loadLanguage","kind":"defines"},{"from":"/workspace/apps/web/src/utils/language.ts:loadLanguage","to":"symbol-name:import","kind":"calls","metadata":{"unresolvedName":"import"}},{"from":"file:/workspace/apps/web/src/utils/terminal-protocol.ts","to":"file:/workspace/apps/web/src/types/terminal.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/utils/terminal-protocol.ts","to":"/workspace/apps/web/src/utils/terminal-protocol.ts:encodeControlMessage","kind":"contains"},{"from":"file:/workspace/apps/web/src/utils/terminal-protocol.ts","to":"/workspace/apps/web/src/utils/terminal-protocol.ts:encodeControlMessage","kind":"defines"},{"from":"/workspace/apps/web/src/utils/terminal-protocol.ts:encodeControlMessage","to":"external:JSON.stringify","kind":"calls","metadata":{"unresolvedName":"JSON.stringify"}},{"from":"file:/workspace/apps/web/src/utils/terminal-protocol.ts","to":"/workspace/apps/web/src/utils/terminal-protocol.ts:decodeControlMessage","kind":"contains"},{"from":"file:/workspace/apps/web/src/utils/terminal-protocol.ts","to":"/workspace/apps/web/src/utils/terminal-protocol.ts:decodeControlMessage","kind":"defines"},{"from":"/workspace/apps/web/src/utils/terminal-protocol.ts:decodeControlMessage","to":"external:JSON.parse","kind":"calls","metadata":{"unresolvedName":"JSON.parse"}},{"from":"/workspace/apps/web/src/utils/terminal-protocol.ts:decodeControlMessage","to":"/workspace/apps/web/src/utils/terminal-protocol.ts:isServerControlMessage","kind":"calls","metadata":{"unresolvedName":"isServerControlMessage"}},{"from":"file:/workspace/apps/web/src/utils/terminal-protocol.ts","to":"/workspace/apps/web/src/utils/terminal-protocol.ts:isControlMessage","kind":"contains"},{"from":"file:/workspace/apps/web/src/utils/terminal-protocol.ts","to":"/workspace/apps/web/src/utils/terminal-protocol.ts:isControlMessage","kind":"defines"},{"from":"file:/workspace/apps/web/src/utils/terminal-protocol.ts","to":"/workspace/apps/web/src/utils/terminal-protocol.ts:encodeInputData","kind":"contains"},{"from":"file:/workspace/apps/web/src/utils/terminal-protocol.ts","to":"/workspace/apps/web/src/utils/terminal-protocol.ts:encodeInputData","kind":"defines"},{"from":"/workspace/apps/web/src/utils/terminal-protocol.ts:encodeInputData","to":"symbol-name:btoa","kind":"calls","metadata":{"unresolvedName":"btoa"}},{"from":"/workspace/apps/web/src/utils/terminal-protocol.ts:encodeInputData","to":"symbol-name:unescape","kind":"calls","metadata":{"unresolvedName":"unescape"}},{"from":"/workspace/apps/web/src/utils/terminal-protocol.ts:encodeInputData","to":"symbol-name:encodeURIComponent","kind":"calls","metadata":{"unresolvedName":"encodeURIComponent"}},{"from":"file:/workspace/apps/web/src/utils/terminal-protocol.ts","to":"/workspace/apps/web/src/utils/terminal-protocol.ts:decodeInputData","kind":"contains"},{"from":"file:/workspace/apps/web/src/utils/terminal-protocol.ts","to":"/workspace/apps/web/src/utils/terminal-protocol.ts:decodeInputData","kind":"defines"},{"from":"/workspace/apps/web/src/utils/terminal-protocol.ts:decodeInputData","to":"symbol-name:decodeURIComponent","kind":"calls","metadata":{"unresolvedName":"decodeURIComponent"}},{"from":"/workspace/apps/web/src/utils/terminal-protocol.ts:decodeInputData","to":"symbol-name:escape","kind":"calls","metadata":{"unresolvedName":"escape"}},{"from":"/workspace/apps/web/src/utils/terminal-protocol.ts:decodeInputData","to":"symbol-name:atob","kind":"calls","metadata":{"unresolvedName":"atob"}},{"from":"file:/workspace/apps/web/src/utils/terminal-protocol.ts","to":"/workspace/apps/web/src/utils/terminal-protocol.ts:isServerControlMessage","kind":"contains"},{"from":"file:/workspace/apps/web/src/utils/terminal-protocol.ts","to":"/workspace/apps/web/src/utils/terminal-protocol.ts:isServerControlMessage","kind":"defines"},{"from":"file:/workspace/apps/web/src/utils/time.ts","to":"/workspace/apps/web/src/utils/time.ts:formatRelativeTime","kind":"contains"},{"from":"file:/workspace/apps/web/src/utils/time.ts","to":"/workspace/apps/web/src/utils/time.ts:formatRelativeTime","kind":"defines"},{"from":"/workspace/apps/web/src/utils/time.ts:formatRelativeTime","to":"external:Math.max","kind":"calls","metadata":{"unresolvedName":"Math.max"}},{"from":"/workspace/apps/web/src/utils/time.ts:formatRelativeTime","to":"external:Math.floor","kind":"calls","metadata":{"unresolvedName":"Math.floor"}},{"from":"/workspace/apps/web/src/utils/time.ts:formatRelativeTime","to":"external:now.getTime","kind":"calls","metadata":{"unresolvedName":"now.getTime"}},{"from":"/workspace/apps/web/src/utils/time.ts:formatRelativeTime","to":"external:date.getTime","kind":"calls","metadata":{"unresolvedName":"date.getTime"}},{"from":"file:/workspace/apps/web/vite.config.ts","to":"external:path","kind":"imports"},{"from":"file:/workspace/apps/web/vite.config.ts","to":"external:vite","kind":"imports"},{"from":"file:/workspace/apps/web/vite.config.ts","to":"external:@vitejs/plugin-react","kind":"imports"},{"from":"file:/workspace/apps/web/src/api/git-repositories.ts","to":"file:/workspace/apps/web/src/api/client.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/api/git-repositories.ts","to":"file:/workspace/apps/web/src/types/git-repository.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/api/git-repositories.ts","to":"/workspace/apps/web/src/api/git-repositories.ts:parseGitUrl","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/git-repositories.ts","to":"/workspace/apps/web/src/api/git-repositories.ts:parseGitUrl","kind":"defines"},{"from":"/workspace/apps/web/src/api/git-repositories.ts:parseGitUrl","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"file:/workspace/apps/web/src/api/git-repositories.ts","to":"/workspace/apps/web/src/api/git-repositories.ts:listRepositories","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/git-repositories.ts","to":"/workspace/apps/web/src/api/git-repositories.ts:listRepositories","kind":"defines"},{"from":"/workspace/apps/web/src/api/git-repositories.ts:listRepositories","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"file:/workspace/apps/web/src/api/git-repositories.ts","to":"/workspace/apps/web/src/api/git-repositories.ts:listRepositoryBranches","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/git-repositories.ts","to":"/workspace/apps/web/src/api/git-repositories.ts:listRepositoryBranches","kind":"defines"},{"from":"/workspace/apps/web/src/api/git-repositories.ts:listRepositoryBranches","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"file:/workspace/apps/web/src/api/git-repositories.ts","to":"/workspace/apps/web/src/api/git-repositories.ts:createRepository","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/git-repositories.ts","to":"/workspace/apps/web/src/api/git-repositories.ts:createRepository","kind":"defines"},{"from":"/workspace/apps/web/src/api/git-repositories.ts:createRepository","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"file:/workspace/apps/web/src/api/git-repositories.ts","to":"/workspace/apps/web/src/api/git-repositories.ts:deleteRepository","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/git-repositories.ts","to":"/workspace/apps/web/src/api/git-repositories.ts:deleteRepository","kind":"defines"},{"from":"/workspace/apps/web/src/api/git-repositories.ts:deleteRepository","to":"external:apiClient.delete","kind":"calls","metadata":{"unresolvedName":"apiClient.delete"}},{"from":"file:/workspace/apps/web/src/api/git-repositories.ts","to":"/workspace/apps/web/src/api/git-repositories.ts:getRepositoryHistory","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/git-repositories.ts","to":"/workspace/apps/web/src/api/git-repositories.ts:getRepositoryHistory","kind":"defines"},{"from":"/workspace/apps/web/src/api/git-repositories.ts:getRepositoryHistory","to":"external:searchParams.set","kind":"calls","metadata":{"unresolvedName":"searchParams.set"}},{"from":"/workspace/apps/web/src/api/git-repositories.ts:getRepositoryHistory","to":"symbol-name:String","kind":"calls","metadata":{"unresolvedName":"String"}},{"from":"/workspace/apps/web/src/api/git-repositories.ts:getRepositoryHistory","to":"external:searchParams.toString","kind":"calls","metadata":{"unresolvedName":"searchParams.toString"}},{"from":"/workspace/apps/web/src/api/git-repositories.ts:getRepositoryHistory","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"file:/workspace/apps/web/src/api/git-repositories.ts","to":"/workspace/apps/web/src/api/git-repositories.ts:getCommitDetail","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/git-repositories.ts","to":"/workspace/apps/web/src/api/git-repositories.ts:getCommitDetail","kind":"defines"},{"from":"/workspace/apps/web/src/api/git-repositories.ts:getCommitDetail","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"file:/workspace/apps/web/src/api/git-repositories.ts","to":"/workspace/apps/web/src/api/git-repositories.ts:getRepositoryStatus","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/git-repositories.ts","to":"/workspace/apps/web/src/api/git-repositories.ts:getRepositoryStatus","kind":"defines"},{"from":"/workspace/apps/web/src/api/git-repositories.ts:getRepositoryStatus","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"file:/workspace/apps/web/src/api/git-repositories.ts","to":"/workspace/apps/web/src/api/git-repositories.ts:createBranch","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/git-repositories.ts","to":"/workspace/apps/web/src/api/git-repositories.ts:createBranch","kind":"defines"},{"from":"/workspace/apps/web/src/api/git-repositories.ts:createBranch","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"file:/workspace/apps/web/src/api/git-repositories.ts","to":"/workspace/apps/web/src/api/git-repositories.ts:deleteBranch","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/git-repositories.ts","to":"/workspace/apps/web/src/api/git-repositories.ts:deleteBranch","kind":"defines"},{"from":"/workspace/apps/web/src/api/git-repositories.ts:deleteBranch","to":"external:apiClient.delete","kind":"calls","metadata":{"unresolvedName":"apiClient.delete"}},{"from":"file:/workspace/apps/web/src/api/git-repositories.ts","to":"/workspace/apps/web/src/api/git-repositories.ts:checkoutBranch","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/git-repositories.ts","to":"/workspace/apps/web/src/api/git-repositories.ts:checkoutBranch","kind":"defines"},{"from":"/workspace/apps/web/src/api/git-repositories.ts:checkoutBranch","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"file:/workspace/apps/web/src/api/git-repositories.ts","to":"/workspace/apps/web/src/api/git-repositories.ts:commitChanges","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/git-repositories.ts","to":"/workspace/apps/web/src/api/git-repositories.ts:commitChanges","kind":"defines"},{"from":"/workspace/apps/web/src/api/git-repositories.ts:commitChanges","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"file:/workspace/apps/web/src/api/git-repositories.ts","to":"/workspace/apps/web/src/api/git-repositories.ts:fetchRepository","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/git-repositories.ts","to":"/workspace/apps/web/src/api/git-repositories.ts:fetchRepository","kind":"defines"},{"from":"/workspace/apps/web/src/api/git-repositories.ts:fetchRepository","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"file:/workspace/apps/web/src/api/git-repositories.ts","to":"/workspace/apps/web/src/api/git-repositories.ts:pullRepository","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/git-repositories.ts","to":"/workspace/apps/web/src/api/git-repositories.ts:pullRepository","kind":"defines"},{"from":"/workspace/apps/web/src/api/git-repositories.ts:pullRepository","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"file:/workspace/apps/web/src/api/git-repositories.ts","to":"/workspace/apps/web/src/api/git-repositories.ts:pushRepository","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/git-repositories.ts","to":"/workspace/apps/web/src/api/git-repositories.ts:pushRepository","kind":"defines"},{"from":"/workspace/apps/web/src/api/git-repositories.ts:pushRepository","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"file:/workspace/apps/web/src/api/git-repositories.ts","to":"/workspace/apps/web/src/api/git-repositories.ts:mergeBranches","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/git-repositories.ts","to":"/workspace/apps/web/src/api/git-repositories.ts:mergeBranches","kind":"defines"},{"from":"/workspace/apps/web/src/api/git-repositories.ts:mergeBranches","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"/workspace/apps/web/src/components/features/git/CommitPanel.tsx:CommitPanel","to":"/workspace/apps/web/src/api/git-repositories.ts:commitChanges","kind":"calls","metadata":{"unresolvedName":"commitChanges"}},{"from":"/workspace/apps/web/src/components/features/git/CommitPanel.tsx:handleCommit","to":"/workspace/apps/web/src/api/git-repositories.ts:commitChanges","kind":"calls","metadata":{"unresolvedName":"commitChanges"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:GitToolbar","to":"/workspace/apps/web/src/api/git-repositories.ts:getRepositoryStatus","kind":"calls","metadata":{"unresolvedName":"getRepositoryStatus"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:GitToolbar","to":"/workspace/apps/web/src/api/git-repositories.ts:fetchRepository","kind":"calls","metadata":{"unresolvedName":"fetchRepository"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:GitToolbar","to":"/workspace/apps/web/src/api/git-repositories.ts:pullRepository","kind":"calls","metadata":{"unresolvedName":"pullRepository"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:GitToolbar","to":"/workspace/apps/web/src/api/git-repositories.ts:pushRepository","kind":"calls","metadata":{"unresolvedName":"pushRepository"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:GitToolbar","to":"/workspace/apps/web/src/api/git-repositories.ts:checkoutBranch","kind":"calls","metadata":{"unresolvedName":"checkoutBranch"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:GitToolbar","to":"/workspace/apps/web/src/api/git-repositories.ts:createBranch","kind":"calls","metadata":{"unresolvedName":"createBranch"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:<anonymous>","to":"/workspace/apps/web/src/api/git-repositories.ts:getRepositoryStatus","kind":"calls","metadata":{"unresolvedName":"getRepositoryStatus"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handleFetch","to":"/workspace/apps/web/src/api/git-repositories.ts:fetchRepository","kind":"calls","metadata":{"unresolvedName":"fetchRepository"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handlePull","to":"/workspace/apps/web/src/api/git-repositories.ts:pullRepository","kind":"calls","metadata":{"unresolvedName":"pullRepository"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handlePush","to":"/workspace/apps/web/src/api/git-repositories.ts:pushRepository","kind":"calls","metadata":{"unresolvedName":"pushRepository"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handleCheckout","to":"/workspace/apps/web/src/api/git-repositories.ts:checkoutBranch","kind":"calls","metadata":{"unresolvedName":"checkoutBranch"}},{"from":"/workspace/apps/web/src/components/features/git/GitToolbar.tsx:handleCreateBranch","to":"/workspace/apps/web/src/api/git-repositories.ts:createBranch","kind":"calls","metadata":{"unresolvedName":"createBranch"}},{"from":"/workspace/apps/web/src/components/features/git/MergeDialog.tsx:MergeDialog","to":"/workspace/apps/web/src/api/git-repositories.ts:mergeBranches","kind":"calls","metadata":{"unresolvedName":"mergeBranches"}},{"from":"/workspace/apps/web/src/components/features/git/MergeDialog.tsx:handleMerge","to":"/workspace/apps/web/src/api/git-repositories.ts:mergeBranches","kind":"calls","metadata":{"unresolvedName":"mergeBranches"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:RepositoriesSettingsTab","to":"/workspace/apps/web/src/api/git-repositories.ts:listRepositories","kind":"calls","metadata":{"unresolvedName":"listRepositories"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:RepositoriesSettingsTab","to":"/workspace/apps/web/src/api/git-repositories.ts:deleteRepository","kind":"calls","metadata":{"unresolvedName":"deleteRepository"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:<anonymous>","to":"/workspace/apps/web/src/api/git-repositories.ts:listRepositories","kind":"calls","metadata":{"unresolvedName":"listRepositories"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoriesSettingsTab.tsx:handleDelete","to":"/workspace/apps/web/src/api/git-repositories.ts:deleteRepository","kind":"calls","metadata":{"unresolvedName":"deleteRepository"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:RepositoryCreateDialog","to":"/workspace/apps/web/src/api/git-repositories.ts:parseGitUrl","kind":"calls","metadata":{"unresolvedName":"parseGitUrl"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:RepositoryCreateDialog","to":"/workspace/apps/web/src/api/git-repositories.ts:createRepository","kind":"calls","metadata":{"unresolvedName":"createRepository"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:<anonymous>","to":"/workspace/apps/web/src/api/git-repositories.ts:parseGitUrl","kind":"calls","metadata":{"unresolvedName":"parseGitUrl"}},{"from":"/workspace/apps/web/src/components/features/project/RepositoryCreateDialog.tsx:handleSubmit","to":"/workspace/apps/web/src/api/git-repositories.ts:createRepository","kind":"calls","metadata":{"unresolvedName":"createRepository"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:CreateSessionForm","to":"/workspace/apps/web/src/api/git-repositories.ts:listRepositories","kind":"calls","metadata":{"unresolvedName":"listRepositories"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:<anonymous>","to":"/workspace/apps/web/src/api/git-repositories.ts:listRepositories","kind":"calls","metadata":{"unresolvedName":"listRepositories"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:loadRepos","to":"/workspace/apps/web/src/api/git-repositories.ts:listRepositories","kind":"calls","metadata":{"unresolvedName":"listRepositories"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:WorkspaceCreateForm","to":"/workspace/apps/web/src/api/git-repositories.ts:listRepositories","kind":"calls","metadata":{"unresolvedName":"listRepositories"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:<anonymous>","to":"/workspace/apps/web/src/api/git-repositories.ts:listRepositories","kind":"calls","metadata":{"unresolvedName":"listRepositories"}},{"from":"/workspace/apps/web/src/components/workspace-create-form.tsx:loadRepos","to":"/workspace/apps/web/src/api/git-repositories.ts:listRepositories","kind":"calls","metadata":{"unresolvedName":"listRepositories"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:useGitRepo","to":"/workspace/apps/web/src/api/git-repositories.ts:getRepositoryStatus","kind":"calls","metadata":{"unresolvedName":"getRepositoryStatus"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:useGitRepo","to":"/workspace/apps/web/src/api/git-repositories.ts:getRepositoryHistory","kind":"calls","metadata":{"unresolvedName":"getRepositoryHistory"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:useGitRepo","to":"/workspace/apps/web/src/api/git-repositories.ts:getCommitDetail","kind":"calls","metadata":{"unresolvedName":"getCommitDetail"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:useGitRepo","to":"/workspace/apps/web/src/api/git-repositories.ts:commitChanges","kind":"calls","metadata":{"unresolvedName":"commitChanges"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:useGitRepo","to":"/workspace/apps/web/src/api/git-repositories.ts:pushRepository","kind":"calls","metadata":{"unresolvedName":"pushRepository"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:useGitRepo","to":"/workspace/apps/web/src/api/git-repositories.ts:pullRepository","kind":"calls","metadata":{"unresolvedName":"pullRepository"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:useGitRepo","to":"/workspace/apps/web/src/api/git-repositories.ts:fetchRepository","kind":"calls","metadata":{"unresolvedName":"fetchRepository"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:useGitRepo","to":"/workspace/apps/web/src/api/git-repositories.ts:checkoutBranch","kind":"calls","metadata":{"unresolvedName":"checkoutBranch"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:useGitRepo","to":"/workspace/apps/web/src/api/git-repositories.ts:createBranch","kind":"calls","metadata":{"unresolvedName":"createBranch"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:useGitRepo","to":"/workspace/apps/web/src/api/git-repositories.ts:deleteBranch","kind":"calls","metadata":{"unresolvedName":"deleteBranch"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:useGitRepo","to":"/workspace/apps/web/src/api/git-repositories.ts:mergeBranches","kind":"calls","metadata":{"unresolvedName":"mergeBranches"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"/workspace/apps/web/src/api/git-repositories.ts:getRepositoryStatus","kind":"calls","metadata":{"unresolvedName":"getRepositoryStatus"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"/workspace/apps/web/src/api/git-repositories.ts:getRepositoryHistory","kind":"calls","metadata":{"unresolvedName":"getRepositoryHistory"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"/workspace/apps/web/src/api/git-repositories.ts:getCommitDetail","kind":"calls","metadata":{"unresolvedName":"getCommitDetail"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"/workspace/apps/web/src/api/git-repositories.ts:commitChanges","kind":"calls","metadata":{"unresolvedName":"commitChanges"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"/workspace/apps/web/src/api/git-repositories.ts:pushRepository","kind":"calls","metadata":{"unresolvedName":"pushRepository"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"/workspace/apps/web/src/api/git-repositories.ts:pullRepository","kind":"calls","metadata":{"unresolvedName":"pullRepository"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"/workspace/apps/web/src/api/git-repositories.ts:fetchRepository","kind":"calls","metadata":{"unresolvedName":"fetchRepository"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"/workspace/apps/web/src/api/git-repositories.ts:checkoutBranch","kind":"calls","metadata":{"unresolvedName":"checkoutBranch"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"/workspace/apps/web/src/api/git-repositories.ts:createBranch","kind":"calls","metadata":{"unresolvedName":"createBranch"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"/workspace/apps/web/src/api/git-repositories.ts:deleteBranch","kind":"calls","metadata":{"unresolvedName":"deleteBranch"}},{"from":"/workspace/apps/web/src/hooks/use-git-repo.ts:<anonymous>","to":"/workspace/apps/web/src/api/git-repositories.ts:mergeBranches","kind":"calls","metadata":{"unresolvedName":"mergeBranches"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.tsx:HomePage","to":"/workspace/apps/web/src/api/git-repositories.ts:listRepositories","kind":"calls","metadata":{"unresolvedName":"listRepositories"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.tsx:<anonymous>","to":"/workspace/apps/web/src/api/git-repositories.ts:listRepositories","kind":"calls","metadata":{"unresolvedName":"listRepositories"}},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:GitHistoryPage","to":"/workspace/apps/web/src/api/git-repositories.ts:getRepositoryHistory","kind":"calls","metadata":{"unresolvedName":"getRepositoryHistory"}},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:GitHistoryPage","to":"/workspace/apps/web/src/api/git-repositories.ts:getCommitDetail","kind":"calls","metadata":{"unresolvedName":"getCommitDetail"}},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:<anonymous>","to":"/workspace/apps/web/src/api/git-repositories.ts:getRepositoryHistory","kind":"calls","metadata":{"unresolvedName":"getRepositoryHistory"}},{"from":"/workspace/apps/web/src/pages/GitHistoryPage.tsx:handleCommitClick","to":"/workspace/apps/web/src/api/git-repositories.ts:getCommitDetail","kind":"calls","metadata":{"unresolvedName":"getCommitDetail"}},{"from":"/workspace/apps/web/src/pages/GitRepositoriesPage.tsx:GitRepositoriesPage","to":"/workspace/apps/web/src/api/git-repositories.ts:listRepositories","kind":"calls","metadata":{"unresolvedName":"listRepositories"}},{"from":"/workspace/apps/web/src/pages/GitRepositoriesPage.tsx:GitRepositoriesPage","to":"/workspace/apps/web/src/api/git-repositories.ts:deleteRepository","kind":"calls","metadata":{"unresolvedName":"deleteRepository"}},{"from":"/workspace/apps/web/src/pages/GitRepositoriesPage.tsx:<anonymous>","to":"/workspace/apps/web/src/api/git-repositories.ts:listRepositories","kind":"calls","metadata":{"unresolvedName":"listRepositories"}},{"from":"/workspace/apps/web/src/pages/GitRepositoriesPage.tsx:handleDelete","to":"/workspace/apps/web/src/api/git-repositories.ts:deleteRepository","kind":"calls","metadata":{"unresolvedName":"deleteRepository"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:RepoWorkspace","to":"/workspace/apps/web/src/api/git-repositories.ts:listRepositories","kind":"calls","metadata":{"unresolvedName":"listRepositories"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:RepoWorkspace","to":"/workspace/apps/web/src/api/git-repositories.ts:getRepositoryStatus","kind":"calls","metadata":{"unresolvedName":"getRepositoryStatus"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","to":"/workspace/apps/web/src/api/git-repositories.ts:listRepositories","kind":"calls","metadata":{"unresolvedName":"listRepositories"}},{"from":"/workspace/apps/web/src/pages/RepoWorkspacePage.tsx:<anonymous>","to":"/workspace/apps/web/src/api/git-repositories.ts:getRepositoryStatus","kind":"calls","metadata":{"unresolvedName":"getRepositoryStatus"}},{"from":"file:/workspace/apps/web/src/api/sessions.ts","to":"file:/workspace/apps/web/src/api/client.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/api/sessions.ts","to":"file:/workspace/apps/web/src/types/session.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/api/sessions.ts","to":"file:/workspace/apps/web/src/types/tool-instance.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/api/sessions.ts","to":"/workspace/apps/web/src/api/sessions.ts:listInstances","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/sessions.ts","to":"/workspace/apps/web/src/api/sessions.ts:listInstances","kind":"defines"},{"from":"/workspace/apps/web/src/api/sessions.ts:listInstances","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"file:/workspace/apps/web/src/api/sessions.ts","to":"/workspace/apps/web/src/api/sessions.ts:createInstance","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/sessions.ts","to":"/workspace/apps/web/src/api/sessions.ts:createInstance","kind":"defines"},{"from":"/workspace/apps/web/src/api/sessions.ts:createInstance","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"file:/workspace/apps/web/src/api/sessions.ts","to":"/workspace/apps/web/src/api/sessions.ts:startInstance","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/sessions.ts","to":"/workspace/apps/web/src/api/sessions.ts:startInstance","kind":"defines"},{"from":"/workspace/apps/web/src/api/sessions.ts:startInstance","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"file:/workspace/apps/web/src/api/sessions.ts","to":"/workspace/apps/web/src/api/sessions.ts:stopInstance","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/sessions.ts","to":"/workspace/apps/web/src/api/sessions.ts:stopInstance","kind":"defines"},{"from":"/workspace/apps/web/src/api/sessions.ts:stopInstance","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"file:/workspace/apps/web/src/api/sessions.ts","to":"/workspace/apps/web/src/api/sessions.ts:restartInstance","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/sessions.ts","to":"/workspace/apps/web/src/api/sessions.ts:restartInstance","kind":"defines"},{"from":"/workspace/apps/web/src/api/sessions.ts:restartInstance","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"file:/workspace/apps/web/src/api/sessions.ts","to":"/workspace/apps/web/src/api/sessions.ts:deleteInstance","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/sessions.ts","to":"/workspace/apps/web/src/api/sessions.ts:deleteInstance","kind":"defines"},{"from":"/workspace/apps/web/src/api/sessions.ts:deleteInstance","to":"external:apiClient.delete","kind":"calls","metadata":{"unresolvedName":"apiClient.delete"}},{"from":"file:/workspace/apps/web/src/api/sessions.ts","to":"/workspace/apps/web/src/api/sessions.ts:getUserSessions","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/sessions.ts","to":"/workspace/apps/web/src/api/sessions.ts:getUserSessions","kind":"defines"},{"from":"/workspace/apps/web/src/api/sessions.ts:getUserSessions","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"file:/workspace/apps/web/src/api/sessions.ts","to":"/workspace/apps/web/src/api/sessions.ts:checkInstanceHealth","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/sessions.ts","to":"/workspace/apps/web/src/api/sessions.ts:checkInstanceHealth","kind":"defines"},{"from":"/workspace/apps/web/src/api/sessions.ts:checkInstanceHealth","to":"external:apiClient.get","kind":"calls","metadata":{"unresolvedName":"apiClient.get"}},{"from":"file:/workspace/apps/web/src/api/sessions.ts","to":"/workspace/apps/web/src/api/sessions.ts:recreateInstanceTunnel","kind":"contains"},{"from":"file:/workspace/apps/web/src/api/sessions.ts","to":"/workspace/apps/web/src/api/sessions.ts:recreateInstanceTunnel","kind":"defines"},{"from":"/workspace/apps/web/src/api/sessions.ts:recreateInstanceTunnel","to":"external:apiClient.post","kind":"calls","metadata":{"unresolvedName":"apiClient.post"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"/workspace/apps/web/src/api/sessions.ts:createInstance","kind":"calls","metadata":{"unresolvedName":"createInstance"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:CreateSessionForm","to":"/workspace/apps/web/src/api/sessions.ts:startInstance","kind":"calls","metadata":{"unresolvedName":"startInstance"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:handleSubmit","to":"/workspace/apps/web/src/api/sessions.ts:createInstance","kind":"calls","metadata":{"unresolvedName":"createInstance"}},{"from":"/workspace/apps/web/src/components/create-session-form.tsx:handleSubmit","to":"/workspace/apps/web/src/api/sessions.ts:startInstance","kind":"calls","metadata":{"unresolvedName":"startInstance"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:CreateSessionForm","to":"/workspace/apps/web/src/api/sessions.ts:createInstance","kind":"calls","metadata":{"unresolvedName":"createInstance"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:CreateSessionForm","to":"/workspace/apps/web/src/api/sessions.ts:startInstance","kind":"calls","metadata":{"unresolvedName":"startInstance"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:handleCreate","to":"/workspace/apps/web/src/api/sessions.ts:createInstance","kind":"calls","metadata":{"unresolvedName":"createInstance"}},{"from":"/workspace/apps/web/src/components/features/session/CreateSessionForm.tsx:handleCreate","to":"/workspace/apps/web/src/api/sessions.ts:startInstance","kind":"calls","metadata":{"unresolvedName":"startInstance"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"/workspace/apps/web/src/api/sessions.ts:listInstances","kind":"calls","metadata":{"unresolvedName":"listInstances"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"/workspace/apps/web/src/api/sessions.ts:checkInstanceHealth","kind":"calls","metadata":{"unresolvedName":"checkInstanceHealth"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"/workspace/apps/web/src/api/sessions.ts:createInstance","kind":"calls","metadata":{"unresolvedName":"createInstance"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"/workspace/apps/web/src/api/sessions.ts:startInstance","kind":"calls","metadata":{"unresolvedName":"startInstance"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"/workspace/apps/web/src/api/sessions.ts:stopInstance","kind":"calls","metadata":{"unresolvedName":"stopInstance"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"/workspace/apps/web/src/api/sessions.ts:restartInstance","kind":"calls","metadata":{"unresolvedName":"restartInstance"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"/workspace/apps/web/src/api/sessions.ts:deleteInstance","kind":"calls","metadata":{"unresolvedName":"deleteInstance"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:InstanceList","to":"/workspace/apps/web/src/api/sessions.ts:recreateInstanceTunnel","kind":"calls","metadata":{"unresolvedName":"recreateInstanceTunnel"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:<anonymous>","to":"/workspace/apps/web/src/api/sessions.ts:listInstances","kind":"calls","metadata":{"unresolvedName":"listInstances"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:<anonymous>","to":"/workspace/apps/web/src/api/sessions.ts:checkInstanceHealth","kind":"calls","metadata":{"unresolvedName":"checkInstanceHealth"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:checkHealth","to":"/workspace/apps/web/src/api/sessions.ts:checkInstanceHealth","kind":"calls","metadata":{"unresolvedName":"checkInstanceHealth"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleCreate","to":"/workspace/apps/web/src/api/sessions.ts:createInstance","kind":"calls","metadata":{"unresolvedName":"createInstance"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleStart","to":"/workspace/apps/web/src/api/sessions.ts:startInstance","kind":"calls","metadata":{"unresolvedName":"startInstance"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleStop","to":"/workspace/apps/web/src/api/sessions.ts:stopInstance","kind":"calls","metadata":{"unresolvedName":"stopInstance"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleRestart","to":"/workspace/apps/web/src/api/sessions.ts:restartInstance","kind":"calls","metadata":{"unresolvedName":"restartInstance"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleDelete","to":"/workspace/apps/web/src/api/sessions.ts:deleteInstance","kind":"calls","metadata":{"unresolvedName":"deleteInstance"}},{"from":"/workspace/apps/web/src/components/features/session/InstanceList.tsx:handleRecreateTunnel","to":"/workspace/apps/web/src/api/sessions.ts:recreateInstanceTunnel","kind":"calls","metadata":{"unresolvedName":"recreateInstanceTunnel"}},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:SessionList","to":"/workspace/apps/web/src/api/sessions.ts:checkInstanceHealth","kind":"calls","metadata":{"unresolvedName":"checkInstanceHealth"}},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:SessionList","to":"/workspace/apps/web/src/api/sessions.ts:stopInstance","kind":"calls","metadata":{"unresolvedName":"stopInstance"}},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:SessionList","to":"/workspace/apps/web/src/api/sessions.ts:deleteInstance","kind":"calls","metadata":{"unresolvedName":"deleteInstance"}},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:SessionList","to":"/workspace/apps/web/src/api/sessions.ts:recreateInstanceTunnel","kind":"calls","metadata":{"unresolvedName":"recreateInstanceTunnel"}},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:<anonymous>","to":"/workspace/apps/web/src/api/sessions.ts:checkInstanceHealth","kind":"calls","metadata":{"unresolvedName":"checkInstanceHealth"}},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:checkHealth","to":"/workspace/apps/web/src/api/sessions.ts:checkInstanceHealth","kind":"calls","metadata":{"unresolvedName":"checkInstanceHealth"}},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:<anonymous>","to":"/workspace/apps/web/src/api/sessions.ts:stopInstance","kind":"calls","metadata":{"unresolvedName":"stopInstance"}},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:<anonymous>","to":"/workspace/apps/web/src/api/sessions.ts:deleteInstance","kind":"calls","metadata":{"unresolvedName":"deleteInstance"}},{"from":"/workspace/apps/web/src/components/features/session/SessionList.tsx:<anonymous>","to":"/workspace/apps/web/src/api/sessions.ts:recreateInstanceTunnel","kind":"calls","metadata":{"unresolvedName":"recreateInstanceTunnel"}},{"from":"/workspace/apps/web/src/components/layout/AppShell.tsx:AppShell","to":"/workspace/apps/web/src/api/sessions.ts:getUserSessions","kind":"calls","metadata":{"unresolvedName":"getUserSessions"}},{"from":"/workspace/apps/web/src/components/layout/AppShell.tsx:<anonymous>","to":"/workspace/apps/web/src/api/sessions.ts:getUserSessions","kind":"calls","metadata":{"unresolvedName":"getUserSessions"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:ToolStarter","to":"/workspace/apps/web/src/api/sessions.ts:createInstance","kind":"calls","metadata":{"unresolvedName":"createInstance"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:ToolStarter","to":"/workspace/apps/web/src/api/sessions.ts:startInstance","kind":"calls","metadata":{"unresolvedName":"startInstance"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","to":"/workspace/apps/web/src/api/sessions.ts:createInstance","kind":"calls","metadata":{"unresolvedName":"createInstance"}},{"from":"/workspace/apps/web/src/components/tool-starter.tsx:<anonymous>","to":"/workspace/apps/web/src/api/sessions.ts:startInstance","kind":"calls","metadata":{"unresolvedName":"startInstance"}},{"from":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:useDashboardActions","to":"/workspace/apps/web/src/api/sessions.ts:createInstance","kind":"calls","metadata":{"unresolvedName":"createInstance"}},{"from":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:useDashboardActions","to":"/workspace/apps/web/src/api/sessions.ts:startInstance","kind":"calls","metadata":{"unresolvedName":"startInstance"}},{"from":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:useDashboardActions","to":"/workspace/apps/web/src/api/sessions.ts:stopInstance","kind":"calls","metadata":{"unresolvedName":"stopInstance"}},{"from":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:useDashboardActions","to":"/workspace/apps/web/src/api/sessions.ts:deleteInstance","kind":"calls","metadata":{"unresolvedName":"deleteInstance"}},{"from":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:useDashboardActions","to":"/workspace/apps/web/src/api/sessions.ts:recreateInstanceTunnel","kind":"calls","metadata":{"unresolvedName":"recreateInstanceTunnel"}},{"from":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:<anonymous>","to":"/workspace/apps/web/src/api/sessions.ts:createInstance","kind":"calls","metadata":{"unresolvedName":"createInstance"}},{"from":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:<anonymous>","to":"/workspace/apps/web/src/api/sessions.ts:startInstance","kind":"calls","metadata":{"unresolvedName":"startInstance"}},{"from":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:<anonymous>","to":"/workspace/apps/web/src/api/sessions.ts:stopInstance","kind":"calls","metadata":{"unresolvedName":"stopInstance"}},{"from":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:<anonymous>","to":"/workspace/apps/web/src/api/sessions.ts:deleteInstance","kind":"calls","metadata":{"unresolvedName":"deleteInstance"}},{"from":"/workspace/apps/web/src/hooks/use-dashboard-actions.ts:<anonymous>","to":"/workspace/apps/web/src/api/sessions.ts:recreateInstanceTunnel","kind":"calls","metadata":{"unresolvedName":"recreateInstanceTunnel"}},{"from":"/workspace/apps/web/src/hooks/use-instance-actions.ts:useInstanceActions","to":"/workspace/apps/web/src/api/sessions.ts:startInstance","kind":"calls","metadata":{"unresolvedName":"startInstance"}},{"from":"/workspace/apps/web/src/hooks/use-instance-actions.ts:useInstanceActions","to":"/workspace/apps/web/src/api/sessions.ts:stopInstance","kind":"calls","metadata":{"unresolvedName":"stopInstance"}},{"from":"/workspace/apps/web/src/hooks/use-instance-actions.ts:useInstanceActions","to":"/workspace/apps/web/src/api/sessions.ts:deleteInstance","kind":"calls","metadata":{"unresolvedName":"deleteInstance"}},{"from":"/workspace/apps/web/src/hooks/use-instance-actions.ts:useInstanceActions","to":"/workspace/apps/web/src/api/sessions.ts:recreateInstanceTunnel","kind":"calls","metadata":{"unresolvedName":"recreateInstanceTunnel"}},{"from":"/workspace/apps/web/src/hooks/use-instance-actions.ts:<anonymous>","to":"/workspace/apps/web/src/api/sessions.ts:startInstance","kind":"calls","metadata":{"unresolvedName":"startInstance"}},{"from":"/workspace/apps/web/src/hooks/use-instance-actions.ts:<anonymous>","to":"/workspace/apps/web/src/api/sessions.ts:stopInstance","kind":"calls","metadata":{"unresolvedName":"stopInstance"}},{"from":"/workspace/apps/web/src/hooks/use-instance-actions.ts:<anonymous>","to":"/workspace/apps/web/src/api/sessions.ts:deleteInstance","kind":"calls","metadata":{"unresolvedName":"deleteInstance"}},{"from":"/workspace/apps/web/src/hooks/use-instance-actions.ts:<anonymous>","to":"/workspace/apps/web/src/api/sessions.ts:recreateInstanceTunnel","kind":"calls","metadata":{"unresolvedName":"recreateInstanceTunnel"}},{"from":"/workspace/apps/web/src/hooks/use-start-tool.ts:useStartTool","to":"/workspace/apps/web/src/api/sessions.ts:createInstance","kind":"calls","metadata":{"unresolvedName":"createInstance"}},{"from":"/workspace/apps/web/src/hooks/use-start-tool.ts:useStartTool","to":"/workspace/apps/web/src/api/sessions.ts:startInstance","kind":"calls","metadata":{"unresolvedName":"startInstance"}},{"from":"/workspace/apps/web/src/hooks/use-start-tool.ts:<anonymous>","to":"/workspace/apps/web/src/api/sessions.ts:createInstance","kind":"calls","metadata":{"unresolvedName":"createInstance"}},{"from":"/workspace/apps/web/src/hooks/use-start-tool.ts:<anonymous>","to":"/workspace/apps/web/src/api/sessions.ts:startInstance","kind":"calls","metadata":{"unresolvedName":"startInstance"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.tsx:HomePage","to":"/workspace/apps/web/src/api/sessions.ts:getUserSessions","kind":"calls","metadata":{"unresolvedName":"getUserSessions"}},{"from":"/workspace/apps/web/src/pages/DashboardPage.tsx:<anonymous>","to":"/workspace/apps/web/src/api/sessions.ts:getUserSessions","kind":"calls","metadata":{"unresolvedName":"getUserSessions"}},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:SessionsPage","to":"/workspace/apps/web/src/api/sessions.ts:getUserSessions","kind":"calls","metadata":{"unresolvedName":"getUserSessions"}},{"from":"/workspace/apps/web/src/pages/SessionsPage.tsx:<anonymous>","to":"/workspace/apps/web/src/api/sessions.ts:getUserSessions","kind":"calls","metadata":{"unresolvedName":"getUserSessions"}},{"from":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","to":"external:react","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","to":"external:xterm","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","to":"external:xterm-addon-fit","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","to":"external:xterm-addon-serialize","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","to":"external:xterm-addon-web-links","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","to":"external:xterm/css/xterm.css","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","to":"file:/workspace/apps/web/src/hooks/use-terminal-connection.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","to":"file:/workspace/apps/web/src/types/terminal.ts","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","to":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.module.css","kind":"imports"},{"from":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","to":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:getStatusText","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","to":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:getStatusText","kind":"defines"},{"from":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","to":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:TerminalComponent","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","to":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:TerminalComponent","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:TerminalComponent","to":"symbol-name:useRef","kind":"calls","metadata":{"unresolvedName":"useRef"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:TerminalComponent","to":"symbol-name:useState","kind":"calls","metadata":{"unresolvedName":"useState"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:TerminalComponent","to":"external:document.documentElement.getAttribute","kind":"calls","metadata":{"unresolvedName":"document.documentElement.getAttribute"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:TerminalComponent","to":"external:window.matchMedia","kind":"calls","metadata":{"unresolvedName":"window.matchMedia"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:TerminalComponent","to":"symbol-name:useCallback","kind":"calls","metadata":{"unresolvedName":"useCallback"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:TerminalComponent","to":"external:xtermRef.current?.write","kind":"calls","metadata":{"unresolvedName":"xtermRef.current?.write"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:TerminalComponent","to":"external:serializeAddonRef.current?.serialize","kind":"calls","metadata":{"unresolvedName":"serializeAddonRef.current?.serialize"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:TerminalComponent","to":"symbol-name:setSessionEnded","kind":"calls","metadata":{"unresolvedName":"setSessionEnded"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:TerminalComponent","to":"/workspace/apps/web/src/hooks/use-terminal-connection.ts:useTerminalConnection","kind":"calls","metadata":{"unresolvedName":"useTerminalConnection"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:TerminalComponent","to":"symbol-name:useEffect","kind":"calls","metadata":{"unresolvedName":"useEffect"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:TerminalComponent","to":"external:term.loadAddon","kind":"calls","metadata":{"unresolvedName":"term.loadAddon"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:TerminalComponent","to":"external:term.open","kind":"calls","metadata":{"unresolvedName":"term.open"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:TerminalComponent","to":"external:fitAddon.fit","kind":"calls","metadata":{"unresolvedName":"fitAddon.fit"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:TerminalComponent","to":"external:term.onData","kind":"calls","metadata":{"unresolvedName":"term.onData"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:TerminalComponent","to":"symbol-name:sendInput","kind":"calls","metadata":{"unresolvedName":"sendInput"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:TerminalComponent","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:TerminalComponent","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:TerminalComponent","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:TerminalComponent","to":"symbol-name:sendResize","kind":"calls","metadata":{"unresolvedName":"sendResize"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:TerminalComponent","to":"external:resizeObserver.observe","kind":"calls","metadata":{"unresolvedName":"resizeObserver.observe"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:TerminalComponent","to":"external:disposable.dispose","kind":"calls","metadata":{"unresolvedName":"disposable.dispose"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:TerminalComponent","to":"external:resizeObserver.disconnect","kind":"calls","metadata":{"unresolvedName":"resizeObserver.disconnect"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:TerminalComponent","to":"external:term.dispose","kind":"calls","metadata":{"unresolvedName":"term.dispose"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:TerminalComponent","to":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:getStatusText","kind":"calls","metadata":{"unresolvedName":"getStatusText"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:TerminalComponent","to":"symbol-name:reconnect","kind":"calls","metadata":{"unresolvedName":"reconnect"}},{"from":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","to":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","to":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","kind":"defines"},{"from":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","to":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","to":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","to":"external:xtermRef.current?.write","kind":"calls","metadata":{"unresolvedName":"xtermRef.current?.write"}},{"from":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","to":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","to":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","to":"external:serializeAddonRef.current?.serialize","kind":"calls","metadata":{"unresolvedName":"serializeAddonRef.current?.serialize"}},{"from":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","to":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","to":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","to":"external:xtermRef.current?.write","kind":"calls","metadata":{"unresolvedName":"xtermRef.current?.write"}},{"from":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","to":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","to":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","to":"symbol-name:setSessionEnded","kind":"calls","metadata":{"unresolvedName":"setSessionEnded"}},{"from":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","to":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","to":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","to":"external:term.loadAddon","kind":"calls","metadata":{"unresolvedName":"term.loadAddon"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","to":"external:term.open","kind":"calls","metadata":{"unresolvedName":"term.open"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","to":"external:fitAddon.fit","kind":"calls","metadata":{"unresolvedName":"fitAddon.fit"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","to":"external:term.onData","kind":"calls","metadata":{"unresolvedName":"term.onData"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","to":"symbol-name:sendInput","kind":"calls","metadata":{"unresolvedName":"sendInput"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","to":"symbol-name:sendResize","kind":"calls","metadata":{"unresolvedName":"sendResize"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","to":"external:resizeObserver.observe","kind":"calls","metadata":{"unresolvedName":"resizeObserver.observe"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","to":"external:disposable.dispose","kind":"calls","metadata":{"unresolvedName":"disposable.dispose"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","to":"external:resizeObserver.disconnect","kind":"calls","metadata":{"unresolvedName":"resizeObserver.disconnect"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","to":"external:term.dispose","kind":"calls","metadata":{"unresolvedName":"term.dispose"}},{"from":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","to":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","to":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","to":"symbol-name:sendInput","kind":"calls","metadata":{"unresolvedName":"sendInput"}},{"from":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","to":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","to":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","to":"symbol-name:setTimeout","kind":"calls","metadata":{"unresolvedName":"setTimeout"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","to":"external:fitAddon.fit","kind":"calls","metadata":{"unresolvedName":"fitAddon.fit"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","to":"symbol-name:sendResize","kind":"calls","metadata":{"unresolvedName":"sendResize"}},{"from":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","to":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","to":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","to":"external:Math.abs","kind":"calls","metadata":{"unresolvedName":"Math.abs"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","to":"external:fitAddon.fit","kind":"calls","metadata":{"unresolvedName":"fitAddon.fit"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","to":"symbol-name:sendResize","kind":"calls","metadata":{"unresolvedName":"sendResize"}},{"from":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","to":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","to":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","to":"symbol-name:clearTimeout","kind":"calls","metadata":{"unresolvedName":"clearTimeout"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","to":"external:disposable.dispose","kind":"calls","metadata":{"unresolvedName":"disposable.dispose"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","to":"external:resizeObserver.disconnect","kind":"calls","metadata":{"unresolvedName":"resizeObserver.disconnect"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","to":"external:term.dispose","kind":"calls","metadata":{"unresolvedName":"term.dispose"}},{"from":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","to":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","to":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","to":"symbol-name:sendResize","kind":"calls","metadata":{"unresolvedName":"sendResize"}},{"from":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","to":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","kind":"contains"},{"from":"file:/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx","to":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","kind":"defines"},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","to":"symbol-name:setSessionEnded","kind":"calls","metadata":{"unresolvedName":"setSessionEnded"}},{"from":"/workspace/apps/web/src/components/features/terminal/TerminalComponent.tsx:<anonymous>","to":"symbol-name:reconnect","kind":"calls","metadata":{"unresolvedName":"reconnect"}}]}